diff options
author | cvs2svn <cvs2svn@FreeBSD.org> | 1997-03-27 03:07:27 +0000 |
---|---|---|
committer | cvs2svn <cvs2svn@FreeBSD.org> | 1997-03-27 03:07:27 +0000 |
commit | 1784d64eb85eb63599204bb31b826970b6661e65 (patch) | |
tree | 31089dd6c9e4a7feeac25f24574e6269b75f5db0 | |
parent | fe49c1266233ddc2306072aefb4e1c1d045060fe (diff) |
5075 files changed, 85599 insertions, 82194 deletions
diff --git a/Makefile b/Makefile index abd42d888aa78..6bb9fcdd4b6e7 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.109.2.1 1996/11/28 21:43:35 phk Exp $ +# $Id: Makefile,v 1.109.2.2 1996/12/20 08:20:06 asami Exp $ # # Make command line options: # -DCLOBBER will remove /usr/include @@ -1,5 +1,5 @@ This is the top level of the FreeBSD source directory. This file -was last revised on: $Id$ +was last revised on: $Id: README,v 1.7 1997/01/01 14:06:29 jkh Exp $ For copyright information, please see the file COPYRIGHT in this directory (additional copyright information also exists for some diff --git a/bin/Makefile b/bin/Makefile index 2e83aaf3b361d..27d3acdba6357 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id: Makefile,v 1.4 1995/10/01 14:24:01 markm Exp $ +# $Id: Makefile,v 1.4.2.1 1997/03/07 09:39:06 joerg Exp $ SUBDIR= cat chio chmod cp csh date dd df domainname echo ed expr hostname \ kill ln ls mkdir mv pax ps pwd rcp rm rmail rmdir sh sleep \ diff --git a/bin/Makefile.inc b/bin/Makefile.inc index 4fdaae4b576ba..b053cc93d6dc1 100644 --- a/bin/Makefile.inc +++ b/bin/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile.inc,v 1.7 1996/09/22 21:51:04 wosch Exp $ BINDIR?= /bin NOSHARED?= YES diff --git a/bin/cat/Makefile b/bin/cat/Makefile index 6da43b3828af3..7f4221e97ac10 100644 --- a/bin/cat/Makefile +++ b/bin/cat/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:53:25 davidg Exp $ PROG= cat diff --git a/bin/cat/cat.1 b/bin/cat/cat.1 index cf869d124d5aa..3937ea72d207f 100644 --- a/bin/cat/cat.1 +++ b/bin/cat/cat.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)cat.1 8.3 (Berkeley) 5/2/95 -.\" $Id: cat.1,v 1.6 1997/02/22 14:01:26 peter Exp $ +.\" $Id: cat.1,v 1.3.2.1 1997/02/28 07:54:20 mpp Exp $ .\" .Dd May 2, 1995 .Dt CAT 1 diff --git a/bin/cat/cat.c b/bin/cat/cat.c index 73d77ef91e19d..3f1a8b3c45632 100644 --- a/bin/cat/cat.c +++ b/bin/cat/cat.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cat.c,v 1.4 1996/09/28 21:19:27 imp Exp $ + * $Id: cat.c,v 1.5 1996/09/30 15:45:36 ache Exp $ */ #ifndef lint diff --git a/bin/chio/Makefile b/bin/chio/Makefile index 73c1aa11f8286..d792450d4436e 100644 --- a/bin/chio/Makefile +++ b/bin/chio/Makefile @@ -1,4 +1,4 @@ -# $Id: $ +# $Id: Makefile,v 1.1.1.1 1997/03/06 15:30:06 joerg Exp $ # @(#)Makefile 8.1 (Berkeley) 6/6/93 PROG= chio diff --git a/bin/chio/chio.c b/bin/chio/chio.c index 51a84e9a98431..84bf88efe8e25 100644 --- a/bin/chio/chio.c +++ b/bin/chio/chio.c @@ -1,4 +1,4 @@ -/* $Id: $ */ +/* $Id: chio.c,v 1.1.1.1 1997/03/06 15:30:06 joerg Exp $ */ /* * Copyright (c) 1996 Jason R. Thorpe <thorpej@and.com> diff --git a/bin/chio/defs.h b/bin/chio/defs.h index 5bab57e766ffb..0e8c913a9cb48 100644 --- a/bin/chio/defs.h +++ b/bin/chio/defs.h @@ -1,4 +1,4 @@ -/* $Id: $ */ +/* $Id: defs.h,v 1.1.1.1 1997/03/06 15:30:06 joerg Exp $ */ /* * Copyright (c) 1996 Jason R. Thorpe <thorpej@and.com> diff --git a/bin/chio/pathnames.h b/bin/chio/pathnames.h index cdd67fa2c44e7..3787672c60faf 100644 --- a/bin/chio/pathnames.h +++ b/bin/chio/pathnames.h @@ -1,4 +1,4 @@ -/* $Id: $ */ +/* $Id: pathnames.h,v 1.1.1.1 1997/03/06 15:30:06 joerg Exp $ */ /* * Copyright (c) 1996 Jason R. Thorpe <thorpej@and.com> diff --git a/bin/chmod/Makefile b/bin/chmod/Makefile index dc9390bb289f9..74c1dec8bd549 100644 --- a/bin/chmod/Makefile +++ b/bin/chmod/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:53:36 davidg Exp $ PROG= chmod diff --git a/bin/chmod/chmod.1 b/bin/chmod/chmod.1 index 2538a67c0cb5a..3e9f9fb7947a4 100644 --- a/bin/chmod/chmod.1 +++ b/bin/chmod/chmod.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)chmod.1 8.4 (Berkeley) 3/31/94 -.\" $Id: chmod.1,v 1.7 1997/02/22 14:01:29 peter Exp $ +.\" $Id: chmod.1,v 1.4.2.1 1997/02/28 07:54:25 mpp Exp $ .\" .Dd March 31, 1994 .Dt CHMOD 1 diff --git a/bin/chmod/chmod.c b/bin/chmod/chmod.c index 9d461b5e0c1ca..9efb48cccf365 100644 --- a/bin/chmod/chmod.c +++ b/bin/chmod/chmod.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: chmod.c,v 1.4 1995/03/19 13:27:43 joerg Exp $ + * $Id: chmod.c,v 1.5 1996/08/10 15:05:26 adam Exp $ */ #ifndef lint diff --git a/bin/cp/Makefile b/bin/cp/Makefile index 57883daad0d18..48c253b5153a3 100644 --- a/bin/cp/Makefile +++ b/bin/cp/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:53:39 davidg Exp $ PROG= cp SRCS= cp.c utils.c diff --git a/bin/cp/cp.1 b/bin/cp/cp.1 index 7179e090b6f3b..cb7e8c6983253 100644 --- a/bin/cp/cp.1 +++ b/bin/cp/cp.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 -.\" $Id: cp.1,v 1.9 1997/02/22 14:01:32 peter Exp $ +.\" $Id: cp.1,v 1.6.2.1 1997/02/28 07:54:27 mpp Exp $ .\" .Dd April 18, 1994 .Dt CP 1 diff --git a/bin/cp/cp.c b/bin/cp/cp.c index 83f8a9cd0f29b..d3a5caceb421f 100644 --- a/bin/cp/cp.c +++ b/bin/cp/cp.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cp.c,v 1.9 1996/02/19 05:56:33 pst Exp $ + * $Id: cp.c,v 1.10 1996/03/08 06:58:06 wosch Exp $ */ #ifndef lint diff --git a/bin/cp/extern.h b/bin/cp/extern.h index 9ca0446aaf5c9..583baa8c55ccd 100644 --- a/bin/cp/extern.h +++ b/bin/cp/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.2 (Berkeley) 4/1/94 - * $Id: extern.h,v 1.3 1996/02/18 18:48:26 wosch Exp $ + * $Id: extern.h,v 1.5 1996/03/08 06:58:07 wosch Exp $ */ typedef struct { diff --git a/bin/cp/utils.c b/bin/cp/utils.c index 62e208bbfb2ce..adaeecea4e1a2 100644 --- a/bin/cp/utils.c +++ b/bin/cp/utils.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: utils.c,v 1.6 1996/02/18 18:48:26 wosch Exp wosch $ + * $Id: utils.c,v 1.9 1996/03/08 06:58:08 wosch Exp $ */ #ifndef lint diff --git a/bin/csh/Makefile b/bin/csh/Makefile index 2bf842dde0746..bc35a56187754 100644 --- a/bin/csh/Makefile +++ b/bin/csh/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.5 1994/09/24 02:53:44 davidg Exp $ # # C Shell with process control; VM/UNIX VAX Makefile # Bill Joy UC Berkeley; Jim Kulp IIASA, Austria diff --git a/bin/csh/USD.doc/Makefile b/bin/csh/USD.doc/Makefile index c85e280415075..f0aa8fb0f0fe9 100644 --- a/bin/csh/USD.doc/Makefile +++ b/bin/csh/USD.doc/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 8/14/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:54:22 davidg Exp $ DIR= usd/04.csh SRCS= tabs csh.1 csh.2 csh.3 csh.4 csh.a csh.g diff --git a/bin/csh/USD.doc/csh.1 b/bin/csh/USD.doc/csh.1 index 1ca1f4d07fdac..8da6d6eabc8a8 100644 --- a/bin/csh/USD.doc/csh.1 +++ b/bin/csh/USD.doc/csh.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)csh.1 8.1 (Berkeley) 6/8/93 -.\" $Id: csh.1,v 1.2 1994/09/24 02:54:23 davidg Exp $ +.\" $Id: csh.1,v 1.3 1996/10/05 22:25:45 wosch Exp $ .\" .EH 'USD:4-%''An Introduction to the C shell' .OH 'An Introduction to the C shell''USD:4-%' diff --git a/bin/csh/USD.doc/csh.2 b/bin/csh/USD.doc/csh.2 index f7998a0c7cb9b..1e9d1ea7c8ef6 100644 --- a/bin/csh/USD.doc/csh.2 +++ b/bin/csh/USD.doc/csh.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)csh.2 8.1 (Berkeley) 6/8/93 -.\" $Id: csh.2,v 1.2 1994/09/24 02:54:24 davidg Exp $ +.\" $Id: csh.2,v 1.3 1996/10/05 22:25:46 wosch Exp $ .\" .nr H1 1 .NH diff --git a/bin/csh/USD.doc/csh.3 b/bin/csh/USD.doc/csh.3 index d6e3819c55d9f..26fa4963b88c9 100644 --- a/bin/csh/USD.doc/csh.3 +++ b/bin/csh/USD.doc/csh.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)csh.3 8.1 (Berkeley) 6/8/93 -.\" $Id$ +.\" $Id: csh.3,v 1.2 1994/09/24 02:54:26 davidg Exp $ .\" .nr H1 2 .NH diff --git a/bin/csh/USD.doc/csh.4 b/bin/csh/USD.doc/csh.4 index 2b2aaa9920a03..941b1c5029646 100644 --- a/bin/csh/USD.doc/csh.4 +++ b/bin/csh/USD.doc/csh.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)csh.4 8.1 (Berkeley) 6/8/93 -.\" $Id$ +.\" $Id: csh.4,v 1.2 1994/09/24 02:54:27 davidg Exp $ .\" .nr H1 3 .NH diff --git a/bin/csh/USD.doc/csh.a b/bin/csh/USD.doc/csh.a index f01312a41b94d..28b1264f9f74f 100644 --- a/bin/csh/USD.doc/csh.a +++ b/bin/csh/USD.doc/csh.a @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)csh.a 8.1 (Berkeley) 6/8/93 -.\" $Id$ +.\" $Id: csh.a,v 1.2 1994/09/24 02:54:28 davidg Exp $ .\" .SH Appendix \- Special characters diff --git a/bin/csh/USD.doc/csh.g b/bin/csh/USD.doc/csh.g index ac27152bccd63..51a600d6f7b77 100644 --- a/bin/csh/USD.doc/csh.g +++ b/bin/csh/USD.doc/csh.g @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)csh.g 8.1 (Berkeley) 6/8/93 -.\" $Id$ +.\" $Id: csh.g,v 1.2 1994/09/24 02:54:31 davidg Exp $ .\" .SH Glossary diff --git a/bin/csh/USD.doc/tabs b/bin/csh/USD.doc/tabs index 84deab72a15f2..e7b6218d397fc 100644 --- a/bin/csh/USD.doc/tabs +++ b/bin/csh/USD.doc/tabs @@ -30,6 +30,6 @@ .\" SUCH DAMAGE. .\" .\" @(#)tabs 8.1 (Berkeley) 6/8/93 -.\" $Id$ +.\" $Id: tabs,v 1.2 1994/09/24 02:54:32 davidg Exp $ .\" .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n diff --git a/bin/csh/alloc.c b/bin/csh/alloc.c index 3c4a1869ff419..34b375481cfbb 100644 --- a/bin/csh/alloc.c +++ b/bin/csh/alloc.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: alloc.c,v 1.3 1995/03/19 13:28:10 joerg Exp $ + * $Id: alloc.c,v 1.4 1995/05/30 00:06:28 rgrimes Exp $ */ #ifndef lint diff --git a/bin/csh/char.c b/bin/csh/char.c index 5e1a1e4a6bc07..ee2679e14deee 100644 --- a/bin/csh/char.c +++ b/bin/csh/char.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: char.c,v 1.2 1994/09/24 02:53:46 davidg Exp $ */ #ifndef lint diff --git a/bin/csh/char.h b/bin/csh/char.h index 9fba6f7157bf8..133a6ef36639e 100644 --- a/bin/csh/char.h +++ b/bin/csh/char.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)char.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: char.h,v 1.2 1994/09/24 02:53:47 davidg Exp $ */ #include <ctype.h> diff --git a/bin/csh/const.c b/bin/csh/const.c index 0d6068b2d73f8..7fc3b763763ce 100644 --- a/bin/csh/const.c +++ b/bin/csh/const.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: const.c,v 1.3 1995/05/30 00:06:29 rgrimes Exp $ + * $Id: const.c,v 1.4 1995/10/23 23:08:24 ache Exp $ */ #ifndef lint diff --git a/bin/csh/csh.1 b/bin/csh/csh.1 index 9436ac5d7f485..6e114cbfc2559 100644 --- a/bin/csh/csh.1 +++ b/bin/csh/csh.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)csh.1 8.2 (Berkeley) 1/21/94 -.\" $Id: csh.1,v 1.8 1997/02/22 14:01:40 peter Exp $ +.\" $Id: csh.1,v 1.5.2.1 1997/02/28 07:54:29 mpp Exp $ .\" .Dd January 21, 1994 .Dt CSH 1 diff --git a/bin/csh/csh.c b/bin/csh/csh.c index b1c9e28c6c87c..f1c4375aa5160 100644 --- a/bin/csh/csh.c +++ b/bin/csh/csh.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: csh.c,v 1.5 1995/07/07 23:14:36 ache Exp $ + * $Id: csh.c,v 1.6 1995/10/23 23:08:25 ache Exp $ */ #ifndef lint diff --git a/bin/csh/csh.h b/bin/csh/csh.h index 290262f5ca820..b58040d5944c2 100644 --- a/bin/csh/csh.h +++ b/bin/csh/csh.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)csh.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: csh.h,v 1.2 1994/09/24 02:53:52 davidg Exp $ */ /* diff --git a/bin/csh/dir.c b/bin/csh/dir.c index 4f8c44fc84605..15acda3151f20 100644 --- a/bin/csh/dir.c +++ b/bin/csh/dir.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: dir.c,v 1.3 1995/05/30 00:06:30 rgrimes Exp $ + * $Id: dir.c,v 1.4 1995/06/18 14:34:48 ache Exp $ */ #ifndef lint diff --git a/bin/csh/dir.h b/bin/csh/dir.h index ec57104831cf1..5823901407114 100644 --- a/bin/csh/dir.h +++ b/bin/csh/dir.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)dir.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: dir.h,v 1.2 1994/09/24 02:53:55 davidg Exp $ */ /* diff --git a/bin/csh/dol.c b/bin/csh/dol.c index 276ea2b59c134..7d5169ec9e426 100644 --- a/bin/csh/dol.c +++ b/bin/csh/dol.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: dol.c,v 1.2 1994/09/24 02:53:56 davidg Exp $ + * $Id: dol.c,v 1.3 1995/05/30 00:06:31 rgrimes Exp $ */ #ifndef lint diff --git a/bin/csh/err.c b/bin/csh/err.c index 77ae9e055b979..b683309fe31f3 100644 --- a/bin/csh/err.c +++ b/bin/csh/err.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: err.c,v 1.2 1994/09/24 02:53:57 davidg Exp $ */ #ifndef lint diff --git a/bin/csh/exec.c b/bin/csh/exec.c index d7750733a7faa..33e3f34d2eaac 100644 --- a/bin/csh/exec.c +++ b/bin/csh/exec.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: exec.c,v 1.3 1995/05/30 00:06:32 rgrimes Exp $ + * $Id: exec.c,v 1.4 1995/06/18 14:20:16 ache Exp $ */ #ifndef lint diff --git a/bin/csh/exp.c b/bin/csh/exp.c index ff484ce405dfe..eddc3956a6b4d 100644 --- a/bin/csh/exp.c +++ b/bin/csh/exp.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: exp.c,v 1.2 1994/09/24 02:54:00 davidg Exp $ */ #ifndef lint diff --git a/bin/csh/extern.h b/bin/csh/extern.h index f9ebd99aabe67..a0cb188924c70 100644 --- a/bin/csh/extern.h +++ b/bin/csh/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: extern.h,v 1.2 1994/09/24 02:54:02 davidg Exp $ */ #include <sys/cdefs.h> diff --git a/bin/csh/file.c b/bin/csh/file.c index 639e09c000299..4bbafaf038be1 100644 --- a/bin/csh/file.c +++ b/bin/csh/file.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: file.c,v 1.3 1995/05/30 00:06:33 rgrimes Exp $ + * $Id: file.c,v 1.4 1995/06/18 14:08:44 ache Exp $ */ #ifndef lint diff --git a/bin/csh/func.c b/bin/csh/func.c index f9f6da09886a6..0d1466ba1fced 100644 --- a/bin/csh/func.c +++ b/bin/csh/func.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: func.c,v 1.4 1995/10/23 23:08:26 ache Exp $ + * $Id: func.c,v 1.5 1996/08/11 23:10:38 ache Exp $ */ #ifndef lint diff --git a/bin/csh/glob.c b/bin/csh/glob.c index f02424741ee6c..db53f29de8550 100644 --- a/bin/csh/glob.c +++ b/bin/csh/glob.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: glob.c,v 1.5 1996/08/12 21:32:15 ache Exp $ + * $Id: glob.c,v 1.6 1996/10/31 07:22:48 ache Exp $ */ #ifndef lint diff --git a/bin/csh/hist.c b/bin/csh/hist.c index c90dd66565a54..c92b7cb20757e 100644 --- a/bin/csh/hist.c +++ b/bin/csh/hist.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: hist.c,v 1.2 1994/09/24 02:54:06 davidg Exp $ */ #ifndef lint diff --git a/bin/csh/init.c b/bin/csh/init.c index cee64c6f64776..d15faaf9f66e4 100644 --- a/bin/csh/init.c +++ b/bin/csh/init.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: init.c,v 1.2 1994/09/24 02:54:07 davidg Exp $ */ #ifndef lint diff --git a/bin/csh/lex.c b/bin/csh/lex.c index 940ccaedadabc..7c040d889ec96 100644 --- a/bin/csh/lex.c +++ b/bin/csh/lex.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: lex.c,v 1.3 1995/05/30 00:06:35 rgrimes Exp $ + * $Id: lex.c,v 1.4 1995/08/10 05:13:42 ache Exp $ */ #ifndef lint diff --git a/bin/csh/misc.c b/bin/csh/misc.c index a060d0749ca7e..e4bb533b79ee6 100644 --- a/bin/csh/misc.c +++ b/bin/csh/misc.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: misc.c,v 1.2 1994/09/24 02:54:10 davidg Exp $ + * $Id: misc.c,v 1.3 1996/09/28 14:32:01 bde Exp $ */ #ifndef lint diff --git a/bin/csh/parse.c b/bin/csh/parse.c index 5d0632e092b75..dad3d96f63663 100644 --- a/bin/csh/parse.c +++ b/bin/csh/parse.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: parse.c,v 1.2 1994/09/24 02:54:11 davidg Exp $ + * $Id: parse.c,v 1.3 1995/05/30 00:06:37 rgrimes Exp $ */ #ifndef lint diff --git a/bin/csh/pathnames.h b/bin/csh/pathnames.h index f1cf072c4a052..359e7d6ca6b1b 100644 --- a/bin/csh/pathnames.h +++ b/bin/csh/pathnames.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: pathnames.h,v 1.2 1994/09/24 02:54:12 davidg Exp $ */ #define _PATH_BIN "/bin" diff --git a/bin/csh/proc.c b/bin/csh/proc.c index d70d29ffc4e44..90e0250a8233c 100644 --- a/bin/csh/proc.c +++ b/bin/csh/proc.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: proc.c,v 1.2 1994/09/24 02:54:13 davidg Exp $ */ #ifndef lint diff --git a/bin/csh/proc.h b/bin/csh/proc.h index c621a742787f9..b62ad57b7f81a 100644 --- a/bin/csh/proc.h +++ b/bin/csh/proc.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: proc.h,v 1.2 1994/09/24 02:54:14 davidg Exp $ */ /* diff --git a/bin/csh/sem.c b/bin/csh/sem.c index 8216d5590d2a4..64e6d1b25ff28 100644 --- a/bin/csh/sem.c +++ b/bin/csh/sem.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sem.c,v 1.2 1994/09/24 02:54:15 davidg Exp $ + * $Id: sem.c,v 1.3 1995/05/30 00:06:37 rgrimes Exp $ */ #ifndef lint diff --git a/bin/csh/set.c b/bin/csh/set.c index f1b5532c0f00d..1c1e5dee5ac2d 100644 --- a/bin/csh/set.c +++ b/bin/csh/set.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: set.c,v 1.3 1995/05/30 00:06:38 rgrimes Exp $ + * $Id: set.c,v 1.4 1995/07/07 23:13:11 ache Exp $ */ #ifndef lint diff --git a/bin/csh/str.c b/bin/csh/str.c index d30b95ef7bad4..dc76df52f559e 100644 --- a/bin/csh/str.c +++ b/bin/csh/str.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: str.c,v 1.2 1994/09/24 02:54:18 davidg Exp $ + * $Id: str.c,v 1.3 1995/05/30 00:06:39 rgrimes Exp $ */ #ifndef lint diff --git a/bin/csh/time.c b/bin/csh/time.c index 95de7d2b444b0..10a9daae1e44a 100644 --- a/bin/csh/time.c +++ b/bin/csh/time.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: time.c,v 1.4 1995/03/19 13:28:12 joerg Exp $ + * $Id: time.c,v 1.5 1995/05/30 00:06:40 rgrimes Exp $ */ #ifndef lint diff --git a/bin/date/Makefile b/bin/date/Makefile index 294aae0cc99b1..72e6369dd62e9 100644 --- a/bin/date/Makefile +++ b/bin/date/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:54:33 davidg Exp $ PROG= date SRCS= date.c netdate.c diff --git a/bin/date/date.1 b/bin/date/date.1 index 221d5abf16539..86111e42796f8 100644 --- a/bin/date/date.1 +++ b/bin/date/date.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)date.1 8.3 (Berkeley) 4/28/95 -.\" $Id: date.1,v 1.11 1997/02/22 14:02:31 peter Exp $ +.\" $Id: date.1,v 1.8.2.1 1997/02/28 07:54:32 mpp Exp $ .\" .Dd November 17, 1993 .Dt DATE 1 diff --git a/bin/date/date.c b/bin/date/date.c index 12261be00da63..6fa8d2cb5feac 100644 --- a/bin/date/date.c +++ b/bin/date/date.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: date.c,v 1.6 1995/10/23 20:26:53 ache Exp $ + * $Id: date.c,v 1.7 1996/04/06 01:42:09 ache Exp $ */ #ifndef lint diff --git a/bin/date/extern.h b/bin/date/extern.h index c21fdc63d0b28..560d2a9b4d169 100644 --- a/bin/date/extern.h +++ b/bin/date/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: extern.h,v 1.2 1994/09/24 02:54:37 davidg Exp $ */ int netsettime __P((time_t)); diff --git a/bin/date/netdate.c b/bin/date/netdate.c index 4a5e43840475b..5e7144bf38a3a 100644 --- a/bin/date/netdate.c +++ b/bin/date/netdate.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: netdate.c,v 1.3 1995/05/30 00:06:41 rgrimes Exp $ + * $Id: netdate.c,v 1.3.6.1 1997/03/10 19:51:16 guido Exp $ */ #ifndef lint diff --git a/bin/dd/Makefile b/bin/dd/Makefile index 09158e5a81c06..4ddbc0c41b962 100644 --- a/bin/dd/Makefile +++ b/bin/dd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:54:40 davidg Exp $ PROG= dd SRCS= args.c conv.c conv_tab.c dd.c misc.c position.c diff --git a/bin/dd/args.c b/bin/dd/args.c index ea262d6a3cd71..e778999f2a559 100644 --- a/bin/dd/args.c +++ b/bin/dd/args.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: args.c,v 1.3 1994/09/24 02:54:42 davidg Exp $ + * $Id: args.c,v 1.3.8.1 1996/11/21 16:30:28 phk Exp $ */ #ifndef lint diff --git a/bin/dd/conv.c b/bin/dd/conv.c index 8be8e3190fb14..eb3eeaf60415d 100644 --- a/bin/dd/conv.c +++ b/bin/dd/conv.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: conv.c,v 1.3 1994/09/24 02:54:44 davidg Exp $ + * $Id: conv.c,v 1.3.8.1 1996/11/21 16:30:30 phk Exp $ */ #ifndef lint diff --git a/bin/dd/conv_tab.c b/bin/dd/conv_tab.c index 2fb2bc6ec706e..3a617ae475f2d 100644 --- a/bin/dd/conv_tab.c +++ b/bin/dd/conv_tab.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: conv_tab.c,v 1.2 1994/09/24 02:54:47 davidg Exp $ + * $Id: conv_tab.c,v 1.3 1995/01/17 23:04:28 ache Exp $ */ #ifndef lint diff --git a/bin/dd/dd.1 b/bin/dd/dd.1 index 1840dbedb12c9..acd4c979bed8e 100644 --- a/bin/dd/dd.1 +++ b/bin/dd/dd.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dd.1 8.2 (Berkeley) 1/13/94 -.\" $Id: dd.1,v 1.4 1997/02/22 14:02:43 peter Exp $ +.\" $Id: dd.1,v 1.2.8.1 1997/02/28 07:54:33 mpp Exp $ .\" .Dd January 13, 1994 .Dt DD 1 diff --git a/bin/dd/dd.c b/bin/dd/dd.c index 80379c5c99c87..f879680d4ef43 100644 --- a/bin/dd/dd.c +++ b/bin/dd/dd.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: dd.c,v 1.5 1995/10/23 21:31:48 ache Exp $ + * $Id: dd.c,v 1.5.2.1 1996/11/21 16:30:32 phk Exp $ */ #ifndef lint diff --git a/bin/dd/dd.h b/bin/dd/dd.h index 798b340acfd84..80b554755b9ba 100644 --- a/bin/dd/dd.h +++ b/bin/dd/dd.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)dd.h 8.3 (Berkeley) 4/2/94 - * $Id: dd.h,v 1.2 1994/09/24 02:54:54 davidg Exp $ + * $Id: dd.h,v 1.2.8.1 1996/11/21 16:30:33 phk Exp $ */ /* Input/output stream state. */ diff --git a/bin/dd/extern.h b/bin/dd/extern.h index 7445fee4b0831..192ca82e15430 100644 --- a/bin/dd/extern.h +++ b/bin/dd/extern.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.3 (Berkeley) 4/2/94 - * $Id$ + * $Id: extern.h,v 1.2 1994/09/24 02:54:57 davidg Exp $ */ #include <sys/cdefs.h> diff --git a/bin/dd/misc.c b/bin/dd/misc.c index 17abee4c3d9f9..0120be063c753 100644 --- a/bin/dd/misc.c +++ b/bin/dd/misc.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: misc.c,v 1.2 1994/09/24 02:55:01 davidg Exp $ + * $Id: misc.c,v 1.2.8.1 1996/11/21 16:30:35 phk Exp $ */ #ifndef lint diff --git a/bin/dd/position.c b/bin/dd/position.c index c50102241c996..6062a9d4283fe 100644 --- a/bin/dd/position.c +++ b/bin/dd/position.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: position.c,v 1.2 1994/09/24 02:55:03 davidg Exp $ */ #ifndef lint diff --git a/bin/df/Makefile b/bin/df/Makefile index 3023452049677..4f94ca71a1d5b 100644 --- a/bin/df/Makefile +++ b/bin/df/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 4/1/94 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:55:06 davidg Exp $ PROG= df BINGRP= operator diff --git a/bin/df/df.1 b/bin/df/df.1 index 658a1bf8df377..024be8443c04f 100644 --- a/bin/df/df.1 +++ b/bin/df/df.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)df.1 8.2 (Berkeley) 1/13/94 -.\" $Id: df.1,v 1.4 1996/08/29 18:05:48 wosch Exp $ +.\" $Id: df.1,v 1.4.2.1 1996/12/13 17:15:10 joerg Exp $ .\" .Dd January 13, 1994 .Dt DF 1 diff --git a/bin/df/df.c b/bin/df/df.c index cb0c26e0ae7ce..a61dd997190a6 100644 --- a/bin/df/df.c +++ b/bin/df/df.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: df.c,v 1.8 1996/01/14 18:55:09 bde Exp $ + * $Id: df.c,v 1.8.2.1 1996/12/13 17:15:11 joerg Exp $ */ #ifndef lint diff --git a/bin/domainname/Makefile b/bin/domainname/Makefile index 8274b61c0ad63..b54c69ab79115 100644 --- a/bin/domainname/Makefile +++ b/bin/domainname/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1994/09/18 21:23:35 wollman Exp $ PROG= domainname diff --git a/bin/domainname/domainname.1 b/bin/domainname/domainname.1 index 782e708edac6f..24ae17d3b4a09 100644 --- a/bin/domainname/domainname.1 +++ b/bin/domainname/domainname.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)hostname.1 8.1 (Berkeley) 5/31/93 -.\" $Id: domainname.1,v 1.1 1994/09/18 21:23:36 wollman Exp $ +.\" $Id: domainname.1,v 1.2 1995/01/14 17:02:33 ats Exp $ .\" .Dd September 18, 1994 .Dt DOMAINNAME 1 diff --git a/bin/domainname/domainname.c b/bin/domainname/domainname.c index 4295ec5bff27e..335b5d77b85ff 100644 --- a/bin/domainname/domainname.c +++ b/bin/domainname/domainname.c @@ -40,7 +40,7 @@ static char copyright[] = #ifndef lint /*static char sccsid[] = "From: @(#)hostname.c 8.1 (Berkeley) 5/31/93"; */ static const char rcsid[] = - "$Id: domainname.c,v 1.4 1994/09/26 02:14:27 wollman Exp $"; + "$Id: domainname.c,v 1.5 1995/03/19 13:28:17 joerg Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/bin/echo/Makefile b/bin/echo/Makefile index c296871792c5b..b562b331c319e 100644 --- a/bin/echo/Makefile +++ b/bin/echo/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:55:15 davidg Exp $ PROG= echo diff --git a/bin/echo/echo.1 b/bin/echo/echo.1 index d045b3dcc67cc..0f7c80d39d1e7 100644 --- a/bin/echo/echo.1 +++ b/bin/echo/echo.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)echo.1 8.1 (Berkeley) 7/22/93 -.\" $Id: echo.1,v 1.2 1994/09/24 02:55:17 davidg Exp $ +.\" $Id: echo.1,v 1.3 1995/08/31 17:25:54 jkh Exp $ .\" .Dd July 22, 1993 .Dt ECHO 1 diff --git a/bin/echo/echo.c b/bin/echo/echo.c index e604765e48a39..85078316134cf 100644 --- a/bin/echo/echo.c +++ b/bin/echo/echo.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: echo.c,v 1.2 1994/09/24 02:55:18 davidg Exp $ + * $Id: echo.c,v 1.3 1995/08/31 17:25:55 jkh Exp $ */ #ifndef lint diff --git a/bin/ed/Makefile b/bin/ed/Makefile index 30816a88e77d9..560aba0dfc9fa 100644 --- a/bin/ed/Makefile +++ b/bin/ed/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.12 1995/10/03 15:44:50 markm Exp $ +# $Id: Makefile,v 1.13 1995/10/22 20:14:13 ache Exp $ PROG= ed SRCS= buf.c cbc.c glbl.c io.c main.c re.c sub.c undo.c diff --git a/bin/ed/POSIX b/bin/ed/POSIX index db1a155e2cf21..179ce3d58fc17 100644 --- a/bin/ed/POSIX +++ b/bin/ed/POSIX @@ -1,4 +1,4 @@ -$Id$ +$Id: POSIX,v 1.4 1994/09/24 02:55:20 davidg Exp $ This version of ed(1) is not strictly POSIX compliant, as described in the POSIX 1003.2 document. The following is a summary of the omissions, diff --git a/bin/ed/README b/bin/ed/README index 322e65e0fcaf0..9988a30353f2d 100644 --- a/bin/ed/README +++ b/bin/ed/README @@ -1,4 +1,4 @@ -$Id$ +$Id: README,v 1.4 1994/09/24 02:55:21 davidg Exp $ ed is an 8-bit-clean, POSIX-compliant line editor. It should work with any regular expression package that conforms to the POSIX interface diff --git a/bin/ed/buf.c b/bin/ed/buf.c index e14a65c59730b..a6ec5244ee765 100644 --- a/bin/ed/buf.c +++ b/bin/ed/buf.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: buf.c,v 1.6 1994/09/24 02:55:22 davidg Exp $ + * $Id: buf.c,v 1.7 1995/05/30 00:06:43 rgrimes Exp $ */ #ifndef lint static char *rcsid = "@(#)buf.c,v 1.4 1994/02/01 00:34:35 alm Exp"; diff --git a/bin/ed/cbc.c b/bin/ed/cbc.c index 4c5211a2a63fc..3c04875c4a1cb 100644 --- a/bin/ed/cbc.c +++ b/bin/ed/cbc.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)bdes.c 5.5 (Berkeley) 6/27/91 - * $Id: cbc.c,v 1.5 1995/03/19 13:28:24 joerg Exp $ + * $Id: cbc.c,v 1.6 1996/08/11 16:48:11 ache Exp $ */ #ifndef lint diff --git a/bin/ed/ed.1 b/bin/ed/ed.1 index dd5369d65c721..05b74976356f6 100644 --- a/bin/ed/ed.1 +++ b/bin/ed/ed.1 @@ -1,4 +1,4 @@ -.\" $Id: ed.1,v 1.7 1996/08/29 18:05:50 wosch Exp $ +.\" $Id: ed.1,v 1.8 1996/10/05 22:26:02 wosch Exp $ .TH ED 1 "21 May 1993" .SH NAME .\" ed, red \- text editor diff --git a/bin/ed/ed.h b/bin/ed/ed.h index 629651642cd0c..0f8164edddc62 100644 --- a/bin/ed/ed.h +++ b/bin/ed/ed.h @@ -25,7 +25,7 @@ * SUCH DAMAGE. * * @(#)ed.h,v 1.5 1994/02/01 00:34:39 alm Exp - * $Id: ed.h,v 1.7 1994/09/24 02:55:25 davidg Exp $ + * $Id: ed.h,v 1.8 1994/11/03 21:46:55 davidg Exp $ */ #include <sys/types.h> diff --git a/bin/ed/glbl.c b/bin/ed/glbl.c index b9856c3e66545..a124e5b779c42 100644 --- a/bin/ed/glbl.c +++ b/bin/ed/glbl.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: glbl.c,v 1.3 1995/03/19 13:28:27 joerg Exp $ + * $Id: glbl.c,v 1.4 1995/05/30 00:06:46 rgrimes Exp $ */ #ifndef lint diff --git a/bin/ed/io.c b/bin/ed/io.c index 99e832acbb7b7..1b3a8a2c51642 100644 --- a/bin/ed/io.c +++ b/bin/ed/io.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: io.c,v 1.4 1995/03/19 13:28:32 joerg Exp $ + * $Id: io.c,v 1.5 1996/05/23 06:36:34 tg Exp $ */ #ifndef lint diff --git a/bin/ed/main.c b/bin/ed/main.c index ae713086e1a1a..796dab108645e 100644 --- a/bin/ed/main.c +++ b/bin/ed/main.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: main.c,v 1.5 1995/05/30 00:06:47 rgrimes Exp $ + * $Id: main.c,v 1.6 1996/08/11 16:48:11 ache Exp $ */ #ifndef lint diff --git a/bin/ed/re.c b/bin/ed/re.c index 252e8f8678d91..847b774649e90 100644 --- a/bin/ed/re.c +++ b/bin/ed/re.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: re.c,v 1.9 1995/03/19 13:28:36 joerg Exp $ + * $Id: re.c,v 1.10 1995/05/30 00:06:47 rgrimes Exp $ */ #ifndef lint diff --git a/bin/ed/sub.c b/bin/ed/sub.c index c61c7e4e196c2..e571d7ec877f4 100644 --- a/bin/ed/sub.c +++ b/bin/ed/sub.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sub.c,v 1.5 1995/03/19 13:28:38 joerg Exp $ + * $Id: sub.c,v 1.6 1995/05/30 00:06:48 rgrimes Exp $ */ #ifndef lint diff --git a/bin/ed/test/Makefile b/bin/ed/test/Makefile index 08f0dcd9fffa8..bf3ebfd06ee51 100644 --- a/bin/ed/test/Makefile +++ b/bin/ed/test/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.5 1994/09/24 02:55:35 davidg Exp $ +# $Id: Makefile,v 1.6 1996/06/24 04:22:19 jkh Exp $ SHELL= /bin/sh ED= ${.OBJDIR}/ed diff --git a/bin/ed/test/README b/bin/ed/test/README index 72c7217f0f0ef..4c6ef484868cb 100644 --- a/bin/ed/test/README +++ b/bin/ed/test/README @@ -1,4 +1,4 @@ -# $Id$ +# $Id: README,v 1.4 1996/09/22 21:51:28 wosch Exp $ The files in this directory with suffixes `.t', `.d', `.r' and `.err' are used for testing ed. To run the tests, set the ED variable in the Makefile diff --git a/bin/ed/test/ckscripts.sh b/bin/ed/test/ckscripts.sh index f58c60977b5b9..d7293e3b00ade 100644 --- a/bin/ed/test/ckscripts.sh +++ b/bin/ed/test/ckscripts.sh @@ -3,7 +3,7 @@ # and compares their output against the .r files, which contain # the correct output # -# $Id$ +# $Id: ckscripts.sh,v 1.3 1996/09/22 21:51:29 wosch Exp $ PATH="/bin:/usr/bin:/usr/local/bin/:." ED=$1 diff --git a/bin/ed/test/mkscripts.sh b/bin/ed/test/mkscripts.sh index 3e1a3d4c543a4..b3fe32435d970 100644 --- a/bin/ed/test/mkscripts.sh +++ b/bin/ed/test/mkscripts.sh @@ -1,7 +1,7 @@ #!/bin/sh - # This script generates ed test scripts (.ed) from .t files # -# $Id$ +# $Id: mkscripts.sh,v 1.3 1996/09/22 21:51:30 wosch Exp $ PATH="/bin:/usr/bin:/usr/local/bin/:." ED=$1 diff --git a/bin/ed/undo.c b/bin/ed/undo.c index ec813c2d5c7dd..1fdad02cd5c6e 100644 --- a/bin/ed/undo.c +++ b/bin/ed/undo.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: undo.c,v 1.3 1994/09/24 02:55:32 davidg Exp $ */ #ifndef lint diff --git a/bin/expr/Makefile b/bin/expr/Makefile index e360adf00dc5c..0562e9378e422 100644 --- a/bin/expr/Makefile +++ b/bin/expr/Makefile @@ -1,5 +1,5 @@ # /b/source/CVS/src/bin/expr/Makefile,v 1.5 1993/06/14 19:56:06 jtc Exp -# $Id: Makefile,v 1.8 1996/05/07 23:14:17 wosch Exp $ +# $Id: Makefile,v 1.10 1996/06/02 17:05:48 phk Exp $ PROG= expr SRCS= expr.c diff --git a/bin/expr/expr.1 b/bin/expr/expr.1 index c1c1d37d801ab..4af1544213712 100644 --- a/bin/expr/expr.1 +++ b/bin/expr/expr.1 @@ -28,7 +28,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: expr.1,v 1.3 1994/04/24 01:18:46 jkh Exp $ +.\" $Id: expr.1,v 1.4 1996/01/29 22:53:24 mpp Exp $ .\" .Dd July 3, 1993 .Dt EXPR 1 diff --git a/bin/expr/expr.y b/bin/expr/expr.y index 938a8749fffe7..931bf276a4a40 100644 --- a/bin/expr/expr.y +++ b/bin/expr/expr.y @@ -4,7 +4,7 @@ * * Largely rewritten by J.T. Conklin (jtc@wimsey.com) * - * $Id: expr.y,v 1.10 1995/08/04 17:08:07 joerg Exp $ + * $Id: expr.y,v 1.11 1995/11/18 18:05:03 joerg Exp $ */ #include <stdio.h> diff --git a/bin/hostname/Makefile b/bin/hostname/Makefile index adee034af6867..a6eb65fa99e36 100644 --- a/bin/hostname/Makefile +++ b/bin/hostname/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:55:39 davidg Exp $ PROG= hostname diff --git a/bin/hostname/hostname.1 b/bin/hostname/hostname.1 index c09b61bebeef3..390506360b6d8 100644 --- a/bin/hostname/hostname.1 +++ b/bin/hostname/hostname.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)hostname.1 8.2 (Berkeley) 4/28/95 -.\" $Id: hostname.1,v 1.6 1997/02/22 14:03:41 peter Exp $ +.\" $Id: hostname.1,v 1.3.2.1 1997/02/28 07:54:36 mpp Exp $ .\" .Dd April 28, 1995 .Dt HOSTNAME 1 diff --git a/bin/hostname/hostname.c b/bin/hostname/hostname.c index 00408ecdd3533..74e362473a221 100644 --- a/bin/hostname/hostname.c +++ b/bin/hostname/hostname.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: hostname.c,v 1.2 1994/09/24 02:55:40 davidg Exp $ */ #ifndef lint diff --git a/bin/kill/Makefile b/bin/kill/Makefile index 610341f6b8c10..686167e3f2542 100644 --- a/bin/kill/Makefile +++ b/bin/kill/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:55:42 davidg Exp $ PROG= kill diff --git a/bin/kill/kill.1 b/bin/kill/kill.1 index fabafc0169375..d14e55029a7bf 100644 --- a/bin/kill/kill.1 +++ b/bin/kill/kill.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)kill.1 8.1 (Berkeley) 5/31/93 -.\" $Id: kill.1,v 1.2 1994/09/24 02:55:43 davidg Exp $ +.\" $Id: kill.1,v 1.3 1996/07/03 22:19:50 wosch Exp $ .\" .Dd May 31, 1993 .Dt KILL 1 diff --git a/bin/kill/kill.c b/bin/kill/kill.c index 7de25e157206b..814885f8d4f2d 100644 --- a/bin/kill/kill.c +++ b/bin/kill/kill.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kill.c,v 1.2 1994/09/24 02:55:44 davidg Exp $ + * $Id: kill.c,v 1.3 1995/03/05 21:52:41 jkh Exp $ */ #ifndef lint diff --git a/bin/ln/Makefile b/bin/ln/Makefile index 83a6e1dca2f18..77d66645eccb7 100644 --- a/bin/ln/Makefile +++ b/bin/ln/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.3 1994/09/24 02:55:45 davidg Exp $ PROG= ln MAN1= ln.1 diff --git a/bin/ln/ln.1 b/bin/ln/ln.1 index 0e5d674b18e18..56c7736a6e8c1 100644 --- a/bin/ln/ln.1 +++ b/bin/ln/ln.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" $Id: ln.1,v 1.2 1994/09/24 02:55:47 davidg Exp $ +.\" $Id: ln.1,v 1.3 1996/08/29 18:05:55 wosch Exp $ .\" .Dd December 30, 1993 .Dt LN 1 diff --git a/bin/ln/ln.c b/bin/ln/ln.c index b9c4f3f1eed59..1ae07caf9dc43 100644 --- a/bin/ln/ln.c +++ b/bin/ln/ln.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ln.c,v 1.5 1994/12/06 18:50:44 bde Exp $ + * $Id: ln.c,v 1.6 1996/05/24 20:36:16 peter Exp $ */ #ifndef lint diff --git a/bin/ln/symlink.7 b/bin/ln/symlink.7 index 1fb4ea41bfdbe..94b5396cf7060 100644 --- a/bin/ln/symlink.7 +++ b/bin/ln/symlink.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 -.\" $Id$ +.\" $Id: symlink.7,v 1.2 1994/09/24 02:55:49 davidg Exp $ .\" .Dd March 31, 1994 .Dt SYMLINK 7 diff --git a/bin/ls/Makefile b/bin/ls/Makefile index d1a6b6b843848..262c5d6892d25 100644 --- a/bin/ls/Makefile +++ b/bin/ls/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/2/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:55:51 davidg Exp $ PROG= ls SRCS= cmp.c stat_flags.c ls.c print.c util.c diff --git a/bin/ls/cmp.c b/bin/ls/cmp.c index 8b34aac785d46..bf534df25214c 100644 --- a/bin/ls/cmp.c +++ b/bin/ls/cmp.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cmp.c,v 1.2 1994/09/24 02:55:52 davidg Exp $ + * $Id: cmp.c,v 1.2.8.1 1996/12/29 11:02:19 joerg Exp $ */ #ifndef lint diff --git a/bin/ls/extern.h b/bin/ls/extern.h index 253d50642d4a0..34cd71ce7ece3 100644 --- a/bin/ls/extern.h +++ b/bin/ls/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: extern.h,v 1.2 1994/09/24 02:55:52 davidg Exp $ */ int acccmp __P((const FTSENT *, const FTSENT *)); diff --git a/bin/ls/ls.1 b/bin/ls/ls.1 index fc958f6e65a74..a97fe348fef77 100644 --- a/bin/ls/ls.1 +++ b/bin/ls/ls.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ls.1 8.6 (Berkeley) 4/18/94 -.\" $Id: ls.1,v 1.5.2.1 1997/02/25 00:38:13 mpp Exp $ +.\" $Id: ls.1,v 1.5.2.2 1997/03/07 02:00:30 mpp Exp $ .\" .Dd April 18, 1994 .Dt LS 1 diff --git a/bin/ls/ls.c b/bin/ls/ls.c index fb747deb5a4b0..5df646429dcb8 100644 --- a/bin/ls/ls.c +++ b/bin/ls/ls.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ls.c,v 1.9 1995/10/26 10:56:38 ache Exp $ + * $Id: ls.c,v 1.10 1996/08/27 21:51:48 adam Exp $ */ #ifndef lint diff --git a/bin/ls/ls.h b/bin/ls/ls.h index 61c319e9c187f..4f34ba8127212 100644 --- a/bin/ls/ls.h +++ b/bin/ls/ls.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)ls.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: ls.h,v 1.2 1994/09/24 02:55:55 davidg Exp $ */ #define NO_PRINT 1 diff --git a/bin/ls/print.c b/bin/ls/print.c index 5f966954c6306..9f7ebaaa7cf14 100644 --- a/bin/ls/print.c +++ b/bin/ls/print.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: print.c,v 1.7 1995/12/30 18:15:30 joerg Exp $ + * $Id: print.c,v 1.8 1996/01/20 10:31:14 mpp Exp $ */ #ifndef lint diff --git a/bin/ls/stat_flags.c b/bin/ls/stat_flags.c index d62a0fd42e0d3..d3f335e4936f8 100644 --- a/bin/ls/stat_flags.c +++ b/bin/ls/stat_flags.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: stat_flags.c,v 1.2 1994/09/24 02:55:57 davidg Exp $ */ #ifndef lint diff --git a/bin/ls/util.c b/bin/ls/util.c index d16ab6aa7a148..338e763904f42 100644 --- a/bin/ls/util.c +++ b/bin/ls/util.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: util.c,v 1.4 1994/10/09 15:25:23 ache Exp $ + * $Id: util.c,v 1.5 1996/03/31 16:14:11 ache Exp $ */ #ifndef lint diff --git a/bin/mkdir/Makefile b/bin/mkdir/Makefile index 03ca565911e99..a1ba4a55bb853 100644 --- a/bin/mkdir/Makefile +++ b/bin/mkdir/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:56:01 davidg Exp $ PROG= mkdir diff --git a/bin/mkdir/mkdir.1 b/bin/mkdir/mkdir.1 index 8f9a09927f159..863346434e8e9 100644 --- a/bin/mkdir/mkdir.1 +++ b/bin/mkdir/mkdir.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mkdir.1 8.2 (Berkeley) 1/25/94 -.\" $Id: mkdir.1,v 1.6 1997/02/22 14:04:08 peter Exp $ +.\" $Id: mkdir.1,v 1.3.2.1 1997/02/28 07:54:38 mpp Exp $ .\" .Dd January 25, 1994 .Dt MKDIR 1 diff --git a/bin/mkdir/mkdir.c b/bin/mkdir/mkdir.c index d5fe7e516649b..1a6053b524ec8 100644 --- a/bin/mkdir/mkdir.c +++ b/bin/mkdir/mkdir.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: mkdir.c,v 1.5 1994/09/24 02:56:03 davidg Exp $ */ #ifndef lint diff --git a/bin/mv/Makefile b/bin/mv/Makefile index 0ba523e61b443..d5f89c6df6a80 100644 --- a/bin/mv/Makefile +++ b/bin/mv/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 4/2/94 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:56:05 davidg Exp $ PROG= mv diff --git a/bin/mv/mv.1 b/bin/mv/mv.1 index 365b4c0013311..7b529e9a534cd 100644 --- a/bin/mv/mv.1 +++ b/bin/mv/mv.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mv.1 8.1 (Berkeley) 5/31/93 -.\" $Id: mv.1,v 1.6 1996/02/20 23:27:54 wosch Exp $ +.\" $Id: mv.1,v 1.7 1996/08/29 18:06:04 wosch Exp $ .\" .Dd May 31, 1993 .Dt MV 1 diff --git a/bin/mv/mv.c b/bin/mv/mv.c index b63c4aee9d208..d54b67e3b3cb6 100644 --- a/bin/mv/mv.c +++ b/bin/mv/mv.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mv.c,v 1.7 1996/02/20 23:27:57 wosch Exp $ + * $Id: mv.c,v 1.8 1996/03/01 06:14:13 wosch Exp $ */ #ifndef lint diff --git a/bin/mv/pathnames.h b/bin/mv/pathnames.h index 4adf62b4ec5f9..3ca9f6442c8ea 100644 --- a/bin/mv/pathnames.h +++ b/bin/mv/pathnames.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: pathnames.h,v 1.2 1994/09/24 02:56:08 davidg Exp $ */ #define _PATH_RM "/bin/rm" diff --git a/bin/pax/Makefile b/bin/pax/Makefile index cd0cc2d82e4c2..eef5d60a121ad 100644 --- a/bin/pax/Makefile +++ b/bin/pax/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:56:10 davidg Exp $ # To install on versions prior to BSD 4.4 the following may have to be # defined with CFLAGS += diff --git a/bin/pax/ar_io.c b/bin/pax/ar_io.c index 827a02d2224d5..4481a934be121 100644 --- a/bin/pax/ar_io.c +++ b/bin/pax/ar_io.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ar_io.c,v 1.3 1995/05/30 00:06:52 rgrimes Exp $ + * $Id: ar_io.c,v 1.4 1995/10/23 21:22:56 ache Exp $ */ #ifndef lint diff --git a/bin/pax/ar_subs.c b/bin/pax/ar_subs.c index 7777afb79f419..b79978b312018 100644 --- a/bin/pax/ar_subs.c +++ b/bin/pax/ar_subs.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ar_subs.c,v 1.3 1995/05/30 00:06:52 rgrimes Exp $ + * $Id: ar_subs.c,v 1.4 1995/10/23 21:22:58 ache Exp $ */ #ifndef lint diff --git a/bin/pax/buf_subs.c b/bin/pax/buf_subs.c index fa6f925ac3b1b..187d55451c5c9 100644 --- a/bin/pax/buf_subs.c +++ b/bin/pax/buf_subs.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: buf_subs.c,v 1.3 1995/05/30 00:06:53 rgrimes Exp $ + * $Id: buf_subs.c,v 1.4 1995/10/23 21:23:00 ache Exp $ */ #ifndef lint diff --git a/bin/pax/cache.c b/bin/pax/cache.c index 6ffe469ac7c4b..c0d9076cccca2 100644 --- a/bin/pax/cache.c +++ b/bin/pax/cache.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cache.c,v 1.2 1994/09/24 02:56:14 davidg Exp $ + * $Id: cache.c,v 1.3 1995/10/23 21:23:02 ache Exp $ */ #ifndef lint diff --git a/bin/pax/cache.h b/bin/pax/cache.h index 5c01ef410aef6..2be117544b8d0 100644 --- a/bin/pax/cache.h +++ b/bin/pax/cache.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)cache.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: cache.h,v 1.2 1994/09/24 02:56:15 davidg Exp $ */ /* diff --git a/bin/pax/cpio.c b/bin/pax/cpio.c index e3fd4f1a420d7..4ff0636bbfde9 100644 --- a/bin/pax/cpio.c +++ b/bin/pax/cpio.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cpio.c,v 1.3 1995/05/30 00:06:54 rgrimes Exp $ + * $Id: cpio.c,v 1.4 1995/10/23 21:23:04 ache Exp $ */ #ifndef lint diff --git a/bin/pax/cpio.h b/bin/pax/cpio.h index 6e500487f5500..a3a174f02bcf3 100644 --- a/bin/pax/cpio.h +++ b/bin/pax/cpio.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)cpio.h 8.1 (Berkeley) 5/31/93 - * $Id: cpio.h,v 1.2 1994/09/24 02:56:17 davidg Exp $ + * $Id: cpio.h,v 1.3 1995/05/30 00:06:55 rgrimes Exp $ */ /* diff --git a/bin/pax/extern.h b/bin/pax/extern.h index 819329f2c2b85..b95d88a6af2c0 100644 --- a/bin/pax/extern.h +++ b/bin/pax/extern.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.2 (Berkeley) 4/18/94 - * $Id$ + * $Id: extern.h,v 1.2 1994/09/24 02:56:18 davidg Exp $ */ /* diff --git a/bin/pax/file_subs.c b/bin/pax/file_subs.c index 107a1003329e3..f4d7f2f548429 100644 --- a/bin/pax/file_subs.c +++ b/bin/pax/file_subs.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: file_subs.c,v 1.3 1995/05/30 00:06:56 rgrimes Exp $ + * $Id: file_subs.c,v 1.4 1995/10/23 21:23:06 ache Exp $ */ #ifndef lint diff --git a/bin/pax/ftree.c b/bin/pax/ftree.c index 375e62071693c..3d6ad4dd0604f 100644 --- a/bin/pax/ftree.c +++ b/bin/pax/ftree.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ftree.c,v 1.3 1995/05/30 00:06:57 rgrimes Exp $ + * $Id: ftree.c,v 1.4 1995/10/23 21:23:10 ache Exp $ */ #ifndef lint diff --git a/bin/pax/ftree.h b/bin/pax/ftree.h index a98654632f545..ca456c1205a24 100644 --- a/bin/pax/ftree.h +++ b/bin/pax/ftree.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)ftree.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: ftree.h,v 1.2 1994/09/24 02:56:21 davidg Exp $ */ /* diff --git a/bin/pax/gen_subs.c b/bin/pax/gen_subs.c index 4c3efdfa47c16..7eb191827c27f 100644 --- a/bin/pax/gen_subs.c +++ b/bin/pax/gen_subs.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: gen_subs.c,v 1.5 1995/08/07 19:17:36 wollman Exp $ + * $Id: gen_subs.c,v 1.6 1995/10/23 21:23:14 ache Exp $ */ #ifndef lint diff --git a/bin/pax/options.c b/bin/pax/options.c index 53a9ad6b06a29..df0294e37c5d6 100644 --- a/bin/pax/options.c +++ b/bin/pax/options.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: options.c,v 1.3 1995/03/19 13:28:53 joerg Exp $ + * $Id: options.c,v 1.4 1995/10/23 21:23:16 ache Exp $ */ #ifndef lint diff --git a/bin/pax/options.h b/bin/pax/options.h index df1bd7daac415..675a78c9af246 100644 --- a/bin/pax/options.h +++ b/bin/pax/options.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)options.h 8.2 (Berkeley) 4/18/94 - * $Id$ + * $Id: options.h,v 1.2 1994/09/24 02:56:24 davidg Exp $ */ /* diff --git a/bin/pax/pat_rep.c b/bin/pax/pat_rep.c index 451a9dfc0a2fe..98dfdd14f9900 100644 --- a/bin/pax/pat_rep.c +++ b/bin/pax/pat_rep.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pat_rep.c,v 1.4 1995/05/30 00:06:59 rgrimes Exp $ + * $Id: pat_rep.c,v 1.5 1995/10/23 21:23:17 ache Exp $ */ #ifndef lint diff --git a/bin/pax/pat_rep.h b/bin/pax/pat_rep.h index e994a33cb6ed4..ee5165496547c 100644 --- a/bin/pax/pat_rep.h +++ b/bin/pax/pat_rep.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)pat_rep.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: pat_rep.h,v 1.2 1994/09/24 02:56:25 davidg Exp $ */ /* diff --git a/bin/pax/pax.1 b/bin/pax/pax.1 index 939f03338df13..8fe6b49538a24 100644 --- a/bin/pax/pax.1 +++ b/bin/pax/pax.1 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pax.1 8.4 (Berkeley) 4/18/94 -.\" $Id: pax.1,v 1.2 1994/09/24 02:56:26 davidg Exp $ +.\" $Id: pax.1,v 1.3 1995/08/16 23:12:25 nate Exp $ .\" .Dd April 18, 1994 .Dt PAX 1 diff --git a/bin/pax/pax.c b/bin/pax/pax.c index 590072c9e90d0..31ccc915000bf 100644 --- a/bin/pax/pax.c +++ b/bin/pax/pax.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pax.c,v 1.4 1995/10/23 21:23:19 ache Exp $ + * $Id: pax.c,v 1.5 1996/08/11 16:59:27 ache Exp $ */ #ifndef lint diff --git a/bin/pax/pax.h b/bin/pax/pax.h index d6fe02c26c183..e6fd5a29c91ef 100644 --- a/bin/pax/pax.h +++ b/bin/pax/pax.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)pax.h 8.2 (Berkeley) 4/18/94 - * $Id: pax.h,v 1.3 1995/05/30 00:07:01 rgrimes Exp $ + * $Id: pax.h,v 1.4 1995/06/26 06:24:24 bde Exp $ */ /* diff --git a/bin/pax/sel_subs.c b/bin/pax/sel_subs.c index e759bdb58dbcd..c8d2cbc5e8470 100644 --- a/bin/pax/sel_subs.c +++ b/bin/pax/sel_subs.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sel_subs.c,v 1.2 1994/09/24 02:56:29 davidg Exp $ + * $Id: sel_subs.c,v 1.3 1995/10/23 21:23:21 ache Exp $ */ #ifndef lint diff --git a/bin/pax/sel_subs.h b/bin/pax/sel_subs.h index dbab257b3e83b..01acd79221cc5 100644 --- a/bin/pax/sel_subs.h +++ b/bin/pax/sel_subs.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)sel_subs.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: sel_subs.h,v 1.2 1994/09/24 02:56:31 davidg Exp $ */ /* diff --git a/bin/pax/tables.c b/bin/pax/tables.c index b0694176c06d4..267b1fffdf6af 100644 --- a/bin/pax/tables.c +++ b/bin/pax/tables.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: tables.c,v 1.3 1995/05/30 00:07:01 rgrimes Exp $ + * $Id: tables.c,v 1.4 1995/10/23 21:23:23 ache Exp $ */ #ifndef lint diff --git a/bin/pax/tables.h b/bin/pax/tables.h index d7ff769fdb9ba..3596a35999749 100644 --- a/bin/pax/tables.h +++ b/bin/pax/tables.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)tables.h 8.1 (Berkeley) 5/31/93 - * $Id: tables.h,v 1.2 1994/09/24 02:56:35 davidg Exp $ + * $Id: tables.h,v 1.3 1995/05/30 00:07:02 rgrimes Exp $ */ /* diff --git a/bin/pax/tar.c b/bin/pax/tar.c index a88f6585c0907..4c860bdabc593 100644 --- a/bin/pax/tar.c +++ b/bin/pax/tar.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: tar.c,v 1.3 1995/05/30 00:07:03 rgrimes Exp $ + * $Id: tar.c,v 1.4 1995/10/23 21:23:25 ache Exp $ */ #ifndef lint diff --git a/bin/pax/tar.h b/bin/pax/tar.h index 5533a0777e6da..f9b7db8f5aabe 100644 --- a/bin/pax/tar.h +++ b/bin/pax/tar.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)tar.h 8.2 (Berkeley) 4/18/94 - * $Id$ + * $Id: tar.h,v 1.2 1994/09/24 02:56:38 davidg Exp $ */ /* diff --git a/bin/pax/tty_subs.c b/bin/pax/tty_subs.c index 0c47facdca904..1fcb232d3e3e9 100644 --- a/bin/pax/tty_subs.c +++ b/bin/pax/tty_subs.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: tty_subs.c,v 1.2 1994/09/24 02:56:38 davidg Exp $ + * $Id: tty_subs.c,v 1.3 1995/10/23 21:23:27 ache Exp $ */ #ifndef lint diff --git a/bin/ps/Makefile b/bin/ps/Makefile index d7d3094bb65fd..ee601c8ccc944 100644 --- a/bin/ps/Makefile +++ b/bin/ps/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/2/93 -# $Id: Makefile,v 1.5 1995/04/15 03:31:19 davidg Exp $ +# $Id: Makefile,v 1.6 1995/10/25 15:07:38 torstenb Exp $ PROG= ps SRCS= fmt.c keyword.c nlist.c print.c ps.c diff --git a/bin/ps/devname.c b/bin/ps/devname.c index 0aedb2b293be7..cce23d14ef335 100644 --- a/bin/ps/devname.c +++ b/bin/ps/devname.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: devname.c,v 1.2 1994/09/24 02:56:41 davidg Exp $ */ #if defined(LIBC_SCCS) && !defined(lint) diff --git a/bin/ps/extern.h b/bin/ps/extern.h index 0dbda2fc0f7de..cf2035dd5dea2 100644 --- a/bin/ps/extern.h +++ b/bin/ps/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.3 (Berkeley) 4/2/94 - * $Id: extern.h,v 1.2 1994/09/24 02:56:42 davidg Exp $ + * $Id: extern.h,v 1.3 1996/10/21 07:30:23 peter Exp $ */ struct kinfo; diff --git a/bin/ps/fmt.c b/bin/ps/fmt.c index d259fef8b4c6c..d2578af9e00b9 100644 --- a/bin/ps/fmt.c +++ b/bin/ps/fmt.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: fmt.c,v 1.6 1995/10/23 21:03:40 ache Exp $ + * $Id: fmt.c,v 1.6.2.1 1997/03/10 19:10:52 guido Exp $ */ #ifndef lint diff --git a/bin/ps/keyword.c b/bin/ps/keyword.c index 16cb8dd32a726..ee908f3543c73 100644 --- a/bin/ps/keyword.c +++ b/bin/ps/keyword.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: keyword.c,v 1.8 1995/10/28 20:11:15 phk Exp $ + * $Id: keyword.c,v 1.9 1996/07/31 09:27:23 davidg Exp $ */ #ifndef lint diff --git a/bin/ps/nlist.c b/bin/ps/nlist.c index 293a6273aaf0f..b41ecd4e4f786 100644 --- a/bin/ps/nlist.c +++ b/bin/ps/nlist.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: nlist.c,v 1.4 1994/10/02 08:33:29 davidg Exp $ + * $Id: nlist.c,v 1.5 1994/11/24 13:13:55 davidg Exp $ */ #ifndef lint diff --git a/bin/ps/print.c b/bin/ps/print.c index 0d5a09ff74a17..bf13a9868995c 100644 --- a/bin/ps/print.c +++ b/bin/ps/print.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: print.c,v 1.15 1996/06/29 10:25:31 peter Exp $ + * $Id: print.c,v 1.16 1996/10/21 07:30:24 peter Exp $ */ #ifndef lint diff --git a/bin/ps/ps.1 b/bin/ps/ps.1 index e9bbf9fdc0d42..ca926f8dfb2ec 100644 --- a/bin/ps/ps.1 +++ b/bin/ps/ps.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $Id: ps.1,v 1.10 1996/07/03 22:17:28 mpp Exp $ +.\" $Id: ps.1,v 1.11 1996/10/21 07:30:25 peter Exp $ .\" .Dd April 18, 1994 .Dt PS 1 diff --git a/bin/ps/ps.c b/bin/ps/ps.c index 0a91a8eb6fc37..0711f78929c12 100644 --- a/bin/ps/ps.c +++ b/bin/ps/ps.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ps.c,v 1.13 1996/10/21 07:30:26 peter Exp $ + * $Id: ps.c,v 1.13.2.1 1996/11/11 21:23:15 phk Exp $ */ #ifndef lint diff --git a/bin/ps/ps.h b/bin/ps/ps.h index d1b84333ec01e..3f5ed2b9aee2f 100644 --- a/bin/ps/ps.h +++ b/bin/ps/ps.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ps.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: ps.h,v 1.2 1994/09/24 02:56:48 davidg Exp $ */ #define UNLIMITED 0 /* unlimited terminal width */ diff --git a/bin/pwd/Makefile b/bin/pwd/Makefile index 4937fb391932b..ef1af5ed6877a 100644 --- a/bin/pwd/Makefile +++ b/bin/pwd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:56:50 davidg Exp $ PROG= pwd diff --git a/bin/pwd/pwd.1 b/bin/pwd/pwd.1 index a922d12ae817d..039fa9e9e4b2c 100644 --- a/bin/pwd/pwd.1 +++ b/bin/pwd/pwd.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pwd.1 8.2 (Berkeley) 4/28/95 -.\" $Id: pwd.1,v 1.5 1997/02/22 14:05:15 peter Exp $ +.\" $Id: pwd.1,v 1.2.8.1 1997/02/28 07:54:40 mpp Exp $ .\" .Dd April 28, 1995 .Dt PWD 1 diff --git a/bin/pwd/pwd.c b/bin/pwd/pwd.c index 4cb2d1923e7f8..5fa2d77e079d9 100644 --- a/bin/pwd/pwd.c +++ b/bin/pwd/pwd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: pwd.c,v 1.2 1994/09/24 02:56:52 davidg Exp $ */ #ifndef lint diff --git a/bin/rcp/Makefile b/bin/rcp/Makefile index 06e2fe0bd260a..bf37d058a3daa 100644 --- a/bin/rcp/Makefile +++ b/bin/rcp/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 7/19/93 -# $Id: Makefile,v 1.4 1994/09/29 13:06:00 csgr Exp $ +# $Id: Makefile,v 1.5 1994/11/20 23:18:15 wollman Exp $ PROG= rcp SRCS= rcp.c util.c diff --git a/bin/rcp/extern.h b/bin/rcp/extern.h index ef055c4c7f477..ce959acd4ec07 100644 --- a/bin/rcp/extern.h +++ b/bin/rcp/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: extern.h,v 1.2 1994/09/24 02:56:54 davidg Exp $ */ typedef struct { diff --git a/bin/rcp/pathnames.h b/bin/rcp/pathnames.h index 39158f0d49ca1..41ef6b9bc6905 100644 --- a/bin/rcp/pathnames.h +++ b/bin/rcp/pathnames.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: pathnames.h,v 1.2 1994/09/24 02:56:55 davidg Exp $ */ #include <paths.h> diff --git a/bin/rcp/rcp.1 b/bin/rcp/rcp.1 index 51c7d41cd3a58..37cca61a753c8 100644 --- a/bin/rcp/rcp.1 +++ b/bin/rcp/rcp.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rcp.1 8.1 (Berkeley) 5/31/93 -.\" $Id: rcp.1,v 1.5 1997/02/22 14:05:21 peter Exp $ +.\" $Id: rcp.1,v 1.2.8.1 1997/02/28 07:54:41 mpp Exp $ .\" .Dd May 31, 1993 .Dt RCP 1 diff --git a/bin/rcp/rcp.c b/bin/rcp/rcp.c index d23f451c71533..987c66c7b76e1 100644 --- a/bin/rcp/rcp.c +++ b/bin/rcp/rcp.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rcp.c,v 1.7 1996/02/11 09:01:32 markm Exp $ + * $Id: rcp.c,v 1.8 1996/09/20 04:45:59 nate Exp $ */ #ifndef lint diff --git a/bin/rcp/util.c b/bin/rcp/util.c index 099d2f9f2a54f..af356d7f8a704 100644 --- a/bin/rcp/util.c +++ b/bin/rcp/util.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: util.c,v 1.3 1995/03/19 13:29:16 joerg Exp $ + * $Id: util.c,v 1.4 1995/05/30 00:07:07 rgrimes Exp $ */ #ifndef lint diff --git a/bin/rm/Makefile b/bin/rm/Makefile index b7e1d5894cb94..9a534293f2468 100644 --- a/bin/rm/Makefile +++ b/bin/rm/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id: Makefile,v 1.2 1994/09/24 02:56:59 davidg Exp $ +# $Id: Makefile,v 1.3 1995/04/13 13:35:07 ache Exp $ PROG= rm SRCS= rm.c stat_flags.c diff --git a/bin/rm/rm.1 b/bin/rm/rm.1 index 7732931e81f38..ec666028afc34 100644 --- a/bin/rm/rm.1 +++ b/bin/rm/rm.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rm.1 8.2 (Berkeley) 4/18/94 -.\" $Id: rm.1,v 1.3 1996/03/07 23:26:58 wosch Exp $ +.\" $Id: rm.1,v 1.4 1996/08/29 18:06:07 wosch Exp $ .\" .Dd April 18, 1994 .Dt RM 1 diff --git a/bin/rm/rm.c b/bin/rm/rm.c index a58427daf83ee..e710ae51c4a9c 100644 --- a/bin/rm/rm.c +++ b/bin/rm/rm.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rm.c,v 1.10 1996/02/19 05:57:22 pst Exp $ + * $Id: rm.c,v 1.11 1996/03/07 23:26:59 wosch Exp $ */ #ifndef lint diff --git a/bin/rmail/Makefile b/bin/rmail/Makefile index ca3c69c2ea1df..f118add146760 100644 --- a/bin/rmail/Makefile +++ b/bin/rmail/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id: Makefile,v 1.3 1994/09/24 02:57:03 davidg Exp $ +# $Id: Makefile,v 1.4 1995/03/05 08:27:14 joerg Exp $ PROG= rmail MAN8= rmail.8 diff --git a/bin/rmail/rmail.8 b/bin/rmail/rmail.8 index dba93188e6081..2bb0c1a9751b8 100644 --- a/bin/rmail/rmail.8 +++ b/bin/rmail/rmail.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rmail.8 6.10 (Berkeley) 4/29/93 -.\" $Id: rmail.8,v 1.5 1997/02/22 14:05:30 peter Exp $ +.\" $Id: rmail.8,v 1.2.8.1 1997/02/28 07:54:43 mpp Exp $ .\" .Dd April 29, 1993 .Dt RMAIL 8 diff --git a/bin/rmail/rmail.c b/bin/rmail/rmail.c index b45ec457682e7..7bc90b1179da2 100644 --- a/bin/rmail/rmail.c +++ b/bin/rmail/rmail.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rmail.c,v 1.5 1995/05/30 00:07:08 rgrimes Exp $ + * $Id: rmail.c,v 1.6 1995/09/16 18:52:51 pst Exp $ */ #ifndef lint diff --git a/bin/rmdir/Makefile b/bin/rmdir/Makefile index 4bedbff9d4782..76befda8dcf1f 100644 --- a/bin/rmdir/Makefile +++ b/bin/rmdir/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:57:09 davidg Exp $ PROG= rmdir diff --git a/bin/rmdir/rmdir.1 b/bin/rmdir/rmdir.1 index 30d0fa54744ce..607a7954b9e2d 100644 --- a/bin/rmdir/rmdir.1 +++ b/bin/rmdir/rmdir.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rmdir.1 8.1 (Berkeley) 5/31/93 -.\" $Id: rmdir.1,v 1.2 1994/09/24 02:57:11 davidg Exp $ +.\" $Id: rmdir.1,v 1.3 1996/08/29 18:06:08 wosch Exp $ .\" .Dd May 31, 1993 .Dt RMDIR 1 diff --git a/bin/rmdir/rmdir.c b/bin/rmdir/rmdir.c index e47cbb2bdba1b..6bd13df3dcd7c 100644 --- a/bin/rmdir/rmdir.c +++ b/bin/rmdir/rmdir.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: rmdir.c,v 1.2 1994/09/24 02:57:13 davidg Exp $ */ #ifndef lint diff --git a/bin/sh/Makefile b/bin/sh/Makefile index 48905f0f18d9c..f534f643173ab 100644 --- a/bin/sh/Makefile +++ b/bin/sh/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.4 (Berkeley) 5/5/95 -# $Id: Makefile,v 1.14 1996/09/01 10:27:49 peter Exp $ +# $Id: Makefile,v 1.15 1996/10/25 14:49:24 bde Exp $ PROG= sh SHSRCS= alias.c cd.c echo.c error.c eval.c exec.c expand.c \ diff --git a/bin/sh/TOUR b/bin/sh/TOUR index 44e84901780a1..0adb2a0c29127 100644 --- a/bin/sh/TOUR +++ b/bin/sh/TOUR @@ -1,5 +1,5 @@ # @(#)TOUR 8.1 (Berkeley) 5/31/93 -# $Id: TOUR,v 1.2 1994/09/24 02:57:19 davidg Exp $ +# $Id: TOUR,v 1.3 1996/09/01 10:19:22 peter Exp $ NOTE -- This is the original TOUR paper distributed with ash and does not represent the current state of the shell. It is provided anyway diff --git a/bin/sh/alias.c b/bin/sh/alias.c index d6ae73021a795..50e492efd2de1 100644 --- a/bin/sh/alias.c +++ b/bin/sh/alias.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: alias.c,v 1.3 1995/05/30 00:07:10 rgrimes Exp $ + * $Id: alias.c,v 1.4 1996/09/01 10:19:26 peter Exp $ */ #ifndef lint diff --git a/bin/sh/alias.h b/bin/sh/alias.h index 7abaccf7ba9bf..fae125ce5d1b8 100644 --- a/bin/sh/alias.h +++ b/bin/sh/alias.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)alias.h 8.2 (Berkeley) 5/4/95 - * $Id: alias.h,v 1.2 1994/09/24 02:57:20 davidg Exp $ + * $Id: alias.h,v 1.3 1996/09/01 10:19:29 peter Exp $ */ #define ALIASINUSE 1 diff --git a/bin/sh/arith.h b/bin/sh/arith.h index 34eb73c192515..8fa5308329669 100644 --- a/bin/sh/arith.h +++ b/bin/sh/arith.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)arith.h 1.1 (Berkeley) 5/4/95 - * $Id$ + * $Id: arith.h,v 1.2 1996/09/01 10:19:35 peter Exp $ */ int arith __P((char *)); diff --git a/bin/sh/arith.y b/bin/sh/arith.y index 0a08dc50d6b72..0a47a849a21b6 100644 --- a/bin/sh/arith.y +++ b/bin/sh/arith.y @@ -88,7 +88,7 @@ expr: ARITH_LPAREN expr ARITH_RPAREN = { $$ = $2; } * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: arith.y,v 1.2 1994/09/24 02:57:21 davidg Exp $ + * $Id: arith.y,v 1.3 1996/09/01 10:19:38 peter Exp $ */ #ifndef lint diff --git a/bin/sh/arith_lex.l b/bin/sh/arith_lex.l index 61f21daa98573..cd936de6b8cc6 100644 --- a/bin/sh/arith_lex.l +++ b/bin/sh/arith_lex.l @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: arith_lex.l,v 1.4 1996/06/02 17:06:40 phk Exp $ + * $Id: arith_lex.l,v 1.5 1996/09/01 10:19:41 peter Exp $ */ #ifndef lint diff --git a/bin/sh/bltin/bltin.h b/bin/sh/bltin/bltin.h index 7745dac6b9ae4..6f5c65b1983e3 100644 --- a/bin/sh/bltin/bltin.h +++ b/bin/sh/bltin/bltin.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)bltin.h 8.2 (Berkeley) 5/4/95 - * $Id: bltin.h,v 1.4 1995/12/14 23:19:36 bde Exp $ + * $Id: bltin.h,v 1.5 1996/09/01 10:22:13 peter Exp $ */ /* diff --git a/bin/sh/bltin/echo.1 b/bin/sh/bltin/echo.1 index c5a1b424f253a..21718d0303366 100644 --- a/bin/sh/bltin/echo.1 +++ b/bin/sh/bltin/echo.1 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)echo.1 8.2 (Berkeley) 5/4/95 -.\" $Id: echo.1,v 1.3 1996/09/01 10:22:15 peter Exp $ +.\" $Id: echo.1,v 1.4 1996/09/03 14:16:06 peter Exp $ .\" .Dd May 4, 1995 .Dt ECHO 1 diff --git a/bin/sh/bltin/echo.c b/bin/sh/bltin/echo.c index 7c6e0f160ce7f..fe8a3112baab7 100644 --- a/bin/sh/bltin/echo.c +++ b/bin/sh/bltin/echo.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)echo.c 8.2 (Berkeley) 5/4/95 - * $Id: echo.c,v 1.3 1995/08/23 05:31:06 pst Exp $ + * $Id: echo.c,v 1.4 1996/09/01 10:22:16 peter Exp $ */ /* diff --git a/bin/sh/builtins.def b/bin/sh/builtins.def index c9db726d83e85..b8cde39751329 100644 --- a/bin/sh/builtins.def +++ b/bin/sh/builtins.def @@ -35,7 +35,7 @@ # SUCH DAMAGE. # # @(#)builtins.def 8.4 (Berkeley) 5/4/95 -# $Id: builtins.def,v 1.2 1996/09/01 10:19:44 peter Exp $ +# $Id: builtins.def,v 1.3 1996/10/01 04:59:13 peter Exp $ # # This file lists all the builtin commands. The first column is the name diff --git a/bin/sh/cd.c b/bin/sh/cd.c index 34d1bd230be01..bcd417ea8f198 100644 --- a/bin/sh/cd.c +++ b/bin/sh/cd.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cd.c,v 1.5 1995/11/14 01:04:52 peter Exp $ + * $Id: cd.c,v 1.6 1996/09/01 10:19:47 peter Exp $ */ #ifndef lint diff --git a/bin/sh/error.c b/bin/sh/error.c index 9bd94ca456953..d628b7fd62130 100644 --- a/bin/sh/error.c +++ b/bin/sh/error.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: error.c,v 1.4 1996/09/01 10:19:53 peter Exp $ + * $Id: error.c,v 1.5 1996/09/03 14:15:46 peter Exp $ */ #ifndef lint diff --git a/bin/sh/error.h b/bin/sh/error.h index fb26f1e4a5ffe..e39aaac71ee02 100644 --- a/bin/sh/error.h +++ b/bin/sh/error.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)error.h 8.2 (Berkeley) 5/4/95 - * $Id: error.h,v 1.3 1996/09/01 10:19:55 peter Exp $ + * $Id: error.h,v 1.4 1996/09/03 14:15:48 peter Exp $ */ /* diff --git a/bin/sh/eval.c b/bin/sh/eval.c index 04dd46dcd1b89..3fbd92bf94e4b 100644 --- a/bin/sh/eval.c +++ b/bin/sh/eval.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: eval.c,v 1.8 1996/11/12 18:35:06 peter Exp $ + * $Id: eval.c,v 1.7.2.1 1996/11/12 19:23:44 jkh Exp $ */ #ifndef lint diff --git a/bin/sh/eval.h b/bin/sh/eval.h index 8649bf89c5b3a..e701d605fb8da 100644 --- a/bin/sh/eval.h +++ b/bin/sh/eval.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)eval.h 8.2 (Berkeley) 5/4/95 - * $Id: eval.h,v 1.2 1994/09/24 02:57:31 davidg Exp $ + * $Id: eval.h,v 1.3 1996/09/01 10:19:59 peter Exp $ */ extern char *commandname; /* currently executing command */ diff --git a/bin/sh/exec.c b/bin/sh/exec.c index dec1eaf98dfad..5a580a18cdd64 100644 --- a/bin/sh/exec.c +++ b/bin/sh/exec.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: exec.c,v 1.5 1996/09/01 10:20:02 peter Exp $ + * $Id: exec.c,v 1.6 1996/09/03 14:15:49 peter Exp $ */ #ifndef lint diff --git a/bin/sh/exec.h b/bin/sh/exec.h index fea5bd5de27da..12c449eae072a 100644 --- a/bin/sh/exec.h +++ b/bin/sh/exec.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)exec.h 8.3 (Berkeley) 6/8/95 - * $Id: exec.h,v 1.2 1994/09/24 02:57:33 davidg Exp $ + * $Id: exec.h,v 1.3 1996/09/01 10:20:05 peter Exp $ */ /* values of cmdtype */ diff --git a/bin/sh/expand.c b/bin/sh/expand.c index ccfdabeebe9f4..92a9e06c3382d 100644 --- a/bin/sh/expand.c +++ b/bin/sh/expand.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: expand.c,v 1.11 1996/10/31 07:15:54 ache Exp $ + * $Id: expand.c,v 1.11.2.1 1997/02/22 19:31:23 joerg Exp $ */ #ifndef lint diff --git a/bin/sh/expand.h b/bin/sh/expand.h index 4d621a3567111..2296cfa140e63 100644 --- a/bin/sh/expand.h +++ b/bin/sh/expand.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)expand.h 8.2 (Berkeley) 5/4/95 - * $Id: expand.h,v 1.2 1994/09/24 02:57:35 davidg Exp $ + * $Id: expand.h,v 1.3 1996/09/01 10:20:10 peter Exp $ */ struct strlist { diff --git a/bin/sh/funcs/cmv b/bin/sh/funcs/cmv index f988753e30047..669a9e243e947 100644 --- a/bin/sh/funcs/cmv +++ b/bin/sh/funcs/cmv @@ -33,7 +33,7 @@ # SUCH DAMAGE. # # @(#)cmv 8.2 (Berkeley) 5/4/95 -# $Id: cmv,v 1.2 1994/09/24 02:58:33 davidg Exp $ +# $Id: cmv,v 1.3 1996/09/01 10:22:21 peter Exp $ # Conditional move--don't replace an existing file. diff --git a/bin/sh/funcs/dirs b/bin/sh/funcs/dirs index e9146d33f45f9..328281432bb10 100644 --- a/bin/sh/funcs/dirs +++ b/bin/sh/funcs/dirs @@ -33,7 +33,7 @@ # SUCH DAMAGE. # # @(#)dirs 8.2 (Berkeley) 5/4/95 -# $Id: dirs,v 1.2 1994/09/24 02:58:34 davidg Exp $ +# $Id: dirs,v 1.3 1996/09/01 10:22:23 peter Exp $ # pushd, popd, and dirs --- written by Chris Bertin # Pixel Computer Inc. ...!wjh12!pixel!pixutl!chris diff --git a/bin/sh/funcs/kill b/bin/sh/funcs/kill index 4de6d8f2f2655..6bcaa5eae755e 100644 --- a/bin/sh/funcs/kill +++ b/bin/sh/funcs/kill @@ -33,7 +33,7 @@ # SUCH DAMAGE. # # @(#)kill 8.2 (Berkeley) 5/4/95 -# $Id: kill,v 1.2 1994/09/24 02:58:36 davidg Exp $ +# $Id: kill,v 1.3 1996/09/01 10:22:25 peter Exp $ # Convert job names to process ids and then run /bin/kill. diff --git a/bin/sh/funcs/login b/bin/sh/funcs/login index 52f41f1cf3510..7af85fc18da01 100644 --- a/bin/sh/funcs/login +++ b/bin/sh/funcs/login @@ -33,7 +33,7 @@ # SUCH DAMAGE. # # @(#)login 8.2 (Berkeley) 5/4/95 -# $Id: login,v 1.2 1994/09/24 02:58:38 davidg Exp $ +# $Id: login,v 1.3 1996/09/01 10:22:27 peter Exp $ # replaces the login builtin in the BSD shell login () exec login "$@" diff --git a/bin/sh/funcs/newgrp b/bin/sh/funcs/newgrp index ba538fa41bd43..1a5bbfe42ddc9 100644 --- a/bin/sh/funcs/newgrp +++ b/bin/sh/funcs/newgrp @@ -33,6 +33,6 @@ # SUCH DAMAGE. # # @(#)newgrp 8.2 (Berkeley) 5/4/95 -# $Id: newgrp,v 1.2 1994/09/24 02:58:40 davidg Exp $ +# $Id: newgrp,v 1.3 1996/09/01 10:22:29 peter Exp $ newgrp() exec newgrp "$@" diff --git a/bin/sh/funcs/popd b/bin/sh/funcs/popd index f39a7103ab68c..1bb4229309095 100644 --- a/bin/sh/funcs/popd +++ b/bin/sh/funcs/popd @@ -33,7 +33,7 @@ # SUCH DAMAGE. # # @(#)popd 8.2 (Berkeley) 5/4/95 -# $Id: popd,v 1.2 1994/09/24 02:58:41 davidg Exp $ +# $Id: popd,v 1.3 1996/09/01 10:22:32 peter Exp $ # pushd, popd, and dirs --- written by Chris Bertin # Pixel Computer Inc. ...!wjh12!pixel!pixutl!chris diff --git a/bin/sh/funcs/pushd b/bin/sh/funcs/pushd index a82371322202a..856e3c8367a8b 100644 --- a/bin/sh/funcs/pushd +++ b/bin/sh/funcs/pushd @@ -33,7 +33,7 @@ # SUCH DAMAGE. # # @(#)pushd 8.2 (Berkeley) 5/4/95 -# $Id: pushd,v 1.2 1994/09/24 02:58:43 davidg Exp $ +# $Id: pushd,v 1.3 1996/09/01 10:22:34 peter Exp $ # pushd, popd, and dirs --- written by Chris Bertin # Pixel Computer Inc. ...!wjh12!pixel!pixutl!chris diff --git a/bin/sh/funcs/suspend b/bin/sh/funcs/suspend index e68564efb11f7..6c12eb8ba699f 100644 --- a/bin/sh/funcs/suspend +++ b/bin/sh/funcs/suspend @@ -33,7 +33,7 @@ # SUCH DAMAGE. # # @(#)suspend 8.2 (Berkeley) 5/4/95 -# $Id: suspend,v 1.2 1994/09/24 02:58:44 davidg Exp $ +# $Id: suspend,v 1.3 1996/09/01 10:22:36 peter Exp $ suspend() { local - diff --git a/bin/sh/histedit.c b/bin/sh/histedit.c index 6d5e2808bbd7c..4fb1b18a208ab 100644 --- a/bin/sh/histedit.c +++ b/bin/sh/histedit.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: histedit.c,v 1.5 1996/09/01 10:20:12 peter Exp $ + * $Id: histedit.c,v 1.6 1996/09/03 13:35:09 peter Exp $ */ #ifndef lint diff --git a/bin/sh/init.h b/bin/sh/init.h index eff47ef7893b1..a84d684f734c5 100644 --- a/bin/sh/init.h +++ b/bin/sh/init.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)init.h 8.2 (Berkeley) 5/4/95 - * $Id: init.h,v 1.2 1994/09/24 02:57:37 davidg Exp $ + * $Id: init.h,v 1.3 1996/09/01 10:20:15 peter Exp $ */ void init __P((void)); diff --git a/bin/sh/input.c b/bin/sh/input.c index e1c530ccb9ae7..04b0569dabee1 100644 --- a/bin/sh/input.c +++ b/bin/sh/input.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: input.c,v 1.5 1996/09/01 10:20:18 peter Exp $ + * $Id: input.c,v 1.6 1996/09/03 14:15:50 peter Exp $ */ #ifndef lint diff --git a/bin/sh/input.h b/bin/sh/input.h index b90725a5a2e4a..99522d9f3e23b 100644 --- a/bin/sh/input.h +++ b/bin/sh/input.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)input.h 8.2 (Berkeley) 5/4/95 - * $Id: input.h,v 1.2 1994/09/24 02:57:40 davidg Exp $ + * $Id: input.h,v 1.3 1996/09/01 10:20:21 peter Exp $ */ /* PEOF (the end of file marker) is defined in syntax.h */ diff --git a/bin/sh/jobs.c b/bin/sh/jobs.c index 808849405b600..cdf60afc07593 100644 --- a/bin/sh/jobs.c +++ b/bin/sh/jobs.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: jobs.c,v 1.8 1996/10/16 02:30:39 steve Exp $ + * $Id: jobs.c,v 1.8.2.1 1997/01/12 21:58:49 joerg Exp $ */ #ifndef lint diff --git a/bin/sh/jobs.h b/bin/sh/jobs.h index fa42549f1f8dc..28642d1f19365 100644 --- a/bin/sh/jobs.h +++ b/bin/sh/jobs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)jobs.h 8.2 (Berkeley) 5/4/95 - * $Id: jobs.h,v 1.2 1994/09/24 02:57:42 davidg Exp $ + * $Id: jobs.h,v 1.3 1996/09/01 10:20:27 peter Exp $ */ /* Mode argument to forkshell. Don't change FORK_FG or FORK_BG. */ diff --git a/bin/sh/machdep.h b/bin/sh/machdep.h index 2f2aea0450958..767939f3da5d3 100644 --- a/bin/sh/machdep.h +++ b/bin/sh/machdep.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)machdep.h 8.2 (Berkeley) 5/4/95 - * $Id: machdep.h,v 1.2 1994/09/24 02:57:43 davidg Exp $ + * $Id: machdep.h,v 1.3 1996/09/01 10:20:32 peter Exp $ */ /* diff --git a/bin/sh/mail.c b/bin/sh/mail.c index 8b747c2d33b58..56d1a90bf4270 100644 --- a/bin/sh/mail.c +++ b/bin/sh/mail.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mail.c,v 1.2 1994/09/24 02:57:44 davidg Exp $ + * $Id: mail.c,v 1.3 1996/09/01 10:20:35 peter Exp $ */ #ifndef lint diff --git a/bin/sh/mail.h b/bin/sh/mail.h index 644d8087106c7..84991f4f3a2c8 100644 --- a/bin/sh/mail.h +++ b/bin/sh/mail.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)mail.h 8.2 (Berkeley) 5/4/95 - * $Id: mail.h,v 1.2 1994/09/24 02:57:45 davidg Exp $ + * $Id: mail.h,v 1.3 1996/09/01 10:20:37 peter Exp $ */ void chkmail __P((int)); diff --git a/bin/sh/main.c b/bin/sh/main.c index f392c124e2de6..f15de49960698 100644 --- a/bin/sh/main.c +++ b/bin/sh/main.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: main.c,v 1.8 1996/09/12 12:41:46 adam Exp $ + * $Id: main.c,v 1.9 1996/10/29 03:12:47 steve Exp $ */ #ifndef lint diff --git a/bin/sh/main.h b/bin/sh/main.h index 611f00ad2e2e5..f651723996f6c 100644 --- a/bin/sh/main.h +++ b/bin/sh/main.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)main.h 8.2 (Berkeley) 5/4/95 - * $Id: main.h,v 1.2 1994/09/24 02:57:49 davidg Exp $ + * $Id: main.h,v 1.3 1996/09/01 10:20:40 peter Exp $ */ extern int rootpid; /* pid of main shell */ diff --git a/bin/sh/memalloc.c b/bin/sh/memalloc.c index adaf1fe001f32..d484e3fdb238a 100644 --- a/bin/sh/memalloc.c +++ b/bin/sh/memalloc.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: memalloc.c,v 1.3 1996/09/01 10:20:42 peter Exp $ + * $Id: memalloc.c,v 1.4 1996/09/03 14:15:53 peter Exp $ */ #ifndef lint diff --git a/bin/sh/memalloc.h b/bin/sh/memalloc.h index c7f101e9b44d3..5488692bb24cc 100644 --- a/bin/sh/memalloc.h +++ b/bin/sh/memalloc.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)memalloc.h 8.2 (Berkeley) 5/4/95 - * $Id: memalloc.h,v 1.2 1994/09/24 02:57:51 davidg Exp $ + * $Id: memalloc.h,v 1.3 1996/09/01 10:20:44 peter Exp $ */ struct stackmark { diff --git a/bin/sh/miscbltin.c b/bin/sh/miscbltin.c index 60311dd319f73..ce43d0e3ebc3c 100644 --- a/bin/sh/miscbltin.c +++ b/bin/sh/miscbltin.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: miscbltin.c,v 1.7 1996/09/03 14:15:54 peter Exp $ + * $Id: miscbltin.c,v 1.8 1996/09/03 14:24:44 peter Exp $ */ #ifndef lint diff --git a/bin/sh/mkbuiltins b/bin/sh/mkbuiltins index 7c610d5c410fe..61447f7f4c099 100755 --- a/bin/sh/mkbuiltins +++ b/bin/sh/mkbuiltins @@ -35,7 +35,7 @@ # SUCH DAMAGE. # # @(#)mkbuiltins 8.2 (Berkeley) 5/4/95 -# $Id: mkbuiltins,v 1.4 1996/06/24 04:22:22 jkh Exp $ +# $Id: mkbuiltins,v 1.5 1996/09/01 10:20:48 peter Exp $ temp=/tmp/ka$$ havejobs=0 diff --git a/bin/sh/mkinit.c b/bin/sh/mkinit.c index 6afe6018b02c9..cb97cb44ef8b7 100644 --- a/bin/sh/mkinit.c +++ b/bin/sh/mkinit.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mkinit.c,v 1.5 1995/10/01 15:13:31 joerg Exp $ + * $Id: mkinit.c,v 1.6 1996/09/01 10:20:50 peter Exp $ */ #ifndef lint diff --git a/bin/sh/mknodes.c b/bin/sh/mknodes.c index f2fcf364aab74..f2e3df4ff3634 100644 --- a/bin/sh/mknodes.c +++ b/bin/sh/mknodes.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mknodes.c,v 1.3 1996/09/01 10:20:51 peter Exp $ + * $Id: mknodes.c,v 1.4 1996/09/03 13:35:11 peter Exp $ */ #ifndef lint diff --git a/bin/sh/mksyntax.c b/bin/sh/mksyntax.c index 5b6a30e374263..ec8f51122ce74 100644 --- a/bin/sh/mksyntax.c +++ b/bin/sh/mksyntax.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mksyntax.c,v 1.5 1996/08/12 22:14:47 ache Exp $ + * $Id: mksyntax.c,v 1.6 1996/09/01 10:20:56 peter Exp $ */ #ifndef lint diff --git a/bin/sh/mktokens b/bin/sh/mktokens index 375ff8e99209c..3d986b20ec814 100644 --- a/bin/sh/mktokens +++ b/bin/sh/mktokens @@ -35,7 +35,7 @@ # SUCH DAMAGE. # # @(#)mktokens 8.1 (Berkeley) 5/31/93 -# $Id: mktokens,v 1.2 1994/09/24 02:57:58 davidg Exp $ +# $Id: mktokens,v 1.3 1996/09/01 10:20:58 peter Exp $ # The following is a list of tokens. The second column is nonzero if the # token marks the end of a list. The third column is the name to print in diff --git a/bin/sh/myhistedit.h b/bin/sh/myhistedit.h index 3f693817956b2..d5c6ddb5ac239 100644 --- a/bin/sh/myhistedit.h +++ b/bin/sh/myhistedit.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)myhistedit.h 8.2 (Berkeley) 5/4/95 - * $Id: myhistedit.h,v 1.2 1994/09/24 02:57:59 davidg Exp $ + * $Id: myhistedit.h,v 1.3 1996/09/01 10:21:00 peter Exp $ */ #include <histedit.h> diff --git a/bin/sh/mystring.c b/bin/sh/mystring.c index ab7ea92a079b4..8b701b37b0bad 100644 --- a/bin/sh/mystring.c +++ b/bin/sh/mystring.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mystring.c,v 1.3 1996/09/01 10:21:03 peter Exp $ + * $Id: mystring.c,v 1.4 1996/09/03 14:15:55 peter Exp $ */ #ifndef lint diff --git a/bin/sh/mystring.h b/bin/sh/mystring.h index a1caa065708bf..a1105a666b409 100644 --- a/bin/sh/mystring.h +++ b/bin/sh/mystring.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)mystring.h 8.2 (Berkeley) 5/4/95 - * $Id: mystring.h,v 1.2 1994/09/24 02:58:00 davidg Exp $ + * $Id: mystring.h,v 1.3 1996/09/01 10:21:05 peter Exp $ */ #include <string.h> diff --git a/bin/sh/nodes.c.pat b/bin/sh/nodes.c.pat index 739616d46568f..bcea35e3479ce 100644 --- a/bin/sh/nodes.c.pat +++ b/bin/sh/nodes.c.pat @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nodes.c.pat 8.2 (Berkeley) 5/4/95 - * $Id: nodes.c.pat,v 1.2 1994/09/24 02:58:02 davidg Exp $ + * $Id: nodes.c.pat,v 1.3 1996/09/01 10:21:08 peter Exp $ */ #include <stdlib.h> diff --git a/bin/sh/nodetypes b/bin/sh/nodetypes index a2b12bfaec241..5f1b5bfc371ae 100644 --- a/bin/sh/nodetypes +++ b/bin/sh/nodetypes @@ -34,7 +34,7 @@ # SUCH DAMAGE. # # @(#)nodetypes 8.2 (Berkeley) 5/4/95 -# $Id: nodetypes,v 1.2 1994/09/24 02:58:03 davidg Exp $ +# $Id: nodetypes,v 1.3 1996/09/01 10:21:12 peter Exp $ # This file describes the nodes used in parse trees. Unindented lines # contain a node type followed by a structure tag. Subsequent indented diff --git a/bin/sh/options.c b/bin/sh/options.c index 1a4447e095c83..9084c8631926b 100644 --- a/bin/sh/options.c +++ b/bin/sh/options.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: options.c,v 1.8 1996/10/29 03:12:48 steve Exp $ + * $Id: options.c,v 1.8.2.1 1996/12/21 21:10:25 joerg Exp $ */ #ifndef lint diff --git a/bin/sh/options.h b/bin/sh/options.h index 140c926e606ea..ecda3bc89ec1a 100644 --- a/bin/sh/options.h +++ b/bin/sh/options.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)options.h 8.2 (Berkeley) 5/4/95 - * $Id: options.h,v 1.3 1996/09/01 10:21:20 peter Exp $ + * $Id: options.h,v 1.4 1996/10/29 03:12:49 steve Exp $ */ struct shparam { diff --git a/bin/sh/output.c b/bin/sh/output.c index cc0e84d5d14c6..74994587ce80e 100644 --- a/bin/sh/output.c +++ b/bin/sh/output.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: output.c,v 1.3 1996/09/01 10:21:23 peter Exp $ + * $Id: output.c,v 1.4 1996/09/03 14:15:56 peter Exp $ */ #ifndef lint diff --git a/bin/sh/output.h b/bin/sh/output.h index 92e03b907d3e9..99ac6890cb085 100644 --- a/bin/sh/output.h +++ b/bin/sh/output.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)output.h 8.2 (Berkeley) 5/4/95 - * $Id: output.h,v 1.2 1994/09/24 02:58:08 davidg Exp $ + * $Id: output.h,v 1.3 1996/09/01 10:21:29 peter Exp $ */ #ifndef OUTPUT_INCL diff --git a/bin/sh/parser.c b/bin/sh/parser.c index 187453192b96b..ab991b915e932 100644 --- a/bin/sh/parser.c +++ b/bin/sh/parser.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: parser.c,v 1.16 1996/09/10 02:42:33 peter Exp $ */ #ifndef lint diff --git a/bin/sh/parser.h b/bin/sh/parser.h index 4bc1e9ee70b1d..3e9ff95292f54 100644 --- a/bin/sh/parser.h +++ b/bin/sh/parser.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)parser.h 8.3 (Berkeley) 5/4/95 - * $Id: parser.h,v 1.2 1994/09/24 02:58:09 davidg Exp $ + * $Id: parser.h,v 1.3 1996/09/01 10:21:34 peter Exp $ */ /* control characters in argument strings */ diff --git a/bin/sh/redir.c b/bin/sh/redir.c index ae2d335c14184..ab9ddece79245 100644 --- a/bin/sh/redir.c +++ b/bin/sh/redir.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: redir.c,v 1.4 1995/10/21 00:47:31 joerg Exp $ + * $Id: redir.c,v 1.5 1996/09/01 10:21:36 peter Exp $ */ #ifndef lint diff --git a/bin/sh/redir.h b/bin/sh/redir.h index 14acdb69d9e5b..7eef4d7e251c3 100644 --- a/bin/sh/redir.h +++ b/bin/sh/redir.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)redir.h 8.2 (Berkeley) 5/4/95 - * $Id: redir.h,v 1.2 1994/09/24 02:58:11 davidg Exp $ + * $Id: redir.h,v 1.3 1996/09/01 10:21:37 peter Exp $ */ /* flags passed to redirect */ diff --git a/bin/sh/sh.1 b/bin/sh/sh.1 index 2ca4fbd095ba5..7a82c338be9eb 100644 --- a/bin/sh/sh.1 +++ b/bin/sh/sh.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" $Id: sh.1,v 1.12 1997/02/22 13:58:43 peter Exp $ +.\" $Id: sh.1,v 1.9.2.1 1997/02/28 07:54:45 mpp Exp $ .\" .na .TH SH 1 diff --git a/bin/sh/shell.h b/bin/sh/shell.h index 043952de862a2..22491b23e945e 100644 --- a/bin/sh/shell.h +++ b/bin/sh/shell.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)shell.h 8.2 (Berkeley) 5/4/95 - * $Id: shell.h,v 1.5 1996/09/01 10:27:44 peter Exp $ + * $Id: shell.h,v 1.6 1996/10/31 07:15:57 ache Exp $ */ /* diff --git a/bin/sh/show.c b/bin/sh/show.c index 4f5d546baee86..b3b7773c59c9e 100644 --- a/bin/sh/show.c +++ b/bin/sh/show.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: show.c,v 1.3 1996/09/01 10:21:43 peter Exp $ + * $Id: show.c,v 1.4 1996/09/03 14:16:00 peter Exp $ */ #ifndef lint diff --git a/bin/sh/show.h b/bin/sh/show.h index 18ffcb6b4d0ab..a65c3942bc216 100644 --- a/bin/sh/show.h +++ b/bin/sh/show.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)show.h 1.1 (Berkeley) 5/4/95 - * $Id$ + * $Id: show.h,v 1.2 1996/09/01 10:21:45 peter Exp $ */ void showtree __P((union node *)); diff --git a/bin/sh/trap.c b/bin/sh/trap.c index ec905d77fb773..05968b324c850 100644 --- a/bin/sh/trap.c +++ b/bin/sh/trap.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: trap.c,v 1.3 1995/05/30 00:07:23 rgrimes Exp $ + * $Id: trap.c,v 1.4 1996/09/01 10:21:47 peter Exp $ */ #ifndef lint diff --git a/bin/sh/trap.h b/bin/sh/trap.h index f63af1a2a0fe2..c08e96f0e2167 100644 --- a/bin/sh/trap.h +++ b/bin/sh/trap.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)trap.h 8.3 (Berkeley) 6/5/95 - * $Id: trap.h,v 1.2 1994/09/24 02:58:20 davidg Exp $ + * $Id: trap.h,v 1.3 1996/09/01 10:21:50 peter Exp $ */ extern int pendingsigs; diff --git a/bin/sh/var.c b/bin/sh/var.c index 14de566c8cbf9..7b4632f9acef4 100644 --- a/bin/sh/var.c +++ b/bin/sh/var.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: var.c,v 1.5 1996/08/12 22:14:50 ache Exp $ + * $Id: var.c,v 1.6 1996/09/01 10:21:52 peter Exp $ */ #ifndef lint diff --git a/bin/sh/var.h b/bin/sh/var.h index c07b22ef8406f..62a0fae62034f 100644 --- a/bin/sh/var.h +++ b/bin/sh/var.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)var.h 8.2 (Berkeley) 5/4/95 - * $Id: var.h,v 1.2 1994/09/24 02:58:23 davidg Exp $ + * $Id: var.h,v 1.3 1996/09/01 10:21:54 peter Exp $ */ /* diff --git a/bin/sleep/Makefile b/bin/sleep/Makefile index 163470fb3bd04..c148da8ccacf8 100644 --- a/bin/sleep/Makefile +++ b/bin/sleep/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:58:47 davidg Exp $ PROG= sleep diff --git a/bin/sleep/sleep.1 b/bin/sleep/sleep.1 index d1b7a4898049f..c8c33b3c20d35 100644 --- a/bin/sleep/sleep.1 +++ b/bin/sleep/sleep.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)sleep.1 8.3 (Berkeley) 4/18/94 -.\" $Id: sleep.1,v 1.6 1997/02/22 14:05:44 peter Exp $ +.\" $Id: sleep.1,v 1.2.8.1 1997/02/28 07:54:48 mpp Exp $ .\" .Dd April 18, 1994 .Dt SLEEP 1 diff --git a/bin/sleep/sleep.c b/bin/sleep/sleep.c index 773abe830570b..14662b9208f29 100644 --- a/bin/sleep/sleep.c +++ b/bin/sleep/sleep.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: sleep.c,v 1.2 1994/09/24 02:58:51 davidg Exp $ */ #ifndef lint diff --git a/bin/stty/Makefile b/bin/stty/Makefile index d0b160d74b039..fdff14bcc63d5 100644 --- a/bin/stty/Makefile +++ b/bin/stty/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:58:53 davidg Exp $ PROG= stty SRCS= cchar.c gfmt.c key.c modes.c print.c stty.c util.c diff --git a/bin/stty/cchar.c b/bin/stty/cchar.c index 8b0c97004024f..fec0d204569c4 100644 --- a/bin/stty/cchar.c +++ b/bin/stty/cchar.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cchar.c,v 1.3 1995/04/28 19:29:28 ache Exp $ + * $Id: cchar.c,v 1.4 1995/05/30 00:07:25 rgrimes Exp $ */ #ifndef lint diff --git a/bin/stty/extern.h b/bin/stty/extern.h index aa7a35b13d272..be23aed5dbb7c 100644 --- a/bin/stty/extern.h +++ b/bin/stty/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: extern.h,v 1.2 1994/09/24 02:58:56 davidg Exp $ */ int c_cchars __P((const void *, const void *)); diff --git a/bin/stty/gfmt.c b/bin/stty/gfmt.c index f6ef0e15c4433..52e2bebec88f3 100644 --- a/bin/stty/gfmt.c +++ b/bin/stty/gfmt.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: gfmt.c,v 1.3 1995/03/19 13:29:23 joerg Exp $ + * $Id: gfmt.c,v 1.4 1995/05/30 00:07:26 rgrimes Exp $ */ #ifndef lint diff --git a/bin/stty/key.c b/bin/stty/key.c index 58aa60e002b20..4c5df2c825d6f 100644 --- a/bin/stty/key.c +++ b/bin/stty/key.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: key.c,v 1.4 1995/04/28 19:29:29 ache Exp $ + * $Id: key.c,v 1.4.6.1 1996/12/10 16:40:37 joerg Exp $ */ #ifndef lint diff --git a/bin/stty/modes.c b/bin/stty/modes.c index 0aa7438ae7f2b..a1f4b9d988a6b 100644 --- a/bin/stty/modes.c +++ b/bin/stty/modes.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: modes.c,v 1.2 1994/09/24 02:58:59 davidg Exp $ + * $Id: modes.c,v 1.3 1995/04/29 15:17:17 bde Exp $ */ #ifndef lint diff --git a/bin/stty/print.c b/bin/stty/print.c index 6df7fea2dc164..eb44c19496fec 100644 --- a/bin/stty/print.c +++ b/bin/stty/print.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: print.c,v 1.4 1995/04/29 15:17:16 bde Exp $ + * $Id: print.c,v 1.5 1995/05/30 00:07:27 rgrimes Exp $ */ #ifndef lint diff --git a/bin/stty/stty.1 b/bin/stty/stty.1 index f97accbe52ba0..a9bc3ba357d76 100644 --- a/bin/stty/stty.1 +++ b/bin/stty/stty.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)stty.1 8.4 (Berkeley) 4/18/94 -.\" $Id: stty.1,v 1.7 1997/03/12 15:59:22 mpp Exp $ +.\" $Id: stty.1,v 1.4.2.1 1997/03/12 16:00:05 mpp Exp $ .\" .Dd April 18, 1994 .Dt STTY 1 diff --git a/bin/stty/stty.c b/bin/stty/stty.c index 0f5e925820332..5b2d8c97eced6 100644 --- a/bin/stty/stty.c +++ b/bin/stty/stty.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: stty.c,v 1.5 1995/07/02 08:54:27 joerg Exp $ + * $Id: stty.c,v 1.6 1995/07/04 08:16:30 bde Exp $ */ #ifndef lint diff --git a/bin/stty/stty.h b/bin/stty/stty.h index 2b822d6a8fb87..115b59c712b08 100644 --- a/bin/stty/stty.h +++ b/bin/stty/stty.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)stty.h 8.1 (Berkeley) 5/31/93 - * $Id$ + * $Id: stty.h,v 1.2 1994/09/24 02:59:03 davidg Exp $ */ #include <sys/ioctl.h> diff --git a/bin/stty/util.c b/bin/stty/util.c index 036c48eb1f163..ca3b8c8b26946 100644 --- a/bin/stty/util.c +++ b/bin/stty/util.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: util.c,v 1.2 1994/09/24 02:59:05 davidg Exp $ + * $Id: util.c,v 1.3 1995/07/04 08:16:32 bde Exp $ */ #ifndef lint diff --git a/bin/sync/Makefile b/bin/sync/Makefile index 0656381fd00cb..a4d88ebb052b8 100644 --- a/bin/sync/Makefile +++ b/bin/sync/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.3 1994/09/24 02:59:07 davidg Exp $ PROG= sync MAN8= sync.8 diff --git a/bin/sync/sync.8 b/bin/sync/sync.8 index 513b7016810ca..d9900d2a57f95 100644 --- a/bin/sync/sync.8 +++ b/bin/sync/sync.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)sync.8 8.1 (Berkeley) 5/31/93 -.\" $Id: sync.8,v 1.2 1994/09/24 02:59:08 davidg Exp $ +.\" $Id: sync.8,v 1.3 1996/02/12 00:45:47 mpp Exp $ .\" .Dd May 31, 1993 .Dt SYNC 8 diff --git a/bin/sync/sync.c b/bin/sync/sync.c index 7e5a387e1a21c..ff82a60c402ff 100644 --- a/bin/sync/sync.c +++ b/bin/sync/sync.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: sync.c,v 1.4 1994/09/24 02:59:09 davidg Exp $ */ #ifndef lint diff --git a/bin/test/Makefile b/bin/test/Makefile index a3a8126b435b6..6e2703803311e 100644 --- a/bin/test/Makefile +++ b/bin/test/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2 1994/09/24 02:59:10 davidg Exp $ PROG= test SRCS= test.c operators.c diff --git a/bin/test/TEST.README b/bin/test/TEST.README index 6a997593cda00..f553713a6586e 100644 --- a/bin/test/TEST.README +++ b/bin/test/TEST.README @@ -1,4 +1,4 @@ -# $Id: $ +# $Id: TEST.README,v 1.1 1996/06/19 00:44:44 wosch Exp $ OS/shell syntax error failed -------------------------------------------------------------------- diff --git a/bin/test/TEST.csh b/bin/test/TEST.csh index b18fefbaf9406..eda32b3a34dff 100644 --- a/bin/test/TEST.csh +++ b/bin/test/TEST.csh @@ -1,5 +1,5 @@ # @(#)TEST.csh 5.2 (Berkeley) 4/30/93 -# $Id$ +# $Id: TEST.csh,v 1.3 1994/09/24 02:59:11 davidg Exp $ #alias t '/usr/src/bin/test/obj/test \!*; echo $status' alias t '/bin/test \!*; echo $status' diff --git a/bin/test/TEST.sh b/bin/test/TEST.sh index f713cbec99737..4edab13523c72 100644 --- a/bin/test/TEST.sh +++ b/bin/test/TEST.sh @@ -26,7 +26,7 @@ # # TEST.sh - check if test(1) or builtin test works # -# $Id: TEST.sh,v 1.1 1996/06/19 00:44:44 wosch Exp $ +# $Id: TEST.sh,v 1.2 1996/08/27 20:03:30 wosch Exp $ # force a specified test program, e.g. `env test=/bin/test sh TEST.sh' : ${test=test} diff --git a/bin/test/operators.c b/bin/test/operators.c index 38d73dab38c3b..fb2ebd2b88a6d 100644 --- a/bin/test/operators.c +++ b/bin/test/operators.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: operators.c,v 1.3 1994/09/24 02:59:12 davidg Exp $ */ #ifndef lint diff --git a/bin/test/operators.h b/bin/test/operators.h index 4bf8563652fe0..19fdc68ac6d42 100644 --- a/bin/test/operators.h +++ b/bin/test/operators.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)operators.h 8.3 (Berkeley) 4/2/94 - * $Id$ + * $Id: operators.h,v 1.3 1994/09/24 02:59:13 davidg Exp $ */ #define NOT 0 diff --git a/bin/test/test.1 b/bin/test/test.1 index e7af6447f8186..9a010d1a3334a 100644 --- a/bin/test/test.1 +++ b/bin/test/test.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)test.1 8.1 (Berkeley) 5/31/93 -.\" $Id$ +.\" $Id: test.1,v 1.2 1994/09/24 02:59:14 davidg Exp $ .\" .Dd May 31, 1993 .Dt TEST 1 diff --git a/bin/test/test.c b/bin/test/test.c index 85a011006cae2..d63db4768cddf 100644 --- a/bin/test/test.c +++ b/bin/test/test.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: test.c,v 1.13 1996/03/11 11:01:03 joerg Exp $ + * $Id: test.c,v 1.13.2.1 1996/12/26 18:54:46 joerg Exp $ */ #ifndef lint diff --git a/contrib/gcc/INSTALL b/contrib/gcc/INSTALL new file mode 100644 index 0000000000000..d792b336e4c79 --- /dev/null +++ b/contrib/gcc/INSTALL @@ -0,0 +1,1877 @@ +This file documents the installation of the GNU compiler. Copyright +(C) 1988, 1989, 1992, 1994, 1995 Free Software Foundation, Inc. You +may copy, distribute, and modify it freely as long as you preserve this +copyright notice and permission notice. + +Installing GNU CC +***************** + + Here is the procedure for installing GNU CC on a Unix system. See +*Note VMS Install::, for VMS systems. In this section we assume you +compile in the same directory that contains the source files; see *Note +Other Dir::, to find out how to compile in a separate directory on Unix +systems. + + You cannot install GNU C by itself on MSDOS; it will not compile +under any MSDOS compiler except itself. You need to get the complete +compilation package DJGPP, which includes binaries as well as sources, +and includes all the necessary compilation tools and libraries. + + 1. If you have built GNU CC previously in the same directory for a + different target machine, do `make distclean' to delete all files + that might be invalid. One of the files this deletes is + `Makefile'; if `make distclean' complains that `Makefile' does not + exist, it probably means that the directory is already suitably + clean. + + 2. On a System V release 4 system, make sure `/usr/bin' precedes + `/usr/ucb' in `PATH'. The `cc' command in `/usr/ucb' uses + libraries which have bugs. + + 3. Specify the host, build and target machine configurations. You do + this by running the file `configure'. + + The "build" machine is the system which you are using, the "host" + machine is the system where you want to run the resulting compiler + (normally the build machine), and the "target" machine is the + system for which you want the compiler to generate code. + + If you are building a compiler to produce code for the machine it + runs on (a native compiler), you normally do not need to specify + any operands to `configure'; it will try to guess the type of + machine you are on and use that as the build, host and target + machines. So you don't need to specify a configuration when + building a native compiler unless `configure' cannot figure out + what your configuration is or guesses wrong. + + In those cases, specify the build machine's "configuration name" + with the `--build' option; the host and target will default to be + the same as the build machine. (If you are building a + cross-compiler, see *Note Cross-Compiler::.) + + Here is an example: + + ./configure --build=sparc-sun-sunos4.1 + + A configuration name may be canonical or it may be more or less + abbreviated. + + A canonical configuration name has three parts, separated by + dashes. It looks like this: `CPU-COMPANY-SYSTEM'. (The three + parts may themselves contain dashes; `configure' can figure out + which dashes serve which purpose.) For example, + `m68k-sun-sunos4.1' specifies a Sun 3. + + You can also replace parts of the configuration by nicknames or + aliases. For example, `sun3' stands for `m68k-sun', so + `sun3-sunos4.1' is another way to specify a Sun 3. You can also + use simply `sun3-sunos', since the version of SunOS is assumed by + default to be version 4. `sun3-bsd' also works, since `configure' + knows that the only BSD variant on a Sun 3 is SunOS. + + You can specify a version number after any of the system types, + and some of the CPU types. In most cases, the version is + irrelevant, and will be ignored. So you might as well specify the + version if you know it. + + See *Note Configurations::, for a list of supported configuration + names and notes on many of the configurations. You should check + the notes in that section before proceeding any further with the + installation of GNU CC. + + There are four additional options you can specify independently to + describe variant hardware and software configurations. These are + `--with-gnu-as', `--with-gnu-ld', `--with-stabs' and `--nfp'. + + `--with-gnu-as' + If you will use GNU CC with the GNU assembler (GAS), you + should declare this by using the `--with-gnu-as' option when + you run `configure'. + + Using this option does not install GAS. It only modifies the + output of GNU CC to work with GAS. Building and installing + GAS is up to you. + + Conversely, if you *do not* wish to use GAS and do not specify + `--with-gnu-as' when building GNU CC, it is up to you to make + sure that GAS is not installed. GNU CC searches for a + program named `as' in various directories; if the program it + finds is GAS, then it runs GAS. If you are not sure where + GNU CC finds the assembler it is using, try specifying `-v' + when you run it. + + The systems where it makes a difference whether you use GAS + are + `hppa1.0-ANY-ANY', `hppa1.1-ANY-ANY', `i386-ANY-sysv', + `i386-ANY-isc', + `i860-ANY-bsd', `m68k-bull-sysv', `m68k-hp-hpux', + `m68k-sony-bsd', + `m68k-altos-sysv', `m68000-hp-hpux', `m68000-att-sysv', + `ANY-lynx-lynxos', and `mips-ANY'). On any other system, + `--with-gnu-as' has no effect. + + On the systems listed above (except for the HP-PA, for ISC on + the 386, and for `mips-sgi-irix5.*'), if you use GAS, you + should also use the GNU linker (and specify `--with-gnu-ld'). + + `--with-gnu-ld' + Specify the option `--with-gnu-ld' if you plan to use the GNU + linker with GNU CC. + + This option does not cause the GNU linker to be installed; it + just modifies the behavior of GNU CC to work with the GNU + linker. Specifically, it inhibits the installation of + `collect2', a program which otherwise serves as a front-end + for the system's linker on most configurations. + + `--with-stabs' + On MIPS based systems and on Alphas, you must specify whether + you want GNU CC to create the normal ECOFF debugging format, + or to use BSD-style stabs passed through the ECOFF symbol + table. The normal ECOFF debug format cannot fully handle + languages other than C. BSD stabs format can handle other + languages, but it only works with the GNU debugger GDB. + + Normally, GNU CC uses the ECOFF debugging format by default; + if you prefer BSD stabs, specify `--with-stabs' when you + configure GNU CC. + + No matter which default you choose when you configure GNU CC, + the user can use the `-gcoff' and `-gstabs+' options to + specify explicitly the debug format for a particular + compilation. + + `--with-stabs' is meaningful on the ISC system on the 386, + also, if `--with-gas' is used. It selects use of stabs + debugging information embedded in COFF output. This kind of + debugging information supports C++ well; ordinary COFF + debugging information does not. + + `--with-stabs' is also meaningful on 386 systems running + SVR4. It selects use of stabs debugging information embedded + in ELF output. The C++ compiler currently (2.6.0) does not + support the DWARF debugging information normally used on 386 + SVR4 platforms; stabs provide a workable alternative. This + requires gas and gdb, as the normal SVR4 tools can not + generate or interpret stabs. + + `--nfp' + On certain systems, you must specify whether the machine has + a floating point unit. These systems include + `m68k-sun-sunosN' and `m68k-isi-bsd'. On any other system, + `--nfp' currently has no effect, though perhaps there are + other systems where it could usefully make a difference. + + The `configure' script searches subdirectories of the source + directory for other compilers that are to be integrated into GNU + CC. The GNU compiler for C++, called G++ is in a subdirectory + named `cp'. `configure' inserts rules into `Makefile' to build + all of those compilers. + + Here we spell out what files will be set up by `configure'. + Normally you need not be concerned with these files. + + * A file named `config.h' is created that contains a `#include' + of the top-level config file for the machine you will run the + compiler on (*note The Configuration File: + (gcc.info)Config.). This file is responsible for defining + information about the host machine. It includes `tm.h'. + + The top-level config file is located in the subdirectory + `config'. Its name is always `xm-SOMETHING.h'; usually + `xm-MACHINE.h', but there are some exceptions. + + If your system does not support symbolic links, you might + want to set up `config.h' to contain a `#include' command + which refers to the appropriate file. + + * A file named `tconfig.h' is created which includes the + top-level config file for your target machine. This is used + for compiling certain programs to run on that machine. + + * A file named `tm.h' is created which includes the + machine-description macro file for your target machine. It + should be in the subdirectory `config' and its name is often + `MACHINE.h'. + + * The command file `configure' also constructs the file + `Makefile' by adding some text to the template file + `Makefile.in'. The additional text comes from files in the + `config' directory, named `t-TARGET' and `x-HOST'. If these + files do not exist, it means nothing needs to be added for a + given target or host. + + 4. The standard directory for installing GNU CC is `/usr/local/lib'. + If you want to install its files somewhere else, specify + `--prefix=DIR' when you run `configure'. Here DIR is a directory + name to use instead of `/usr/local' for all purposes with one + exception: the directory `/usr/local/include' is searched for + header files no matter where you install the compiler. To override + this name, use the `--local-prefix' option below. + + 5. Specify `--local-prefix=DIR' if you want the compiler to search + directory `DIR/include' for locally installed header files + *instead* of `/usr/local/include'. + + You should specify `--local-prefix' *only* if your site has a + different convention (not `/usr/local') for where to put + site-specific files. + + *Do not* specify `/usr' as the `--local-prefix'! The directory + you use for `--local-prefix' *must not* contain any of the + system's standard header files. If it did contain them, certain + programs would be miscompiled (including GNU Emacs, on certain + targets), because this would override and nullify the header file + corrections made by the `fixincludes' script. + + 6. Make sure the Bison parser generator is installed. (This is + unnecessary if the Bison output files `c-parse.c' and `cexp.c' are + more recent than `c-parse.y' and `cexp.y' and you do not plan to + change the `.y' files.) + + Bison versions older than Sept 8, 1988 will produce incorrect + output for `c-parse.c'. + + 7. If you have chosen a configuration for GNU CC which requires other + GNU tools (such as GAS or the GNU linker) instead of the standard + system tools, install the required tools in the build directory + under the names `as', `ld' or whatever is appropriate. This will + enable the compiler to find the proper tools for compilation of + the program `enquire'. + + Alternatively, you can do subsequent compilation using a value of + the `PATH' environment variable such that the necessary GNU tools + come before the standard system tools. + + 8. Build the compiler. Just type `make LANGUAGES=c' in the compiler + directory. + + `LANGUAGES=c' specifies that only the C compiler should be + compiled. The makefile normally builds compilers for all the + supported languages; currently, C, C++ and Objective C. However, + C is the only language that is sure to work when you build with + other non-GNU C compilers. In addition, building anything but C + at this stage is a waste of time. + + In general, you can specify the languages to build by typing the + argument `LANGUAGES="LIST"', where LIST is one or more words from + the list `c', `c++', and `objective-c'. If you have any + additional GNU compilers as subdirectories of the GNU CC source + directory, you may also specify their names in this list. + + Ignore any warnings you may see about "statement not reached" in + `insn-emit.c'; they are normal. Also, warnings about "unknown + escape sequence" are normal in `genopinit.c' and perhaps some + other files. Likewise, you should ignore warnings about "constant + is so large that it is unsigned" in `insn-emit.c' and + `insn-recog.c' and a warning about a comparison always being zero + in `enquire.o'. Any other compilation errors may represent bugs in + the port to your machine or operating system, and should be + investigated and reported. + + Some commercial compilers fail to compile GNU CC because they have + bugs or limitations. For example, the Microsoft compiler is said + to run out of macro space. Some Ultrix compilers run out of + expression space; then you need to break up the statement where + the problem happens. + + 9. If you are building a cross-compiler, stop here. *Note + Cross-Compiler::. + + 10. Move the first-stage object files and executables into a + subdirectory with this command: + + make stage1 + + The files are moved into a subdirectory named `stage1'. Once + installation is complete, you may wish to delete these files with + `rm -r stage1'. + + 11. If you have chosen a configuration for GNU CC which requires other + GNU tools (such as GAS or the GNU linker) instead of the standard + system tools, install the required tools in the `stage1' + subdirectory under the names `as', `ld' or whatever is + appropriate. This will enable the stage 1 compiler to find the + proper tools in the following stage. + + Alternatively, you can do subsequent compilation using a value of + the `PATH' environment variable such that the necessary GNU tools + come before the standard system tools. + + 12. Recompile the compiler with itself, with this command: + + make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O2" + + This is called making the stage 2 compiler. + + The command shown above builds compilers for all the supported + languages. If you don't want them all, you can specify the + languages to build by typing the argument `LANGUAGES="LIST"'. LIST + should contain one or more words from the list `c', `c++', + `objective-c', and `proto'. Separate the words with spaces. + `proto' stands for the programs `protoize' and `unprotoize'; they + are not a separate language, but you use `LANGUAGES' to enable or + disable their installation. + + If you are going to build the stage 3 compiler, then you might + want to build only the C language in stage 2. + + Once you have built the stage 2 compiler, if you are short of disk + space, you can delete the subdirectory `stage1'. + + On a 68000 or 68020 system lacking floating point hardware, unless + you have selected a `tm.h' file that expects by default that there + is no such hardware, do this instead: + + make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O2 -msoft-float" + + 13. If you wish to test the compiler by compiling it with itself one + more time, install any other necessary GNU tools (such as GAS or + the GNU linker) in the `stage2' subdirectory as you did in the + `stage1' subdirectory, then do this: + + make stage2 + make CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O2" + + This is called making the stage 3 compiler. Aside from the `-B' + option, the compiler options should be the same as when you made + the stage 2 compiler. But the `LANGUAGES' option need not be the + same. The command shown above builds compilers for all the + supported languages; if you don't want them all, you can specify + the languages to build by typing the argument `LANGUAGES="LIST"', + as described above. + + If you do not have to install any additional GNU tools, you may + use the command + + make bootstrap LANGUAGES=LANGUAGE-LIST BOOT_CFLAGS=OPTION-LIST + + instead of making `stage1', `stage2', and performing the two + compiler builds. + + 14. Then compare the latest object files with the stage 2 object + files--they ought to be identical, aside from time stamps (if any). + + On some systems, meaningful comparison of object files is + impossible; they always appear "different." This is currently + true on Solaris and some systems that use ELF object file format. + On some versions of Irix on SGI machines and DEC Unix (OSF/1) on + Alpha systems, you will not be able to compare the files without + specifying `-save-temps'; see the description of individual + systems above to see if you get comparison failures. You may have + similar problems on other systems. + + Use this command to compare the files: + + make compare + + This will mention any object files that differ between stage 2 and + stage 3. Any difference, no matter how innocuous, indicates that + the stage 2 compiler has compiled GNU CC incorrectly, and is + therefore a potentially serious bug which you should investigate + and report. + + If your system does not put time stamps in the object files, then + this is a faster way to compare them (using the Bourne shell): + + for file in *.o; do + cmp $file stage2/$file + done + + If you have built the compiler with the `-mno-mips-tfile' option on + MIPS machines, you will not be able to compare the files. + + 15. Install the compiler driver, the compiler's passes and run-time + support with `make install'. Use the same value for `CC', + `CFLAGS' and `LANGUAGES' that you used when compiling the files + that are being installed. One reason this is necessary is that + some versions of Make have bugs and recompile files gratuitously + when you do this step. If you use the same variable values, those + files will be recompiled properly. + + For example, if you have built the stage 2 compiler, you can use + the following command: + + make install CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O" LANGUAGES="LIST" + + This copies the files `cc1', `cpp' and `libgcc.a' to files `cc1', + `cpp' and `libgcc.a' in the directory + `/usr/local/lib/gcc-lib/TARGET/VERSION', which is where the + compiler driver program looks for them. Here TARGET is the target + machine type specified when you ran `configure', and VERSION is + the version number of GNU CC. This naming scheme permits various + versions and/or cross-compilers to coexist. + + This also copies the driver program `xgcc' into + `/usr/local/bin/gcc', so that it appears in typical execution + search paths. + + On some systems, this command causes recompilation of some files. + This is usually due to bugs in `make'. You should either ignore + this problem, or use GNU Make. + + *Warning: there is a bug in `alloca' in the Sun library. To avoid + this bug, be sure to install the executables of GNU CC that were + compiled by GNU CC. (That is, the executables from stage 2 or 3, + not stage 1.) They use `alloca' as a built-in function and never + the one in the library.* + + (It is usually better to install GNU CC executables from stage 2 + or 3, since they usually run faster than the ones compiled with + some other compiler.) + + 16. If you're going to use C++, it's likely that you need to also + install the libg++ distribution. It should be available from the + same place where you got the GNU C distribution. Just as GNU C + does not distribute a C runtime library, it also does not include + a C++ run-time library. All I/O functionality, special class + libraries, etc., are available in the libg++ distribution. + +Configurations Supported by GNU CC +================================== + + Here are the possible CPU types: + + 1750a, a29k, alpha, arm, cN, clipper, dsp16xx, elxsi, h8300, + hppa1.0, hppa1.1, i370, i386, i486, i586, i860, i960, m68000, m68k, + m88k, mips, mipsel, mips64, mips64el, ns32k, powerpc, powerpcle, + pyramid, romp, rs6000, sh, sparc, sparclite, sparc64, vax, we32k. + + Here are the recognized company names. As you can see, customary +abbreviations are used rather than the longer official names. + + acorn, alliant, altos, apollo, att, bull, cbm, convergent, convex, + crds, dec, dg, dolphin, elxsi, encore, harris, hitachi, hp, ibm, + intergraph, isi, mips, motorola, ncr, next, ns, omron, plexus, + sequent, sgi, sony, sun, tti, unicom, wrs. + + The company name is meaningful only to disambiguate when the rest of +the information supplied is insufficient. You can omit it, writing +just `CPU-SYSTEM', if it is not needed. For example, `vax-ultrix4.2' +is equivalent to `vax-dec-ultrix4.2'. + + Here is a list of system types: + + 386bsd, aix, acis, amigados, aos, aout, bosx, bsd, clix, coff, + ctix, cxux, dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, + genix, gnu, gnu/linux, hiux, hpux, iris, irix, isc, luna, lynxos, + mach, minix, msdos, mvs, netbsd, newsos, nindy, ns, osf, osfrose, + ptx, riscix, riscos, rtu, sco, sim, solaris, sunos, sym, sysv, + udi, ultrix, unicos, uniplus, unos, vms, vsta, vxworks, winnt, + xenix. + +You can omit the system type; then `configure' guesses the operating +system from the CPU and company. + + You can add a version number to the system type; this may or may not +make a difference. For example, you can write `bsd4.3' or `bsd4.4' to +distinguish versions of BSD. In practice, the version number is most +needed for `sysv3' and `sysv4', which are often treated differently. + + If you specify an impossible combination such as `i860-dg-vms', then +you may get an error message from `configure', or it may ignore part of +the information and do the best it can with the rest. `configure' +always prints the canonical name for the alternative that it used. GNU +CC does not support all possible alternatives. + + Often a particular model of machine has a name. Many machine names +are recognized as aliases for CPU/company combinations. Thus, the +machine name `sun3', mentioned above, is an alias for `m68k-sun'. +Sometimes we accept a company name as a machine name, when the name is +popularly used for a particular machine. Here is a table of the known +machine names: + + 3300, 3b1, 3bN, 7300, altos3068, altos, apollo68, att-7300, + balance, convex-cN, crds, decstation-3100, decstation, delta, + encore, fx2800, gmicro, hp7NN, hp8NN, hp9k2NN, hp9k3NN, hp9k7NN, + hp9k8NN, iris4d, iris, isi68, m3230, magnum, merlin, miniframe, + mmax, news-3600, news800, news, next, pbd, pc532, pmax, powerpc, + powerpcle, ps2, risc-news, rtpc, sun2, sun386i, sun386, sun3, + sun4, symmetry, tower-32, tower. + +Remember that a machine name specifies both the cpu type and the company +name. If you want to install your own homemade configuration files, +you can use `local' as the company name to access them. If you use +configuration `CPU-local', the configuration name without the cpu prefix +is used to form the configuration file names. + + Thus, if you specify `m68k-local', configuration uses files +`m68k.md', `local.h', `m68k.c', `xm-local.h', `t-local', and `x-local', +all in the directory `config/m68k'. + + Here is a list of configurations that have special treatment or +special things you must know: + +`1750a-*-*' + MIL-STD-1750A processors. + + Starting with GCC 2.6.1, the MIL-STD-1750A cross configuration no + longer supports the Tektronix Assembler, but instead produces + output for `as1750', an assembler/linker available under the GNU + Public License for the 1750A. Contact *kellogg@space.otn.dasa.de* + for more details on obtaining `as1750'. A similarly licensed + simulator for the 1750A is available from same address. + + You should ignore a fatal error during the building of libgcc + (libgcc is not yet implemented for the 1750A.) + + The `as1750' assembler requires the file `ms1750.inc', which is + found in the directory `config/1750a'. + + GNU CC produced the same sections as the Fairchild F9450 C + Compiler, namely: + + `Normal' + The program code section. + + `Static' + The read/write (RAM) data section. + + `Konst' + The read-only (ROM) constants section. + + `Init' + Initialization section (code to copy KREL to SREL). + + The smallest addressable unit is 16 bits (BITS_PER_UNIT is 16). + This means that type `char' is represented with a 16-bit word per + character. The 1750A's "Load/Store Upper/Lower Byte" instructions + are not used by GNU CC. + +`alpha-*-osf1' + Systems using processors that implement the DEC Alpha architecture + and are running the DEC Unix (OSF/1) operating system, for example + the DEC Alpha AXP systems. (VMS on the Alpha is not currently + supported by GNU CC.) + + GNU CC writes a `.verstamp' directive to the assembler output file + unless it is built as a cross-compiler. It gets the version to + use from the system header file `/usr/include/stamp.h'. If you + install a new version of DEC Unix, you should rebuild GCC to pick + up the new version stamp. + + Note that since the Alpha is a 64-bit architecture, + cross-compilers from 32-bit machines will not generate code as + efficient as that generated when the compiler is running on a + 64-bit machine because many optimizations that depend on being + able to represent a word on the target in an integral value on the + host cannot be performed. Building cross-compilers on the Alpha + for 32-bit machines has only been tested in a few cases and may + not work properly. + + `make compare' may fail on old versions of DEC Unix unless you add + `-save-temps' to `CFLAGS'. On these systems, the name of the + assembler input file is stored in the object file, and that makes + comparison fail if it differs between the `stage1' and `stage2' + compilations. The option `-save-temps' forces a fixed name to be + used for the assembler input file, instead of a randomly chosen + name in `/tmp'. Do not add `-save-temps' unless the comparisons + fail without that option. If you add `-save-temps', you will have + to manually delete the `.i' and `.s' files after each series of + compilations. + + GNU CC now supports both the native (ECOFF) debugging format used + by DBX and GDB and an encapsulated STABS format for use only with + GDB. See the discussion of the `--with-stabs' option of + `configure' above for more information on these formats and how to + select them. + + There is a bug in DEC's assembler that produces incorrect line + numbers for ECOFF format when the `.align' directive is used. To + work around this problem, GNU CC will not emit such alignment + directives while writing ECOFF format debugging information even + if optimization is being performed. Unfortunately, this has the + very undesirable side-effect that code addresses when `-O' is + specified are different depending on whether or not `-g' is also + specified. + + To avoid this behavior, specify `-gstabs+' and use GDB instead of + DBX. DEC is now aware of this problem with the assembler and + hopes to provide a fix shortly. + +`arm' + Advanced RISC Machines ARM-family processors. These are often + used in embedded applications. There are no standard Unix + configurations. This configuration corresponds to the basic + instruction sequences and will produce a.out format object modules. + + You may need to make a variant of the file `arm.h' for your + particular configuration. + +`arm-*-riscix' + The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD + Unix. If you are running a version of RISC iX prior to 1.2 then + you must specify the version number during configuration. Note + that the assembler shipped with RISC iX does not support stabs + debugging information; a new version of the assembler, with stabs + support included, is now available from Acorn. + +`a29k' + AMD Am29k-family processors. These are normally used in embedded + applications. There are no standard Unix configurations. This + configuration corresponds to AMD's standard calling sequence and + binary interface and is compatible with other 29k tools. + + You may need to make a variant of the file `a29k.h' for your + particular configuration. + +`a29k-*-bsd' + AMD Am29050 used in a system running a variant of BSD Unix. + +`decstation-*' + DECstations can support three different personalities: Ultrix, DEC + OSF/1, and OSF/rose. To configure GCC for these platforms use the + following configurations: + + `decstation-ultrix' + Ultrix configuration. + + `decstation-osf1' + Dec's version of OSF/1. + + `decstation-osfrose' + Open Software Foundation reference port of OSF/1 which uses + the OSF/rose object file format instead of ECOFF. Normally, + you would not select this configuration. + + The MIPS C compiler needs to be told to increase its table size + for switch statements with the `-Wf,-XNg1500' option in order to + compile `cp/parse.c'. If you use the `-O2' optimization option, + you also need to use `-Olimit 3000'. Both of these options are + automatically generated in the `Makefile' that the shell script + `configure' builds. If you override the `CC' make variable and + use the MIPS compilers, you may need to add `-Wf,-XNg1500 -Olimit + 3000'. + +`elxsi-elxsi-bsd' + The Elxsi's C compiler has known limitations that prevent it from + compiling GNU C. Please contact `mrs@cygnus.com' for more details. + +`dsp16xx' + A port to the AT&T DSP1610 family of processors. + +`h8300-*-*' + The calling convention and structure layout has changed in release + 2.6. All code must be recompiled. The calling convention now + passes the first three arguments in function calls in registers. + Structures are no longer a multiple of 2 bytes. + +`hppa*-*-*' + There are several variants of the HP-PA processor which run a + variety of operating systems. GNU CC must be configured to use + the correct processor type and operating system, or GNU CC will + not function correctly. The easiest way to handle this problem is + to *not* specify a target when configuring GNU CC, the `configure' + script will try to automatically determine the right processor + type and operating system. + + `-g' does not work on HP-UX, since that system uses a peculiar + debugging format which GNU CC does not know about. However, `-g' + will work if you also use GAS and GDB in conjunction with GCC. We + highly recommend using GAS for all HP-PA configurations. + + You should be using GAS-2.6 (or later) along with GDB-4.16 (or + later). These can be retrieved from all the traditional GNU ftp + archive sites. + + GAS will need to be installed into a directory before `/bin', + `/usr/bin', and `/usr/ccs/bin' in your search path. You should + install GAS before you build GNU CC. + + To enable debugging, you must configure GNU CC with the + `--with-gnu-as' option before building. + +`i370-*-*' + This port is very preliminary and has many known bugs. We hope to + have a higher-quality port for this machine soon. + +`i386-*-linuxoldld' + Use this configuration to generate a.out binaries on Linux-based + GNU systems, if you do not have gas/binutils version 2.5.2 or later + installed. This is an obsolete configuration. + +`i386-*-linuxaout' + Use this configuration to generate a.out binaries on Linux-based + GNU systems. This configuration is being superseded. You must use + gas/binutils version 2.5.2 or later. + +`i386-*-linux' + Use this configuration to generate ELF binaries on Linux-based GNU + systems. You must use gas/binutils version 2.5.2 or later. + +`i386-*-sco' + Compilation with RCC is recommended. Also, it may be a good idea + to link with GNU malloc instead of the malloc that comes with the + system. + +`i386-*-sco3.2v4' + Use this configuration for SCO release 3.2 version 4. + +`i386-*-isc' + It may be a good idea to link with GNU malloc instead of the + malloc that comes with the system. + + In ISC version 4.1, `sed' core dumps when building `deduced.h'. + Use the version of `sed' from version 4.0. + +`i386-*-esix' + It may be good idea to link with GNU malloc instead of the malloc + that comes with the system. + +`i386-ibm-aix' + You need to use GAS version 2.1 or later, and and LD from GNU + binutils version 2.2 or later. + +`i386-sequent-bsd' + Go to the Berkeley universe before compiling. In addition, you + probably need to create a file named `string.h' containing just + one line: `#include <strings.h>'. + +`i386-sequent-ptx1*' + Sequent DYNIX/ptx 1.x. + +`i386-sequent-ptx2*' + Sequent DYNIX/ptx 2.x. + +`i386-sun-sunos4' + You may find that you need another version of GNU CC to begin + bootstrapping with, since the current version when built with the + system's own compiler seems to get an infinite loop compiling part + of `libgcc2.c'. GNU CC version 2 compiled with GNU CC (any + version) seems not to have this problem. + + See *Note Sun Install::, for information on installing GNU CC on + Sun systems. + +`i[345]86-*-winnt3.5' + This version requires a GAS that has not let been released. Until + it is, you can get a prebuilt binary version via anonymous ftp from + `cs.washington.edu:pub/gnat' or `cs.nyu.edu:pub/gnat'. You must + also use the Microsoft header files from the Windows NT 3.5 SDK. + Find these on the CDROM in the `/mstools/h' directory dated + 9/4/94. You must use a fixed version of Microsoft linker made + especially for NT 3.5, which is also is available on the NT 3.5 + SDK CDROM. If you do not have this linker, can you also use the + linker from Visual C/C++ 1.0 or 2.0. + + Installing GNU CC for NT builds a wrapper linker, called `ld.exe', + which mimics the behaviour of Unix `ld' in the specification of + libraries (`-L' and `-l'). `ld.exe' looks for both Unix and + Microsoft named libraries. For example, if you specify `-lfoo', + `ld.exe' will look first for `libfoo.a' and then for `foo.lib'. + + You may install GNU CC for Windows NT in one of two ways, + depending on whether or not you have a Unix-like shell and various + Unix-like utilities. + + 1. If you do not have a Unix-like shell and few Unix-like + utilities, you will use a DOS style batch script called + `configure.bat'. Invoke it as `configure winnt' from an + MSDOS console window or from the program manager dialog box. + `configure.bat' assumes you have already installed and have + in your path a Unix-like `sed' program which is used to + create a working `Makefile' from `Makefile.in'. + + `Makefile' uses the Microsoft Nmake program maintenance + utility and the Visual C/C++ V8.00 compiler to build GNU CC. + You need only have the utilities `sed' and `touch' to use + this installation method, which only automatically builds the + compiler itself. You must then examine what `fixinc.winnt' + does, edit the header files by hand and build `libgcc.a' + manually. + + 2. The second type of installation assumes you are running a + Unix-like shell, have a complete suite of Unix-like utilities + in your path, and have a previous version of GNU CC already + installed, either through building it via the above + installation method or acquiring a pre-built binary. In this + case, use the `configure' script in the normal fashion. + +`i860-intel-osf1' + This is the Paragon. If you have version 1.0 of the operating + system, you need to take special steps to build GNU CC due to + peculiarities of the system. Newer system versions have no + problem. See the section `Installation Problems' in the GNU CC + Manual. + +`*-lynx-lynxos' + LynxOS 2.2 and earlier comes with GNU CC 1.x already installed as + `/bin/gcc'. You should compile with this instead of `/bin/cc'. + You can tell GNU CC to use the GNU assembler and linker, by + specifying `--with-gnu-as --with-gnu-ld' when configuring. These + will produce COFF format object files and executables; otherwise + GNU CC will use the installed tools, which produce a.out format + executables. + +`m68000-hp-bsd' + HP 9000 series 200 running BSD. Note that the C compiler that + comes with this system cannot compile GNU CC; contact + `law@cs.utah.edu' to get binaries of GNU CC for bootstrapping. + +`m68k-altos' + Altos 3068. You must use the GNU assembler, linker and debugger. + Also, you must fix a kernel bug. Details in the file + `README.ALTOS'. + +`m68k-att-sysv' + AT&T 3b1, a.k.a. 7300 PC. Special procedures are needed to + compile GNU CC with this machine's standard C compiler, due to + bugs in that compiler. You can bootstrap it more easily with + previous versions of GNU CC if you have them. + + Installing GNU CC on the 3b1 is difficult if you do not already + have GNU CC running, due to bugs in the installed C compiler. + However, the following procedure might work. We are unable to + test it. + + 1. Comment out the `#include "config.h"' line on line 37 of + `cccp.c' and do `make cpp'. This makes a preliminary version + of GNU cpp. + + 2. Save the old `/lib/cpp' and copy the preliminary GNU cpp to + that file name. + + 3. Undo your change in `cccp.c', or reinstall the original + version, and do `make cpp' again. + + 4. Copy this final version of GNU cpp into `/lib/cpp'. + + 5. Replace every occurrence of `obstack_free' in the file + `tree.c' with `_obstack_free'. + + 6. Run `make' to get the first-stage GNU CC. + + 7. Reinstall the original version of `/lib/cpp'. + + 8. Now you can compile GNU CC with itself and install it in the + normal fashion. + +`m68k-bull-sysv' + Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. GNU + CC works either with native assembler or GNU assembler. You can use + GNU assembler with native coff generation by providing + `--with-gnu-as' to the configure script or use GNU assembler with + dbx-in-coff encapsulation by providing `--with-gnu-as --stabs'. + For any problem with native assembler or for availability of the + DPX/2 port of GAS, contact `F.Pierresteguy@frcl.bull.fr'. + +`m68k-crds-unox' + Use `configure unos' for building on Unos. + + The Unos assembler is named `casm' instead of `as'. For some + strange reason linking `/bin/as' to `/bin/casm' changes the + behavior, and does not work. So, when installing GNU CC, you + should install the following script as `as' in the subdirectory + where the passes of GCC are installed: + + #!/bin/sh + casm $* + + The default Unos library is named `libunos.a' instead of `libc.a'. + To allow GNU CC to function, either change all references to + `-lc' in `gcc.c' to `-lunos' or link `/lib/libc.a' to + `/lib/libunos.a'. + + When compiling GNU CC with the standard compiler, to overcome bugs + in the support of `alloca', do not use `-O' when making stage 2. + Then use the stage 2 compiler with `-O' to make the stage 3 + compiler. This compiler will have the same characteristics as the + usual stage 2 compiler on other systems. Use it to make a stage 4 + compiler and compare that with stage 3 to verify proper + compilation. + + (Perhaps simply defining `ALLOCA' in `x-crds' as described in the + comments there will make the above paragraph superfluous. Please + inform us of whether this works.) + + Unos uses memory segmentation instead of demand paging, so you + will need a lot of memory. 5 Mb is barely enough if no other + tasks are running. If linking `cc1' fails, try putting the object + files into a library and linking from that library. + +`m68k-hp-hpux' + HP 9000 series 300 or 400 running HP-UX. HP-UX version 8.0 has a + bug in the assembler that prevents compilation of GNU CC. To fix + it, get patch PHCO_4484 from HP. + + In addition, if you wish to use gas `--with-gnu-as' you must use + gas version 2.1 or later, and you must use the GNU linker version + 2.1 or later. Earlier versions of gas relied upon a program which + converted the gas output into the native HP/UX format, but that + program has not been kept up to date. gdb does not understand + that native HP/UX format, so you must use gas if you wish to use + gdb. + +`m68k-sun' + Sun 3. We do not provide a configuration file to use the Sun FPA + by default, because programs that establish signal handlers for + floating point traps inherently cannot work with the FPA. + + See *Note Sun Install::, for information on installing GNU CC on + Sun systems. + +`m88k-*-svr3' + Motorola m88k running the AT&T/Unisoft/Motorola V.3 reference port. + These systems tend to use the Green Hills C, revision 1.8.5, as the + standard C compiler. There are apparently bugs in this compiler + that result in object files differences between stage 2 and stage + 3. If this happens, make the stage 4 compiler and compare it to + the stage 3 compiler. If the stage 3 and stage 4 object files are + identical, this suggests you encountered a problem with the + standard C compiler; the stage 3 and 4 compilers may be usable. + + It is best, however, to use an older version of GNU CC for + bootstrapping if you have one. + +`m88k-*-dgux' + Motorola m88k running DG/UX. To build 88open BCS native or cross + compilers on DG/UX, specify the configuration name as + `m88k-*-dguxbcs' and build in the 88open BCS software development + environment. To build ELF native or cross compilers on DG/UX, + specify `m88k-*-dgux' and build in the DG/UX ELF development + environment. You set the software development environment by + issuing `sde-target' command and specifying either `m88kbcs' or + `m88kdguxelf' as the operand. + + If you do not specify a configuration name, `configure' guesses the + configuration based on the current software development + environment. + +`m88k-tektronix-sysv3' + Tektronix XD88 running UTekV 3.2e. Do not turn on optimization + while building stage1 if you bootstrap with the buggy Green Hills + compiler. Also, The bundled LAI System V NFS is buggy so if you + build in an NFS mounted directory, start from a fresh reboot, or + avoid NFS all together. Otherwise you may have trouble getting + clean comparisons between stages. + +`mips-mips-bsd' + MIPS machines running the MIPS operating system in BSD mode. It's + possible that some old versions of the system lack the functions + `memcpy', `memcmp', and `memset'. If your system lacks these, you + must remove or undo the definition of `TARGET_MEM_FUNCTIONS' in + `mips-bsd.h'. + + The MIPS C compiler needs to be told to increase its table size + for switch statements with the `-Wf,-XNg1500' option in order to + compile `cp/parse.c'. If you use the `-O2' optimization option, + you also need to use `-Olimit 3000'. Both of these options are + automatically generated in the `Makefile' that the shell script + `configure' builds. If you override the `CC' make variable and + use the MIPS compilers, you may need to add `-Wf,-XNg1500 -Olimit + 3000'. + +`mips-mips-riscos*' + The MIPS C compiler needs to be told to increase its table size + for switch statements with the `-Wf,-XNg1500' option in order to + compile `cp/parse.c'. If you use the `-O2' optimization option, + you also need to use `-Olimit 3000'. Both of these options are + automatically generated in the `Makefile' that the shell script + `configure' builds. If you override the `CC' make variable and + use the MIPS compilers, you may need to add `-Wf,-XNg1500 -Olimit + 3000'. + + MIPS computers running RISC-OS can support four different + personalities: default, BSD 4.3, System V.3, and System V.4 (older + versions of RISC-OS don't support V.4). To configure GCC for + these platforms use the following configurations: + + `mips-mips-riscos`rev'' + Default configuration for RISC-OS, revision `rev'. + + `mips-mips-riscos`rev'bsd' + BSD 4.3 configuration for RISC-OS, revision `rev'. + + `mips-mips-riscos`rev'sysv4' + System V.4 configuration for RISC-OS, revision `rev'. + + `mips-mips-riscos`rev'sysv' + System V.3 configuration for RISC-OS, revision `rev'. + + The revision `rev' mentioned above is the revision of RISC-OS to + use. You must reconfigure GCC when going from a RISC-OS revision + 4 to RISC-OS revision 5. This has the effect of avoiding a linker + bug. + +`mips-sgi-*' + In order to compile GCC on an SGI running IRIX 4, the "c.hdr.lib" + option must be installed from the CD-ROM supplied from Silicon + Graphics. This is found on the 2nd CD in release 4.0.1. + + In order to compile GCC on an SGI running IRIX 5, the + "compiler_dev.hdr" subsystem must be installed from the IDO CD-ROM + supplied by Silicon Graphics. + + `make compare' may fail on version 5 of IRIX unless you add + `-save-temps' to `CFLAGS'. On these systems, the name of the + assembler input file is stored in the object file, and that makes + comparison fail if it differs between the `stage1' and `stage2' + compilations. The option `-save-temps' forces a fixed name to be + used for the assembler input file, instead of a randomly chosen + name in `/tmp'. Do not add `-save-temps' unless the comparisons + fail without that option. If you do you `-save-temps', you will + have to manually delete the `.i' and `.s' files after each series + of compilations. + + The MIPS C compiler needs to be told to increase its table size + for switch statements with the `-Wf,-XNg1500' option in order to + compile `cp/parse.c'. If you use the `-O2' optimization option, + you also need to use `-Olimit 3000'. Both of these options are + automatically generated in the `Makefile' that the shell script + `configure' builds. If you override the `CC' make variable and + use the MIPS compilers, you may need to add `-Wf,-XNg1500 -Olimit + 3000'. + + On Irix version 4.0.5F, and perhaps on some other versions as well, + there is an assembler bug that reorders instructions incorrectly. + To work around it, specify the target configuration + `mips-sgi-irix4loser'. This configuration inhibits assembler + optimization. + + In a compiler configured with target `mips-sgi-irix4', you can turn + off assembler optimization by using the `-noasmopt' option. This + compiler option passes the option `-O0' to the assembler, to + inhibit reordering. + + The `-noasmopt' option can be useful for testing whether a problem + is due to erroneous assembler reordering. Even if a problem does + not go away with `-noasmopt', it may still be due to assembler + reordering--perhaps GNU CC itself was miscompiled as a result. + + To enable debugging under Irix 5, you must use GNU as 2.5 or later, + and use the `--with-gnu-as' configure option when configuring gcc. + GNU as is distributed as part of the binutils package. + +`mips-sony-sysv' + Sony MIPS NEWS. This works in NEWSOS 5.0.1, but not in 5.0.2 + (which uses ELF instead of COFF). Support for 5.0.2 will probably + be provided soon by volunteers. In particular, the linker does + not like the code generated by GCC when shared libraries are + linked in. + +`ns32k-encore' + Encore ns32000 system. Encore systems are supported only under + BSD. + +`ns32k-*-genix' + National Semiconductor ns32000 system. Genix has bugs in `alloca' + and `malloc'; you must get the compiled versions of these from GNU + Emacs. + +`ns32k-sequent' + Go to the Berkeley universe before compiling. In addition, you + probably need to create a file named `string.h' containing just + one line: `#include <strings.h>'. + +`ns32k-utek' + UTEK ns32000 system ("merlin"). The C compiler that comes with + this system cannot compile GNU CC; contact `tektronix!reed!mason' + to get binaries of GNU CC for bootstrapping. + +`romp-*-aos' +`romp-*-mach' + The only operating systems supported for the IBM RT PC are AOS and + MACH. GNU CC does not support AIX running on the RT. We + recommend you compile GNU CC with an earlier version of itself; if + you compile GNU CC with `hc', the Metaware compiler, it will work, + but you will get mismatches between the stage 2 and stage 3 + compilers in various files. These errors are minor differences in + some floating-point constants and can be safely ignored; the stage + 3 compiler is correct. + +`rs6000-*-aix' +`powerpc-*-aix' + Various early versions of each release of the IBM XLC compiler + will not bootstrap GNU CC. Symptoms include differences between + the stage2 and stage3 object files, and errors when compiling + `libgcc.a' or `enquire'. Known problematic releases include: + xlc-1.2.1.8, xlc-1.3.0.0 (distributed with AIX 3.2.5), and + xlc-1.3.0.19. Both xlc-1.2.1.28 and xlc-1.3.0.24 (PTF 432238) are + known to produce working versions of GNU CC, but most other recent + releases correctly bootstrap GNU CC. Also, releases of AIX prior + to AIX 3.2.4 include a version of the IBM assembler which does not + accept debugging directives: assembler updates are available as + PTFs. Also, if you are using AIX 3.2.5 or greater and the GNU + assembler, you must have a version modified after October 16th, + 1995 in order for the GNU C compiler to build. See the file + `README.RS6000' for more details on of these problems. + + GNU CC does not yet support the 64-bit PowerPC instructions. + + Objective C does not work on this architecture because it makes + assumptions that are incompatible with the calling conventions. + + AIX on the RS/6000 provides support (NLS) for environments outside + of the United States. Compilers and assemblers use NLS to support + locale-specific representations of various objects including + floating-point numbers ("." vs "," for separating decimal + fractions). There have been problems reported where the library + linked with GNU CC does not produce the same floating-point + formats that the assembler accepts. If you have this problem, set + the LANG environment variable to "C" or "En_US". + + Due to changes in the way that GNU CC invokes the binder (linker) + for AIX 4.1, you may now receive warnings of duplicate symbols + from the link step that were not reported before. The assembly + files generated by GNU CC for AIX have always included multiple + symbol definitions for certain global variable and function + declarations in the original program. The warnings should not + prevent the linker from producing a correct library or runnable + executable. + +`powerpc-*-elf' +`powerpc-*-sysv4' + PowerPC system in big endian mode, running System V.4. + + This configuration is currently under development. + +`powerpc-*-eabiaix' + Embedded PowerPC system in big endian mode with -mcall-aix + selected as the default. This system is currently under + development. + +`powerpc-*-eabisim' + Embedded PowerPC system in big endian mode for use in running + under the PSIM simulator. This system is currently under + development. + +`powerpc-*-eabi' + Embedded PowerPC system in big endian mode. + + This configuration is currently under development. + +`powerpcle-*-elf' +`powerpcle-*-sysv4' + PowerPC system in little endian mode, running System V.4. + + This configuration is currently under development. + +`powerpcle-*-sysv4' + Embedded PowerPC system in little endian mode. + + This system is currently under development. + +`powerpcle-*-eabisim' + Embedded PowerPC system in little endian mode for use in running + under the PSIM simulator. + + This system is currently under development. + +`powerpcle-*-eabi' + Embedded PowerPC system in little endian mode. + + This configuration is currently under development. + +`vax-dec-ultrix' + Don't try compiling with Vax C (`vcc'). It produces incorrect code + in some cases (for example, when `alloca' is used). + + Meanwhile, compiling `cp/parse.c' with pcc does not work because of + an internal table size limitation in that compiler. To avoid this + problem, compile just the GNU C compiler first, and use it to + recompile building all the languages that you want to run. + +`sparc-sun-*' + See *Note Sun Install::, for information on installing GNU CC on + Sun systems. + +`vax-dec-vms' + See *Note VMS Install::, for details on how to install GNU CC on + VMS. + +`we32k-*-*' + These computers are also known as the 3b2, 3b5, 3b20 and other + similar names. (However, the 3b1 is actually a 68000; see *Note + Configurations::.) + + Don't use `-g' when compiling with the system's compiler. The + system's linker seems to be unable to handle such a large program + with debugging information. + + The system's compiler runs out of capacity when compiling `stmt.c' + in GNU CC. You can work around this by building `cpp' in GNU CC + first, then use that instead of the system's preprocessor with the + system's C compiler to compile `stmt.c'. Here is how: + + mv /lib/cpp /lib/cpp.att + cp cpp /lib/cpp.gnu + echo '/lib/cpp.gnu -traditional ${1+"$@"}' > /lib/cpp + chmod +x /lib/cpp + + The system's compiler produces bad code for some of the GNU CC + optimization files. So you must build the stage 2 compiler without + optimization. Then build a stage 3 compiler with optimization. + That executable should work. Here are the necessary commands: + + make LANGUAGES=c CC=stage1/xgcc CFLAGS="-Bstage1/ -g" + make stage2 + make CC=stage2/xgcc CFLAGS="-Bstage2/ -g -O" + + You may need to raise the ULIMIT setting to build a C++ compiler, + as the file `cc1plus' is larger than one megabyte. + +Compilation in a Separate Directory +=================================== + + If you wish to build the object files and executables in a directory +other than the one containing the source files, here is what you must +do differently: + + 1. Make sure you have a version of Make that supports the `VPATH' + feature. (GNU Make supports it, as do Make versions on most BSD + systems.) + + 2. If you have ever run `configure' in the source directory, you must + undo the configuration. Do this by running: + + make distclean + + 3. Go to the directory in which you want to build the compiler before + running `configure': + + mkdir gcc-sun3 + cd gcc-sun3 + + On systems that do not support symbolic links, this directory must + be on the same file system as the source code directory. + + 4. Specify where to find `configure' when you run it: + + ../gcc/configure ... + + This also tells `configure' where to find the compiler sources; + `configure' takes the directory from the file name that was used to + invoke it. But if you want to be sure, you can specify the source + directory with the `--srcdir' option, like this: + + ../gcc/configure --srcdir=../gcc OTHER OPTIONS + + The directory you specify with `--srcdir' need not be the same as + the one that `configure' is found in. + + Now, you can run `make' in that directory. You need not repeat the +configuration steps shown above, when ordinary source files change. You +must, however, run `configure' again when the configuration files +change, if your system does not support symbolic links. + +Building and Installing a Cross-Compiler +======================================== + + GNU CC can function as a cross-compiler for many machines, but not +all. + + * Cross-compilers for the Mips as target using the Mips assembler + currently do not work, because the auxiliary programs + `mips-tdump.c' and `mips-tfile.c' can't be compiled on anything + but a Mips. It does work to cross compile for a Mips if you use + the GNU assembler and linker. + + * Cross-compilers between machines with different floating point + formats have not all been made to work. GNU CC now has a floating + point emulator with which these can work, but each target machine + description needs to be updated to take advantage of it. + + * Cross-compilation between machines of different word sizes is + somewhat problematic and sometimes does not work. + + Since GNU CC generates assembler code, you probably need a +cross-assembler that GNU CC can run, in order to produce object files. +If you want to link on other than the target machine, you need a +cross-linker as well. You also need header files and libraries suitable +for the target machine that you can install on the host machine. + +Steps of Cross-Compilation +-------------------------- + + To compile and run a program using a cross-compiler involves several +steps: + + * Run the cross-compiler on the host machine to produce assembler + files for the target machine. This requires header files for the + target machine. + + * Assemble the files produced by the cross-compiler. You can do this + either with an assembler on the target machine, or with a + cross-assembler on the host machine. + + * Link those files to make an executable. You can do this either + with a linker on the target machine, or with a cross-linker on the + host machine. Whichever machine you use, you need libraries and + certain startup files (typically `crt....o') for the target + machine. + + It is most convenient to do all of these steps on the same host +machine, since then you can do it all with a single invocation of GNU +CC. This requires a suitable cross-assembler and cross-linker. For +some targets, the GNU assembler and linker are available. + +Configuring a Cross-Compiler +---------------------------- + + To build GNU CC as a cross-compiler, you start out by running +`configure'. Use the `--target=TARGET' to specify the target type. If +`configure' was unable to correctly identify the system you are running +on, also specify the `--build=BUILD' option. For example, here is how +to configure for a cross-compiler that produces code for an HP 68030 +system running BSD on a system that `configure' can correctly identify: + + ./configure --target=m68k-hp-bsd4.3 + +Tools and Libraries for a Cross-Compiler +---------------------------------------- + + If you have a cross-assembler and cross-linker available, you should +install them now. Put them in the directory `/usr/local/TARGET/bin'. +Here is a table of the tools you should put in this directory: + +`as' + This should be the cross-assembler. + +`ld' + This should be the cross-linker. + +`ar' + This should be the cross-archiver: a program which can manipulate + archive files (linker libraries) in the target machine's format. + +`ranlib' + This should be a program to construct a symbol table in an archive + file. + + The installation of GNU CC will find these programs in that +directory, and copy or link them to the proper place to for the +cross-compiler to find them when run later. + + The easiest way to provide these files is to build the Binutils +package and GAS. Configure them with the same `--host' and `--target' +options that you use for configuring GNU CC, then build and install +them. They install their executables automatically into the proper +directory. Alas, they do not support all the targets that GNU CC +supports. + + If you want to install libraries to use with the cross-compiler, +such as a standard C library, put them in the directory +`/usr/local/TARGET/lib'; installation of GNU CC copies all all the +files in that subdirectory into the proper place for GNU CC to find +them and link with them. Here's an example of copying some libraries +from a target machine: + + ftp TARGET-MACHINE + lcd /usr/local/TARGET/lib + cd /lib + get libc.a + cd /usr/lib + get libg.a + get libm.a + quit + +The precise set of libraries you'll need, and their locations on the +target machine, vary depending on its operating system. + + Many targets require "start files" such as `crt0.o' and `crtn.o' +which are linked into each executable; these too should be placed in +`/usr/local/TARGET/lib'. There may be several alternatives for +`crt0.o', for use with profiling or other compilation options. Check +your target's definition of `STARTFILE_SPEC' to find out what start +files it uses. Here's an example of copying these files from a target +machine: + + ftp TARGET-MACHINE + lcd /usr/local/TARGET/lib + prompt + cd /lib + mget *crt*.o + cd /usr/lib + mget *crt*.o + quit + +`libgcc.a' and Cross-Compilers +------------------------------ + + Code compiled by GNU CC uses certain runtime support functions +implicitly. Some of these functions can be compiled successfully with +GNU CC itself, but a few cannot be. These problem functions are in the +source file `libgcc1.c'; the library made from them is called +`libgcc1.a'. + + When you build a native compiler, these functions are compiled with +some other compiler-the one that you use for bootstrapping GNU CC. +Presumably it knows how to open code these operations, or else knows how +to call the run-time emulation facilities that the machine comes with. +But this approach doesn't work for building a cross-compiler. The +compiler that you use for building knows about the host system, not the +target system. + + So, when you build a cross-compiler you have to supply a suitable +library `libgcc1.a' that does the job it is expected to do. + + To compile `libgcc1.c' with the cross-compiler itself does not work. +The functions in this file are supposed to implement arithmetic +operations that GNU CC does not know how to open code for your target +machine. If these functions are compiled with GNU CC itself, they will +compile into infinite recursion. + + On any given target, most of these functions are not needed. If GNU +CC can open code an arithmetic operation, it will not call these +functions to perform the operation. It is possible that on your target +machine, none of these functions is needed. If so, you can supply an +empty library as `libgcc1.a'. + + Many targets need library support only for multiplication and +division. If you are linking with a library that contains functions for +multiplication and division, you can tell GNU CC to call them directly +by defining the macros `MULSI3_LIBCALL', and the like. These macros +need to be defined in the target description macro file. For some +targets, they are defined already. This may be sufficient to avoid the +need for libgcc1.a; if so, you can supply an empty library. + + Some targets do not have floating point instructions; they need other +functions in `libgcc1.a', which do floating arithmetic. Recent +versions of GNU CC have a file which emulates floating point. With a +certain amount of work, you should be able to construct a floating +point emulator that can be used as `libgcc1.a'. Perhaps future +versions will contain code to do this automatically and conveniently. +That depends on whether someone wants to implement it. + + Some embedded targets come with all the necessary `libgcc1.a' +routines written in C or assembler. These targets build `libgcc1.a' +automatically and you do not need to do anything special for them. +Other embedded targets do not need any `libgcc1.a' routines since all +the necessary operations are supported by the hardware. + + If your target system has another C compiler, you can configure GNU +CC as a native compiler on that machine, build just `libgcc1.a' with +`make libgcc1.a' on that machine, and use the resulting file with the +cross-compiler. To do this, execute the following on the target +machine: + + cd TARGET-BUILD-DIR + ./configure --host=sparc --target=sun3 + make libgcc1.a + +And then this on the host machine: + + ftp TARGET-MACHINE + binary + cd TARGET-BUILD-DIR + get libgcc1.a + quit + + Another way to provide the functions you need in `libgcc1.a' is to +define the appropriate `perform_...' macros for those functions. If +these definitions do not use the C arithmetic operators that they are +meant to implement, you should be able to compile them with the +cross-compiler you are building. (If these definitions already exist +for your target file, then you are all set.) + + To build `libgcc1.a' using the perform macros, use +`LIBGCC1=libgcc1.a OLDCC=./xgcc' when building the compiler. +Otherwise, you should place your replacement library under the name +`libgcc1.a' in the directory in which you will build the +cross-compiler, before you run `make'. + +Cross-Compilers and Header Files +-------------------------------- + + If you are cross-compiling a standalone program or a program for an +embedded system, then you may not need any header files except the few +that are part of GNU CC (and those of your program). However, if you +intend to link your program with a standard C library such as `libc.a', +then you probably need to compile with the header files that go with +the library you use. + + The GNU C compiler does not come with these files, because (1) they +are system-specific, and (2) they belong in a C library, not in a +compiler. + + If the GNU C library supports your target machine, then you can get +the header files from there (assuming you actually use the GNU library +when you link your program). + + If your target machine comes with a C compiler, it probably comes +with suitable header files also. If you make these files accessible +from the host machine, the cross-compiler can use them also. + + Otherwise, you're on your own in finding header files to use when +cross-compiling. + + When you have found suitable header files, put them in +`/usr/local/TARGET/include', before building the cross compiler. Then +installation will run fixincludes properly and install the corrected +versions of the header files where the compiler will use them. + + Provide the header files before you build the cross-compiler, because +the build stage actually runs the cross-compiler to produce parts of +`libgcc.a'. (These are the parts that *can* be compiled with GNU CC.) +Some of them need suitable header files. + + Here's an example showing how to copy the header files from a target +machine. On the target machine, do this: + + (cd /usr/include; tar cf - .) > tarfile + + Then, on the host machine, do this: + + ftp TARGET-MACHINE + lcd /usr/local/TARGET/include + get tarfile + quit + tar xf tarfile + +Actually Building the Cross-Compiler +------------------------------------ + + Now you can proceed just as for compiling a single-machine compiler +through the step of building stage 1. If you have not provided some +sort of `libgcc1.a', then compilation will give up at the point where +it needs that file, printing a suitable error message. If you do +provide `libgcc1.a', then building the compiler will automatically +compile and link a test program called `libgcc1-test'; if you get +errors in the linking, it means that not all of the necessary routines +in `libgcc1.a' are available. + + You must provide the header file `float.h'. One way to do this is +to compile `enquire' and run it on your target machine. The job of +`enquire' is to run on the target machine and figure out by experiment +the nature of its floating point representation. `enquire' records its +findings in the header file `float.h'. If you can't produce this file +by running `enquire' on the target machine, then you will need to come +up with a suitable `float.h' in some other way (or else, avoid using it +in your programs). + + Do not try to build stage 2 for a cross-compiler. It doesn't work to +rebuild GNU CC as a cross-compiler using the cross-compiler, because +that would produce a program that runs on the target machine, not on the +host. For example, if you compile a 386-to-68030 cross-compiler with +itself, the result will not be right either for the 386 (because it was +compiled into 68030 code) or for the 68030 (because it was configured +for a 386 as the host). If you want to compile GNU CC into 68030 code, +whether you compile it on a 68030 or with a cross-compiler on a 386, you +must specify a 68030 as the host when you configure it. + + To install the cross-compiler, use `make install', as usual. + +Installing GNU CC on the Sun +============================ + + On Solaris (version 2.1), do not use the linker or other tools in +`/usr/ucb' to build GNU CC. Use `/usr/ccs/bin'. + + Make sure the environment variable `FLOAT_OPTION' is not set when +you compile `libgcc.a'. If this option were set to `f68881' when +`libgcc.a' is compiled, the resulting code would demand to be linked +with a special startup file and would not link properly without special +pains. + + There is a bug in `alloca' in certain versions of the Sun library. +To avoid this bug, install the binaries of GNU CC that were compiled by +GNU CC. They use `alloca' as a built-in function and never the one in +the library. + + Some versions of the Sun compiler crash when compiling GNU CC. The +problem is a segmentation fault in cpp. This problem seems to be due to +the bulk of data in the environment variables. You may be able to avoid +it by using the following command to compile GNU CC with Sun CC: + + make CC="TERMCAP=x OBJS=x LIBFUNCS=x STAGESTUFF=x cc" + +Installing GNU CC on VMS +======================== + + The VMS version of GNU CC is distributed in a backup saveset +containing both source code and precompiled binaries. + + To install the `gcc' command so you can use the compiler easily, in +the same manner as you use the VMS C compiler, you must install the VMS +CLD file for GNU CC as follows: + + 1. Define the VMS logical names `GNU_CC' and `GNU_CC_INCLUDE' to + point to the directories where the GNU CC executables + (`gcc-cpp.exe', `gcc-cc1.exe', etc.) and the C include files are + kept respectively. This should be done with the commands: + + $ assign /system /translation=concealed - + disk:[gcc.] gnu_cc + $ assign /system /translation=concealed - + disk:[gcc.include.] gnu_cc_include + + with the appropriate disk and directory names. These commands can + be placed in your system startup file so they will be executed + whenever the machine is rebooted. You may, if you choose, do this + via the `GCC_INSTALL.COM' script in the `[GCC]' directory. + + 2. Install the `GCC' command with the command line: + + $ set command /table=sys$common:[syslib]dcltables - + /output=sys$common:[syslib]dcltables gnu_cc:[000000]gcc + $ install replace sys$common:[syslib]dcltables + + 3. To install the help file, do the following: + + $ library/help sys$library:helplib.hlb gcc.hlp + + Now you can invoke the compiler with a command like `gcc /verbose + file.c', which is equivalent to the command `gcc -v -c file.c' in + Unix. + + If you wish to use GNU C++ you must first install GNU CC, and then +perform the following steps: + + 1. Define the VMS logical name `GNU_GXX_INCLUDE' to point to the + directory where the preprocessor will search for the C++ header + files. This can be done with the command: + + $ assign /system /translation=concealed - + disk:[gcc.gxx_include.] gnu_gxx_include + + with the appropriate disk and directory name. If you are going to + be using libg++, this is where the libg++ install procedure will + install the libg++ header files. + + 2. Obtain the file `gcc-cc1plus.exe', and place this in the same + directory that `gcc-cc1.exe' is kept. + + The GNU C++ compiler can be invoked with a command like `gcc /plus + /verbose file.cc', which is equivalent to the command `g++ -v -c + file.cc' in Unix. + + We try to put corresponding binaries and sources on the VMS +distribution tape. But sometimes the binaries will be from an older +version than the sources, because we don't always have time to update +them. (Use the `/version' option to determine the version number of +the binaries and compare it with the source file `version.c' to tell +whether this is so.) In this case, you should use the binaries you get +to recompile the sources. If you must recompile, here is how: + + 1. Execute the command procedure `vmsconfig.com' to set up the files + `tm.h', `config.h', `aux-output.c', and `md.', and to create files + `tconfig.h' and `hconfig.h'. This procedure also creates several + linker option files used by `make-cc1.com' and a data file used by + `make-l2.com'. + + $ @vmsconfig.com + + 2. Setup the logical names and command tables as defined above. In + addition, define the VMS logical name `GNU_BISON' to point at the + to the directories where the Bison executable is kept. This + should be done with the command: + + $ assign /system /translation=concealed - + disk:[bison.] gnu_bison + + You may, if you choose, use the `INSTALL_BISON.COM' script in the + `[BISON]' directory. + + 3. Install the `BISON' command with the command line: + + $ set command /table=sys$common:[syslib]dcltables - + /output=sys$common:[syslib]dcltables - + gnu_bison:[000000]bison + $ install replace sys$common:[syslib]dcltables + + 4. Type `@make-gcc' to recompile everything (alternatively, submit + the file `make-gcc.com' to a batch queue). If you wish to build + the GNU C++ compiler as well as the GNU CC compiler, you must + first edit `make-gcc.com' and follow the instructions that appear + in the comments. + + 5. In order to use GCC, you need a library of functions which GCC + compiled code will call to perform certain tasks, and these + functions are defined in the file `libgcc2.c'. To compile this + you should use the command procedure `make-l2.com', which will + generate the library `libgcc2.olb'. `libgcc2.olb' should be built + using the compiler built from the same distribution that + `libgcc2.c' came from, and `make-gcc.com' will automatically do + all of this for you. + + To install the library, use the following commands: + + $ library gnu_cc:[000000]gcclib/delete=(new,eprintf) + $ library gnu_cc:[000000]gcclib/delete=L_* + $ library libgcc2/extract=*/output=libgcc2.obj + $ library gnu_cc:[000000]gcclib libgcc2.obj + + The first command simply removes old modules that will be replaced + with modules from `libgcc2' under different module names. The + modules `new' and `eprintf' may not actually be present in your + `gcclib.olb'--if the VMS librarian complains about those modules + not being present, simply ignore the message and continue on with + the next command. The second command removes the modules that + came from the previous version of the library `libgcc2.c'. + + Whenever you update the compiler on your system, you should also + update the library with the above procedure. + + 6. You may wish to build GCC in such a way that no files are written + to the directory where the source files reside. An example would + be the when the source files are on a read-only disk. In these + cases, execute the following DCL commands (substituting your + actual path names): + + $ assign dua0:[gcc.build_dir.]/translation=concealed, - + dua1:[gcc.source_dir.]/translation=concealed gcc_build + $ set default gcc_build:[000000] + + where the directory `dua1:[gcc.source_dir]' contains the source + code, and the directory `dua0:[gcc.build_dir]' is meant to contain + all of the generated object files and executables. Once you have + done this, you can proceed building GCC as described above. (Keep + in mind that `gcc_build' is a rooted logical name, and thus the + device names in each element of the search list must be an actual + physical device name rather than another rooted logical name). + + 7. *If you are building GNU CC with a previous version of GNU CC, you + also should check to see that you have the newest version of the + assembler*. In particular, GNU CC version 2 treats global constant + variables slightly differently from GNU CC version 1, and GAS + version 1.38.1 does not have the patches required to work with GCC + version 2. If you use GAS 1.38.1, then `extern const' variables + will not have the read-only bit set, and the linker will generate + warning messages about mismatched psect attributes for these + variables. These warning messages are merely a nuisance, and can + safely be ignored. + + If you are compiling with a version of GNU CC older than 1.33, + specify `/DEFINE=("inline=")' as an option in all the + compilations. This requires editing all the `gcc' commands in + `make-cc1.com'. (The older versions had problems supporting + `inline'.) Once you have a working 1.33 or newer GNU CC, you can + change this file back. + + 8. If you want to build GNU CC with the VAX C compiler, you will need + to make minor changes in `make-cccp.com' and `make-cc1.com' to + choose alternate definitions of `CC', `CFLAGS', and `LIBS'. See + comments in those files. However, you must also have a working + version of the GNU assembler (GNU as, aka GAS) as it is used as + the back-end for GNU CC to produce binary object modules and is + not included in the GNU CC sources. GAS is also needed to compile + `libgcc2' in order to build `gcclib' (see above); `make-l2.com' + expects to be able to find it operational in + `gnu_cc:[000000]gnu-as.exe'. + + To use GNU CC on VMS, you need the VMS driver programs `gcc.exe', + `gcc.com', and `gcc.cld'. They are distributed with the VMS + binaries (`gcc-vms') rather than the GNU CC sources. GAS is also + included in `gcc-vms', as is Bison. + + Once you have successfully built GNU CC with VAX C, you should use + the resulting compiler to rebuild itself. Before doing this, be + sure to restore the `CC', `CFLAGS', and `LIBS' definitions in + `make-cccp.com' and `make-cc1.com'. The second generation + compiler will be able to take advantage of many optimizations that + must be suppressed when building with other compilers. + + Under previous versions of GNU CC, the generated code would +occasionally give strange results when linked with the sharable +`VAXCRTL' library. Now this should work. + + Even with this version, however, GNU CC itself should not be linked +with the sharable `VAXCRTL'. The version of `qsort' in `VAXCRTL' has a +bug (known to be present in VMS versions V4.6 through V5.5) which +causes the compiler to fail. + + The executables are generated by `make-cc1.com' and `make-cccp.com' +use the object library version of `VAXCRTL' in order to make use of the +`qsort' routine in `gcclib.olb'. If you wish to link the compiler +executables with the shareable image version of `VAXCRTL', you should +edit the file `tm.h' (created by `vmsconfig.com') to define the macro +`QSORT_WORKAROUND'. + + `QSORT_WORKAROUND' is always defined when GNU CC is compiled with +VAX C, to avoid a problem in case `gcclib.olb' is not yet available. + +`collect2' +========== + + Many target systems do not have support in the assembler and linker +for "constructors"--initialization functions to be called before the +official "start" of `main'. On such systems, GNU CC uses a utility +called `collect2' to arrange to call these functions at start time. + + The program `collect2' works by linking the program once and looking +through the linker output file for symbols with particular names +indicating they are constructor functions. If it finds any, it creates +a new temporary `.c' file containing a table of them, compiles it, and +links the program a second time including that file. + + The actual calls to the constructors are carried out by a subroutine +called `__main', which is called (automatically) at the beginning of +the body of `main' (provided `main' was compiled with GNU CC). Calling +`__main' is necessary, even when compiling C code, to allow linking C +and C++ object code together. (If you use `-nostdlib', you get an +unresolved reference to `__main', since it's defined in the standard +GCC library. Include `-lgcc' at the end of your compiler command line +to resolve this reference.) + + The program `collect2' is installed as `ld' in the directory where +the passes of the compiler are installed. When `collect2' needs to +find the *real* `ld', it tries the following file names: + + * `real-ld' in the directories listed in the compiler's search + directories. + + * `real-ld' in the directories listed in the environment variable + `PATH'. + + * The file specified in the `REAL_LD_FILE_NAME' configuration macro, + if specified. + + * `ld' in the compiler's search directories, except that `collect2' + will not execute itself recursively. + + * `ld' in `PATH'. + + "The compiler's search directories" means all the directories where +`gcc' searches for passes of the compiler. This includes directories +that you specify with `-B'. + + Cross-compilers search a little differently: + + * `real-ld' in the compiler's search directories. + + * `TARGET-real-ld' in `PATH'. + + * The file specified in the `REAL_LD_FILE_NAME' configuration macro, + if specified. + + * `ld' in the compiler's search directories. + + * `TARGET-ld' in `PATH'. + + `collect2' explicitly avoids running `ld' using the file name under +which `collect2' itself was invoked. In fact, it remembers up a list +of such names--in case one copy of `collect2' finds another copy (or +version) of `collect2' installed as `ld' in a second place in the +search path. + + `collect2' searches for the utilities `nm' and `strip' using the +same algorithm as above for `ld'. + +Standard Header File Directories +================================ + + `GCC_INCLUDE_DIR' means the same thing for native and cross. It is +where GNU CC stores its private include files, and also where GNU CC +stores the fixed include files. A cross compiled GNU CC runs +`fixincludes' on the header files in `$(tooldir)/include'. (If the +cross compilation header files need to be fixed, they must be installed +before GNU CC is built. If the cross compilation header files are +already suitable for ANSI C and GNU CC, nothing special need be done). + + `GPLUS_INCLUDE_DIR' means the same thing for native and cross. It +is where `g++' looks first for header files. `libg++' installs only +target independent header files in that directory. + + `LOCAL_INCLUDE_DIR' is used only for a native compiler. It is +normally `/usr/local/include'. GNU CC searches this directory so that +users can install header files in `/usr/local/include'. + + `CROSS_INCLUDE_DIR' is used only for a cross compiler. GNU CC +doesn't install anything there. + + `TOOL_INCLUDE_DIR' is used for both native and cross compilers. It +is the place for other packages to install header files that GNU CC will +use. For a cross-compiler, this is the equivalent of `/usr/include'. +When you build a cross-compiler, `fixincludes' processes any header +files in this directory. + diff --git a/contrib/gcc/config/i386/freebsd.h.fixed b/contrib/gcc/config/i386/freebsd.h.fixed deleted file mode 100644 index fd83cb9d4f6b5..0000000000000 --- a/contrib/gcc/config/i386/freebsd.h.fixed +++ /dev/null @@ -1,298 +0,0 @@ -/* Definitions of target machine for GNU compiler for Intel 80386 - running FreeBSD. - Copyright (C) 1988, 1992, 1994 Free Software Foundation, Inc. - Contributed by Poul-Henning Kamp <phk@login.dkuug.dk> - -This file is part of GNU CC. - -GNU CC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU CC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* This is tested by i386gas.h. */ -#define YES_UNDERSCORES - -/* Don't assume anything about the header files. */ -#define NO_IMPLICIT_EXTERN_C - -#include "i386/gstabs.h" - -/* Get perform_* macros to build libgcc.a. */ -#include "i386/perform.h" - -/* This was cloned from ../netbsd.h. It and several other things in - this file should be in ../freebsd.h. */ -/* FREEBSD_NATIVE is defined when gcc is integrated into the FreeBSD - source tree so it can be configured appropriately without using - the GNU configure/build mechanism. */ - -#ifdef FREEBSD_NATIVE - -/* Look for the include files in the system-defined places. */ - -#define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++" - -#define GCC_INCLUDE_DIR "/usr/include" - -/* FreeBSD has GCC_INCLUDE_DIR first. */ -#define INCLUDE_DEFAULTS \ - { \ - { GCC_INCLUDE_DIR, 0, 0 }, \ - { GPLUSPLUS_INCLUDE_DIR, 1, 1 }, \ - { 0, 0, 0 } \ - } - -/* Under FreeBSD, the normal location of the compiler back ends is the - /usr/libexec directory. */ - -#define STANDARD_EXEC_PREFIX "/usr/libexec/" - -/* Under FreeBSD, the normal location of the various *crt*.o files is the - /usr/lib directory. */ - -#define STANDARD_STARTFILE_PREFIX "/usr/lib/" - -/* On FreeBSD, gcc is called 'cc' */ -#define GCC_NAME "cc" - -/* FreeBSD is 4.4BSD derived */ -#define bsd4_4 - -#endif /* FREEBSD_NATIVE */ - -#define MASK_PROFILER_EPILOGUE 010000000000 - -#define TARGET_PROFILER_EPILOGUE (target_flags & MASK_PROFILER_EPILOGUE) - -#undef SUBTARGET_SWITCHES -#define SUBTARGET_SWITCHES \ - { "profiler-epilogue", MASK_PROFILER_EPILOGUE}, \ - { "no-profiler-epilogue", -MASK_PROFILER_EPILOGUE}, - - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__=2 -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" - -#define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}" - -/* Like the default, except no -lg. */ -#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" - -#define LINK_SPEC \ - "%{!nostdlib:%{!r:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*} \ - %{p:-Bstatic} %{pg:-Bstatic} %{Z} %{R*}" - -#define LINK_LIBGCC_SPECIAL_1 1 - -#define STARTFILE_SPEC \ - "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:%{static:scrt0.o%s}%{!static:crt0.o%s}}}" - -/* This goes away when the math emulator is fixed. */ -#undef TARGET_DEFAULT -#define TARGET_DEFAULT (MASK_NO_FANCY_MATH_387 | 0301) - -#undef SIZE_TYPE -#define SIZE_TYPE "unsigned int" - -#undef PTRDIFF_TYPE -#define PTRDIFF_TYPE "int" - -#undef WCHAR_TYPE -#define WCHAR_TYPE "int" - -#define WCHAR_UNSIGNED 0 - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE BITS_PER_WORD - -#define HAVE_ATEXIT - -#define HAVE_PUTENV - -/* Override the default comment-starter of "/". */ - -#undef ASM_COMMENT_START -#define ASM_COMMENT_START "#" - -#undef ASM_APP_ON -#define ASM_APP_ON "#APP\n" - -#undef ASM_APP_OFF -#define ASM_APP_OFF "#NO_APP\n" - -/* The following macros are stolen from i386v4.h */ -/* These have to be defined to get PIC code correct */ - -/* This is how to output an element of a case-vector that is relative. - This is only used for PIC code. See comments by the `casesi' insn in - i386.md for an explanation of the expression this outputs. */ - -#undef ASM_OUTPUT_ADDR_DIFF_ELT -#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \ - fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE) - -/* Indicate that jump tables go in the text section. This is - necessary when compiling PIC code. */ - -#define JUMP_TABLES_IN_TEXT_SECTION - -/* Don't default to pcc-struct-return, because gcc is the only compiler, and - we want to retain compatibility with older gcc versions. */ -#define DEFAULT_PCC_STRUCT_RETURN 0 - -/* Tell final.c that we don't need a label passed to mcount. */ - -#define NO_PROFILE_DATA - -/* Redefine this to not pass an unused label in %edx. */ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ -{ \ - if (flag_pic) \ - fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ - else \ - fprintf (FILE, "\tcall mcount\n"); \ -} - -#define FUNCTION_PROFILER_EPILOGUE(FILE) \ -{ \ - if (TARGET_PROFILER_EPILOGUE) \ - { \ - if (flag_pic) \ - fprintf (FILE, "\tcall *mexitcount@GOT(%%ebx)\n"); \ - else \ - fprintf (FILE, "\tcall mexitcount\n"); \ - } \ -} - -/* - * Some imports from svr4.h in support of shared libraries. - * Currently, we need the DECLARE_OBJECT_SIZE stuff. - */ - -#define HANDLE_SYSV_PRAGMA - -/* Define the strings used for the special svr4 .type and .size directives. - These strings generally do not vary from one system running svr4 to - another, but if a given system (e.g. m88k running svr) needs to use - different pseudo-op names for these, they may be overridden in the - file which includes this one. */ - -#define TYPE_ASM_OP ".type" -#define SIZE_ASM_OP ".size" -#define SET_ASM_OP ".set" - -/* This is how we tell the assembler that a symbol is weak. */ -#define ASM_WEAKEN_LABEL(FILE,NAME) \ - do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ - fputc ('\n', FILE); } while (0) - -/* The following macro defines the format used to output the second - operand of the .type assembler directive. Different svr4 assemblers - expect various different forms for this operand. The one given here - is just a default. You may need to override it in your machine- - specific tm.h file (depending upon the particulars of your assembler). */ - -#define TYPE_OPERAND_FMT "@%s" - -/* Write the extra assembler code needed to declare a function's result. - Most svr4 assemblers don't require any special declaration of the - result value, but there are exceptions. */ - -#ifndef ASM_DECLARE_RESULT -#define ASM_DECLARE_RESULT(FILE, RESULT) -#endif - -/* These macros generate the special .type and .size directives which - are used to set the corresponding fields of the linker symbol table - entries in an ELF object file under SVR4. These macros also output - the starting labels for the relevant functions/objects. */ - -/* Write the extra assembler code needed to declare a function properly. - Some svr4 assemblers need to also have something extra said about the - function's return value. We allow for that here. */ - -#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ - do { \ - fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \ - assemble_name (FILE, NAME); \ - putc (',', FILE); \ - fprintf (FILE, TYPE_OPERAND_FMT, "function"); \ - putc ('\n', FILE); \ - ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ - ASM_OUTPUT_LABEL(FILE, NAME); \ - } while (0) - -/* Write the extra assembler code needed to declare an object properly. */ - -#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ - do { \ - fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \ - assemble_name (FILE, NAME); \ - putc (',', FILE); \ - fprintf (FILE, TYPE_OPERAND_FMT, "object"); \ - putc ('\n', FILE); \ - size_directive_output = 0; \ - if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \ - { \ - size_directive_output = 1; \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ - assemble_name (FILE, NAME); \ - fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL))); \ - } \ - ASM_OUTPUT_LABEL(FILE, NAME); \ - } while (0) - -/* Output the size directive for a decl in rest_of_decl_compilation - in the case where we did not do so before the initializer. - Once we find the error_mark_node, we know that the value of - size_directive_output was set - by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */ - -#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \ -do { \ - char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ - if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \ - && ! AT_END && TOP_LEVEL \ - && DECL_INITIAL (DECL) == error_mark_node \ - && !size_directive_output) \ - { \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ - assemble_name (FILE, name); \ - fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL)));\ - } \ - } while (0) - - -/* This is how to declare the size of a function. */ - -#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \ - do { \ - if (!flag_inhibit_size_directive) \ - { \ - char label[256]; \ - static int labelno; \ - labelno++; \ - ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \ - ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ - assemble_name (FILE, (FNAME)); \ - fprintf (FILE, ","); \ - assemble_name (FILE, label); \ - fprintf (FILE, "-"); \ - assemble_name (FILE, (FNAME)); \ - putc ('\n', FILE); \ - } \ - } while (0) diff --git a/contrib/gdb/bfd/ChangeLog b/contrib/gdb/bfd/ChangeLog new file mode 100644 index 0000000000000..0c84449f0a5ef --- /dev/null +++ b/contrib/gdb/bfd/ChangeLog @@ -0,0 +1,3385 @@ +Sun Apr 7 18:23:36 1996 Fred Fish <fnf@cygnus.com> + + From: Miles Bader <miles@gnu.ai.mit.edu> + * configure.in: Use AC_CHECK_TOOL to find ar & ranlib. + * configure: Regenerate with autoconf. + +Wed Apr 3 16:22:16 1996 Fred Fish <fnf@cygnus.com> + + * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE. + (AC_CHECK_HEADERS): Check for sys/time.h + (AC_HEADER_TIME): Add macro. + * configure: Regenerate with autoconf. + * config.in: Regenerate with autoheader. + * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H + to control what combination of <time> and <sys/time.h> + get included. + +Wed Mar 20 16:53:12 1996 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (coff_add_missing_symbols): Ifdef out. + (coff_write_object_contents): Don't call coff_add_missing_symbols. + * coffgen.c (coff_section_symbol): Ifdef out. + +Mon Mar 18 12:54:41 1996 Ian Lance Taylor <ian@cygnus.com> + + * elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if + output_bfd is not NULL. + +Thu Mar 14 17:12:06 1996 Doug Evans <dje@charmed.cygnus.com> + + * coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead + of bfd_alloc (fixes fix_line not being initialized). + Delete zeroing of fix_{value,tag,end,scnlen} fields. + +Thu Mar 14 16:06:06 1996 Jeffrey A Law (law@cygnus.com) + + * coffcode.h: Allow specific backends to override the + bfd_link_add_symbols routine. + + * coff-h8300.c: Include genlink.h. + (howto_table): Add R_MEM_INDIRECT. + (rtype2howto): Support R_MEM_INDIRECT. + (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE + for now. + +Tue Mar 12 12:41:17 1996 David Mosberger-Tang <davidm@koala.azstarnet.com> + + * coff-alpha.c (alpha_relocate_section): Use + info->callbacks_warning, rather than _bfd_error_handler, for + "multiple gp" warning. + +Tue Mar 12 12:10:55 1996 Ian Lance Taylor <ian@cygnus.com> + + * linker.c (bfd_wrapped_link_hash_lookup): New function. + (_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash + table string. Use bfd_wrapped_link_hash_lookup. + (_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash + table string. + * aoutx.h (aout_link_write_symbols): Use the name from the hash + table, if any, when writing out symbols. + (aout_link_input_section_std): Use the name from the hash table, + if any, when reporting undefined symbols. + (aout_link_input_section_ext): Likewise. + (aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup. + * bout.c (get_value): Likewise. + * cofflink.c (_bfd_coff_reloc_link_order): Likewise. + * ecoff.c (ecoff_reloc_link_order): Likewise. + * elflink.h (elf_link_add_object_symbols): Likewise. + (elf_reloc_link_order): Likewise. + * linker.c (_bfd_generic_link_output_symbols): Likewise. + (_bfd_generic_reloc_link_order): Likewise. + (default_indirect_link_order): Likewise. + * reloc16.c (bfd_coff_reloc16_get_value): Likewise. + * sunos.c (sunos_add_one_symbol): Likewise. + * xcofflink.c (xcoff_link_add_symbols): Likewise. + (bfd_xcoff_link_count_reloc): Likewise. + (xcoff_reloc_link_order): Likewise. + + * ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff + into -1 for intern->rss. + + * configure: Rebuild with autoconf 2.8. + +Mon Mar 11 12:28:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * stab-syms.c (__define_stab_duplicate): Define. + (bfd_get_stab_name): Rename from aout_stab_name. Rewrite to use a + switch. + * bfd-in.h (bfd_get_stab_name): Declare. + * bfd-in2.h: Rebuild. + * Makefile.in: Rebuild dependencies. + (BFD_LIBS): Add stab-syms.o. + (BFD_LIBS_CFILES): Add stab-syms.c. + (BFD32_BACKENDS): Remove stab-syms.o. + (BFD32_BACKENDS_CFILES): Remove stab-syms.c. + * configure.in: Don't list stab-syms.o in bfd_backends. + * configure: Rebuild. + * libaout.h (aout_stab_name): Don't declare. + * aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name, + not aout_stab_name. + +Fri Mar 8 11:26:20 1996 Ian Lance Taylor <ian@cygnus.com> + + * elf.c (assign_file_positions_for_segments): Adjust file offset + for section alignment even if SEC_LOAD is not set. + +Tue Mar 5 12:02:23 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Don't set SHLIB or SHLINK to an empty string, + since they appear as targets in Makefile.in. + * configure: Rebuild. + + * sunos.c (sunos_scan_ext_relocs): If not making a shared library, + don't fiddle with a symbol which is not defined anywhere. + +Mon Mar 4 12:49:16 1996 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c (xcoff_mark): Treat undefined imported symbols as + though they are defined in a shared library. + (xcoff_build_ldsyms): Likewise. + + * coffgen.c (coff_find_nearest_line): Don't look at the line + numbers for the section if section->lineno is NULL. + + * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error + message rather than calling BFD_ASSERT. + * elfcode.h (write_relocs): Check return value of + _bfd_elf_symbol_from_bfd_symbol. + +Fri Mar 1 09:42:59 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag + for .sbss section. + +Wed Feb 28 11:25:47 1996 Jeffrey A Law (law@cygnus.com) + + * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL + and R_HPPA_NLRSEL. + (e_nsel, e_nlsel, e_nlrsel): Undefine. Add to + hppa_reloc_field_selector_type_alt. + (hppa_field_adjust): Handle e_nlsel, e_nlrsel. Fix e_nsel handling. + * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field + selectors. + (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL. + +Wed Feb 28 11:00:24 1996 Ian Lance Taylor <ian@cygnus.com> + + * elf.c (assign_file_positions_for_segments): Adjust the segment + memory size for the alignment of a SEC_ALLOC section, not just a + SEC_LOAD section. + +Tue Feb 27 14:17:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * m68klinux.c: New file. + * hosts/m68klinux.h: New file. + * config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets. + * configure.in (m68*-*-linux*): New native host. + (m68klinux_vec): New vector. + * configure: Rebuild. + * targets.c (m68klinux_vec): Declare. + * i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from + bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c. + * bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename + declaration from bfd_linux_size_dynamic_sections. + (bfd_m68klinux_size_dynamic_sections): Declare. + * bfd-in2.h: Rebuild. + * Makefile.in: Rebuild dependencies. + (BFD32_BACKENDS): Add m68klinux.o. + (BFD32_BACKENDS_CFILES): Add m68klinux.c. + +Tue Feb 27 11:31:34 1996 Jeffrey A Law (law@cygnus.com) + + * libhppa.h (pa_arch): Add pa20. + (hppa_reloc_field_selector_type): Add R_HPPA_NSEL. + (e_nsel): Undefine. Add to hppa_reloc_field_selector_type_alt. + (hppa_field_adjust): Handle e_nsel. + * som.c: Provide default definitions for many new relocs found only + in hpux10 include files. + (som_fixup_formats): Add several new relocs from hpux10. + (som_hppa_howto_table): Add hpux10 relocs. + (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs. + +Mon Feb 26 12:52:48 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-make.sed: Edit out recent shared library support, and + rules to rebuild .h files using doc/chew. + +Mon Feb 26 14:48:39 1996 David Mosberger-Tang <davidm@AZStarNet.com> + + * ecoff.c (ecoff_compute_section_file_positions): Adjust the file + size even of sections with no contents. + +Mon Feb 26 14:01:13 1996 Ian Lance Taylor <ian@cygnus.com> + + * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names + starting with '$' the way we skip names starting with '.'. When + updating x_endndx, don't be fooled by an index which has been + merged. + + * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a + struct/union/enum type with no elements. + +Sat Feb 24 11:38:58 1996 Ian Lance Taylor <ian@cygnus.com> + + * bfd.c (bfd_errmsg): Handle a NULL return from strerror. + + * archive.c (bfd_generic_archive_p): If the first file in the + archive can not be recognized as an object, don't assume that this + is the wrong format. + + * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the + format is not bfd_object. + (bfd_elf_get_dt_soname): Likewise. + +Wed Feb 21 13:58:04 1996 Ian Lance Taylor <ian@cygnus.com> + + * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES + reloc. + +Tue Feb 20 16:22:44 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * bfd.c (tdata): Add netbsd_core_data. + * bfd-in2.h: Regenerated. + +Tue Feb 20 16:50:02 1996 Ian Lance Taylor <ian@cygnus.com> + + * sunos.c (SUNOS_CONSTRUCTOR): Define. + (sunos_add_one_symbol): Don't let a symbol from a dynamic object + override a constructor symbol. Set SUNOS_CONSTRUCTOR when + appropriate. + + * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags + to get the symbol index, matching 14 Jul 95 change. + +Tue Feb 20 08:26:27 1996 Fred Fish <fnf@phydeaux.cygnus.com> + + * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): + Remove duplicate definition of gp. + +Mon Feb 19 12:37:41 1996 Ian Lance Taylor <ian@cygnus.com> + + * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't + assume that we can set the GP value and then get the same value, + since it won't be true if the output file is neither ELF nor + ECOFF. + * coff-mips.c (mips_adjust_reloc_in): Don't bother to use + _bfd_get_gp_value here. + (mips_gprel_reloc): Don't assume we can set and get the GP value. + * elf32-mips.c (mips_elf_hi16_reloc): Get gp value from + mips_elf_final_gp. + (mips_elf_lo16_reloc): Likewise. + (mips_elf_final_gp): Add pgp parameter. Set it to the GP value. + Don't require that the BFD be ELF. + (mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp. + (mips_elf_gprel32_reloc): Likewise. + (mips_elf_relocate_section): Don't assume we can set and get the + GP value. + (mips_elf_finish_dynamic_symbol): Don't bother to use + _bfd_get_gp_value here. + + * elf32-mips.c (mips_elf_create_procedure_table): Initialize sv. + Don't change epdr between malloc and free. Be careful not to free + NULL pointers. Zero out the first RPDR. + + * configure.host: On Linux, only pass -rpath option if $(libdir) + is neither /lib nor /usr/lib. From Alan Modra + <alan@mullet.Levels.UniSA.Edu.Au>. + + * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to + dt_name. + (elf_dt_name): Rename from elf_dt_needed_name. + * elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not + elf_dt_needed_name. + (bfd_elf_get_dt_soname): New function. + * elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not + elf_dt_needed_name. Save the SONAME back in elf_dt_name. + * bfd-in.h (bfd_elf_get_dt_soname): Declare. + * bfd-in2.h: Rebuild. + +Mon Feb 19 02:50:23 1996 Doug Evans <dje@charmed.cygnus.com> + + * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from + _bfd_sparc_elf_reloc_type_lookup. + (bfd_elf32_bfd_reloc_type_lookup): Update. + * elf64-sparc.c (SPARC64_OLD_RELOCS): Define. + (sparc64_elf_howto_table): Define. + (sparc_reloc_map): Define. + (sparc64_elf_reloc_type_lookup): New function. + (sparc_elf_wdisp16_reloc): New function. + (elf_info_to_howto): Use sparc64_elf_howto_table. + (sparc64_elf_relocate_section): Likewise. + (bfd_elf64_bfd_reloc_type_lookup): Update. + +Sun Feb 18 15:02:25 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.host: Check for 'do not mix' from native linker before + trying to use -rpath. + +Fri Feb 16 12:46:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * bfd.c (_bfd_get_gp_value): New function. + (_bfd_set_gp_value): New function. + * libbfd-in.h (_bfd_get_gp_value): Declare. + (_bfd_set_gp_value): Declare. + * libbfd.h: Rebuild. + * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use + _bfd_get_gp_value and _bfd_set_gp_value rather than referring + directly to the fields in the tdata information. + (alpha_relocate_section): Likewise. + * coff-mips.c (mips_adjust_reloc_in): Likewise. + (mips_gprel_reloc): Likewise. + (mips_relocate_section): Likewise. + * elf32-mips.c (mips_elf_hi16_reloc): Likewise. + (mips_elf_lo16_reloc): Likewise. + (mips_elf_final_gp): Likewise. + (mips_elf_gprel16_reloc): Likewise. + (mips_elf_gprel32_reloc): Likewise. + (mips_elf_relocate_section): Likewise. + (mips_elf_finish_dynamic_symbol): Likewise. + + * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx. + +Thu Feb 15 11:29:13 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Call AC_PROG_CC before configure.host. + * configure: Rebuild. + * configure.host: Don't set information which autoconf should + figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB. + + * configure.host: Remove go32 and win32 host information, since it + should no longer be needed. + + * elf.c (map_sections_to_segments): If we have a .dynamic section, + then start a new segment rather than put a writable section in a + readonly segment. + + * configure.host: Set RPATH_ENVVAR. + + * Makefile.in: Rebuild dependencies. + + * elflink.c (_bfd_elf_create_linker_section): Remove unused + zero_section variable. + +Thu Feb 15 10:39:17 1996 H.J. Lu <hjl@zoom.com> + + * Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h. + ($(srcdir)/libbfd.h): Rename from libbfd.h. + ($(srcdir)/libcoff.h): Rename from libcoff.h. + +Wed Feb 14 16:29:07 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de> + + * ieee.c (ieee_write_expression): Only use an R variable for a + local symbol. Don't output a zero offset. Handle a zero address. + (SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST. + (rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and + PCREL_OFFSET. + (parse_expression): Don't try to handle multiple occurrences of a + P variable. Handle I variables differently from X variables. Fix + the order of minus expressions. + (ieee_slurp_external_symbols): Generate an I variable for an NN + record. Fix handling of ATI and ATX records. + (ieee_slurp_sections): Only set minimal section attributes. + Adjust them later, based on the section contents. + (ieee_object_p): Read in the file until just after the ME record. + Call ieee_slurp_section_data to set the section flags. + (do_one): Add iterations parameter. Only repeat the first load + item. Set the section and file reloc flags. + (ieee_slurp_section_data): Set section flags. Pass iterations to + do_one. + (ieee_canonicalize_reloc): Handle I variables. + (do_with_relocs): Only emit relocation size when necessary. + Increase MAXRUN to 127. Change ov to be assigned, and take + src_mask and pcrel_offset into account. + (ieee_write_data_part): Skip sections that are not loaded. + (ieee_write_external_part): Don't output optional last entry of WX + records. + (ieee_write_me_part): Make setting of me_record neater. + (ieee_generic_stat_arch_elt): Get the size of an archive element. + + * syms.c (stt): Add entries for zerovars, vars, and code. + + * elfcode.h (validate_reloc): New static function. + (write_relocs): Call validate_reloc for non ELF relocs. + + * elfxx-target.h (elf_symbol_leading_char): Define if not defined. + (TARGET_BIG_SYM): Use elf_symbol_leading_char. + (TARGET_LITTLE_SYM): Likewise. + + * config.bfd (m68*-*-psos*): New target. + +Tue Feb 13 15:56:22 1996 Bryan Ford <baford@snake.cs.utah.edu> + + * i386msdos.c: Remove some #if 0 code. + (msdos_write_object_contents): Don't include empty sections in the + size computation, regardless of their address. + +Tue Feb 13 15:36:37 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj + is NULL, ie, the -r switch is used. + +Tue Feb 13 14:35:15 1996 Ian Lance Taylor <ian@cygnus.com> + + * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define. + (BFD_RELOC_MIPS_GOT_LO16): Define. + (BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define. + * bfd-in2.h, libbfd.h: Rebuild. + * elf32-mips.c (mips_reloc_map): Map new relocs. + + * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared. + + * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not + $(SHLINK). + + * ieee.c (get_symbol): Set the section to bfd_abs_section. + (do_with_relocs): If EXEC_P is set and there are no relocs, use a + simple number for the section address, rather than an expression. + Limit the number of bytes between relocs to MAXRUN. + (ieee_write_me_part): Set me_record to the file offset after the + start address. + (ieee_write_processor): New static function. + (ieee_write_object_contents): Use ieee_write_processor. + +Fri Feb 9 10:53:00 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.host: Use ${CC-gcc} when testing for -rpath on SunOS. + + * coff-aux.c: Change include of aux.h to aux-coff.h. + +Thu Feb 8 14:01:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE + relocation put the addend both in the reloc entry and the data. + (elf_m68k_finish_dynamic_symbol): Likewise. Mask out marker in + GOT offset value. + + * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve + a R_68K_PCxx reloc against a defined global symbol directly. + (elf_m68k_check_relocs): Don't count such a reloc. + + * elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with + a PLTxx reloc as dynamic. Disallow PLTxxO reloc against a local + symbol for now, otherwise always record the symbol as dynamic. + (elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc + is not referenced by a dynamic object, and we are not making a + shared object, then don't make a PLT entry. If we do make a PLT + entry, make sure the symbol has been recorded as dynamic. + +Wed Feb 7 13:56:06 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.host: When making a shared library, set HLDFLAGS to + pass an appropriate -rpath option. Use the make variable SONAME + as the shared library soname, rather than computing it here. On + SunOS, build stamp-tshlink in place of $(SHLINK). + * Makefile.in (SONAME): New variable. + ($(SHLINK)): Make a link to the transformed name, as well. + (stamp-tshlink): New target. + (install): Skip stamp-tshlink during install. + +Wed Feb 7 13:37:39 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the + linker sections have been set up yet. + + * elf.c (make_mapping): Add an additional argument to suppress + making the first section include the program headers. + (map_sections_to_segments): If the user used -Ttext such that the + program headers are on a different page, do not set the flags + saying that this section includes the program headers. + +Tue Feb 6 14:04:49 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c. + don't define TRAD_HEADER. + * configure: Rebuild. + + * netbsd-core.c: New file, support for NetBSD core files. + * hosts/*nbsd.h: Removed. + +Tue Feb 6 11:47:49 1996 Doug Evans <dje@charmed.cygnus.com> + + * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types. + (BFD_RELOC_SPARC_LO7 reloc type): Deleted. + * libbfd.h, bfd-in2.h: Regenerated. + * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from + bfd_elf32_bfd_reloc_type_lookup. + (reloc_type{,_names}): Deleted. + (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table. + Add sparc64 relocs. + (sparc_reloc_map): Add sparc64 relocs. + (sparc_elf_notsupported_reloc): New static function. + (sparc_elf_wdisp16_reloc): New static function. + (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}. + (elf32_sparc_relocate_section): Likewise. + (bfd_elf32_bfd_reloc_type_lookup): Define. + * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted. + (reloc_type{,_names}): Deleted. + (elf_sparc_howto_table): Deleted. + (sparc_reloc_map): Deleted. + (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table. + (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define. + +Tue Feb 6 12:12:22 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a + *-*-hpux* host. + + * Makefile.in (program_transform_name): New variable. + (install): Transform library name before installing it. + +Mon Feb 5 10:38:27 1996 Ian Lance Taylor <ian@cygnus.com> + + * archures.c (bfd_mach_i960_hx): Define. + * bfd-in2.h: Rebuild. + * cpu-i960.c (scan_960_mach): Accept machine "hx". + (MATRIX): Expand entries for HX. + (arch_info_struct): Add i960:hx entry. + * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx. + * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX. + (coff_set_flags): Handle bfd_mach_i960_hx. + + Support for building as a shared library, based on patches from + Alan Modra <alan@spri.levels.unisa.edu.au>: + * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib. + New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC, + SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK. + * configure: Rebuild. + * configure.host: If --enable-shared, adjust shared library stuff + based on the host. If the host is SunOS, and the linker supports + -rpath, set HLDFLAGS to use it. + * Makefile.in (ALLLIBS): New variable. + (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables. + (COMMON_SHLIB, SHLINK): New variables. + (.c.o): If PICFLAG is set, compile twice, once PIC, once normal. + (STAGESTUFF): Remove variable. + (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than + $(TARGETLIB). + (stamp-ofiles): New target, like old ofiles target, but build + using a temporary file and move-if-change, and touch stamp-ofiles + when done. + (ofiles): Just depend upon stamp-ofiles. + (stamp-piclist, piclist): New targets. + ($(SHLIB), $(SHLINK)): New targets. + (targets.o, archures.o): Build twice if PICFLAG is set. + (do_mostlyclean): Remove pic/*.o. + (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and + stamp-piclist. + (do_distclean): Remove pic and stamp-picdir. + (install): Install shared libraries. + ($(OFILES)): Depend upon stamp-picdir. + (stamp-picdir): New target. + + * libcoff-in.h: Add comment reminding people that libcoff.h is a + generated file. + * libcoff.h: Rebuild. + + * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the + flavour of a section with no owner. + + * elf32-mips.c (mips_elf_create_dynamic_sections): Clear + ELF_LINK_NON_ELF flag. + (mips_elf_create_got_section): Likewise. + + * elf.c: Revert last change, since it breaks dynamic linking. + * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg + field. + * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define. + * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define. + (elfNN_bed): Don't initialize want_hdr_in_seg field. + +Sun Feb 4 20:45:13 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf.c (assign_file_positions_for_segments): If the backend does + not want the elf header or the program headers in the address + space, do not include them in the calculations. + + * elf32-ppc.c (ppc_elf_additional_program_headers): New hook + function to determine if we need additional program headers. + (ppc_elf_modify_segment_map): Define as a NOP function for now. + (ppc_elf_create_linker_section): .sdata2 is a read-only section. + +Sat Feb 3 23:00:03 1996 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h: Move today's libcoff.h change into coffcode.h. + +Sat Feb 3 15:43:44 1996 Fred Fish <fnf@cygnus.com> + + * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args + back into one line. Some compilers (sunos 4.1.3 for example) + won't accept args split across more than one line. + +Fri Feb 2 11:42:15 1996 Steve Chamberlain <sac@slash.cygnus.com> + + * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32. + * configure: Regenerate. + +Fri Feb 2 12:12:16 1996 Jeffrey A Law (law@cygnus.com) + + * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't + try to do arithmetic on a void *, cast it to a unsigned char * first. + +Thu Feb 1 16:04:06 1996 Ian Lance Taylor <ian@cygnus.com> + + * elf-bfd.h (ELF_LINK_NON_ELF): Define. + * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to + ELF_LINK_NON_ELF. + * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF + flag for a newly defined symbol. + (NAME(bfd_elf,record_link_assignment)): Likewise. + (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to + set the DEF or REF_REGULAR flags correctly. + + * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir. + (libbfd.h, libcoff.h): Corresponding change. + + * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with + a PLT32 reloc as dynamic. + (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc + is not referenced by a dynamic object, and we are not making a + shared object, then don't make a PLT entry. If we do make a PLT + entry, make sure the symbol has been recorded as dynamic. + +Wed Jan 31 17:23:32 1996 Steve Chamberlain <sac@slash.cygnus.com> + + * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL. + * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32. + (powerpcle-*-cygwin32): New. + * peicode.h (add_data_entry): Get address from vma. + +Wed Jan 31 16:23:57 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elflink.c (_bfd_elf_create_linker_section): If the symbol + attached to the section has already been created as an undefined + symbol, treat it as if it hasn't been created yet. + +Wed Jan 31 16:16:53 1996 Ian Lance Taylor <ian@cygnus.com> + + * elflink.h (elf_bfd_final_link): Don't output initial dummy + symbol or section symbols if stripping all symbols and this is not + a relocateable link. Don't output the symbol string table if + there are no symbols. + (elf_link_flush_output_syms): Don't do anything if there are no + symbols to flush. + +Wed Jan 31 12:55:49 1996 Richard Henderson <rth@tamu.edu> + + * coff-aux.c: New file. + * hosts/m68kaux.h: New file. + * config.bfd (m68*-apple-aux*): New target. + * configure.in (m68*-apple-aux*): New native host. + (m68kaux_coff_vec): New vector. + * configure: Rebuild. + * targets.c (m68kaux_coff_vec): Declare. + * coffcode.h (bfd_coff_backend_data): Add field + _bfd_coff_link_add_one_symbol. + (bfd_coff_link_add_one_symbol): Define. + (compare_arelent_ptr): New static function if TARG_AUX. + (coff_write_relocs): If TARG_AUX, sort the relocs. + (coff_write_object_contents): Set A/UX aouthdr magic number. + (coff_link_add_one_symbol): Define if not defined. + (bfd_coff_std_swap_table): Initialize new field. + * libcoff.h: Rebuild. + * cofflink.c (coff_link_add_symbols): Call + bfd_coff_link_add_one_symbol rather than + _bfd_generic_link_add_one_symbol. + * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined. + * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field. + * coff-mips.c (mips_ecoff_backend_data): Likewise. + * Makefile.in: Rebuild dependencies. + (BFD32_BACKENDS): Add coff-aux.o. + (BFD32_BACKENDS_CFILES): Add coff-aux.c. + +Wed Jan 31 11:37:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT* + relocation; ignore addend with R_68K_{GOT,PLT}*O relocation. + +Tue Jan 30 12:09:04 1996 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h, + $(srcdir)/libbfd.h and $(srcdir)/libcoff.h. + (maintainer-clean): Warn about deleting special files. + (bfd-in2.h, libbfd.h, libcoff.h): New targets. + + * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and + warning symbols correctly. + * elf32-i386.c (elf_i386_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mips.c (mips_elf_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + + * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid + warnings. + +Mon Jan 29 14:27:24 1996 Kim Knuttila <krk@cygnus.com> + + * libcoff-in.h: aligned newly exported names with bfd naming + conventions. Removed an erroneous define of POWERPC_LE_PE. + * libcoff.h: Rebuild. + * cofflink.c, coff-ppc.c: the above function name changes + +Mon Jan 29 13:06:28 1996 Ian Lance Taylor <ian@cygnus.com> + + From Basim Kadhim <kadhim@spock.cs.colorado.edu>: + * ecoff.c (struct extsym_info): Define. + (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info + to ecoff_link_write_external. + (ecoff_link_write_external): Accept a struct extsym_info pointer. + Strip symbols when appropriate. + + Based on patches from Ronald F. Guilmette <rfg@monkeys.com>: + * syms.c (BSF_OBJECT): Define. + (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT. + * bfd-in2.h: Rebuild. + * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an + STT_OBJECT symbol. + * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT + is set. + + * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when + copying relocs into a shared object, treat a defined global symbol + as a local symbol. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mips.c (mips_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + + * elflink.h (elf_link_add_object_symbols): Only set weakdef to a + real defined symbol, not to a weak defined symbol. + +Mon Jan 29 11:34:36 1996 Kim Knuttila <krk@cygnus.com> + + * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types + and made a few static functions externs. + + * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the + POWERPC_LE_PE hack in cofflink. + + * libcoff-in.h: promoted the following from cofflink.c to allow + _bfd_coff_final_link to be overridden - STRING_SIZE_SIZE, + coff_debug_merge_element, struct coff_debug_merge_type, + coff_debug_merge_hash_entry, coff_debug_merge_hash_table, + coff_debug_merge_hash_table_init, coff_debug_merge_hash_table_free, + coff_debug_merge_hash_lookup, coff_link_section_info, + coff_final_link_info, coff_debug_merge_hash_newfunc, + coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order. + + * libcoff.h: re-gen'd + +Fri Jan 26 18:33:35 1996 Ian Lance Taylor <ian@cygnus.com> + + * syms.c: Include "bfdlink.h". + (struct stab_find_info): Define. + (_bfd_stab_section_find_nearest_line): New function. + * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare. + * libbfd.h: Rebuild. + * elf-bfd.h (struct elf_obj_tdata): Add line_info field. + * elf.c (_bfd_elf_find_nearest_line): Try calling + _bfd_stab_section_find_nearest_line before searching the ELF + symbol table. Find the closest STT_FUNC symbol, not the last one. + * libcoff-in.h (coff_data_type): Add line_info field. + * libcoff.h: Rebuild. + * coffgen.c (coff_find_nearest_line): Try calling + _bfd_stab_section_find_nearest_line before searching the COFF + symbol table. + * Makefile.in: Rebuild dependencies. + +Fri Jan 26 16:11:19 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size + 4 bytes, so we get the correct value when updating the register + field in little endian mode. + +Thu Jan 25 12:14:16 1996 Ian Lance Taylor <ian@cygnus.com> + + * libcoff-in.h (struct xcoff_tdata): Remove toc_section and + entry_section fields. Add sntoc and snentry fields. + * libcoff.h: Rebuild. + * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry, + not toc_section and entry_section (the COFF file does not have any + sections at this point). + (coff_write_object_contents): Set o_snentry and o_sntoc from + snentry and sntoc rather than entry_section and toc_section. + * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and + snentry, not toc_section and entry_section. + * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set + entry_section from hentry. + (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set, + set snenty. + (xcoff_link_input_bfd): Set sntoc, not toc_section. + (xcoff_write_global_symbol): Get toc_section from sntoc, rather + than using toc_section directly. + + * archures.c: Add missing `.' in enum bfd_architecture. + * bfd-in2.h: Rebuild. + + * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec. From + Robert Lipe <robertl@arnet.com>. + +Thu Jan 25 12:08:51 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2} + to sections we allocate. Use bfd_zalloc to allocate initialial + sections, not bfd_alloc. + (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from + SDA{,2}I16 relocations. + (ppc_elf_add_symbol_hook): Use the value of -G nn to determine + whether to put something in .sbss or not. + (ppc_elf_relocate_section): Add support for more relocations. Add + in sec->output_offset where appropriate. Make error messages + include the symbol name. + + * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before + trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_ + doesn't get redefined messages if -shared. + + * elflink.h (elf_create_pointer_linker_section) Only bump RELA + section if the rel_section field has been set up. + +Wed Jan 24 20:40:26 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi + relocations. + +Wed Jan 24 10:38:34 1996 Doug Evans <dje@charmed.cygnus.com> + + * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking + of flags, only flags used are controlled by mach number. Bump up + output file mach number to highest of input file mach numbers. + (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1. + (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa. + + * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out + bfd_elf64_sparc_vec support. + +Tue Jan 23 14:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if + the embedded bit is set on some objects and not on others. Just + or it together. + (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA} + relocations. + +Tue Jan 23 14:22:45 1996 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (coff_new_section_hook): Don't try to align the + .stabstr section. + + * coffcode.h (coff_set_section_contents): Fix the handling of the + .lib section to work even if the entire section contents are + written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and + Robert Lipe <robertl@arnet.com>. + +Mon Jan 22 18:45:51 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elflink.h (elf_finish_pointer_linker_section): Don't allocate + memory here for contents. + + * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and + _SDA2_BASE_ by 32768. + (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't + started using. Allocate contents for .sdata and .sdata2 sections + also. + (ppc_elf_check_relocs): Use bfd_get_section_name in debug message, + rather than _name. + (ppc_elf_finish_dynamic_symbol): Remove code that attempted to + size _SDA{,2}_BASE_. + (ppc_elf_relocate_section): Change how sdata{,2} relocations are + done. + +Mon Jan 22 08:52:04 1996 Doug Evans <dje@charmed.cygnus.com> + + * elflink.h (elf_finish_pointer_linker_section): Fix typo. + + * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64. + (bfd_mach_sparc_{v8plus,v8plusa}): Define. + (bfd_mach_sparc_v9a): Define. + (bfd_mach_sparc_v9_p): Define. + * bfd-in2.h: Regenerated. + * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to + bfd_mach_sparc_v9. + * elf64-sparc.c (sparc64_elf_object_p): Likewise. + * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec + to bfd_elf32_sparc_vec. + * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info. + Add v8plus{,a} support. + Add v9a support. + (sparc_compatible): New function. + * elf32-sparc.h: #include "elf/sparc.h". + (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p, + elf32_sparc_final_write_processing): New functions. + (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p, + elf_backend_final_write_processing): Define. + +Mon Jan 22 11:21:51 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf-bfd.h (struct elf_link_hash_entry): Add + linker_section_pointer field. + (enum elf_linker_section_enum): Enumeration for new way of + creating linker dynamic sections and symbols. + (elf_linker_section{,_pointers}): New structures for creating + dynamic sections and symbols. + (elf_obj_tdata): Add linker_section_pointers and linker_section + fields. + (elf_local_ptr_offsets,elf_linker_section): New accessor macros. + (_bfd_elf_create_linker_section): New declarations. + (_bfd_elf_find_pointer_linker_section): Ditto. + (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto. + (_bfd_elf_make_linker_section_rela): Ditto. + + * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields. + + * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete. + (ppc_elf_create_linker_section): New function to create the + sections .got, .sdata, and .sdata2. + (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if + needed. + (ppc_elf_check_relocs): Support more of the eabi relocations. + (ppc_elf_relocate_section): Ditto. + (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768 + if the .sdata{,2} + .sbss{,2} section size is > 32k. + + * elflink.h (elf_create_pointer_linker_section): New function to + create initialized pointers in dynamic linker sections. + (elf_finish_pointer_linker_section): Actually intialize the + pointers created above. + + * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New + macros to provide both 32 and 64 bit versions of + elf_create_pointer_linker_section. + (bfd_elf{32,64}_finish_pointer_linker_section): New macros to + provide both 32 and 64 bit versions of + elf_finish_pointer_linker_section. + + * elflink.c (_bfd_elf_create_linker_section): New function to + create a linker section. + (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a + given address in the linker pointer offsets created for a given + symbol. + (_bfd_elf_make_linker_section_rela): Make a RELA section + corresponding to the generated linker section. + +Sat Jan 20 08:36:10 1996 Doug Evans <dje@canuck.cygnus.com> + + * elf32-sparc.c (ELF_MACHINE_ALT1): Define. + +Thu Jan 18 18:25:34 1996 Kim Knuttila <krk@cygnus.com> + + * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs. + (coff_ppc_relocate_section): Handle special values for gcc built dlls. + (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries. + Also begin the toc at 4 as an eye catcher ('31313131' marks the first + toc entry in an objdump) for now. + (ppc_do_last, ppc_get_last): New function - needed to save processing + the toc owner to the end. + (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the + toc owner last. + + * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the + toc owner from being done till last. Must define POWERPC_LE_PC + to enable it. + + * coffcode.h (coff_set_alignment_hook): alignment setting for .stab + + * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str + to INFO. + (coff_swap_aouthdr_out): Removed a non-working hack for computing the + SizeOfImage for PowerPC. Ignore the size of the .junk section. + +Thu Jan 18 17:42:12 1996 Ian Lance Taylor <ian@cygnus.com> + + * elfcore.h: Include <signal.h> before <sys/procfs.h>. + +Wed Jan 17 12:40:14 1996 Ian Lance Taylor <ian@cygnus.com> + + * cpu-powerpc.c (arch_info_struct): Change last entry to not point + back to first. + (bfd_powerpc_arch): Point at first entry in arch_info_struct. + +Tue Jan 16 15:10:49 1996 Ian Lance Taylor <ian@cygnus.com> + + * elf.c (assign_file_positions_for_segments): Don't increment file + offset for a segment which contains no loadable sections. + +Mon Jan 15 17:46:27 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * reloc.c: Add new PowerPC relocations. + * {bfd-in2,libbfd}.h: Regenerate. + + * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations. + (ppc_elf_reloc_type_lookup): Lookup new relocations. + +Mon Jan 15 14:29:44 1996 Ian Lance Taylor <ian@cygnus.com> + + * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22 + entries. + + * sunos.c (sunos_scan_ext_relocs): Don't fail assert if + info->shared. + + * coffgen.c (coff_find_nearest_line): Don't try to cache + information in sections that are not owned by a BFD. From Richard + Henderson <richard@atheist.tamu.edu>. + + * elf32-mips.c: Numerous changes to dynamic linking code, mostly + from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>. + * elflink.h (elf_link_output_extsym): Remove special check for + _rld_new_interface. + + * ecoffswap.h: Add prototypes for static functions. + +Sun Jan 14 21:36:08 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions. + (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc + references. + (ppc_elf_relocate_section): No longer allow .sdata/.sbss sections + to satisfy a TOC16 relocation. Rewrite unsupported relocation + support. Begin support for R_PPC_SDA{2,}REL. + +Sat Jan 13 09:36:52 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to + create the .got and .got.neg sections. + (ppc_elf_size_dynamic_sections): Call it. + (ppc_elf_check_relocs): Call it. + (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got. + (ppc_elf_check_relocs): Add error messages for relocations we + don't yet support. Do not include R_PPC_SDAREL16 like a GOT + relocation. + +Fri Jan 12 15:27:59 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new + section flags for V.4 and eabi. + +Fri Jan 12 13:59:16 1996 Ian Lance Taylor <ian@cygnus.com> + + * elf.c (assign_file_positions_for_segments): If a segment + contains no sections, don't mark it as readable. + + * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare. + * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare. + + * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of + dynamic section, if there is one. + * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field. + (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR. + (bfd_elf64_swap_dyn_in): Likewise. + * elfcode.h (elf_swap_dyn_in): Change type of second parameter to + PTR. + (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field. + + * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a + DT_TEXTREL entry because of .rel.plt. From Martin Pirker + <pirker@eiunix.tuwien.ac.at>. + +Thu Jan 11 17:06:14 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for + PowerPC V.4 and eabi. + * bfd-in2.h: Regenerate. + * libfd.h: Regenerate. + + * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags. + + * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED + section type and SHF_EXCLUDE section flag, turning them into the + appropriate bfd section flag. + +Thu Jan 11 11:23:30 1996 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c (xcoff_link_add_symbols): Create the special + sections if we see a DYNAMIC object, in case that is the only + XCOFF input object we see. + + * elf32-mips.c: Extensive changes for a start at dynamic linking + support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>. + + * elf-bfd.h (struct elf_backend_data): Add type_change_ok field. + (struct elf_backend_data): Remove + elf_backend_create_program_headers field. Add + elf_backend_additional_program_headers and + elf_backend_modify_segment_map fields. + * elfxx-target.h (elf_backend_type_change_ok): Define if not + defined. + (elf_backend_additional_program_headers): Likewise. + (elf_backend_modify_segment_map): Likewise. + (elf_backend_create_program_headers): Don't define. + (elfNN_bed): Change to account for field changes. + * elf.c (assign_file_positions_for_segments): Call new + modify_segment_map backend function. Don't call old + create_program_headers backend function. + (get_program_header_size): Call additional_program_headers rather + than create_program_headers. + * elflink.h (elf_link_add_object_symbols): Initialize + type_change_ok from new backend field. + (elf_link_output_extsym): Don't warn if _rld_new_interface is + defined. + (elf_reloc_link_order): Treat a reloc against a defined symbol as + a reloc against the appropriate section. + + * elf-bfd.h (struct bfd_elf_section_data): Add tdata field. + (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init. + (elf_flags_init): Rename from elf_ppc_flags_init. + * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not + elf_ppc_flags_init. + (ppc_elf_copy_private_bfd_data): Likewise. + (ppc_elf_merge_private_bfd_data): Likewise. + + * elf32-m68k.c (howto_table): Change src_mask to 0 for all + relocation entries. + +Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * coff-alpha.c (alpha_relocate_section): During final link, allow + output .lita section to be bigger than 64k by adjusting gp value + on a per-input section basis. + * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning + field. + (struct ecoff_section_tdata): Add gp field. + +Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com> + + Handle Alpha ECOFF changes in OSF/1 3.2. + * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos + field. + * coff-alpha.c: Include "aout/ar.h". + (alpha_ecoff_get_relocated_section_contents): Don't require an + ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1 + 3.2 doesn't generate one. + (alpha_relocate_section): Likewise. + (alpha_ecoff_slurp_armap): Define. + (alpha_ecoff_slurp_extended_name_table): Define. + (alpha_ecoff_construct_extended_name_table): Define. + (alpha_ecoff_truncate_arname): Define. + (alpha_ecoff_write_armap): Define. + (alpha_ecoff_generic_stat_arch_elt): Define. + (alpha_ecoff_update_armap_timestamp): Define. + (ARFZMAG): Define. + (alpha_ecoff_read_ar_hdr): New static function. + (alpha_ecoff_get_elt_at_filepos): New static function. + (alpha_ecoff_openr_next_archived_file): New static function. + (alpha_ecoff_get_elt_at_index): New static function. + (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field. + (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from + _bfd_ecoff to alpha_ecoff. + * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos + field from backend structure, rather than always calling + _bfd_get_elt_at_filepos. + * coff-mips.c (mips_ecoff_backend_data): Initialize + get_elt_at_filepos field. + * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied + from _bfd_generic_read_ar_hdr with minor changes. + (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag. + * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare. + * libbfd.h: Rebuild. + + * bfd-in.h (BFD_IN_MEMORY): Define. + * libbfd-in.h (struct bfd_in_memory): Define. + * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag. + (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file. + (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set. + (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag. + * bfd.c (struct _bfd): Change iostream field from char * to PTR. + (bfd_get_size): Handle BFD_IN_MEMORY flag. + * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files. + (bfd_open_file): Cast to PTR, not char *, when setting iostream. + (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set. + * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting + iostream. + (bfd_openstreamr): Likewise. + * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if + BFD_IN_MEMORY is not set. + * riscix.c (riscix_some_aout_object_p): Likewise. + * bfd-in2.h, libbfd.h: Rebuild. + + * targets.c (bfd_target): Add _bfd_get_elt_at_index field. + (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index. + (bfd_get_elt_at_index): Define. + * archive.c (_bfd_generic_get_elt_at_index): Rename from + bfd_get_elt_at_index. Change index parameter from int to + symindex. + * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare. + (_bfd_noarchive_get_elt_at_index): Define. + (_bfd_archive_bsd_get_elt_at_index): Define. + (_bfd_archive_coff_get_elt_at_index): Define. + * bfd-in2.h, libbfd.h: Rebuild. + * aout-target.h (MY_get_elt_at_index): Define if not defined. + * coff-rs6000.c (xcoff_get_elt_at_index): Define. + * ieee.c (ieee_get_elt_at_index): Define. + * libecoff.h (_bfd_ecoff_get_elt_at_index): Define. + * oasys.c (oasys_get_elt_at_index): Define. + * som.c (som_get_elt_at_index): Define. + + * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line + numbers to the .text section. + +Mon Jan 8 17:00:57 1996 Ian Lance Taylor <ian@cygnus.com> + + * ieee.c (ieee_write_debug_part): Change return type to boolean. + If there is a SEC_DEBUGGING section, get the contents of the debug + information part from it. + (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING + section in memory. + (ieee_write_object_contents): Check ieee_write_debug_part return. + +Thu Jan 4 17:12:37 1996 Fred Fish <fnf@cygnus.com> + + * config.bfd (i[345]86-*-freebsd*): Add target. + * configure.in (i386freebsd_vec): Add vec. + * configure: Regenerate. + * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o. + (BFD32_BACKENDS_CFILES): Add i386freebsd.c. + Rebuild dependencies.. + * freebsd.h: New file. + * i386freebsd.c: New file. + * targets.c (i386freebsd_vec): Declare. + (bfd_target_vector): Add i386freebsd_vec. + * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE + * i386netbsd.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE + +Thu Jan 4 16:27:46 1996 Ian Lance Taylor <ian@cygnus.com> + + * ieee.c (ieee_slurp_debug): New static function. + (ieee_object_p): Call it. + (ieee_slurp_section_data): Skip debugging sections. + (ieee_get_reloc_upper_bound): Likewise. + (ieee_get_section_contents): Likewise. + (ieee_canonicalize_reloc): Likewise. + (ieee_write_section_part): Likewise. + (ieee_write_debug_part): Likewise. + (ieee_write_data_part): Likewise. + (init_for_output): Likewise. + +Wed Jan 3 19:42:47 1996 Michael Meissner <meissner@wogglebug.tiac.net> + + * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations + work. + (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto + relocs, since ppc_elf_relocate_section handles the linker case. + (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer + used. + (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into + ppc_elf_relocate_section since that is now the only caller. + (ppc_elf_relocate_section): Ditto. + +Wed Jan 3 15:11:30 1996 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (coff_write_object_contents): If we don't know the + section of the entry point for an XCOFF executable, always set the + entry address to -1. + +Tue Jan 2 14:17:15 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf.c (bfd_section_from_shdr): Add support for note sections. + +Tue Jan 2 13:10:25 1996 Ian Lance Taylor <ian@cygnus.com> + + * bfd-in.h (struct _symbol_info): Add stab_type field. + * bfd-in2.h: Rebuild. + * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type. + + * elf32-ppc.c: Remove trailing newline from calls to + _bfd_error_handler. + (ppc_elf_merge_private_bfd_data): Only warn about endianness + difference if target endianness is known. + +Thu Dec 21 12:43:49 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the + old style TOC16 references without using R_PPC_GOT. + (ppc_reloc_type): Ditto. + (ppc_elf_reloc_type_lookup): Add support for TOC16. + (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner. + (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc. + (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support. + (ppc_elf_check_relocs): New function for GOT/PLT support that is + work in progress. + (ppc_elf_adjust_dynamic_symbol): Ditto. + (ppc_elf_adjust_dynindx): Ditto. + (ppc_elf_size_dynamic_sections): Ditto. + (ppc_elf_finish_dynamic_symbol): Ditto. + (ppc_elf_finish_dynamic_sections): Ditto. + (ELF_DYNAMIC_INTERPRETER): Define. + +Wed Dec 20 19:14:18 1995 Ken Raeburn <raeburn@cygnus.com> + + * elf.c (copy_private_bfd_data): When attaching sections to + segments ignore sections that won't be allocated. Patch from + Andreas Schwab. + +Tue Dec 19 20:01:43 1995 Ken Raeburn <raeburn@cygnus.com> + + * config.bfd: Match on m68k-cbm-* only if OS doesn't match + anything else. + +Tue Dec 19 16:38:59 1995 Ian Lance Taylor <ian@cygnus.com> + + * coff-i960.c (CALC_ADDEND): Define. + (coff_i960_relocate_section): Add the input section VMA to the + addend for PC relative relocs. + +Sun Dec 17 20:11:55 1995 Kim Knuttila <krk@cygnus.com> + + * peicode.h (pe_print_pdata): Must test the entire entry for zero + to correctly terminate. + +Fri Dec 15 12:05:57 1995 Ian Lance Taylor <ian@cygnus.com> + + * targets.c (enum bfd_endian): Define. + (bfd_target): Rename byteorder_big_p to byteorder, and change it + from boolean to enum bfd_endian. Change header_byteorder_big_p + correspondingly. + * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros. + (bfd_header_big_endian, bfd_header_little_endian): New macros. + * bfd-in2.h: Rebuild. + * All targets: Change initialization of byteorder and + header_byteorder to use enum bfd_endian values rather than + booleans. + * All files: Change all references to byteorder_big_p and + header_byteorder_big_p to use new bfd_*_endian macros. + + * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not + s_vaddr. + * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not + vma. + * ecoff.c (_bfd_ecoff_write_object_contents): Likewise. + +Fri Dec 15 07:32:09 1995 steve chamberlain <sac@slash.cygnus.com> + + * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'. + +Thu Dec 14 13:45:37 1995 Ian Lance Taylor <ian@cygnus.com> + + * ieee.c: Lots of minor cleanups. Make many functions return + errors rather than calling abort. Also: + (ieee_write_twobyte): Remove; change callers to call existing + ieee_write_2bytes function. + (ieee_write_expression): Don't output the section twice when + outputting a local symbol. Don't emit an extraneous zero if there + is only one term. + (ieee_slurp_sections): Set the lma as well as the vma. + (ieee_archive_p): Use bfd_alloc_grow rather than an obstack. + + * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just + a recognized one or bfd_arch_unknown. + (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy + to succeed. + (ihex_get_symtab): Likewise. + +Wed Dec 13 15:44:06 1995 Ian Lance Taylor <ian@cygnus.com> + + * aoutx.h: Include <ctype.h>. + (struct aout_link_includes_table): Define. + (struct aout_link_includes_totals): Define. + (struct aout_link_includes_entry): Define. + (aout_link_includes_lookup): Define macro. + (struct aout_final_link_info): Add includes field. + (aout_link_includes_newfunc): New static function. + (NAME(aout,final_link)): Initialize includes hash table. + (aout_link_write_symbols): Eliminate duplicate N_BINCL entries. + +Wed Dec 13 10:52:14 1995 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff. + +Wed Dec 13 11:07:45 1995 Kim Knuttila <krk@cygnus.com> + + * coff-ppc.c (coff_ppc_relocate_section): removed debugging code. + +Tue Dec 12 17:42:06 1995 Kim Knuttila <krk@cygnus.com> + + * peicode.h (pe_print_reloc): New function to dump the .reloc section. + (pe_print_private_bfd_data): call pe_print_reloc. + * coffcode.h (coff_set_alignment_hook): .reloc section alignment. + * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed + up some debugging as well. + +Tue Dec 12 11:34:23 1995 Ian Lance Taylor <ian@cygnus.com> + + * config.bfd: Handle sparc-*-elf*. From Ronald F. Guilmette + <rfg@monkeys.com>. + +Fri Dec 8 17:47:07 1995 Ian Lance Taylor <ian@cygnus.com> + + * elflink.h (elf_link_add_object_symbols): Set section_count to 0 + when setting sections to NULL. + +Wed Dec 6 17:05:37 1995 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c (struct xcoff_loader_info): Add export_defineds + field. + (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter. + (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT + for all symbols. + * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration. + * bfd-in2.h: Rebuild. + +Mon Dec 4 16:40:47 1995 Kim Knuttila <krk@cygnus.com> + + * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's + +Mon Dec 4 11:25:39 1995 Ian Lance Taylor <ian@cygnus.com> + + * ihex.c (ihex_scan): Handle record types 4 and 5. + (ihex_object_p): Permit types 4 and 5. + (ihex_set_section_contents): Remove check for out of range + addresses. + (ihex_write_object_contents): Generate types 4 and 5. + + * elflink.h (elf_link_output_extsym): Just ignore warning and + indirect references to symbols which don't really exist. + +Sun Dec 3 19:00:27 1995 Kim Knuttila <krk@cygnus.com> + + * peicode.h (pe_print_idata): Minor format fixes + (pe_print_edata): New function. Under private printing, this formats + the edata section of a PE file. + (pe_print_private_bfd_data): Added call to pe_print_edata. + +Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol + index, don't call stoi. + +Fri Dec 1 14:46:51 1995 Ian Lance Taylor <ian@cygnus.com> + + * srec.c (srec_scan): Set lma as well as vma. + + * ihex.c: New file; support for Intel Hex format. + * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour. + (ihex_vec): Declare. + (bfd_target_vector): Always include ihex_vec. + * bfd.c (struct _bfd): Add ihex_data field to tdata union. + * Makefile.in: Rebuild dependencies. + (BFD_LIBS): Add ihex.o + (BFD_LIBS_CFILES): Add ihex.c. + * bfd-in2.h: Rebuild. + + * elf.c (assign_file_positions_for_segments): Sort the sections in + each segment. + (get_program_header_size): Return the right size if segment_map is + not NULL. + (copy_private_bfd_data): Don't bother to sort the sections. + + * bfd.c (bfd_record_phdr): New function. + * bfd-in.h (bfd_record_phdr): Declare. + * bfd_in2.h: Rebuild. + + * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus + BFD_ASSERT. + + * libbfd.c (bfd_malloc, bfd_realloc): New functions. + (bfd_zmalloc): Return PTR, not char *. Take size_t, not + bfd_size_type. + * libbfd-in.h (bfd_malloc, bfd_realloc): Declare. + (bfd_zmalloc): Change declaration. + * libbfd.h: Rebuild. + * Many files: Use bfd_malloc and bfd_realloc rather than malloc + and realloc. Don't set bfd_error_no_memory if they fail. + +Thu Nov 30 19:32:26 1995 Kim Knuttila <krk@cygnus.com> + + * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous + uses as well. Added a new howto to deal with TOCREL16 relocs that + are TOCDEFN as well. + (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs + to handle RVA relocs from dlltool. + (ppc_coff_rtype2howto): TOCDEFN reloc addition. + (coff_ppc_rtype_to_howto): TOCDEFN reloc addition. + (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition. + + * coffcode.h (coff_set_alignment_hook): check idata$X sections + to get the right section alignment. + +Thu Nov 30 16:48:18 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on + p_paddr if p_paddr is zero. + (make_mapping): Set includes_filehdr and includes_phdrs for first + PT_LOAD segment. + (map_sections_to_segments): Set includes_phdrs for PT_PHDR + segment. + (assign_file_positions_for_segments): Handle includes_filehdr and + includes_phdrs. Remove special handling of PT_PHDR and first + PT_LOAD segments. + (copy_private_bfd_data): Set includes_filehdr and includes_phdr + when appropriate. Remove special handling of PT_PHDR segment. + Use a more complex condition for when a section is included in a + segment to handle Solaris linker oddities. + +Thu Nov 30 11:17:33 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + + * coff-m88k.c (howto_table): Reformatted for easier reading; + special_function now points to new function m88k_special_reloc. + (howto_hvrt16): Function previously used for handling HVRT16 relocs + removed. + (rtype2howto): Do not add reloc's r_offset to the addend, this will + be done correctly by m88k_special_reloc. + (reloc_processing): New function to be used by RELOC_PROCESSING. + (RELOC_PROCESSING): Define to call reloc_processing. + +Wed Nov 29 12:42:36 1995 Ian Lance Taylor <ian@cygnus.com> + + * peicode.h (pe_print_idata): Call malloc rather than xmalloc. + (pe_print_pdata): Likewise. + + * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if + obstack_alloc fails. + (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish + fails. + * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails. + * Many files: don't set bfd_error_no_memory if one of the above + routines fails. + + * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr + if p_paddr_valid is set. + (copy_private_bfd_data): New static function. + (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data. + + * elf.c (assign_file_positions_for_segments): Fix case where extra + program headers were allocated. + + * elf.c (_bfd_elf_print_private_bfd_data): New function. + * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare. + * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to + _bfd_elf_print_private_bfd_data. + + * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if + r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc. + Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS. + (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to + RELOC_SECTION_LITA for ALPHA_R_IGNORE. + (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change + RELOC_SECTION_ABS to RELOC_SECTION_NONE. + +Tue Nov 28 16:59:50 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf-bfd.h (struct elf_obj_tdata): Add segment_map field. + * elf.c (make_mapping): New static function. + (map_sections_to_segments): New static function. + (elf_sort_sections): New static function. + (assign_file_positions_for_segments): New static function. + (map_program_segments): Remove. + (get_program_header_size): Remove sorted_hdrs, count, and + maxpagesize parameters. Simplify. + (assign_file_positions_except_relocs): When generating an + executable, use assign_file_positions_for_segments. + (elf_sort_hdrs): Remove. + (_bfd_elf_sizeof_headers): Remove eliminated parameters from call + to get_program_header_size. + +Mon Nov 27 12:27:46 1995 Ian Lance Taylor <ian@cygnus.com> + + * hp300hpux.c (MY(callback)): Set lma as well as vma. + + * configure, config.in: Regenerate with autoconf 2.7. + + * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1. + * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0. + +Wed Nov 22 12:02:09 1995 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section. + (ecoff_sec_to_styp_flags): Likewise. + (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST. + (ecoff_set_symbol_info): Handle scRConst. + (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST. + (ecoff_compute_section_file_positions): Handle .rconst section. + (_bfd_ecoff_write_object_contents): Likewise. + (ecoff_link_check_archive_element): Handle scRConst. + (ecoff_link_add_externals): Likewise. + (ecoff_link_write_external): Handle .rconst section. + (ecoff_reloc_link_order): Likewise. + * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst. + * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst + section. + (alpha_relocate_section): Handle RELOC_SECTION_RCONST. + + * sunos.c (sunos_scan_dynamic_symbol): Only set written if the + DEF_DYNAMIC flag is set. + +Tue Nov 21 13:25:29 1995 Ken Raeburn <raeburn@cygnus.com> + + * host-aout.c: If TRAD_HEADER is defined, include it. + +Tue Nov 21 13:03:57 1995 Ian Lance Taylor <ian@cygnus.com> + + * aclocal.m4 (AC_PROG_CC): Remove local definition. + (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM. + (BFD_NEED_DECLARATION): New function. + * configure.in: Use BFD_NEED_DECLARATION. + * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section. + * configure, config.in: Rebuild with autoconf 2.6. + + * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear + special_sections before returning when called with a non XCOFF + BFD. + + * coffgen.c (coff_renumber_symbols): Sort common symbols with + global symbols. + + * coffcode.h (coff_compute_section_file_positions): Only pad the + previous section to force file alignment when creating an + executable. + +Mon Nov 20 14:54:09 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (coff_compute_section_file_positions): If + RS6000COFF_C, set up the .debug section. + + * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value + if it is not large enough to accomodate the entire TOC area with + signed 16 bit offsets. + (xcoff_write_global_symbol): Handle negative TOC offsets in global + linkage code. + (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a + TOC anchor to use the TOC value used in the output file. + +Sat Nov 18 18:01:41 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return. + (_bfd_coff_read_string_table): Likewise. + +Sat Nov 18 19:43:04 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * pe-arm.c: Fix typos. + * coff-arm.c: Likewise. + +Fri Nov 17 16:22:04 1995 Kim Knuttila <krk@cygnus.com> + + * coff-ppc.c (list_ele): Added "cat"egory member. + (record_toc): New category parameter (priv or pub). + (ppc_record_toc_entry): Check to see if toc bounds exceeded. + (ppc_process_before_allocation): Removed embrionic data-in-toc from + the mainline. It addes extra toc cells in error. + (ppc_coff_swap_sym_in_hook): Added some documentation. + (dump_toc): Can now diagnose "virtual toc" chicanery. + +Fri Nov 17 10:41:25 1995 Philippe De Muyter <phdm@info.ucl.ac.be> + + * elf-bfd.h (struct elf_link_hash_table): Change type of + dynsymcount and bucketcount fields from size_t to bfd_size_type. + +Fri Nov 17 10:02:58 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (coff_pointerize_aux_hook): I960 version: don't + pointerize C_LEAFSTAT or C_LEAFEXT entries. + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create + DT_INIT and DT_FINI entries if the _init or _fini symbol is + defined or mentioned in a regular file. + +Thu Nov 16 15:16:42 1995 Kim Knuttila <krk@cygnus.com> + + * coff-ppc.c (ppc_record_data_in_toc_entry): new function + (coff_ppc_relocate_section): Handle TOCDEFN attribute + (coff_ppc_relocate_section): Correct REL24 handling + (ppc_process_before_allocation): Correct TOCDEFN handling + + * peicode.h (dir_names): Added name descriptions + +Thu Nov 16 03:38:03 1995 Ken Raeburn <raeburn@cygnus.com> + + * VERSION: Updated to cygnus-2.6. + +Wed Nov 15 19:30:07 1995 Ken Raeburn <raeburn@cygnus.com> + + * targets.c (m68k4knetbsd_vec): Declare. + +Wed Nov 15 18:05:52 1995 Ian Lance Taylor <ian@cygnus.com> + + * targets.c (bfd_target): Change type of second argument to + _bfd_print_private_bfd_data from void * to PTR. + * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast + using PTR rather than void *. + * bfd-in2, libbfd.h: Rebuild. + * peicode.h (pe_print_private_bfd_data): Change vfile from void * + to PTR. + * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as + _bfd_generic_bfd_print_private_bfd_data rather than casting + bfd_true. + +Wed Nov 15 04:09:14 1995 Ken Raeburn <raeburn@cygnus.com> + + * Makefile.in (.dep1): Fix stupid typo in last change. Remove any + "DO NOT DELETE" lines or blank lines that mkdep writes on some + systems. + (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES, + BFD64_BACKENDS_CFILES): New variables. + (CFILES): Use them. + +Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com> + + * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0, + not at the file position of the first section. + * coffcode.h (coff_compute_section_file_positions): Avoid using + unportable #elif. + (coff_write_object_contents): When generating a PPC PE executable + with no symbols, round up the file size to a COFF_PAGE_SIZE + boundary. + * cofflink.c (_bfd_coff_final_link): If there are no symbols, + don't write out a string table. + + * elf.c (bfd_section_from_shdr): When using a different section + header, pass the new one to _bfd_elf_make_section_from_shdr. + (elf_fake_sections): Don't set sh_info and sh_entsize fields. + (elf_map_symbols): Add section VMA to symbol value when comparing + against 0. + (_bfd_elf_compute_section_file_positions): Only build symbol table + if there are some symbols. Set file offset of symtab and strtab + sections. + (assign_file_positions_except_relocs): Remove dosyms parameter. + Change all callers. Never set file offset of symtab and strtab + sections. + (_bfd_elf_copy_private_section_data): New function. + (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define. + (_bfd_elf_copy_private_symbol_data): New function. + (swap_out_syms): Check for special mapping of st_shndx created by + copy_private_symbol_data. + * elfxx-target.h: Use new copy routines. + * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare. + (_bfd_elf_copy_private_section_data): Declare. + + * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec. + + * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle + C_NT_WEAK. + + * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not + _bfd_dummy_target, matching the recent change to archive + recognition. + +Mon Nov 13 13:24:38 1995 Ian Lance Taylor <ian@cygnus.com> + + * libbfd.c (bfd_get_file_window): Use casts to avoid doing + arithmetic on PTR types. + + * aout-target.h (MY(callback)): Set the lma of the sections. + + * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined + symbol into a reloc against the section. + +Mon Nov 13 07:31:35 1995 Kim Knuttila <krk@cygnus.com> + + * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline + glue for the relocs: IMGLUE and IFGLUE. + (record_toc): new function - tracks toc contents + (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc + (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE + (ppc_coff_rtype2howto): removed invalid IMGLUE hack + (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack + (ppc_record_toc_entry): Removed a debug define (duh) + + * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata" + (pe_print_idata): New function - formats the idata section data + (pe_print_pdata): New function - formats the pdata section data + (pe_print_private_bfd_data): calls to above + +Sun Nov 12 12:23:24 1995 Stan Shebs <shebs@andros.cygnus.com> + + * Makefile.in (bfd_libs_here, etc): Provide empty definitions. + * coff-rs6000.c (rs6000coff_vec): Add conditional defines + TARGET_SYM and TARGET_NAME for vector and BFD name. + * coff-pmac.c (pmac_xcoff_vec): Remove. + (TARGET_SYM, TARGET_NAME): Define. + * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the + machine to 0, not all PowerMacs are 601s. + +Fri Nov 10 12:10:14 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (elf_object_p): Read in any program headers. + * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma + based on the program headers, if any. + (elf_fake_sections): Set sh_addr from the vma, not the lma. + (map_program_segments): Set p_paddr of program headers based on + the lma. + +Thu Nov 9 13:01:31 1995 Ian Lance Taylor <ian@cygnus.com> + + * archive.c (bfd_generic_archive_p): Preserve tdata in case of + failure. + + * aoutx.h (NAME(aout,final_link)): Report a reasonable error when + trying to do a relocateable link with a non-a.out object file. + + * archive.c (bfd_generic_archive_p): Check the first object file + in an archive even if target_defaulted is set. If the object file + has the wrong xvec, reject it. + + * aoutx.h (NAME(aout,set_section_contents)): If a section can not + be represented, report the name via _bfd_error_handler. + (translate_to_native_sym_flags): Likewise. + * elf32-mips.c (mips_elf_final_link): Likewise. + * oasys.c (oasys_write_sections): Likewise. + + * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version + which checks for STYP_OVRFLO sections. + (coff_compute_section_file_positions): If RS6000COFF_C, handle + reloc and lineno count overflows. + (coff_write_object_contents): Call coff_count_linenumbers before + coff_compute_section_file_positions. If RS6000COFF_C, handle + reloc and lineno count overflows. + * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and + relocs before dealing with .pad sections. Count overflow section + headers when handling .pad sections. + + * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1 + if RS6000COFF_C. + + * xcofflink.c (XCOFF_DESCRIPTOR): Define. + (struct xcoff_link_hash_table): Add descriptor_section and + special_sections fields. + (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields. + (xcoff_link_add_symbols): Set linkage section alignment. Create + descriptor section. Check for magic symbol names (_text, etc.), + and record them in special_sections if found. Set + XCOFF_DESCRIPTOR flag for a function descriptor, and set its + descriptor field to point back to the function code symbol. + (xcoff_sweep): Always mark the special descriptor_section. + (bfd_xcoff_export_symbol): Check whether the symbol might be a + function descriptor, and mark it if it is. + (bfd_xcoff_size_dynamic_sections): Add new special_sections + parameter, and fill it in. Allocate space for the descriptor + section. + (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining + global linkage code. If an undefined function descriptor is + exported, arrange to define it. Warn about any other undefined + exported symbol. + (_bfd_xcoff_bfd_final_link): Write out the descriptor section. + (xcoff_write_global_symbol): Create a function descriptor when + necessary. + * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration. + * bfd-in2.h: Rebuild. + +Thu Nov 9 08:40:23 1995 Kim Knuttila <krk@cygnus.com> + + * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing + (ppc_coff_link_hash_table): new types for hashing + (ppc_coff_link_hash_newfunc): hash entry constructor + (ppc_coff_link_hash_table_init): hash table initializer + (ppc_coff_link_hash_table_create): hash table constructor + (ppc_record_toc_entry): changed references to hash table + (coff_ppc_relocate_section): changed references to hash table + + * libcoff-in.h (coff_link_hash_entry): removed toc_offset + * libcoff.h: Rebuild + + * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init + (coff_link_add_symbols): removed toc_offset init + +Thu Nov 9 04:00:38 1995 Ken Raeburn <raeburn@cygnus.com> + + * Makefile.in (.dep1): Make sure the file mkdep is to write exists + first. + + * configure.in: Added new option --with[out]-mmap. Set USE_MMAP + if it is given and mmep is available. + * acconfig.h: Undef USE_MMAP. + * configure, config.in: Regenerated. + * aoutx.h: If USE_MMAP is not defined, do all symbol and string + table handling the old way. + (aout_get_external_symbols): Don't complain if last byte of string + table is nonzero. + * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h. + (bfd_free_window) [! USE_MMAP]: Don't define. + (bfd_get_file_window, + _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort. + +Wed Nov 8 20:03:44 1995 Eric Freudenthal <freudenthal@nyu.edu> + + * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than + 0xffff0000. + +Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com> + + * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be + compatible with AMD generated COFF files. Try to support both AMD + and GNU formats simultaneously. + (coff_a29k_relocate_section): Likewise. + + * libbfd.c (bfd_get_file_window): Change writable parameter from + int to boolean; update all callers. Pass MAP_SHARED if not + writable--it's required on Solaris. Cast fprintf argument to + avoid warning. + * bfd-in.h (bfd_get_file_window): Update declaration. + * bfd-in2.h: Rebuild. + * aoutx.h: Update calls to bfd_get_file_window. + + * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC. + Change all uses. + (xcoff_swap_ldhdr_in): New static function. + (xcoff_swap_ldsym_in): New static function. + (xcoff_find_reloc): Handle the case of a single reloc correctly. + (xcoff_link_add_symbols): If we just created a descriptor, pass it + to _bfd_generic_link_add_one_symbol, to save a hash lookup. + Handle XTY_ER/XMC_XO symbols correctly. + (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols + rather than normal symbol table. + (bfd_xcoff_import_symbol): It's not an error if the symbol is + already defined with the same absolute value. + (xcoff_mark): When considering called symbols, check whether the + descriptor is from a dynamic object, rather than the symbol + itself. + (xcoff_build_ldsyms): Likewise. + + * libbfd.c (bfd_get_file_window): Change return type to boolean. + Cast realloc and malloc return values. If malloc or realloc fail, + set bfd_error_no_memory. + * bfd-in.h (bfd_get_file_window): Change type to boolean. + * bfd-in2.h: Rebuild. + +Tue Nov 7 11:53:48 1995 Kim Knuttila <krk@cygnus.com> + + * coff-ppc.c (ppc_record_toc_entry): new function. + (in_reloc_p): changed return value. + (coff_ppc_relocate_section): much rework. + (ppc_allocate_toc_section): new function. + (ppc_process_before_allocation): new function. + (ppc_coff_swap_sym_in_hook): new function. + + * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset. + (coff_link_add_symbols): initialize toc_offset. + + * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook + (coff_swap_aouthdr_out): Added more sections to the data + dictionary for the pe file header. Also changed linker version + number on the ppc side. + (dir_names): small improvements to the dictionary printing. + (pe_mkobject_hook): save the file level flags. + + * libcoff-in.h (coff_link_hash_entry): added toc_offset field + (pe_tdata): added real_flags field + (coff_tdata): added local_toc_sym_map and access macro + + * libcoff.h (coff_link_hash_entry): added toc_offset field + (pe_tdata): added real_flags field + (coff_tdata): added local_toc_sym_map and access macro + + * coffcode.h (coff_set_alignment_hook): added hook for PE. + (coff_mkobject): init for local_toc_sym_map + (coff_write_object_contents): set the internal_a.magic to + IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other + ppc compilers use. + +Tue Nov 7 13:48:58 1995 Ian Lance Taylor <ian@cygnus.com> + + * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs + entries until both the line number address and the function name + address are too large. + + * configure.in: Call AC_CHECK_PROG to find and cache AR. + * configure: Rebuilt. + + * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it + is defined in the environment. + +Tue Nov 7 10:57:24 1995 Jeffrey A Law (law@cygnus.com) + + * som.c (som_get_section_contents_in_window): Define to use + generic version. + +Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com> + + * coff-i860.c: New file, based on coff-i386.c. + * cpu-i860.c: New file, based on cpu-i386.c. + * hosts/i860mach3.h: New file, based on hosts/i386mach3.h. + * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New + targets, using i860coff_vec. + * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using + trad-core.o and hosts/i860mach3.h. + (i860coff_vec): Use coff-i860.o and cofflink.o. + * configure: Rebuild. + * Makefile.in: Rebuild dependencies. + (ALL_MACHINES): Add cpu-i860.o. + (BFD32_BACKENDS): Add coff-i860.o. + (CFILES): Add cpu-i860.c and coff-i860.c. + * targets.c (i860coff_vec): Declare. + (bfd_target_vector): Add &i860coff_vec. + * archures.c (bfd_i860_arch): Declare. + (bfd_archures_list): Add &bfd_i860_arch. + * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number. + (coff_set_flags): Handle bfd_arch_i860. + (coff_write_object_contents): Handle I860 a.out magic number. + +Mon Nov 6 14:34:07 1995 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of + the created .tc section to 2. + (xcoff_mark): Don't keep a .loader reloc for a call to an + undefined symbol when creating a shared library. + (xcoff_build_ldsyms): When creating a shared library, generate + global linkage code for a call to an undefined symbol. + +Sun Nov 5 21:44:13 1995 Ken Raeburn <raeburn@cygnus.com> + + * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES, + BFD32_BACKENDS, BFD64_BACKENDS. + (.dep1): Put mkdep output in a separate file. + Rebuilt dependencies. + + * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return + value. + + Permit use of mmap when available: + + * configure.in: Check for mmap, madvise, mprotect. + * config.in, configure: Regenerated. + + * libbfd.c (struct _bfd_window_internal): Define type. + (bfd_init_window, bfd_free_window, bfd_get_file_window): New + functions. + (ok_to_map): New static variable for debugging. + (_bfd_generic_get_section_contents_in_window): New function. + * bfd-in.h (bfd_window_internal): Declare type. + (bfd_window): Define type. + (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare. + * libbfd-in.h (_bfd_generic_get_section_contents_in_window): + Declare. + + * libaout.h (struct aoutdata): Add two window fields. + (obj_aout_sym_window, obj_aout_string_window): New macros. + * aoutx.h (some_aout_object_p): Initialize windows. + (aout_get_external_symbols): Get symbol data and strings in + windows instead of explicitly allocated buffers. + (slurp_symbol_table): Free window instead of memory. + (bfd_free_cached_info): Release windows instead of freeing storage + directly. + (aout_link_free_symbols): Ditto. + + * targets.c (bfd_target): Add new field for + get_section_contents_in_window. + (BFD_JUMP_TABLE_GENERIC): Updated. + * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c, + coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c, + libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new + macros for get_section_contents_in_window field. + +Sat Nov 4 12:23:26 1995 Fred Fish <fnf@cygnus.com> + + * core.c: Renamed to corefile.c + * makefile.dos (OBJS): Change core.o to corefile.o + * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c + +Fri Nov 3 15:54:59 1995 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub + to o. Clobber and restore the list of new csects around the call + to _bfd_generic_link_add_one_symbol, in case it wants to report a + linker error and the linker wants to read the symbol table. Reset + the line number count of a real section even if it has no relocs. + (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag. + + * coffgen.c (_bfd_coff_read_string_table): Warn if the string size + is too small. + +Thu Nov 2 23:16:39 1995 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about + an undefined symbol in a shared link. + + * linker.c (_bfd_generic_link_add_one_symbol): Correct type of + oldtype from bfd_link_order_type to bfd_link_hash_type. From + phdm@info.ucl.ac.be (Philippe De Muyter). + +Wed Nov 1 14:26:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + + * coff-m88k.c (rtype2howto): New static function. + (RTYPE2HOWTO): Use it rather than a macro definition. + + * coffcode.h (coff_write_object_contents): set internal_a.magic + to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS). + + * configure.in: m68*-motorola-sysv* does not use ptrace-core.o; + define TRAD_HEADER to new file hosts/delta68.h. + m88*-motorola-sysv*, however, does use ptrace-core.o. + * hosts/delta68.h: New file. + + * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to + bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc. + +Wed Nov 1 13:51:54 1995 Ken Raeburn <raeburn@cygnus.com> + + * i386linux.c (MY(vec)): Declare before use. + +Wed Nov 1 11:45:07 1995 Ian Lance Taylor <ian@cygnus.com> + + * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents): + Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases. + + * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the + BFD is not of the right type. + (bfd_elf_get_needed_list): Likewise. + * i386linux.c (bfd_linux_size_dynamic_sections): Likewise. + * sunos.c (bfd_sunos_get_needed_list): Likewise. + * xcofflink.c (XCOFF_XVECP): Define. + (bfd_xcoff_link_record_set): Don't do anything if the BFD is not + of the right type. + (bfd_xcoff_import_symbol): Likewise. + (bfd_xcoff_export_symbol): Likewise. + (bfd_xcoff_link_count_reloc): Likewise. + (bfd_xcoff_record_link_assignment): Likewise. + (bfd_xcoff_size_dynamic_sections): Likewise. + + * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol + table index against the number of symbols for a base relative + reloc. + + * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to + static function. + * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set + full_aouthdr flag here... + (_bfd_xcoff_bfd_final_link): ...not here. + +Tue Oct 31 12:52:02 1995 Fred Fish <fnf@cygnus.com> + + * libelf.h: Rename to elf-bfd.h to avoid conflict with + systems that have a system <libelf.h>. + * Makefile.in: Globally replace libelf.h with elf-bfd.h. + * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c, + elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c, + elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c, + elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c, + elfxx-target.h: Include elf-bfd.h rather than libelf.h. + * elfxx-target.h: Change libelf.h reference to elf-bfd.h. + +Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com> + + * ecoff.c (ecoff_set_symbol_info): Add new parameter weak. If + set, set BSF_WEAK in symbol. Change all callers. + (ecoff_get_extr): Set weakext based on BSF_WEAK. + (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to + _bfd_generic_link_add_one_symbol. + (ecoff_indirect_link_order): Check that the section tdata relocs + are not NULL before using them. + + * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and + define TRAD_HEADER as hosts/alphalinux.h. + * configure: Rebuild. + * hosts/alphalinux.h: New file. + * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma, + not int. + +Tue Oct 31 12:34:11 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and + C_ECOMM storage classes. + + * xcofflink.c (xcoff_mark_symbol): New static function, broken out + of xcoff_mark. + (xcoff_mark): Call xcoff_mark_symbol. + (bfd_xcoff_export_symbol): Call xcoff_mark_symbol. + (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than + doing it by hand. + (xcoff_build_ldsyms): Build a .loader symbol for an export symbol. + +Mon Oct 30 14:53:48 1995 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos + field. + (xcoff_find_reloc): New static function. + (xcoff_link_add_symbols): Use it. + (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos. + (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL. Don't + relocate the value of C_DECL. + + * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT. + +Sat Oct 28 01:25:34 1995 steve chamberlain <sac@slash.cygnus.com> + + * cofflink.c (_bfd_coff_generic_relocate_section): Make + callback decide what goes in .relocs. + * pe[i]-i386.c (TARGET_UNDERSCORE): Define. + * peicode.h (pe_mkobject_hook): Only copy aouthdr if + there is one. + +Sat Oct 28 01:51:02 1995 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c (xcoff_link_add_symbols): Handle csects in the + absolute section. + +Fri Oct 27 18:14:39 1995 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c: More improvements, mostly to fix handling of + constructors and a few other special cases. + * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to + zero, reverting yesterday's change. + * bfd-in.h (bfd_xcoff_link_record_set): Declare. + (bfd_xcoff_link_count_reloc): Declare. + (bfd_xcoff_record_link_assignment): Declare. + * bfd-in2.h: Rebuild. + +Fri Oct 27 14:42:15 1995 Niklas Hallqvist <niklas@appli.se> + + * PORTING, aout-arm.c, aout-encap.c, aout-rce.c, aout-target.h, + aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c + i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c, + i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c, + ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c: + Change PAGE_SIZE to TARGET_PAGE_SIZE. + + * m68knetbsd.c: Ditto as well as add support for the m68k4k object + format. + + * netbsd.h: Double ditto (incl. m68k4k support). NetBSD's text + segments includes the a.out header. See to that the magic number + *always* is big-endian. + + * config.bfd: Add m68*-hp*-netbsd* case. Cross-pollinate m68k and + m68k4k NetBSD configurations. + + * configure.in, configure: Separate i386 & mips NetBSD + configurations from other BSD ones. Don't assume DEC is the only + thing NetBSD/mips run on. Add {m68k,ns32k,sparc}-*-netbsd* + configurations. Add support for m68k4k NetBSD object format. + + * libaout.h: Added M_68K4K_NETBSD magic. + + * m68k4knetbsd.c: New file. + + * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P. + + * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to + <machine/endian.h>. + + * hosts/mipsnbsd.h: New file. + +Thu Oct 26 14:16:47 1995 Ian Lance Taylor <ian@cygnus.com> + + * xcofflink.c: Numerous changes to get closer to a working XCOFF + linker. + * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr, + toc_section, and entry_section fields. + (struct xcoff_section_tdata): Remove ldrel_count field. + * libcoff.h: Rebuild. + * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data + fields. + (coff_compute_section_file_positions): If RS6000COFF_C, generate + full a.out header if full_aouthdr is set in xcoff_data. + (coff_write_object_contents): Likewise. Set o_snentry and o_sntoc + based on sections stored in xcoff_data. + * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data + fields. + (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR. + (rs6000coff_vec): Set symbol_leading_char to '.'. + * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the + value stored in ret rather than returning a pointer value. + +Wed Oct 25 23:10:39 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC + format for now. + +Wed Oct 25 16:19:27 1995 Jeffrey A Law (law@cygnus.com) + + * som.c (som_slurp_string_table): Allocate the strings with malloc + since they're free'd by free_cached_info. + (som_slurp_symbol_table): Similarly for the symbol table. + +Wed Oct 25 14:59:22 1995 Per Bothner <bothner@kalessin.cygnus.com> + + * Makefile.in (diststuff): Don't make headers. + +Wed Oct 25 11:32:54 1995 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in: Rebuild dependencies. + + * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if + output_bfd is not SunOS. + (bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of + non-SunOS input files. + + * xcofflink.c: Extensive changes to support linking shared objects + and generating a .loader section. + * libcoff-in.h (struct xcoff_tdata): Add import_file_id field. + (struct xcoff_section_tdata): Add lineno_count, first_symndx, + last_symndx, and ldrel_count fields. + * libcoff.h: Rebuild. + * coff-rs6000.c (xcoff_howto_table): Correct reloc names. + * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD + is set. + * bfd-in.h (bfd_xcoff_import_symbol): Declare. + (bfd_xcoff_export_symbol): Declare. + (bfd_xcoff_size_dynamic_sections): Declare. + * bfd-in2.h: Rebuild. + +Tue Oct 24 17:44:20 1995 Stan Shebs <shebs@andros.cygnus.com> + + * configure.in: Add xcofflink.o to pmac_xcoff_vec. + * configure: Rebuild. + * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos. + * coff-pmac.c: Include coff-rs6000.c instead of duplicating its + contents. + (pmac_xcoff_vec): Update to use new xcoff support. + * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static. + (xcoff_write_armap): Declare buf as unsigned char. + * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR. + + * mpw-make.sed: Generalize subdir_do edit. + +Tue Oct 24 10:25:01 1995 Jeffrey A Law (law@cygnus.com) + + * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos + correctly. Don't initialize asect->vma. + +Fri Oct 20 13:23:48 1995 Ken Raeburn <raeburn@cygnus.com> + + * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use + something a little less than the page size. + +Thu Oct 19 13:06:09 1995 Ian Lance Taylor <ian@cygnus.com> + + * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp. + +Wed Oct 18 16:20:08 1995 steve chamberlain <sac@slash.cygnus.com> + + * coff-i386.c (coff_i386_reloc_type_lookup): New. + * coffcode.h (coff_write_object_contents): If .bss is before + .data us that as data_start. + * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc + calc correct. + * peicode.h (add_data_entry): Use _cooked_size of data directory. + (coff_swap_outhdr_out): Hardwire in version number. + +Wed Oct 18 16:50:54 1995 Ken Raeburn <raeburn@cygnus.com> + + * sunos.c (sunos_add_dynamic_symbols): Rename local variables + major and minor to *_vno, since the former are also macros in + SunOS header files. Cast result of bfd_alloc to appropriate + type. + + * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value + before assigning to sec_data. + +Wed Oct 18 13:25:17 1995 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is + now relative to the section, not absolute. + * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to + get the file name when there is a N_SO directory name. When + handling stabs, remember that section->vma was added to the + offset. + +Tue Oct 17 18:24:54 1995 Ian Lance Taylor <ian@cygnus.com> + + * sunos.c (struct sunos_link_hash_table): Add needed field. + (sunos_link_hash_table_create): Call bfd_release, not free. + (sunos_link_hash_table_create): Initialize needed field. + (sunos_add_dynamic_symbols): Record needed objects. + (bfd_sunos_get_needed_list): New function. + * bfd-in.h (bfd_sunos_get_needed_list): Declare. + * bfd-in2.h: Rebuild. + +Mon Oct 16 14:43:59 1995 steve chamberlain <sac@slash.cygnus.com> + + * libcoff-in.h (pe_data_type.in_reloc_p): New. + +Mon Oct 16 10:52:50 1995 Ian Lance Taylor <ian@cygnus.com> + + * bfd-in.h (struct bfd_link_needed_list): Rename from + bfd_elf_link_needed_list. + * bfd-in2.h: Rebuild. + * elf.c, elflink.h, libelf.h: Corresponding changes. + + Add start at AIX linker support; no shared libraries yet. + * xcofflink.c: New file. + * configure.in (rs600coff_vec): Use xcofflink.o. + * configure: Rebuild. + * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices + fields. + (struct xcoff_section_tdata): Define. + (xcoff_section_data): Define macro. + (_bfd_xcoff_bfd_link_hash_table_create): Declare. + (_bfd_xcoff_bfd_link_add_symbols): Declare. + (_bfd_xcoff_bfd_final_link): Declare. + (_bfd_ppc_xcoff_relocate_section): Declare. + * libcoff.h: Rebuild. + * coff-rs6000.c: Clean up a bit. + (xcoff_mkobject): Default modtype to 1L, not RE. Initialize + cputype, csects, and debug_indices. + (xcoff_copy_private_bfd_data): Copy cputype. + (xcoff_howto_table): Rename from rs6000coff_howto_table. + (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto. + (xcoff_reloc_type_lookup): Rename from + rs6000coff_reloc_type_lookup. + (coff_relocate_section): Define. + (_bfd_xcoff_sizeof_headers): Define. + (_bfd_xcoff_bfd_get_relocated_section_contents): Define. + (_bfd_xcoff_bfd_relax_section): Define. + (_bfd_xcoff_bfd_link_split_section): Define. + (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not + coff. + * coffcode.h (coff_compute_section_file_positions): If AIX, + increment sofar by SMALL_AOUTSZ if not executable. + (coff_write_object_contents): If AIX, always output an a.out + header; if not executable, header size of SMALL_AOUTSZ. + * hash.c (struct bfd_strtab_hash): Add xcoff field. + (_bfd_stringtab_init): Initialize xcoff field. + (_bfd_xcoff_stringtab_init): New function. + (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length. + (_bfd_stringtab_emit): In XCOFF mode, write out length. + * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare. + * libbfd.h: Rebuild. + * Makefile.in: Rebuild dependencies. + (BFD32_BACKENDS): Add xcofflink.o. + (CFILES): Add xcofflink.c. + + * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not + SEC_NO_FLAGS, for .acommon section. From Peter Schauer + <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>. + +Sat Oct 14 21:36:02 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c. + +Fri Oct 13 17:48:43 1995 Ken Raeburn <raeburn@cygnus.com> + + * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment. + * config.in: Regenerated. + + * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048. + (_bfd_chunksize): New variable. + (_bfd_new_bfd): Set it to getpagesize() if negative, and use it + for obstack chunk size. + * configure.in: Check for getpagesize. + * configure: Regenerated. + + Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * trad-core.c (rawptr): Make it a local variable of + ptrace_unix_core_file_p. + +Fri Oct 13 11:22:01 1995 steve chamberlain <sac@slash.cygnus.com> + + * coff-arm.c (in_reloc_p): New. + * coff-i386.c (in_reloc_p): New. + * coffcode.h: Allways include peicode.h if COFF_WITH_PE. + (coff_write_object_contents): Only set has_reloc_section + if PE_IMAGE. + * cofflink.c (_bfd_coff_generic_relocate_section): Call + in_reloc_p to decide if reloc should be emitted. + * libcoff.h (pe_data_type.in_reloc_p): New. + * peicode.h (pe_mkobject): Initialize in_reloc_p. + +Wed Oct 11 00:49:29 1995 Ian Lance Taylor <ian@cygnus.com> + + * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c. + (_bfd_coff_read_internal_relocs): Likewise. + * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c. + (_bfd_coff_read_internal_relocs): Likewise. + + * elflink.h (elf_link_add_object_symbols): Correct conditions + under which type and size change warnings are issued. + +Tue Oct 10 18:32:46 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffgen.c (coff_count_linenumbers): Don't count line numbers for + a symbol which is not in a real section. + (coff_write_native_symbol): Corresponding change. + + * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from + coff_link_hash_newfunc and make non-static. + (_bfd_coff_link_hash_table_init): New function, broken out of + _bfd_coff_link_hash_table_create. + (_bfd_coff_link_hash_table_create): Use it. + (process_embedded_commands): Make static. + * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare. + (_bfd_coff_link_hash_table_init): Declare. + * libcoff.h: Rebuild. + + * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype + field in XCOFF tdata. + (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef + U802ROMAGIC, for clarity. Try to set arch and machine correctly + based on cputype stored in a.out header, or in n_type of initial + .file symbol. + (coff_write_object_contents): Set cputype correctly in a.out + header. + (coff_slurp_symbol_table): Add casts to file_ptr to avoid + warnings. + * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field. + (coff_swap_aouthdr_out): Swap out cputype field. Don't clear + old resv1 field. + * libcoff-in.h (struct xcoff_tdata): Add cputype field. + * libcoff.h: Rebuild. + + * cpu-rs6000.c (rs6000_compatible): New static function. + (bfd_rs6000_arch): Use it. + * cpu-powerpc.c (powerpc_compatible): New static function. + (arch_info_struct): Define various flavours of PowerPC. + (bfd_powerpc_arch): Use powerpc_compatible. Point at + arch_info_struct. + +Tue Oct 10 10:50:46 1995 Fred Fish <fnf@cygnus.com> + + * Makefile.in (FLAGS_TO_PASS): Remove BISON. + +Tue Oct 10 01:28:29 1995 Ian Lance Taylor <ian@cygnus.com> + + * elflink.h (elf_link_add_object_symbols): Don't warn about + changing the size or type if the old definition was weak. + +Mon Oct 9 11:24:08 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (combined_entry_type): Add fix_line field. + (coff_slurp_line_table): Warn if we try to set the lineno field of + a symbol twice. + (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and + C_EINCL by setting fix_line. Fix C_BSTAT symbol value. + * coffgen.c (coff_mangle_symbols): Handle fix_line. + (coff_write_symbol): Only use N_DEBUG if the symbol is in the + absolute section. + (coff_print_symbol): Print fix_value symbols in a useful fashion. + * libcoff.h: Rebuild. + + * libcoff-in.h (struct xcoff_tdata): Define. + (xcoff_data): Define. + * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union. + * bfd-in2.h, libcoff.h: Rebuild. + * coff-rs6000.c (xcoff_mkobject): New static function. + (coff_mkobject): Define. + (xcoff_copy_private_bfd_data): New static function. + (coff_bfd_copy_private_bfd_data): Define. + (rs6000coff_howto_table): Change R_TOC complain_on_overflow from + signed to bitfield. + (rs6000coff_vec): Add DYNAMIC to object_flags. + * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and + .loader sections specially. + (coff_new_section_hook): If RS6000COFF_C, get the .text and .data + section alignment from the XCOFF tdata information. + (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on + F_SHROBJ, and copy the extra a.out header information into the + XCOFF tdata structure. + (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ, + F_DYNLOAD and the extra a.out header information. + (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or + C_HIDEXT symbol with attached csect information. + * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap + in the o_maxdata field. + (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields. + * coffgen.c (coff_renumber_symbols): Don't move any symbol to the + end if BSF_NOT_AT_END is set. + + * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to + _bfd_read_ar_hdr_fn. + * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly. + * bfd-in2.h, libbfd.h: Rebuild. + * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr + return value. + (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise. + (bfd_slurp_bsd_armap_f2): Likewise. + (_bfd_slurp_extended_name_table): Likewise. + +Fri Oct 6 16:18:35 1995 Ken Raeburn <raeburn@cygnus.com> + + Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS + when the symbol table is empty. + + * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve + space for section symbols, since we don't output them either. + (elf_m68k_adjust_dynindx): Removed. + + * ptrace-core.c (rawptr): Make it a local variable of + ptrace_unix_core_file_p. + +Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * coff-rs6000.c (xcoff_write_archive_contents): Return false, not + NULL. + + * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and + Mac object file formats. + +Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffgen.c (coff_fix_symbol_name): Don't try to set up file + auxent if there isn't one. + (coff_write_symbols): If there is no file auxent, use SYMNMLEN + rather than FILNMLEN as the maximum name length. + + * coffcode.h (bfd_coff_backend_data): Add new field + _bfd_coff_print_aux. + (bfd_coff_print_aux): New static function. + (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the + scnlen field of an XTY_LD csect aux entry. + (coff_print_aux): New static function. + (coff_slurp_symbol_table): Don't pointerize scnlen field; now done + in coff_pointerize_aux_hook. + (bfd_coff_std_swap_table): Initialize new field. + * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux. + * libcoff.h: Rebuild. + * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field. + * coff-mips.c (mips_ecoff_backend_data): Likewise. + + * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG + if there are symbols, for native AIX ld compatibility. + + * coffcode.h (bfd_coff_backend_data): Add new field + _bfd_coff_pointerize_aux_hook. + (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C + or I960, and as 0 otherwise. + (bfd_coff_std_swap_table): Initialize new field. + * libcoff.h: Rebuild. + * coffgen.c (coff_pointerize_aux): Change parameters to take + symbol pointer instead of type and class, and to take aux index. + Call _bfd_coff_pointerize_aux_hook if it is defined. + (coff_get_normalized_symtab): Always call coff_pointerize_aux. + * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields. + * coff-mips.c (mips_ecoff_backend_data): Likewise. + + * coff-rs6000.c: Add full support for AIX archives. Rewrite old + read-only/host-only support. + + * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be + BSF_LOCAL. + (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if + RS6000COFF_C. + + * targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify + BFD_JUMP_TABLE_ARCHIVE accordingly. + * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare. + (_bfd_compute_and_write_armap): Declare. + (_bfd_generic_read_ar_hdr): Declare. + (_bfd_read_ar_hdr): Define. + (_bfd_noarchive_read_ar_hdr): Define. + (_bfd_archive_bsd_read_ar_hdr): Define. + (_bfd_archive_coff_read_ar_hdr): Define. + * archive.c: Change all callers of _bfd_snarf_ar_hdr to call + _bfd_read_ar_hdr instead. + (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr. + (_bfd_compute_and_write_armap): Rename from + compute_and_write_armap. Make non-static. Change all callers. + * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather + than _bfd_snarf_ar_hdr. + * aout-target.h (MY_read_ar_hdr): Define if not defined. + * ieee.c (ieee_read_ar_hdr): Define. + * libecoff.h (_bfd_ecoff_read_ar_hdr): Define. + * oasys.c (oasys_read_ar_hdr): Define. + * som.c (som_read_ar_hdr): Define. + * bfd-in2.h, libbfd.h: Rebuild. + +Thu Oct 5 14:04:07 1995 steve chamberlain <sac@slash.cygnus.com> + + * peicode.c (coff_swap_filehdr_in): If symptr is + zero, there aren't any symbols, even if nsyms is set. + +Thu Oct 5 11:45:02 1995 Ian Lance Taylor <ian@cygnus.com> + + * libecoff.h (struct ecoff_backend_data): Add adjust_headers + field. + * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha + sections, and set styp correctly for them: .got, .hash, .dynamic, + .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment. + (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section + types. + (ecoff_sort_hdrs): New static function. + (ecoff_compute_section_file_positions): Return boolean, not void. + Sort the sections by VMA before looking through them. Put the + first non SEC_ALLOC section on a new page. Put every SEC_ALLOC + section on an appropriate boundary within the page. + (ecoff_compute_reloc_file_positions): Check return value of + ecoff_compute_section_file_positions. + (_bfd_ecoff_set_section_contents): Likewise. + (_bfd_ecoff_write_object_contents): Check for various Alpha + section types when incrementing text_size and data_size. Call + adjust_headers backend function if it exists. + * coff-alpha.c (alpha_adjust_headers): New static function. + (alpha_ecoff_backend_data): Initialize adjust_headers field. + * coff-mips.c (mips_ecoff_backend_data): Likewise. + + * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6. + +Wed Oct 4 18:15:02 1995 Jeff Law (law@hurl.cygnus.com) + + * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead + of ALTERNATE_AIX_CORE_FORMAT. + * configure.in (aix4): No longer need CORE_FLAGS. + * configure: Updated. + +Wed Oct 4 15:36:36 1995 Ken Raeburn <raeburn@cygnus.com> + + NS32k changes from Ian Dall: + * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New + macros. + (aout_link_input_section_std, aout_link_input_section_ext, + aout_link_reloc_link_order): Call them instead of _bfd_* + versions. + * aout-target.h (MY_exec_header_not_counted): New macro, defaults + to zero. + (backend_data): Use it instead of hardcoded zero. + + * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro. + (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi. + + * ns32knetbsd.c: Include bfd.h. + (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros. + (MY_bfd_reloc_type_lookup): Declare function too. + * pc532-mach.c (set_sizes): Don't declare. + (MY_text_includes_header, MY_exec_header_not_counted): Define. + (backend_data, MY_backend_data): Don't define. + + * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and + ns32k-*-lites* like ns32k-*-netbsd*. + + * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to + compile on lites. + +Wed Oct 4 14:15:52 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (coff_write_object_contents): Restore setting + f_timdat to 0, deleted on August 22. + +Tue Oct 3 16:28:32 1995 steve chamberlain <sac@slash.cygnus.com> + + * coffcode.h (coff_bfd_copy_private_symbol_data, + coff_bfd_copy_private_section_data, + coff_bfd_copy_private_bfd_data): ifdef to allow overrides. + * peicode.h (coff_bfd_copy_private_bfd_data): New + (pe_bfd_copy_private_bfd_data): New. + (coff_swap_scnhdr_in): Swap bss size into the right place. + (pe_print_private_bfd_data): Add some newlines. + +Tue Oct 3 11:53:04 1995 Jeff Law (law@hurl.cygnus.com) + + * som.c (setup_sections): Don't die if a space has no subspaces. + +Mon Oct 2 14:08:55 1995 Ian Lance Taylor <ian@cygnus.com> + + * elflink.h (elf_link_add_object_symbols): Don't let a weak + dynamic symbol override a common symbol. Don't change the size or + type if they have been set and the new symbol is not a definition. + Warn if the size or type changes. + +Sun Oct 1 01:34:41 1995 Jeff Law (law@hurl.cygnus.com) + + * som.c (som_begin_writing): Don't write the symbol table or + symbol strings. + (som_finish_writing): Write them here. Place them after the + subspace data, but before the relocs. + +Fri Sep 29 11:01:55 1995 Ian Lance Taylor <ian@cygnus.com> + + * sunos.c (sunos_add_one_symbol): Just pass false, not + info->shared_library, to sunos_create_dynamic_sections. + (sunos_scan_ext_relocs): Don't warn about a reloc in the .text + section. + (sunos_check_dynamic_reloc): Remove .text section assertion. + +Thu Sep 28 18:48:47 1995 Stan Shebs <shebs@andros.cygnus.com> + + * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*. + * configure, configure.in: Add pmac_xcoff_vec case. + * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o. + * coff-pmac.c: New file, PowerMac XCOFF support. + * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case. + * targets.c (pmac_xcoff_vec): Declare. + + * mpw-config.in: Various changes to be compatible with the + autoconf-based configury. + * mpw-make.sed: New file, sed commands to translate Unix + makefile into MPW syntax. + * mpw-make.in: Remove. + * hosts/mpw.h: Remove. + * bfd-in.h, bfd-in2.h: If MPW, include the file that defines + true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED. + +Thu Sep 28 17:06:23 1995 steve chamberlain <sac@slash.cygnus.com> + + * binary.c (binary_get_symtab): Return an empty string on error. + * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB. + +Thu Sep 28 15:30:44 1995 Kim Knuttila <krk@nellie> + + * coff-ppc.c: Reformatted according to gnu conventions + Removed irrelevant "if 0" code + +Thu Sep 28 11:19:53 1995 Ian Lance Taylor <ian@cygnus.com> + + * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak + symbols rather than as indirect symbols. + (MY(slurp_symbol_table)): Don't do anything special about + secondary symbols. + + * coffcode.h (coff_new_section_hook): Make sure that the alignment + of .ctors and .dtors sections is no larger than 2. + + * sunos.c (sunos_add_one_symbol): Don't change + bfd_link_hash_common to bfd_link_hash_new, since it may be on the + undef list. + (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the + dynamic symbols when creating a shared library. + (sunos_scan_ext_relocs): Handle relocs correctly when creating a + shared library. + (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as + written even if it is not defined in a regular object. + (sunos_write_dynamic_symbol): Use plt_offset for the address of + the jump table reloc. Add an assertion. Use RELOC_JMP_SLOT + rather than the constant 22. + (sunos_check_dynamic_reloc): Handle creating a shared library. + (sunos_finish_dynamic_link): Set the first entry in the GOT to + zero when creating a shared library. + * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC, + write it out at the start of the symbol table. + + * Makefile.in (BFD32_BACKENDS): Add coff-arm.o. + +Thu Sep 28 00:58:05 1995 Doug Evans <dje@deneb.cygnus.com> + + * config.bfd: Add arm-*-coff. + * configure.in, configure: Add armcoff_{little,big}_vec. + * targets.c (armcoff_{little,big}_vec): Declare. + (bfd_target_vector): Add armcoff_{little,big}_vec. + * coff-arm.c (armcoff_{little,big}_vec): Always define. + +Wed Sep 27 10:37:14 1995 Ian Lance Taylor <ian@cygnus.com> + + * targets.c (bfd_find_target): Remove debugging code. + +Wed Sep 27 07:23:39 1995 Kim Knuttila <krk@nellie> + + * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE + support on powerpc. + * Makefile.in: added *-ppc files + * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to + allow pe based .o's to be shared with other tools on ppc/NT + * config.bfd: added powerpc[le]-[pe|winnt] config support + * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec + * peicode.h: Added more section flags for PE on ppc + Added coff_swap_filehdr_out to allow peicode.h to be + used for non-image PE files on ppc. + Check for image, or not, before copying pe_opthdr + * targets.c: Added new bfd's + * targets.c: Removed two inactive bfds that shouldn't have made it this + far. + +Tue Sep 26 14:06:41 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use + explicit values to initialize all relocs. Change all users. + (ppc_elf_brtaken_inner): New function to handle branch predicition + relocs. + (ppc_elf_brtaken_reloc): Ditto. + (ppc_elf_howto_raw): Use new functions. Make sure all unsupported + relocs use ppc_elf_unsupported_reloc. + (ppc_elf_merge_private_bfd_data): Keep track of whether an error + needs to be reported. + (ppc_elf_relocate_section): Support branch prediction relocs. + +Tue Sep 26 12:48:05 1995 Ian Lance Taylor <ian@cygnus.com> + + * bfd.c (bfd_assert): Remove \n from string passed to + _bfd_error_handler. + + * coff-i386.c: (TWO_DATA_SECS): Don't define. + * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook. + (bfd_coff_make_section_hook): Don't define. + (coff_make_section_hook): Remove. + (sec_to_styp_flags): Remove TWO_DATA_SECS case. + (styp_to_sec_flags): Likewise. + (coff_write_object_contents): Likewise. + (bfd_coff_std_swap_table): Don't initialize make_section_hook + field. + * libcoff.h: Rebuild. + * coffgen.c (make_a_section_from_file): Just call + bfd_make_section_anyway, not bfd_make_section or + bfd_coff_make_section_hook. + * ecoff.c (_bfd_ecoff_make_section_hook): Remove. + * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare. + * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize + make_section_hook field. + * coff-mips.c (mips_ecoff_backend_data): Likewise. + + * aoutx.h (translate_from_native_sym_flags): Don't try to stuff + pointers into value field for warning and indirect symbols; just + leave the value field alone. + * linker.c (generic_link_add_symbol_list): Use next symbol for + warning and indirect symbols, rather than looking in symbol value. + * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr + parameter. Change all callers. Remove support for indirect + symbols; it didn't work anyhow. + (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable. + * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT. + * bfd-in2.h: Rebuild. + +Mon Sep 25 16:04:09 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs, + go back to telling the tools this reloc operates on 32 bits. + +Mon Sep 25 11:48:02 1995 Ian Lance Taylor <ian@cygnus.com> + + * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler + rather than a direct fprintf. + * archive.c (_bfd_write_archive_contents): Likewise. + * coffcode.h (coff_slurp_symbol_table): Likewise. + * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise. + (ppc_elf_unsupported_reloc): Likewise. + (ppc_elf_relocate_section): Likewise. + * i386linux.c (linux_tally_symbols): Likewise. + (linux_finish_dynamic_link): Likewise. + * osf-core.c (osf_core_core_file_p): Likewise. + * rs6000-core.c (rs6000coff_get_section_contents): Likewise. + * som.c (som_sizeof_headers): Likewise. + * srec.c (srec_bad_byte): Likewise. + * bfd.c (bfd_assert): Likewise. Also change file to be const. + * libbfd-in.h (bfd_assert): Declare first parameter const. + * libbfd.h: Rebuild. + * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning + bfd_reloc_overflow is enough. + * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort. + * coff-h8500.c (rtype2howto): Likewise. + * coff-z8k.c (rtype2howto): Likewise. + * coffcode.h (dummy_reloc16_extra_cases): Likewise. + * elf.c (_bfd_elf_get_lineno): Likewise. + (_bfd_elf_no_info_to_howto): Likewise. + (_bfd_elf_no_info_to_howto_rel): Likewise. + * hp300hpux.c (convert_sym_type): Likewise. + (MY(swap_std_reloc_in)): Likewise. + * elf.c (bfd_section_from_shdr): Remove #if 0 sections. + + * libaout.h (struct aoutdata): Add line_buf field. + * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer + and filename_buffer. Instead, use a malloc buffer stored in the + new line_buf field. Remove length restrictions. + + * coffgen.c (string_size): Remove static variable. + (debug_string_size, debug_string_section): Likewise. + (coff_fix_symbol_name): Add string_size_p, debug_string_section_p, + and debug_string_size_p parameters. Use them instead of the + global variables. Change all callers. + (coff_write_symbol): Likewise. + (coff_write_alien_symbol, coff_write_native_symbol): Likewise. + (coff_write_symbols): Add local variables to replace removed + global variables. + + * libcoff-in.h (struct coff_section_tdata): Add offset, i, + function, and line_base fields. + * libcoff.h: Rebuild. + * coffgen.c (coff_find_nearest_line): Use section tdata to cache + information, rather than using static variables. + + * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC + file. From Peter DeWolf <pld@amt.tay1.dec.com>. + + * init.c (initialized): Remove static variable. + (bfd_init): Don't bother setting initialized. + (bfd_check_init): Remove. + * opncls.c (_bfd_new_bfd): Don't call bfd_check_init. + * libbfd.h: Rebuild. + +Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * rs6000-core.c (rs6000coff_core_p): Don't check the core file + size for full core dumps. Copy core file header to private data. + (rs6000coff_core_file_failing_command, + rs6000coff_core_file_failing_signal): New functions to extract + the file name and terminating signal from the core file. + * coff-rs6000.c: Use them. + +Fri Sep 22 17:44:47 1995 Ian Lance Taylor <ian@cygnus.com> + + Change arch info to be const, initialized at compile time. + * archures.c: Reindent many functions. Change CONST to const. + (bfd_arch_info_type): Make arch_name const. Remove disassemble; + nothing set it anyhow. Make next const. + (bfd_arch_info_list): Remove. + (bfd_archures_list): Rename from archures_init_table. Change from + a table of function pointers to a table of bfd_arch_info_type + structure addresses. + (bfd_scan_arch): Rewrite accordingly. Return a const pointer. + (bfd_lookup_arch): Likewise. + (bfd_set_arch_info): Rewrite accordingly. Change argument to be a + const pointer. + (bfd_default_arch_struct): Make const. + (bfd_arch_init, bfd_arch_linkin): Remove. + (bfd_get_arch_info): Return a const pointer. + * init.c (bfd_init): Don't call bfd_arch_init. + * bfd.c (struct _bfd): Make arch_info const. + * bfd-in2.h: Rebuild. + * libbfd.h: Rebuild. + * configure.in: Put & before everything in $selarchs. + * configure: Rebuild. + * cpu-*.c: Change bfd_*_arch from a function which calls + bfd_arch_linkin to a const structure. + * ieee.c (ieee_object_p): Make arch const. + +Fri Sep 22 16:23:18 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * reloc.c (bfd_reloc_code_type): Add relocations to support all of + PowerPC V.4. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + + * elf32-ppc.c (reloc_type): Update names to match current draft. + (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC + relative. Update names to current V.4 draft. + (ppc_elf_reloc_type_lookup): Add support for more relocations. + (ppc_elf_relocate_section): Rename relocations to match draft. + +Thu Sep 21 21:53:18 1995 Michael Meissner <meissner@cygnus.com> + + * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules + compiled with -mrelocatable-lib to be linked with either normal + modules or -mrelocatable modules. + +Wed Sep 20 12:03:26 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (coff_write_object_contents): Clear the vstamp field + in the a.out header. + + * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for + a reloc against a local symbol, even if it's not a section. + +Tue Sep 19 17:02:26 1995 Ian Lance Taylor <ian@cygnus.com> + + * targets.c (bfd_target): Remove unused align_power_min field. + * bfd-in2.h: Rebuild. + * All backends: Remove initialization of align_power_min. + +Tue Sep 19 14:02:21 1995 steve chamberlain <sac@slash.cygnus.com> + + * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right. + +Mon Sep 18 14:35:01 1995 Arne H. Juul <arnej@pvv.unit.no> + + * config.bfd (mips-dec-netbsd*): New target. + * configure.host (mips-dec-netbsd*): New host. + * configure.in (mips-dec-netbsd*): New native. + * configure: Rebuild. + +Fri Sep 15 10:24:36 1995 Ian Lance Taylor <ian@cygnus.com> + + Make the COFF backend linker merge common types: + * cofflink.c (struct coff_debug_merge_element): Define. + (struct coff_debug_merge_type): Define. + (struct coff_debug_merge_hash_entry): Define. + (struct coff_debug_merge_hash_table): Define. + (coff_debug_merge_hash_table_init): Define. + (coff_debug_merge_hash_table_free): Define. + (coff_debug_merge_hash_lookup): Define. + (struct coff_final_link_info): Add debug_merge field. + (coff_debug_merge_hash_newfunc): New static function. + (_bfd_coff_final_link): Allocate and free debug_merge table. + (coff_link_input_bfd): Merge identical enum, struct and union + types. + +Thu Sep 14 14:53:58 1995 Ian Lance Taylor <ian@cygnus.com> + + Convert i960 COFF to use COFF backend linker. + * coff-i960.c (coff_i960_relocate): Use a coff_section_data + structure to store the symbol being used. + (coff_i960_start_final_link): New static function. + (coff_i960_relocate_section): New static function. + (coff_i960_adjust_symndx): New static function. + (coff_start_final_link): Define. + (coff_relocate_section): Define. + (coff_adjust_symndx): Define. + * coffcode.h (bfd_coff_backend_data): Add new callback function + _bfd_coff_start_final_link. + (bfd_coff_start_final_link): Define. + (coff_start_final_link): Define if not defined. + (bfd_coff_std_swap_table): Add coff_start_final_link. + * cofflink.c (_bfd_coff_internal_syment_name): Make globally + visible. + (_bfd_coff_final_link): Call bfd_coff_start_final_link if the + function callback is not NULL. + * libcoff-in.h (struct coff_section_tdata): Add tdata field. + (_bfd_coff_internal_syment_name): Declare. + * libcoff.h: Rebuild. + * configure.in (icoff_big_vec): Add cofflink.o. + (icoff_little_vec): Likewise. + * configure: Rebuild. + +Wed Sep 13 17:38:23 1995 Fred Fish <fnf@rtl.cygnus.com> + + * Makefile.in (clean-info): Remove extraneous tab from line + following action. + +Wed Sep 13 13:27:53 1995 Ian Lance Taylor <ian@cygnus.com> + + * cofflink.c (coff_link_input_bfd): Fail if a section with no + contents has relocs. + +Thu Sep 12 12:45:34 1995 steve chamberlain <sac@slash.cygnus.com> + + * coffcode.h (coff_compute_section_file_positions): Keep the + raw size safe. + (coff_write_object_contents): Remember if it's a relocatable + file. + * libcoff-in.h (pe_data_type): New member 'has_reloc_section' + * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag + if relocatable file. Swap out saved raw size. + +Tue Sep 12 12:14:33 1995 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (do_maintainer_clean): Rename from do_realclean. + (maintainer-clean): Rename from realclean, passing + maintainer-clean down to subdirectories, but leave realclean as a + synonym. + + * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to + warning callback. + + * dep-in.sed: Remove config.h from generated dependencies. + + * sunos.c (sunos_slurp_dynamic_symtab): New static function, + broken out of sunos_canonicalize_dynamic_symtab. + (sunos_canonicalize_dynamic_symtab): Call new function + sunos_slurp_dynamic_symtab. + (sunos_add_dynamic_symbols): Add three new parameters. Return the + dynamic symbol table to the caller. + * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols + callback to override the symbols being read. + * libaout.h (struct aout_backend_data): Add three new parameters + to add_dynamic_symbols callback. + + Extensive minor changes to avoid various gcc warnings. Also: + * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o. + * archures.c (bfd_arch_info_type): Change mach field from long to + unsigned long. + (bfd_lookup_arch): Change machine parameter from long to unsigned + long. + +Mon Sep 11 10:55:47 1995 Ian Lance Taylor <ian@cygnus.com> + + * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find + a symbol with a non-zero plt_offset. + +Fri Sep 8 11:47:24 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (align_file_position): Remove; not used. + + * configure.in: Only check for <sys/procfs.h> on a native system, + and make sure it defines prstatus_t. + * configure: Rebuild. + +Thu Sep 7 12:48:01 1995 Ian Lance Taylor <ian@cygnus.com> + + * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test. + + * config.in: Rename from config.h.in. + * configure.in: Call AC_CONFIG_HEADER with config.h:config.in. + Check for config.h:config.in when creating stamp-h. + * configure: Rebuild. + * Makefile.in (stamp-h): Depend upon config.in rather than + config.h.in. Set CONFIG_HEADERS to config.h:config.in when + calling config.status. + + * Makefile.in (do_distclean): Remove config.h and stamp-h. + (Makefile): Just rebuild Makefile. + (config.h, stamp-h): New targets. + * configure.in: Create stamp-h when rebuilding config.h. + * configure: Rebuild. + +Wed Sep 6 15:00:33 1995 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Call AC_CONFIG_HEADER. Substitute + HOST_64BIT_LONG. Check that various header files exist. Check + that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc + and/or free need to be declared. Don't make a link to sysdep.h. + Define TRAD_HEADER for various hosts. + * configure: Rebuild. + * configure.host: Don't set my_host. Add definitions taken from + host header files for various entries. Remove entries which now + do nothing. + * acconfig.h: New file. + * config.h.in: New file, built by autoheader. + * sysdep.h: New file. + * Makefile.in (do_distclean): Don't remove sysdep.h. + (RECONFIG): Remove. + (LOCAL_H_DEPS): New variable. + ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and + $(RECONFIG). + ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise. + ($(OPTIONAL_BACKENDS)): Likewise. + (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than + looking through sysdep.h. + * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile. + (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG. + (fprintf_vma, sprintf_vma): Likewise. + (int64_type, uint64_type): Don't define. + * bfd-in2.h: Rebuild. + * archures.c, bfd.c, srec.c: Include <ctype.h>. + * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS. + * lynx-core.c: Include stuff from old hosts/lynx.h. + * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL), + rather than NO_FCNTL. + * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__ + rather than NATIVE_HPPAHPUX_COMPILER. + * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it + is defined. + * hosts/*.h: Remove all header files which merely include, + declare, and define things. Leave header files which define + information needed by trad-core.c. + + * aclocal.m4 (BFD_BINARY_FOPEN): Define. + (BFD_CC_FOR_BUILD): Define. + * configure.in: Use BFD_CC_FOR_BUILD. + * configure: Rebuild. + +Tue Sep 5 19:35:28 1995 Ian Lance Taylor <ian@cygnus.com> + + * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist. + * configure: Rebuild. + + * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of + a global symbol. + +Tue Sep 5 12:48:26 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * config.bfd: i386pe_ve -> i386pe_vec. + +Mon Sep 4 14:02:43 1995 Ian Lance Taylor <ian@cygnus.com> + + * configure.host: Incorporate host Makefile fragments by setting + shell variables. + * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and + AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a + value based on whether the code is being compiled by a cross + compiler. Don't substitute host_makefile_frag or frags. + * aclocal.m4: New file to define local AC_PROG_CC. + * configure: Rebuild. + * Makefile.in (INSTALL): Set to @INSTALL@. + (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@. + (INSTALL_DATA): Set to @INSTALL_DATA@. + (AR): Set to @AR@. + (CC): Define as @CC@. + (CFLAGS): Set to @CFLAGS@. + (CC_FOR_BUILD): Set to @CC_FOR_BUILD@. + (@host_makefile_frag@): Remove. + (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS) + after other options. + (config.status): Remove dependency upon @frags@. + * config/*.mh, config/README: Remove. + + * config.bfd: Rewrite to incorporate the contents of the Makefile + fragments by setting shell variables, rather than merely returning + the name of a Makefile fragment. + * configure.in: Use shell variables set by config.bfd rather than + looking at the target Makefile fragment files. Don't substitute + target_makefile_frag. Do substitute TDEFINES. + * configure: Rebuild. + * Makefile.in (@target_makefile_frag@): Remove. + (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@. + * config/*.mt: Remove. + +Mon Sep 4 03:13:28 1995 Ken Raeburn <raeburn@cygnus.com> + + * configure.in: Put changequote lines around "i[345]86" patterns + section of core file support. + +Sun Sep 3 11:31:58 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_print_private_bfd_data): Define to use the + generic version. + +Fri Sep 1 17:08:40 1995 steve chamberlain <sac@slash.cygnus.com> + + * peicode.h (coff_swap_aouthdr_in): Add ImageBase to + entry, text_start and data_start. + +Fri Sep 1 18:06:28 1995 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (OFILES): Remove $(TDEPFILES). + * config/apollo.mt (TDEPFILES): Remove. + * config/README: Update. + + * configure.in: For a native configuration, set COREFILE and + COREFLAG based on the canonical host name. + * configure: Rebuild. + * Makefile.in: Rebuild dependencies. + (ALL_CFLAGS): Add @COREFLAG@. + (OFILES): Replace $(HDEPFILES) with @COREFILE@. + * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file + support routines. Check LYNX_CORE rather than HOST_LYNX. + * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX. + * i386lynx.c: Likewise. + * m68klynx.c: Likewise. + * sparclynx.c: Likewise. + * rs6000-core.c: Check AIX_CORE rather than HOST_AIX. + * *-core.c: Comment changes. + * config/decstation.mh (HDEPFILES): Remove. + (HDEFINES): Remove -DTRAD_CORE. + * config/irix3.mh (RANLIB): Remove. + * config/irix4.mh (HDEPFILES, RANLIB): Remove. + (HDEFINES): Remove -DIRIX_CORE. + * config/riscos.mh (RANLIB, HDEPFILES): Remove. + (HDEFINES): Remove -DTRAD_CORE. + * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove. + * config/ultra3.mh (RANLIB): Remove. + * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove. + * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove. + * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove. + * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove. + * config/hppahpux.mh, config/hppaosf.mh: Remove. + * config/i386aix.mh, config/i386bsd.mh: Remove. + * config/i386linux.mh, config/i386mach3.mh: Remove. + * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove. + * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove. + * config/mipsmach3.mh, config/news-mips.mh: Remove. + * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove. + * config/rs600.mh, config/rs6000lynx.mh: Remove. + * config/solaris2.mh, config/stratus.mh: Remove. + * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove. + * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove. + +Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp> + + * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or + DT_FINI entry if the appropriate symbol is not in the hash table. + + * libelf.h (struct elf_backend_data): Add create_program_headers + and want_hdr_in_seg fields. + * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not + defined. + (elf_backend_create_program_headers): Likewise. + (elfNN_bed): Initialize create_program_headers and + want_hdr_in_seg. + * elf.c (get_program_header_size): Call create_program_headers + backend routine. + (map_program_segments): Check want_hdr_in_seg backend field. Call + create_program_headers backend routine. + + * elf.c (assign_file_positions_except_relocs): Align non allocated + sections when creating an executable. + + * elfcode.h (elf_swap_phdr_in): Make non static. + (elf_swap_phdr_out): Make non static. + * libelf.h (bfd_elf32_swap_phdr_in): Declare. + (bfd_elf32_swap_phdr_out): Declare. + (bfd_elf64_swap_phdr_in): Declare. + (bfd_elf64_swap_phdr_out): Declare. + + * ecofflink.c (ecoff_collect_shuffle): New static function. + (_bfd_ecoff_get_accumulated_pdr): New function. + (_bfd_ecoff_get_accumulated_sym): New function. + (_bfd_ecoff_get_accumulated_ss): New function. + * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare. + (_bfd_ecoff_get_accumulated_sym): Declare. + (_bfd_ecoff_get_accumulated_ss): Declare. + * libbfd.h: Rebuild. + +Fri Sep 1 13:20:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo. + + * elflink.h (elf_link_add_object_symbols): Handle indirect and + warning symbols. If any section is named .gnu.warning.XXX, treat + the contents as a warning to be issued if the symbol XXX is + referenced. + (elf_link_output_extsym): For an indirect or warning symbol, just + output the symbol it points to. + + * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error + if bfd_hash_allocate fails, since it will already be set. + (generic_link_hash_newfunc): Likewise. + (archive_hash_newfunc): Likewise. + (hash_entry_bfd): New static function. + (_bfd_generic_link_add_one_symbol): Pass new arguments to warning + callback. Allocate a new warning using the hash table newfunc. + Use bfd_hash_replace to update the entry in the hash table, rather + than assuming we can copy the fields with structure assignment. + + * hash.c (bfd_hash_replace): New function. + * bfd-in.h (bfd_hash_replace): Declare. + * bfd-in2.h: Rebuild. + +Fri Sep 1 08:12:50 1995 James G. Smith <jsmith@beauty.cygnus.com> + + * config.bfd: Add mips*vr4300-*-elf* target. + * config/mipsbvr4300.mt: Added. + +See file ChangeLog.2 + + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/bfd/ChangeLog.1 b/contrib/gdb/bfd/ChangeLog.1 new file mode 100644 index 0000000000000..f36ed3cd01c80 --- /dev/null +++ b/contrib/gdb/bfd/ChangeLog.1 @@ -0,0 +1,6951 @@ +Sun Oct 31 09:35:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * targets.c: Move enum target_flavour outside of struct and change + the name to enum bfd_flavour. This means bfd clients can use it. + * bfd-in.h: Add macro bfd_get_flavour. + * bfd-in2.h: Rebuilt. + + * som.c: Add comment about how abort() on corrupt executable is evil. + +Sat Oct 30 12:27:09 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (aout,slurp_reloc_table): Avoid a goto. + +Fri Oct 29 16:04:33 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * gen-aout.c, libbfd.c: exit(1) instead of exit(-1). + +Fri Oct 29 13:17:21 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd-in.h: Added commands for object file flag values. + * bfd-in2.h: Rebuilt. + * elfcode.h (elf_object_p): If type is ET_DYN, set DYNAMIC flag, + not EXEC_P. + * bout.c, coff-h8300.c, coff-sh.c: Add BFD_IS_RELAXABLE to + object_flags field for target vector. + * aix386-core.c, aout-adobe.c, aout-target.h, bout.c, coff-a29k.c, + coff-alpha.c, coff-apollo.c, coff-h8300.c, coff-h8500.c, + coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c, coff-mips.c, + coff-rs6000.c, coff-sh.c, coff-we32k.c, coff-z8k.c, hpux-core.c, + ieee.c, mipsbsd.c, nlm-target.h, oasys.c, osf-core.c, som.c, + srec.c, tekhex.c, trad-core.c: Remove DYNAMIC from object_flags + field for target vector. + +Thu Oct 28 20:02:31 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * hosts/std-host.h: Don't declare time; causes error on mach3. + * configure.in (i386mach3_vec): Require aout32.o stab-syms.o. + +Thu Oct 28 16:33:26 1993 Stan Shebs (shebs@rtl.cygnus.com) + + LynxOS and Sparc LynxOS changes: + * config.bfd: Recognize sparc-*-lynxos*. + * configure.host: Recognize sparc-*-lynxos*. + * configure.in: Recognize Sparc Lynx vectors. + * targets.c (sparclynx_aout_vec): Declare. + (sparclynx_coff_vec): Declare. + (target_vector): Add them. + * cf-i386lynx.c: New file, renamed from i386lynx-cf.c. + * cf-m68klynx.c: New file, renamed from m68klynx-cf.c. + * cf-sparclynx.c: New file, support for coff in Sparc LynxOS. + * coff-sparc.c: New file, basic Sparc coff support. + * sparclynx.c: New file, support for a.out in Sparc LynxOS. + * Makefile.in: Change filenames appropriately, add Sparc rules. + * coffcode.h (coff_set_arch_mach_hook): Recognize Sparc magic + number. + (coff_set_flags): Use LynxOS magic number for i386, m68k, and + Sparc LynxOS, set Sparc magic number for Sparcs. + * config/m68k-lynx.mt (SELECT_VECS): Remove redundant vector. + * config/sparc-lynx.mt: New file. + * hosts/i386lynx.h: Cosmetic improvements. + * hosts/m68klynx.h: Add ifdefs, #define of cfree. + * hosts/sparclynx.h: New file. + +Thu Oct 28 16:23:40 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + gcc -Wall lint: + * coff-h8300.c (h8300_reloc16_estimate): Declare return type. + Remove useless statement probably left by code copy. + * cpu-i960.c (compatible): Fully bracket matrix initializer. + * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Use bfd_xmalloc + rather than xmalloc. Use realloc and check the return value + rather than xrealloc. + (hppa_elf_get_section_contents): Add some casts. + * elf32-i386.c (elf_i386_reloc_type_lookup): Remove unused + variable. Add default case to switch. + * hp300hpux.c: Declare aout_32_write_syms. + * i386bsd.c, i386linux.c, netbsd386.c (N_SHARED_LIB): Define as 0 + (definition from aout/aout64.h is always 0 anyhow). + * i386lynx.c (swap_std_reloc_in): Remove unused variable. + * ieee.c (ieee_write_id): length can never be negative. + (read_id): Likewise. + (ieee_archive_p): Remove unused variable. + * libcoff-in.h (bfd_perform_slip): Declare. + * libcoff.h: Rebuilt. + * oasys.c (oasys_write_sections): Remove zero initialization of + static structure. + * reloc16.c: Indentation change. + +Wed Oct 27 16:51:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in, config/i386-mach3.mt: Update for new configuration + (--with-targets and so on). + * hosts/i386mach3.h: Declare errno. + * targets.c: Declare i386mach3_vec. + +Wed Oct 27 12:18:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlmcode.h (nlm_swap_auxiliary_headers_in, + nlm_swap_auxiliary_headers_out): Handle sharedDebugRecordOffset + and sharedDebugRecordCount fields. + +Tue Oct 26 16:21:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * targets.c (target_vector): Remove SCO_CORE. On Sep 11 1993, + we started using trad-core.c for SCO instead. + + * targets.c (target_vector): Re-enable generic ELF and NLM targets. + +Tue Oct 26 16:53:12 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (assign_file_position_for_section): Align sh_offset to + sh_addralign (this is what UnixWare does, and it shouldn't hurt). + +Tue Oct 26 10:16:54 1993 Ken Raeburn (raeburn@cygnus.com) + + From Jeff Law and Pete Hoogenboom at Utah: + + * elf32-hppa.h (hppa_elf_stub_finish): Add prototype. + (ELF32_HPPA_R_ARG_RELOC): Renamed without the ELF32 prefix + and moved into libhppa.h. All references changed. + (ELF32_HPPA_R_CONSTANT, ELF32_HPPA_R_ADDEND): Likewise. + (get_opcode and opcode defines): Move into libhppa.h + * elf32-hppa.c (hppa_elf_insn2fmt): Rename and move info + libhppa.h. + * libhppa.h (HPPA_R_*): Moved here. Reformatted slightly to make + for easier reading. + (get_opcode): Moved here. FIXME! this really should be a C function + inside the opcode library! + (bfd_hppa_insn2fmt): Likewise. + + * targets.c (target_vector): Enable elf32-hppa vector. + + * elf32-hppa.c (hppa_elf_get_section_contents): Add new comments + and clarify existing comments. Do not use DEFUN to declare this + function. Fix numerous indention problems. Correctly handle cases + where symbol extension section may need to be read from disk, + read from memory, or built then read from memory. + + * elf32-hppa.h: Reformat with gnu-indent and hand fix numerous + formatting and indention problems gnu-indent can not handle. + Clarify some comments about relocation types. Comment basic + relocation "classes". Group PARAM declarations together. + (HPPA_SXT_{NULL, SYMNDX, RG_RELOC}): Make members of a new + enumerated type rather than #defines. + +Tue Oct 26 02:40:46 1993 Stu Grossman (grossman at cygnus.com) + + * som.c (hppa_object_setup): Set SEC_CODE for .text section so + that GDB can figure out text_start and text_end. + +Mon Oct 25 16:05:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Fix up warnings from gcc -Wall: + * coffgen.c (coff_print_symbol): Use %lx and cast n_value to + unsigned long. Use %ld for tagndx. Use %lx for offset + vma and + cast it to unsigned long. + * ecoff.c (ecoff_emit_aggregate): Use %ld. + (ecoff_print_symbol): Use %ld, and cast indx and sym_base to long. + * coffcode.h (dummy_reloc16_estimate): Specify return type. + + * libbfd.c (bfd_write): If not everything is written out, set + bfd_error to system_call_error. If the return value is + non-negative, set errno to ENOSPC (if ENOSPC is defined). + (bfd_seek): If the seek fails, set bfd_error to system_call_error. + (bfd_generic_set_section_contents): For a bad offset + count, set + bfd_error to bad_value. + * seclet.c (rel): Don't abort. Instead, return false. + +Mon Oct 25 09:59:37 1993 Ken Raeburn (raeburn@cygnus.com) + + * aoutx.h (reloc_type_lookup): Handle BFD_RELOC_SPARC_WDISP22. + +Fri Oct 22 20:35:54 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config.bfd: handle mips*-* instead of mips-*, use mips*el + instead of mips-*-*l + +Fri Oct 22 14:03:33 1993 Mark Eichin (eichin@cygnus.com) + + * m68k-lynx.mt, i386-lynx.mt (TDEFINES): set + FPRINTF_ALREADY_DECLARED because the objdump.c declaration of + fprintf collides with the native one. + +Fri Oct 22 11:50:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * targets.c (target_vector): Enable MIPS ELF vectors. + +Fri Oct 22 07:51:51 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Use bigmips for mips-sony-bsd*. + + * configure.host, config.bfd: Add * to end of all OS names. + +Thu Oct 21 12:16:26 1993 Ken Raeburn (raeburn@cygnus.com) + + * elfcode.h (FILE_ALIGN): Renamed from EALIGN, to avoid conflict + with Ultrix header files. + + * som.h (struct som_section_data_struct): Renamed from + som_section_data to avoid conflict with macro by that name. + + Changes from Jeff Law and Peter Hoogenboom at Utah: + + * elf32-hppa.c (hppa_elf_reloc): Target register for a 'jump + in delay slot' optimization in combination with a long call + stub should always be r31. + + * elf32-hppa.c: (hppa_elf_relocate_insn): To be consistent + across all relocation types, retrieve instruction addends from + the relocation entry rather than from the instruction itself. + + * elf32-hppa.c: (hppa_elf_relocate_insn): Fix a relocation + error that only occurred when the addend of an 'addil' or + 'ldil' was larger than 21 bits and very close to a 2K byte + boundary. + + * elf32-hppa.c: (hppa_elf_reloc): Handle the optimization in + which a jump is placed in the delay slot of a function call. + The jump was being accomplished via an adjustment to the + return pointer. This optimization would break the long call + stub code, if there was any. + + * elf32-hppa.c: (hppa_elf_build_long_branch_stub): Corrections + to long branch stubs to avoid use of general register 2. + + * hppa_stubs.h: New stub instructions. + + * elfcode.h: Declare bfd_elf_find_section. + + * som.h (som_section_data): Add new "subspace_index" field. + + * som.c (setup_sections): Save the original SOM subspace index + in the BFD section associated with that subspace. + (som_get_symtab_upper_bound): Implement. + (som_get_symtab): Implement. + (som_print_symbol): Implement. + (som_slurp_string_table): New function to read a string table + from a SOM object file. + (som_section_from_subspace_index): New function to return the + section which corresponds to a SOM subspace index. + (som_slurp_symbol_table): New function to read the symbol + table from a SOM object file. + (som_make_empty_symbol): Check for errors from bfd_zalloc. + (som_new_section_hook): Initialize subspace_index field to + -1 instead of 0. + + * som.c (som_object_setup): Fix polarity of test to set HAS_RELOC. + Set EXEC_P for executables. + (setup_sections): Correctly identify when a section has + relocations. + (log2): New function. + (setup_sections): Correctly convert between SOM alignments and BFD + alignments. + + * som.c (setup_sections): Do not set SEC_ALLOC or SEC_LOAD + for sections which correspond to SOM spaces, doing so confuses + many utilities. Set assorted SEC_* flags for SOM subspaces + which correspond to BFD sections. + + * elf32-hppa.c: (elf32_hppa_backend_fake_sections): The stab + string table should have sh_type == SHT_STRTAB. Add + processing to make it so. + + * elfcode.h: (bfd_section_from_shdr): String tables (other + than .strtab) were not getting the file offsets recorded, so + they could not be read from disk. + + * elfcode.h: (elf_make_sections): Leave the sh_addr field of + the section header and the vma field of a section at 0 if the + section is not part of the program execution image. (e.g., + .stab) + + * som.[hc]: Change target vector prefix from "hppa" to "som". + Consistently use obj_som prefix to access fields in backend data + structures. Fix all callers/references. + + * som.h: Do not include files only needed for core file reading here. + Include a.out for both HOST_HPPAHPUX and HOST_HPPABSD. Delete + forward structure declarations, they are unnecessary. + (struct somdata): Delete aux_hdr, and hp_symbol_entry_size fields. + Change "symbols" to "symtab". Add "stringtab" and "reloc_filepos" + fields for future use. Change obj_som_* macros as appropriate. + (som_section_data): New structure to keep SOM specific information + about BFD sections (for future use). + + * som.c: Provide PARAMS declarations for all functions currently + in this file. + (struct container): Delete unwanted structure definition. + (som_object_setup): Add comments. Use som_mkobject to allocate + SOM specific information in the BFD; use information from the + file and (possibly empty) auxiliary headers to initialize this + information. Delete redundant bfd_get_symcount (abfd) "calls". + (setup_sections): Return type is now boolean, fix return statements. + "Fix" handling of BSS like subspaces in the computation of the + containing space's size. If the subspace has relocations, set the + appropriate BFD section flags and record the index into and the + size of the fixup stream. Always return a value. + (som_object_p): Set bfd_error appropriately if errors are detected + from bfd_{read,seek} functions. Handle EXECLIBMAGIC type files. + Do not try to read a non-existant auxiliary header. + (som_mkobject): Flesh out. + (som_section_hook): Allocate space to hold SOM specific information + about sections. + +Thu Oct 21 12:41:34 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + gcc -Wall lint: + * coff-h8300.c, coffcode.h: Change shrink parameter + in *_reloc16_estimate to unsigned to match prototype. + * archive.c: Avoid "/*" in comment. + +Thu Oct 21 13:05:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * dep-in.sed: Create our own line breaks for a more aesthetic + Makefile. + * Makefile.in: Rebuilt dependencies. + + * elf32-mips.c: Include "seclet.h". + (mips_elf_fake_sections): Force size of .reginfo section to sizeof + Elf32_External_RegInfo. + (mips_elf_seclet_link): New function. Link the .reginfo section + specially, and pass everything else to the generic routine. + (bfd_elf32_bfd_seclet_link): Define macro. + * elf32-target.h: If bfd_elf32_bfd_seclet_link is already defined, + don't override it. + +Wed Oct 20 12:22:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libnlm.h (nlm_backend_data): Added signature field. + (nlm_signature): New macro. + * nlmcode.h (nlm_object_p, nlm_write_object_contents): Use the NLM + signature from the backend rather than the constant NLM_SIGNATURE. + * nlm32-i386.c (nlm32_i386_backend): Initialize signature field. + + * aoutf1.h (MACHTYPE_OK): Accept M_UNKNOWN. + (NAME(sunos,set_arch_mach)): Treat M_UNKNOWN as 68000, not 68020. + +Wed Oct 20 10:28:27 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/i386bsd.h [__bsdi__]: Define HOST_DATA_START_ADDR. + +Wed Oct 20 10:10:07 1993 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (HFILES): New variable, for use in "make dep". + (.dep): Depend on $(CFILES) and $(HFILES). Delete .dep1 and + remake it, so that "$?" is complete. + (.dep1): Don't need to remove .dep1 first. + (dep.sed): Depend on config.status, not Makefile. + (CFILES): Add nlm.c. + +Tue Oct 19 15:26:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-alpha.c: Implemented reloc handling for the linker, made + various other related changes. + * libecoff.h (ecoff_backend_data): Added rdata_in_text field. + Renamed finish_reloc to adjust_reloc_in. Added adjust_reloc_out + field. + (ecoff_bfd_get_relocated_section_contents): Don't define. + * ecoff.c (ecoff_sec_to_styp_flags, ecoff_styp_to_sec_flags): + Handle .lita section. + (ecoff_slurp_reloc_table): Handle RELOC_SECTION_FINI. + finish_reloc backend field renamed to adjust_reloc_in. + (ecoff_bfd_seclet_link): Adjust number of aux entries to + debug_align boundary. + (ecoff_compute_section_file_positions): If rdata_in_text put + .rdata section in text segment, not data segment. Put .pdata + section in text segment. + (ecoff_write_object_contents): Likewise. Also, call + adjust_reloc_out, and handle .lita, .xdata, .pdata, .fini and + absolute sections when writing out relocs. + * coffswap.h (coff_swap_aouthdr_out): For ALPHAECOFF, output 2 for + bldrev field, as on Alpha OSF/1. Padding field is now 2 bytes. + * coff-mips.c (mips_ecoff_swap_reloc_out): Added assertion. + (mips_adjust_reloc_in): Renamed from mips_finish_reloc. + (mips_adjust_reloc_out): New function (does nothing). + (mips_ecoff_backend_data): Initialize new fields. + (ecoff_bfd_get_relocation_section_contents): Define to be + bfd_generic_get_relocated_section_contents. + + * reloc.c (bfd_perform_relocation): Added casts to avoid Alpha + OSF/1 cc bug. + +Thu Oct 14 01:10:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * reloc.c (bfd_perform_relocation): Add comments attempting to + explain PC relative relocations. + + * coffcode.h (styp_to_sec_flags): Don't set SEC_DEBUGGING until it + is made to work. + (coff_compute_section_file_positions): Remove check for + USE_DISCARDED_SECTIONS_COUNT. + * coff-i386.c: Don't define USE_DISCARDED_SECTIONS_COUNT. Basing + it on host defines is wrong. + + * ecoff.c (ecoff_bfd_seclet_link): Don't link a .reginfo section. + (ecoff_write_object_contents): Don't require the .reginfo section + to be a particular size. + +Wed Oct 13 18:39:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (dep-in): New rule, for editing dependencies into + Makefile.in in $(srcdir). Use move-if-change. + (.dep1, dep): Use move-if-change. + (CFILES): Add coff-apollo.c. + + Sun Oct 10 18:02:56 1993 Troy Rollo (troy@cbme.unsw.EDU.AU) + + * Makefile.in: Recognise new file, coff-apollo.o + + * coff-apollo.c: New file + + * coffcode.h: Recognise apollo magic numbers and writable text + + * coffswap.h: Swap Apollo optional header entries + + * config.bfd: Add line for Apollo + + * configure.host: Replace apollo68b and apollo68v with Apollo + + * configure.in: Recognise apollocoff_vec + + * targets.c: Likewise + + * config/apollo.mh, config/apollo.mt: New files + + * hosts/apollo68.h: Remove inclusion of strings.h + +Wed Oct 13 14:28:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * coff-i386.c (i3coff_object_p): Now static. + + * Makefile.in: Updated dependencies. + (.dep, .dep1, dep.sed): New targets, to make "make dep" work + better. + * dep-in.sed: New file. + + * m68klynx-cf.c (ONLY_DECLARE_RELOCS): Define, to avoid name + conflicts when "--with-targets=all". + * coff-m68k.c (m68kcoff_howto_table, m68k_rtype2howto, + m68k_howto2rtype): Rename via macros to keep namespace clean. + * configure.in: For m68klynx_coff_vec, include coff-m68k.o for + now. + +Tue Oct 12 17:03:27 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-mips.c: Extensive additions to do relocations and to + handle MIPS specific sections. + * libelf.h (elf_backend_data): Pass fourth argument to + elf_backend_section_from_bfd_section to permit it to control the + section index to use. + (elf_obj_tdata): Add gp and gp_size fields. + (elf_gp, elf_gp_size): New accessor macros. + * elfcode.h: Removed a number of unused local variables. + (elf_fake_sections): Clear section header before calling + elf_backend_fake_sections, not after. + (prep_headers): Return true at end. + (elf_section_from_bfd_section): Pass retval argument to + elf_backend_section_from_bfd_section. + * elf32-hppa.c (elf32_hppa_backend_section_from_bfd_section): + Accept and ignore new retval argument. + * bfd.c: Include libelf.h. + (bfd_set_gp_size): Handle ELF targets. + * Makefile.in (bfd.o): Depends upon libelf.h. + (elf32-mips.o): Depends upon $(INCDIR)/elf/mips.h. + +Mon Oct 11 17:25:18 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_mkobject): Check bfd_make_section return value. + (ecoff_mkobject_hook): New function. + (ecoff_new_section_hook, ecoff_sizeof_headers, + ecoff_compute_section_file_positions, ecoff_set_section_contents, + ecoff_write_object_contents): Handle dummy REGINFO section. + (ecoff_get_section_contents): New function to handle reading + REGINFO section. + * libecoff.h (ecoff_get_section_contents): Change from macro + definition to function prototype. + (ecoff_mkobject_hook): New prototype. + * coff-alpha.c (alpha_ecoff_mkobject_hook): Removed. + (alpha_ecoff_backend_data): Use ecoff_mkobject_hook. + * coff-mips.c (mips_ecoff_mkobject_hook): Removed. + (mips_ecoff_backend_data): Use ecoff_mkobject_hook. + +Fri Oct 8 15:25:33 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * libbfd.c (bfd_get*32, bfd_get*64): Prevent ANSI sign extension + by casting the most significant byte to bfd_vma. + +Fri Oct 8 02:34:21 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * configure.in: Do not define SELECT_VECS, SELECT_ARCHITECTURES + if configuring --with-targets=all. + +Thu Oct 7 17:34:07 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * aoutx.h (howto_table_std): Correct the "size" field in some + entries. + + * reloc.c (reloc_howto_type): Change documentation to dispel any + notion that the "size" field is a power-of-two indicator. + +Thu Oct 7 10:50:38 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * coffswap.h: (bfd_swap_reloc_in): a symndx is signed. + + Make support for relaxing more generic. + * reloc16.c: Add new target entry - bfd_coff_reloc16_estimate, + fix bit rot. + * libcoff.h, libcoff-in.h: declarations. Prototypes + * coffcode.h (bfd_coff_std_swap_table): Add calls to + coff_reloc_16_extra_cases and coff_reloc16_estimate. + (dummy_reloc16_estimate): New function. + * coff-h8300.c (h8300_reloc16_estimate): New function + +Thu Oct 7 14:24:13 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h (EALIGN): Define, dependent on ARCH_SIZE. + (align_file_position): New function. + (elf_locate_sh): Disabled function deleted. + (assign_file_positions_for_symtab_and_strtabs): Align position, + then place symtab, then do other sections. + (map_program_segments): Align program header. + (assign_file_positions_except_relocs): Align section headers. + (assign_file_positions_for_relocs): Align relocation sections. + +Tue Oct 5 10:44:32 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.host: Recognize hppa*-*-hiux* (currently synonym for hpux). + Change other hppa entries to use -*- not -hp-. + * config.bfd: Recognize hppa*-*-hiux* (currently synonym for hpux). + + * coff-rs6000.c, cpu-rs6000.c, rs6000-core.c: Change non-ASCII + characters in comment to octal escapes. + +Sun Oct 3 12:35:15 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * coff-i386lynx.c: Removed, name too long. + * i386lynx-cf.c: New file, was coff-i386lynx.c. + * configure.in: Reflect file name changes. + * Makefile.in: Mention Lynx-related files. + + * i386lynx.c (lynx_32_swap_ext_reloc_in): get reloc bits in i386 + Lynx-specific way. + + * m68klynx-cf.c: New file, defines coff format for M68K LynxOS. + * m68klynx.c: Remove coff vector definition, now in m68klynx-cf.c. + + * coffcode.h (sec_to_styp_flags): Set section flag to STYP_INFO + for .stab, .stabstr and .debug sections, and set SEC_DEBUGGING for + sections of type STYP_INFO. (from Minh Tran-Le) + (coff_compute_section_file_positions): Add discarded_sections_count + to abfd->section_count, which helps `strip' keep the size + of the executable header constant. + * coff-i386.c (discarded_sections_count): New variable, initialized + to zero. For use by `strip'. Currently being used only in aix386 + coff, but may be useful for other coff systems. (from Minh Tran-Le) + + * coffswap.h (coff_swap_filehdr_out): Added a missing cast. + + * archive.c: Cosmetic improvements. + * opncls.c: Cosmetic improvements. + (new_bfd): Removed redundant structure slot init. + +Sat Oct 2 18:48:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/news-mips.mh, hosts/news-mips.h: New files. + * configure.host: Use news-mips for mips-sony-bsd*. + +Fri Oct 1 13:14:17 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * configure.in: i386lynx_coff_vec requires coff-i386lynx.o. + * coff-i386lynx.c: New file, defines Lynx target vector and name, + includes coff-i386.c. + * coff-i386.c (i386coff_vec): Allow redefinition of target vector + symbol and name, if TARGET_SYM and/or TARGET_NAME are defined. + * i386lynx.c: Remove coff vector definition entirely. + (lynx_32_swap_ext_reloc_in): Define. + (lynx_32_swap_std_reloc_in): Define, get reloc bits in i386 + Lynx-specific way. + (lynx_32_swap_ext_reloc_out): Define. + (lynx_32_swap_std_reloc_out): Define. + (lynx_32_slurp_reloc_table): Define, call Lynx swapping fns. + (lynx_32_squirt_out_relocs): Define, call Lynx swapping fns. + (lynx_32_canonicalize_reloc): Define, call Lynx swapping fns. + (WRITE_HEADERS): Define, call Lynx swapping fns. + + * config/i386-lynx.mt (SELECT_VECS): Remove redundant vector. + +Thu Sep 30 17:50:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * reloc.c (bfd_reloc_code_type): Add linkage-table relative + relocations of size 8, 16, 32. Sort generic relocs by type rather + than size. Added a little documentation too. + + * aoutx.h (howto_table_std): Add BASE16 and BASE32 relocs. + (TABLE_SIZE): New macro. + (reloc_type_lookup): Handle BFD_RELOC_{16,32}_BASEREL for std + relocs. + (swap_std_reloc_out): Write baserel relocs correctly. + (swap_std_reloc_in): Handle r_baserel field. Assert that + r_jmptable and r_relative fields are clear, and that the computed + index does refer to a defined entry of the howto table. + +Tue Sep 28 14:47:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * section.c (bfd_make_section_anyway): New function. + * section.c: Change comments to say several sections can have + the same name. + * bfd-in2.h: Re-generate to reflect above change. + * coffgen.c (make_a_section_from_file): Call bfd_make_section_anyway + if still no section after the bfd_coff_make_section_hook. + * coffcode.h: Add comment about TWO_DATA_SECS. + +Tue Sep 28 03:22:24 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * ecoff.c (ecoff_slurp_symbolic_info): Always determine raw_size + explicitly. + * ecoff.c (ecoff_sec_to_styp_flags, ecoff_styp_to_sec_flags): Handle + .fini section. + +Mon Sep 27 18:29:18 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * config.bfd configure.host: Match on *-lynxos* for LynxOS, + add m68*-*-lynxos*. + * configure.in : Replaced i386lynx_vec with i386lynx_aout_vec + and i386lynx_coff_vec. + Added m68klynx_aout_vec and m68klynx_coff_vec. + * targets.c (target_vector): Removed i386lynx_vec, added + {i386,m68k}lynx_{aout,coff}_vec. + * i386lynx.c: Added copy of i386coff.c, renamed bfd target to + i386lynx_coff_vec. + * m68klynx.c: New file. + * config/i386-lynx.mt: Replaced i386lynx_vec with i386lynx_aout_vec + and i386lynx_coff_vec. + * config/m68k-lynx.mt: New file. + * hosts/i386lynx.h: Added definition of cfree as free (from Eichin). + * hosts/m68klynx.h: New file. + +Mon Sep 27 18:00:41 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * archive.c: Define offsetof here. + * hosts/*.h: Don't define it here. + +Mon Sep 27 19:09:27 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (bfd_section_from_shdr): Set filepos for SHT_STRTAB + section. + +Fri Sep 24 15:47:40 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hpux-core.c: Add comment about hpux version 7. + +Fri Sep 24 16:50:26 1993 Stu Grossman (grossman at cygnus.com) + + * lynx-core.c (lynx_core_file_p): Change per-thread register + section names from .regXXX to .reg/XXX to avoid parsing ambiguity + in gdb/corelow.c. Create alias .reg section for the currently + running thread. + +Fri Sep 24 13:22:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libecoff.h (ecoff_backend_data): Removed big_magic and + little_magic fields. + * coff-alpha.c (alpha_ecoff_backend_data): Removed initialization + of big_magic and little_magic. + * coff-mips.c (mips_ecoff_bad_format_hook): Make sure magic number + matches endianess of bfd. + (mips_ecoff_backend_data): Removed initialization of big_magic and + little_magic. + * ecoff.c (ecoff_set_arch_mach_hook): Set MIPS machine number + based on magic number. Support r4000 magic numbers. + (ecoff_get_magic): New function. + (ecoff_write_object_contents): Use ecoff_get_magic, not fields in + the backend structure. + * cpu-mips.c (arch_info_struct): Added case for r6000. + + For MIPS configurations put both big and little endian versions in + the list of targets; the code is getting compiled in anyhow. + * bigmips.mt (SELECT_VECS): Define to be ecoff_little_vec. + * decstation.mt (SELECT_VECS): Define to be ecoff_big_vec. + * mipsbelf.mt (SELECT_VECS): Define to be bfd_elf32_littlemips_vec. + * mipslelf.mt (SELECT_VECS): Define to be bfd_elf32_bitmips_vec. + * riscos.mt (SELECT_VECS): Define to be ecoff_little_vec. + +Fri Sep 24 00:42:23 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * osf-core.c: New file for OSF/1 core file support. + * config/alphaosf.mh (HDEFINES): Add -DOSF_CORE. + (HDEPFILES): Set to osf-core.o. + * bfd-in2.h (union tdata): Add osf_core_data member. + * targets.c: If OSF_CORE is defined, add osf_core_vec to target list. + * Makefile.in (OPTIONAL_BACKENDS): Add osf-core.o. + (osf-core.o): New dependency. + +Thu Sep 23 21:04:53 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Remove note about making --with-bfd-targets use canonical + target configuration name (already done); reword item about + separating reading and writing stuff to not refer to a + non-existent item. + + * ecoff.h (ecoff_set_arch_mach_hook): Accept MIPS_MAGIC_LITTLE2 + and MIPS_MAGIC_BIG2. + +Thu Sep 23 11:06:34 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * gen-aout.c (main): Output newline after end of comment, not + before. (Reported by Jonathan Stone, + jonathan@oscar.stanford.edu). + +Thu Sep 23 10:48:27 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * archive.c (compute_and_write_armap): Put weak symbols in the + armap. + + * elfcode.h (fix_up_strtabs): Set sh_entsize for the .stab + section, not the .stabstr section. Set the type of the .stabstr + section to SHT_STRTAB. + (elf_section_from_bfd_section): Handle SHT_STRTAB sections. + + * section.c (SEC_DEBUGGING): New section flag. + * elfcode.h (bfd_section_from_shdr): If section is SHT_PROGBITS, + and the name starts with .debug, .line or .stab, set + SEC_DEBUGGING. If SHT_STRTAB, check for .debug and .stab. + * elf32-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added + SEC_DEBUGGING to section_flags. + * elf64-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added + SEC_DEBUGGING and SEC_CODE to section_flags. + * bfd-in2.h: Updated. + +Wed Sep 22 16:34:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd.c (tdata): Add lynx_core_data. + + * ecoff.c (ecoff_compute_section_file_positions): Set filepos for + sections with SEC_LOAD set, even if SEC_HAS_CONTENTS is clear. + (ecoff_write_object_contents): Don't set scnptr to zero just + because size of section is zero. Needed for Irix 4.0.5F. + +Wed Sep 22 09:49:32 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Use i960-bout, not i960-coff for i960-*-nindy*. + +Wed Sep 22 07:34:09 1993 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (OPTIONAL_BACKENDS): Add lynx-core.o. + * bfd-in2.h (tdata): Add lynx_core_data; + * config.bfd configure.host: Get rid of superfluous netbsd and + lynxos entries. + * configure.in: Add lynx-core.o to Lynx config. + * i386lynx.c: Add defs for core file support. + * lynx-core.c: New file with Lynx core file support. + * hosts/i386lynx.h: Move lots of host specific includes to here. + Add def of HOST_LYNX. Remove unnecessary defs. + +Mon Sep 20 19:18:10 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (bfd_section_from_shdr): Only set SEC_DATA for a + SHF_PROGBITS or SHT_STRTAB section if SEC_ALLOC is set. Never set + SEC_DATA for a SHF_NOBITS section. + + * nlm32-i386.c (nlm_i386_mangle_relocs): Check SEC_LOAD rather + than SEC_CODE | SEC_DATA. Add some casts to avoid warnings. + * nlmcode.h: Add some casts to avoid warnings. + (nlm_write_object_contents): Ignore relocs for sections that are + neither code nor data. Just use the symbol value for debugging + symbols; don't offset by the section vma. + +Fri Sep 17 18:08:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * reloc.c (bfd_perform_relocation): Don't return an error when + performing a reloc against an undefined weak symbol. + * syms.c (bfd_print_symbol_vandf): Show value of BSF_WEAK rather + than obsolete BSF_EXPORT. + +Fri Sep 17 02:04:31 1993 John Gilmore (gnu@cygnus.com) + + * hosts/{alphaosf.h, amix.h, apollo68.h, apollov68.h, + decstation.h, delta88.h, dgux.h, dose.h, go32.h, harris.h, + hp300.h, hp300bsd.h, hppabsd.h, hppahpux.h, i386aix.h, i386bsd.h, + i386linux.h, i386lynx.h, i386v.h, i386v4.h, irix3.h, irix4.h, + mipsbsd.h, ncr3000.h, rs6000.h, rtbsd.h, solaris2.h, sparc-ll.h, + std-host.h, stratus.h, sun3.h, sysv4.h, tahoe.h, ultra3.h, + vaxult.h, vaxult2.h, we32k.h}: Make sure that "offsetof" is + defined on all hosts, now that archive.c uses it. + +Thu Sep 16 18:20:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (elf_map_symbols): Create section symbols for all + sections, not just allocated sections; debugging sections can have + relocs. + (elf_symbol_from_bfd_symbol): If there is an output section, use + the section index from that rather than the input section. + +Thu Sep 16 12:20:50 1993 Ken Raeburn (raeburn@cygnus.com) + + * libbfd-in.h (bfd_flush, bfd_stat): Reflect John's changes to + libbfd.h, which is regenerated from this file. + + * bfd-in.h (symtype): Deleted typedef. + +Wed Sep 15 11:48:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libbfd.c (COERCExx): Cast x to bfd_signed_vma before doing the + xor and subtract. Otherwise it will not sign extend if the type + of bfd_vma is larger than int. + + * ecoffswap.h (ecoff_swap_pdr_in): Get regoffset, iopt, fregoffset + and frameoffset as signed numbers. From Peter Schauer. + +Tue Sep 14 18:20:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-i386.c (elf_howto_table): Add bfd_elf_generic_reloc + special function for all reloc entries. + * elf32-target.h (TARGET_LITTLE_SYM): Add SEC_CODE to + section_flags. + * libelf.h (elf_symbol_type): Remove desc, type and other fields. + * Makefile.in (elf32-*.o): These depend upon elf32-target.h. + +Tue Sep 14 14:34:45 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * libbfd-in.h (struct artdata): Add armap_timestamp and + armap_datepos here too. + +Mon Sep 13 21:03:18 1993 John Gilmore (gnu@cacophony.cygnus.com) + + Improve timestamp support in BSD archive files to avoid linker + warnings. + + * libbfd.h (struct artdata): Add armap_timestamp and armap_datepos. + (bfd_flush, bfd_stat): Add prototypes. + * libbfd.c (bfd_flush): Add, does fflush on a BFD. + (bfd_stat): Add, does fstat on a BFD. + + * archive.c (_bfd_write_archive_contents): At end of file writing, + verify and possibly update the timestamp in the armap, if a BSD + archive. FIXME! Kludge recognizes BSD archive, rather than + vectoring properly. Should add to xvec. + (compute_and_write_armap): Move prototype to top, avoid PROTO. + (bsd_write_armap): Save timestamp and file location thereof, when + writing the armap in a BSD file. + (bsd_update_armap_timestamp): New function to check and + rewrite the timestamp. + + * hosts/std-host.h (offsetof): Define, if not already, for archive.c. + +Sat Sep 11 18:13:42 1993 Jim Kingdon (kingdon@poseidon.cygnus.com) + + * hosts/i386sco.h: Define a bunch of stuff for core files. + * sco-core.c: Remove, replace by trad-core.c. + * trad-core.c: If HOST_STACK_START_ADDR is defined, use it. + * config/i386sco.mh: Use trad-core not sco-core. + * hosts/i386isc.h, config/i386isc.mh: Remove. + * configure.host: Use i386sco for isc. + * config/i386-sco.mt: Remove, identical to i386-coff.mt. + * config.bfd: Use i386-coff not i386-sco. + + * config.bfd: Recognize i[34]86-*-solaris2* specifically rather + than using *-*-solaris2* (i486-unknown-solaris2 is i386-elf, not + i486-elf which doesn't exist). + +Fri Sep 10 12:56:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffswap.h (coff_swap_aouthdr_out): For ALPHAECOFF, force + padding field to zero. + + * config.bfd (i[34]86-*-netbsd*): New target; use i386-netbsd. + * configure.in: Remove bogus netbsd386 handling. + + * coff-mips.c: Don't warn about overflow for MIPS_R_JMPADDR reloc. + Correct overflow detection requires matching the upper four bits + of the destination against the PC. + +Thu Sep 9 16:57:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: Make 64-bit stuff work with "--with-targets=all". + +Tue Sep 7 14:17:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libbfd-in.h: Removed swapping routines declarations. + * bfd-in.h: Added swapping routine declarations, and renamed them + from _do_* to bfd_*. + * libbfd.c: Renamed swapping routines from _do_* to _bfd_*. + * Changed all callers. + * libbfd.h, bfd-in2.h: Rebuilt. + +Mon Sep 6 15:28:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-i386.c (elf_howto_table): Set pcrel_offset to true for + R_386_PC32. + +Fri Sep 3 13:06:12 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: Reorganized setting of makefile variables so + 64-bit stuff works again. + + * libbfd-in.h (_do_get*, _do_put*): Renamed via macros to clean up + namespace. + + * libelf.h (elf32_symbol_type, elf64_symbol_type): Deleted + "native_elf_sym" field, merged to make new type "elf_symbol_type". + (struct elf_obj_tdata): Field symbols is now elf_symbol_type*. + Deleted field raw_syms. + (obj_symbols): Remove cast. + (obj_raw_syms): Deleted. + * elfcode.h (elf_slurp_symbol_table): Don't set raw_syms or + native_elf_sym fields. + * elf32-hppa.c: Changed uses of elf32_symbol_type to + elf_symbol_type. + + From Pete Hoogenboom and Jeff Law: + + * elf32-hppa.c (ELF_MAXPAGESIZE): Define. + + * elf32-hppa.c (elf_hppa_tc_symbol): If the argument relocation + bits are zero (e.g., they specify no relocations), then do not + even bother adding their entries to the symextn section. + + * elf32-hppa.c (elf_hppa_tc_symbol): Any function, regardless + of scope can have an argument relocation stub. + + * elf32-hppa.c: (Elf32_hppa_Stub_description): Rename this + structure and type to elf32_hppa_stub_description. This makes + it consistent with the GNU coding conventions. + (elf32_hppa_stub_description): Added a 'next' field to allow + linking of stub description structures. + (elf32_hppa_stub_description): Added a 'stub_listP' field to + keep track of individual stubs. + (Elf32_hppa_Stub_list, Elf32_hppa_Stub_list_struct): Removed. + Combined with the elf32_hppa_stub_description structure. + (elf32_hppa_stub_name_list): New type to keep track of + individual stubs. + (add_stub): Removed. + (add_stub_by_name): New function. + (find_stub_by_name): New function. + (hppa_elf_build_arg_reloc_stub): Allow reusing stubs that + already exist. + (hppa_elf_build_long_branch_stub): Allow reusing stubs that + already exist. + + * elf32-hppa.c: (retval_mismatches): The direction of argument + relocation was reversed. + (hppa_elf_build_arg_reloc_stub): Return address was not being + restored. + (hppa_elf_arg_reloc_needed_p): Add argument containing caller + argument relocation bits so this function can be used in the check + for plabel stubs. + (hppa_elf_stub_check): Pass caller argument relocation bits into + hppa_elf_arg_reloc_needed_p(). + (hppa_look_for_stubs_in_section): Add check for plabel stubs and + pass caller argument relocation bits into + hppa_elf_arg_reloc_needed_p(). + +Thu Sep 2 00:59:55 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * libhppa.h (hppa_field_adjust): Remove unused `init_value' variable. + + * hosts/delta88v4.h: New for SVR4. + * configure.hosts: Use it. + +Wed Sep 1 14:23:32 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * libaout.h, netbsd386.c: Change M_I386 to M_386_NETBSD. M_I386 + is an SCO pre-define. + +Tue Aug 31 12:50:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlmcode.h (nlm_object_p): Set HAS_SYMS if there are external + references. + (nlm_swap_auxiliary_headers_{in,out}): The copyright length is + only one byte. + (nlm_get_symtab_upper_bound): Include debugging symbols in symbol + count. + (nlm_slurp_symbol_table): Make symlength unsigned. Read debugging + symbols as BFD local symbols. + (nlm_write_object_contents): Don't bother writing out exported + symbols more than once; they now appear in the symbol table more + than once (with and without a prefix) if necessary. Set offset + values to be non-zero as NLMLINK does. + +Tue Aug 31 12:07:43 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * libhppa.h: Restore #undefs of e_fsel and other e_* symbols. + +Fri Aug 27 16:43:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * section.c (struct sec): Move position of user_set_vma, and + document it. + (SEC_BALIGN): Disable for now. I don't think it's currently used. + + * elf32-hppa.c (elf_hppa_howto_table): Now static. + (symext_rootP, symext_lastP, global_value, GOT_value, + global_symbol, global_sym_defined, symextn_contents, + symextn_contents_real_size, elf_hppa_stub_rootP, + elf32_hppa_symextn_map, elf32_hppa_symextn_map_size): Rely on + default initialization. + (hppa_elf_gen_reloc_type): Macro "UNDEFINED" doesn't need a + trailing semicolon. + (hppa_look_for_stubs_in_section): Introduce temporaries to make + code more readable in 80 columns. + + * libhppa.h (all functions): Now inline under GNU C. + + More patches from Jeff Law: + + * elf32-hppa.c (AR_WARN): Give argument which caused the + invalid argument relocation. + (AR_UNIMP): Delete unused macro. + (hppa_elf_set_section_contents): Always return a value. + (elf32_hppa_backend_table_processing): Likewise. + (elf32_hppa_backend_section_processing: Likewise. + + * som.c: New file containing SOM specific code extracted + from hppa.c + + * som.h: New file containing SOM specific code extracted + from libhppa.h + + * hppa.c: Deleted. + + * libhppa.h: Delete SOM specific code. Add generic PA + code which can be shared by both SOM and ELF backends. + + * Makefile.in: Replace hppa.c with som.c. elf32-hppa.o + depends on libhppa.h now. + + * configure.in (hppa_vec): Needs som.o module instead of + hppa.o. + + * elf32-hppa.c: Include libhppa.h. Do not define + BYTES_IN_WORD. + + * elf32-hppa.h (hppa_reloc_field_selector_type): Delete + now lives in libhppa.h. + (hppa_reloc_field_selector_type_alt): Likewise. + + * hosts/hppabsd.h: Include <stdlib.h> and <unistd.h>. Do not + define malloc or free. + + * config/hppa-elf.mt (SELECT_ARCHITECTURES): Don't define + SELECT_VECS. + + * elf32-hppa.c (hppa_elf_relocate_unwind_table): Delete unused + variables. + (elf_hppa_reloc_type_lookup): Likewise. + (elf_hppa_tc_make_sections): Likewise. + (hppa_elf_arg_reloc_needed_p): Likewise. + (hppa_elf_build_long_branch_stub): Likewise. + (elf_reloc_map): Delete, no longer used. + (elf_hppa_reloc_map): Likewise. + (elf32_hppa_symextn_map_max_size): Likewise. + (elf32_hppa_get_sym_extn): Abort if type is bogus. + + * elf32-hppa.c (elf32_hppa_backend_fake_sections): Add processing + of the .hppa_unwind section. + +Wed Aug 25 16:13:49 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config.bfd: recognize m88110. + +Tue Aug 24 16:32:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + Merged changes from Jeff Law and Pete Hoogenboom at Utah: + + * elfcode.h (elf_section_from_bfd_section): Add detection of + SHT_NOTE sections. + + * elf32-hppa.c: + (hppa_elf_build_long_branch_stub,hppa_elf_long_branch_needed_p): + New functions for support of long branch stubs. + (hppa_elf_stub_check,hppa_look_for_stubs_in_section): Add + check for long branch stubs. + (hppa_look_for_stubs): Unused function. Removed. + (hppa_elf_set_section_contents): Implement a PA/ELF-specific + version of bfd_set_section_contents. + (hppa_elf_long_branch_needed_p): Only output debugging diagnostics + when BFD is configured for debugging. + + * elf32-hppa.c: (elf32_hppa_get_symextn_chain): New function + to return a list of symbols that have non-zero argument + relocation bits. + (hppa_elf_stub_finish): Make sure stub generation is done only + once. + + * elf32-hppa.c: (hppa_elf_stub_reloc): New function for + generation relocation entries within a stub. + (hppa_elf_build_arg_reloc_stub): Corrections to argument + relocation stubs. + + * elf32-hppa.c: New #define's for argument relocation types. + (mismatches, retval_mismatches): Updated to reflect new + argument relocation types. + (CURRENT_STUB_OFFSET): New macro. + + * elfcode.h (map_program_segments): Set the PF_X bit for data + segments. + + * elf32-hppa.c: (elf_hppa_howto_table): Add + R_HPPA_STUB_CALL_17 for support of linker stub generation. + (hppa_elf_reloc): Add support of R_HPPA_STUB_CALL_17 + relocation type. + + * elf32-hppa.h: (elf32_hppa_reloc_type): Add + R_HPPA_STUB_CALL_17 for support of linker stub generation. + + * hppa_stubs.h: Add new instructions that are used in linker + stub generation. + + * elf32-hppa.c (hppa_elf_relocate_unwind_table): The offsets in an + unwind descriptor were incorrect. + + * libelf.h (bfd_elf_find_section): Declare. + + * elf32-hppa.c: (elf32_hppa_backend_symbol_processing): New + function in place of global_sym field in elf_backend_data + structure. + (elf32_hppa_backend_symbol_table_processing, + elf32_hppa_backend_section_processing, + elf32_hppa_backend_fake_sections, + elf32_hppa_backend_section_from_shdr, + elf32_hppa_backend_section_from_bfd_section): New functions to + provide support of symbol extension sections and argument + relocation stubs. + (elf_info_to_howto): Remove call to abort(). + + * elf32-target.h: Support for special processing by the backend. + (struct elf_backend_data): Added elf_backend_symbol_processing, + elf_backend_symbol_table_processing, + elf_backend_section_processing, elf_backend_section_from_shdr, + elf_backend_fake_sections, and + elf_backend_section_from_bfd_section fields. + * elfcode.h: (bfd_section_from_shdr): Add a check for + processor-specific section types. + (elf_fake_sections): Add a check for processor-specific + section types. + (bfd_elf32_write_object_contents): Add a check to see if + there is any final section processing to be done by the + backend. + (elf_section_from_bfd_section): Add a check for + processor-specific section types. + (elf_slurp_symbol_table): Remove reference to global_sym in the + elf_backend_data structure. Replace it with a call to + elf_backend_symbol_processing. + * libelf.h: Remove global_sym field in the elf_backend_data + structure. Replace it with a series of backend-specific + functions. + + * elf32-hppa.c (hppa_elf_stub_branch_reloc): The formal argument + stub_sym should be called target_sym. + (hppa_elf_build_arg_reloc_stub): Refer to the stub bfd (abfd) + rather than the output bfd (output_bfd). + (hppa_elf_reloc): Get rid of references to the global_sym field in + the elf_backend_data structure. + + * elfcode.h (elf_fake_sections): Check the correct condition for + .bss. Also, detect the existence of a .note section. + + * elf32-hppa.c (hppa_elf_relocate_insn): r_format argument should + have been r_field. + + * hosts/hppabsd.h (HOST_MACHINE_ARCH): Reference to bfd_arch_m68k + should be a reference to bfd_arch_hppa. + + * hppa.c (hppa_vec): Replace bfd_false with _bfd_dummy_target in + the bfd_check_format structure to avoid a type mismatch. + +Mon Aug 23 1993 Sean Fagan (sef@cygnus.com) + and Jim Kingdon (kingdon@cygnus.com) + + Add NetBSD support: + * netbsd386.c: New file. + * aoutx.h: Make sym_is_debugger_info true for N_FN. + * Makefile.in, aout-target.h, config.bfd, configure.host, configure.in, + libaout.h, targets.c: Other changes. + +Fri Aug 20 17:04:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m88k-elf.mt: New file. + * config.bfd: Use it for m88*-*-sysv4*. + +Fri Aug 20 15:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h (elf_build_phdrs): Unused function deleted. + (bfd_shdr_from_section): Ditto. + (write_relocs): Don't change section contents for addend. + (elf_locate_sh): Return type is now always elf_internal_shdr, + since the other types were really aliases for this type anyways. + Don't compile this function, since it is static and doesn't appear + to be used in this file. + (sym_is_global): Return non-zero for weak symbols. Abort if + section pointer is null. + (swap_out_syms): Reorder tests so function symbols can be weak. + (elf_slurp_symbol_table): Don't use BSF_EXPORT. + (elf_slurp_reloca_table): Make RELOC_PROCESSING section smaller by + extracting out some common code. Abort if BFD section symbol has + null name. + (elf_slurp_reloc_table): Translate ELF section symbols into BFD + section symbols. Don't read section contents to fill in addend + field. + + * elf32-i386.c (elf_howto_table): All partial_inplace fields + should be "true". + + * Merged from OSF: + + Tue Jun 15 14:38:32 1993 Michael Meissner (meissner@osf.org) + + * libelf.h (struct Elf_Sym_Extra): New structure to contain ELF + specific information for a symbol. Put in elf_sym_num, which + gives the external symbol number in the elf object file, since + local symbols must come before global symbols. + (elf_sym_extra): New macro. + (elf_symtab_map): Delete, in favor of using Elf_Sym_Extra. + * elfcode.h (elf_map_symbols): Use Elf_Sym_Extra to map internal + symbol number to external number. Store the address of the + Elf_Sym_Extra field for the symbol in the udata field. + (elf_write_object_contents): Use Elf_Sym_Extra to map out symbols. + + Sun Jun 20 16:30:11 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_obj_tdata): Add field to count the size of the + array of pointers to section symbols. + (elf_map_symbols): Bump the max index of the section symbols so + that we don't overwrite memory. Store the max index into the + elf_obj_tdata field. + + Sat Jun 19 10:12:27 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_obj_tdata): Add pointer to an array of pointers + to the section symbols we created. Remove unused field + internal_syms. + (elf_map_symbols): Fill in array of pointers to section symbols. + Only create section symbols for sections that have SEC_ALLOC set, + and have non-zero size. + (elf_symbol_from_bfd_symbol): If udata is NULL, and this is a + section symbol, look up the section in the list of section + symbols, and set the udata pointer appropriately. Otherwise, if + udata is still NULL, fail an assertion, and use 0, instead of + dropping core. + +Fri Aug 20 12:18:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config.bfd (mips-*-elfl*, mips-*-elf*): New targets, using + mipslelf and mipsbelf respectively. + * config/mipslelf.mt, config/mipsbelf.mt: New files. + * elf32-mips.c: Added some reloc information. + * configure.in: Fixed error message. + + * ecoff.c (ECOFF_LONG_SIZE): Removed. Just use constants. + +Thu Aug 19 09:45:51 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * Makefile.in (BFD_LIBS, ALL_MACHINES, BFD32_BACKENDS, BFD64_BACKENDS, + OPTIONAL_BACKENDS): Alphabetize entries and add a few missing ones. + * archures.c: Alphabetize decls. + + * configure.in, targets.c: Add missing vectors to the tables. + * targets.c (target_vector) [!SELECT_VECS]: Add DEFAULT_VECTOR. + Remove hp300bsd_vec due to clash with sunos_big_vec. + +Tue Aug 17 18:12:32 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/i386{mach3,osf1mk}.h: New files, for Mach hosting. + * hosts/i386mach.h: removed, replaced by i386osf1mk.h. + * config/i386mach3.mt, i386mach3.c: New files, for Mach a.out format. + * Makefile.in, configure.host, config.bfd: Corresponding changes. + * hosts/decstation.h: Include <sys/param.h> not <machine/param.h>. + +Tue Aug 17 15:19:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffgen.c (coff_section_symbol): If section's output_section is + not yet set, point to itself. This is needed because this is + called on the output file, not the input file. + + * coff-rs6000.c (dummy_reloc, RTYPE2HOWTO): Set howto field to a + dummy value, rather than leaving it NULL. + + * archures.c (bfd_default_set_arch_mach): Set bfd_error on + failure. + * aoutx.h (NAME(aout,set_arch_mach)): Check return value of + bfd_default_set_arch_mach. + +Tue Aug 17 09:42:16 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * config.bfd (cpu): Extract from canonical name with sed. + * configure.in: Don't pass it. + +Sun Aug 15 20:45:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * bfd-in.h: Remove {BYTE,WORD,LONG}_SIZE; they are pointless and + BYTE_SIZE conflicts with a Mach header. + * ecoff.c: Change LONG_SIZE to ECOFF_LONG_SIZE and define it. + + * configure.host: Make sure all OS fields end in *. + +Fri Aug 13 16:33:33 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_slurp_reloc_table): Use bfd_abs_section for + RELOC_SECTION_NONE and RELOC_SECTION_ABS. If a reloc section + doesn't exist, don't try to create it. + + * nlmcode.h (nlm_write_object_contents): procedure offsets are + from start of code segment, not start of file. + * config/i386-nlm.mt (DEFAULT_VECTOR): It's nlm32_i386_vec, not + bfd_nlm32_i386_vec. + * configure.in (SELECT_VECS switch): Likewise. + +Thu Aug 12 10:32:47 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * format.c (bfd_check_format): If the target matches the default + target, set match_count to 1, to ignore any previous matches. + + * Makefile.in (BFD32_BACKENDS): Remove srec.o, add reloc16.o. + + * configure.in: Add reloc16.o when we add + coff-h8300.o, coff-h8500.o, coff-sh.o, coff-z8k.o. + Makefile.in (BFD_LIBS): Remove reloc16.o. + + * config/u68k-coff.mt: Fix typo, DEFAULT_TARGET for + DEFAULT_VECTOR. + + * config/h8300-coff.mt, h8500-coff.mt, sh-coff.mt, st2000.mt, + z8k-coff.mt (DEFAULT_VECTOR): Define. Don't explicitly add + S-records via SELECT_VECS. + + * targets.c (target_vector), Makefile.in (BFD_LIBS): Always + support S-records, for convenience. + +Thu Aug 12 08:30:05 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-alpha.c (alpha_howto_table, alpha_finish_reloc, + alpha_ecoff_swap_reloc_{in,out}, alpha_bfd_reloc_type_lookup): + Read and write Alpha relocs. Can't process them yet. + * ecoff.c (ecoff_slurp_reloc_table): Recognize new reloc sections. + If the section does not already exist, create it. + + * ecoffswap.h (ecoff_swap_pdr_{in,out}): Handle new fields defined + on the Alpha. + + * libecoff.h (ecoff_backend_data): Added constructor_reloc and + finish_reloc fields. + * ecoff.c: Move MIPS reloc support from here... + * coff-mips.c: to here. + * ecoff.c (ecoff_set_symbol_info): Get constructor reloc howto + from backend. + (ecoff_slurp_reloc_table): Removed MIPS specific stuff. Call + finish_reloc backend function. + (ecoff_write_object_contents): Removed MIPS specific assertions. + * coff-mips.c (mips_finish_reloc): New function. + (mips_ecoff_backend_data): Fill in new fields. + * coff-alpha.c (alpha_ecoff_backend_data): Use NULL for new + fields. + * targets.c: Added extern for ecoffalpha_little_vec. + + * bfd.c (_bfd_host_big_endian): Removed. + * bfd-in.h (HOST_BYTE_ORDER_BIG_P, bfd_header_twiddle_required): + Removed. + * bfd-in2.h: Regenerated. + +Wed Aug 11 12:11:23 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * config.bfd: New file, broken out of configure.in. + * configure.in: Use it, and use standard target names for + --with-targets, replacing --with-bfd-targets. + + * archures.c (archures_init_table): Add bfd_sh_arch. + + * configure.in: Include coff-m68k.o for m68kcoffun_vec. + Include nlm32.o and nlm.o for bfd_nlm32_i386_vec. + Fix error in error message. + + * oasys.c: Make bfd_error_vector extern. + + * configure.in: Include stab-syms.o for a.out/b.out targets + and hp300{bsd,hpux}. + +Wed Aug 11 06:40:51 1993 Ian Lance Taylor (ian@cygnus.com) + + * nlmcode.h (nlm_compute_section_file_positions): Add the .bss + section before setting output_has_begun. + (nlm_set_section_contents): Remove argument names from + mangle_relocs_func prototype. + (nlm_write_object_contents): Remove shadowing local variable. + Don't write out debugging symbols if debugInfoOffset is -1. Add + the codeImageOffset to the start, exit, and check procedure + offsets. + * nlm32-i386.c (nlm_i386_write_reloc, nlm_i386_mangle_relocs): + Don't check partial_inplace field; its value is irrelevant. + + * Base use of sco-core on host, not target. + * configure.host (i[34]86-*-sco*): Use i386sco rather than i386v. + * config/i386-sco.mt (TDEFINES): Removed. + * config/i386sco.mh: New file to use sco-core. + * hosts/i386sco.h: New file; just includes hosts/i386v.h. + + * ecoffswap.h (ecoff_swap_{hdr,ext}_{in,out}): Use signed + conversions for some fields. + +Tue Aug 10 13:32:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_gprel_reloc): If _gp is not defined, give an + error rather than aborting. + + * libnlm.h (struct nlm_backend_data): Added mach field. + (nlm_machine): New accessor macro. + * nlm.c (nlm_mkobject): Set architecture and machine from backend + information. + * nlm32-i386.c (nlm32_i386_backend): Initialize new mach field. + +Tue Aug 10 09:31:18 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * configure.in: Replace calls to sort with shell code + to uniq the lists. + +Tue Aug 10 06:23:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: Include aout32.o for any a.out/b.out formats. + +Mon Aug 9 09:37:18 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * config/i386-linux.mt (SELECT_VECS): Support bfd_elf32_i386_vec. + * config/m68k-elf.mt (SELECT_VECS): Support m68kcoff_vec. + * config/i386-elf.mt (SELECT_VECS): Support i386coff_vec. + * config/hppa-elf.mt (SELECT_VECS): Support hppa_vec. + * config/sparc-elf.mt (SELECT_VECS): Support sunos_big_vec. + * config/i386-sco.mt (SELECT_VECS): Don't define; Ian says it was + just a hack. + +Mon Aug 9 13:15:00 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/m88k-coff.mt (DEFAULT_VEC -> DEFAULT_VECTOR): renamed. + +Mon Aug 9 14:26:45 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * syms.c (BSF_EXPORT): Now same as BSF_GLOBAL. + + * bfd.c (bfd_scan_vma): New function. + +Mon Aug 9 11:29:53 1993 Ian Lance Taylor (ian@cygnus.com) + + * bfd-in.h (bfd_get_architecture, bfd_get_machine): Removed + obsolete macros. + * bfd-in2.h: Updated. + + * ecoff.c (ecoff_slurp_armap): Correct bug in initialization of + stringbase. + +Sun Aug 8 12:21:13 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * configure.in: Remove unneeded test. + +Sun Aug 8 12:41:22 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in ({dist,real}clean): Use $(MAKE), not make. + +Sat Aug 7 09:14:21 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * config/st2000.mt (TDEFINES): Don't define MRI; not used. + + * PORTING, TODO, config/README: Update to reflect below changes. + + * configure.in: Replace MINIMIZE and --with-minimal-bfd with + --with-bfd-targets="target1,target2,..." and the special target + "all" to get the previous default behavior. + Figure out which architecture and backend .o files are needed from + DEFAULT_VECTOR, SELECT_VECS, and SELECT_ARCHITECTURES as set in + the .mt files. Define TDEFAULTS based on them, also. + + * Makefile.in: Remove references to MINIMIZE. + * archures.c, targets.c: Ditto. + + * config/*.mt: Define DEFAULT_VECTOR, SELECT_VECS, and + SELECT_ARCHITECTURES as variables rather than as -D arguments to + TDEFAULTS. + + * config/a29k-coff.mt,alphaosf.mt, i386-sco.mt, i960-bout.mt, + i960-coff.mt (TDEFAULTS): Don't put the default vector in + SELECT_VECS manually; it's automatic now. + + * config/i386-sco.mt (TDEFAULTS): Don't put &sco_core_vec in + SELECT_VECS manually; -DSCO_CORE does it automatically now. + + * config/h8300-coff.mt,h8500-coff.mt,sh-coff.mt,st2000.mt,z8k-coff.mt + (TDEFAULTS): Don't define BFD; not used. + + * config/hppaosf.mh (HDEFINES): Don't define SELECT_ARCHITECTURES; + this is a host, not a target. + +Sat Aug 7 05:28:03 1993 Fred Fish (fnf@deneb.cygnus.com) + + * elfcode.h (elf_object_p): Add comment about what this function + does and to watch out for side effects. Add FIXME for memory leaks. + Fix comment about checking for matching byte order. Preserve + pointer to old tdata (if any), and restore it if we don't match + file with target vector. If we are going to use goto's, use them + consistently and maintainably. + * nlmcode.h (nlm_object_p): Expand comments about leaked memory + to note that the problem is even more serious than just leaked + memory. Replace goto with more traditional return. + +Fri Aug 6 12:00:03 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + Fix incorrect or useless makefile variable definitions: + * config/news.mt, config/u68k-coff.mt (TDEFAULTS): Use this to + define DEFAULT_VECTOR, instead of TDEFINES. + * config/i386aix.mh (MINIMIZE): Don't define. + * config/hppaosf.mh (MINIMIZE): Don't conditionalize. + * config/rs6000.mh (ALLOCA), + * config/i386v.mh (ALLOCA), + * config/i386linux.mh (ALLOCA), + * config/i386isc.mh (ALLOCA), + * config/go32.mh (EXTRALIBS): Don't define; not used. + * config/solaris2.mh (HDEFINES): Renamed from H_DEFINES. + * config/alphaosf.mt (TDEFINES): Set it, not HDEFINES. + * config/z8k-coff.mt (CC): Don't define. It's a target, not a host. + + * config/README: New file, explaining the variables. + + * targets.c (target_vector): Add hp300_bsd_vec. + * Makefile.in (BFD32_BACKENDS, CFILES): Add hp300bsd. + (hp300bsd.o): New rule. + +Fri Aug 6 15:13:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * libelf.h (NAME): Provide a default definition, that's neither + for 32 bits nor for 64. + + Tue Jun 15 14:38:32 1993 Michael Meissner (meissner@osf.org) + + * libelf.h (elf_hash): Change declaration to bfd_elf_hash, since + that is what is in elf.c. + +Fri Aug 6 12:28:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_set_symbol_info): Removed special handling for + scBss and scSBss symbols, since it was wrong. + + * Makefile.in (coff-mips.o, coff-alpha.o): Don't depend on + coffcode.h. + + * coffcode.h (sec_to_styp_flags): Inspired by mb@tti.COM (Michael + Bloom): Only set STYP_BSS for SEC_ALLOC sections. + + * ecoff.c (ecoff_slurp_armap): From Arne Henrik Juul + <arnej@kari.fm.unit.no>: Handle a COFF style armap. + +Fri Aug 6 09:59:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hpux-core.c: Cast return value from bfd_zalloc. + +Thu Aug 5 13:22:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * aoutx.h (log2): Delete i387-specific code. + + * Makefile.in (BFD_LIBS): Always include elf.o. + (BFD32_BACKENDS): Don't include elf.o here. + (ofiles): Delete references to ofiles2 and ofiles3. + (do_clean): Delete ofiles. + (BFDIN_H): Changed references to $(srcdir)/bfd-in2.h. + (stmp-bfd.h): Use bfd.h-new as temporary name, not bfd.h2. + (headers): Use bfd-in2.h-new as temporary name, not bfd.h-new. + + * bfd-in.h: Reworded comment to make it clear that bfd-in2.h is a + generated file. + + * reloc.c (enum bfd_reloc_code_real): Added i386-elf reloc types + (from Meissner's additions to bfd-in2.h). + + * elf32-i386.c (ELF_MAXPAGESIZE): Define. + + Merged: + + Wed Jun 23 06:05:58 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_write_object_contents): Don't drop core if + elf_symbol_from returns a NULL pointer when processing a non-elf + symbol, use a 0 size instead. + + Tue Jun 15 14:38:32 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_hash): Delete macro mapping elf_hash to + bfd_elf32_hash, since the hash table is independent of the 32/64 + bit system. + + * libelf.h (elf_hash): Change declaration to bfd_elf_hash, since + that is what is in elf.c. + + Sat Jun 19 10:12:27 1993 Michael Meissner (meissner@osf.org) + + * elf32-i386.h (reloc_type): Reformat spacing. + (elf_howto_table): Add the rest of the 386/ELF relocations. + (elf_i386_reloc_type_lookup): Ditto. + (elf_i386_info_to_howto): Ditto. + (elf_i386_info_to_howto_rel): Ditto. + +Thu Aug 5 10:07:43 1993 Fred Fish (fnf@cygnus.com) + + * nlmcode.h (nlm_get_reloc_upper_bound): Test return value + of nlm_slurp_symbol_table as boolean, not pointer. + * nlmcode.h (nlm_canonicalize_reloc): Test return value + of nlm_slurp_reloc_fixups as boolean, not pointer. + +Wed Aug 4 16:22:55 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config/go32.mh: remove HDEFINES; since __MSDOS__ and __GO32__ + are now predefined by GCC + +Wed Aug 4 16:06:29 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * coffgen.c (coff_print_symbol): Add the section offset to the + line number address, so it's printed the same way as the function + address. Only showed up for line numbers that aren't in the first + section (.text). + +Wed Aug 4 08:33:55 1993 Ian Lance Taylor (ian@cygnus.com) + + * libnlm.h (nlm_backend_data): Added nlm_mangle_relocs. + (nlm_mangle_relocs_func): New macro. + * nlm32-i386.c (nlm_i386_write_reloc): Rewrote correctly. + (nlm_i386_mangle_relocs): New function. + * nlmcode.h (nlm_compute_section_file_positions): Move all common + symbols into the .bss section. + (nlm_set_section_contents): Call the mangle_relocs function. + (nlm_write_object_contents): Treat a reloc against any defined + symbol as an internal reloc. Fix bug in external reloc counting. + Get the offset and debugging type right for .bss symbols. Only + output debugging symbols for defined symbols. + + * coff-h8500.c (rtype2howto): Do an fprintf to stderr rather than + using printf. + * coff-z8k.c (rtype2howto): Likewise. + * coffcode.h (dummy_reloc16_extra_cases): Likewise. + * elf32-i386.c (TRACE): Likewise. + * hp300hpux.c (convert_sym_type, swap_std_reloc_in): Likewise. + * rs6000-core.c (rs6000coff_get_section_contents): Likewise. + * coffgen.c (coff_print_symbol): Do an fprintf to the file + argument rather than using printf. + +Tue Aug 3 18:17:25 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffswap.h: Added macros used when accessing several fields; + default is the same as before. + (coff_swap_aouthdr_{in,out}): Handle the Alpha ECOFF fields. + * coff-alpha.c: Defined macros to use the right sizes in + coffswap.h. + * libecoff.h: Backend information is now in target vector, not + BFD. Start of backend information is COFF backend information. + * coff-alpha.c, coff-mips.c: Changed accordingly. + * ecoff.c (ecoff_mkobject): New function. + (ARMAP_START): Changed into backend information, since Alpha uses + a different name. + (ecoff_slurp_armap): Don't overlay archive header. + * bfd.c: Include libcoff.h. + +Tue Aug 3 16:33:11 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * Makefile.in (install): Fix sh syntax error. + + * aoutf1.h: Make bfd_error_trap extern; it's defined in bfd.c. + +Tue Aug 3 15:19:09 1993 Fred Fish (fnf@deneb.cygnus.com) + + * nlm_slurp_symbol_table: Don't use '&' on arrays. + +Tue Aug 3 11:06:28 1993 Ian Lance Taylor (ian@cygnus.com) + + * ecoff.c: New file for generic ECOFF functions. + * ecoffswap.h: New file for ECOFF swapping functions which differ + only slightly for different targets. + * libecoff.h: Added prototypes for ecoff.c functions. + (ecoff_backend_data): New structure. + (ecoff_tdata): Added backend_data field. Changed external data + pointers to be PTR rather than to a particular struct. + (ecoff_symbol_struct): Moved in from coff-mips.c. + * coff-alpha.c, coff-mips.c: Moved common functions into ecoff.c. + Added ECOFF backend structures. Include ecoffswap.h. + * coff-msym.c: Removed; superseded by ecoffswap.h. + * bfd.c: Include coff/internal.h. + * Makefile.in (BFD_LIBS): Removed coff-mips.o and coff-msym.o. + Added ecoff.o. + (BFD64_BACKENDS): Added coff-alpha.o. + (CFILES): Removed coff-msym.c. Added ecoff.c. + (bfd.o): Added dependency on $(INCDIR)/coff/sym.h. + (coff-mips.o): Added dependency on ecoffswap.h and coff/ecoff.h. + (ecoff.o, coff-alpha.o): New targets. + (coff-msym.o): Removed target. + +Mon Aug 2 23:33:38 1993 John Gilmore (gnu@cygnus.com) + + * elf32-hppa.h, hosts/*: Remove (one more time) all occurrances + of EXFUN in the BFD sources. Heave ho! + +Mon Aug 2 16:45:57 1993 Stu Grossman (grossman at cygnus.com) + + * coffcode.h (coff_set_arch_mach_hook): Add check for I386LYNXMAGIC. + +Mon Aug 2 12:18:03 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * hosts/sun3.h: remove some more conflicting decls + +Mon Aug 2 11:48:23 1993 Stu Grossman (grossman at cygnus.com) + + * i386lynx.c: Remove unnecessary def of N_HEADER_IN_TEXT, + redefine TEXT_START_ADDR to be 0. + +Sun Aug 1 22:54:08 1993 Stu Grossman (grossman at cygnus.com) + + * configure.host, configure.in, hosts/i386lynx.h: Lynx/386 + host and target info. + +Fri Jul 30 18:08:27 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlm32-i386.c: New file. First cut at i386 NLM code. + * libnlm.h: Added some more prototypes. + (struct nlm_relent): New structure. + (nlmNAME(symbol_type)): Added rcnt and relocs fields. + (struct nlm_obj_tdata): Added new fields: nlm_symbols, + nlm_text_low, nlm_data_low, nlm_reloc_fixups, + nlm_reloc_fixup_secs. + (struct nlm_backend_data): New structure, with accessor macros. + * nlmcode.h: Use NLM_HIBIT rather than MSB. + (nlm_object_p): Set SEC_RELOC for .text and .data. Don't set + SEC_DATA for .bss. Set HAS_RELOC and HAS_SYMS for abfd. Set the + architecture. + (nlm_swap_fixed_header_out, nlm_swap_variable_header_out, + find_nonzero, nlm_swap_auxiliary_headers_out): New outbound + swapping functions. + (nlm_get_symtab_upper_bound, nlm_slurp_symbol_table): Include + external references in symbol table as undefined symbols. + (nlm_get_symtab, nlm_slurp_symbol_table): Fill in alocation + argument in get_symtab rather than in slurp_symbol_table. + (nlm_slurp_symbol_table): Save symbol information in tdata. + (nlm_print_symbol): New function. + (nlm_slurp_reloc_fixups, nlm_get_reloc_upper_bound, + nlm_canonicalize_reloc): New functions to read relocs. + (nlm_compute_section_file_positions, nlm_set_section_contents, + nlm_external_reloc_compare, nlm_write_object_contents): New + functions to create NLM files. + * nlm-target.h: Define all the nlm functions here either as + default values or in terms of nlmNAME. Use JUMP_TABLE(nlm). Set + the backend_data field to TARGET_BACKEND_DATA. + * nlm32-gen.c, nlm64-gen.c: Don't define function macros here; + they are now in nlm-target.h. + (TARGET_BACKEND_DATA): Define as NULL. + * nlm.c (nlm_mkobject): Do allocate the tdata field. + (nlm_set_arch_mach): New function. + * targets.c: Added nlm32_i386_vec. + * Makefile.in (BFD32_BACKENDS): Added nlm32-i386.o. + (CFILES): Added nlm32-i386.c. + (nlm32-gen.o, nlm64-gen.o): Depend on nlm-target.h. + (nlm32-i386.o): New target. + +Thu Jul 29 20:20:39 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * hosts/sun3.h: remove some function decls that conflict w/ ANSI + C, and aren't needed anyway (return int) + +Wed Jul 28 15:46:38 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h: Use casts with bfd_alloc and alloca. + +Tue Jul 27 12:51:43 1993 Fred Fish (fnf@deneb.cygnus.com) + + * nlm{32,64}-gen.c (JUMP_TABLE_PREFIX): Delete. + * nlm{32,64}-gen.c (JUMP_TABLE_INIT): New macro that works with + older cpp's, that don't do additional replacement on the JUMP_TABLE + macro's argument. + * nlm-target.h (JUMP_TABLE_INIT): Use new macro in place of + JUMP_TABLE macro. + +Mon Jul 26 17:39:01 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + Yet another trad-core variant: + * config/esix.mh, hosts/esix.h: New files. + * configure.hosts: Use them. + +Mon Jul 26 13:22:15 1993 Ian Lance Taylor (ian@cygnus.com) + + * reloc.c (bfd_perform_relocation): Handle the case of + complain_overflow_bitfield, rightshift > bitpos, and a negative + number. + +Mon Jul 26 14:40:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h: Reimplement segment writing. + (elf_write_phdrs): Use precomputed e_phoff rather than making + assumptions. + (elf_build_phdrs): Disabled, for now. + (assign_file_position_for_section): Don't change file offset for + SHT_NOBITS. + (assign_file_positions_for_symtab_and_strtabs): New function. + (struct seg_info): New type. + (map_program_segments): New function. + (assign_file_positions_except_relocs): For executables, leave + section headers &c for last, and properly align all sections with + flag SHF_ALLOC set. + (prep_headers): No longer abort when EXEC_P is set. + (write_shdrs_and_ehdr): Deleted all code relating to program + segments. + + * elfcode.h (various): Deleted some unused code, and debugging + "malloc(0)" calls. + (write_relocs): Cache value of last symbol looked up, to save + time if the symbol is referred to repeatedly. + (elf_fake_sections): Check only SEC_RELOC flag, not number of + relocs. + (assign_section_numbers): Likewise. + + * Makefile.in (ofiles): Stars in wildcards belong outside quotes. + + * libelf.h (struct elf_backend_data): New field, maxpagesize. + (struct elf_obj_tdata): New field, phdr. + * elf32-target.h (elf32_bed): Initialize maxpagesize from + ELF_MAXPAGESIZE. + (ELF_MAXPAGESIZE): Default to 1. + * elf64-target.h (elf64_bed, ELF_MAXPAGESIZE): Likewise. + * elf32-sparc.c (ELF_MAXPAGESIZE): Define. + (elf_sparc_howto_table): All relocs should have pcrel_offset=true. + Most should have length field of `2'. + + * reloc.c (bfd_perform_relocation): Handle 64-bit relocs. + + * config/sparc-aout.mt (TARGET_BACKENDS): Define. + +Mon Jul 26 08:56:16 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in: Don't look in ${srcdir} for ${target_makefile_frag}; + the top level script has already adjusted for it. + +Mon Jul 26 08:09:19 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * srec.c (srec_write_symbols): Get CR LF in the right order. + +Mon Jul 26 02:08:41 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/vaxbsd.h: Include std-host.h. Don't include <machine/param.h>. + +Sat Jul 24 16:13:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * reloc.c (bfd_perform_relocation): Handle case of rightshift != + bitpos when overflow checking. + +Fri Jul 23 10:20:27 1993 Doug Evans (dje@canuck.cygnus.com) + + * bfd.c (bfd_nonrepresentable_section, bfd_undefined_symbol, + bfd_reloc_value_truncated, bfd_reloc_is_dangerous, bfd_assert): + Send error messages to stderr. + +Thu Jul 22 15:57:29 1993 Fred Fish (fnf@deneb.cygnus.com) + + * nlm{32,64}-target.h: Remove. + * nlm-target.h: New file, merged from nlm{32,64}-target.h + * libnlm.h (NLM_ARCH_SIZE): Define to ARCH_SIZE. + * nlm.c (ARCH_SIZE): Remove define to zero. + * nlm32-gen.c (ARCH_SIZE): Define to 32. + * nlm32-gen.c (JUMP_TABLE_PREFIX): Define to nlm32. + * nlm{32,64}-gen.c (nlm-target.h): Include. + * targets.c, libnlm.h, nlm.c, nlm{32,64}-gen.c, nlm{32,64}.c, + nlmcode.h: Convert prefixes from bfd_nlm<size> to just + nlm<size>, and use macros select size. + +Thu Jul 22 15:40:14 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in (Makefile): add configure.in, drop redundant + $(srcdir), drop redundant ./ + +Thu Jul 22 13:34:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * hpux-core.c: New file; backend for HP/UX style core files. + * bfd.c (struct _bfd): Renamed hppa_core_data field to + hpux_core_data. + * bfd-in2.h: Updated. + * hppa.c (make_bfd_asection, hppa_core_file_p, + hppa_core_file_failing_command, hppa_core_file_failing_signal, + hppa_core_file_matches_executable_p): Moved into hpux-core.c. + Removed from target vector. + * libhppa.h (struct hppa_core_struct and accessor macros): Moved + into hpux-core.c. + * targets.c: If HPUX_CORE is defined, add hpux_core_vec to + target list. + * config/hp300.mh (HDEFINES): Set to -DHPUX_CORE. + (HDEPFILES): Set to hpux-core.o. + * config/hppabsd.mh, config/hppahpux.mh: Likewise. + * hosts/hp300.h (HOST_HP300HPUX): Define. + * Makefile.in (OPTIONAL_BACKENDS): Added sco-core.o, + aix386-core.o, hpux-core.o. + (sco-core.o, aix386-core.o, hpux-core.o): New dependencies. + + * reloc.c (enum complain_overflow): New enumeration with the + various flavours of overflow checking. + (srtuct reloc_howto_struct): Changed complain_on_overflow field + from boolean to emum complain_overflow. Removed obsolete absolute + field. + (HOWTO): Removed absolute argument. + (bfd_perform_relocation): Do overflow checking on all types of + fields. + * bfd-in2.h: Updated accordingly. + * all targets: Updated initialization of reloc howto tables. + +Wed Jul 21 20:34:34 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * opncls.c (bfd_create): Don't use C++ keyword "template" as a C + variable name. + +Tue Jul 20 15:02:23 1993 Fred Fish (fnf@deneb.cygnus.com) + + * coff-m68k.c (m68k_howto2rtype): Make arg CONST to match callers. + + * elfcode.h: Fix several illegal pointer combination warnings for + usages of bfd_alloc and alloca. + + * libnlm.h (nlm_obj_tdata): Rename hidden struct members to avoid + apparent Sun C preprocessor recursion. Fix access macros. + * nlmcode.h: Remove spurious '&' before several array references. + +Tue Jul 20 14:36:27 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * Rename for DOS uniqueness: coff-m68k-un.c -> coff-u68k.c + config/m68k-coffun.mt -> u68k-coff.mt. + * Makefile.in, configure.in: Corresponding changes. + +Tue Jul 20 16:21:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf32-sparc.c (elf_sparc_howto_table): Don't use "&" before + function name; it's valid without, and some compilers give + warnings with it there. + +Tue Jul 20 08:21:15 1993 Fred Fish (fnf@deneb.cygnus.com) + + * bfd-in.h: Apply some of the changes that were made to bfd-in2.h. + * bfd.c (union tdata): Add nlm_obj_data; + * targets.c (enum target_flavour): Add bfd_target_nlm_flavour. + +Mon Jul 19 20:46:18 1993 Fred Fish (fnf@deneb.cygnus.com) + + * configure.in (*-*-netware, i[34]86-*-netware): New configs. + * Makefile.in (BFD32_BACKENDS): Add nlm.o, nlm32.o, nlm32-gen.o. + * Makefile.in (BFD64_BACKENDS): Add nlm64.o, nlm64-gen.o. + * Makefile.in (CFILES): Add nlm{32,64}.c, nlm{32,64}-gen.c. + * Makefile.in (nlm.o, nlm{32,64}.o, nlm{32,64}-gen.o: New targets. + * bfd-in2.h (INLINE): Defines moved here. + * {aoutx.h, elf.c, elfcode.h}: Move INLINE defines to bfd-in2.h. + * libelf.h (CAT4): Move define to bfd-in2.h. + * bfd-in2.h (CAT4): Merge CAT4 macro with other CAT macros. + * bfd-in2.h (union tdata): Add nlm_obj_data. + * bfd-in2.h (enum target_flavour): Add bfd_target_nlm_flavour. + * targets.c (bfd_nlm{32,64}_{big,little}_vec): Add prototypes. + * targets.c (target_vector): Add bfd_nlm{32,64}_{big,little}_vec. + * (libnlm.h, nlm.c, nlmcode.h, nlm{32,64}-gen.c, + nlm{32,64}-target.h, nlm{32,64}.c, config/i386-nlm.mt): New files + for NLM support. + +Mon Jul 19 15:09:01 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.{hosts,in}: add i[34]86-*-lynxos* support + +Mon Jul 19 14:53:30 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * elf.c, elfcode.h, libelf.h: Serious reorganization. + Deleted `thunk' structure, merged into tdata, duplicate data + eliminated. + Rearranged functions, grouping by functionality. + Broke up many functions in elfcode.h, re-ordered many parts of + file writing to handle unpredictable state of section relocation + table as provided by various applications. + Still needs cleanup: Merge functions back together, split out + data structure with only data that is used only when writing out + object file. + + * elf.c (bfd_elf_generic_reloc): New function, taken from + coff-mips.c. + * elf32-sparc.c (elf_sparc_howto_table): Use it, to work around + bfd_perform_relocation lossage. + + * Makefile.in (BFD_LIBS): Include coff-mips.o and coff-msym.o, so + that gdb will link. + (ofiles): Don't use sort or uniq; do it with sh constructs. + +Sun Jul 18 19:42:14 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * coffcode.h: Recognize I386PTXMAGIC. + * aoutf1.h, libaout.h: Add M_386_DYNIX. + * trad-core.c (TRAD_CORE_USER_OFFSET, TRAD_CORE_STACK_FILEPOS): + New macros; use it if defined. + * config/symmetry.mh, hosts/symmetry.h: New files. + +Fri Jul 16 14:56:31 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * Rename elf{32,64}-generic.c to *-gen.c for 14 char filenames. + * Makefile.in: Change accordingly. + (CFILES): Add elf64-gen.c. + +Fri Jul 16 09:53:23 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c: Use MIPS_AOUT_{OZ}MAGIC rather than {OZ}MAGIC. + +Thu Jul 15 16:02:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-m88k.c (howto_table): Corrected bitsize for R_PCR26L from + 16 to 26. + +Wed Jul 14 15:29:56 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hppa.c [HOST_HPPABSD]: Use hpux-style core files. + * libhppa.h [HOST_HPPABSD]: Include hpux version of core.h + +Wed Jul 14 09:30:48 1993 Doug Evans (dje@canuck.cygnus.com) + + * configure.in: Recognize h8300h-*-*. + +Tue Jul 13 12:03:00 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * coff-h8500.c (reloc_processing, rtype2howto): New relocation + type R_H8500_HIGH_16. + * coff-sh.c (r_imm32): Get the width of the reloc right. + +Tue Jul 13 16:48:56 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) + + * configure.in: Add new target m68k-coffun to the dpx/2. + * config/m68k-coffun.mt: New file, renamed from config/dpx2.mt. + +Mon Jul 12 10:42:49 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * reloc.c (enum bfd_reloc_code_real): Move SPARC_BASE13 reloc into + sparc-aout-specific list. + + * libelf.h (struct elf_obj_tdata): Add field `thunk'. + + * config/sparc-elf.mt (TARGET_BACKENDS): New make variable. + +Thu Jul 1 14:52:47 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) + and Jim Kingdon (kingdon@cygnus.com) + + * elfcode.h: Use memset not bzero. + * trad-core.c: Don't include <sys/file.h>. + * i386linux.h: Include <sys/file.h>. + * coff-m68k-un.c: new file to handle names with underscores on + svr3 machines. + * coff-m68k.c (m68k_rtype2howto): added #ifdef ONLY_DECLARE_RELOCS + to not duplicate the function in the executable. + (TARGET_SYM, TARGET_NAME, NAMES_HAVE_UNDERSCORE): new macros needed + by coff-m68k-un.c. + * coffcode.h (MC68KBCSMAGIC): case added. + * targets.c: Add m68kcoffun_vec. + * configure.host: added support for Bull dpx/2. + * config/dpx2.mh, hosts/dpx2.h: new files. + * Makefile.in: added target coff-m68k-un. + +Fri Jul 9 00:43:06 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * aoutf1.h: Add definition of MACHTYPE_OK. + +Thu Jul 8 14:37:44 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * reloc.c (bfd_perform_relocation): Don't subtract the addend + again for coff. + + * syms.c, bfd-in2.h: Doc fix. + + * coffcode.h (CALC_ADDEND): Check for common section using the + section flag as well as the symbol flag. + +Thu Jul 8 13:43:52 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/i386bsd.h: Conditionalize HOST_STACK_END_ADDR on __bsdi__. + i386bsd.c: Remove defines of N_TXT*; the versions in aout64.h should + be sufficient. Define TEXT_START_ADDR. + +Wed Jul 7 10:56:21 1993 Ian Lance Taylor (ian@cygnus.com) + + * aoutx.h (translate_from_native_sym_flags): Removed statep + argument. Just let an indirect symbol point to the next symbol + without forcing the next symbol to be undefined. Changed all + callers. + * hp300hpux.c (slurp_symbol_table): Changed call to + translate_from_native_sym_flags. + * targets.c: Added hp300hpux_vec. + * Makefile.in (hp300hpux.o): Added dependencies. + +Tue Jul 6 13:24:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * reloc.c (enum bfd_reloc_code_real): Put simple power-of-two + relocs together, and add 64-bit versions. + (bfd_generic_get_relocated_section_contents): Argument to alloca + is size_t. + + * libbfd.c (bfd_xmalloc_by_size_t): New function. + * opncls.c (bfd_cache_init, bfd_open_file): Add prototypes to + declarations. + (obstack_chunk_alloc): Use bfd_xmalloc_by_size_t. + (new_bfd): Prototype-style definition, using DEFUN. + (bfd_alloc_grow, bfd_alloc, bfd_zalloc, bfd_realloc): Size + argument is type size_t, not bfd_size_type. + * ieee.c (obstack_chunk_alloc): Use bfd_xmalloc_by_size_t. + * bfd.c (bfd_default_error_trap, bfd_error_trap, + bfd_error_nonrepresentabltrap): Prototypes. + * libbfd-in.h (bfd_alloc, bfd_zalloc, bfd_realloc, + bfd_alloc_grow): Adjusted prototypes for arg type change. + * archive.c (get_elt_at_filepos, do_slurp_bsd_armap, normalize, + do_slurp_coff_armap, bfd_construct_extended_name_table): + Prototypes. + * elfcode.h (elf_string_from_elf_strtab): Prototypes. + * libelf.h (elf_string_from_elf_section, elf_get_str_section): + Prototypes. + + * Makefile.in (ALL_MACHINES): Renamed from BFD_MACHINES. + (ofiles): New target. Build a list of unique file names, in case + any got duplicated. + (TARGETLIB): Use list of files from ofiles. + * configure.in: Set BFD_MACHINES and BFD_BACKENDS depending on + minimal-bfd flag and target makefile frag contents. + + * elfcode.h (elf_read): Delete static declaration, since function + has moved. + (elf_map_symbols): Write out section symbols for all sections, for + now. + (elf_symbol_from_bfd_symbol): Allow match if both symbols are + section symbols for the same section. + (elf_find_nearest_line): Don't print message, just return false. + + * libelf.h (bfd_elf_locate_sh): Declaration deleted. + +Mon Jul 5 16:48:11 1993 Doug Evans (dje@canuck.cygnus.com) + + * cpu-h8300.c (h8300_scan): Fix parsing of architecture string. + +Fri Jul 2 18:27:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (clean): Remove bfd.h and stmp-bfd.h. + (realclean): Remove generated headers. + +Fri Jul 2 14:51:51 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * section.c (bfd_set_section_content): Deny if file is not opened with + the proper mode, set output_has_begun if file is openened for update. + * aoutx.h (aout_*_set_section_content): Remove checks that are now + done in bfd_set_section_content. + +Fri Jul 2 09:25:20 1993 Ian Lance Taylor (ian@cygnus.com) + + * hosts/std-host.h: Removed declarations of printf, fprintf, + fcntl, fread and fwrite. They are all error prone for one reason + or another. Changed declaration of memchr from char * to PTR. + + * configure.in (mips-*-riscos*): New target; use riscos. + * configure.host (mips-*-riscos*): New host; use riscos. + * config/riscos.mh (HDEFINES): Add -G 4. + + * libaout.h (GET_SWORD): Use the bfd_h_get_signed entry points + rather than casting the result of bfd_h_get. + +Fri Jul 2 10:13:48 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in, hosts/delta68.h, config/delta68.mh: Add stuff for + Motorola Delta 68. + +Wed Jun 30 06:02:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * targets.c (bfd_elf64_{big,little}_generic_vec): Declare, and + include in search list if BFD64 is defined. + + * libelf.h (CAT4): Added a version for Saber-C, ANSI mode. + (bfd_elf64_*): Declarations for 64-bit versions of many routines. + +Tue Jun 29 22:50:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf64-target.h, elf64-generic.c: New files. + * Makefile.in (BFD64_BACKENDS): Include elf64-generic.o. + (elf64-generic.o): List dependencies. + + * Makefile.in: List target `all' explicitly before host/target + makefile fragments are included, in case they define any new + targets. + + * elfcode.h (ELF_R_INFO, ELF_R_SYM): Define as 32- or 64-bit + versions as appropriate. Uses updated. + (elf_debug_section): Declare before use. + (elf_debug_file): New function. + (bfd_section_from_shdr, bfd_shdr_from_section, elf_fake_sections): + Alignment value in section header is n_bytes, not log2. + (new_section_hook): Do nothing for now. + (bfd_section_from_shdr): Use Elf_External_Rel[a], not 32-bit + version explicitly. + (elf_core_file_p): Simplify check for correct class (word size). + (elf_make_sections, elf_fake_sections, elf_write_object_contents): + Initialize all fields when creating data structures. + (elf_locate_sh): Renamed from bfd_elfXX_locate_sh, made static. + (elf_compute_section_file_positions): Set correct class in output + file. + (elf_write_object_contents): Section symbols have empty names in + output file. + + * libbfd.c (bfd_xmalloc, zalloc): Be sure to cast malloc, memset + args to size_t before call. + (bfd_add_to_string_table): Cast zalloc arg to bfd_size_type. + +Tue Jun 29 10:49:42 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_find_nearest_line): If procedure has no line + number information, return 0 for line number. + +Mon Jun 28 10:45:02 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * aoutx.h (some_aout_object_p): If *oldrawptr is non-NULL, copy it + into *rawptr. + +Sun Jun 27 09:05:19 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/riscos.h: Define NBPG and UPAGES. + +Sun Jun 27 16:28:26 1993 Ken Raeburn (raeburn@cygnus.com) + + * elfcode.h (elf_slurp_symbol_table): Don't use obj_raw_syms as + lvalue; it contains a cast. + +Fri Jun 25 17:09:55 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (hash, compare, struct stringtab_entry, add_to_stringtab): + Use unsigned hash values for better hashing. + (hash): Hash in the string length for long strings. + +Thu Jun 24 15:47:51 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (compare): Replace 3 if's with a subtraction. + (translate_to_native_sym_flags, add_to_stringtab): Reorder tests + in decreasing order of success, as an optimization. + (hash): Take a length arg; ignore chars after #25, for speed. + (add_to_stringtab): Pass length to hash. + +Thu Jun 24 17:25:51 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * elf32-sparc.c (sparc_reloc_map): Add SPARC_WDISP22 reloc. + + * elfcode.h (elf_new_section_hook): Do nothing for now. + (elf_write_object_contents): Output common symbols the way ELF + wants them. + +Wed Jun 23 16:20:07 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * libelf.h (struct elf_obj_tdata and associated macros): Moved + here from elfcode.h. A couple of size-specific structure pointers + were changed to PTR; uses fixed appropriately. + (elf32_symbol_type, elf64_symbol_type): Separated definitions. + (bfd_elf_mkobject): Renamed from bfd_elf32_mkobject. + (bfd_elf32_mkobject, bfd_elf64_mkobject, elf_mkobject): New + temporary macros to ease name change. + * elf.c (elf_read, elf_mkobject, elf_get_str_section, + elf_string_from_elf_section, bfd_elf_find_section): Moved here + from elfcode.h. + * doc/Makefile.in (libbfd.h): Process elf.c too. + * Makefile.in (elf.o): Note new dependencies. + + * elfcode.h: Lots of stuff moved elsewhere. Deleted some unused + code, tweaked some debug hooks. + (elf_slurp_reloca_table): Translate ELF section symbols into BFD + section symbols. + +Wed Jun 23 11:34:21 1993 Jim Kingdon (kingdon@cygnus.com) + + * hosts/riscos.h: New file. + +Tue Jun 22 14:35:20 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * elfcode.h (bfd_section_from_shdr, case SHT_PROGBITS): Even if + section already exists, use its pointer to fill in rawdata slot. + +Tue Jun 22 16:36:51 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/std-host.h: Return value of puts and fputs is int not void. + +Tue Jun 22 14:25:58 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (howto_table_ext): Comment the field names. + * reloc.c (bfd_perform_relocation): Fix max and min values. + +Mon Jun 21 18:19:14 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * elf32-target.h, elf32-hppa.c, elfcode.h: Use new + size-independent elf internal data structures. + * elfcode.h (put_word, get_word): Define as appropriate for + architecture word size. Structure swapping functions changed to + use them as appropriate. + + * configure.in: If compiling 64-bit back ends, do them before + 32-bit ones. + + * libelf.h: Use new size-independent versions of elf internal data + structures. + (symbol_type): Reordered to put any fields dependent on target + size at the end. + (elf_backend_data): Renamed from elf##_backend_data and made + size-independent. + (elf_sect_thunk): Now size-independent. + + * libbfd.c (bfd_log2): Now returns unsigned int. + +Mon Jun 21 12:30:47 1993 Jim Kingdon (kingdon@cygnus.com) + + * Rename config/m88k-aout.mt to config/noop.mt. + configure.in: Use it for mips-*-bsd*. + +Sun Jun 20 20:32:19 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * cpu-m68k.c (arch_info_struct): Eliminate "partially bracketed + initializer" warning from gcc. + * cpu-h8500.c (arch_info_struct): Likewise. + * cpu-sh.c (arch_info_struct): Likewise. + + * cpu-h8300.c (local_bfd_reloc_type_lookup, howto*_callback, + howto_*): Unused functions and variables commented out. + * cpu-z8k.c (local_bfd_reloc_type_lookup, howto*_callback, + howto_*): Likewise. + * cpu-h8500.c (compatible): Likewise. + * cpu-sh.c (compatible): Likewise. + + * hp300hpux.c (swap_std_reloc_in): Delete unused variables. + Always set a valid length value, even for invalid input. + + * srec.c (srec_write_symbols): Use sprintf_vma. + + * bfd-in.h (uint64_typeLOW, uint64_typeHIGH, int64_type, + uint64_type): Provide default definitions. + * hosts/std-host.h (int64 stuff): Remove them from here. + + * bfd-in.h (sprintf_vma): Define parallel to fprintf_vma. + + * elf32-i386.c (elf_i386_reloc_type_lookup): Delete unused + variable. Added default case to switch. + + * aoutx.h (translate_from_native_sym_flags): Before casting + pointers to integers, make sure the integer type is wide enough. + * coff-mips.c (ecoff_set_symbol_info): Ditto. + + * section.c (bfd_get_section_contents): Since `count' is unsigned, + don't bother comparing for less-than-zero. + (bfd_set_section_contents): Ditto. + + * elfcode.h (bfd_add_to_strtab): Now static. + (sym_is_global): New function. + (elf_map_symbols): Call it. Now returns void. Removed unused + local variable. + (bfd_section_from_shdr): Mark string tables other than for section + and symbol names as normal sections having contents. + (fix_up_strtabs): New function; fixes up ELF header fields for + stab sections with string tables associated. + (elf_write_object_contents): Map fix_up_strtabs over all BFD + sections. Reordered condition tests for symbol flags; default to + local-object value instead of global-object. + (elf_symbol_from_bfd_symbol): Hid conditionally-used variable + inside condition test. + (elf_print_symbol): Use fprintf_vma. + (elf_idx_of_sym, bfd_shdr_from_section): Unused functions + commented out. + + * bfd-in.h (int64_type, uint64_type): Define these if we fall + back to "long long" for HOST_64_BIT. + + * libelf.h (elfNAME, ElfNAME): New versions to get desired results + without using invalid ANSI C preprocessing tokens. + + * elf32-target.h (bfd_elf32_new_section_hook): Delete macro. + * libelf.h (bfd_elf32_new_section_hook): Declare. + * elfcode.h (new_section_hook): Define here. + + * hosts/sparc.h, hosts/std-host.h, hosts/i386bsd.h: Protect + against multiple inclusions. + + * hosts/news.h: Include hosts/std-host.h, not plain std-host.h. + + * Makefile.in (bfd.h): Generate into current directory by grabbing + 64-bit definition (if any) from sysdep.h. + * bfd-in.h: Put in marker for sysdep.h inclusion. + +Fri Jun 18 19:57:23 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * reloc.c (bfd_perform_relocation): Check for overflow on + pc-relative relocations if the howto asked for it. + +Fri Jun 18 16:00:20 1993 Jim Kingdon (kingdon@cygnus.com) + + * Makefile.in (stmp-bfd.h): Ignore nonzero exit status from grep. + +Fri Jun 18 16:54:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/riscos.m{h,t}: New files. + * configure.{host,in}: Use them. + +Fri Jun 18 12:55:10 1993 K. Richard Pixley (rich@cygnus.com) + + * elf32-mips.c: comment change. This is a mips file, not 88k. + +Mon Jun 14 14:02:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * cache.c (bfd_cache_init): Increment open_files and call close_one + if necessary. + (bfd_open_file): Don't increment open_files here. + +Fri Jun 18 10:00:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/delta88.mh: Don't set CC. + + * Makefile.in: Add elf32-{mips,m88k,generic}. + elf32-{mips,m88k,generic}.c: New files. + targets.c (target_vector): Include bfd_elf32_{mips,m88k,generic}_vec. + elfcode.h (elf_object_p): Match elf32-generic for all machines which + don't match a different target. + +Fri Jun 18 03:12:12 1993 John Gilmore (gnu@cygnus.com) + + Eliminate "int8_type", "int16_type", "int32_type", and their + variants from the BFD universe. Leave the 64-bit types for now, + since they are in flux. + + * aoutx.h, hp300hpux.c: Eliminate needless (int32_type) casts. + * libaout.h (GET_SWORD): Convert (int32_type) to (int). + * ieee.c: Convert uint8e_type => unsigned char. + * oasys.c: Extensive changes to eliminate obsolete types. + These depend on changes in ../include/oasys.h as well. + * hosts/*.h: Remove declarations of all these types. + +Mon Jun 14 14:02:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * hosts/delta88.h: #if 0 out some declarations which conflict with + system headers. + +Mon Jun 14 17:08:18 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com) + + * Makefile.in (install): remove parentdir cruft + +Mon Jun 14 19:04:09 1993 Stu Grossman (grossman@cygnus.com) + + * hppa.c (hppa_get_symbol_info): Remove redundant copy. + * Expurgate random DEFUNs that have crept in. + +Mon Jun 14 10:23:53 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): Constructor sections should + only be aligned to a 4 byte boundary. + +Sat Jun 12 16:13:17 1993 Jim Kingdon (kingdon@cygnus.com) + + * hosts/std-host.h (struct int64e_struct): Remove needless typedef + keyword. + +Fri Jun 11 14:25:34 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * aoutf1.h (sunos4_write_object_contents): set flags to 1, breaking + 1927 but fixing some other important things. + +Thu Jun 10 20:36:22 1993 Doug Evans (dje@canuck.cygnus.com) + + * hosts/std-host.h (int64e_type): Fix definition. + +Thu Jun 10 11:48:28 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_sec_to_styp_flags): Use STYP_MIPS_INIT for + section named _INIT. Don't set STYP_TEXT unless SEC_CODE is set. + (ecoff_styp_to_sec_flags): Treat a STYP_MIPS_INIT section like + a STYP_TEXT section. + +Wed Jun 9 16:48:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in (install, headers): don't put comments after a tab + in the actions section of a rule + +Wed Jun 9 15:00:01 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_mkobject_hook): Mark ZMAGIC files as D_PAGED. + (ecoff_write_object_contents): If not D_PAGED, don't add the + section headers to text_size. If not D_PAGED, set the magic + number to OMAGIC rather than ZMAGIC. If creating a D_PAGED + executable, the executable must fully occupy an even number of + pages. + (ecoff_set_symbol_info, make_bfd_asection, ecoff_little_vec, + ecoff_big_vec): Consistently set section alignment power to 4, + since ECOFF sections should be multiples of 16 bytes. + (ecoff_little_vec, ecoff_big_vec): Added D_PAGED to object_flags. + Made ar_pad_char and ar_max_namelen agree for both. + +Tue Jun 8 20:28:02 1993 Mark Eichin (eichin at tweedledumber) + + * elfcode.h (elf_slurp_symbol_table): subtract section vma from + symbol value, since bfd symbols are section relative, but ELF + symbols aren't. + +Tue Jun 8 12:08:27 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * cpu-i960.c, cpu-h8300.c (compatible): Make static. + +Tue Jun 8 14:27:56 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * hosts/news.h, config/news.mh: New files. + +Tue Jun 8 12:08:27 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * bfd-in2.h, archures.c (bfd_mach_h8300[h]): new defines. + * coff-h8300.c: More addressing modes. + * coffcode.h (coff_set_arch_mach_hook): Cope with H8300 magic + number. + * cpu-h8300.c: Removed disassemble stuff. (h8300_scan): Recognise + H8/300H name. (compatible): New function. + * reloc16.c (bfd_coff_reloc16_get_relocated_sec): Cope with more + addressing modes. + +Tue Jun 8 10:30:13 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_compute_section_file_positions, + ecoff_write_object_contents): Only round to page boundaries if + D_PAGED flag is set for the output BFD. + +Fri Jun 4 15:47:52 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * coffcode.h (get_index, coff_slurp_symbol_table): Fix pointer + casts to work on machine where sizeof(long) != sizeof(int) != + sizeof(char *). + * coffgen.c (coff_get_normalized_symtab): Ditto. + * cpu-h8300.c coff-h8300.c: Support for H8/300-H. + +Fri Jun 4 15:24:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * coffgen.c (coff_write_symbols): For empty string table, write + out 4 in correct byte order. (from minyard@bnr.ca) + + * elf32-hppa.c: Don't include libhppa.h for now; define + BYTES_IN_WORD instead, until Utah sends a better fix. + (hppa_elf_build_arg_reloc_stub): Use xmalloc and xrealloc instead + of malloc and realloc. + +Fri Jun 4 07:49:01 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (mips-*-ecoffl*): New target; use decstation. + (mips-*-ecoff*): Added trailing '*'. + + * coff-mips.c (ecoff_get_debug): Get the offset from the first PDR + for the FDR, not from the first PDR in the file. + +Thu Jun 3 16:41:10 1993 Stu Grossman (grossman@cygnus.com) + + * hppa.c (hppa_get_symbol_info): New func needed for JUMP_TABLE. + +Thu Jun 3 15:33:57 1993 David J. Mackenzie (djm@rtl.cygnus.com) + + * hppa.c (hppa_get_symbol_info): New function. + +Thu Jun 3 13:07:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h (elf_map_symbols): Don't crash if no symbols have been + allocated yet. + + From Peter Hoogenboom (hoogen@schafer.cs.utah.edu): + * libhppa.h (MAXCOMLEN): Define unconditionally. + (_PA_RISC_ID): Only define if not already defined. + * elf32-hppa.c: Include libhppa.h. + + From Ralph Campbell: + * hosts/mipsbsd.h (HOST_DATA_START_ADDR): Delete definition. + + * elf32-hppa.h (symext_rootP, symext_lastP): Delete decls. + +Thu Jun 3 00:23:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/go32.mh: define EXTRALIBES to -lm (for binutils), also + remove defines of __MSDOS__ and __GO32__ (these are in the + compiler now). + +Wed Jun 2 17:57:13 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + From Utah: + * hosts/hppabsd.h: Eliminate use of obsolete EXFUN. + * config/hppabsd.mh: Don't use ranlib. + +Tue Jun 1 04:15:57 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * elf.c: New file, for word-size independent code. + * elfcode.h (elf_hash): Moved to there, renamed bfd_elf_hash. + * Makefile.in: Include elf.o in standard objects. + + * bfd-in.h (CAT3): Define here. + * libaout.h, libelf.h: Not here. + + * libelf.h (struct strtab): Define here. + (bfd_elf_locate_sh): Declare here. + * elfcode.h (struct strtab): Definition deleted. + + * reloc.c (enum bfd_reloc_code_real): Added HPPA_PCREL_CALL_12. + + * Makefile.in: Make "all", not "bfd.h", be the default target. + (stmp-bfd.h): New target; prevents rebuilding world if bfd.h + hasn't really changed. + + Tue May 25 12:15:15 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_hash): Provide elf standard hash function. + (various): Key off of the machines use_rela_p field to determine + whether to use REL or RELA relocations. + (elf_swap_reloc_out, elf_swap_reloc_in): New functions. + (elf_make_sections): Allocate a pointer to hold all data for a + given section, and copy each fragment into the data region. + Update the section's pointer with the REL implicit addends if the + machine uses REL relocation. + + * elf32-i386.c (elf_bfd_reloc_type_lookup): Rename to + elf_i386_bfd_reloc_type_lookup, and use cpp to map the name back + into was elf32-target.h expects. + (elf_info_to_howto): Rename to elf_i386_info_to_howto. + (elf_i386_bfd_reloc_type_lookup): Add relocation support. + (elf_i386_info_to_howto): Add minimal relocation support. + + * libelf.h (elf_backend_data): Add use_rela_p, elf_64_p, + elf_info_to_howto_rel fields. + + * elf32-target.h (elf_bed): Add support for new fields in + elf_backend_data. + + Sun May 30 16:38:24 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu) + + * elf32-hppa.c: Add symbol extension section support, fix + relocation howto table, add stub generation support. + + * elf32-hppa.h: Add symbol extension section support, fix + relocation howto table, add stub generation support. + + * elfcode.h (bfd_elf_locate_sh): New function to locate ELF + section header. + + * elfcode.h (bfd_add_to_strtab): Made non-static due to a call + from elf32-hppa.c. + + * elfcode.h (elf_idx_of_sym): Return STN_UNDEF instead of 0 when + the symbol is not found. + + * elfcode.h (elf_compute_section_file_positions): Not all section + file positions were computed. + + * elfcode.h (elf_get_sect_thunk): New function. + + * hppa.c (sign_ext): Reimplement. + + * hppa.c (round_down,round,round_up,L,R,LS,RS,LD,RD,LR,RR): Make + these functions static. + +Tue Jun 1 14:40:41 1993 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in (bfd.h): Move closer to headers - and after 'all'! + + * aoutx.h (translate_from_native_sym_flags): Don't set + BSF_DEBUGGING for constructor symbols, only BSF_CONSTRUCTOR. + * aoutx.h (translate_to_native_sym_flags): Translate + constructor symbols properly. + +Thu May 27 16:09:04 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * archures.c (bfd_default_arch_struct): use 4 byte alignment as a + minimum. + * aout-target.h (minimum_alignment): 8 byte alignment is right. + (fix ld/2680) + +Thu May 27 13:38:47 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in, Makefile.in: Build bfd-in2.h in source directory, + from bfd-in.h and .c files. Build bfd.h in build directory, + substituting in requested target word size. Insert word size into + makefile, and maybe enable 64-bit targets. + + * bfd-in.h, libbfd.c, demo64.c, targets.c: Define BFD64 if 64 bits + are available. Conditionalize on this. Assume HOST_64_BIT + will be defined if needed, so 64-bit targets are conditionalized + only in the Makefile. + +Tue May 25 14:03:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * libbfd.c (COERCE64): Rewrite to avoid out-of-range values. + + * coff-sh.c (rtype2howto): Put error message on stderr. + (extra_case): Delete unused variable. + + * coff-mips.c (ecoff_print_symbol): Cast bfd_vma values to long + before calling printf. + + * elfcode.h: New file, almost completely derived from old elf32.c. + * elf32.c: Now just define ARCH_SIZE and include elfcode.h. + * Makefile.in (elf64.o): List dependencies, don't build by + default. + (elf64.c): Add to list of sources. + (elf32.o): Update dependencies. + * elf32-*.c: Updated type/macro/structure names. Cleaned up + namespace pollution; rename vectors. + * targets.c, config/*-elf.mt: Updated. + * All uses of 32-bit versions of structures, routines, and macros + renamed. + + * Makefile.in (archures.o, targets.o): Depend on Makefile. + +Mon May 24 15:53:13 1993 Ken Raeburn (raeburn@cygnus.com) + + * elf32-i386.c (enum reloc_type): No comma after last enumerator. + + * elf32.c (elf_string_from_elf_section): Handle index of zero + specially. + (bfd_section_from_shdr, elf_slurp_symbol_table): Don't need to do + so here. + (elf_write_object_contents): Deleted one unused variable and + initialized another to avoid gcc warnings. + (elf_set_section_contents): Delete unused variable. + +Fri May 21 19:04:21 1993 Stu Grossman (grossman@cygnus.com) + + * i386lynx.c: New module for Lynx variant of a.out. + * Makefile.in (BFD_BACKENDS CFILES depends): Add i386lynx.c. + * gen-aout.c: Get rid of defunct endian stuff, print out true + pagesize. + * targets.c (target_vector): Add i386lynx_vec. + +Fri May 21 17:02:22 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Use i386-sco.mt for i[36]86-*-isc*. + +Fri May 21 13:44:18 1993 David J. Mackenzie (djm@rtl.cygnus.com) + + * aix386-core.c, aout-target.h, aoutx.h, coff-alpha.c, + coff-mips.c, coffgen.c, elf32.c, ieee.c, libaout.h, libcoff-in.h, + libelf.h, mipsbsd.c, oasys.c, sco-core.c, srec.c, tekhex.c, + trad-core.c: Define a TARGET_get_symbol_info function or macro. + Remove the bfd_print_symbol_nm case from TARGET_print_symbol. + + * bfd-in.h: Don't define bfd_print_symbol_nm. + Define symbol_info type. + (JUMP_TABLE): Set _get_symbol_info element. + + * syms.c (coff_section_type, bfd_symbol_info): New functions. + (bfd_decode_symclass): Use coff_section_type. + + * targets.c: Add bfd_get_symbol_info call. + +Wed May 19 15:30:52 1993 Stu Grossman (grossman@cygnus.com) + + * coff-i386.c (coff_i386_reloc): Use unsigned char to avoid + complaints from ancient gcc's. + +Wed May 19 15:51:19 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * trad-core.c: Check macro TRAD_CORE_EXTRA_SIZE_ALLOWED. + hosts/i386linux.h: Define it. + +Mon May 17 15:00:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * VERSION, bfd-in.h: Bump version number to 2.2. + + * hppa.c (assemble_3, dis_assemble_3, assemble_12, + dis_assemble_12, assemble_17, dis_assemble_17, assemble_21, + dis_assemble_21, sign_ext, ones, sign_unext, low_sign_ext, + low_sign_unext, round_down, round, round_up, L, R, LS, RS, LD, RD, + LR, RR, hppa_field_adjust): New functions. + +Mon May 17 10:04:16 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): Added support for indirect + stabs symbols, including new indirect_ptr_ptr argument. + (ecoff_slurp_symbol_table): Pass new argument in calls to + ecoff_set_symbol_info. + +Fri May 14 00:05:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: For m68k sysv systems, use m68k-coff. + + * config/hppa-elf.mt (TDEFINES): Don't define DEFAULT_VECTOR here. + (TDEFAULTS): Define it here. Use the new name. + + * elf32-hppa.c (elf_hppa_backend_data): Delete; rely on default + values instead. + + * reloc.c (bfd_reloc_code_real_type): Add some HPPA reloc types. + + * aix386-core.c (NO_GETS): Fix PROTO invocation to have correct + number of arguments. + (aix386_core_file_p): Initialize core_size to correct value. + +Wed May 12 14:39:59 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (CC_FOR_BUILD): New variable, set to $(CC). + (FLAGS_TO_PASS): Pass down CC_FOR_BUILD. + + * bout.c (aout32_slurp_extended_name_table): Define to be + _bfd_slurp_extended_name_table rather than bfd_true. + + * coff-mips.c: Include libaout.h and aout/aout64.h to get + definitions for N_SET[ATDB]. + (ecoff_howto_table): Moved near top of file. + (ecoff_set_symbol_info): If a STABS symbol of type N_SET[ATDB] is + seen, cook up a constructor section of the same name and put in a + reloc pointing to the symbol. This lets the GNU linker build + global constructors and destructors without using collect. + +Tue May 11 00:33:31 1993 John Gilmore (gnu@cygnus.com) + + * coff-m88k.c (m88kbcs_vec): Symbols have underbars. + +Mon May 10 05:55:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * hosts/miniframe.h: New file. + * configure.host: Use it. + +Sun May 9 16:36:59 1993 Fred Fish (fnf@cygnus.com) + + * configure.in (hppa*-*-bsd): Change to hppa*-*-bsd* + * configure.in (hppa*-*-hpux): Change to hppa*-*-hpux* + * configure.in (m68*-hp-bsd): Change to m68*-hp-bsd* + * configure.in (m68*-*-hpux): Change to m68*-*-hpux* + * configure.in (*-*-bsd): Change to *-*-bsd* + +Wed May 5 16:08:32 1993 Per Bothner (bothner@cygnus.com) + + * elf32-hppa.c (elf_hppa_reloc_type_lookup): Cast enums to + int, for the sake of the old Portable C Compiler. + +Mon May 3 14:37:01 1993 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (CFILES): Add cpu-sh.c and coff-sh.c. + +Mon May 3 14:03:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * configure.in: Get target name right for m68*-*-hpux. + +Sun May 2 11:39:44 1993 Fred Fish (fnf@cygnus.com) + + * trad-core.c (NO_SIGNED_GET): New macro. + * trad-core.c (trad_core_vec): Use new NO_SIGNED_GET instead of + signed NO_GET, where appropriate. + + * configure.in (i[34]86-*-linux*): Add; bfd_target = i386-linux. + * configure.in (*-*-linux*): Remove until linux port for a + non-i386/i486 system is actually available. + +Fri Apr 30 20:04:10 1993 Stu Grossman (grossman@cygnus.com) + + * libhppa.h: #undef e_* symbols which come from <machine/som.h> + when compiling under HPUX. + +Fri Apr 30 17:25:23 1993 Stu Grossman (grossman@cygnus.com) + + * The following patches are from Jeffrey Law <law@cs.utah.edu>. + * hppa.c (hppa_core_file_p): Provide a temporary dummy routine + for HOST_HPPABSD. + * bfd/hosts/hppabsd.h: Fix declarations of malloc and free. + * bfd/libhppa.h: Include sysdep here. Conditionalize + includes based on HOST_HPPAHPUX or HOST_HPPABSD. + Provide definitions for MAXCOMLEN and _PA_RISC_ID suitable + for BSD. + +Fri Apr 30 17:34:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf32-hppa.c: Don't include a.out.h. Apparently not even the + GNU version is needed. + +Fri Apr 30 09:38:59 1993 Jim Kingdon (kingdon@cygnus.com) + + * coffcode.h: use dummy_reloc16_extra_cases rather than casting abort. + +Thu Apr 29 11:30:32 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * Makefile.in: Build elf32-hppa.o. + + * syms.c (BSF_FUNCTION): New symbol flag. + + * elf32-hppa.c: Fixed to work with elf32-target.h. + + * hp300hpux.c (NAME, NAME_swap_exec_header_in): Fix for + traditional C. + * libaout.h (NAME): Don't define if already defined. + + * libelf.h: Protect against multiple inclusions. + (elf_symbol_type): Moved here, added new fields. + (struct elf_backend_data): New field `global_sym'; I suspect this + may be misplaced. + * elf32.c (elf_symbol_type): Deleted from here. + (struct elf_obj_tdata): New fields raw_syms and internal_syms, to + point to backend versions of symbols. + (obj_symbols, obj_raw_syms, obj_internal_syms): New macros. + (elf_swap_phdr_out, elf_build_phdrs, elf_write_phdrs): New + functions. + (elf_write_object_contents): Write program headers if appropriate. + (bfd_section_from_shdr): Unnamed sections get empty string for + name, not "unnamed". Handle SHT_NOBITS separately from + SHT_PROGBITS, and set some different flags. + (elf_file_p): New routine. + (elf_object_p, elf_core_file_p): Call it. + (elf_object_p): Handle EM_HPPA. + (elf_symbol_from, elf_idx_of_sym): New functions. + (elf_make_sections): Get symbol number right for relocations. Set + SHF_ALLOC, SHF_WRITE, SHF_EXECINSTR when appropriate. + (elf_fake_sections): BSS section should be SHT_NOBITS, not + SHT_PROGBITS. Always generate symtab and strtab, not only if + relocations are needed. Set SHF_* flags as appropriate. + (elf_compute_section_file_positions): Handle bfd_arch_hppa. + (elf_write_object_contents): Fix off-by-one error in symbol count. + Store a correct value for the symbol; write the size field + properly; make some guesses about the type field. Set section + type correctly for string tables. + (section_from_elf_index): Check for absolute and common sections + first. + (elf_section_from_bfd_section): Ditto. + (elf_slurp_symbol_table): Use elf_symbol_type instead of asymbol. + Use empty string instead of "unnamed" for nameless symbols. + Handle STTY_FUNC type, and weirdness with "$global$" symbol for + HPPA (only?). Don't free raw symbols; keep the pointer around for + later. + (elf_set_arch_mach): Handle bfd_arch_hppa. + (elf_find_nearest_line): Just return false. + (elf_write_object_contents, elf_set_section_contents): Set + output_has_begun field after computing file positions. + (elf_set_section_contents): Write section contents immediately, + rather than caching the whole file and writing it at close time. + + * libhppa.h (enum hppa_reloc_field_selector_type, enum + hppa_reloc_field_selector_typ_alt, enum hppa_reloc_expr_type, enum + hppa_reloc_expr_type_alt): New enumerator types. + + * config/hppa-elf.mt,. config/hppaosf.mh: HP PA/OSF support. + * configure.in, configure.host: Use them. + +Wed Apr 28 23:21:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf32-target.h: Allow overrides of armap defaults. + + * elf32-hppa.c, elf32-hppa.h: New files. + + * config/hp300hpux.mt: New file. + +Tue Apr 27 05:39:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * aix386-core.c (NO_GETS): New macro; NO_GET for signed values. + (aix386_core_vec): Update for new fields. + + * archive.c (bfd_generic_archive_p): Call target-specific + slurp_armap code, instead of bfd_slurp_armap. + (bfd_slurp_bsd_armap_f2): New function. + * libbfd-in.h (bfd_slurp_bsd_armap_f2): Declare it. + * aout-target.h (AR_PAD_CHAR): Define it if not already defined. + (vec): Use it. + * libaout.h (struct aoutdata): New field for subformat, for + differentiating between highly similar a.out formats. + * aoutx.h (NAME_swap_exec_header_in): New macro, defaults to local + version of function. + (swap_exec_header_in): Don't define if NAME_swap_exec_header_in is + already defined. + * hp300hpux.c: New file. + * Makefile.in: Include it. + +Mon Apr 26 13:24:43 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * Makefile.in, archures.c, coffcode.h, targets.c: Support for + Hitachi SH. + +Mon Apr 26 13:55:42 1993 Jim Kingdon (kingdon@cygnus.com) + + * trad-core.c (trad_unix_core_file_p): Check the file size. + +Mon Apr 26 13:24:43 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-alpha.c: Remove duplicate function and add warnings. + +Mon Apr 26 11:25:58 1993 Ian Lance Taylor (ian@cygnus.com) + + * sco-core.c (sco_core_vec): Add initializers for new target + fields. + +Sat Apr 24 21:33:45 1993 Jim Kingdon (kingdon@cygnus.com) + + * coffcode.h [_LIT]: Recognize .lit section. + +Fri Apr 23 19:00:36 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-alpha.c, cpu-alpha.c, config/alphaosf.mt, + config/alphaosf.mt, hosts/alphaosf.h: New files. + +Fri Apr 23 16:48:46 1993 Stu Grossman (grossman@cygnus.com) + + * Merge in HPPA/BSD changes from Utah. + * hppa.c: Use this for both HPUX & BSD. + * targets.c: Enable hppa_vec for both HPUX & BSD. + * config/hppabsd.mt: TDEFINES => TDEFAULTS. + * hosts/hppabsd.h: #define HOST_HPPABSD. + +Wed Apr 21 01:50:10 1993 John Gilmore (gnu@cygnus.com) + + * libbfd.c: Whitespace changes around byteswap macros. + * libbfd-in.h: Whitespace changes around byteswap declarations. + +Tue Apr 20 15:59:07 1993 Stu Grossman (grossman@cygnus.com) + + * aoutf1.h (sunos4_core_file_p): Don't default bfd_error to + system_error anymore. It confuses bfd_check_format(). + +Mon Apr 19 23:03:08 1993 Stu Grossman (grossman@cygnus.com) + + * bfd.c: Add sgi_core_data to tdata union. + * coff-mips.c: Add Irix 4.x core file support. + * hosts/irix4.h: #define HOST_IRIX4. + +Mon Apr 19 18:52:52 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * aoutx.h (translate_from_native_sym_flags): Check that the + symbol's section does get set. + (slurp_symbol_table): Zero index means null-string name. + + * aoutx.h (struct stringtab_entry, struct stringtab_data): New + data structures. + (hash, stringtab_init, add_to_stringtab, emit_strtab, compare): + New functions. + (write_syms): Use them, to reduce string table size. + +Mon Apr 19 16:45:12 1993 Fred Fish (fnf@cygnus.com) + + * trad-core.c (trad_core_vec): Add 6 new initializers to match + new signed get/put fields. Minor reformatting to label + some fields. + +Mon Apr 19 06:09:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * bfd-in.h: Insert comment about SVR3 compiler warnings. + + * hosts/{hp300,i386isc,i386v}.h: Remove unused #defines of {r,}index + (bfd uses strchr and the broken SVR3.2 cpp loses with the defines). + + * libbfd.c: bfd_put*: Remove casts to bfd_vma. + +Fri Apr 16 17:49:27 1993 Jim Kingdon (kingdon@cygnus.com) + + * aoutf1.h (internal_sunos_core): Make c_stacktop a bfd_vma. + (swapcore_sparc): Make sp a bfd_vma. + +Thu Apr 15 09:09:18 1993 Jim Kingdon (kingdon@cygnus.com) + + * libbfd.c: Add signed versions of bfd_{h_,}{get,put}_signed_<size>. + libbfd.c, libbfd-in.h: Add _do*signed*. + targets.c, all targets: Add bfd*signed*. + bfd-in.h: Add bfd_signed_vma. Add comments. + + * bfd-in.h (bfd_error), bfd.c (bfd_errmsgs): Add file_truncated. + + * format.c (bfd_check_error): Check error return from + _bfd_check_format routines. + +Wed Apr 14 23:48:25 1993 Jim Kingdon (kingdon@cygnus.com) + + * rs6000-core.c (rs6000coff_core_p): Improve error checking and + recognize .data section if present. + +Thu Apr 15 01:00:29 1993 John Gilmore (gnu@cygnus.com) + + * aoutx.h (aout_*_adjust_sizes_and_vmas): Avoid `sanity' + check for the case where the user sets the address of the BSS + section (and the file header can't specify this). Let the user + set it wherever they want, regardless of what goes in the header. + + * ieee.c (ieee_slurp_sections): Pass all ieee section names + straight through into BFD sections. Add comments. + +Wed Apr 14 20:34:54 1993 John Gilmore (gnu@cygnus.com) + + Cleanup in preparation for better 64-bit host support. + + * bfd-in.h (bfd_64_type): Remove. + * libbfd.c (_do_getb64, _do_putb64): Use bfd_vma, not bfd_64_type. + + * bfd-in.h (bfd_size): Remove. + + * bfd-in.h (bfd_offset): Remove, after fixing ld/ldlang.[ch]. + + * bfd-in.h (bfd_word): Remove. + * reloc.c (reloc_howto_type): Replace bfd_word with bfd_vma. + + * bfd-in.h (rawdata_offset): Remove. + * reloc.c (arelent): Replace rawdata_offset with bfd_size_type. + (bfd_perform_relocation): Lint. + (enum bfd_reloc_status): Comment cleanup. + + * aout-adobe.c, cpu-h8300.c, mipsbsd.c, srec.c: lint -Wall. + +Tue Apr 13 11:19:52 1993 Jim Kingdon (kingdon@cygnus.com) + + * aoutf1.h (swapcore_sparc): Guess the right value of USRSTACK. + +Mon Apr 12 14:18:00 1993 John Gilmore (gnu@cygnus.com) + + * elf32.c: Clean up old comments. + +Fri Apr 9 10:43:20 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/sun3.h: String argument to fprintf is const. + + * coff-mips.c: Renamed PAGE_SIZE to ROUND_SIZE, to avoid confusion + on systems which define PAGE_SIZE in <limits.h>. + +Thu Apr 8 10:28:00 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * trad-core.c (trad_unix_core_file_failing_signal): Use new macro + TRAD_UNIX_CORE_FILE_FAILING_SIGNAL to allow host files to specify + the core file failing signal. + * hosts/decstation.h (TRAD_UNIX_CORE_FILE_FAILING_SIGNAL): Define + to supply the core file failing signal. + +Thu Apr 8 09:17:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (styp_to_sec_flags): Only set SEC_SHARED_LIBRARY for + a STYP_NOLOAD | STYP_BSS section if BSS_NOLOAD_IS_SHARED_LIBRARY + is defined. On many COFF targets STYP_BSS is always STYP_NOLOAD. + * coff-i386.h (BSS_NOLOAD_IS_SHARED_LIBRARY): Define. + +Wed Apr 7 11:33:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (PAGESIZE): Correct value. + +Tue Apr 6 12:05:44 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_find_nearest_line): Address of first PDR is + an offset (patch from Jean-Daniel Fekete <jdf@lri.lri.fr>). + +Mon Apr 5 12:07:12 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (styp_to_sec_flags): Set SEC_SHARED_LIBRARY for a + STYP_NOLOAD | STYP_BSS section. Don't set SEC_NEVER_LOAD for a + STYP_INFO section. + (coff_compute_section_file_positions): Force vma and lma of _LIB + section to be zero. + (coff_set_section_contents): Count number of entries in new lma + field, not in vma. + * coffgen.c (make_a_section_from_file): Force lineno_count of + SEC_SHARED_LIBRARY section to be zero, since it is non-zero on the + SCO 3.2v4 shared library. + * seclet.c (rel): Copy over any section with contents, not just + loadable sections. + + * coff-mips.c (ecoff_make_empty_symbol): Zero out newly allocated + symbol. + + * coff-i386.c (coff_i386_reloc): New function, to generate + relocateable output correctly. + (howto_table): Use coff_i386_reloc for all reloc types. + (CALC_ADDEND): Use a more efficient hack to get the correct addend + for a common symbol. + (i386comm_value): Removed; no longer needed. + +Sun Apr 4 15:08:48 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coffcode.h (coff_set_section_contents): Don't write out + sections without a filepos. + +Fri Apr 2 14:35:05 1993 Ian Lance Taylor (ian@cygnus.com) + + * seclet.c (seclet_dump_seclet): Correct SEC_HAS_CONTENTS test. + +Wed Mar 31 17:41:05 1993 Ian Lance Taylor (ian@cygnus.com) + + * reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_MIPS_GPREL. + * libecoff.h (ecoff_data_type): Added gp_size field. + * coff-mips.c (ecoff_mkobject_hook): Initialize gp_size to 8. + (ecoff_set_symbol_info): Compare against gp_size, not hardcoded 8. + Set flags to 0 for large common symbols. + (ecoff_gprel_reloc): Handle non-zero addend for external symbols, + which can occur for gas-generated relocs. + (ecoff_bfd_reloc_type_lookup): Added BFD_RELOC_MIPS_GPREL case. + * bfd.c (bfd_get_gp_size, bfd_set_gp_size): New functions. + * Makefile.in (bfd.o): Now depends on coff/sym.h and libecoff.h. + +Tue Mar 30 09:33:16 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * srec.c (srec_set_section_contents): Use lma field for load + address. + * section.c: Add declaration of lma field to section structure. + * coffcode.h (coff_write_object_contents): Use lma field for load + address. + * bfd-in.h (bfd_set_section_vma): Set lma along with vma. + + * aoutx.h (translate_from_native_sym_flags): Now handles indirect + symbols in a better way. (translate_to_native_sym_flag): Set the + N_INDR bit when necessary. (aout<>slurp_symbol_table): Maintain + indirect state. + * section.c: Added BFD_IND_SECTION_NAME and bfd_ind_section. + (bfd_make_section): Cope with new builtin section. + * syms.c (bfd_decode_symclass): Can now print indirect section + info. + +Wed Mar 24 13:36:33 1993 Per Bothner (bothner@rtl.cygnus.com) + + * aout-target.h (MY(object_p)): Fail if MACHTYPE_OK is + defined, and yields false. + * aout-mipsbsd.c, i386bsd.c: Define MACHTYPE_OK appropriately. + + * archive.c (snarf_ar_hdr): Add support for reading (only, + so far) BSD-4.4-style extended headers. + * archive.c: Some more comments. + +Wed Mar 24 02:05:10 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com) + + * Makefile.in: fix rule for dvi and info, so that the recursive + makes does the right thing, instead of always info + +Wed Mar 24 02:56:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * libbfd.c (bfd_seek): Disable optimized handling for archives and + archive members; they need more special reatment. For now, verify + that computed and actual file positions correspond. + +Tue Mar 23 08:45:33 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * mipsbsd.c: Renamed from aout-mipsbsd.c. + (set_arch_mach): Delete non-MIPS code. + (reloc_howto_type_lookup): Ditto. + * Makefile.in: Adjusted. + + * libbfd.c (bfd_tell): Update `where' field. + (bfd_seek): Don't do anything if we're not changing the file + position. If FILE_OFFSET_IS_CHAR_INDEX is defined, check `where' + field against a SEEK_SET request. Call bfd_tell to re-update + `where' field when done. + (bfd_read, bfd_write) [FILE_OFFSET_IS_CHAR_INDEX]: Maintain + `where' field. + * hosts/sparc.h: Define FILE_OFFSET_IS_CHAR_INDEX. + +Mon Mar 22 23:18:10 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: added installcheck target + +Mon Mar 22 14:57:18 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): Relocate encapsulated stabs + if the type is not stNil. + +Tue Mar 16 10:35:27 1993 Ken Raeburn (raeburn@cygnus.com) + + * elf32.c (elf_little_vec, elf_big_vec): Delete now-invalid + forward declarations. + + * elf32-sparc.c (elf_sparc_howto_table): Don't use CONST here, + it's implied by the type. + +Fri Mar 12 18:58:08 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.host: recognize sparc-sun-solaris2* instead of sparc-sun-solaris* + +Tue Mar 9 09:23:12 1993 Jim Kingdon (kingdon@cygnus.com) + + * rs6000-core.c: Add .ldinfo section. + +Fri Mar 12 11:57:52 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (MAKEOVERRIDES): Define to be empty. + +Fri Mar 12 08:32:11 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * section.c (bfd_set_section_contents): whitespace + * seclet.c (seclet_dump_seclet): Don't try and fill sections with + no contents. + +Thu Mar 11 19:26:15 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * hosts/go32.h: don't define POSIX_UTIME + +Tue Mar 9 10:52:01 1993 Fred Fish (fnf@cygnus.com) + + * elf32.c (elf_object_p): Use ELF_ARCH stored in xvec to match + against machine architecture stored in the ELF header, to resolve + ambiguities. + * elf32.c (bfd_section_from_shdr): Bfd_make_section can return + NULL, so only use results when non-NULL. + * targets.c (elf32_m68k_vec, elf32_i860_vec): Add extern decls + and add to vector of targets. + +Mon Mar 8 15:13:44 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): Encapsulated STABS symbols + are always just debugging symbols. + + * coff-mips.c (ecoff_[gs]et_sym_index): Moved macros from here... + libecoff.h (ecoff_[gs]et_sym_index): ...to here. + +Mon Mar 8 14:55:13 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * hppa.c (_PA_RISC_ID): Defined if not already defined (e.g., for + hpux 7). Patch from friedman@gnu.ai.mit.edu. + (hppa_object_p): Only check for DL_MAGIC and SHL_MAGIC if they're + defined, which they aren't in hpux 7.0. + + * aix386-core.c: Include uinfo.h and coredump.h. Patch from Minh + Tran-Le, tranle@intellicorp.com. + +Fri Mar 5 14:54:21 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_generic_reloc): If the addend is non-zero, go + ahead and do the relocation. + (ecoff_refhi_reloc): Don't to the relocation here, just remember + what needs to be done. + (ecoff_reflo_reloc): Do the REFHI relocation here. + +Thu Mar 4 14:44:01 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_bfd_reloc_type_lookup): New function. + (ecoff_write_object_contents): Added BFD_ASSERT calls to ensure + relocs are reasonable. + * coff-msym.c: Eliminated uses of DEFUN. + (ecoff_swap_tir_out): New function. + +Tue Mar 2 17:52:58 1993 Fred Fish (fnf@cygnus.com) + + (Ultrix 2.2 support from Michael Rendell <michael@mercury.cs.mun.ca>) + * configure.host (vax-*-ultrix2*): Add triplet. + * hosts/vaxult2.h: New file. + * config/vaxult2.mh: New file. + + * aoutx.h (string.h): Include for strchr and friends. + * archive.c (string.h): Include for memchr and friends. + * elf32.c (string.h): Include for strrchr and friends. + +Sat Feb 27 00:44:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * aoutf1.c (sunos4_reloc_type_lookup): Unused; deleted. + (MY_set_sizes): Use sunos4_set_sizes. + + * elf32.c: Renamed from elf.c. Several CPU-specific functions + deleted, as well as elf-big and elf-little targets. + * libelf.h: New file. + * elf32-sparc.c, elf32-i386.c, elf32-i860.c, elf32-m68k.c: New + files, new targets. + * Makefile.in, config/*-elf.mt, targets.c: Adjusted. + + * i386linux.c (TARGETNAME): Use hyphens instead of parentheses. + + * coffcode.h (coff_compute_section_file_positions): Don't need + variable "old_sofar" if compiling for i960. + + * reloc.c (bfd_default_reloc_type_lookup): First argument is now a + bfd pointer. + * libbfd.h: Updated. + + * ieee.c (exten, envi): "static" belongs first in declaration. + +Fri Feb 26 17:37:34 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * srec.c: add support for symbolsrec, srecords with symbols in + them. + +Thu Feb 25 11:43:30 1993 John Gilmore (gnu@cacophony.cygnus.com) + + * ieee.c: cast all arguments of ieee_write_byte to bfd_byte + to avoid lint complaints. + +Thu Feb 25 02:15:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf.c (elf_write_object_contents): Section ".shstrtab" should be + type SHT_STRTAB. Don't alter file offset for section 0. + (reloc_type_names): Now an array instead of a macro. Still inside + "#if 0", since it's used only in debugging code also in "#if 0". + (struct elf_reloc_map_elt, struct elf_reloc_map): New types. + (sort_reloc_map): New function. + (sparc_reloc_map): New variable. + (elf_bfd_reloc_type_lookup): New function. + +Tue Feb 23 12:17:16 1993 Ian Lance Taylor (ian@cygnus.com) + + * bfd-in.h (JUMP_TABLE): Added bfd_reloc_type_lookup and + bfd_make_debug_symbol; they were already in the target structure. + * Adjusted all uses of JUMP_TABLE. + * coffgen.c, libcoff-in.h (coff_bfd_make_debug_symbol): Renamed + from coff_make_debug_symbol. + * libcoff.h: Updated accordingly. + + * Minor cleanups provoked by gcc warnings: + * aoutx.h (NAME(aout, reloc_type_lookup)), + cpu-h8300.c (local_bfd_reloc_type_lookup), + cpu-z8k.c (local_bfd_reloc_type_lookup): Added default case to + switches. + * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap), + ieee.c (ieee_slurp_section_data), + elf.c (elf_make_sections, elf_fake_sections, + elf_compute_section_file_positions, elf_write_object_contents): + Removed unused variables. + * archures.c: Removed /* from within comment. + * bout.c (b_out_squirt_out_relocs): Initialize r_extern. + * oasys.c (oasys_write_data): Initialize i. + +Mon Feb 22 18:40:06 1993 Per Bothner (bothner@rtl.cygnus.com) + + * libcoff.h (obj_raw_syment_coun): New macro. + * coffgen.c (coff_get_normalized_symtab): Initialize + raw_syment_count. + * coffgen.c (coff_find_nearest_line): Numerous little fixes. + +Mon Feb 22 15:03:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): stBlock symbols are always + debugging symbols. + (ecoff_get_debug): Offset the fdr adr by the adr of the first pdr, + for compatibility with tools from MIPS. + + * config/bigmips.mt: New file; default vector is ecoff_big_vec. + * config/irix3.mt, config/irix4.mt: Removed. + * configure.in (mips-*-ecoff): New target; uses bigmips.mt. + (mips-sgi-*, mips-big-*): Use bigmips rather than irix3. + +Wed Feb 17 23:40:41 1993 John Gilmore (gnu@cygnus.com) + + * hosts/hp300bsd.h: Add gross hack to determine whether we + are running on BSD 4.3 or BSD 4.4, and use appropriate include + files (and set other parameters) to match. + +Wed Feb 17 12:28:13 1993 K. Richard Pixley (rich@cygnus.com) + + * trad-core.c (trad_unix_make_empty_symbol): wrap PARAMS around an + ansi definition which otherwise confuses non-ansi compilers. + + * aout-adobe.c (aout_adobe_object_p): eliminate a warning from vax + ultrix cc by forward declaring getenv as is done in + bfd_find_target. + +Tue Feb 16 17:56:58 1993 K. Richard Pixley (rich@cygnus.com) + + * elf.c (elf_info_to_howto): cast an enum into unsigned char + avoiding a fatal error in vax ultrix 4.2 cc. + +Tue Feb 16 00:44:54 1993 John Gilmore (gnu@cygnus.com) + + * bfd-in.h, VERSION: Roll to version 2.1. + +Mon Feb 15 20:43:51 1993 John Gilmore (gnu@cygnus.com) + + * oasys.c (oasys_write_object_contents): Lint. + * srec.c: Whitespace cleanup. + +Fri Feb 12 14:23:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffgen.c (coff_print_symbol): Print correct tagndx value; + cleaned up output formatting a bit. + +Fri Feb 12 08:28:56 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coffcode.h (coff_set_arch_mach_hook): *FIXME* the H8/300 is always + relaxable. Should be moved somewhere else. + +Thu Feb 11 14:09:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * aout-mipsbsd.c: Eliminated uses of DEFUN. + (aout_mips_*_vec): Added seclet_link element. + + * Makefile.in (BFD_BACKENDS, CFILES, aout-mipsbsd.o): Added + support for aout-mipsbsd target. + + * bout.c (get_value): Don't truncate 32-bit addend to 16 bits. + +Fri Feb 5 08:08:43 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * cpu-h8500.c (scan_mach): return false if it's not an H8/500 + +Thu Feb 4 12:52:40 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + Add support for the H8/500 + + * coff-h8500.c, cpu-h8500.c, archures.c, coffcode.h, targets.c + +Thu Feb 4 12:35:02 1993 Ian Lance Taylor (ian@cygnus.com) + + * libecoff.h: New file. Defines ECOFF backend data for gdb. + * coff-mips.c: Now includes libecoff.h. + (ecoff_data_type): Moved to libecoff.h. + (ecoff_slurp_symbolic_info): Made globally visible so that gdb can + call it. If there is ever another ECOFF target, this and the + swapping functions should be accessed via an ECOFF specific target + vector. + * Makefile.in (coff-mips.o): Depends on libecoff.h. + +Wed Feb 3 09:14:36 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h: Removed MIPS specific information, since coff-mips.c + no longer includes this file. + + * coff-msym.c (ecoff_swap_fdr_in, ecoff_swap_ext_in): Set reserved + bits to 0 to make comparison test useful. + + * config/irix3.mh, config/irix4.mh (HDEFINES): Set to -G 4 to + avoid overflowing GP accessible sections in binutils/objdump. + +Tue Feb 2 15:36:55 1993 Per Bothner (bothner@cygnus.com) + + * aoutx.h (NAME(aout,slurp_symbol_table)): Made symbol + reading more robust: Fail if string index is out of string + table range. + +Tue Feb 2 11:43:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bout.c (b_out_get_relocated_section_contents, cases PCREL24 and + PCREL13): Don't take dst_address into account; the input file has + already taken care of that. + +Tue Feb 2 11:41:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c: Completed support for linker and binutils. + +Mon Feb 1 14:45:38 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bout.c (b_out_get_relocated_section_contents, case ABS32): Keep + original addend from section contents. + +Thu Jan 28 21:01:37 1993 John Gilmore (gnu@cygnus.com) + + Fix minor bugs reported by Carl Greco, <cgreco@parrot.creighton.edu>: + * hosts/delta88.h (strtol): Fix prototype. + * config/m88k-coff.mt (SELECT_ARCHITECTURES): Fix name. + +Wed Jan 27 17:16:51 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf.c: Get rid of "#ifdef sparc". + (RELOC_TYPE_NAMES): Never used (currently), so don't include it. + (elf_sparc_howto_table): Renamed from elf_howto_table, and always + used. + (elf_info_to_howto): Use runtime conditionals on CPU type, not + compile type conditionals on host CPU. + (elf_little_vec, elf_big_vec): Use bfd_default_reloc_type_lookup, + not null pointer. + (reloc_type, RELOC_TYPE_NAMES): Include i386 values. + +Tue Jan 26 11:43:14 1993 Ian Lance Taylor (ian@cygnus.com) + + * section.c (SEC_IS_COMMON): New section flag, needed for MIPS + ECOFF which has two common sections. + (bfd_com_section): Set SEC_IS_COMMON flag. + * bfd-in.h (bfd_is_com_section): New macro to test SEC_IS_COMMON. + * aoutx.h, archive.c, bout.c, coff-a29k.c, coff-m88k.c, + coff-mips.c, coffgen.c, ieee.c, oasys.c, reloc.c, syms.: Use + bfd_is_com_section macro rather than checking for equality to + bfd_com_section. + +Mon Jan 25 15:27:36 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (_bfd_coff_mkobject_hook): Pass aouthdr argument. + (coff_mkobject_hook): Accept aouthdr argument. + * coffgen.c (coff_real_object_p): Pass aouthdr to mkobject_hook. + Handle NULL aouthdr argument. + (coff_object_p): If there is no aouthdr, pass it as NULL to + coff_real_object_p. + * libcoff.h: Rebuilt for mkobject_hook changes. + + * coffswap.h (coff_swap_aouthdr_in, coff_swap_aouthdr_in): Swap + additional MIPS ECOFF fields. + +Sat Jan 23 18:36:20 PST 1993 Ralph Campbell (ralphc@pyramid.com) + + * configure.host: added mips-dec-bsd* + * configure.in: added mips-dec-bsd* + * aout-mipsbsd.c: new file for mips-dec-bsd* + * aout-target.h: don't define '' if 'MY_BFD_TARGET' is defined. + * aoutx.h: added mips support. + * archures.c: added mips support to bfd_default_scan(). + * cpu-mips.c: added support for R4000 (untested). + * libaout.h: added MIPS1 & MIPS2 magic numbers. + * reloc.c: fix typo's in comments. Added BFD_RELOC entries which I + hope will make it into include/bfd.h. + * targets.c: added aout_mips_*_vec. + +Wed Jan 20 17:15:52 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/decstation.mt: Set DEFAULT_VECTOR to ecoff_little_vec. + +Tue Jan 19 09:06:14 1993 Ian Lance Taylor (ian@cygnus.com) + + * bfd-in.h (bfd_asymbol_value): Add needed parentheses. + + * libcoff-in.h: Update prototype for coff_count_linenumbers. + +Fri Jan 15 18:13:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-msym.c (ecoff_swap_hdr_out, ecoff_swap_fdr_out, + ecoff_swap_pdr_out, ecoff_swap_sym_out, ecoff_swap_ext_out, + ecoff_swap_rndx_out, ecoff_swap_rfd_out, ecoff_swap_opt_in, + ecoff_swap_opt_out, ecoff_swap_dnr_in, ecoff_swap_dnr_out): New + functions. + * coffswap.h: If NO_COFF_RELOCS is defined, don't define + bfd_swap_reloc_in or coff_swap_reloc_out. + * coff-mips.c: Added code to link and write out symbolic debugging + information, and to swap relocs in and out. + +Thu Jan 14 15:51:58 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * libcoff.h, coffgen.c (coff_count_linenumbers), coffcode.h + (coff_write_object_contents): coff_count_linenumbers returns the + number of line number records it found. + + * coffgen.c (coff_write_linenumbers): only write out line numbers + in the section they belong to. + +Mon Jan 11 18:32:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * targets.c (bfd_target): Added relocateable argument to + _bfd_get_relocated_section_contents. Added _bfd_seclet_link + target vector for linker use. + * bfd.c (bfd_seclet_link): New macro. + * bfd-in.h (JUMP_TABLE): Added _bfd_seclet_link. + * seclet.c (rel, seclet_dump_seclet): Added relocateable argument + and boolean return value. Made static. + (bfd_generic_seclet_link): Renamed from seclet_dump. Added + relocateable argument. + * reloc.c (bfd_generic_get_relocated_section_contents): Added + relocateable argument (if relocateable, saves relocs). + * bout.c (b_out_get_relocated_section_contents), + reloc16.c (bfd_coff_reloc16_get_relocated_section_contents): Added + relocateable argument (if relocateable, just calls + bfd_generic_get_relocated_section_contents). + * libcoff-in.h (bfd_coff_reloc16_get_value): Added relocateable + argument to prototype. + * All targets: Set new _bfd_seclet_link vector to + bfd_generic_seclet_link. + +Sat Jan 9 21:29:32 1993 Stu Grossman (grossman at cygnus.com) + + * coffgen.c: #include seclet.h. + +Sat Jan 9 19:48:14 1993 Stu Grossman (grossman at cygnus.com) + + * hppa.c (hppa_object_setup): Get rid of all knowledge of stabs + debug info. Setup info about linker symbols only, and use + standard bfd fields to hold the info. + * (hppa_object_p): Remove unneeded decls. + * (hppa_new_section_hook): Get rid of most of this. + * libhppa.h (struct hppadata): Remove ten pounds of useless ugly + fat. Remove all knowledge of stabs, remove redundant knowledge of + linker symbols. + * Remove macros for accessing fields which are now gone. + +Fri Jan 8 15:20:00 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coffcode.h (sec_to_styp_flags): allow SEC_NEVER_LOAD to turn on + STYP_NOLOAD bit. + * coff-z8k.c: delete unused reloc functions + +Fri Jan 8 15:47:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd.c (struct _bfd): Added ecoff_tdata to tdata union. + * targets.c (enum target_flavour): Added bfd_target_ecoff_flavour. + * coff-msym.c: Use DEFUN for function definitons. + * coff-mips.c: Added code to read and print symbols, and to find + line numbers. + + * coffcode.h: Moved many generic functions into coffgen.c. Moved + swapping functions into coffswap.h for ECOFF use. Moved + relocation functions, only used by h8300 and z8k, into reloc16.c. + Added hooks for coffgen.c functions to backend data structure, and + added hook functions. Still more could be done. + * coffswap.h: New file to hold COFF swapping routines. + * coffgen.c: New file to hold generic COFF functions. + * reloc16.c: New file to hold h8300 and z8k specific relocation + functions. + * libcoff-in.h: Added declarations for functions in coffgen.c. + * libcoff.h: Rebuilt to incorporate changes. + * coff-h8300.c: Function name changes. + * coff-z8k.c: Function name changes. Use coff_reloc16_extra_cases + hook rather than defining EXTRA_CASES. + * Makefile.in: Build new files coffgen and reloc16. Added + dependencies of coff-*.o on coffswap.h and seclet.h. + +Thu Jan 7 16:16:26 1993 Per Bothner (bothner@cygnus.com) + + * ieee.c (ieee_slurp_sections): Add cast to avoid warning + about discarding const. + +Wed Jan 6 00:16:49 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * archive.c, seclet.c, elf.c use bfd_xmalloc instead of malloc + +Tue Jan 5 09:35:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in (post-target): If --with-minimal-bfd is specified, + set MINIMIZE=1. + +Mon Jan 4 07:20:01 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * srec.c (srec_write_records): one of my boards wants a CR between + records. + +Wed Dec 30 12:46:30 1992 Ian Lance Taylor (ian@cygnus.com) + + * archive.c (do_slurp_coff_armap): set symdef_count correctly + (it broke a couple of weeks ago). + +Tue Dec 29 21:41:05 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf.c (bfd_elf_find_section): Switch back to "struct ..." for + return type, so libbfd.h doesn't reference undefined typedefnames. + +Tue Dec 29 13:54:35 1992 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (coff_real_object_p): use name I386AIXMAGIC rather + than I386SVMAGIC. + (coff_pointerize_aux): don't pointerize a negative tagndx + (sometimes generated by SCO 3.2v4 cc). + + * bout.c (calljx_callback, callj_callback, + b_out_get_relocated_section_contents): warn if relocating against + an undefined symbol. + +Mon Dec 28 14:30:55 1992 Stu Grossman (grossman at cygnus.com) + + * hppa.c: Get rid of DEFUN, use more conventional prolog stuff. + Make a bunch more routines be static. + * hppa.c (fill_spaces): Get rid of this, replace with much better + written setup_sections(). + * (setup_sections): New routine to create BFD sections for each + space and subspace in SOM files. + * (hppa_object_setup): Use BFD sections created by + setup_sections() to locate GDB symbol table info. + * (make_unique_section): New routine to create a BFD section. It + ensures that the given name is unique, and will generate a unique + one if necessary. + * (hppa_object_p): Become much more paranoid about file header. + * (make_bfd_asection): Call bfd_make_section to do the dirty + work. Simplify code somewhat. + * (hppa_core_file_p): Use proper name for stack section. + * libhppa.h: Remove millicode_start, millicode_end decls. + +Mon Dec 28 11:03:22 1992 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (coff-we32k.o, coff-z8k.o): Note dependencies. + + * reloc.c (bfd_perform_relocation): For normal 2- or 4-byte + relocs, don't bother doing the adjustment if the value to add is + zero. + +Sun Dec 27 17:45:05 1992 Fred Fish (fnf@cygnus.com) + + * bfd.c (bfd_get_size): New function that gets an upper bound + on the possible size of any object in a bfd. + * elf.c (bfd_elf_find_section, elf_get_str_section, + elf_get_symtab_upper_bound): Rewrite to avoid NULL pointer + dereferences. + * elf.c (elf_big_vec, elf_little_vec): Document last three + members initialized to NULL. + +Thu Dec 24 17:49:09 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * hppa.c: change a 'const' to 'CONST', or else HP C compiler dies + +Mon Dec 21 16:33:34 1992 Per Bothner (bothner@rtl.cygnus.com) + + * hosts/std-host.h: New file. Attempt at a generic/default + set of definitions, to discourage porting to new hosts by copying. + * hosts/news.h: Removed. + * hosts/sparc.h: Use std-host.h. + * bfd-in.h: New macros bfd_asymbol_bfd and bfd_asymbol_flavour; + perhaps we can later remove the the_bfd field from each symbol. + * syms.c (struct symbol_cache_entry): Remove unused field + app_data. Add comment noting that the_bfd is almost redundant, + but not quite. + * aoutx.h, coff-a29k.c, coff-i386.c, coff-i960.c, coffcode.h: + Use new macros bfd_asymbol_bfd and bfd_asymbol_flavour. + * hppa.c (fill_spaces): Make slightly more rebust. + * configure.in: Allow std-host as the "default" host. + +Mon Dec 21 17:24:13 1992 Stu Grossman (grossman at cygnus.com) + + * bfd.c: Add struct hppa_core_data to tdata union. + * hppa.c: Conditionalize on HOST_HPPAHPUX instead of hp9000s800. + Get rid of HPPA/BSD specific code. That will go somewhere else + someday. + * (fill_spaces): Don't spin forever and die if you don't find + $MILLICODE$ subspace. + * (hppa_object_p): Make sure that we have a real honest-to-cthulu + exec file! + * (hppa_core_file_failing_signal, hppa_core_file_failing_command): + Make these work for HPUX. + * (make_bfd_asection): New routine to make section creation a + little easier. + * (hppa_core_file_p): Completely rewrite, leave out bugs. + * libhppa.h: #include the right system files. Redefine all of + the structs/macros for hacking core files to use more sensible + HPUX core file structures. + * targets.c (target_vector): Conditionalize hppa_vec on + HOST_HPPAHPUX, not hp9000s800. + * hosts/hppahpux.h: #include stdlib.h to get correct decls for + malloc and realloc. #define HOST_HPPAHPUX. + +Mon Dec 21 12:40:10 1992 Ian Lance Taylor (ian@cygnus.com) + + * Patches from Minh Tran-le <mtranle@paris.intellicorp.com>. + * configure.in (i386-*-isc*, i386-*-aix*): New targets. + * configure.host (i386-*-isc*, i386-*-aix*): New hosts. + * hosts/i386isc.h, config/i386isc.mh: New files for Interactive + Unix. + * hosts/i386aix.h, config/i386aix.mh: New files for AIX on PS/2. + * aix386-core.c: New file for handling core files on AIX on PS/2. + * targets.c: if AIX386_CORE, use aix386_core_vec. + * coffcode.h (coff_real_object_p): check for I386SVMAGIC as well + as I386MAGIC. + +Fri Dec 18 10:20:27 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * aoutf1.h (sunos4_write_object_contents): set flags to 0, fixing + 1927. + +Thu Dec 17 19:35:32 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: added dvi target + +Thu Dec 17 00:36:24 1992 John Gilmore (gnu@cygnus.com) + + * bfd.c: Use right name for tekhex tdata struct. + * tekhex.c: Insert leading_char (0) into bfd_target struct. Style. + * libcoff.h: Updated to get spacing change from coffcode.h. + * trad-core.c: leading_char is 0 (no symbols!), not '_'. + +Tue Dec 15 15:40:30 1992 Per Bothner (bothner@cygnus.com) + + * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap): New + functions, with the "guts" of the old bfd_slurp_bsd_armap + and bfd_slurp_coff_armap, but assuming we've already checked + if the armap is present or not. + Also, rewrite a bit to avoid keeping around obstack data + that we don't need. + * archive.c (snarf_ar_header, _bfd_slurp_extended_name_table): + Various fixes to correctly handle COFF_style archives names. + (Note that because these have a trailing '/', the names can + have embedded spaces.) + * archive.c (bfd_slurp_armap): New function, replaces old + bfd_slurp_bsd_armap and bfd_slurp_coff_armap. Recognizes + _either_ format, and calls do_slurp_bsd_armap or + do_slurp_coff_armap if either form of map is seen. + * libbfd-in.h: Changed bfd_slurp_bsd_armap and + bfd_slurp_coff_armap into macro synonyms for bfd_slurp_armap. + * elf.c (elf_slurp_armap, elf_write_armap): Fix. + * Makefile.in (AR_FLAGS): Use rc instead of non-standard qc. + +Mon Dec 14 17:08:08 1992 Stu Grossman (grossman at cygnus.com) + + * hppa.c: #include "sysdep.h", not <sysdep.h>. + * libhppa.h: Make millicode_start and millicode_end be unsigned + int to be same type as CORE_ADDR in GDB. Why are these here? + +Sat Dec 12 15:54:36 1992 Ian Lance Taylor (ian@cygnus.com) + + * coff-i386.c (CALC_ADDEND): if reloc is PC relative, add the + vaddr of the section to the addend. + * targets.c: if MINIMIZE is 1, and SCO_CORE is defined, add + SCO_CORE to SELECT_VECS. + (target_vector): add sco_core_vec. + * sco-core.c (sco_core_vec): add leading underscore initializer. + * configure.in (i[34]86-*-sco*): use target i386-sco. + * config/i386-sco.mt: new file; define SCO_CORE. + +Thu Dec 10 02:13:15 1992 John Gilmore (gnu@cygnus.com) + + * aout-adobe.c (aout_adobe_object_p): Fix !strcmp thinko. + +Fri Dec 4 14:02:49 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * coffcode.h (bfd_coff_std_swap_table): Now static and const. + +Thu Dec 3 16:54:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * hosts/i386linux.h: Include unistd.h. + + * aoutx.h (print_symbol): aout_stab_name returns a constant + string. + * libaout.h (aout_stab_name): Fix prototype. + * stab-syms.c (aout_stab_names): Array is now const. + (aout_stab_name): Return value is now pointer to const. + + * aoutx.h, archive.c, archures.c, coffcode.h, ctor.c, reloc.c, + syms.c: Doc fixes. + + * syms.c (asymbol): Added new field "app_data", for data + particular to the application. Some of the linker flags ought to + get moved to this field someday. + + * archures.c (bfd_default_scan): Recognize a few more numbers: + 80486, 80960, and 960. + + * bfd-in.h (COFF_SWAP_TABLE): New is just address of + bfd_coff_std_swap_table, cast to PTR. + * bfd.c (bfd_coff_swap_*): Deleted macros. + * targets.c (struct bfd_target): Deleted COFF-specific swapping + routine pointers. + * coffcode.h (type bfd_coff_backend_data): New structure type, + contains pointers to the COFF-specific swapping routines. + (bfd_coff_std_swap_table): New data structure, to be used when + NO_COFF_SYMBOLS and NO_COFF_LINENOS are not defined. + (bfd_coff_swap_*): New macros. + * coff-mips.c (mips_coff_swap_table): New data structure. + (ecoff_big_vec): Use it. + * All COFF targets: Moved COFF_SWAP_TABLE to target-specific data. + * All other targets: Deleted coff-specific vector entries. + + * trad-core.c: Fixed some `PARAMS' uses that were missing + parentheses. + +Sun Nov 29 08:37:13 1992 Fred Fish (fnf@cygnus.com) + + * aoutx.h (some_aout_object_p): Protect arg prototype in + callback_to_real_object_p with PARAMS macro for non-ANSI compilers. + +Sat Nov 28 04:01:21 1992 John Gilmore (gnu@cygnus.com) + + * aout-target.h, aoutf1.h, trad-core.c, coffcode.h, libaout.h, + libbfd-in.h, bfd-in.h: Eliminate all PROTO calls, replace with + PARAMS for readability. + + * aoutx.h: Add type to callback parameter. + * coff-mips.c: Don't call trad-core.h, not needed. + * trad-core.c: Incorporate trad-core.h declarations. Fix comments. + * trad-core.h: Eliminate, unused. + +Wed Nov 18 13:16:17 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * format.c (bfd_check_format): if default target isn't found + then look through the entire list rather than return early. + +Mon Nov 16 14:33:03 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/i960-coff.mt: reorder vec to match bfd_check_format (from Per) + +Thu Nov 12 17:01:41 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: pass down prefix and exec_prefix in FLAGS_TO_PASS + +Thu Nov 12 09:46:47 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-z8k.c: checkpoint, more addressing modes handled + * coffcode.h (get_value): don't truncate reloc->addend field, it's + a long now. + +Wed Nov 11 23:57:55 1992 Brendan Kehoe (brendan@cygnus.com) + + * we32k.mt (TDEFAULTS): Use we32kcoff_vec, not i386coff_vec. + +Tue Nov 10 14:04:38 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: minor tweaks to make $(CC) command lines more consistent + +Mon Nov 9 23:58:17 1992 John Gilmore (gnu@cygnus.com) + + * opncls.c (bfd_fdopenr, bfd_close): Add doc about cacheing + and about when file descriptors are closed. + +Sat Nov 7 00:42:20 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bout.c (b_out_squirt_out_relocs): Make sure alignment relocs get + written out correctly. + +Thu Nov 5 15:34:19 1992 Ian Lance Taylor (ian@cygnus.com) + + * section.c: New section bit SEC_SHARED_LIBRARY. + coffcode.h (styp_to_sec_flags): if STYP_NOLOAD && (STYP_TEXT || + STYP_DATA), set SEC_SHARED_LIBRARY. This seems to be correct for + i386-sysv. + +Thu Nov 5 04:43:09 1992 John Gilmore (gnu@cygnus.com) + + * target.c (struct bfd_target): Eliminate the SDEF and SDEF_FMT + macros; use PARAMS to declare the function pointers involved. + + * bfd-in.h, bfd.c, libbfd.h, reloc.c, seclet.h, section.c, + targets.c: Rename struct bfd_seclet_struct to struct bfd_seclet. + +Thu Nov 5 02:59:09 1992 John Gilmore (gnu@cygnus.com) + + Cleanup: Replace all uses of EXFUN in the BFD sources, with PARAMS. + + * archures.c, reloc.c, section.c, tekhex.c: Use PARAMS in + declaring pointers to functions. + * cache.c, elf.c: Move static function decls to top, use PARAMS. + * seclet.h: Declare external function with PARAMS. + + * doc/chew.c (exfunstuff): Eliminate. + (paramstuff): Replace exfunstuff with function to generate PARAMS. + * doc/proto.str: Use paramstuff rather than exfunstuff. + + * libbfd.h: Update, based on changes in source code and chew. + +Wed Nov 4 22:47:29 1992 John Gilmore (gnu@cygnus.com) + + * libieee.h: Add FIXME about removing limit on number of sections. + * bfd-in.h: Improve comments to make it clear that bfd.h is + the wrong place to edit this file. + * Makefile.in (install): Install ansidecl.h and obstack.h in the + same places where we install bfd.h. + +Wed Nov 4 13:40:23 1992 Sean Eric Fagan (sef@cygnus.com) + + * coffcode.h (coff_swap_aux_out, coff_swap_aux_in): check for + symbol type before blindly modifying the auxent. Specifically, + only modify the endndx fields for types that need it, and don't + set the array information for non-arrays. + +Wed Nov 4 09:30:50 1992 Ken Raeburn (raeburn@cygnus.com) + + * aoutx.h (some_aout_object_p): Section list should be set up + correctly anyways; don't have to set up "next" pointers manually. + +Mon Nov 2 12:36:14 1992 Ian Lance Taylor (ian@cygnus.com) + + * config/delta88.mh, config/hp300.mh, config/hppahpux.mh, + config/i386v.mh: removed -DUSG from HDEFINES. + hosts/delta88.h, hosts/hp300.h, hosts/hppahpux.h, hosts/i386v.h: + defined USE_UTIME. + hosts/i386v.h: don't define POSIX_UTIME. + +Fri Oct 30 16:13:52 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ieee.c (ieee_slurp_sections): make a private copy of the + section's name before truncating it. + +Thu Oct 29 08:30:50 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * hppa.c: add symbol_leading_char entry in transfer vec + +,Wed Oct 28 16:11:57 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ieee.c (get_symbol): can now cope when two symbols of a + different class, but the same index number occur consecutively. + (get_section_entry): nicer name for sections being forward + referenced. (ieee_archive_p): don't free the filename string, + since it was never malloced. + +Wed Oct 28 13:42:09 1992 John Gilmore (gnu@cygnus.com) + + * coffcode.h (coff_write_object_contents): Zero timestamp field. + +Tue Oct 27 12:24:34 1992 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (coff_swap_aux_out): set the fcnary info before + optionally setting the dimen info, since they are in the same + memory locations. Also zero out external auxent. + (coff_write_symbol): don't zero external auxent; now done in + coff_swap_aux_out. + +Fri Oct 23 13:55:35 1992 Ian Lance Taylor (ian@cygnus.com) + + * Check fclose return value for errors. + libbfd.h: bfd_cache_close now returns a boolean. + cache.c (bfd_cache_delete): return fclose success value. + (bfd_cache_close): return bfd_cache_delete return value. + opncls.c (bfd_close, bfd_close_all_done): return result of + bfd_cache_close. + +Fri Oct 23 10:32:36 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * seclet.c (rel): don't load sections without the SEC_LOAD bit. + +Thu Oct 15 10:16:35 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-m68k.c (m68k_howto2type, SELECT_RELOC): new function to + work out a coff relocation type from a howto's attributes rather + than using the input r_type field. This fixes PR1677 and allows + conversion of a.out relocs to coff relocs. + + * coffcode.h (coff_write_relocs): if supplied a relocation + relative to an absolute symbol, use the right symbol index. + + * reloc.c (bfd_perform_relocation): do a partial link for coff + relocs right. + +Fri Oct 23 08:15:56 1992 Ian Lance Taylor (ian@cygnus.com) + + * changes to support i386-sysv with shared libraries: + * coffcode.h (sec_to_styp_flags): if TWO_DATA_SECS is defined, + check for .data2; if _LIB is defined, check for it; map + SEC_NEVER_LOAD to STYP_NOLOAD. + (styp_to_sec_flags): map STYP_NOLOAD to SEC_NEVER_LOAD. + (make_a_section_from_file): if TWO_DATA_SECS, accept .data2. + (coff_write_object_contents): force vaddr of .lib to 0; set scnptr + if section has contents, not just if it is loadable; if + TWO_DATA_SECS, check for .data2 + (coff_set_section_contents): set vma of .lib section to number of + .lib sections. + * coff-i386.c: define TWO_DATA_SECS; use a special CALC_ADDEND; + don't define coff_write_armap to bsd_write_armap. + * hosts/i386v.h: don't include <utime.h>, since it is not provided + by SVR3.2. + +Thu Oct 22 22:40:20 1992 Brendan Kehoe (brendan@lisa.cygnus.com) + + * solaris2.h: Get the definition of alloca from alloca.h if we + aren't using gcc. + +Thu Oct 22 03:07:28 1992 John Gilmore (gnu@cygnus.com) + + * configure.in (i960-*-{aout,bout}): Support these. + +Wed Oct 21 03:46:34 1992 John Gilmore (gnu@cygnus.com) + + * config/a29k-aout.mt (DEFAULT_TARGET): Set to one that exists. + +Thu Oct 15 15:05:39 1992 Per Bothner (bothner@cygnus.com) + + * apollo68.h, apollov68.h, hp300.h, i386v.h, irix3.h: Remove + no-longer-used definitions of L_SET and L_INCR. + * i386linux.h: Tweaks to smooth Linux build. + +Thu Oct 15 01:32:22 1992 John Gilmore (gnu@cygnus.com) + + * seclet.h: Add enum tag to bfd_seclet_enum_type. + + * bfd-in.h (file_ptr): Update comments, make FIXME re off_t. + + * aout-adobe.c, aoutf1.h, archive.c, bout.c, coff-rs6000.c, + coffcode.h, elf.c, ieee.c, libaout.h, libbfd.c, oasys.c, + sco-core.c: Lint: Second argument of bfd_seek is always file_ptr. + Third argument is SEEK_SET or SEEK_CUR. Result is always 0 or -1. + + * aout-adobe.c, aoutf1.h, aoutx.h, bout.c coff-m68k.c, coff-z8k.c, + coffcode.h, elf.c, libaout.h, libbfd-in.h, srec.c: Lint. + +Fri Oct 9 03:46:37 1992 John Gilmore (gnu@cygnus.com) + + * configure.host: New file, contains mapping of host configs + to host support file names for bfd, binutils, opcodes. + * configure.in: Use it. + * i386aout.c: Cleanup, dump TARGET_IS_LITTLE_ENDIAN_P. + * i386bsd.c: Cleanup, reformat. + * config/i386-bsd.mt: Comment changes. + * config/i386bsd.mh: New file for core file support. + * hosts/i386bsd.h: Merge changes from Peter Schauer. + * bout.c (ALIGN): Rename to ALIGNER, since system header files + on BSD 4.4 define ALIGN (sigh!). + +Thu Oct 8 22:18:10 1992 Mark Eichin (eichin at tweedledumber.cygnus.com) + + * libaout.h (aout_backend_data): added exec_header_not_counted + field. For ZMAGIC files only, when text_includes_header is set, by + default the length of the exec header is counted in the text + section size. For go32, exec header is mapped in but does *not* + contribute to the size of section. + * aoutx.h (aout_adjust_sizes_and_vmas): if exec_header_not_counted + is not set, but ztih is, add the size of the exec header to the + recorded size of the text section. + * aoutf1.h (sunos4_aout_backend): clear exec_header_not_counted. + * i386aout.c (i386aout_backend_data): set exec_header_not_counted. + Also set text_includes_header. + * aout-target.h (*_backend_data): cleare exec_header_not_counted + by default in MY(backend_data). + +Thu Oct 8 18:12:49 1992 Ken Raeburn (raeburn@cygnus.com) + + * aout-target.h (callback): Don't define this function if it won't be + used. + + * aoutx.h (some_aout_object_p): Restore old aout_data value if this + type doesn't match. Don't lose if file sections have already been + created. + (set_arch_mach): Set reloc_entry_size. + (slurp_symbol_table): Use bfd_h_get_{16,8} for reaeding symbol data. + + * hosts/i386bsd.h: New file. + * configure.in: Recognize i[34]86-*-bsd host. + + * aout-target.h (callback, write_object_contents): Delete unused + variables. + + * aoutx.h (reloc_type_lookup): New function. + * aout-target.h (MY_reloc_howto_type_lookup): Use it as default. + * aoutf1.h (sunos4_reloc_type_lookup): Deleted. + (MY_reloc_howto_type_lookup): Don't define it. + + * aoutx.h (adjust_sizes_and_vmas): Don't bother with padding for + OMAGIC files. + (slurp_symbol_table): Use header byte order, not target byte + order, for reading symbol data. + +Thu Oct 8 17:33:39 1992 John Gilmore (gnu@cygnus.com) + + * configure.in: Undo some brain damage in the host section. + * configure.in: Reformat the target section, test many configs. + * Makefile.in (make): Remove obsolete `make make'. + * aoutx.h (some_aout_object_p): Make defines line up. + +Thu Oct 8 08:52:48 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + Now a bfd knows whether underscores are normally prepended + to symbols in its file format. + + * aout-adobe.c, aout-target.h, bout.c, coff-a29k.c, coff-h8300.c, + coff-z8k.c: targets set so they have leading underscore + * coff-i386.c, coff-i960.c, coff-m68k.c, coff-mips.c, coff-m88k.c, + coff-rs6000.c, coff-we32k.c, elf.c, ieee.c, srec.c: targets set + without leading underscore flag + * targets.c: add symbol leading char to xvec description + * bfd-in.h (bfd_get_symbol_leading_char): new macro. + +Mon Oct 5 14:32:55 1992 Per Bothner (bothner@cygnus.com) + + * archive.c: Make errno global. + * archive.c (_bfd_write_archive_contents): If read fails (and + errno!=0) set bfd_error to malformed_archive (since this probably + indicates a truncated archive), rather than system_call_error. + +Mon Oct 5 03:33:39 1992 Mark Eichin (eichin at tweedledumber.cygnus.com) + + * Makefile.in: added rules for i386bsd.c + * i386bsd.c: new file, supporting 386bsd. + * configure.in: recognize i386-*-bsd target. + * config/i386-bsd.mt: new file - 386bsd target configuration. + +Thu Oct 1 17:51:07 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: re-arrange host section to use *-*-* notation, + clean up some of the target section as well + + * seclet.c: cast result of bfd_get_relocated_section_contents to + avoid compiler warnings + +Tue Sep 29 13:24:09 1992 Ken Raeburn (raeburn@cygnus.com) + + * coffcode.h (coff_section_symbol): Create section if it doesn't + already exist. + + * bout.c: Removed some unused variables. + +Tue Sep 29 08:30:21 1992 Ian Lance Taylor (ian@cygnus.com) + + * Portability fixes from p3: + coffcode.h (coff_write_relocs): removed sanity check until it + works on all targets (per advice from sac). + config/hp9000.mh: new file to define USG. + hppa.c: #undef hppa before the JUMP_TABLE. + hosts/hppahpux.h: #define NATIVE_HPPAHPUX_COMPILER if not + __STDC__. + targets.c (bfd_target_list): if NATIVE_HPPAHPUX_COMPILER, make + local variable target volatile to avoid mysterious bug in + HP9000/700 cc. + +Sat Sep 26 03:58:49 1992 John Gilmore (gnu@cygnus.com) + + * config/hppabsd.mh, config.hppahpux.mh: Remove various bogosity. + * hosts/hppahpux.h: Remove bcopy and index circumventions. + +Fri Sep 25 22:36:52 1992 John Gilmore (gnu@cygnus.com) + + * coff-z8k.c (func_da, func_jr): Lint. + * coffcode.h: Use memset rather than bzero. + * elf.c: Use memcpy rather than bcopy. + * tekhex.c: Use memset rather than bzero. + +Fri Sep 25 19:14:48 1992 John Gilmore (gnu@cygnus.com) + + Add Adobe a.out support. + + * aout-adobe.c: New file. So far, only reads a.out.adobe. FIXME. + * config/adobe.mt: Add. + * configure.in (*-adobe-* target): Add. + * targets.c (a_out_adobe_vec): Add. + * Makefile.in: add aout-adobe.c. + + * configure.in: Put two dashes in all entries to be matched. + Add comments to remind people to do this. + Reorder all entries that match manufacturer names, to occur + last, so they will only be matched if no more specific match + occurs. Remove manufacturers `aout', `bout', `coff', and `elf'. + +Fri Sep 25 15:03:22 1992 Brendan Kehoe (brendan@rtl.cygnus.com) + + * elf.c (section_from_elf_index): Return bfd_abs_section, not 0, + since we should never have a NULL section. + (elf_slurp_symbol_table): If st_shndx doesn't match any of our + tests, set the section to bfd_abs_section. + +Fri Sep 25 11:11:57 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-z8k.c: getting closer + * coffcode.h (coff_get_relocated_section_contents): allow + EXTRA_CASES hooks for different arches to provide different reloc + types. + * seclet.h: #ifndef around it to allow multiple inclusion + * srec.c: minor doc fix + +Mon Sep 21 14:33:58 1992 Ian Lance Taylor (ian@cygnus.com) + + * hosts/hp9000.h, hosts/irix3.h: changes from WRS. + +Sun Sep 20 08:48:25 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Use i386-elf for all i386/i486 sysv4 hosts, not + just ncr. + +Thu Sep 17 06:40:46 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bout.c (b_out_slurp_reloc_table): Clear howto field before + filling in reloc, in case immediately following code doesn't set + it. + +Fri Sep 11 15:37:06 1992 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (coff_renumber_symbols): set the last renumbered + symbol pointer to NULL, as expected by coff_write_linenumbers. + (coff_write_relocs): apparently a non-zero addend is OK for reloc + type R_IHCONST used on the 29k. + +Thu Sep 10 13:28:24 1992 John Gilmore (gnu@cygnus.com) + + * opncls.c (bfd_fdopenr): Determine whether to fdopen for + update, based on how the underlying file was opened. Obsoletes + FASCIST_FDOPEN. + * hosts/rs6000.h, hosts/tahoe.h, hosts/vaxbsd.h: Remove + all FASCIST_FDOPEN config defines. + +Tue Sep 8 21:37:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * sparc-opc.c: Moved to opcodes library, now that we have one. + * Makefile: Don't compile it. + +Tue Sep 8 10:10:34 1992 Ian Lance Taylor (ian@cygnus.com) + + * aoutx.h: adjust_sizes_and_vmas did not return anything. + +Thu Sep 3 19:29:04 1992 Per Bothner (bothner@rtl.cygnus.com) + + * section.c (bfd_set_section_flags): Remove a sanity check. + It is unfortunately broken, and prevents strip from working. + +Thu Sep 3 16:14:40 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * sparc-opc.c (condr): Remove extraneous, but harmless, backlash + created by last change. + +Thu Sep 3 13:52:38 1992 Per Bothner (bothner@rtl.cygnus.com) + + * reloc.c (reloc_howto_struct): Make size field be unsigned. + * bfd-in.h: Bump to version 2.0. + +Thu Sep 3 09:05:37 1992 Stu Grossman (grossman at cygnus.com) + + * bout.c, cpu-z8k.c: Use enums when initializing structs to keep + braindamaged HP/Apollo compiler happy. + +Wed Sep 2 02:53:29 1992 John Gilmore (gnu@cygnus.com) + + * format.c: Fix description of search for matching target. + * aoutx.h (some_aout_object_p): Set SEC_CODE and SEC_DATA. + * targets.c: Update description of search for matching target. + * Makefile.in (do_clean, clean): Fix infant mortality typo. + (docdir): Set to ./doc, not ${srcdir}/doc, which has no makefile. + (z8k and we32k files): `*.o: *.c': avoid Sun Make bug. + +Wed Sep 2 00:26:32 1992 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in: Added mostlyclean/clean/distclean rules. + +Tue Sep 1 13:38:40 1992 Per Bothner (bothner@cygnus.com) + + * targets.c (target_vector): Take out oasys (unless that is + the default): Because there is no magic number in archives, + there can be annoying target mis-matches. + +Mon Aug 31 10:11:37 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * sparc-opc.c: Rigorously updated to match architecture manual. + +Mon Aug 31 08:07:58 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * aoutx.h (aout<n>swap_ext_reloc_out), bout.c + (b_out_squirt_out_relocs): fix bug 1506 where abs symbols attached + to the built-in abs_section were not written out correctly. + +Fri Aug 28 16:29:15 1992 Ian Lance Taylor (ian@cygnus.com) + + * archive.c (bfd_slurp_bsd_armap): if the symdef_count is too + large, assume we're using a swapped byte order and fail with + wrong_format rather than dumping core. + +Fri Aug 28 15:38:03 1992 Ken Raeburn (raeburn@cygnus.com) + + * Renamed opc-sparc.c to sparc-opc.c for systems with short + filename constraints. + * Makefile.in: Updated to reflect change. + +Thu Aug 27 13:05:28 1992 Brendan Kehoe (brendan@cygnus.com) + + Add preliminary support for the we32k: + + * Makefile.in, archures.c, coffocode.h, configure.in, targets.c: + Minor edits. + * coff-we32k.c, cpu-we32k.c, config/we32k.mt, hosts/we32k.h: New files. + +Wed Aug 26 14:20:16 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bout.c: added support for relaxable alignment relocs. + + * seclet.c (rel, seclet_dump_seclet, seclet_dump): get the app to + pass down pointer to play area rather than use alloca + + * cpu-z8k.c (compatible): made static to reduce name space + polution. + +Tue Aug 25 08:39:10 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + Add basic support for the z8k: + + * Makefile.in, archures.c, coffcode.h, configure.in, reloc.c, + section.c, targets.c, + + * syms.c: move mis-inserted patch. + +Fri Aug 14 15:39:29 PDT 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov) + + Documentation fixes: + * ctors.c, format.c, section.c, reloc.c: append " -" to item tags. + * reloc.c, section.c, syms.c, targets.c: add DOCDD before @node + comments. + * reloc.c: break out addend item from surrounding text. + + * doc.str (DOCDD): Defined. Adds text to output. + (bodytext): Put bulletize before kill_bogus_lines. + * chew.c (bulletize): End itemization after a blank line, to + prevent following text from being swallowed up in an item. + +Mon Aug 24 20:50:22 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Add sparclite as a target. + +Mon Aug 24 12:06:31 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ieee.c (ieee_get_symtab): always null terminate the symbol list, + lint. + + * coffcode.h (coff_add_missing_symbols): if symbols don't come + from a coff file (csym is null), dont deref them + + * ieee.c (parse_expression): get the answer right when adding an + abs+(sec+off), (ieee_generic_stat_arch_elt): call ieee_object_p + on elts so that filename is filled in. + +Thu Aug 20 19:05:48 1992 Ken Raeburn (raeburn@cygnus.com) + + * bout.c (howto_align_table): New set of relocs, with enough + data for "objdump -r" to work. + (b_out_reloc_type_lookup): Recognize alignment relocs. + +Tue Aug 18 12:57:45 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: added FLAGS_TO_PASS, and used it for all recursive + invocations of make. Also, always create installation + directories. + + * config/apollov68.mh: removed -g from CC definition. + +Mon Aug 17 13:40:08 1992 Ken Raeburn (raeburn@cygnus.com) + + * config/decstation.mh (HDEFINES): Specify "-G 4" to avoid + overflowing gp-offset range. + +Mon Aug 17 11:44:28 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * srec.c (srec_set_section_contents): don't write out sections + without the LOAD and ALLOC attributes + +Mon Aug 17 11:55:07 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * archures.c, cpu-m68k.c, cpu-sparc.c: Undo 16 June changes. + * libaout.h (struct aout_backend_data): New callback "set_sizes". + * aout-target.h (callback): Don't set page/seg sizes. + (mkobject): Ditto. + (set_sizes): New routine. + (backend_data): Point to it. + * aoutf1.h (sunos4_set_sizes): Heed architecture when setting sizes. + (sunos4_aout_backend): Point to it. + * aoutx.h (set_arch_mach): Call set_sizes callback. + +Fri Aug 14 19:22:18 1992 Per Bothner (bothner@cygnus.com) + + * aout-target.h: Make _bfd_slurp_extended_name_table be + the default. Given that we *write* the suckers (for long + archive member names), we really ought to be able to read them! + * trad-core.c: Don't include <machine/reg.h>. It doesn't + seem to be needed, and many machines don't have it. + +Thu Aug 13 09:53:39 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-m68k.c (vector): read and write archives in coff format. + +Tue Aug 11 12:19:42 1992 Ken Raeburn (raeburn@cygnus.com) + + * opc-sparc.c: New file. + +Sat Aug 8 23:15:35 1992 Fred Fish (fnf@cygnus.com) + + * bout.c (bfd_reloc_status_type, callj_callback): Cast void* + pointers to bfd_byte* before performing arithmetic on them. Such + use with bare void* pointers is a gcc extension. + * cache.c (bfd_cache_delete): Forward decl with prototype form. + * archive (normalize): Add to CONST to match actual usages with + CONST. + +Mon Aug 3 00:35:29 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Recognize i486 host cpu, and use i386-elf + for i486-ncr-sysv4. + +Sat Aug 1 13:49:59 1992 Fred Fish (fnf@cygnus.com) + + * config/stratus.mt (CC): Remove definition. + * elf.c (bfd_section_from_shdr): Test for the possibility that + section_from_elf_index returns NULL and don't dereference it. + +Mon Jul 20 02:46:09 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * add hppa_data to bfd tdata (indirectly via sef). + + * config/hppahpux.mh: hpux is -DUSG (patch by sef) + +Sat Jul 18 15:50:11 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: error messages to stderr, not stdout + +Fri Jul 17 18:32:46 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * bfd.c, cache.c, coff-a29k.c, coff-i386.c, coff-i960.c, + coff-m68k.c, coff-m88k.c, demo64.c, libaout.h, libbfd.c, + oasys.c, opncls.c, sunos.c, targets.c: removed rcsid's. + +Fri Jul 17 17:06:56 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognize hppa* instead of hppa + +Thu Jul 16 16:39:25 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-m68k.c: added R_RELLONG_NEG reloc type, and changed + RTYPE2HOWTO to cope with same. + * reloc.c (bfd_perform_relocation): added support for size of -2 + (subtract a word reloc type). Updated doc. + +Thu Jul 16 16:28:09 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: merged changes from progressive, removed rcsid. + + * archures.c, archive.c, Makefile.dos: removed rcsid. + +Thu Jul 16 08:08:25 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd-in.h : add BFD_IS_RELAXABLE flag + * bout.c (bout_swap_exec_header_[in_out]): new field in exec + header e_relaxable, major hackery in callbacks + * libaout.h : add space for a_relaxable. + * seclet.c (rel): don't relax empty sections + + +Wed Jul 15 07:57:46 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * section.c (STD_SECTION): add some casts to the initializers for + dumb compilers + +Tue Jul 14 14:06:28 1992 Stu Grossman (grossman at cygnus.com) + + * rs6000-core.c (rs6000coff_core_p): Greatly simplify expression, + and add appropriate casts to keep (picayune) aix-cc happy. + +Mon Jul 13 05:06:51 1992 John Gilmore (gnu at cygnus.com) + + * elf.c (elf_slurp_symbol_table): Now 2nd arg is where to write + symbol pointers. Punt expensive & useless bfd_realloc. Use + malloc for raw symbols, and free it before returning. + (bfd_section_from_shdr): Do not slurp symbol table until politely + asked. Do not even slurp string tables. + (elf_get_symtab_upper_bound): Count 'em without reading them. + (elf_get_symtab): This is how to politely ask. Schlurp! + This should probably just *become* elf_slurp_symbol_table, FIXME. + +Wed Jul 8 16:24:33 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * archive.c (bsd_write_armap): write the timestamp of the + archive header to be just a little bit later than the timestamp of + the file, otherwise the linker will complain that the index is + out of date. + +Tue Jul 7 00:23:23 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Add m68k-ericsson-*. + +Sat Jul 4 03:29:41 1992 John Gilmore (gnu at cygnus.com) + + * syms.h: Define BSF_FILE, update BSF_SECTION_SYM desc. + * elf.c: Remove unconditional debug printf's. + (elf_write_object_contents, elf_slurp_symbol_table): Handle + BSF_SECTION_SYM <=> STT_SECTION, BSF_FILE <=> STT_FILE. + (elf_slurp_symbol_table): Hand out symbols in forward, not + reverse order. Simplify duplicate code. + +Fri Jul 3 20:23:34 1992 Fred Fish (fnf@cygnus.com) + + * elf.c: Remove "(void)" casts from function calls where the + return value is ignored, in accordance with GNU coding standards. + +Tue Jun 30 16:49:12 1992 Fred Fish (fnf@cygnus.com) + + * hppa.c: Apply John's standard fix to avoid "empty translation + unit" warnings from some ANSI-C compilers. + +Thu Jun 25 04:39:25 1992 John Gilmore (gnu at cygnus.com) + + * hosts/solaris2.h: Configure same as sysv4. + +Tue Jun 23 21:54:44 1992 Fred Fish (fnf@cygnus.com) + + * libbfd.h, libbfd-in.h (bfd_seek): Make prototype match definition. + * reloc.c (bfd_default_reloc_type_lookup): Make cast on return + type match actual return type. + * elf_print_symbol (section_name): Make CONST. + +Mon Jun 22 17:35:24 1992 Per Bothner (bothner@cygnus.com) + + * i386linux.c, hosts/i386linux.h, config/i386-linux.mt: + New files, for Linux (a free Unix clone for 386 machines). + * Makefile.in, configure.in, targets.c: Update accordingly. + +Fri Jun 19 20:23:21 1992 Steve Chamberlain (sac@thepub.cygnus.com) + Lints for bfd_reloc_code_type->bfd_reloc_code_real_type, and + correct calling of howto special functions and fixes from Raeburn + for gas<>bfdness + * archures.c: nuke bfd_reloc_code_type + * bout.c, cpu-h8300.c, coff-i960.c, coff-m88k.c: special function lint + * coffcode.h (styp_to_sec_flags): STYP_INFO is marked as + SEC_NEVER_LOAD, various other bfdgas newness + * reloc.c->libbfd.h: change protype of bfd_default_reloc_type_lookup + * targets.c: change jump table vector to above + + +Fri Jun 19 19:00:45 1992 John Gilmore (gnu at cygnus.com) + + * elf.c (bfd_elf_find_section): Mark as INTERNAL_FUNCTION so + its prototype will be included in libbfd.h. Change result type + to struct * (rather than equivalent typedef) so it can be used in + the prototype, where they typedef won't be known. + * libbfd.h: Updated version. + +Fri Jun 19 15:21:56 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in, archures.c, configure.in, cpu-hppa.c, hppa.c, libhppa.h, + targets.c: HPPA merge. + +Fri Jun 19 12:21:38 1992 John Gilmore (gnu at cygnus.com) + + * configure.in: Separate Solaris2 from SYSV4 on SPARC. + * config/solaris2.mh: Kludge around Sun compiler bug. + +Wed Jun 17 14:02:46 1992 Stu Grossman (grossman at cygnus.com) + + * libaout.h (aout_backend_data): Change defs of two bitfields to + be unsigned chars instead to get around rs6000 compiler problem. + +Wed Jun 17 13:55:31 1992 Fred Fish (fnf@cygnus.com) + + * elf.c (bfd_section_from_shdr, elf_slurp_symbol_table): + Correct misconception that there can be only one symbol table. + Only call elf_slurp_symbol_table on the full symbol table, not + the dynamic one which is only a subset of the full one. + +Wed Jun 17 15:54:57 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * coffcode.h (coff_compute_section_file_positions): For I960, + don't align sections in file. + +Tue Jun 16 06:28:21 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * targets.c (struct bfd_target): Added field for target-specific + (but not file-specific) data, for distinguishing minor + characteristics between (e.g.) a.out formats. + + * section.c (struct sec): New field user_set_vma indicates vma + field should be heeded, not assumed to be unset. + (STD_SECTION): Initialize that field of standard sections to zero. + * bfd-in.h (bfd_set_section_vma): Set user_set_vma to true. + + * coffcode.h (coff_write_relocs): Write out swapped reloc, not + pre-swapped version. + + * archures.c (struct bfd_arch_info): Fixed order of comment and + field decl. New fields indicate size of page and segment for + architecture. + * cpu-m68k.c (N): Fill in values. + * cpu-sparc.c (arch_info_struct): Ditto. + + * libaout.h (struct aout_backend_data): Various bits of data (not + all used currently) with characteristics of a.out implementation. + Important field for now is text_includes_header, indicating that + the text section starts immediately after the file header, which + gets mapped in with it. + (struct aout_data): New fields indicate whether vma has been + adjusted yet (not yet used), and what magic number will be used in + the output file (should go away in favor of vma_adjusted). + (WRITE_HEADERS): Code for dealing with section sizes and related + header fields replaced with call to adjust_sizes_and_vmas. + * aoutx.h (some_aout_object_p): Fill in magic number field. + Set WP_TEXT flag for ZMAGIC as well as NMAGIC files. + (set_arch_mach): Set page size and segment size once CPU + type is known. + (adjust_sizes_and_vmas): New function; has much code moved + from set_section_contents and WRITE_HEADERS. Sets or adjusts vma + and size parameters, as well as many header fields, after deciding + on magic number for output file. Checks to ensure that this + adjustment has only been done once. + (set_section_contents): Call adjust_sizes_and_vmas instead of + doing much of the work here. + + * aout-target.h (MY_make_debug_symbol, MY_backend_data): Provide + default (null) values of these fields. + * aoutf1.h (sunos4_write_object_contents): Don't override a_text + value in exec header. + (sunos4_aout_backend, MY_backend_data): Define backend data + indicating file header is included in text section. + + * aoutf1.h (MY_reloc_howto_type_lookup): Fix typo. + + * hosts/sparc.h (abort, exit): Hide these names if compiling with + gcc version 2, to avoid warnings. + +Mon Jun 15 12:26:56 1992 Fred Fish (fnf@cygnus.com) + + * config/ncr3000.mh (INSTALL, RANLIB): Don't use /usr/ucb/install, + it's broken on ncr 3000's. Use simple "true" for RANLIB. + +Sat Jun 13 09:16:43 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * configure.in (m680[01234]0-wrs-*): Fix typo in match pattern. + +Fri Jun 12 19:48:34 1992 John Gilmore (gnu at cygnus.com) + + * section.c (STD_SECTION): Remove extra semicolon in declarations. + * configure.in: Rewrite target parsing to use simple format. + Handle sparc-sun-solaris2 configuration. + * aout64.h: Avoid ANSI C brain death warning. + * elf.c: Avoid trigraph (???) or /* in comments. + +Fri Jun 12 14:51:14 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/sysv4.mh: new file, RANLIB=echo + + * configure.in: handle Solaris2 as -sysv4 or -solaris2 + +Thu Jun 11 00:52:03 1992 John Gilmore (gnu at cygnus.com) + + * elf.c (elf_obj_tdata): Merge elf_obj_tdata_struct and + elf_core_tdata_struct into a single common struct. Core files + wouldn't have worked at all without this. + (bfd_elf_find_section): New function for GDB's undercover use + to find string sections that BFD hides from it. + (elf_get_str_section): Avoid multiple alloc&reads for same data; + lint. + (elf_object_p, elf_core_file_p): Allocate internal file header + storage dynamically. + * bfd.c (union {...} tdata): Remove elf_core_tdata_struct. + * demo64.c: Prevent "empty translation unit" warnings from idiots. + +Tue Jun 9 17:15:26 1992 Fred Fish (fnf at cygnus.com) + + * config/{i386v4.mh, ncr3000.mh}: Update RANLIB, add INSTALL. + +Sat Jun 6 17:02:51 1992 John Gilmore (gnu at cygnus.com) + + * configure.in: Handle Solaris2 as *-sun-sysv4 or as *-sun-sunos5. + +Sun May 31 05:45:00 1992 david d `zoo' zuhn (zoo@cygnus.com) + + * configure.in: handle m680[01234]0 as aliases for m68k + +Tue May 26 16:50:59 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-a29k.c: do byte relocs correctly + * coffcode.h (styp_to_sec_flags): never load INFO sections + * seclet.c (rel): don't relocate INFO sections + +Wed May 20 08:18:18 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * section.c (bfd_*_symbol, bfd_*_section): Initialize statically. + Make the symbols unmodifiable. + (bfd_section_init): Deleted. + * init.c (bfd_init): Don't call bfd_section_init. + + * section.c (bfd_set_section_contents): Ensure that range to be + written is within section boundaries. + (bfd_get_section_contents): Likewise. Don't bother dispatching if + size is zero. + + * libbfd.c (bfd_xmalloc): Text of error message should be const. + + * coff-i960.c (howto_table): Deleted. + (howto_rellong, howto_iprmed, howto_optcall): New vars; + interesting entries from old howto_table. + (RTYPE2HOWTO): Adjusted to use switch. + (coff_i960_reloc_type_lookup): New function. + + * coffcode.h (coff_new_section_hook): Allocate storage for aux + records for section symbol. + (make_abs_section): Unused; deleted. + (renumber_symbols): Re-order symbols so undefined symbols come + last, as COFF format desires. + (coff_write_symbol): Put C_FILE symbols in debug section always. + (coff_section_symbol): New function; creates a symbol with the + same name as a section, and sets up aux records for it. + (coff_add_missing_symbols): New function; adds section symbols to + symbol table if they aren't there already. Should someday also + add a dummy C_FILE symbol if none is present. + (coff_write_object_contents): Add missing symbols before preparing + symbol table to be written. + (coff_slurp_reloc_table): Verify that symbol indices read in are + in a reasonable range. + * libcoff-in.h (struct coff_tdata): New field conv_table_size. + (obj_conv_table_size): Accessor macro. + + * bout.c (b_out_reloc_type_lookup): New function. Handles three + reloc types on i960. + + * bfd-in.h (bfd_get_section_name): New macro. Like + bfd_section_name, but returns rvalue, not lvalue. + (bfd_get_section_vma, bfd_get_section_alignment): Similar. + (bfd_get_section_flags): Now returns rvalue. + + * reloc.c (enum bfd_reloc_code_real): Add several new values, some + general, some specific to sparc or i960. + + * aoutx.h (set_section_contents): Set VMA for each section based + on previous section. If text section VMA doesn't appear to have + been set, make a best guess from the type of file. + + * aout-target.h (MY_reloc_howto_type_lookup): Define as zero if + not defined. + (MY(vec)): Initialize reloc_type_lookup field. + + * aoutx.h (howto_table_*): Export as aout_#_*_howto_table. + (bfd_error_trap, bfd_error_vector): Extern, not common. + + * aoutf1.h (sunos4_reloc_type_lookup): New function. Handles a + few types of relocs for sparc; will need enhancement. + + * bout.c (callj_callback): Use DEFUN macro in definition. + * coff-i960.c (optcall_callback): Likewise. + + * targets.c (bfd_target): Added fields reloc_type_lookup and + _bfd_make_debug_symbol. Also minor comment changes. + * syms.c (bfd_make_debug_symbol): New dispatching macro. + * reloc.c (bfd_reloc_type_lookup): Take a BFD ptr as arg rather + than arch info, and dispatch with BFD_SEND. Callers changed. + * archures.c (struct bfd_arch_info): Deleted field + reloc_type_lookup. + * cpu-*.c: Don't initialize that field. + + * bfd-in.h (enum bfd_error): Add new value "bad_value". + * bfd.c (bfd_errmsgs): Now const; added entry for bad_value. + (bfd_errmsg): Now returns ptr to const. + * bfd-in.h (bfd_errmsg): Fix prototype. + + * cache.c (BFD_CACHE_MAX_OPEN): Fix typo in doc. + * reloc.c (bfd_generic_relax_section): Ditto. + + * section.c (Section Output doc): Improve description of use of + output_section and output_offset. + +Tue May 19 23:42:10 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * sco-core.c: new file from net. + * aoutx.h (translate_to_native_sym_flags): bugfix from net: + Now we have the hairy linker, it's possible to move symbols from + one section into another. Actually make that work! + +Sat May 16 17:57:59 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * hosts/sun3.h: fix declaration of free. + +Tue May 12 14:08:59 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-a29k.c (perform_reloc): fix bug in jmp/call evaluation + * coff-h8300.c (reloc_processing): all relocs are relative to + section start. + * opncls.c: don't use fdopen on DOS systems + + short patches from Glenn Kasten (glenn@ready.com) + * target.c: enabled oasys support + * oasys.c: Insert . when UNDERSCORE_HACK is enabled, + fix problem where a relocation which crossed a modification byte + boundary did not work. Fix problem where a relocation near the end + of a data record did not work. + + +Tue May 5 18:11:25 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * archive.c (bfd_slurp_coff_armap): old versions of BFD wrote + archvie header string counts the endian way, this heuristic sees + how big an archive string to read by trying it one way and if the + string table is unreasonably big, trying it the other. *FIXME*. + * opncls.c (bfd_fdopenr): can't do fdopens on VMS + +Tue May 5 14:18:24 1992 Per Bothner (bothner@rtl.cygnus.com) + + * bfd-in.h: Increase version number to 1.97, for consistency + with ../binutils. + * Makefile.in: docdir is ./doc, not ${srcdir}/doc. + +Mon May 4 11:49:15 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd-in.h: bump version to 1.96 + Major change; changed calling convention for + bfd_get_relocated_section_contents so that caller allocates + memory for section data. + * coffcode.h (bfd_coff_get_relocated_section_contents), reloc.c, + seclet.c, targets.c, bfd.c: reflect new convention. + * coffcode.h (styp_to_sec_flags): if styp_flags is not a special + case, then use reasonable default values for SEC_* flags. + +Fri May 1 12:58:34 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coffcode.h (coff_write_object_contents): use RELSZ to work out + size of output reloc struct. + * targets.c, Makefile.in: comment out tekhex for the moment. + * ieee.c: if some places where null pointers were used instead of &bfd_abs_section. + * configure.in: tandem target is st2000 + * coff-m68k.c: rename static howto_table to global + m68kcoff_howto_table. + * bout.c: remove unnecessary abort + * coff-a29k.c: various changes to the way relocations work to cope + with the "new order" and latent bugs. + * coffcode.h: lint + +Wed Apr 29 12:37:07 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * aoutx.h (aout_swap_ext_reloc_out, aout_swap_std_reloc_out) + bout.c (b_out_squirt_out_relocs): treat abs sumbols the right way. + * reloc.c (bfd_perform-relocation): don't relocate refs to + absolute symbols if doing a partial link. + +Fri Apr 24 07:35:26 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Add a29k-amd-udi. + +Thu Apr 23 18:37:55 1992 Fred Fish (fnf@cygnus.com) + + * aoutx.h (aout_<bits>_swap_exec_header_in): Zero out the + internal_exec structure before initializing the fields that + are used, so that the unused fields are in a known state. + +Wed Apr 22 09:36:08 1992 Fred Fish (fnf@cygnus.com) + + * tekhex.c (struct data_struct): Convert from typedef that + typedefs nothing to a normal structure declaration. + * tekhex.c (pass_over): Prototype args for function that + second arg points to. + +Mon Apr 20 22:22:51 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: remove old style staging. Do not print recursion + lines. + + * Makefile.in: rework CFLAGS so that CFLAGS can be passed from the + Makefile command line. Remove MINUS_G. Default CFLAGS to -g. + Pass CFLAGS. + +Fri Apr 17 09:15:31 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd.c, Makefile.in: added tekhex + * aoutx.h (set_section_contents): pages should be padded to the + size of a page, not the size of a segment. + * configure.in: added go32 host and i386-aout target. + * i386aout.c, libaout.h: now works for go32 target + * ieee.c: fix bit rot. + * seclet.c: support for padding seclet type. + +Wed Apr 15 18:11:58 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: added .NOEXPORT: + +Tue Apr 14 14:34:42 1992 Fred Fish (fnf@cygnus.com) + + * elf.c (bfd_add_strtab, bfd_add_2_to_strtab): CONST spreads + like ooze. + * elf.c (elf_compute_section_file_positions, + elf_write_object_contents): Return boolean, not NULL (which + can be void *). + * elf.c (bfd_section_from_shdr): Ifdef-out debugging code. + Also ifdef-out code that aborts on unhandled section types. + +Fri Apr 10 22:29:18 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Recognize ncr3000 config + * Makefile.in (MINUS_G): Pass on to recursive makes. + * hosts/ncr3000.h, config/ncr3000.mh: Add host config files. + +Thu Apr 2 17:42:45 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Now that we have sym.h and symconst.h, compile + coff-msym.c on all systems. + * config/{decstation.mh, irix3.mh, irix4.mh}: Remove coff-msym.o dep. + * coff-msym.c: Update include files and comments; add weakext bit. + +Wed Apr 1 23:16:38 1992 John Gilmore (gnu at cygnus.com) + + * archive.c, bfd.c, bout.c, coffcode.h, init.c, reloc.c, + section.c, srec.c, syms.c, coff-h8300.c: Lint. + +Sun Mar 29 09:37:59 1992 John Gilmore (gnu at cygnus.com) + + * bout.c, coff-a29k.c, coff-i960.c: Lint. + * configure.in: Add new host and target configs. + * elf.c (bfd_prstatus, bfd_fpregset): Avoid typename of register + structs, which vary; just use member name. + (elf_object_p, elf_core_file_p): Lint, fix comments. + * config/sparc-elf.mt, hosts/sysv4.h: New config files. + +Sat Mar 28 13:07:02 1992 Fred Fish (fnf@cygnus.com) + + * elf.c (elf_object_p, elf_core_file_p): Fix to use only a single + local, disposable, copy of the external form of section header + table and program header table entries. + +Thu Mar 26 16:59:58 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Set MINIMIZE back to 0 for a real release. + +Tue Mar 24 15:57:03 1992 K. Richard Pixley (rich@cygnus.com) + + * configure.in: config/irix4.m[ht], hosts/irix4.h: add support for + irix4. + +Mon Mar 23 22:37:34 1992 Stu Grossman (grossman at cygnus.com) + + * coff-msym.c (ecoff_swap_rfd_in): remove & for array ref. + +Tue Mar 17 14:12:25 1992 Per Bothner (bothner@rtl.cygnus.com) + + * bout.c (b_out_slurp_reloc_table): Use BFD_ASSERT macro, + not internal bfd_assert function (twice). + +Tue Mar 17 10:45:12 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * aout-target.h: change ar_max_namelen to 15 (the right value) + * coff-a29k, coffcode.h: more hangovers from the bfd_abs_section + change + +Mon Mar 16 14:57:22 1992 Steve Chamberlain (sac@rtl.cygnus.com) + + * archive.c (bfd_generic_archive_p): check for bout archives too. + * bout.c: make it work again. + +Sat Mar 14 17:30:40 1992 Fred Fish (fnf@cygnus.com) + + * elf.c (elf_corefile_note): Call bfd_xmalloc() instead of bare + malloc(). + * reloc.c (bfd_generic_get_relocated_section_contents): Call + bfd_xmalloc() instead of bare malloc(). + +Fri Mar 13 15:44:37 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: pass down MAKEINFO on info. + +Fri Mar 13 07:41:13 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/mt-<foo> now <foo>.mt, config/mh-<foo> now <foo>.mh. + host/h-<foo> now just <foo>. + * configure.in: reflect changes + +Thu Mar 12 11:15:02 1992 Per Bothner (bothner@cygnus.com) + + * libbfd-in.h (set_tdata): Make change of Feb 27 in the + actual source file, not just the generated libbfd.h. + +Sat Mar 7 10:33:41 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-i960.c (icoff_little_vec): add COFF_SWAP_TABLE so we can run + gdb on little-endian 960 code. + * archive.c (compute_and_write_armap): indirect symbols should go + into the archive header too. + +Fri Mar 6 21:55:16 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added check target. + +Thu Mar 5 23:51:42 1992 John Gilmore (gnu at cygnus.com) + + * coff-msym.c: Move this file from gdb/ecoff.c. It + handles byte-swapping for ECOFF (MIPS symbol) files. + * config/mh-decstation, config/mh-irix3: Add coff-msym.o + to the files built on MIPS-based hosts. + * Makefile.in: Add rule for coff-msym. + +Thu Mar 5 21:36:05 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added clean-info target. MINIMIZE=1. + +Sun Mar 1 22:32:58 1992 Per Bothner (bothner@cygnus.com) + + * coff-rs6000.c: Move core file functions into separate + new file rs6000-core.c. This is needed because reading + core files depends on native include files that conflict + with ../include/coff/rs6000.h. + * config/mh-rs6000: Add rs6000-core.o to HDEPFILES. + +Thu Feb 27 22:19:55 1992 Per Bothner (bothner@cygnus.com) + + * aoutx.h (NAME(aout,print_symbol)): Don't print + symbol addresss for undefined symbols. + * coff-rs6000.c: Various updates (due to target- + independent changes). + * libbfd.h: Ditto (tdata field is now a union). + * hosts/h-sparc.h: Removed prototype for bogus function + 'emset' (presumably should have been 'memset' - which is there). + +Thu Feb 27 11:46:33 1992 John Gilmore (gnu at cygnus.com) + + * configure.in (mips-big-* target): Same is Iris. + +Thu Feb 27 09:24:56 1992 Steve Chamberlain (sac at thepub.cygnus.com) + + * aoutx.h (translate_from_native_sym_flags): when creating an + alias symbol, fill in the section as undefined, rather than + leaving it blank. If an output section can't be found for a + symbol, then don't core dump. + +Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + +Wed Feb 26 19:40:59 1992 Steve Chamberlain (sac at thepub.cygnus.com) + + * bfd.c: lint + * coff-h8300.c: fix stupid reloc subtraction bug + * coffcode.h (coff_swap_aux_out): only swap a tvndx by 2 bytes, + since that's how wide it is. (coff_slurp_symbol_table): always zero out + the symbol.flags and done_lineno fields. + +Tue Feb 25 14:29:24 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h (coff_write_symbol): write out the correct number of + auxents. + * cpu-h8300.c: fix disassembly bug + +Fri Feb 21 21:39:56 1992 John Gilmore (gnu at cygnus.com) + + * bfd-in.h (bfd_errmsg), coffcode.h (coff_swap_aux_in, + section_from_bfd_index), cpu-h8300.c (howto*_callback), + reloc.c, section.c (bfd_map_over_sections), targets.c + (bfd_target_list): Protolint. + * libbfd.h: Update to match a libbfd-in.h from a month ago. + +Fri Feb 21 10:57:54 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h (coff_swap_aux_in): lint, (coff_print_symbol): prints + out tagndx too. + * aoutx.h (swap_std_reloc_out, swap_ext_reloc_out): use the output + section of a symbol rather than the section of a reffed symbol to + determine the r_index of an emmitted reloc. + +Thu Feb 20 18:10:34 1992 Per Bothner (bothner at cygnus.com) + + * PORTING: New (preliminary) porting guide. + +Wed Feb 19 21:39:37 1992 John Gilmore (gnu at cygnus.com) + + * bout.c (callj_callback), coff-a29k.c (a29k_reloc), coff-m88k.c + (howto_hvrt16): lint. + +Mon Feb 17 12:02:17 1992 Per Bothner (bothner at cygnus.com) + + * hp300bsd.c (new), config/mt-hp300bsd: Make hp300bsd + a full configuration (with possible cross-development), + instead of using host-aout.c. + +Sun Feb 16 13:01:49 1992 Per Bothner (bothner at cygnus.com) + + * aout-target.h (MY(write_object_contents): + Set obj_reloc_entry_size (abfd). + * gen-aout.c: Change to emit a .c files, not a .h file. + +Thu Feb 13 20:11:47 1992 Fred Fish (fnf at cygnus.com) + + * elf.c (elf_slurp_symbol_table): Remove obsolete use of + BSF_ABSOLUTE and replace with bfd_abs_section reference. + +Thu Feb 13 17:22:44 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h (get_normalized_symtab): fixed bug where symbols + with more than one auxent can cause nasty core dumps. + + * coffcode.h, libcoff.c: added new fielded to coff_symbol_struct + "done_lineno" so that a symbol which appears twice in the symbol + table only gets it's linenumbers relocated once. Modifed + (coff_write_native_symbol) and (coff_make_empty_symbol) to make + use of it. + +Tue Feb 4 15:39:55 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * aoutx.h: (translate_from_native_sym_flags): fix constructor + stuff to use the New Order. + +Fri Jan 31 01:34:45 1992 Stu Grossman (grossman at cygnus.com) + + * ieee.c: Change type of envi[] to unsigned char. + + * configure.in: fix vax ultrix configuration. + + * elf.c (bfd_section_from_shdr): Deal with null return from + bfd_make_section(). (elf_object_p): Select endianess properly. + +Fri Jan 31 01:19:55 1992 John Gilmore (gnu at cygnus.com) + + * hosts/h-tahoe.h, h-vaxbsd.h: Fix stack in core files. + +Thu Jan 30 23:51:07 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: host-aout.c doesn't depend on aout-params.h. + * aout-target.h: Use TARGET_BIG_ENDIAN_P to set up vector. + * host-aout.c: Don't use aout-params.h; configure these systems + in their xm files, not in a randomly generated file. + * hosts/h-hp300bsd.h, h-tahoe.h, h-vaxbsd.h, h-vaxult.h: + Specify byte order. + * hosts/h-vaxbsd.h: Define the form of exec and core files. + +Thu Jan 30 13:02:41 1992 Per Bothner (bothner at cygnus.com) + + * config/mt-tahoe, config/mt-vax: Change DEFAULT_VECTOR to + host_aout_vec here as well. + +Thu Jan 30 11:41:45 1992 Stu Grossman (grossman at cygnus.com) + + * host-aout.c: Change TARGETNAME to "a.out" to be compatible with + gdb. config/mt-hp300bsd: Change DEFAULT_VECTOR to host_aout_vec + to prevent undefined symbol. + +Thu Jan 30 07:26:53 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + Various lints found on PersSony + * aoutx.h: cast an enum + * coff-a29k.c: many ints in reloc structure turned to enum + * coffcode.h: more enums + * cpu-h8300.c: more enums + * opncls.c: more enums + +Thu Jan 30 01:19:56 1992 John Gilmore (gnu at cygnus.com) + + * configure.in: Make Tahoe configuration work again. + * bfd-in.h: Remove trailing comma from enum declaration. + * ieee.c: Can't put byte values >0x7F into a signed char. + +Tue Jan 28 21:10:51 1992 Fred Fish (fnf at cygnus.com) + + * Makefile.in: Add dependencies for various coff-*.o files. + + * elf.c: Remove extraneous paren from core_prpsinfo and + core_prpstatus macros, rename core_prpstatus to core_prstatus. + Replace references to old section "size" member with new + "_raw_size" member. Implement elf_make_empty_symbol, which + is now used. + +Tue Jan 28 14:51:40 1992 Stu Grossman (grossman at cygnus.com) + + * trad-core.c, bfd.c, ../include/bfd.h: Various fixes for PMAX + core reading. + +Tue Jan 28 10:46:32 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h (bfd_coff_relax_section): now static. + (bfd_coff_get_relocated_section_contents): various type lints. + +Mon Jan 27 19:44:08 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + New entry point in the transfer vector - bfd_relax_section. + + * aout-target.h: add to vector, call generic_relax + * bfd-in.h: add to vector + * bfd.c: add #define for vector + * bout.c: add to vector, call generic_relax + * coffcode.h: add to vector, also now has coff specific relax code + for the relaxable H8/300 relocs. Also clean up abs section cruft. + * elf.c: call generic_relax + * ieee.c: call new vector, clean up some bugs due to the creation + of bfd_abs_section + * libbfd.h: add bfd_generic_relax_section EXFUN + * oasys.c: call generic_relax + * reloc.c: implement generic_relax + * seclet.c: moved much of this into coffcode.h + * srec.c: call generic_relax + * targets.c: define new transfer vector + +Fri Jan 24 14:40:17 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * everything: now modified to use smaller reloc type. Self hosts + on sun3 & sun4. + +Sat Jan 18 17:00:16 1992 Fred Fish (fnf at cygnus.com) + + * config/mh-stratus, config/mt-i860-elf, hosts/h-stratus: + New files for stratus. + + * configure.in: Add configuration fragments for stratus. + +Wed Jan 15 10:02:43 1992 Fred Fish (fnf at cygnus.com) + + * aoutx.h (NAME(aout,find_nearest_line)): Declare various filename + variables as CONST since they are set to point to a const char + string. Fixes compiler complaints. + +Fri Jan 10 17:44:53 1992 Fred Fish (fnf at cygnus.com) + + * hosts/h-amix.h hosts/h-i386v4.h: Change abort() to a function + returning void. + +Fri Jan 10 14:33:32 1992 Per Bothner (bothner at cygnus.com) + + * aoutx.h (NAME(aout,find_nearest_line)): Recognize N_SOL + symbols, so that we can emit the correct file name even + if it's an include file. + +Thu Jan 2 16:43:34 1992 John Gilmore (gnu at cygnus.com) + + * coff-i960.c: Add COFF_SWAP_TABLE to little_vec as well as big_vec. + (Reported by john@labtam.labtam.oz.au (John Carey)). + +Wed Jan 1 04:23:06 1992 Fred Fish (fnf at cygnus.com) + + * elf.c: Change all '#if HAVE_PROCFS' to '#ifdef HAVE_PROCFS'. + + * config/mh-amix, config/mh-i386v4: Remove HDEFINES that was + being used to -DHAVE_PROCFS. + + * hosts/h-amix, hosts/h-i386v4: Add '#define HAVE_PROCFS'. Move + '#include "fopen-same.h"' to end of file to match other h-* files. + +Fri Dec 20 12:06:17 1991 Fred Fish (fnf at cygnus.com) + + * configure.in: Change svr4 references to sysv4. Add case + "unknown" for target vendor and infer some targets based + on the specified operating system. + +Wed Dec 18 17:17:59 1991 Stu Grossman (grossman at cygnus.com) + + * bfd-in.h, libaout.h: ANSIfy enums. + +Wed Dec 18 16:12:25 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * archive.c (normalize): created version for VMS which removes the + VMS directory crap from the front and end of a filename, eg turn + [-.foo]bar.obj;123 into bar.obj + (bfd_construct_extended_name_table): now writes index into an + extended name table in decimal - the same base used to read an + extended name table. + +Wed Dec 18 14:40:39 1991 Per Bothner (bothner at cygnus.com) + + * aout-encap.c: Fix to use aout-target.h. + * aoutf1.h: Use standard MY_object_p and MY_callback + in aout-target.h. Remove target-specific versions. + * host-aout.c: Re-write to use aout-target.h. + * gen-aout.c: New files use with host-aout.c to generate + host-specific a.out-related parameters. + * Makefile.in: host-aout.o depends on aout-params.h, which is + generated by gen-aout. + * aout-target.h: Make a little more flexible. + * libaout.h, aout-target.h: Removed WORK_OUT_FILE_POSTIONS + macro. Instead, inline it in aout-target.h. + * newsos3.c: Define N_SHARED_LIB(x) as 0 to avoid + a gcc -Wall warning. + * archive.c: Add missing commas in DEFUN macro (2 places). + * elf.c, coffcode.h, aoutf1.h: Use ANSI functions instead of + Berkeley ones, now that libiberty has them: + bcopy->memcpy, bzero->memset, bcmp->memcmp. + * aoutx.h: Various touch-ups: Re-formatting, fix a cast, + remove unused variable. + +Tue Dec 17 19:48:59 1991 Fred Fish (fnf at cygnus.com) + + * elf.c (elf_core_file_matches_executable_p): Enclose corename + and execname inside HAVE_PROCFS ifdef since they are unused + when it is not defined. + +Mon Dec 16 12:00:10 1991 Fred Fish (fnf at cygnus.com) + + * elf.c: Flag all sections as either code or data. We can't + be sure what they are anyway, since ELF doesn't fit the + traditional model of text+data+bss very well. Add new local + function elf_read() to simplify code. Record entry point in + the bfd structure. + +Thu Dec 12 21:01:22 1991 John Gilmore (gnu at cygnus.com) + + * hosts/h-*.h: Configure fopen using ../include/fopen-*.h + rather than N copies of the same lines. + +Wed Dec 11 16:39:45 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * cpu-h8300.c: disassemble branch displacements correctly + * coff-h8300.c: put reloc offsets out in 32bits + + * makefile.dos, configdj.bat: New files from DJ + * cache.c: fopen with new macros is needed for DOS. + * ieee.c: environ renamed to envi to stop an include file + conflict. + * opncls.c, coff-rs6000.c: more fopens with macros. + +Tue Dec 10 04:07:24 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: infodir belongs in datadir. + +Sat Dec 7 16:39:23 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * Makefile.in: fix where docdir lives + + * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coff-m88k.c, + coffcode.h, core.c, ctor.c, elf.c, format.c, ieee.c, init.c, + libbfd.c, libbfd.h, libcoff.h, opncls.c, reloc.c, section.c, + srec.c, syms.c, targets.c : all new documentation and lint + removal. + + +Sat Dec 7 07:22:09 1991 John Gilmore (gnu at cygnus.com) + + * coffcode.h, srec.c: Lint. + +Fri Dec 6 22:58:48 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: install using INSTALL_DATA, added standards.text + support. + + * configure.in: mark directory as target dependent. configure + nows works in objdir always so make file existence checks + against ${srcdir}. + +Thu Dec 5 22:46:19 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: idestdir and ddestdir go away. Added copyrights + and shift gpl to v2. Added ChangeLog if it didn't exist. docdir + and mandir now keyed off datadir by default. + +Wed Dec 4 10:14:17 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * aoutf1.h (sunos_<size>_object_p, sunos4_callback): moved the + computation of arch and machine type so it's worked out before + some_aout_object_p is called. + * aoutx.h: (some_aout_object_p): don't set arch and mach to + unknown. + * archures.c: add extra field 'section_align_power' to hold + default section alignment in object files. + * cpu-a29k.c, cpu-h8300.c, cpu-i386.c, cpu-i960.c, cpu-m68k.c, + cpu-m88k.c, cpu-mips.c, cpu-rs6000.c, cpu-sparc.c, cpu-vax.c: + initialize the new field. + * bout.c (b_out_callback): replace the text size, since aout + fries them. + * aoutx.h: Documentation in the new style + +Wed Dec 4 02:00:30 1991 John Gilmore (gnu at cygnus.com) + + * bfd.c (bfd_get_mtime): Don't cache mtime any more; only + use the saved value if mtime_set is already set (intended + for archive files, though apparently not used yet). + +Tue Dec 3 22:54:50 1991 John Gilmore (gnu at cygnus.com) + + * targets.c: Revise comments about how to configure the target + vector, to match reality. Remove mention of obsolete methods. + Remove long lists of capitalized macros that turn into the same + thing in lowercase. Normal vector simply lists all known + lowercase xvec names; all other cases are handled by SELECT_VECS. + + * config/mt-i386-coff: Set DEFAULT_VECTOR to real identifier, + not macro name. + + * config/mt-i960-{coff,bout}: Use SELECT_VECS to make a short + list of supported targets. + +Tue Dec 3 14:06:15 1991 Per Bothner (bothner at cygnus.com) + + * archive.c (bsd_write_armap): The pad byte sometimes added to + the string table in a __.SYMDEF member is now + counted as part of the size of the string table. + This is compatible with the old ranlib, as well as Sun's. + +Tue Dec 3 10:53:30 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * srec.c: Rewrote to fix many bugs; now gets the record type + right, doesn't choke on input, sets the start address in an S9 and + fills in the filename on an S0. + +Sat Nov 30 21:19:15 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * cpu-h8300.c: Add support for MEMIND addressing mode + + * coff-a29k.c: defined RELOC_PROCESSING to take the #ifdef out of + coffcode.h + * coffcode.h: use the new macro if available + + * elf.c (elf_corefile_note): cast malloc to avoid warning. + * Makefile.in: Fixed dependencies due to file rename + + * aout-encap.c, aoutf1.h, aoutx.h, archive.c, bout.c, coff-a29k.c, + coff-h8300.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c, + coff-mips.c, coff-rs6000.c, cpu-h300.c, elf.c, i386aout.c, + newos3.c, stab-syms.c, syms.c: All these files have had their + #includes altered to point to the new places. + +Fri Nov 29 20:04:49 1991 Fred Fish (fnf at cygnus.com) + + * config/mh-i386v4, config/mh-i386-elf, hosts/h-i386v4.h: New files. + + * configure.in: Add vendor "ncr" as supported per-target vendor. + Add svr4 case for i386 per-host case. + + * elf.c (elf_object_p, elf_core_file_p): Add missing "break" to + ELFDATA2LSB cases. + +Fri Nov 29 12:16:51 1991 Per Bothner (bothner at cygnus.com) + + * syms.c (bfd_decode_symclass): Return 'A' + for symbols that are both absolute and global. + * archive.c (bfd_special_undocumented_glue): Return NULL + if bfd_ar_hdr_from_filesystem returns NULL. + +Tue Nov 26 09:10:55 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in: added coff-h8300 + * configure.in: now h8 is a coff target + * cpu-h8300.c: fix various disassembly problems + * libcoff.h: took out some code which has been #0ed for a long + time. + * targets.c: added h8 coff + * coff-a29k.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c + added new macro RTYPE2HOWTO to take a load of #ifdefs out of + coffcode.h + * coffcode.h: Started to change the way machine dependencies are + handled, from the nest of #ifdefs to macros defined in the + including coff-<foo>.c + +Fri Nov 22 08:11:42 1991 John Gilmore (gnu at cygnus.com) + + * aoutx.h (some_aout_object_p): Set the `executable' bit + if the entry point is contained in the text segment, even if the + text segment is at location 0. + + * coff-mips.c, coffcode.h: Peter Schauer's patch to kludge in + nonstandard MIPS sections (.rdata, .sdata, etc). + + * aoutx.h, bfd.c, coffcode.h, ieee.c, oasys.c, targets.c: CONST lint. + * libbfd-in.h, libbfd.h, aoutx.h, coffcode.h, elf.c, libaout.h: + Rename ALIGN to BFD_ALIGN to avoid conflict with BSD <sys/param.h>. + * libbfd.c: Lint. + * host-aout.c, trad-core.c: Fix write_armap prototypes. Lint. + +Thu Nov 21 19:56:40 1991 Per Bothner (bothner at cygnus.com) + + * stab-syms.c, syms.c: Moved bfd_stab_name() and bfd_stab_names[] + from syms.c to new file stab-syms.c. Also, since GNU extended + type codes such as N_SETT are no longer in ../include/stab.def, + include them manually. + * stab-syms.c, aoutx.h: Renamed bfd_stab_name() and + bfd_stab_names[] to aout_stab_name() and aout_stab_names[]. + * libaout.h: Added prototype for aout_stab_name(). + * Makefile.in: Update Makefile for new stab-syms.[co]. + +Thu Nov 21 11:50:49 1991 John Gilmore (gnu at cygnus.com) + + * libaout.h (WORK_OUT_FILE_POSITIONS): One more try at this + rather complicated seeming problem. Eliminate LOGICAL_ versions, + just make N_XXX work by excluding the header from the text segment. + * aoutx.h: Fix comments to match. + +Tue Nov 19 18:49:01 1991 Per Bothner (bothner at cygnus.com) + + * libaout.h (WORK_OUT_FILE_POSITIONS): Use new LOGICAL_TXTADDR, + LOGICAL_TXTOFF, LOGICAL_TXTSIZE macros to figure out numbers + for the "logical" text segment (i.e. never consider the exec + header to be part of the text segment). This change is + needed for consistency with various other parts of bfd and ld. + * aoutx.h (NAME(aout,soe_aout_object_p)): Fix comment, + and move calculation of obj_textsec(abfd)->size to libaout.h. + * bfd-in.h: Removed bogus ';'. + + * Makefile.in: Add MINIMIZE flag to select lean + or bloated target_vector. + * targets.c: Use new MINIMIZE macro, and add trad_core if needed. + * newsos3.c: Fixes to ../include/aout64.h remove need + for special N_TXTOFF macro, but require N_HEADER_IN_TEXT. + +Mon Nov 18 12:00:59 1991 Per Bothner (bothner at cygnus.com) + + * aout-target.h, aoutf1.h, newsos3.c: Make aout-target.h + handle both little and big-endian targets, with little + the default unless TARGET_IS_BIG_ENDIAN_P is defined. + * host-aout.c: Add FIXME note. + +Sun Nov 17 13:29:39 1991 Per Bothner (bothner at cygnus.com) + + * targets.c: Make the default target_vector contain + just &DEFAULT_VECTOR. This makes executables a lot smaller. + Old behavior can be gotten by defining ALL_TARGETS. + * aoutf1.h, demo64.c, i386aout.c, newsos3.c, sunos.c: + Factored out common code into new file aout-target.h. + Saves a lot of duplicate code for a.out variants. + +Fri Nov 15 13:00:43 1991 Per Bothner (bothner at cygnus.com) + + Get 'make headers' to work when configured with +subdirs. + * Makefile.in: Add $(subdir) to docdir path. + * doc/Makefile.in (protos): Add $(srcdir) prefix + to name of sed scripts. + +Thu Nov 14 19:49:10 1991 Per Bothner (bothner at cygnus.com) + + * aoutx.h (NAME(aout,print_symbol)): Fix thinko. + * syms.c (bfd_stab_names): Turn on new GNU_EXTRA_STABS macro + to include names of N_SETT etc. + +Thu Nov 14 19:11:13 1991 Fred Fish (fnf at cygnus.com) + + * elf.c: Add minimal support for ELF symbol tables. Generates + canonical bfd symbol tables from ELF symbol tables. Change the + name of some functions from bfd_<name> to elf_<name>. + + * syms.c: Trivial fix to comment to remove a redundant "to". + +Wed Nov 13 17:02:01 1991 John Gilmore (gnu at cygnus.com) + + * coff-{i386,m68k,m88k}.c: Change name of file format to standard + form that GDB recognizes as COFF. + +Wed Nov 13 09:09:41 1991 Steve Chamberlain (sac at cygnus.com) + + * ieee.c (ieee_object_p): cast NULL correctly. + * configure.in: added harris host + + * coff-a29k.c: Lots of changes, most from David Wood. + +Tue Nov 12 07:21:41 1991 John Gilmore (gnu at cygnus.com) + + * coff-m88k.c (coff_write_armap): Just #undef it. + +Mon Nov 11 20:30:18 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in: standardize on MINUS_G to disable debugging + * coff-m88k.c: create coff armaps instead of bsd ones. + * opncls.c (bfd_close_all_done), (bfd_close): Mask out random bits + when calling chmod. + +Mon Nov 11 19:07:32 1991 Fred Fish (fnf at cygnus.com) + + * elf.c: Additions to support ELF format core files. + * config/mh-amix: Add -DHAVE_PROCFS to HDEFINES, since host + has support for /proc (all the include files in particular). + +Mon Nov 11 18:36:47 1991 Per Bothner (bothner at cygnus.com) + + * aoutx.h (NAME(aout,find_nearest_line)): Handle the case + of two N_SO stabs, one for directory, and one for filename. + + * bfd-in.h (print_vma): Factor out duplicate definition. + + Exit a little more gracefully when malloc returns NULL. + * libbfd.c: New function bfd_xmalloc (malloc wrapper). + * opncls.c, syms.c, bout.c, aoutx.h: Replace malloc by bfd_xmalloc. + * libbfd.h: Rre-generated due to libbfd.c update. + +Sat Nov 9 13:45:01 1991 Fred Fish (fnf at cygnus.com) + + * config/mt-m68k-elf: Define DEFAULT_VECTOR as elf_big_vec. + + * elf.c (elf_object_p): Don't try to create a bfd section for + the first ELF section header. It is just a placeholder. + +Sat Nov 9 03:04:26 1991 John Gilmore (gnu at cygnus.com) + + * coff-rs6000.c, config/mh-rs6000: Make it work on archive and + core files, when compiling native. + * hosts/h-rs6000.h: Define FASCIST_FDOPEN for bfd_fdopenr. + + FIXME: The aoutf1.h change below needs to be reversed back + to the way it was. + +Thu Nov 7 11:03:55 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h: Defined new macros [PUT|GET]LINENO_LNNO for + manipulation of lnno fields in lineno structs in a coff-<f>.h + independent way. Override it in coff-<f>.h to your favourite + number if you don't have a 16bit lnno field. (coff_swap_lineno_in) + (coff_swap_lineno_out): modified to use the new macros. + +Mon Nov 4 11:38:33 1991 Steve Chamberlain (sac at cygnus.com) + + * aoutf1.h (sunos4_callback): Now defaults to 68020 rather than + unknown arch when the magic number doesn't specify the + architecture, since some OSs (eg old sun3s) don't set the number, and + 020 is probably the right answer anyway. + +Sun Nov 3 12:07:08 1991 Per Bothner (bothner at cygnus.com) + + * hosts/h-news.h, hosts/h-rtbsd.h: + Get rid of MISSING_VFPRINTF, since libiberty provides one. + * bfd-in.h (bfd_print_symbol_type_hopw enum): Add new option + bfd_print_symbol_nm, for use by nm. + * aoutx.h (NAME(aout,print_symbol)): Add code for new + bfd_print_symbol_nm option, to print in nm format. + * coffcode.h (coff_print_symbol), ieee.c (ieee_print_symbol) + oasys.c (oasys_print_symbol): Provide stub implementations + for bfd_print_symbol_nm. + * syms.c: New function bfd_decode_symclass, used by nm printer. + New function bfd_stab_name to look up string name of stab code. + +Sat Nov 2 14:26:03 1991 Steve Chamberlain (steve at cygnus.com) + + * Makefile.in: Added ctor.c + * archures.c (bfd_default_arch_struct) added + bfd_default_reloc_type_lookup. + * coffcode.h: removed a load of #if 0ed code. + (coff_compute_file_section_positions): now works out the section + alignment and size correctly in all cases. + (coff_get_symtab): looks for constructor symbols and calls the + right function when they're found. (coff_canonicalize_reloc): + knows when a section is full of constructors and does the right + thing. + * cpu-m88k.c: Added default_reloc_type lookup to the architecture + description. + * libbfd-in.h: (bfd_default_reloc_type_lookup) defun added. + * libcoff.h: removed #if 0ed code + * reloc.c: (bfd_reloc_code_real_type) added BFD_RELOC_CTOR for + arch independent constructor relocation type. + (bfd_reloc_type_lookup): removed the comment "this will go away" + since it won't. (bfd_howto_32): stolen from 88k, this is a 32bit + reloc which is used when BFD_RELOC_CTOR falls through to give a + default 32bit reloc for constructors. + (bfd_default_reloc_type_lookup): added. + * aoutf1.h: fixed SEGMENT_SIZE typo. + +Thu Oct 31 18:23:06 1991 John Gilmore (gnu at cygnus.com) + + * coff-rs6000.c: Change name to "aixcoff-rs6000", to avoid + matching prefix "coff". + * coffcode.h (coff_swap_aux_in, coff_swap_aux_out): Handle + rs/6000 csect records. + +Sun Oct 27 16:56:58 1991 Steve Chamberlain (steve at cygnus.com) + + * coff-m88k.c, targets.c: change name of m88k_bcs to m88kbcs + * configure.in: add motorola delta88 cases + * libbfd.h, libbfd-in.h, archive.c, ieee.c, elf.c, srec.c: fix + write_armap prototype + * libbfd.c: add doc on bfd_write_bigendian_4byte_int + +Fri Oct 25 02:48:19 1991 John Gilmore (gnu at cygnus.com) + + * Rename COFF-related files in `coff-ARCH.c' form. + coff-a29k.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c, + coff-mips.c, coff-rs6000.c to be exact. + + * Makefile.in: Only supply TARGET_DEFAULTS to targets.c, reducing + make output clutter. + * config/mt-*: Ditto. + +Thu Oct 24 22:40:07 1991 John Gilmore (gnu at cygnus.com) + + RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and + John Gilmore. Archive support from Damon A. Permezel. + + * Makefile.in: Add cpu-rs6000.c and rs6000coff.c. + * configure.in: Add rs6000 case. + * targets.c: Add rs6000 vector. + * archures.c: Add rs6000, fix comment on romp. + * bfd-in.h (enum bfd_error): Add no_debug_section error. + * libcoff-in.h (struct coff_tdata): Remove unused string_table. + * bfd.c (bfd_errmsgs): Add no_debug_section error message. + * section.c (bfd_make_section): Return NULL on attempt to create + a section twice. + * coffcode.h (bfd_swap_reloc_in): Handle r_type and r_size. + (bfd_swap_aouthdr_in): Handle lots more members. + (make_a_section_from_file): If section has already been seen, + just return false rather than overwriting it. + (coff_real_object_p): Understand incoming magic numbers. + (coff_set_flags): Understand outgoing magic numbers. + (coff_compute_section_file_positions): outgoing aouthdr magic #. + (build_debug_section): Add fn for reading debug string section. + (get_normalized_symtab): Handle symbol names in debug string section. + Remove unused obj_string_table. + (coff_slurp_symbol_table): Handle rs6000-specific storage classes. + * aoutx.h (translate_from_native_sym_flags, N_SET*): Check for + existing section before making one. + * cpu-rs6000.c: New file. + * rs6000coff.c: New file. + +Thu Oct 24 02:03:24 1991 Fred Fish (fnf at cygnus.com) + + * elf.c: Add partial support for ELF format corefiles. Still needs + support for extracting registers from corefiles. + + * config/t-m68k-elf: Set DEFAULT_VECTOR to elf_big_vec. + + * config/{h-amix,h-dgux,h-irix3,h-ultra3}: For systems where + RANLIB is defined as echo, send the output to /dev/null to help + reduce clutter in the output from doing a make. + +Mon Oct 21 17:48:48 1991 John Gilmore (gnu at cygnus.com) + + * hosts/h-vaxult.h: Remove malloc/free decls covered in stdlib.h. + Fix HOST_PAGE_SIZE and HOST_SEGMENT_SIZE. From David Taylor. + +Mon Oct 21 09:34:11 1991 Steve Chamberlain (steve at rtl.cygnus.com) + + * coffcode.h (coff_compute_section_file_positions): make it pad + section size out if there are alignment restrictions so that the + image will be ok on a system where section positions are worked + out by accumulating sizes rather than from the section headers. + * targets.c (proto write_armap). Changed orl_count to unsigned. + * opncls.c (bfd_close_all_done). Added so that generative + programs like gas can close a bfd without causing bfd confusion. + * libbfd.h (changed becuase of protos) + * amdcoff.c: messed with the way that jmp displacements are + calcualated. This may not yet be totally correct. + * archive.c (coff_write_armap): rewrote the way that ranlibs are + written out. + * coffcode.h (fixup_symbol_value): now doesn't core dump if a non + abs symbol has no section (like a register symbol). + (coff_write_symbol) now zeros auxent before filling it up to help + with sensitive applications. + * libbfd.c (bfd_write_bigendian_4byte_int): added. + +Wed Oct 16 22:58:45 1991 John Gilmore (gnu at cygnus.com) + + * bfd.c: Make sure we don't get a macro strerror(). + * opncls.c (bfd_fdopenr): If FASCIST_FDOPEN, use "r", not "r+". + * trad-core.c (trad_unix_core_file_failing_command): Suppress + attempt to recover command, ifdef NO_CORE_COMMAND. + * hosts/h-tahoe.h: Add FASCIST_FDOPEN and NO_CORE_COMMAND; + revamp HOST_*, etc. + * hosts/h-i386v.h: Use <utime.h>, not <sys/utime.h>, unlike POSIX. + +Wed Oct 16 12:43:49 1991 Per Bothner (bothner at cygnus.com) + + * archive.c (bsd_write_argmap): The size of the ranlib structures + should not include the size field itself. + * aoutx.h, libaout.h (NAME(aout, sizeof_headers)): Use + adata(abfd)->exec_bytes_size field instead of constant macro, + because aoutx.h compiles to a simple .o file shared by + all 32-bits a.out targets. + +Wed Oct 16 11:11:05 1991 John Gilmore (gnu at cygnus.com) + + * configure.in: Allow i386-sco-sysv. + * bout.c: Remove unused i960_align; lint dummy core file handlers. + * cpu-h8300.c: lint. + + * host-aout.c: New strategy. We use common code, include files, + and data structures to handle the file, but set a few parameters + from the host's config file (page size, text start addr, etc). + * libaout.h: Define HP BSD machine types. + * aoutf1.h: Handle reading a.outs with these types. + + * trad-core.c: Pass the u.u_ar0 value as the negative of the + virtual-memory-address of the .reg section. We can't just make a + section for "all the regs and nothing else" because only GDB knows + exactly where the regs are (scattered around the upage and stack). + Clean up memory allocation. Remove big- and little-endian + vectors, replace with single vector; this only runs on the host, + in host byte order. Replace byteswap routines with aborts in case + anyone calls them. + * targets.c: There's only one trad_core_vec now. + * aoutf1.h (sunos_core_file_p): VMA of .reg* now needs to be 0. + +Tue Oct 15 08:29:03 1991 John Gilmore (gnu at cygnus.com) + + * hosts/h-amix.h (free): Fix prototype. + + * aoutx.h: Don't use NULL as an integer, for braindead systems + that declare it as (void *)0. (From Peter Schauer.) + +Mon Oct 14 17:20:47 1991 Per Bothner (bothner at cygnus.com) + + * opncls.c (bfd_fdopenr): Add parentheses to avoid reported + problem with bad Ultrix system headers. + * aoutx.h (NAME(aout,set_section_contents)): Try to handle the + various kinds of alignments for the various kinds of + magic numbers. + +Mon Oct 14 14:23:10 1991 John Gilmore (gnu at cygnus.com) + + * doc/Makefile: Don't assume . is on the path (from James Clark). + +Fri Oct 11 22:45:14 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Avoid Sun Make VPATH bugs. + * targets.c: Declare trad_core vectors extern. + +Fri Oct 11 13:03:02 1991 Per Bothner (bothner at cygnus.com) + + * coffcode.h: Moved ALIGN macro to libbfd.h. Removed i960_align. + * libbfd.h: Moved ALIGN macro here. + * bout.c (b_out_callback): Replace i960_align by align_power. + + * libaout.h (struct aoutdata): Added fields page_size, + segment_size and exec_bytes_size. These help generic code + (in aoutx.h and libaout.h) to figure out where to align + the various segments in a demand paged file. + * libaout.h (WRITE_HEADER): Use new (struct aoutdata) fields + to decide if the exec header counts in a_text (text segment size). + Also, assume D_PAGED flag is set; don't set it here. + * bout.c (b_out_callback): Add initialization of + adata fields page_size, segment_size, and exec_bytes_size. + * host-aout.c (NAME(host_aout, callback) and + NAME(host_aout,mkobject): Ditto. + * i386aout.c (aout386_callback) and new aout386_mkobject): Ditto. + * newos3.c (newsos3_callback) and new newsos_mkobject): Ditto. + * aoutf1.c (sunos4_callback) and new sunos_mkobject): Ditto. + * aoutx.h (NAME(aout,some_aout_object_p)): Don't subtract + EXEC_BYTES_SIZE from the a_test size; this is only appropriate + for some systems (mainly sunos), so do it in the callback instead. + Same routine: Add stuff to the THIS_IS_ONLY_DOCUMENTATION comment. + * aoutx.h (NAME(aout,set_section_contents): Change the way + filepos and size of sections are carried out to support + older styles of demand paged executables. + + +Fri Oct 11 12:33:36 1991 Steve Chamberlain (steve at cygnus.com) + + * bfd-in.h: Added more macros to COFF_SWAP_TABLE. + * bfd.c: Added macros to enable gas to swap coff records. + * coffcode.h: Make the coff_swap_*_out routines return the number + of bytes swapped, and cleaned up their prototypes. + * configure.in: Added ebmon/coff support + * ecoff.c: Changed null definitions of coff_swap_*_out to conform + to new prototypes + * targets.c: Added new entry points for coff swapping + +Fri Oct 11 03:01:52 1991 John Gilmore (gnu at cygnus.com) + + Restructure configuration scheme for bfd, binutils, ld. + + * include/sys/h-*.h: Move to bfd/hosts/h-*.h. + * configure.in: Revise to symlink sysdep.h to hosts/h-xxx.h. + Change some config names to match other dirs. + * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO() + get defined first. + * Makefile.in: Use -I. to get sysdep.h. Remove refs to + ../include/sysdep.h. + * cpu-i960.c: Strncmp needed a length arg. + * ecoff.c: Don't ever call trad_unix_core_file_p from here. + * i386aout.c: Remove dead N_TXTOFF override. + * trad-core.c: Don't disable the whole file if SUN4_SYS. + * config/: Rename some config files to match up h-*.h names. + Remove all the HOST_SYS definitions from the config files. + * hosts/h-amix.h, h-i386v.h: Define POSIX_UTIME, not USG. + * hosts/h-hp9000.h: Remove USG comment. + * hosts/h-rs6000.h: Include <stdlib.h> for malloc. + * hosts/h-news.h, h-sparc-64.h: New config files that had + previously been kludged in the <sysdep.h> file. + +Thu Oct 10 17:54:08 1991 John Gilmore (gnu at cygnus.com) + + * config/*: trad-core support is HOST dependent, not target + dependent. Target config files only set DEFAULT_VECTOR and/or + other vector elements. Exception: when host-aout.c is in use, + in which case we're forced to assume we're native (hp, vax, + tahoe). Rename XDEPFILES to HDEPFILES. + * Makefile.in: Rename XDEPFILES. + * config/h-sun*: Don't force static linking. + * trad-core.c: Document how to use it nowadays. + * i386aout.c, newsos3.c: Clean up. + * i386coff.c: Allow 386 coff files to be used as core files too + (for reading core files from embedded systems). + +Tue Oct 8 15:30:39 1991 John Gilmore (gnu at cygnus.com) + + * Add i386aout.c for a.out support on the i386. + +Tue Oct 8 12:18:54 1991 Roland H. Pesch (pesch at cygnus.com) + + * reloc.c, section.c, syms.c, targets.c: correct info-node + structure in *doc* comments. + doc/Makefile: stop hiding complaints from makeinfo. + +Sun Oct 6 19:10:06 1991 John Gilmore (gnu at cygnus.com) + + * aoutx.h (...some_aout_object_p): Take a third parameter, + the internal_exec struct, and avoid ever looking at an + external_exec. All callers changed to read the entire + external_exec struct, swap and check its magic number, + swap in the whole structure, and pass the swapped-in version to + some_aout_object_p. + * bout.c: Bring into modern era. Use single _object_p routine + for big- aand little-endian. Provide internal and external + exec header structs. Use separate swap-in and swap-out routines. + + * libaout.h: Move struct internal_exec from ../include/aout64.h + to here. Add obj_symbol_entry_size to struct aoutdata. + * aoutx.h (...some_aout_object_p): Set obj_symbol_entry_size. + + * ../include/aout64.h: Change EXTERNAL_LIST_SIZE to + EXTERNAL_NLIST_SIZE. Callers changed. + +Fri Oct 4 18:18:46 1991 John Gilmore (gnu at cygnus.com) + + * bfd.c: Remove strerror() to libiberty. + + * elf.c: Remove elf_set_section_contents, use generic one. Lint. + * libbfd-in.h, libbfd.c: Add bfd_generic_set_section_contents. + * libbfd.c (bfd_generic_{get,set}_section_contents): Check that + last byte of transfer, not first byte, is within the section. + + * host-aout.c: Remove `BSD' archive support. Lint. + + * archures.c: Rename `struct bfd_arch_info_struct' to `struct + bfd_arch_info'. Rename `typedef bfd_arch_info_struct_type' to + `bfd_arch_info_type'. All uses changed. + * reloc.c: Rename `bfd_reloc_status_enum_type' to + `bfd_reloc_status_type'. Rename `bfd_reloc_code_enum_real_type' + to `bfd_reloc_code_real_type'. (This seems to be a misnomer, + it needs a better name.) All uses changed. + * targets.c: Rename `enum target_flavour_enum' to `enum + target_flavour', and remove the `_enum' from all of the enum + values themselves. All uses changed. + + * configure.in, config/h-i386mach: i386 mach host. + * config/t-i386-aout: Use host-aout.c. + + * trad-core.c: Give it its own xvec's to make it independent + of other file formats. + * ecoff.c, host-aout.c: Remove refs to trad-core. + * config/t-dec3100, t-hp300bsd, t-tahoe, t-vax: Define TRAD_CORE. + * targets.c: #ifdef TRAD_CORE, include it in the vector. + +Fri Oct 4 17:38:03 1991 Steve Chamberlain (steve at cygnus.com) + + * reloc.c: Extended NEWHOWTO macro + * ieee.c: Changed the way 8bit pcrel is done + * cpu-h8300.c: got the registers in the right order + +Thu Oct 3 19:39:55 1991 John Gilmore (gnu at cygnus.com) + + * bfd-in.h: enum boolean => enum bfd_boolean for SVR4. Gumby's + prediction is vindicated! + + * bfd-in.h, libbfd-in.h, doc/Makefile, doc/tolibbfd, doc/intobfd: + Remove refs to howto.c, since Steve forgot. + +Thu Oct 3 07:49:21 1991 Steve Chamberlain (steve at cygnus.com) + + * elf.c: took the abort out of set_arch_mach so that objdump -i will + still work. Now allows any architecture/machine to be set. + +Wed Oct 2 13:50:35 1991 Steve Chamberlain (steve at cygnus.com) + + * howto.c deleted and moved code to reloc.c + + * libbfd.h, libbfd-in.h removed $id stuff for real + + * cpu-h8300.c Made it match various different spellings of h8300. + + * archures.c: Took out the first char filter which made it only + look for a cpu/arch match when the first chars of supplied and + tested names were the same. + + * targets.c removed oasys stuff, pending someone to fix the bugs + in it. + + +Tue Oct 1 12:29:44 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in, configure.in, targets.c, elf.c: Add preliminary + ELF support good enough for GDB. + * configure.in, config/h-amix, config/t-m68k-elf: Handle + m68k-cbm-svr4 host and target. + * config/t-m68k-coff, t-m88k-coff, t-m88k-aout: Make files nonempty + so `diff' and `patch' can cope. + +Tue Oct 1 11:24:31 1991 Steve Chamberlain (steve at cygnus.com) + + * archures.c: removed texinfo error + + * init.c: added texinfo hooks, and removed initialization error + message. + + * libcoff-in.h, libbfd-in.h removed $id field so cvs can merge + without complaints. + +Tue Oct 1 05:02:53 1991 John Gilmore (gnu at cygnus.com) + + * cpu-i960.c: Avoid numerical count of initializers. + + Vax Ultrix changes from David Taylor <taylor@think.com>: + * host-aout.c: Make little-endian vector really little-endian. + * configure.in: Separate vax and tahoe cases, handle ultrix. + * config/t-vax: Add trad-core.o. + * config/h-vaxult: New host system. + +Mon Sep 30 15:13:46 1991 Steve Chamberlain (steve at cygnus.com) + + * bfd-in.h VERSION, change version number to 0.18, this makes a + gap, but now is the same as the linker version number. + + * cpu-a29k.c, cpu-i386.c, cpu-m68k.c, cpu-mips.c, cpu-vax.c, + cpu-h8300.c, cpu-i960.c, cpu-m88k.c, cpu-sparc.c: added. These + files will eventually contain processor specific bits for bfd, + like strange relocation information and dis/assembly. So far only + the H8 has been even partially done. This work also ties in with + the change in handling architectures. + + * amdcoff.c: (a29k_reloc) fix error message. + + * aout-f1.h: (choose_reloc_size) now calls bfd_get_arch to + discover the architecture of the bfd. (sunos4_callback) calls the + function bfd_set_arch_mach rather than stuffing stuff directly + into the bfd. (sunos4_write_object_contents), changed names of + accessor functions. + + * aoutx.h: (set_arch_mach) now calls bfd_default_set_arch_mach to + setup the environment. + + * archive.c: (bfd_slurp_coff_armap) coff archives always have the + headers in big endian format, regardless of the endianess of the + host or target. + + * archures.c: totally changed. Now an architecture is represented + with a pointer to an info structure rather than an enumerated type + and a long. The old info is available as two elements in the + structure. Future enhancements to architecure support will + involve pointers to methods being placed into the info structure. + + * bfd.c: changed the definition of the bfd structure for the new + architecture stuff. + + * bout.c: (b_out_set_arch_mach) changed to use the new + architecture mechanism. + + * coffcode.h: (coff_set_arch_mach, coff_set_flags) changed to use + the new architecture mechanism. + + * configure.in: added h8 stuff. + + * ieee.c: too many changes to note. Now ieee files written with + bfd gas and ld can be read by gld and ieee only linkers and + simulators. + + * libbfd.c, libbfd.h: changed prototype of bfd_write. + + * newsos3.c: (newos3_callback) now calls bfd_set_arch_mach rather + than fixing the structure directly. + + * oasys.c: (oasys_object_p) now calls bfd_default_set_arch_mach rather + than fixing the structure directly. + + * opncls.c: (new_bfd) makes sure that bfd_init has been called + before opening a bfd. + + * srec.c: (srec_set_arch_mach) now calls bfd_default_set_arch_mach + rather than fixing the structure directly. + + * targets.c: (target_vector) now by defining SELECT_VECS (perhaps + in the t/hmake file) a user can select which backends they want + linked with bfd without changing the source. + + * init.c: new, looks after initializing modules. + + * howto.c: for future use, will allow an application to work out + what cookie to use as a handle on a relcoatio howto. + +Mon Sep 30 13:31:15 1991 John Gilmore (gnu at cygnus.com) + + * srec.c: Better error checking, partly from Peter Schauer. + (srec_object_p): Avoid assuming any file that starts with 'S' is + an S-record file! (Check for 3 uppercase-hex digits after it.) + (ISHEX): Define new macro for checking supposedly hex characters. + (pass_over): Treat as EOF any S-record line that: + * doesn't have hex in either size character + * produces a size larger than 0x7F + * has an unrecognized type number + +Thu Sep 26 15:27:29 1991 John Gilmore (gnu at cygnus.com) + + * aoutf1.h, aoutx.h, bout.c, coffcode.h, host-aout.c, oasys.c, + opncls.c: Lint (saber actually). + +Thu Sep 26 11:24:24 1991 Per Bothner (bothner at cygnus.com) + + * libaout.h (WRITE_HEADERS): Set header's a_text field always. + * newsos3.c: Fixed two types: newos3 -> newsos3. + * reloc.c (bfd_perform_relocation): Fix pc-relative relocation + to use correct segment. + +Mon Sep 23 18:24:34 1991 Per Bothner (bothner at cygnus.com) + + * aoutx.h (print_symbol): Handle missing symbol->name. + +Fri Sep 20 12:26:01 1991 Stu Grossman (grossman at cygnus.com) + + * aoutf1.h (swapcore_sparc): Change name of USRSTACK, fix comment + at top of routine. + +Tue Sep 17 17:23:49 1991 Stu Grossman (grossman at cygnus.com) + + * oasys.c, configure.in, config/h-irix3, config/t-irix3: + add sgi/irix support. + +Thu Sep 12 14:29:09 1991 John Gilmore (gnu at cygint.cygnus.com) + + Changes for the AMD 29000 Ultracomputer port from David Wood. + (wood@nyu.edu). + + * opncls.c (bfd_fdopenr): Handle NO_FCNTL. + + * Makefile.in: Make subdirs work by using $(INCDIR) in the + crude dependencies. + + * coffcode.h (coff_real_object_p): Pass information about the + current file's coff symbol format to BFD via the coff_data struct. + (coff_find_nearest_line): obj_icof => coff_data. + (coff_swap_sym_{in,out}): Check that SYMNMLEN == E_SYMNMLEN. + (coff_swap_aux_{in,out}): Check that FILNMLEN == E_FILNMLEN + and DIMNUM == E_DIMNUM. + * configure.in: Handle a29k-*-* hosts, and targets + a29k-*-coff, a29k-*-aout, and a29k-*-sym1. + * libcoff-in.h: Add local_n_btmask, local_n_btshft, + local_n_tmask, local_n_tshift, local_symesz, local_auxesz, + local_linesz to `coff_data' (tdata) struct. + (coff_data, coff_data_type, coff_tdata): Rename struct icofdata. + * config/h-ultra3: Handle a29k-*-* hosts as Ultracomputers. + +Thu Sep 12 14:07:22 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * Makefile.in: $(MAKE) for make, $(docdir) for doc + * doc/Makefile: redundant dependencies for Sun-make VPATH bug + +Tue Sep 10 20:34:12 1991 John Gilmore (gnu at cygint.cygnus.com) + + * aoutf1.h (sunos4_core_file_p): Release the right storage in + error case. + (sunos4_core_file_matches_executable_p): Fix header comparison. + * aoutx.h: Avoid shifts of 32 bits, undefined in C. Lint. + * bout.c, icoff.c, ieee.c, libbfd.c, oasys.c: gcc -O -W lint. + +Wed Sep 4 00:44:52 1991 John Gilmore (gnu at cygint.cygnus.com) + + Allow GDB to patch object files. + + * aoutf1.h (sunos_core_file_p): Set SEC_HAS_CONTENTS on all sections. + * trad-core.h (trad_unix_core_file_p): Ditto. + * aoutx.h (aout_set_section_contents): On first output, check + abfd->direction and complain if erroneous. + + * Makefile.in: Add crude dependencies. + +Tue Sep 3 13:46:19 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * config/* aoutx.h configure* shortened all the h/tmake-xxxx + to h/t-xxxx files so that everything will work on System V. + +Fri Aug 23 13:51:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * aoutx.h: Add information on host-aout.c and how to configure + to use it, to the manual. + * configure.in: Tix typo. + * ecoff.c: If compiling for DEC3100, use trad_unix core files, + else dummy out the core file support. + * trad-core.c (trad_unix_core_file_p): If HOST_DATA_START_ADDR is + specified, use it to locate the data section. + * coffcode.h (coff_write_symbols): Declare buffer as bfd_bytes + rather than as chars (lint). + +Thu Aug 22 22:20:19 1991 Stu Grossman (grossman at cygint.cygnus.com) + + * aoutx.h, coffcode.h: saberized. + +Thu Aug 22 11:27:06 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * bfd.texinfo: some cleanup, reincorporated more intro matter from + bfd.doc + bfd.c, targets.c: minor rewording of doc segments + + +Wed Aug 21 19:13:22 1991 John Gilmore (gnu at cygint.cygnus.com) + + * trad-core.c (trad_unix_core_file_p): Use HOST_TEXT_START_ADDR, + etc, rather than TEXT_START_ADDR. + * host-aout.c: Remove #if 0 around whole thing. + Update to modern (32/64-bit) a.out naming conventions. + Include a large chunk of ../include/a.out.gnu.h to get macros that + are not defined by the system include files. + (host_aout_{32,64}_write_object_contents): Use the WRITE_HEADERS + macro used by the other a.out implementations. + * Makefile.in: Give dependencies to OPTIONAL_BACKENDS. + +Wed Aug 21 14:33:06 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * Makefile.in: use targets "bfd.dvi" and "bfd.ps" instead of + texdoc and psdoc; make these depend on generated .texi's + + * scanit, (new) unPROTO: turn PROTO macros into ANSI declarations in + doc + + * bfd.c, reloc.c, syms.c: minor spelling/wording fixes in doc + portions + + * Makefile.in, awkscan-ip, awkscan-p, intobfd, + libbfd.h, libcoff.h, tolibcoff; new bfd-in.h, libbfd-in.h, + libcoff-in.h: (a) use separate files for invariant parts of bfd.h, + libbfd.h, and libcoff.h; (b) in generated parts of same, use less + obtrusive marks indicating .c origins. + + * bfd.texinfo: generalize most references to linker + +Tue Aug 20 15:18:02 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * Makefile.in: include core.p in PROTOS (building better bfd.h) + * archures.c: remove empty foo() definition (crept in at vn1.9) + +Mon Aug 19 13:48:22 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * bfd.texinfo: use @setchapternewpage on instead of lots of + @page's; minor rephrasing in Introduction. + + * aoutx.h, archive.c, archures.c, bfd.c, bfd.texinfo, cache.c, + coffcode.h, core.c, format.c, ieee.c, libbfd.c, libbfd.h, libcoff.h, + oasys.c, opncls.c, reloc.c, section.c, syms.c, targets.c (documentation + segments): used BFD (caps) more consistently as a name in + discourse, fixed a few other minor typos and uses of fonts + + +Thu Aug 8 16:47:43 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * coffcode.h: fixed bug where string table size wasn't being swapped. + +Thu Aug 1 16:35:28 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * section.c: added SEC_CONSTRUCTOR_TEXT|DATA|BSS flags + + * syms.c: added BSF_CONSTRUCTOR, BSF_WARNING and BSF_INDIRECT + flags. (bfd_print_symbol_vandf) now knows what to do with the + above flags. + + * aoutx.h: made translate_from_native_sym_flags and + translate_to_native_sym_flags produce the above flags. + + +Wed Jul 31 09:53:52 1991 John Gilmore (gnu at cygint.cygnus.com) + + * all files: update copyright notices for GPL version 2. + Install header comments and attribute most modules to their + authors. BFD's name is now officially "Binary File Descriptor", + so remove any conflicting pejoratives. + archures.h: Consists solely of comments; remove it. + +Fri Jul 26 18:11:34 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * Makefile.in, bfd.c: Made it compile again. + +Fri Jul 19 08:17:09 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * newsos3.c, targets.c, coffcode.h: new patches from David Wood + + +Mon Jul 15 16:27:42 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * aoutf1.h archive.c bfd.c coffcode.h core.c ecoff.c ieee.c + bfd.texinfo oasys.c opncls.c reloc.c srec.c: More documentation on + lint fixes. + + * amdcoff.c bfd.texinfo Makefile.in : Folded in changes for amd + 29k coff by David Wood (wood@lab.ultra.nyu.edu). + +Thu Jul 4 09:53:16 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * Everything: created some new files, core.c format.c, reloc.c, + section.c and syms.c to split the functionality a bit better. + Cleaned up the rest of the files a bit, and added some + documentation. + + +Mon Jul 1 13:29:47 1991 David Wood (wood at david.ultra.nya.edu) + + * opncls.c, ../include/sys/h-sun3.h ../include/sys/h-sun4.h: fcntl + really takes 3 arguments, patched code and ammended prototypes. + +Fri Jun 14 13:19:40 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * ../include/bfd.h (struct bfd_target): Added new field + "align_power_min" which contains the minimum alignment for a + section. This is used in coff_new_section_hook. The field + insertion necessitates an update of all backends.. + + * aoutf1.h jump table field inserted + + * archive.c(snarf_ar_hdr)(bfd_slurp_coff_armap) can now parse dgux style extended + filenames too. + + * bout.c(b_out_squirt_out_relocs) fix to assertion tests. Jump + table field inserted. + + * coffcode.h(just about everything) Now patches up symbol tables + using a different mechanism. The Intel major bug has been fixed, + and the linker can self host on the Aviion and be debugged with + gdb. + + * ecoff.c: new include and jump table patch, i386coff.c: new + include and jump table patch, icoff.c: new include and jump table + patch, ieee.c: can now read archives containing ieee modules., + libcoff.h: added (combined_entry_type), libieee.h: uped max + sections to 20, m68kcoff.c: new include and jump table patch, + m88kbcs.c: new include and jump table patch, oasys.c: various bugs + fixed. opncls.c: added bfd_alloc_grow and bfd_alloc_finish. + srec.c: jump table patch. trad-code.c fixed #IF typeo + +Fri Jun 7 12:35:46 1991 Sean Fagan (sef at cygint.cygnus.com) + + * coffcode.h (coff_swap_aux_in): added else case to deal with + filenames less than 9 characters. + + +Thu Jun 6 18:27:38 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * ../include/oasys.h oasys.c (oasys_archive_p): fixed so it works + + * srec.c: now allows any number of sections to be created in a + file. Outputs addresses of the right length. + +Thu May 30 15:30:10 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * bfd.c (bfd_check_format): Fixed problem where when a defaulted + target didn't match, the format got set to the attempted match, + breaking a future test. + + *../include/i386coff.h : fixed typo in type field with size + + * i386coff.c icoff.c m88k-bcs.c ecoff.c ../include/bfd.h : Added + support in the jump table for the swapping routines exported to + gdb. Now gdb works with the 386. + +Tue May 28 17:21:43 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Merge in changes from gdb-3.95 release. + Makefile.in: Allow hmake and tmake files to add OFILES. + aoutf1.h: + bfd.c: support specific targets as well as searching. When + searching, take default target in preference to others. + bfd.doc: typos + ieee.c, oasys.c: Avoid using the "tdata" macros left of assignment. + liba.out.h: Don't hard-code file offsets; use N_ macros for them. + libbfd.h: Support specific targets as well as searching. + opncls.c: Support specific targets as well as searching. + targets.c: Search is short-circuited if default target matches. + liboasys.c, libieee.c: Undo bothner changes that make macros + work to the left of assignment, but which depend on the + representations of different pointer types being the same. + +Fri May 24 18:56:52 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * i386coff.c: created. + * coffcode.h: added support for 386. + * Makefile.in: added support for 386. + * ../include/i386coff.h: created + +Wed May 22 07:26:38 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * coffcode.h: removed all put_x_<sizes> + * libbfd.c: Changed #ifdef __GNUC__ to #ifdef HOST_64_BIT, Added + DEFUNS + + +Tue May 21 08:58:58 1991 Steve Chamberlain (steve at cygint.cygnus.com) + (bothner) + * opncls.c: Changed obstack_chunk_alloc use xmalloc + +Mon May 20 17:12:17 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * everything: Removed sysdep.h from bfd.h and put back into files + from which it was split out. Now 64 bit version is built with a + -DHOST_64_BIT="long long" on the compile line. + +Fri May 17 19:35:26 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + Changed all the [get|put][name] routines to use [get|put]_[size + in bytes]. + + Put in support for 64 bit work. Now two versions of bfd may be + generated, according to the state of TARGET_64_BIT, one which is + 32 bit only, and one which is 64/32 bits. + Created new back end 'demo64' to test 64 bit functionality. + + Renamed some files to work on DOS. + + * archive.c: lint * bfd.c: prototypes and lint. * ecoff.c: added + 64bit transfer * icoff.c: added 64bit transfer * ieee.c: name + chage, 64 bit transfer. * liba.out.h: Split out common code from + sunos and newsos into liba.out. Name changes and prototype mods. * + libbfd.c: lint and prototypes, extra 64bit swaps. * libbfd.h: + prototypes for new functions. * libcoff.h: lint * libieee.h: make + work on DOS * liboasys.h: make work on DOS * m88k-bcs.c: Name + change and 64bit stuff.* newsos3.c: common code removed, new jump + table. * oasys.c: Name change * opncls.c: Portability fixes * + srec.c: Name changes * sunos.c: Removed comon code. * targets.c: + Added demo * aout32, aout64.c include aoutx.h * bout.c: used to + be called b.out.c * coffcode.h: used to be called coff-code.h, now + 64bit ized. * demo64.c: 64 bit a.out back end + +Thu May 16 16:02:07 1991 Steve Chamberlain (steve at cygint.cygnus.com) + from bothner + * libieee.h: Make ieee_data and ieee_ar_data macros usable + on LHS of assignment, even when using old compilers. + * liboasys.h: Ditto for oasys_data and oasys_ar_data. + * m68kcoff.c: Add enum-to-int casts to accomodate old compilers. + * newsos3.c: Fix definitions of SEGMENT_SIZE and TEXT_START_ADDR. + * opncls.c: Define S_IXUSR, S_IXGRP, S_IXOTH if undefined. + * targets.c: Add declaration of newsos3_vec. + +Mon May 13 10:03:29 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * aout.c: fixxed some of the problems with filepos calculation. + (swap_ext_reloc): fixed problem with creation of relocs. + (aout_set_section_contents): fixed filepos problem + + * coff-code.h: (swap_filehdr_in, swap_filehdr_out) add. + (swap_filehdr) delete. Changed all the usage of bfd_h_put_x. + (swap_aouthdr_in, swap_aouthdr_out) add. (swap_aouthdr) delete. + (coff_real_object_p) cleaned up, added MIPS. (coff_object_p) + cleaned up. (coff_write_object_contents) cleaned up. + + * ecoff.c: Totally different. Now supports ecoff fully. + + * icoff.c: fixed problems in relocation callout. + + * libcoff.h: (struct icofdata) removed hdr structure from tdata. + + * m68kcoff.c: updated target vector. + + * sunos.c: (choose_reloc_size) added: (sunos4_callback) calls + choose_reloc_size. (sunos4_write_object_contents) now calls + choose_reloc_size so outputs relocs correctly, also calculates the + size of the sections correctly. + + + +Fri May 10 16:58:53 1991 John Gilmore (gnu at cygint.cygnus.com) + + Merge Per Bothner's changes to modularize BFD a.out a bit. + + * libbfd.h, libbfd.c (bfd_generic_get_section_contents): Add. + * ieee.c: Cast enums to int before comparing them, for brain- + dead compilers. + * coff-code.h: Remove coff_get_section_contents, and use the + generic one instead. + + * aout.c: Derive new module from sunos.c, containing generic + support code for all kinds of a.out files. + + * sunos.c: Remove all code that goes in aout.c. Split out + machine dependent followup in sunos4_object_p into + sunos4_callback. Use JUMP_TABLE(aout) for the transver vector, + and redefine only the names we CHANGE, not all the names. Drop + the little-endian vector, and rename the vector as sunos4 rather + than generic. + + * b.out.c: Use aout.c routines for most of the work. Slight + changes for the new regime. Remove close_and_cleanup and + get_section_contents in favor of generics. New transfer vector + regime. + + * newsos.c: New support for Sony NEWS, another a.out format. + + * ecoff.c: Remove close_and_cleanup. New tvec regime. + * icoff.c, m88k-bcs.c: Add write_contents to tvec. + * ieee.c, oasys.c: Remove close_and_cleanup, add write_contents + to tvec. + * opncls.c (bfd_close): Call format-dependent write_contents + routine, if writing, before calling target-dependent + close_and_cleanup routine (which is now always generic, I think). + * srec.c: Use bfd_alloc instead of malloc. Remove + close_and_cleanup and move code from it to + srec_write_object_contents. Add write_contents to tvec. + * targets.c: Remove a.out little vector, replace a.out big + vector with SunOS vector. FIXME: Need Vax support again now. + + * libbfd.h: Add write_contents format-dependent-vector to the + bfd_target vector. Supply a generic close_and_cleanup routine. + * liba.out.h: Handle the new aout.c split. Add prototypes for + all routines defined in aout.c. Rename "sunos" things to "aout" + things. Add a few fields where needed for various formats. + * Makefile.in: Add aout.c and newsos.c. + + * archive.c, ieee.c, oasys.c: Lint. + +Fri May 10 12:34:48 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * ../include/bfd.h + changed forward declaration struct stat; to reduce warnings. Changed + comment on bfd_h_<x>_x. + + * ../include/m68kcoff.h, ../include/intel-coff.h, + ../include/m88k-bcs.h + Now there are two incarnations of relocs, linenos and syments. One for + internal digestion, and one full of char arrays for I/O. The original + names have gone to detect errors. + + * Makefile.in, m68kcoff.c, targets.c + Test new structure code with a 68k coff implementaion + + * coff-code.h, icoff.c, coffswap.c, libcoff.h + Fixed all the places where there were problems with the size and + alignments of structures on disk and structures in memory. #ifed out + all the code in coffswap.c, since it should be done using the target + swap routines now. + +Thu May 9 11:00:45 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * ieee.c (do_one, ieee_slurp_section_data): now supports the load + multiple reloc command. + + * sunos.c (sunos4_set_section_contents): Made it so that sections + are always padded to their alignment size. + +Sat May 4 15:49:43 1991 John Gilmore (gnu at cygint.cygnus.com) + + * archive.c, bfd.c, coff-code.h, opncls.c, sunos.c, trad-core.c: + Clean up types and such (saber C problems). + * ecoff.c: Clean up types and such. Remove routines that are + not used. Fix up reading and swapping of shorts from files. + + Notes on bfd-0.5.2-patch1a, from Per Bothner: + + * a.out.vax.c: Remove two bogus "static" from prototypes. + + * ecoff.c: Got rid of lots of non-working junk (that had + been copied directly from coff-code.h). + Updated to be consistent with updates to icoff.c and coff-code.h. + + * libbfd.h: Added definitions for S_IXUSR, S_IXGRP, and S_IXOTH + if they're missing (as they are in (BDS-4.3-based) NewsOS-3). + + * sunos.c (n_txtoff): (Re-)Add support for sony. This is a kludge, + but until the target_vector is automatically generated, + it's as good as any. Note that the text offset is the only + difference between NewsOS and SunOs (including magic numbers). + (Most of the sunos_* routines should to renamed bsd_* + and move to a bsd.c file. Then (and when the target_vector + is automatically generated) it might make sense to create + a separate Sony target.) + + * sysdep.h: Don't declare fread and fwrite. Causes trouble + on some systems, and doesn't help on others. + Similarly, only define X_OK if not already defined. + + * trad-core.c: Don't include sys/stat.h - at least + on NewsOS 3, it has already been included. + +Tue Mar 5 01:47:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * coff-code.h (bfd_coff_swap_sym, bfd_coff_swap_aux, + bfd_coff_swap_lineno): Export the routines that byte-swap COFF + symbol tables if necessary when reading them in, so gdb can use + them. Add "bfd_coff_" to the names so they won't conflict with + names in calling programs. FIXME-soon: if coff-code.h is + included in two BFD modules, this will cause duplicate + definitions; the routines should be exported to a separate, + common, module (probably along with a mess of other ones). + +Sat Mar 2 12:11:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + Improve modtime support. + + * bfd.h: Add boolean mtime_set, and declare bfd_get_mtime. + Remove #define for bfd_get_mtime. Remove gratuitous comment. + * bfd.c (bfd_get_mtime): New fn, caches mtime, gets if not cached. + BUG: archive members still do not get correct mod times. + + Improve floating point support for core files. + + * sunos.c (struct core): Change void *fpa_dummy to double fp_stuff. + (sunos4_core_file_p): Create a second registers section in the + core file, called ".reg2", for the float registers. + +Thu Feb 14 15:49:06 1991 Gumby Vinayak Wallace (gumby at cygint.cygnus.com) + + * many changes to improve archive handling; found a logic flaw in + bfd_check_format which only just happened to work by cooncidence. + +Thu Feb 14 07:53:16 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * bfd.c (bfd_perform_relocation): fixed to use output_offsets + correctly. + + * bfd.h: changed type of udata in asymbol to void *, like it + should be. Added bfd_reloc_dangerous enum member. + + * coff-code.h: Fixed it so that internally generated symbols get + their values relocated correctly in all cases. Removed calls to + xmalloc. + + * icoff.c: Not understanding the destination symbol of a reloc is + not a failure any more, just 'dangerous'. This allows linking of + b.out and coff images. + + * sunos.c: Cleaned up the way that ZMAGIC section sizes are + calculated. + + +Tue Feb 12 13:25:46 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * sunos.c (translate_to_native_sym_flags): fixed + sym_pointer->n_value so that symbols on the way out get their + section relative values calculated correctly. + + * coff-code.h (mangle_symbols): fixed problem where tags were not + being relocated for structs, enums, unions. Also various lints. + +Mon Feb 11 19:52:26 1991 Gumby Vinayak Wallace (gumby at cygint.cygnus.com) + + * archive.c (get_elt_at_filepos): system_call_error returned + incorrectly. + +Sun Feb 10 23:18:40 1991 Gumby Vinayak Wallace (gumby at cygint.cygnus.com) + + * Resolve the use of no_error and system_call_error. + The bfd library itself now will never set bfd_error to + no_error. + + The code still needs to be combed to make sure all the error + codes are correct. I suspect they are not always set correctly. + + * The names of all the messages have _ prepended because the sun + bundled compiler can't distinguish from a macro which takes an + argument and the same identifier in a non-macro context. + + * The reason for the above being that entry points which used to + be trampoline functions are now just macros which expand to a + direct call through the bfd's xfer vector. + + * (../include/intel-coff.h) F_AR32WR: fix this constant. Why + must gas have its own version of everything (the gas version + had the correct value) + +Tue Feb 5 11:46:53 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * b.out.c: Added patches supplied by chrisb@mipon2.intel.com to + properly support i960 architecture and output correct reloc stuff. + + * bfd.h: added prototype for bfd_printable_arch_mach, added + BFD_FAIL + + * coff-code.h: Applied patches from chrisb to support i960 + architecture, zero relocs and swap them correcly and conditionally + compiled the timestamp. + + * sunos.c: Made the default section alignment 2^3 so that doubles + are done properly. Fixed the same reloc bug that was in b.out.c + + * sysdep.h: Now compiles on a Posix box + +Wed Jan 30 21:36:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + * icoff.c: Fix comment on big-endian version. + * coff-code.h: Make HAS_RELOC really work (it's backwards from + F_RELFLG). Set F_AR32WR in output files if little endian + architecture. + +Tue Jan 29 20:56:10 PST 1991 steve@cygnus.com + + * archures.c fixed =/== typo + + * sunos.c added architecture stuff for output. Fixed + bug where files where vma(data) != size(text) + were processed wrong. + + * coff-code.h added a lint cast + + * (../include/a.out.sun4.h) fixed it so zmagic + worked + +Mon Jan 28 19:15:29 PST 1991 steve@cygnus.com + + * archive.c removed loads of includes, and fixed bug where string + table didn't have a null at the end. + + * bfd.c fixed includes, added symbols argument to + canonicalize_reloc entry point. + + * libbfd.c fixed includes and added some lint patches. + + * targets.c added both sorts of intel coff. + + * b.out.c fixed included, changed was the canonical + relocs were done. + + * icoff.c added support for callj and big and little + enidian tables. + + * opncls.c added chmod+xing for files with EXEC_P set. + + * sunos.c fixed includes. Changed default section + alignement to words. Fixed relocation stuff to work with + new scheme + + * bfd.h various new types added, prototype for new + reloc calls, changed bfd->iostream to a void * + to including files don't need stdio.h. + + * libcoff.h added conversion table to tie relocs to + canonical symbols + + * sysdep.h created + + * coff-code.h fixed includes. Added code to support + big and little endian formats. Various lints. Better + processing of symbols. Changed reloc stuff to new + order + + * libbfd.h fixed includes + + +Mon Jan 21 11:53:51 PST 1991 steve@cygnus.com + + * bfd.h changed name of alignment entry in sec_struct to + alignment_power, because of conflicting uses within bfd. + Now it should be obvious that it's a 2**n alignment + specifier. Removed start_pad, end_alignment, block, minsize, + output_file_alignment, subsection_alignment and original_vma fields. + Added align_power() macro. Fixed bfd_section_alignment + acessor macros. Added bfd_symbol_same_target macro. + + * b.out.c (b_out_write_object_contents) fixed to use + new alignment member. Fixed (callj_callback) to use section + relative symbols properly. + + * sunos.c (sunos4_object_p) fixed to use new alignment_power. + Fixed (translate_from_native_sym_flags) to correctly make + symbols section relative. + + * bfd.c (bfd_errmsg) fixed various enum cast problems. + (bfd_make_section) took out initialization of obsolete members. + (bfd_print_symbol_vandf) added + + * opncls.c (bfd_create) created. + + * coff-code.h (coff_new_section_hook) took away refs + to obsolete members. (make_a_section_from_file) added + conversion between alignment types. (coff_symbol_from) + added. (coff_count_linenumbers) only counts linenumbers + if symbol is of coff-type. (coff_mangle_symbols) only + heavily mangles symbols if symbol is coff-type. + (coff_write_symbols) various lints. (coff_write_object_contents) + various lints and modification for alignment conversion. + (coff_slurp_relocs) fixed for use with new asection shape. + +Sat Jan 19 16:10:42 PST 1991 steve@cygnus.com + + * archive.c lots of lint + + * b.out.c added callj relocation support, upgrated reloc howto. + Fixed so that asymbol and reloc records are output + correctly. + + * bfd.c lots of lint, support for new bfd entry point + bfd_print_symbol. + + * bfd.h changed definition of asymbol to contain pointer to + owning bfd, removed target dependencies. + + * cache.c took out print statements, put in BFD_ASSERT calls. + + * coff-code.h various lints, corrected linenumber output + functionality. Added support for new style asymbols and + bfd_print_symbol. Fixed so that asymbol and + reloc records are handled correctly. Added timestamp. + + * icoff.c Added support for new howto shape. + + * liba.out.h Added support for new asymbol shape + + * libbfd.c various lints + + * libbfd.h various lints + + * libcoff.h added support for new asymbol shape. + + * sunos.c various lints. Added support for new asymbol shape + and bfd_print_symbol. + +Wed Jan 16 21:38:09 PST 1991 steve@cygnus.com + + * b.out.c removed prototype of sunos4_ennativate_symtab, lots of + pointer lint. Added support for callj relocation. Fixed bug where + the last 32 bytes of the text section were overwritten by data. Fixed bug + where archives of b.out didn't work due bfd_slurp_extended_name_table + returning false. + + * sunos.c added support for n_other field. Braced the howto table so + that it won't be affected by any lengthing of the howto struct typedef. + Various lints + + * bfd.h added support for n_other field, added special_function + reloc type, modified bfd_perform_relocation prototype. Added bfd_h_get_x + macros. + + * bfd.c upgraded bfd_perform_relocation, various lints. + +Wed Jan 16 01:55:53 1991 John Gilmore (gnu at rtl) + + * ChangeLog: Started ChangeLog for BFD. + * ToDo: Create file for suggestions. + + * Makefile: Support easy loading into Saber C. + Add dependencies for icoff.o and bcs88kcoff.o. + Rename coff.c to coff-code.h. Change callers. + + * bfd.c (bfd_check_format): Allow the check_format routines + to return the desired target vector, rather than just a Boolean. + bfd.h (bfd_check_format): Change function pointer return type. + archive.c (bfd_generic_archive_p): change callee. + b.out.c (b_out_little_object_p, b_out_big_object_p, + b_out_real_object_p): change callee. + libbfd.c (_bfd_dummy_target): Dummy routine replacing bfd_false + in check_format transfer vectors that need a filler. + libbfd.h (bfd_generic_archive_p, _bfd_dummy_target): Fix decls. + bcs88kcoff.c: change callee. + coff-code.h (coff_real_object_p, coff_big_object_p): change callee. + icoff.c: change callee. + sunos.c (sunos4_object_p, sunos4_core_file_p): change callee. + + * libbfd.c (zalloc): It should actually zero the storage! + This was commented out for some reason. + + * libbfd.h: Add malloc, xmalloc, memcpy, and fatal decls. + This is so callers can avoid <stdlib.h> which doesn't exist + on older systems. + + * bfd.c (map_over_sections): Add debugging code, since I + noticed the section count for sunos core files was bad, but only + GDB had detected the problem. + (bfd_set_section_lineno_size, bfd_set_section_linenos, + bfd_get_section_linenos): Remove obsolete functions. + (bfd_apply_relocations): Use longs, not ints, for the math. + + * bfd.h: Declare enum boolean and struct bfd_target as well + as typedefs for them. Remove obsolete + bfd_get_section_lineno_size. + + * cache.c: Make the "fdopen" support work. Keep better track + of how many files are open. Centralize the opening of files + and be sure bfd_open[rw] actually try to open the file. Evade + linked list initialization problems. + + * b.out.c, coff-code.h, opncls.c, sunos.c: lint. + + * coff-code.h (coff_slurp_symbol_table): Null-terminate symtab names. + + * cplus-dem.c: Delete file, since it is not part of BFD. + + * opncls.c (bfd_openr): Eliminate misplaced #if 0 code. + (bfd_openr, bfd_openw): Actually open the file, give error now. + + * sunos.c (sunos4_core_file_p): Set section count. + (sunos4_set_section_linenos, stab_names, fprint_name): Eliminiate + obsolete definitions. + (_write_symbol_table): Initialize <idx> counter. + (foop): Eliminate debugging code. + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/bfd/ChangeLog.2 b/contrib/gdb/bfd/ChangeLog.2 new file mode 100644 index 0000000000000..a9ae8b04ded88 --- /dev/null +++ b/contrib/gdb/bfd/ChangeLog.2 @@ -0,0 +1,8842 @@ +Thu Aug 31 16:00:53 1995 steve chamberlain <sac@slash.cygnus.com> + + * Makefile.in: Update dependencies. + * aout-target.h (MY_bfd_print_private_bfd_data): New. + * bfd-in.h (PE STUFF): Deleted. + * bfd.c (tdata->pe_obj_data): New. + (bfd_print_private_bfd_data): New. + * coff-i386.c, coff-arm.c (coff_*-rtype_to_howto): Get image base from + new place. + * libcoff.h, libbfd.h, bfd-in2.h: Rebuilt. + * coffcode.h (pe_value): Delete + (coff_mkobject, coff_mkobject_hook): Conditionally build. + (coff_compute_section_file_positions): Look in new place. + (add_data_entry, fill_pe_header_info): Deleted. + (coff_write_object_contents): Remove PE stuff. + (coff_bfd_print_private_bfd_data): New. + * coffswap.h: Remove PE stuff. + * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): New. + * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): New. + * libcoff-in.h (pe_data_type): New. + * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): New. + * targets.c (_bfd_print_private_bfd_data): New. + * peicode.h: New file. + +Thu Aug 31 11:49:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * bfd-in.h: Add extern "C" if __cplusplus. + * bfd-in2.h: Rebuild. + + * coff-mips.c (mips_relocate_section): Don't convert a reloc + against an absolute symbol into a reloc against a section. + +Thu Aug 31 08:00:14 1995 steve chamberlain <sac@slash.cygnus.com> + + * coff-arm.c (coff_arm_reloc): Fix common size problem. + (i3coff_object_p): Delete. + +Wed Aug 30 20:41:27 1995 steve chamberlain <sac@slash.cygnus.com> + + * coff-arm.c (deletemeacoff_arm_reloc): Deleted. + (arm26): Not partial inplace. + * coffcode.h (coff_compute_section_file_positions): Don't + do page aligning if COFF_PAGE_SIZE isn't defined. + * coffswap.h (coff_swap_scnhdr_in): Update image base correctly. + +Tue Aug 29 13:50:21 1995 steve chamberlain <sac@slash.cygnus.com> + + * coffcode.h (coff_compute_section_file_positions): + Compile even if COFF_PAGE_SIZE isn't defined. + * cofflink.c (_bfd_coff_generate_reloc_section): Write + base file info as rvas. + * coff-arm.c (coff_rtype_to_howto): Deal with reloc 11. + * coffcode.h (coff_write_object_contents): Remove #if0ed code + Only remove empty sections in PE inmage files. + * libbfd.h, bfd-in2.h: regenerated. + * coff-arm.c (aoutarm_std_relo): New entry at 11. + (arm_reloc_type_lookup) : Understand type 11. + * coff-i386.c (howto_table): fix name of rva type. + (coff-i386_rtype_to_howto): Understand R_IMAGEBASE type. + * coffcode.h (sec_to_styp_flags): .edata is data. + (coff_compute_section_file_positions): Get page size right for PE. + Pagesize info is only valid in PE image files. + (fill_pe_header_info): Fix fields. + (coff_write_object_contents): Remove end_of_image calc. + (_bfd_coff_generate_reloc_section): Remove orphaned comment. + * coffswap.h (coff_swap_scnhdr_in): Don't always add IMAGE_BASE. + Swap in PE header. + (coff_swap_scnhdr_out): Setup PE flags correctly. + * reloc.c (BFD_RELOC_RVA): New field. + +Thu Aug 24 17:49:59 1995 Ian Lance Taylor (ian@cygnus.com) + + * cofflink.c (coff_link_input_bfd): Don't include line numbers for + a section if its output section has no contents. + +Wed Aug 23 16:48:52 1995 Ian Lance Taylor (ian@cygnus.com) + + * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Add parentheses to FIX + expression to avoid compiler bug on HP-UX 9.01. + +Wed Aug 23 09:49:39 1995 Steve Chamberlain <sac@rtl.cygnus.com> + + * coffcode.h (pe_value): Unansify. + +Mon Aug 21 17:49:28 1995 steve chamberlain <sac@slash.cygnus.com> + + * bfd-in.h (bfd_link_subsystem): Turn enum into #defines. + (bfd_link_pe_info_dval): New + (bfd_link_stack_heap): Renamed and massaged into bfd_link_pe_info. + * bfd-in2.h: rebuilt. + * bfd.c (NT_subsystem, NT_stack_heap): Deleted. + * coffcode.h (pe_value): New function. + (fill_pe_header_info): New function. + (coff_write_object_contents): Use new function. + (coff_write_object_contents): Initialze link_data if not set. + * cofflink.c (coff_final_link_info): Remove pe randomness. + (dores_com): Update info in bfd_link_pe_info_dval. + (process_embedded_commands): Use the bfd_link_pe_info_dval. + (_bfd_coff_final_link): Remove PE stuff, initialize + coff_data->link_info. + * coffswap.h (coff_swap_[aout|filehdr]_out): Use indirect PE pointer. + (coff_swap_scnhdr_out): Use real imagebase. + * libcoff-in.h (coff_data_type.link_info): New field. + +Mon Aug 21 11:10:32 1995 Ian Lance Taylor <ian@cygnus.com> + + * linker.c (link_action): If an undefined reference follows an + undefined weak reference, change the type to undefined. + * elflink.h (elf_link_add_archive_symbols): Don't record an + undefined weak reference as defined, in case it turns into a real + undefined reference later in the same archive. + +Thu Aug 17 16:29:09 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> + + * coff-sh.c (sh_relax_section): Cast value for used_by_bfd field + to PTR, not coff_section_tdata pointer, since PTR is the real type + of the field. + * cofflink.c (_bfd_coff_read_internal_relocs): Ditto. + +Thu Aug 17 14:44:26 1995 Ian Lance Taylor <ian@cygnus.com> + + Add support for linking SPARC SunOS PIC compiled code. + * sunos.c (SPARC_PLT_PIC_WORD0): Define. + (SPARC_PLT_PIC_WORD1, SPARC_PLT_PIC_WORD2): Define. + (struct sunos_link_hash_entry): Add got_offset and plt_offset + fields. + (struct sunos_link_hash_table): Add dynamic_sections_created and + dynamic_sections_needed fields. + (sunos_link_hash_newfunc): Initialize new fields. + (sunos_link_hash_table_create): Initialize new fields. + (sunos_create_dynamic_sections): New static function, broken out + of sunos_add_dynamic_symbols. + (sunos_add_dynamic_symbols): Call sunos_create_dynamic_sections. + (sunos_add_one_symbol): Call sunos_create_dynamic_sections. + (bfd_sunos_size_dynamic_sections): Call sunos_scan_relocs before + checking whether we need to set up the dynamic link information. + Define __GLOBAL_OFFSET_TABLE if anything referred to it. + (sunos_scan_std_relocs): Call sunos_create_dynamic_sections. Use + plt_offset field; only put symbol in .plt if it is not defined by + a regular object. + (sunos_scan_ext_relocs): Likewise. Handle base relative relocs. + (sunos_scan_dynamic_symbol): Store dynobj in local variable. + (sunos_write_dynamic_symbol): Check plt_offset rather than + checking whether symbol is in .plt section. If symbol is defined + in a regular object file, use SPARC_PLT_PIC_WORD[012], and don't + add a JMP_TBL reloc. + (sunos_check_dynamic_reloc): Add contents and relocationp fields. + If plt_offset is set, redirect relocation to PLT. If this is a + base relative reloc, redirect relocation to GOT. Check + dynamic_sections_needed field rather than whether dynobj is set. + (sunos_finish_dynamic_link): Check dynamic_sections_needed field + rather than whether dynobj is set. Don't die if .need and .rules + sections were not created. + * aoutx.h (howto_table_ext): Mark PC10, PC22, and JMP_TBL entries + PC relative. Mark PC10 complain_overflow_dont. Mark PC22 and + JMP_TBL complain_overflow_signed. + (NAME(aout,final_link)): If info->shared is set, set DYNAMIC. + (aout_link_input_section_std): Call check_dynamic_reloc for all + relocs. Pass contents and &relocation. Don't warn about an + undefined symbol until check_dynamic_reloc has been called. Don't + warn about an undefined symbol for a base relative reloc. + (aout_link_input_section_ext): Likewise. For a base relative + reloc, always treat r_index as an index into the symbol table. + * libaout.h (struct aout_backend_data): Add contents and + relocation argument to check_dynamic_reloc entry point. + (struct aoutdata): Add local_got_offsets field. + +Wed Aug 16 01:03:07 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf32-i386.c (elf_i386_check_relocs): Fix bug in last change. + +Mon Aug 14 11:39:24 1995 Ian Lance Taylor <ian@cygnus.com> + + * aoutx.h (NAME(aout,machine_type)): Handle a machine of + bfd_mach_sparc or bfd_mach_sparc64. + + * elflink.h (elf_link_add_object_symbols): If a symbol is a weak + definition, add it to the dynamic symbol table if any dynamic + object mentions it. If we do add it, make sure we add the + corresponding real symbol. + (elf_adjust_dynamic_symbol): Adjust a weak defined symbol which we + put in the dynamic symbol table, even if no regular object refers + to it. + * elf32-i386.c (elf_i386_check_relocs): When creating a shared + library, don't allocate space for a PC relative reloc against a + local symbol. + * elf32-m68k.c (elf_m68k_check_relocs): Likewise. + * elf32-sparc.c (elf32_sparc_check_relocs): Likewise. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Change assertion + to accept symbol with weakdef set. + * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): When creating a shared + libary, don't copy over a PC relative reloc against a local + symbol. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + +Sun Aug 13 00:40:58 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.h (R_HPPA_BEGIN_BRTAB): Define. + (R_HPPA_END_BRTAB): Likewise. + * som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB. + +Thu Aug 10 15:53:29 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffswap.h (coff_swap_aux_in): Swap the array dimensions + whenever x_fcnary is not being used for something else, rather + than only for an array. + (coff_swap_aux_out): Likewise. + +Tue Aug 8 16:34:57 1995 steve chamberlain <sac@slash.cygnus.com> + + * cofflink.c (_bfd_coff_generic_relocate_section): Remove most + of special case stuff for PE. Now handled by relocs. + * coff-i386.c (coff_i386_reloc): Special case of PE type 7s. + (howto_table): Type 7 is dir32-rva. + +Tue Aug 8 10:15:43 1995 Jeffrey A. Law <law@rtl.cygnus.com> + + * configure.host: Recognize aix4 explicitly. + * rs6000-core.c (CORE_DATA_SIZE_FIELD): New macro to get a the size + of a core dump's data section. Provide alternate definition for aix4. + (SAVE_FIELD): Similarly for save state field (register info). + (STACK_END_ADDR): Provide definition suitable for aix4. + * config/{aix4.mh,aix4.mt}: New configuration files. + * hosts/aix4.h: Likewise. + +Mon Aug 7 23:03:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * som.c (som_bfd_copy_private_symbol_data): Cast initializations + to avoid warnings. + +Mon Aug 7 14:51:08 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_decode_symclass): Handle absolute symbols by checking + the SOM type (since they will rarely if ever be in the absolute + section). + +Wed Aug 6 09:12:50 1995 Doug Evans <dje@canuck.cygnus.com> + + * archures.c (bfd_mach_sparc, bfd_mach_sparc64): Define. + * bfd-in2.h: Regenerated. + * cpu-sparc.c (sparc_arch_info): Renamed from arch_info_struct. + (sparc64_arch_info): New static variable. + (bfd_sparc_arch): Link in sparc64_arch_info. + * elf64-sparc.c (sparc64_elf_xxx): Renamed from elf64_xxx. + (sparc64_elf_object_p): New static function. + (elf_backend_object_p): Define. + * config/sparc64-elf.mt (SELECT_VECS): Add bfd_elf32_sparc_vec. + +Sat Aug 5 00:04:08 1995 Jeff Law (law@snake.cs.utah.edu) + + * som (som_get_reloc_upper_bound): Return -1 on error. Compute + return value with sizeof (arelent *), not sizeof (arelent). + +Wed Aug 2 12:32:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf.c (bfd_section_from_shdr): If the section pointed to by the + sh_link field of a reloc section is not a symbol table, and the + file contains a single symbol table, clobber the sh_link field of + the reloc section to point to the symbol table. + +Tue Aug 1 10:09:01 1995 Doug Evans <dje@canuck.cygnus.com> + + * coff-arm.c (howto reloc ARM26): Change size from 3 to 2. + (howto reloc ARM26D): Likewise. + +Mon Jul 24 14:17:50 1995 Ian Lance Taylor <ian@cygnus.com> + + * aoutx.h (NAME(aout,find_nearest_line)): Use the line just before + the offset, not the one just after. Break out of the loop after + finding a function past the offset, not merely when finding a + function with a line defined. + + * ecofflink.c (_bfd_ecoff_locate_line): When handling stabs: + correct setting of sym_ptr_end to consider symbols skipped when + setting sym_ptr; don't leave loop early unless an N_FUN is found + with a larger value. + + * coff-sh.c (sh_coff_howtos): Mark R_SH_PCDISP8BY2 and R_SH_PCDISP + as PC relative. Describe R_SH_IMM16. Add entries for + R_SH_SWITCH16, R_SH_SWITCH32, R_SH_USES, R_SH_COUNT, and + R_SH_ALIGN. + (SWAP_IN_RELOC_OFFSET): Define. + (SWAP_OUT_RELOC_OFFSET): Define. + (CALC_ADDEND): Define. + (sh_reloc): Change sym_value and addr to type bfd_vma. Skip reloc + types other than R_SH_IMM32 and R_SH_PCDISP on an external symbol. + (coff_bfd_relax_section): Define. + (coff_bfd_get_relocated_section_contents): Define. + (sh_relax_section): New static function. + (sh_relax_delete_bytes): New static function. + (sh_relocate_section): Handle R_SH_PCDISP on an external symbol. + (sh_coff_get_relocated_section_contents): New static function. + + * cofflink.c (coff_link_add_object_symbols): Call + _bfd_coff_get_external_symbols, not coff_link_get_symbols. Call + _bfd_coff_free_symbols, not coff_link_free_symbols. Call + _bfd_coff_read_string_table, not coff_read_string_table. + (coff_link_check_archive_element): Likewise. + (coff_link_input_bfd): Likewise. + (coff_link_get_symbols): Move to coffgen.c. + (coff_read_string_table): Likewise. + (coff_link_free_symbols): Likewise. + (_bfd_coff_internal_syment_name): New static function. + (coff_link_check_ar_symbols): Use _bfd_coff_internal_syment_name. + (coff_link_add_symbols): Likewise. + (coff_link_input_bfd): Likewise. + (_bfd_coff_generic_relocate_section): Likewise. + (_bfd_coff_read_internal_relocs): New function. + (coff_link_input_bfd): Use cached section contents if available. + Use _bfd_coff_read_internal_relocs. + * coffcode.h (coff_slurp_symbol_table): Don't call bfd_seek. + (coff_bfd_get_relocated_section_contents): Only define if not + already defined. + (coff_bfd_relax_section): Likewise. + * coffgen.c (build_string_table): Remove. + (_bfd_coff_get_external_symbols): New function, moved in from old + coff_link_get_symbols in cofflink.c. + (_bfd_coff_read_string_table): New function, moved in from old + coff_read_string_table in cofflink.c. + (_bfd_coff_free_symbols): New function, moved in frmo old + coff_link_free_symbols in cofflink.c. + (coff_get_normalized_symtab): Use _bfd_coff_get_external_symbols + rather than reading the symbols directly. To free them, call + _bfd_coff_free_symbols. Use _bfd_coff_read_string_table rather + than build_string_table. + * libcoff-in.h (obj_coff_keep_syms): Define. + (obj_coff_keep_strings): Define. + (coff_data_type): Add fields keep_syms and keep_strings. + (coff_section_tdata): Define new structure. + (coff_section_data): Define. + (_bfd_coff_get_external_symbols): Declare. + (_bfd_coff_read_string_table): Declare. + (_bfd_coff_free_symbols): Declare. + (_bfd_coff_read_internal_relocs): Declare. + * libcoff.h: Rebuild. + +Fri Jul 21 22:32:54 1995 Michael Meissner <meissner@cygnus.com> + + * elf32-ppc.c (ppc_elf_howto_raw): Add support for R_PPC_SDAREL + relocation. + (ppc_elf_reloc_type_lookup): Ditto. + (ppc_elf_got16_inner): Ditto. + (ppc_elf_relocate_section): Ditto. + +Thu Jul 20 19:19:06 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new (ignored) + argument. + * elf32-hppa.h: Corresponding change. + +Thu Jul 20 19:01:07 1995 Ken Raeburn <raeburn@cygnus.com> + + * libaout.h (set_aout_section_data): New macro. + * sunos.c (sunos_scan_relocs): Use it. + + * aout-ns32k.c (MY_swap_std_reloc_out): Undef KEEPIT before + defining it. + +Thu Jul 20 13:48:00 1995 Fred Fish <fnf@cygnus.com> + + * hosts/i386v4.h (getgid, getuid): Change prototypes to be + compatible with Unixware 1.x and Unixware 2.x, and probably other + i386 svr4 versions as well. + +Thu Jul 20 13:41:21 1995 Ken Raeburn <raeburn@cygnus.com> + + * targets.c (bfd_target_vector): Since armpe and armpei have been + split into big- and little-endian variants, list all of them, + instead of the now-nonexistant armpe[i]_vec. + +Thu Jul 20 00:06:39 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf.c (bfd_section_from_phdr): Set lma based on p_paddr. + (elf_fake_sections): Set sh_addr based on lma, not vma. + +Wed Jul 19 15:52:01 1995 Doug Evans <dje@canuck.cygnus.com> + + * coff-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM. + * configure.in (armpe_vec, armpei_vec): Add bi-endian support. + * configure: "regenerated". + * pe-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM. + (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME. + * pei-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM. + (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME. + * targets.c (armpe_vec, armpei_vec): Deleted. + (armpe_little_vec, armpe_big_vec, armpei_little_vec, armpei_big_vec): + Added. + * config/arm-pe.mt (DEFAULT_VECTOR): Default is armpe_little_vec. + (SELECT_VECS): Add bi-endian support. + +Wed Jul 19 10:47:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * coff-sh.c: Clean up and comment. + (r_imm32): Remove. + (sh_coff_howtos): New static array. + (SH_COFF_HOWTO_COUNT): Define. + (get_symbol_value): Make relocation bfd_vma rather than long. + (RTYPE2HOWTO): Rewrite to use sh_coff_howtos. + (coff_relocate_section): Define to sh_relocate_section. + (sh_relocate_section): New static function. + +Sat Jul 15 01:02:53 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * configure.host: Add support for generic m68k SVR4 host. + +Fri Jul 14 13:13:55 1995 Ian Lance Taylor <ian@cygnus.com> + + * aoutx.h (KEEPIT): Change definition to udata.i. + (KEEPITTYPE): Remove. + (NAME(aout,reloc_type_lookup)): Add cases to the + extended reloc type switch: SPARC_GOT10, SPARC_GOT13, SPARC_GOT22, + SPARC_PC10, SPARC_PC22, SPARC_WPLT30. + (NAME(aout,swap_std_reloc_out)): Don't bother to use stoi when + retrieving KEEPIT value. + (NAME(aout,swap_ext_reloc_out)): Likewise. Also, only add in + output section VMA for section symbols, and check BSF_SECTION_SYM + to control whether to set r_extern to 1. + + * syms.c: Fix comments so that `make info' works. + + * elf32-mips.c (mips_elf_find_nearest_line): Set SEC_HAS_CONTENTS + in .mdebug section, in case backend linker has cleared it. + +Fri Jul 14 11:58:34 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_addr16_ha_inner): Rewrite to take just one + argument, the final relocated address. + (ppc_elf_addr16_ha_inner): Adjust ppc_elf_addr16_ha_inner caller. + (ppc_elf_relocate_section): Ditto. + +Thu Jul 13 17:22:03 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (hppa_som_gen_reloc_type): Choose a reasonable field + selector relocation for the difference of two symbols. + +Thu Jul 13 10:33:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * aoutx.h (NAME(aout,slurp_reloc_table)): Cast argument to size_t + for malloc. + * coff-mips.c (mips_relocate_section): Likewise, for memmove. + (mips_relax_section): Likewise, for malloc. + * cofflink.c (process_embedded_commands): Likewise. + (_bfd_coff_final_link): Likewise. + * ecoff.c (_bfd_ecoff_write_object_contents): Likewise. + (ecoff_final_link_debug_accumulate): Likewise. + (ecoff_indirect_link_order): Likewise, for memcpy and malloc. + (ecoff_reloc_link_order): Likewise, for malloc. + * ecofflink.c (ecoff_align_debug): Likewise, for memset. + (ecoff_write_symhdr): Likewise, for malloc. + * elf32-hppa.c (elf32_hppa_read_symext_info): Likewise. + * elf.c (assign_file_positions_except_relocs): Likewise, for + qsort. + * elf32-mips.c (mips_elf_read_ecoff_info): Likewise, for malloc. + * elfcode.h (elf_slurp_reloc_table): Likewise. + * elfcore.h (elf_corefile_note): Likewise. + * elflink.h (elf_link_add_object_symbols): Likewise. + (elf_link_read_relocs): Likewise. + (NAME(bfd_elf,size_dynamic_sections)): Likewise, for memset. + * i386linux.c (bfd_linux_size_dynamic_sections): Likewise. + * ieee.c (do_with_relocs): Likewise. + * linker.c (default_indirect_link_order): Likewise, for malloc. + * nlmcode.h (nlm_object_p): Likewise. + (nlm_write_object_contents): Likewise. + * oasys.c (oasys_set_section_contents): Likewise, for memcpy. + * reloc.c (bfd_generic_get_relocated_section_contents): Likewise, + for malloc. + * section.c (bfd_get_section_contents): Likewise, for memcpy. + * srec.c (srec_get_section_contents): Likewise. + (srec_set_section_contents): Likewise. + * sunos.c (bfd_sunos_size_dynamic_sections): Likewise, for + realloc and memset. + (sunos_scan_relocs): Likewise, for malloc. + (sunos_scan_dynamic_symbol): Likewise, for realloc. + * syms.c (_bfd_generic_read_minisymbols): Likewise, for malloc. + * versados.c (versados_get_section_contents): Likewise, for + memcpy. + + * libbfd.c (real_read): Add prototype. Change argument types from + int to size_t. + (bfd_read): Cast real_read argument to size_t, not int. + (bfd_write): Cast fwrite argument to size_t, not int. + + * elf64-gen.c (elf_info_to_howto): Fix definition for recent elf.c + changes. + + * configure.in: Fix typo: change {$enableval} to ${enableval}. + * configure: Rebuild. + + * Makefile.in (BFD32_BACKENDS): Add elflink.o. + + * targets.c (bfd_target): Add fields _read_minisymbols and + _minisymbol_to_symbol. + (BFD_JUMP_TABLE_SYMBOLS): Add _read_minisymbols and + _minisymbol_to_symbol. + (bfd_read_minisymbols): Define. + (bfd_minisymbol_to_symbol): Define. + * syms.c (_bfd_generic_read_minisymbols): Define. + (_bfd_generic_minisymbol_to_symbol): Define. + * libbfd-in.h (_bfd_nosymbols_read_minisymbols): Define. + (_bfd_nosymbols_minisymbol_to_symbol): Define. + (_bfd_generic_read_minisymbols): Declare. + (_bfd_generic_minisymbol_to_symbol): Declare. + * bfd-in2.h: Rebuild. + * libbfd.h: Rebuild. + * aoutx.h (MINISYM_THRESHOLD): Define. + (NAME(aout,read_minisymbols)): New function. + (NAME(aout,minisymbol_to_symbol)): New function. + * libaout.h (NAME(aout,read_minisymbols)): Declare. + (NAME(aout,minisymbol_to_symbol)): Declare. + * aout-target.h (MY_read_minisymbols): Define. + (MY_minisymbol_to_symbol): Define. + * All targets: Define read_minisymbols and minisymbol_to_symbol. + +Wed Jul 12 17:55:55 1995 Ken Raeburn <raeburn@cygnus.com> + + * elflink.h (elf_link_add_object_symbols): Cast return value from + bfd_alloc. + + * elfcode.h (size_info): Don't use "&" before function names. + +Wed Jul 12 00:16:48 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com> + + * libelf.h (elf_backend_data): Use unsigned, not unsigned char, + for bitfields. + +Tue Jul 11 15:19:53 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf.c (bfd_section_from_shdr): In case SHT_REL[A], only get the + BFD section for the sh_link section if it is a SYMTAB section. + + * aoutx.h (NAME(aout,link_add_symbols)): Don't bother to check + that archives hold a.out objects. + * cf-i386lynx.c (coff_bfd_link_add_symbols): Don't define. + (lynx_link_add_symbols): Remove. + * cf-m68klynx.c (coff_bfd_link_add_symbols): Don't define. + (lynx_link_add_symbols): Remove. + * elflink.h (elf_bfd_link_add_symbols): Don't bother to check that + archives hold ELF objects. + + * archive.c (bfd_generic_archive_p): If the archive has a map, and + the target was defaulted, but the first object in the archive can + not be matched with that target, then return a bad format error. + + * elf64-sparc.c (elf_sparc_howto_table): Set howto for WDISP16 to + elf64_wdisp16_reloc. + (elf64_wdisp16_reloc): New static function. + (elf64_sparc_relocate_section): New static function. + (elf_backend_relocate_section): Define. + + * libelf.h (struct elf_size_info): Change type of last argument to + swap_symbol_out from char * to PTR. + (bfd_elf32_swap_symbol_out): Update declaration. + (bfd_elf64_swap_symbol_out): Likewise. + * elfcode.h (elf_swap_symbol_out): Change type of cdst from char * + to PTR. + * elf.c (swap_out_syms): Cast to PTR, not char *, when calling + swap_symbol_out routine. + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Likewise. + (elf_link_output_sym): Likewise. + (elf_link_output_extsym): Likewise. + * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Likewise. + +Tue Jul 11 12:29:49 1995 Rick Sladkey <jrs@world.std.com> + + * elf.c (_bfd_elf_find_nearest_line): Handle the simple case where + there is no debugging information. + +Mon Jul 10 11:45:55 1995 Ken Raeburn <raeburn@cygnus.com> + + * makefile.dos (OBJS): Add binary.o and tekhex.o. From DJ + Delorie. + +Mon Jul 10 11:09:58 1995 Ian Lance Taylor <ian@cygnus.com> + + * linker.c (set_symbol_from_hash): bfd_link_hash_new case: Don't + abort; it can happen for constructor symbols when not building + constructors. + + * coff-i960.c (coff_i960_relocate): Correct typo: use ! on strcmp, + not on string. + * cofflink.c (_bfd_coff_generic_relocate_section): Remove unused + local i. + * coff-arm.c (coff_arm_rtype_to_howto): Don't declare. + (PCRELOFFSET): Define if not already defined. + * Makefile.in: Rebuild dependencies. + (BFD32_BACKENDS): Add coff-arm.o + (CFILES): Add coff-arm.c, pe-arm.c, pei-arm.c. + + * aoutx.h (NAME(aout,link_hash_table_create)): Allocate hash table + using bfd_alloc, not malloc. + * cofflink.c (_bfd_coff_link_hash_table_create): Likewise. + * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise. + * i386linux.c (linux_link_hash_table_create): Likewise. + * linker.c (_bfd_generic_link_hash_table_create): Likewise. + * sunos.c (sunos_link_hash_table_create): Likewise. + + Based on patches from Eric Youngdale <eric@aib.com>: + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): If -Bsymbolic, + output a DT_SYMBOLIC dynamic entry. + (elf_adjust_dynamic_symbol): If -Bsymbolic, don't require a PLT + entry for a locally defined symbol. + * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, do warn + about undefined symbols, and fill in the GOT entry for a symbol + defined in a regular object file. + (elf_i386_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE + reloc rather than a GLOB_DAT reloc for a symbol defined in a + regular object file. + * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, do warn + about undefined symbols, and fill in the GOT entry for a symbol + defined in a regular object file. + (elf_m68k_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE + reloc rather than a GLOB_DAT reloc for a symbol defined in a + regular object file. + * elf32-sparc.c (elf32_sparc_relocate_section): If -Bsymbolic, do + warn about undefined symbols, and fill in the GOT entry for a + symbol defined in a regular object file. + (elf32_sparc_finish_dynamic_symbol): If -Bsymbolic, output a + RELATIVE reloc rather than a GLOB_DAT reloc for a symbol defined + in a regular object file. + + * config/m68k-coff.mt (SELECT_VECS): Rename from SELECT_VECTORS. + Correct elements to be actual BFD vector names. + + * Makefile.in (Makefile): Don't depend upon @frags@. + (config.status): Depend upon @frags@. + +Fri Jul 7 17:36:44 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffgen.c (coff_renumber_symbols): Sort defined symbols that are + neither BSF_FUNCTION not BSF_NOT_AT_END just before undefined + symbols. + * coffcode.h (coff_slurp_symbol_table): Set BSF_FUNCTION as well + as BSF_NOT_AT_END. + +Fri Jul 7 17:16:15 1995 Ken Raeburn <raeburn@cygnus.com> + + * Makefile.in (do_mostlyclean): Remove config.log. + (do_distclean): Remove config.cache. + +Thu Jul 6 14:37:43 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf32-i386.c (elf_i386_relocate_section): Revert May 24 patch. + Don't copy PC32 reloc against section into shared object. + + * Makefile.in: Rebuild dependencies. + (CFILES): Added elflink.c. + (Makefile): Depend upon config.status, not configure.in. + (config.status): New target; depend upon configure configure.host + and config.bfd. + +Wed Jul 5 20:17:14 1995 Ken Raeburn <raeburn@cygnus.com> + + * elfcore.h, elflink.h, elfcode.h, elf.c, elflink.c: Moved some + primarily size-independent code from elfcode.h to elf.c and new + file elflink.c; moved out other core- or linker-related routines + into other new .h files for clarity. Renamed many routines to + start with bfd_elf or _bfd_elf. Added a structure of + size-dependent but target-independent info to elfcode.h. + * Makefile.in: Build elflink.o. Update dependencies. + * libelf.h: Updated some declarations. Added a definition for the + new structure in elfcode.h. Added more fields to elf backend data + structure. + * elfxx-target.h: Refer to the appropriate size-dependent info. + * elf32-*.c: Changed some function names. Moved common + create_dynamic_sections code from m68k, sparc, and i386 support + into elflink.c. Define some new macros to fill in new fields of + back end data. Also clean up some "gcc -Wall" warnings regarding + unused or uninitialized variables. + + * Makefile.in (BFD_LIBS): No, don't put elflink.o here. + * configure.in: Include it here whenever elf.o is specified. + +Wed Jul 5 10:31:47 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf32-mips.c (mips_elf_object_p): Unconditionally set + elf_bad_symtab, since sometimes the symbol table is messed up and + the last symbol is global. + + * ecoff.c (_bfd_ecoff_bfd_is_local_label): New function. + * libecoff.h (_bfd_ecoff_bfd_is_local_label): Declare. + * elf32-mips.c (mips_elf_is_local_label): New static function. + (bfd_elf32_bfd_is_local_label): Define. + + * configure.in: Use $ac_config_sub, not $configsub. + * configure: Likewise. + + Permit --enable-targets=ieee: + * config.bfd (*-*-ieee*): New target. + * config/ieee.mt: New file. + +Wed Jul 5 04:16:35 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com> + + * config/i386aix.mh (HDEFINES): Remove -DFASCIST_FDOPEN. + + Autoconfiscation: + * configure.in, Makefile.in, doc/Makefile.in: Switch from Cygnus + configure to autoconf ways of processing --enable arguments, + setting up symlinks, incorporating makefile fragments, printing + messages at configuration time, setting variables in Makefile. + Deleted some unused variables. Check for ranlib via autoconf. + For now, configure script removes doc/config.status. + * configure: New file. + * dep-in.sed: Use @SRCDIR@ instead of @srcdir@, so Makefile.in + line doesn't get broken by configure. + * doc/configure.in: Removed. + +Tue Jul 4 12:22:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * archive.c (_bfd_construct_extended_name_table): If + BFD_TRADITIONAL_FORMAT is set, limit the length of all file names + to ar_max_namelen. + (bfd_dont_truncate_arname): If BFD_TRADITIONAL_FORMAT is set, call + bfd_bsd_truncate_arname. + (_bfd_write_archive_contents): Revert June 1 change. + + * elfcode.h (NAME(bfd_elf,record_link_assignment)): Add provide + argument. + * bfd-in.h (bfd_elf32_record_link_assignment): Update prototype. + (bfd_elf64_record_link_assignment): Likewise. + * bfd-in2.h: Rebuild. + + * libelf.h (struct elf_link_hash_table): Add needed field. Remove + saw_needed field. + * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name + is an empty string, don't make a DT_NEEDED entry in the output + file. Record all DT_NEEDED entries found in input dynamic + objects. + (elf_link_output_extsym): Don't check saw_needed when issuing + warnings. + * elf.c (_bfd_elf_link_hash_table_init): Initialize needed, not + saw_needed. + (bfd_elf_get_needed_list): New function. + * bfd-in.h (struct bfd_elf_link_needed_list): Define. + (bfd_elf_get_needed_list): Define. + * bfd-in2.h: Rebuild. + + * ecoff.c (_bfd_ecoff_find_nearest_line): Also initialize + find_buffer and fdrtab_len fields of newly allocated + find_line_info structure. + +Mon Jul 3 17:03:52 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (hppa_som_gen_reloc_type): New argument "sym_diff", + nonzero when we're generating relocations for an expression + using the difference of two symbols. All callers changed. + Handle difference of symbols for both R_HPPA and R_COMPLEX + cases. + (som_write_fixups): Handle R_COMP1, R_COMP2 and R_CODE_EXPR + fixups. + +Mon Jul 3 13:55:18 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * config.bfd (win32): New configuration. + * configure.host (pe): Changed to i386win32. + * config/i386pe.mh: Deleted. + * config/i386win32.mh: New file. + +Mon Jul 3 11:30:45 1995 Ian Lance Taylor <ian@cygnus.com> + + * ecoff.c (_bfd_ecoff_find_nearest_line): If we allocate + find_line_info, clear the fdrtab field. + + * targets.c (enum bfd_flavour): Add bfd_target_msdos_flavour here, + rather than in bfd-in2.h. + + * bfd.c (enum bfd_error): Define bfd_error_no_armap. + (bfd_errmsgs): Add string for bfd_error_no_armap. + * bfd-in2.h: Rebuild. + * ecoff.c (ecoff_link_add_archive_symbols): If an archive has no + armap, set bfd_error_no_armap rather than bfd_error_no_symbols. + * elfcode.h (elf_link_add_archive_symbols): Likewise. + * linker.c (_bfd_generic_link_add_archive_symbols): Likewise. + + * elfcode.h (elf_link_add_object_symbols): Permit common and + indirect symbols in weakdefs BFD_ASSERT. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Simplify + BFD_ASSERT to permit some legal, but odd, cases. + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. + * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. + + * Makefile.in: Rebuild dependencies. + (BFD32_BACKENDS): Add versados.o. + (CFILES): Add pe-i386.c, pei-i386.c, and versados.c. + +Sun Jul 2 17:49:32 1995 Ian Lance Taylor <ian@cygnus.com> + + * cofflink.c (_bfd_coff_generic_relocate_section): Cast base_file + to FILE * before using it. + * stab-syms.c: Revert yesterday's patch. + +Sat Jul 1 12:10:42 1995 Fred Fish <fnf@cygnus.com> + + * stab-syms.c (stdio.h): Include prior to libaout.h, which + includes bfdlink.h, which now uses FILE. + +Sat Jul 1 00:11:08 1995 Ken Raeburn <raeburn@cygnus.com> + + * elfxx-target.h: New file. + + * libelf.h (struct elf_backend_data): Remove elf_64_p field. + * elfxx-target.h (elfNN_bed): Don't set it. + + * elf32-target.h, elf64-target.h: Deleted. + * Makefile.in (elf32-target.h, elf64-target.h): Build them from + elfxx-target.h. + +Fri Jun 30 16:07:18 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * cofflink.c (_bfd_coff_generic_relocate_section): Compare + the full text of .reloc or .edata section names. + +Fri Jun 30 15:47:37 1995 Fred Fish <fnf@cygnus.com> + + * cofflink.c (_bfd_coff_generic_relocate_section): + Remove extra '+'. + +Thu Jun 29 17:24:52 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * coff-h8300.c (COFF_LONG_FILENAMES): Define. + +Wed Jun 28 18:04:42 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * Makefile.in: versados.o is now conditionally built. + * coffcode.h (add_data_entry): New function. + (coff_write_object_contents): Clean up. Calculate + data entries. + * cofflink.c (_bfd_coff_generic_relocate_section): + .reloc and .edata sections are IMAGE_BASED too. + If there's a base_file then write out base information. + * configure.host (i386-*-pe): New. + * syms.c (coff_section_type): Only scan prefixes. + * targets.c (bfd_target_vector): Versados is now conditionally + built. + * config/m68k-coff.mt: Build versados.o + * hosts/i386pe.h: New file. + +Mon Jun 26 13:53:49 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hpa.c (elf32_hppa_relocate_section): Close comment before + R_PARISC_DPREL21L handling. + +Thu Jun 22 19:28:36 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu> + + * config/i386-moss.mt: created. + +Thu Jun 22 08:56:10 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * reloc.c (bfd_perform_relocation): Add case for -ve words. + +Wed Jun 21 13:13:49 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_relocate_section): Don't try to apply a + relocation against an undefined symbols. + +Wed Jun 21 10:16:10 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * versados.c: Second pass/rewrite. + +Mon Jun 19 08:40:45 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * syms.c (coff_section_type): Compare only the front part + of a section name. + +Sat Jun 17 09:40:44 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_size_stubs): Set the size of the stub + section if we get an error. + + * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Don't mess + with the operands of an R_PARISC_DPREL21L relocation if the insn + is not "addil <symbol>,%r27". + +Fri Jun 16 15:04:47 1995 Stan Shebs <shebs@andros.cygnus.com> + + * bfd-in.h (NT_subsystem, NT_stack_heap): Declare but don't + define. + * bfd-in2.h: Rebuilt. + * bfd.c (NT_subsystem, NT_stack_heap): Define. + +Fri Jun 16 00:07:25 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_bfd_link_link_relocate): Use the right + type field (there are two!) when checking to see if $global$ is + defined. + +Thu Jun 15 14:03:47 1995 Stan Shebs <shebs@andros.cygnus.com> + + * bfd-in.h, bfd-in2.h (bfd_boolean): Rename bfd_true, bfd_false + to bfd_tttrue, bfd_fffalse so as not to conflict with functions. + * coffswap.h (coff_swap_scnhdr_out): Remove version that was + hacked for MPW C. + * mpw-config.in: Set shell vars instead of pasting to makefile + for each configuration, edit coffswap.h to make MPW C not choke. + (i386-unknown-coff, sh-hitachi-hms): Recognize. + * mpw-make.in (BFD_LIBS): Add versados.c.o. + + * versados.c (versados_scan): Properly cast results from bfd_alloc. + +Wed Jun 14 15:27:32 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * cofflink.c (process_embedded_commands): New function + reads and handles .drectve sections for PE. + (coff_link_input_bfd): Call new function if PE. + +Mon Jun 12 12:09:39 1995 Jeff Law (law@snake.cs.utah.edu) + + * bfd-in.h (bfd_set_section_vma): Case true to a boolean. + (bfd_set_cacheable): Likewise. + * bfd-in2.h: Rebuilt. + +Fri Jun 9 12:20:28 1995 Steve Chamberlain <sac@rtl.cygnus.com> + + * elfcode.h (elf_sort_hdrs): Rewrite to be symmetrical. + +Fri Jun 9 12:49:00 1995 Jeff Law (law@snake.cs.utah.edu) + + * targets.c: Add copy_private_symbol_data and link_split_section + to the target vector. + * libbfd-in.h (_bfd_generic_bfd_copy_private_symbol_data): Define. + (_bfd_nolink_bfd_link_split_section): Likewise. + (bfd_generic_link_split_section): Declare. + * syms.c (bfd_copy_private_symbol_data): Define. + * linker.c (bf_link_split_section): Likewise. + * som.c (som_bfd_copy_private_symbol_data): New function + (som_bfd_link_split_section): Likewise. + * All other targets updated with default versions of new routines. + + * Take out my braindamaged bfd_true/bfd_false changes from earlier + today. Replace with just: + * bfd-in.h: (TRUE_FALSE_ALREADY_DEFINED): Define this if + compiling with g++-2.6 or later. + * bfd-in2.h: Rebuilt. + +Fri Jun 9 07:54:29 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * versados.c (struct esd, get_4): Lint; use unsigned chars. + + * coff-i960.c (coff_i960_relocate): Compare output section names + when converting for vxworks. + +Wed Jun 7 19:01:30 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * elfcode.h (elf_fake_sections): Permit .scommon or COMMON + sections as random SHT_NOBITS sections, in case a linker script is + strange. + +Tue Jun 6 17:29:32 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * bfd-in.h (NT_subsystem, NT_stack_heap): Moved from pe.h + * coff-i386.c (coff_i386_rtype_to_howto): Get PE relocs right. + * coffcode.h (coff_mkobject): Set pe tdata bit when using PE. + * cofflink.c (COFF_WITH_PE code): Test on obj_pe bit rather + than conditional compile. + * configure.in: Fix PE dependencies. + * libcoff-in.h (obj_pe): New. + (coff_tdata): Added pe entry. + * libcoff.h: Regenerated. + +Mon Jun 5 09:07:13 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * coff-a29k.c (coff_a29k_adjust_symndx): Completely parenthesize + macro. + +Mon Jun 5 02:15:20 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> + + Linker support for m68k-elf from Andreas Schwab + <schwab@issan.informatik.uni-dortmund.de>: + * elfcode.h (elf_link_add_object_symbols): Check for NULL when + looping through the symbol hashes. + (elf_bfd_final_link): When looking for _init and _fini don't use + the symbol if it is imported from another object. + * elf32-m68k.c: Relocation type changed from REL to RELA. Regular + and dynamic linking support functions added, similar to other elf + targets. + + * config.bfd (i[345]86-*-gnu*): Use ELF configuration. + +Fri Jun 2 18:54:59 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * versados.c: New file. + * bfd-in2.h (struct _bfd): New field. + * bfd.c (struct _bfd): New field. + * configure.in (versados_vec): New field. + * targets.c (bfd_flavor): Added versados. + +Thu Jun 1 13:51:49 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * coffcode.h (sec_to_styp_flags, styp_to_sec_flags, + coff_new_section_hook): Any section that starts ".stab" + is now marked as debugging. + +Thu Jun 1 16:15:16 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * archive.c (_bfd_write_archive_contents): Disable extended name + table until it can be made optional, so that native AR has half a + chance on SunOS and HP/UX. + + * linker.c (_bfd_generic_link_output_symbols, case + bfd_link_hash_indirect): Add cast to correct pointer types. + +Sat May 27 21:37:31 1995 J.T. Conklin <jtc@rtl.cygnus.com> + + * config.bfd (m68k-bull-sysv*): Added strip_underscore=yes. + (m68k-est-coff): Removed. target does not effect object format. + +Wed May 24 10:52:01 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * linker.c (_bfd_generic_link_output_symbols): Cope with + indirect symbols. + + * elf32-i386.c (elf_i386_relocate_section): Give error + message when linking to a shared reloc which isn't there. + +Wed May 24 10:40:00 1995 Steve Chamberlain <sac@slash.cygnus.com> + + Support for ARM-PE. + + * Makefile.in, coffcode.h, config.bfd, configure.in, pe-arm.c, + pei-arm.c, coff-arm.c, reloc.c, targets.c, config/arm-pe.mt: + Support for ARM COFF/PE. + +Tue May 23 19:24:58 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * bfd.c (bfd_get_relocated_section_contents): Now a function, + tries calling routine from input bfd target vector for + bfd_indirect_link_order. Put a declaration into the header file. + * bfd-in2.h: Regenerated. + * elf32-mips.c (gprel16_with_gp): New function, split out from + mips_elf_gprel16_reloc. + (mips_elf_gprel16_reloc): Call it. If output bfd target vector + isn't elf flavoured, abort, since it's assumed to be elf in some + of this code, including the code that looks up the gp value. + (elf32_mips_get_relocated_section_contents): New function, + modified from bfd_generic_get_relocated_section_contents to deal + with passing gp to gprel16_with_gp. + (bfd_elf32_bfd_get_relocated_section_contents): New macro. + * elf32-target.h (bfd_elf32_bfd_get_relocated_section_contents): + Don't define if already defined. + +Tue May 23 15:58:15 1995 Jeff Law (law@snake.cs.utah.edu) + + * Makefile.in: Install bfdlink.h too. + +Sun May 21 22:25:09 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_relocate_section): Handle undefined and + notsupported return codes from final_link_relocate (used when + $global$ is undefined or nonexistant). + (elf32_hppa_bfd_link_link_relocate): If $global$ exists, but is + not defined,then return bfd_reloc_undefined. + +Fri May 19 10:00:14 1995 Steve Chamberlain <sac@rtl.cygnus.com> + + * coffswap.h: (IMAGE_BASE): Define to 0 if not. + +Thu May 18 04:24:01 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> + + Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * aoutx.h (aout_link_input_section_standard): If defined, call + MY_relocatable_reloc before doing a partial relocation. + + * aout-arm.c: (WRITE_HEADERS): Delete. + (NAME): Define version to override default in aoutx.h + (MY(howto_table)): Reformat. Alter some entries slightly. + (RELOC_ARM_BITS_NEG_{BIG,LITTLE}): Define. + (MY(reloc_howto), MY(put_reloc), MY(relocatable_reloc)): New functions. + (MY_reloc_howto, MY_put_reloc, MY_relocatable_reloc): Define. + (MY(fix_pcrel_26)): Renamed from aoutarm_fix_pcrel_26, return + bfd_reloc_ok not bfd_reloc_continue. + (MY(fix_pcrel_26_done)): Likewise. + (MY(bfd_reloc_type_lookup)): Renamed from aoutarm_reloc_type_lookup. + (MY_bfd_link_hash_table_create, MY_bfd_link_add_symbols, + MY_bfd_final_link): Delete. + (MY_swap_std_reloc_in, MY_swap_std_reloc_out, MY_get_section_contents): + Define. + (aoutx.h): Include it. + (MY(swap_std_reloc_{in,out})): New functions. + Use RELOC_ARM_BITS_NEG_{BIG,LITTLE} to extract negative reloc bit. + (aoutarm_squirt_out_relocs): Delete. + + From: David Taylor (dtaylor@armltd.co.uk) + * config/arm[lb]-aout.mt: New files. + * aout-arm.c: New file. + * config.bfd: Handle arm{,e[lb]}-*-aout + * configure.in: Add vetor for aout_arm_{big,little}_vec. + * reloc.c: New relocation types for the ARM. + * targets.c (aout_arm_{big,little}_vec): declare. + +Tue May 16 10:29:51 1995 Jim Kingdon <kingdon@deneb.cygnus.com> + + * libbfd.c (bfd_stat): If bfd_cache_lookup returns an error, + return an error to the caller. Call bfd_set_error on errors. + +Tue May 16 14:44:45 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * libcoff-in.h (coff_renumber_symbols): Modified prototypes in + accordance with 11 May libcoff.h change. + +Thu May 11 16:43:14 1995 Steve Chamberlain <sac@slash.cygnus.com> + + tekhex.c (first_phase): Understand type 0 symbols. + (tekhex_write_object_contents): Fix typo in final record. + +Thu May 11 16:43:14 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * coff-i960.c (optcall_callback): don't try and optimize + undefined refs. + (coff_write_relocs): Search for broken relocs on the way + out and fix them up. + (coff_renumber_symbols): Calculate and return index of + first undefined symbol. + (coff_write_object_contents): Call coff_renumber_symbols + and coff_write_relocs with the new args. + * libcoff.h: (coff_renumber_symbols, coff_renumber_symbols): + Modified prototypes. + +Thu May 11 16:43:14 1995 Steve Chamberlain <sac@slash.cygnus.com> + Tom Griest <griest@cs.yale.edu> + + Initial support for PE format. + + * Makefile.in, targets.c, configure.in, config.bfd: + Add support for i386-*-winnt and i386-*-pe. + * archive.c (do_slurp_coff_armap): Understand NTPE format + archives. + (_bfd_slurp_extended_name_table): Turn \ in a filename + into /. + * bfd-in.h (bfd_link_subsystem, _bfd_link_stack_heap): New. + * coff-i386.c (howto_table): Conditionalize PCRELOFFSET. + * coffcode.h (IMAGE_BASE): New. + (coff_compute_section_file_positions): Throw away .junk + sections for PE, align symbols. + (coff_write_object_contents): Throw away .junk sections + for PE. Remember info on .idata and .rsrc sections. + Fill in the PE header. + (coff_slurp_symbol_table): PE uses C_SECTION class. + * cofflink.c (_bfd_coff_final_link): Keep PE info up to date. + (_bfd_coff_generic_relocate_section): Cope with PE relocs. + * coffswap.h (coff_swap_{aout/file/scn/sym}hdr_{in/out}): + New code for PE headers. + +Tue May 9 17:01:38 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * config.bfd: Add little endian PowerPC support. + * configure.in: Ditto. + * targets.c: Ditto. + * config/ppcle-elf.mt: New file, for little endian PowerPC + support. + * config/ppc-elf.mt: Add little endian powerpc to the BFD + selection vectors. + * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Complain if + linking a different endian object than we expect. + (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define, to provide little + endian support. + +Tue May 2 16:32:24 1995 Jeff Law (law@snake.cs.utah.edu) + + * config.bfd (hppa*-*-lites*): Treat just like hppa*-*-*elf*. + +Tue Apr 25 19:38:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * coffgen.c (make_a_section_from_file): Initialize lma same as + vma. + +Tue Apr 25 11:03:21 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * hosts/std-host.h: #include ansidecl.h 'cause PTR is used in + std-host.h. + +Mon Apr 24 23:56:44 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * hosts/i386linux.h (HAVE_PROCFS): Don't define it. Added lengthy + comment explaining why. + +Mon Apr 24 10:34:02 1995 Michael Meissner <meissner@cygnus.com> + + * hosts/i386linux.h (HAVE_PROCFS): If NO_PROCFS is defined, don't + define HAVE_PROCFS. + +Mon Apr 24 08:33:12 1995 Michael Meissner <meissner@cygnus.com> + + * elf32-ppc.c (ppc_elf_relocate_section): Do not continue + processing unknown symbols to prevent a cascade of errors. + +Fri Apr 21 12:48:48 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Patches from H.J. Lu for Linux ELF core file support. + * elfcode.h (elf_core_file_matches_executable_p) [HAVE_PROCFS]: + Use prpsinfo_t instead of struct prpsinfo, for consistency. + * hosts/i386linux.h (HAVE_PROCFS): Define. + +Thu Apr 20 09:07:39 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * linker.c (link_action): Do the right thing when a undefined + strong symbol appears after an undefined weak symbol. + +Fri Apr 14 16:51:17 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_relocate_section): New function to relocate + a whole section for the linker, bypassing bfd_perform_relocation. + (ppc_elf_reloc_type_lookup): New function to map the BFD + enumeration code into a howto structure. + (ppc_elf_howto_raw): Rename from ppc_elf_howto_table. + (ppc_elf_howto_table): New array that maps PowerPC relocation + numbers to howto structures without a linear search. Change from + using bfd_elf_generic_reloc to use ppc_elf_std_reloc. + (ppc_elf_howto_init): Initialize ppc_elf_howto_table from + ppc_elf_howto_raw. + (ppc_elf_reloc_type_lookup): Use a case statement instead of a + loop. + (ppc_elf_std_reloc): Replacement for bfd_elf_generic_reloc. + (ppc_elf_unsupported_reloc): Print a real error message, instead + of calling abort. + (ppc_elf_addr16_ha_inner): Abstract getting adjustment from + ppc_elf_addr16_ha_reloc, so ppc_elf_relocate_section can use it + too. + (ppc_elf_addr16_ha_reloc): Call it. + (ppc_elf_got16_inner): Abstract getting adjustment from + ppc_elf_got16_reloc, so ppc_elf_relocate_section can use it too. + (ppc_elf_got16_reloc): Call it. + (ppc_elf_info_to_howto): Rename from powerpc_info_to_howto. + + * elfcode.h (elf_symbol_from_bfd_symbol): Omit space in debugging + output. + (elf_symbol_flags): Add debug function to decode flags so that + defining DEBUG to be 4 will compile again. + (elf_debug_section): Fix typo in debug output. + +Fri Apr 14 16:03:04 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * config.bfd: Add m68*-*-elf*. + * elf32-m68k.c: Filled out implementation, except for dynamic + linking support. + * reloc.c (enum bfd_reloc_code_real): Added *_GOT_PCREL, *_GOTOFF, + *_PLT_PCREL, *_PLTOFF, *_68K_* relocations for ELF. + * libbfd.h, bfd-in2.h: Regenerated. + +Thu Apr 13 14:28:04 1995 Torbjorn Granlund <tege@adder.cygnus.com> + + * coff-m68k.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from + 1 to 2. + (bfd_target): Change minimum section alignment from 1 to 2. + +Wed Apr 12 12:40:04 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * aoutx.h (machine_type, case bfd_arch_mips): Treat R8000 like + R6000 and R4000 for now. + +Tue Apr 4 12:28:25 1995 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-config.in: New file, MPW version of configure.in. + * mpw-make.in: New file, MPW version of Makefile.in. + * hosts/mpw.h: New file, MPW host definitions. + * ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_in) [MPW_C]: + Alternate versions without ECOFF_64 that chokes MPW C. + * coffswap.h (coff_swap_scnhdr_out): Add alternative version with + partly-expanded macros. + +Thu Mar 30 14:56:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * reloc.c (bfd_perform_relocation): Don't bother to check for + overflow if the symbol is undefined. + +Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com) + + * config.bfd: Change linux to default to elf. Using + i[345]86-*-linuxaout will build a library which defaults to a.out. + * config/i386-laout.mt: Rename from old config/i386-linux.mt. + * config/i386-linux.mt: Rename from old config/i386-lelf.mt. + Comment out EXTRALIBS. + * config/i386-lelf.mt: Remove. + +Wed Mar 29 12:01:30 1995 Ian Lance Taylor <ian@cygnus.com> + + * coff-i960.c (coff_i960_relocate): Cache the section symbol in + the used_by_bfd field of the section, to avoid looping for each + reloc. + + * cpu-h8500.c (arch_info_struct): Change name from "H8/300" to + "h8300" for consistency with other cpu-* files. + +Tue Mar 28 15:14:11 1995 Ian Lance Taylor <ian@cygnus.com> + + * bout.c (b_out_canonicalize_reloc): Handle SEC_CONSTRUCTOR + sections. + (b_out_get_reloc_upper_bound): Likewise. + + * linker.c (generic_link_add_symbol_list): Skip constructor + symbols which the main linker code did not do anything with. + (_bfd_generic_link_output_symbols): Use udata.p if it is set, + rather than looking the symbol up in the hash table. Just pass + through constructor symbols for which udata.p is not set. If the + linker defined the symbol, clear the constructor flag. + +Tue Mar 21 10:50:32 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_set_reloc_info): Sign extend constants from + R_DATA_OVERRIDE fixups. + * libhppa.h (sign_extend): Renamed from sign_ext. Fix. + (low_sign_extend): Likewise. + +Mon Mar 20 22:39:10 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_slurp_symbol_table): Tighten test to determine + what symbols are section symbols. + +Sat Mar 18 01:54:45 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (elf_bfd_link_add_symbols): An empty archive is OK. + +Fri Mar 17 16:29:02 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_copy_private_section_data): Just return true when + either the input or output section isn't attached to a SOM BFD. + (som_bfd_copy_private_bfd_data): Similarly for BFD private data. + +Fri Mar 17 11:50:34 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (elf_link_add_object_symbols): Check whether a dynamic + object has already been included, and ignore it the second time. + +Wed Mar 15 11:56:40 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT13 from + complain_overflow_bitfield to complain_overflow_signed. + + * libelf.h (bfd_elf32__write_relocs): Don't declare. + (bfd_elf64__write_relocs): Don't declare. + +Tue Mar 14 05:54:33 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * stab-syms.c (aout_stab_name): Moved aout_stab_names to be local + to this function. Recoded function to stop using table, to + improve performance (on i486-netbsd host). Left old version + intact under "#if 0" for further performance testing. + +Mon Mar 13 13:48:49 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (write_relocs): Make static. Use PTR argument as a + pointer to a boolean variable set to true if something fails. + Cast to PTR rather than void *. + (sym_is_global): Rewrite for clarity. + (map_program_segments): If the program header size is too small, + call _bfd_error_handler and return failure rather than aborting. + (NAME(bfd_elf,write_object_contents)): Pass boolean variable when + calling write_relocs. + (elf_symbol_from_bfd_symbol): Use BFD_ASSERT rather than abort. + (struct elf_info_failed): Define. + (NAME(bfd_elf,size_dynamic_sections)): Declare variables in inner + blocks. Pass elf_info_failed structure when calling + elf_export_symbol and elf_adjust_dynamic_symbol. + (elf_export_symbol): Treat data argument as elf_info_failed rather + than bfd_link_info. Set failed field on error. + (elf_adjust_dynamic_symbol): Likewise. + (struct elf_finfo_failed): Define. + (elf_bfd_final_link): Pass elf_finfo_failed structure when calling + elf_link_output_extsym. Use BFD_ASSERT rather than abort. + (elf_link_output_extsym): Treat data argument as elf_finfo_failed + rather than elf_final_link_info. Set failed field on error. + (elf_link_input_bfd): Use BFD_ASSERT rather than abort. + (elf_reloc_link_order): Likewise. + + * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Only write + out PLTRELSZ, PLTREL and JMPREL relocs if there is a .rela.plt + section. Solaris 2.4 apparently does not handle empty reloc + information correctly. + + * archive.c (bsd_write_armap): Cast getuid and getgid results to + long, and print with %ld. + + +Fri Mar 10 16:41:05 1995 Ian Lance Taylor <ian@cygnus.com> + + * aoutx.h (translate_to_native_sym_flags): Always use the output + section if it is not NULL. + +Thu Mar 9 15:06:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffswap.h (coff_swap_scnhdr_out): If the line number count or + the reloc count does not fit, print an error and return 0. + * coffcode.h (coff_write_object_contents): Check return value of + coff_swap_scnhdr_out. + * ecoff.c (_bfd_ecoff_write_object_contents): Check return value + of bfd_coff_swap_scnhdr_out. + + * bfd.c: Include <stdarg.h> or <varargs.h>, depending upon + ANSI_PROTOTYPES. + (bfd_error_handler_type): New global type. + (_bfd_error_program_name): New static variable. + (_bfd_default_error_handler): New static function. + (_bfd_error_handler): New BFD private global variable. + (bfd_set_error_handler): New globally visible function. + (bfd_set_error_program_name): New globally visible function. + * libbfd-in.h (_bfd_error_handler): Declare. + * bfd-in2.h, libbfd.h: Rebuild. + + * aoutx.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter, + and use it instead of bfd_get_symcount. Check r_index after + setting r_extern based on whether this is a base relative reloc. + (NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it + instead of bfd_get_symcount. + (NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc + swap routines. + * libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter + to declaration. + (NAME(aout,swap_std_reloc_in)): Likewise. + * sunos.c (sunos_canonicalize_dynamic_reloc): Pass + info->dynsym_count to reloc swap routines. + * aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter. + * hp300hpux.c (MY(swap_std_reloc_in)): Likewise. + (MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap + routine. + * i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount + parameter. + (NAME(lynx,swap_std_reloc_in)): Likewise. + (NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc + swap routines. + +Thu Mar 9 12:04:05 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * bfd.c (bfd_merge_private_bfd_data): New function vector to be + called by the linker to merge any private bfd data of the input + files and the output file. Used by the PowerPC ELF support to + check whether -mrelocatable is used for all modules. + (bfd_set_private_flags): New function vector to be called by the + assembler to set private flags. Used by the PowerPC ELF support + to set that a particular object file was assembled with the + -mrelocatable option. + + * targets.c (BFD_JUMP_TABLE_COPY): Add intiialization of the + bfd_merge_private_bfd_data and bfd_set_private_flags function + vectors. + + * bfd-in2.h, libbfd-in.h: Rebuild with bfd.c and targets.c + changes. + + * elf32-ppc.c (ppc_elf_set_private_flags): New function to set the + ELF e_flags field. + (ppc_elf_copy_private_bfd_data): Copy the e_flags field from the + input file to the output file. + (ppc_elf_merge_private_bfd_data): Check for a mismatch between the + e_flags field of all of the linker input files. + + * libelf.h (elf_obj_tdata): Add ppc_flags_init field so that the + PowerPC support can check if compataible e_flags are present. + + * aout-target.h: Add NOP for the bfd_merge_private_bfd_data + and bfd_set_private_flags function vectors. + * coffcode.h: Ditto. + * elf32-target.h: Ditto. + * elf64-target.h: Ditto. + * libbfd.h: Ditto. + * libecoff.h: Ditto. + * som.c: Ditto. + +Wed Mar 8 00:53:54 1995 Ian Lance Taylor <ian@cygnus.com> + + * cpu-mips.c (arch_info_struct): Add mips:8000 entry. + + * elfcode.h (swap_out_syms): Mark an undefined BSF_WEAK symbol as + STB_WEAK rather than STB_GLOBAL. + + +Tue Mar 7 12:23:47 1995 Ian Lance Taylor <ian@cygnus.com> + + * coffcode.h (bfd_coff_backend_data): Add new field + _bfd_coff_adjust_symndx. + (bfd_coff_adjust_symndx): Define. + (coff_adjust_symndx): Define as NULL if not already defined. + (bfd_coff_std_swap_table): Initialize new field to + coff_adjust_symndx. + * cofflink.c (coff_link_input_bfd): Call coff_adjust_symndx if it + is defined. + * coff-a29k.c (coff_a29k_adjust_symndx): New static function. + (coff_adjust_symndx): Define before including coffcode.h. + * libcoff.h: Rebuild. + + * format.c (bfd_check_format_matches): Skip binary_vec when + searching through bfd_target_vector. + + * elfcode.h (elf_sort_hdrs): Check SHT_NOBITS before checking + sh_size. + +Mon Mar 6 23:31:36 1995 Doug Evans <dje@chestnut.cygnus.com> + + * elfcode.h (elf_sort_hdrs): Keep SHT_NOBITS sections after + !SHT_NOBITS ones. + +Mon Mar 6 09:53:08 1995 Jeff Law (law@snake.cs.utah.edu) + + * cpu-hppa.c (arch_info_struct): Support both PA1.0 and PA1.1 + machine types. + (bfd_hppa_arch): Link in both PA1.0 and PA1.1 architecture info + structures. + * libhppa.h (enum pa_arch): New enumeration to describe the + different variants of the PA architecture. + * som.c (som_object_setup): Use new enumeration to set machine + type. + (som_finish_writing): If the machine type is PA1.1, then use the + PA1.1 machine identifier in the output file. + +Thu Mar 2 15:58:24 1995 Ian Lance Taylor <ian@cygnus.com> + + * aoutx.h (NAME(aout,swap_ext_reloc_in)): Treat the index of a + base relative reloc as an index into the symbol table, regardless + of the setting of r_extern. + (NAME(aout,swap_std_reloc_in)): Likewise. + + * aoutx.h (NAME(aout,set_section_contents)): Double check that the + caller is writing to a valid section. + +Thu Mar 2 14:37:57 1995 Bryan Ford <baford@cs.utah.edu> + + * binary.c: Add support for reading binary files. Loads the raw + contents of the file into a data section and wraps some symbols + around it. The symbols `_binary_<filename>_start' and + `_binary_<filename>_end' indicate the start and end of the data, + while `_binary_<filename>_size' is an absolute symbol whose value + is the size of the data. <filename> is the name of the binary + input file, with all non-alphanumeric characters converted to + underscores. + + * archures.c (bfd_arch_get_compatible): Assume users knows what + they're doing if one of the architectures is bfd_arch_unknown. + +Wed Mar 1 17:30:46 1995 Michael Meissner <meissner@cygnus.com> + + * elf32-ppc.c (elf_powerpc_howto_table): For relocation + R_PPC_GOT16, change complain_on_overflow to be + complain_overflow_signed. + +Wed Mar 1 11:52:55 1995 Jason Molenda <crash@phydeaux.cygnus.com> + + * configure.host: Recognize powerpc-*-aix*. + +Wed Mar 1 11:57:39 1995 Ian Lance Taylor <ian@cygnus.com> + + * coff-i960.c (COFF_PAGE_SIZE): Define. + + * configure.in: Rewrite output of TDEFAULTS to avoid relying on + semantics of single quotes in parameter substitution. + +Tue Feb 28 12:53:09 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (elf_sort_hdrs): Sort empty sections before non-empty + sections, if they have the same VMA. + + * config.bfd (i[345]86-*-linuxelf*): New target. Use i386-lelf. + (i[345]86-*-gnuelf*): New target. Use i386-gelf. + * config/i386-lelf.mt: New file. + * config/i386-gelf.mt: New file. + +Mon Feb 27 12:58:25 1995 Kung Hsu <kung@mexican.cygnus.com> + + * config.bfd: add a29k-*-vxworks configuration. + +Wed Feb 22 14:40:26 1995 Ian Lance Taylor <ian@cygnus.com> + + * libaout.h (NAME(aout,slurp_reloc_table)): Change declaration to + use reloc_howto_type rather than const struct reloc_howto_struct. + +Tue Feb 21 18:19:22 1995 Ian Lance Taylor <ian@cygnus.com> + + * bout.c (b_out_slurp_reloc_table): Don't return an error if asked + for relocations for the .bss section. + +Tue Feb 21 15:13:05 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_ar_write_symbol_stuff): Handle objects with odd + lengths. + +Fri Feb 17 12:34:36 1995 Michael Meissner <meissner@cygnus.com> + + * elf32-ppc.c (ppc_elf_got16_reloc): Make GOT style relocs add + 32768, so the GOT pointer can point to 16384 pointers, instead of + 8192. + +Fri Feb 17 11:45:38 1995 Ian Lance Taylor <ian@cygnus.com> + + * hosts/sysv4.h: Include <unistd.h>, <stdlib.h>, and <time.h>. + Only define SEEK_SET and SEEK_CUR if they are not already defined. + Remove all external function declarations. + + * syms.c (bfd_decode_symclass): Return 'W' for a weak symbol. + + * coffgen.c (coff_real_object_p): Set start address and flags + before calling coff_mkobject_hook. Restore them on failure. + * ecoff.c (_bfd_ecoff_mkobject_hook): If not ECOFF_AOUT_ZMAGIC, + clear D_PAGED. + + * coffgen.c: Reindented. + +Thu Feb 16 14:37:23 1995 Doug Evans <dje@cygnus.com> + + * reloc.c (bfd_perform_relocation): Don't use bitpos in overflow + calculations. + (bfd_install_relocation): Likewise. + +Thu Feb 16 13:22:29 1995 Ian Lance Taylor <ian@cygnus.com> + + * hosts/std-host.h: Remove all function declarations which return + int or void, except the one for free. + +Wed Feb 15 14:54:18 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (elf_powerpc_howto_table): Use a destination mask of + 0xffffffff for R_PPC_REL32, not 0. + (powerpc_reloc_map): Add low 16 bit, high 16 bit, and high 16 bit + adjusted relocations. + +Tue Feb 14 17:47:17 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf32-mips.c (struct mips_elf_find_line): Define. + (mips_elf_find_nearest_line): New static function. + (bfd_elf32_find_nearest_line): Define. + * libelf.h (struct elf_obj_tdata): Add find_line_info field. + + * ecoff.c (_bfd_ecoff_swap_tir_in): Move to ecofflink.c. + (_bfd_ecoff_swap_tir_out): Likewise. + (_bfd_ecoff_swap_rndx_in): Likewise. + (_bfd_ecoff_swap_rndx_out): Likewise. + (cmp_fdrtab_entry): Likewise. + (mk_fdrtab): Likewise. + (lookup): Likewise. + (_bfd_ecoff_find_nearest_line): Just call _bfd_ecoff_locate_line + to do most of the work. Allocate find_line_info if necessary. + * ecofflink.c: Include "aout/stab_gnu.h". + (_bfd_ecoff_swap_tir_in): Move in from ecoff.c. + (_bfd_ecoff_swap_tir_out): Likewise. + (_bfd_ecoff_swap_rndx_in): Likewise. + (_bfd_ecoff_swap_rndx_out): Likewise. + (cmp_fdrtab_entry): Likewise. Use PTR instead of void *. + (mk_fdrtab): Move in from ecoff.c. Add debug_info, debug_swap, + and line_info arguments, and use them instead of ecoff_data. + (fdrtab_lookup): Move in from lookup in ecoff.c. Remove abfd + argument, add line_info argument. Use it instead of ecoff_data. + (_bfd_ecoff_locate_line): New function, mostly from the old + _bfd_ecoff_find_nearest_line in ecoff.c. + * libecoff.h (ecoff_data_type): Remove find_buffer, fdrtab_len and + fdrtab fields, replacing them find_line_info field. + (_bfd_ecoff_swap_tir_in): Declare. + (_bfd_ecoff_swap_tir_out): Declare. + (_bfd_ecoff_swap_rndx_in): Declare. + (_bfd_ecoff_swap_rndx_out): Declare. + * libbfd-in.h (_bfd_ecoff_locate_line): Declare. + * libbfd.h: Rebuild. + * configure.in: Don't use ecoff.o for bfd_elf32_bigmips_vec or + bfd_elf32_littlemips_vec. + * Makefile.in: Rebuild dependencies. + +Tue Feb 14 14:04:22 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * libelf.h (elf_backend_data): Add fields elf_machine_alt1 and + elf_machine_alt2 which provide alternate versions of the machine + code. + + * elf32-ppc.c (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Define to + recognize old versions of the PowerPC machine code. + + * elf32-target.h (elf32_bed): Initialize alternate machine code + fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2. + + * elf64-target.h (elf64_bed): Initialize alternate machine code + fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2. + + * elfcode.h (elf_object_p, elf_core_file_p): In addition to the + main machine code field, check the two alternate machine code + fields. + +Tue Feb 14 12:46:48 1995 Ian Lance Taylor <ian@cygnus.com> + + * aoutf1.h (MACHTYPE_OK): Don't define if already defined. Don't + accept M_SPARC if bfd_arch_sparc is not in the list of supported + architectures, and don't accept a 680x0 machine type if + bfd_arch_m68k is not in the list of supported architectures. + * aout0.c (MACHTYPE_OK): Define. + +Mon Feb 13 23:25:38 1995 Ian Lance Taylor <ian@cygnus.com> + + * aoutx.h (NAME(aout,swap_ext_reloc_in)): Don't return a pointer + to garbage if the symbol index is out of range. + (NAME(aout,swap_std_reloc_in)): Likewise. + + +Thu Feb 9 18:36:52 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * Makefile.in (BFD32_BACKENDS): Add i386msdos.o. + +Thu Feb 9 12:02:35 1995 Ian Lance Taylor <ian@cygnus.com> + + * i386linux.c (NEEDS_SHRLIB): Define. + (linux_tally_symbols): Crash if a NEEDS_SHRLIB symbol is + undefined. From hjl@nynexst.com (H.J. Lu). + +Wed Feb 8 17:26:00 1995 Ian Lance Taylor <ian@cygnus.com> + + * linker.c (generic_link_check_archive_element): Allocate common + symbol information structure. Don't bother to check for common + symbol size overflow. + (_bfd_generic_link_add_one_symbol): Likewise. + * aoutx.h (aout_link_check_ar_symbols): Likewise. + * linker.c (generic_link_check_archive_element): Adjust references + to common symbol information for new structure. + (_bfd_generic_link_add_one_symbol): Likewise. + * aoutx.h (aout_link_check_ar_symbols): Likewise. + (aout_link_add_symbols): Likewise. + * ecoff.c (ecoff_link_add_externals): Likewise. + * elfcode.h (elf_link_add_object_symbols): Likewise. + (elf_link_output_extsym): Likewise. + * sunos.c (sunos_add_one_symbol): Likewise. + +Wed Feb 8 09:53:42 1995 Doug Evans <dje@canuck.cygnus.com> + + * elfcode.h (elf_sort_hdrs): Put SHT_NOBITS sections after !SHT_NOBITS. + +Tue Feb 7 16:27:33 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_find_nearest_line): Just return false, don't + abort. + +Tue Feb 7 14:43:33 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * ecoff.c: Reformatted some comments and brace constructs in + recent changes to GNU style. + (cmp_fdrtab_entry, mk_fdrtab, lookup): Use old-style function + definitions. + +Tue Feb 7 14:21:28 1995 Ian Lance Taylor <ian@cygnus.com> + + * ecoffswap.h (ecoff_swap_pdr_in): Zero out intern before setting + any of the fields. + +Mon Feb 6 20:01:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Sat Feb 4 14:20:24 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu> + + * ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_out): added + internalizing/externalizing new "prof" field. + + * libecoff.h (ecoff_tdata): added fdrtab. + + * ecoff.c (_bfd_ecoff_find_nearest_line): Fixed. + +Mon Feb 6 14:25:24 1995 Ian Lance Taylor <ian@cygnus.com> + + * libelf.h (struct elf_link_hash_table): Add saw_needed field. + * elfcode.h (elf_link_add_object_symbols): Set saw_needed if + DT_NEEDED seen in .dynamic section. + (elf_link_output_extsym): Warn if an undefined symbol is + only referenced from a dynamic object, and not making a shared + object, and saw_needed is false. + * elf.c (_bfd_elf_link_hash_table_init): Initialize saw_needed. + + * libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Don't define. + * elfcode.h (elf_link_add_object_symbols): Don't clear or set + ELF_LINK_HASH_DEFINED_WEAK. + (elf_link_output_extsym): Don't check ELF_LINK_HASH_DEFINED_WEAK. + + Distinguish a weak defined symbol from a regular defined symbol. + * linker.c (enum link_action): Add DEFW. + (link_action): Add bfd_link_hash_defweak column. + (_bfd_generic_link_add_one_symbol): Add DEFW case. Handle + bfd_link_hash_defweak in a few other cases. + * Many files (bfd_link_hash_undefweak): Renamed from + bfd_link_hash_weak. + * aoutx.h (aout_link_write_symbols): Handle bfd_link_hash_defweak. + (aout_link_write_other_symbol): Likewise. + (aout_link_input_section_std): Likewise. + (aout_link_input_section_ext): Likewise. + * bout.c (get_value): Likewise. + * coff-a29k.c (coff_a29k_relocate_section): Likewise. + * coff-alpha.c (alpha_convert_external_reloc): Likewise. + (alpha_relocate_section): Likewise. + * coff-mips.c (mips_relocate_section): Likewise. + (mips_relax_section): Likewise. + (bfd_mips_ecoff_create_embedded_relocs): Likewise. + * cofflink.c (coff_write_global_sym): Likewise. + (_bfd_coff_generic_relocate_section): Likewise. + * ecoff.c (ecoff_link_add_externals): Likewise. + (ecoff_link_write_external): LIkewise. + * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. + (elf32_hppa_size_stubs): Likewise. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise. + (elf_i386_relocate_section): Likewise. + (elf_i386_finish_dynamic_symbol): Likewise. + * elf32-mips.c (mips_elf_output_extsym): Likewise. + (mips_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. + (elf32_sparc_relocate_section): Likewise. + * elfcode.h (elf_link_add_object_symbols): Likewise. + (elf_adjust_dynamic_symbol): Likewise. + (elf_bfd_final_link): Likewise. + (elf_link_output_extsym): Likewise. + * i386linux.c (linux_add_one_symbol): Likewise. + (linux_tally_symbols): Likewise. + (linux_finish_dynamic_link): Likewise. + * linker.c (_bfd_generic_link_output_symbols): Likewise. + (set_symbol_from_hash): Likewise. + * reloc16.c (bfd_coff_reloc16_get_value): Likewise. + (bfd_perform_slip): Likewise. + * sunos.c (sunos_add_one_symbol): Likewise. + (sunos_scan_std_relocs): Likewise. + (sunos_scan_ext_relocs): Likewise. + (sunos_scan_dynamic_symbol): Likewise. + (sunos_write_dynamic_symbol): Likewise. + +Mon Feb 6 03:20:17 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Changes from Bryan Ford, baford@schirf.cs.utah.edu: + * config.bfd (i[345]86-*-msdos*): New target. + * configure.in (i386msdos_vec): Handle it. + * i386msdos.c: New file. + * config/i386-msdos.mt: New file. + * bfd.c (enum bfd_error): Added new value bfd_error_file_too_big. + (bfd_errmsgs): Added string to table. + * libaout.h (reloc_type-lookup): Declare it. + * targets.c (enum bfd_flavour): Added bfd_target_msdos_flavour. + (i386msdos_vec): Declare. + (bfd_target_vector): Add it to the list. + * bfd-in2.h: Regenerated. + +Wed Feb 1 01:32:14 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_set_reloc_info, case R_DATA_ONE_SYMBOL): If there's + nothing in R_DATA_OVERRIDE, then try to find the addend in the + section's contents. + (som_write_fixups): Ignore the addend in a R_DATA_ONE_SYMBOL fixup. + + * som.c (som_object_setup): More heruistics to detect the + braindamaged HP OSF1 linker. + (setup_sections): Don't forget to free subspace_sections if we get + an error. + (som_slurp_string_table): Allocate strings on this bfd's obstack + rather than directly out of the heap. + (som_slurp_symbol_table): Likewise for the saved copy of the + canonical symbols. + (som_slurp_reloc_table): Likewise for the saved copy of the + canonical relocations. Free the native relocations when we're + done with them. + +Tue Jan 31 21:53:28 1995 Doug Evans <dje@canuck.cygnus.com> + + * libelf.h (struct elf_obj_tdata): New member program_header_size. + * elfcode.h (get_program_header_size): New parameters sorted_hdrs, + count, and maxpagesize. All callers updated. + If sorted_hdrs is non-NULL, use it to compute the number of segments. + Save result in case called again. + (assign_file_positions_except_relocs): Sort headers before calling + get_program_header_size. + +Tue Jan 31 15:27:53 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (map_program_segments): Add sorted_hdrs parameter. + Search through it rather than through unsorted section headers. + (assign_file_positions_except_relocs): Pass sorted_hdrs to + map_program_segments. + +Mon Jan 30 22:04:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * ecoff.c (_bfd_ecoff_find_nearest_line): Fix problems in range + checking. Expect argument OFFSET to be section-relative. From + David Mosberger-Tang, davidm@piston.cs.arizona.edu. + +Mon Jan 30 11:22:11 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (NAME(bfd_elf,record_link_assignment)): Don't do + anything if we are not linking an ELF file. + (NAME(bfd_elf,size_dynamic_sections)): Likewise. + +Sat Jan 28 12:48:57 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (compare_subspaces): New function to sort subspaces by + their location in the object file. + (setup_sections): When computing the index for each subspace, + handle case where setup_sections reads the subspaces in a + different order that they appear in the object file. + (som_is_space): Also examine the output section for the containing + section. + (som_is_subspace, som_is_container): Likewise. + (som_begin_writing): Don't prepare or write fixups here. When + writing the symbol strings, use the unsorted symbol table. + (som_write_object_contents): Don't write the symbol table here. + (som_finish_writing): Prepare and write the fixups here. Likewise + for the symbol table. + (som_bfd_derive_misc_symbol_info): Undefined symbols always have + type SS_UNSAT regardless of BSF_EXPORT. + (som_set_reloc_info): Unpack and attach argument location + information for R_PCREL_CALL and R_ABS_CALL relocations. + + * som.c (som_object_setup): New heuristic to determine if the + entry and flags fields are switched in the exec header. + +Sat Jan 28 00:16:01 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (elf_link_add_object_symbols): Use *sym_hash instead + of h if we might not be doing an ELF link. + +Fri Jan 27 16:13:42 1995 Ian Lance Taylor <ian@cygnus.com> + + * elf32-mips.c (mips_elf_final_link): If the size of an input + .reginfo section is zero, force it to the correct size, since the + linker emulation code may have clobbered it. + + * elfcode.h (elf_sort_hdrs): Correct SHF_ALLOC test. + (assign_file_positions_except_relocs): Free sorted_hdrs. + +Thu Jan 26 09:00:12 1995 Steve Chamberlain <sac@splat> + + * srec.c (srec_set_section_contents): Fix off by + one end address calculation. + + * config.bfd: (m68*-est-coff): New configuration. + +Thu Jan 26 11:39:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * elfcode.h (elf_link_add_object_symbols): Only examine weakdef if + we are using an ELF hash table. + + * aoutx.h (NAME(aout,some_aout_object_p)): Always set EXEC_P if + the start address is in the .text section, even if STAT_FOR_EXEC + is set. Just use STAT_FOR_EXEC as an additional test. + +Thu Jan 26 11:12:54 1995 Michael Meissner <meissner@cygnus.com> + + * elfcode.h (prep_headers): Use EM_PPC instead of + EM_CYGNUS_POWERPC. + + * elf32-ppc.c (reloc_type): Add all System V.4 and eABI + relocations currently defined. + (powerpc_reloc_map): Adjust to new relocation names. + (elf_powerpc_howto_table): Add most of the new relocations. + (ELF_MACHINE_CODE): Use EM_PPC instead of EM_CYGNUS_POWERPC. + + * config.bfd: Add support for powerpc-*-eabi. + + * config/ppc-elf.mt: Add rs6000 architecture support to the + PowerPC. Also add XCOFF support. + +Wed Jan 25 23:26:13 1995 Ian Lance Taylor <ian@cygnus.com> + + * coff-sh.c (CALC_ADDEND): Don't define. + (coff_sh_relocate_section): Remove. + (coff_relocate_section): Use _bfd_coff_generic_relocate_section. + +Tue Jan 24 14:22:47 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elf32-mips.c (mips_elf_output_extsym): Set the value of the + ECOFF symbol from the hash table entry. + +Mon Jan 23 14:53:35 1995 Steve Chamberlain <sac@splat> + + * coff-sh.c (coff_sh_relocate_section): Don't subtract + vma twice. + +Mon Jan 23 13:33:18 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * coff-sh.c (sh_reloc): Don't ignore the previous contents of an + R_SH_IMM32 reloc. + + * config.bfd (i[345]86-*-gnu*): Set bfd_name to i386-gnu. + * config/i386-gnu.mt: New file. Include ELF support. + + * opncls.c (bfd_openstreamr): Call bfd_cache_init. + +Fri Jan 20 11:44:45 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * sunos.c (sunos_add_one_symbol): Only set the sunos specific + fields if we are doing a sunos link. + +Wed Jan 18 12:28:17 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * cpu-h8300.c (h8300_info_struct): Change name from "H8/300" to + "h8300" for consistency with other cpu-* files. + (h8300h_info_struct): Change name from "H8/300H" to "h8300h". + * coff-h8300.c (special): Remove unused variable diff. + +Tue Jan 17 10:52:32 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * bfd-in.h (bfd_byte, reloc_howto_type): Define here, not... + * reloc.c (bfd_byte, reloc_howto_type): here. + * Changed all occurrences of ``const struct reloc_howto_struct'' + to be ``reloc_howto_type'' instead. + * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt. + + * opncls.c (bfd_openstreamr): New function. + * bfd-in2.h: Rebuilt. + + * elf32-mips.c (enum reloc_type): Define new relocs used on Irix. + (elf_mips_howto_table): Add entries for new relocs. + (mips_elf_section_from_shdr): Handle SHT_MIPS_MSYM, + SHT_MIPS_DWARF, and SHT_MIPS_EVENTS. + (mips_elf_fake_sections): Handle sections named .msym, .debug_* + and .MIPS.events.*. + + * srec.c (srec_init): Remove unused local variable i. + +Sat Jan 14 19:09:48 1995 Steve Chamberlain <sac@jonny> + + * archures.c, Makefile.in, targets.c, bfd-in2.h, coffcode.h, + config.bfd, configure.in, config/w65.mt: Initial support for the W65. + +Sun Jan 15 13:57:45 1995 Steve Chamberlain <sac@splat> + + * opncls.c (bfd_fdopenr): Configure for WIN32. + +Thu Jan 12 16:30:47 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * Makefile.in (diststuff): Include `headers'. + + * sunos.c (m68k_plt_first_entry, sparc_plt_first_entry): Now + const. + * tekhex.c (digs): Ditto. + * elf32-i386.c (elf_i386_plt0_entry, elf_i386_plt_entry): Ditto. + + * srec.c, tekhex.c: Include libiberty.h. Delete static array + hex_value and replace references to it with references to + hex_init, hex_p, and hex_value. + * Makefile.in: Updated dependencies. + + * archures.c (archures_init_table): Now const. + (bfd_arch_init): Adjusted type of local var `ptable'. + +Thu Jan 12 09:33:24 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * hosts/symmetry.h: Redefine `shared' to enable compilation + with the native Dynix cc compiler. + * i386dynix.c: Include aoutx.h instead of using routines + from aout32.c. + +Wed Jan 11 21:31:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * reloc.c (reloc_howto_type): Make typedef include `const'. + * aout-ns32k.c, aoutx.h, bout.c, cf-m68klynx.c, coff-i386.c, + coff-i960.c, coff-m68k.c, cofflink.c, cpu-ns32k.c, ecoff.c, + elf32-hppa.c, elf32-i386.c, elf32-mips.c, elf32-sparc.c, + elfcode.h, libbfd-in.h, linker.c, mipsbsd.c, nlm32-ppc.c, oasys.c, + reloc.c, som.c: Don't use `const' in combination with + `reloc_howto_type'. + * bfd-in2.h, libbfd.h: Regenerated. + + * ecoff.c (ecoff_type_to_string): Local variable `buffer1' doesn't + need to be static. + +Wed Jan 11 14:36:41 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * sunos.c (sunos_add_one_symbol): Don't core dump if a multiple + definition of an absolute symbol is encountered. + + * linker.c (_bfd_generic_link_add_one_symbol): Ignore + redefinitions of an absolute symbol to the same value. + +Mon Jan 9 15:51:32 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elfcode.h (elf_link_add_object_symbols): It's reasonable for no + flags to be set, so don't insist otherwise. + +Fri Jan 6 16:39:40 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elfcode.h (elf_slurp_symbol_table): Don't set BSF_GLOBAL for an + undefined or common symbol. + (elf_link_add_object_symbols): Likewise. + +Wed Jan 4 14:14:05 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (bfd_section_from_som_symbol): Only return sections which + correspond to subspaces. + + * som.c (som_begin_writing): Don't forget to bump the + total_subspaces when writing the unloadable subspaces. + +Wed Dec 28 20:54:47 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_write_fixups): Use SEC_HAS_CONTENTS to identify + bss-like sections. + (som_get_section_contents): Likewise. + (som_set_section_contents): Likewise. + +Tue Dec 27 14:03:47 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (setup_sections): Turn off SEC_HAS_CONTENTS for bss-like + sections. + +Tue Dec 20 15:30:12 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * coffgen.c (bfd_debug_section): Deleted. + (coff_section_from_bfd_index): Return absolute section for debug + symbol. + (coff_write_symbol): Set BSF_DEBUGGING for C_FILE symbols. If + BSF_DEBUGGING is set, set section to N_DEBUG. + (coff_bfd_make_debug_symbol): Use absolute section. + + * elfcode.h (assign_file_positions_except_relocs): In assertion, + force all values to the same type. + +Tue Dec 20 11:11:58 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * coff-h8300.c (howto_table): All relocs get a special function. + (special): Never do anything when linking -r. + +Tue Dec 20 13:58:01 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * i386linux.c (linux_add_one_symbol): Don't do anything Linux + specific if this is not a Linux hash table. From Eric Youngdale + <eric@aib.com>. + + Patches from kkojima@mix.or.jp (Kazumoto Kojima): + * mipsbsd.c (mips_howto_table_ext): Change sizes of memory relocs + apply to from two bytes to four bytes. + * MY(reloc_howto_type_lookup): Handle BFD_RELOC_CTOR. + + * elf32-i386.c (elf_i386_relocate_section): Correct and expand the + list of cases for which relocation need not be computed. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + + +Mon Dec 19 23:09:16 1994 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_read_symext_info): Delete do_locals and + do_globals arguments, always read symbol extension information for + globals and locals. All callers changed. + (elf32_hppa_size_stubs): Rework to only read symbol extension + information once for each input bfd. 10% improvement in linker + performance. + +Fri Dec 16 12:28:46 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elfcode.h (elf_section_from_bfd_section): Check + bfd_is_abs_section, etc., only after checking for the section in + the BFD and after calling the backend routine. + +Wed Dec 14 20:21:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elfcode.h (elf_map_symbols): Only use section symbols whose + value is the start of the section, checking output_offset when + using output_section. When creating a new symbol, set the value + to 0, since BFD symbol values are section relative. + +Tue Dec 13 13:31:06 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * cpu-z8k.c (arch_info_struct): Make z8002 the default + architecture. + +Fri Dec 9 12:43:05 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elfcode.h (elf_bfd_link_add_symbols): If the first object in the + archive is not an ELF object, pass the archive to the add_symbols + entry point appropriate for the first object. From Eric Youngdale + <eric@aib.com>. + * aoutx.h (NAME(aout,link_add_symbols)): Similar change if the + first object is not an a.out object. + + * elf32-i386.c (elf_i386_relocate_section): Don't compute + relocation in cases where we won't use it. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + +Thu Dec 8 14:19:41 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * pc532-mach.c (NAME): Define to use ns32kaout prefix. + * ns32knetbsd.c (NAME): Ditto. + (ns32kaout_32_get_section_contents): Define to standard aout-32 + version. + +Fri Dec 2 13:56:49 1994 Ian Lance Taylor <ian@rtl.cygnus.com> + + * coff-mips.c (mips_read_relocs): New static function, broken out + of mips_relax_section. + (mips_relax_section): Call mips_read_relocs. + (bfd_mips_ecoff_create_embedded_relocs): New function. + * bfd-in.h (bfd_mnips_ecoff_create_embedded_relocs): Declare. + * bfd-in2.h: Rebuild. + +Wed Nov 30 14:12:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-sh.c: Use _bfd_dummy_target instead of no_archive. + + +Tue Nov 29 14:00:19 1994 J.T. Conklin <jtc@.rtl.cygnus.com> + + * config.bfd (i[345]86-*-freebsd*): Use i386-bsd as bfd_name. + * configure.host (i[345]86-*-freebsd*): Use i386bsd as my_host. + +Mon Nov 28 15:36:04 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * config/m68k-nbsd.mt (DEFAULT_VECTOR): set to m68knetbsd_vec. + * Makefile.in: Rebuilt dependancies. + (CFILES): Added m68knetbsd.c. + (HFILES): Added netbsd.h. + +Wed Nov 23 19:21:41 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * coff-sh.c (shlcoff_vec): New target vector. + (no_archive): New function. + * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Handle + little endian SH. + * configure.in: Handle shl. + * targets.c (bfd_target_vector): Add shlcoff_vec. + * config/sh-coff.mt (SELECT_VECS): Handle shl_coff_vec. + +Wed Nov 23 10:50:13 1994 Jeff Law (law@snake.cs.utah.edu) + + * elfcode.h (write_relocs): Do not subtract the section's vma from + the reloc's offset when writing .o's. Instead add the section's + vma to the reloc's offset when writing an executable or shared + library. + +Tue Nov 22 23:34:37 1994 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Do not add + input_section->vma to the relocation's offset. + +Mon Nov 21 12:37:25 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * srec.c (srec_get_reloc_upper_bound): Define. + (srec_canonicalize_reloc): Define. + (srec_bfd_reloc_type_lookup): Define. + (srec_vec, symbolsrec_vec): Use BFD_JUMP_TABLE_RELOCS (srec). + +Sat Nov 19 03:10:51 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * configure.host (i[345]86-*-solaris*): Use solaris2 to + enable extraction of procfs info from core file for GDB. + +Thu Nov 17 17:37:39 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * reloc.c (bfd_reloc_code_type): Add new value BFD_RELOC_12_PCREL. + * bfd-in2.h, libbfd.h: Rebuilt. + +Thu Nov 17 13:12:08 1994 Jeff Law (law@snake.cs.utah.edu) + + * bfd/elf32-hppa.c (elf32_hppa_bfd_final_link_relocated): Use the + vma from the output_section containing $global$ when computing + global_vlaue. + +Thu Nov 17 14:29:13 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * archive.c (_bfd_write_archive_contents): Round up the archive + header size of the extended name table to an even number. + +Wed Nov 16 16:08:06 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * coff-sh.c: Deleted some code that was commented out or inside + "#if 0". + (COFF_LONG_FILENAMES): Define. + + * cpu-sh.c (arch_info_struct): Convert name to lowercase, for + consistency with other architectures. + +Sat Nov 12 23:50:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (elf_export_symbol): Also export symbols which are + referenced by a regular file. + +Fri Nov 11 14:29:31 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add + export_dynamic argument, and handle it. + (elf_export_symbol): New function. + * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration. + (bfd_elf64_size_dynamic_sections): Update declaration. + * bfd-in2.h: Rebuild. + +Fri Nov 11 10:35:33 1994 Jeff Law (law@snake.cs.utah.edu) + + * hpux-core.c (hpux_core_struct): Delete handles for the + data, reg and stack sections. They're never used. Delete + accessor macros. + (make_bfd_asection): Use bfd_make_section_anyway since debugging + cores from dynamic executables may have several sections with the + same logical name. + (hpux_core_core_file_p): Don't save handles to data, reg and + stack sections. Handle CORE_TEXT, CORE_MMF and CORE_SHM. + +Tue Nov 8 13:03:30 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * bout.c (callj_callback): Add new argument shrinking. Change all + callers. Handle relocs against section symbols correctly. If not + shrinking, don't subtract out dstidx; the subtraction is already + in the object file. + +Sun Nov 6 12:52:00 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.h: Conditionally include <shl.h> and <dl.h>. + +Thu Nov 3 18:19:13 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * Makefile.in (ALL_MACHINES): Include m68knetbsd.o. + + * config/i386linux.mh (EXTRALIBS): Include -lm. + + Patches from DJ Delorie: + * coff-go32.c: Replacement file, uses coff-i386.c with minor + changes. + * coff-i386.c (TARGET_UNDERSCORE): allow other files to override + underscore also + * makefile.dos: del ctor.o, add cofflink.o and elf32.o + + * aoutx.h (adjust_o_magic): If user set data section vma, use it + to determine the default bss vma. Patch from Takada Hiroaki, + hiro@is.s.u-tokyo.ac.jp. + (machine_type, case bfd_arch_vax): Set *unknown to false. Patch + from John David Anglin <dave@hiauly1.hia.nrc.ca>. + + * configure.in (tb): Rename ns32knetbsd_vec to pc532netbsd_vec, + since that's what it's called. + +Wed Nov 2 15:24:51 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * archive.c (normalize): Change to take a BFD as an argument. + Change VMS version to use bfd_alloc rather than malloc, so that we + don't lose the memory forever. + (_bfd_construct_extended_name_table): Check the name of an archive + entry which is not being extended, and correct it if it is wrong. + This is necessary in case the archive was constructed by another + program which put an entry in the extended name table which we + don't plan to put in ourselves. From jjc@jclark.com (James + Clark). + (bfd_dont_truncate_arname): Check return value of normalize. + +Mon Oct 31 14:19:08 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elf32-hppa.c (ELF32_PARISC_SX_SIZE): Define. + (ELF32_PARISC_SX_GET, ELF32_PARISC_SX_PUT): Define. + (symextn_entry): Don't define. + (symext_chain_size): Change type to bfd_size_type. + (symextn_contents): Change type to bfd_byte *. + (elf32_hppa_backend_begin_write_processing): Use + ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS). + (elf32_hppa_size_symext): Likewise. Also, change type of sizep to + bfd_size_type *. + (elf_hppa_tc_make_sections): Cast symextn_contents assignment to + bfd_byte *. Use ELF32_PARISC_SX_PUT instead of direct assignment. + (elf32_hppa_backend_symbol_table_processing): Use + ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS). Use + ELF32_PARISC_SX_GET insetad of direct assignment. + (elf32_hppa_read_symext_info): Change type of contents, and its + assignment cast, to bfd_byte *. Use ELF32_PARISC_SX_SIZE instead + of sizeof (symextn_entry). Use symext_entryS instead of + symextn_entry. Use ELF32_PARISC_SX_GET instead of direct + assignment. + + * archive.c (bfd_dont_truncate_arname): Add the ar padding + character, if there is room for it, even if the name is the + maximum length. + + * elfcode.h (assign_file_positions_except_relocs): Sort the ELF + headers by section address when assigning file positions. + (elf_sort_hdrs): New static function. + +Sun Oct 30 18:56:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Create DT_INIT + and DT_FINI dynamic entries based on the existence of _init and + _fini symbols, not on the .init and .fini sections. This is + compatible with some SVR4 linkers. + (elf_bfd_final_link): Corresponding change. + +Sat Oct 29 12:18:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't move a + symbol with a PLT entry into the .plt section if it is defined in + a regular file. + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. + + * linker.c (_bfd_generic_link_add_archive_symbols): It's not an + error if an empty archive has no symbol table. + * ecoff.c (ecoff_link_add_archive_symbols): Likewise. + * elfcode.h (elf_link_add_archive_symbols): Likewise. + +Fri Oct 28 10:08:41 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + NetBSD/m68k support, based on work by mikeb@snow.datametrics.com: + * config.bfd (m68*-*-netbsd*): Use m68k-nbsd as bfd_name. + * configure.in (m68knetbsd_vec): Added. + * targets.c (bfd_m68knetbsd_vec): Added. + * hosts/m68knbsd.h, config/m68k-nbsd.mt, m68knetbsd.c: New files. + * Makefile.in (BFD32_BACKENDS, CFILES): Add m68knetbsd.c. + + miscellaneous cleanup required by all netbsd targets, based on work + by Andrew Cagney <cagney@highland.com.au>: + * netbsd.h (N_MAGIC, N_SET_MAGIC, N_GETMAGIC, N_GETMAGIC2, N_TXTADDR, + N_TXTOFF, N_ALIGN, N_DATADDR, N_DATOFF): Removed. Generic a.out + definitions work. + * i386nbsd.c, ns32knbsd.c, sparcnbsd.c (__LDPGSZ): Removed. + (MY(write_object_contents)): Use NetBSD's magic numbers + +Thu Oct 27 16:59:52 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * libelf.h (struct bfd_elf_section_data): Add field dynindx. + * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Don't finalize + the .dynsym, .dynstr or .hash sections until after the backend + size_dynamic_sections routine, so that it can add dynamic symbols + if it wants to. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't define the + symbol to be in the .plt section when generating a shared library + if it is a defined symbol. + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. + (elf32_sparc_size_dynamic_sections): When generating a shared + library, allocate space for a dynamic symbol for each output + section, storing the index in the dynindx field of the ELF section + data. Adjust the other dynindx fields to account for this. + (elf32_sparc_adjust_dynindx): New static function. + (elf32_sparc_relocate_section): When copying a reloc into a shared + library, use the original addend as appropriate. Convert an + R_SPARC_32 reloc into an R_SPARC_RELATIVE reloc. Use the dynamic + symbol index of the output section, not the normal symbol index. + (elf32_sparc_finish_dynamic_sections): Don't die if a section does + not exist when setting the value of the dynamic tags. Write out + a dynamic symbol for each output section. + +Wed Oct 26 01:15:51 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (aout_link_input_section): Don't bother to read or write + the relocs if there aren't any. + +Tue Oct 25 11:44:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * Makefile.in (ALL_MACHINES): Add tekhex.o. + * targets.c (bfd_target_vector): If SELECT_VECS is not defined, + include tekhex_vec. + * tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char. + (getvalue, getsym, out): Likewise. + (find_chunk): Remove unused variable s. + (first_phase): Remove unused variable s. + (pass_over): Remove unused variable address. + (tekhex_object_p): Remove unused variable section. + (move_section_contents): Change return type from boolean to void. + (tekhex_write_object_contents): Remove unused variables tdata and + list. + + * linker.c (enum link_action): Add CIND. + (link_action): Change COMMON_ROW\indr from MDEF to CREF. Change + INDR_ROW\common from MDEF to CIND. + (_bfd_generic_link_add_one_symbol): In CREF case, handle an + existing symbol which is indirect rather than defined. Add new + CIND case. + +Mon Oct 24 15:33:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + Change S-record backend to use multiple sections to handle gaps in + file. + * srec.c (srec_data_list_struct): Move field next from last place + to first. Change type of data to bfd_byte *. + (struct srec_symbol): Define. + (tdata_type): Remove done_symbol_read, count, strings, symbol_idx, + string_size, string_idx. Change type of symbols to struct + srec_symbol *. Add symtail and csymbols. + (low, high): Remove. + (size_symbols, fillup_symbols, size_srec, fillup): Remove. + (white, skipwhite, pass_over, object_p): Remove. + (srec_mkobject): Call srec_init. Adjust tdata initialization for + field changes. + (srec_get_byte, srec_bad_byte): New static functions. + (srec_new_symbol, srec_scan): New static functions. + (srec_object_p): Change type of b to bfd_byte. Explicitly set + wrong_format error. Call srec_mkobject and srec_scan instead of + object_p. + (symbolsrec_object_p): Likewise. Also, change b to be only two + bytes. + (srec_read_section): New static function. + (srec_get_section_contents): Call srec_read_section rather than + pass_over. Handle zero length section correctly. + (set_set_arch_mach): Change from function to macro. + (srec_set_section_contents): Change data to bfd_byte *. + (srec_write_record): Change data, end and src to bfd_byte *. + (srec_write_header): Change buffer and dst to bfd_byte *. + (srec_write_section): Change location to bfd_byte *. + (srec_write_terminator): Change buffer to bfd_byte *. + (srec_get_symtab_upper_bound): Don't call + srec_get_section_contents. + (srec_get_symtab): Rewrite. + + * ecoff.c (ecoff_set_symbol_info): Set udata.i to 0, not NULL. + +Fri Oct 21 16:43:13 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * libaout.h (machine_type): added M_68K_NETBSD and M_SPARC_NETBSD. + * i386netbsd.c, ns32knetbsd.c, sparcnetbsd.c: removed RCS Id's. + changed how PAGE_SIZE and SEGMENT_SIZE are defined so they are + consistant with each other. + * netbsd.h (N_HEADER_IN_TEXT, TEXT_START_ADDR): NetBSD fits its + header into the start of its text segment. + +Fri Oct 21 17:13:07 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case for + _construct_extended_name_table. + (bfd_target): Add _bfd_construct_extended_name_table. + * archive.c (_bfd_archive_bsd_construct_extended_name_table): New + function. + (_bfd_archive_coff_construct_extended_name_table): New function. + (_bfd_construct_extended_name_table): Renamed by adding a leading + underscore, and made externally visible. Added trailing_slash + argument, and used it instead of elf_style. Changed type of + tablen to bfd_size_type *. + (_bfd_write_archive_contents): Use BFD_SEND to call + construct_extended_name_table. Use the returned name. + * libbfd-in.h (_bfd_construct_extended_name_table): Declare. + (_bfd_noarchive_construct_extended_name_table): Define. + (_bfd_archive_bsd_construct_extended_name_table): Declare. + (_bfd_archive_coff_construct_extended_name_table): Declare. + * bfd-in2.h: Rebuild. + * libbfd.h: Rebuild. + * som.c (som_construct_extended_name_table): New static function. + * aout-target.h (MY_construct_extended_name_table): Define. + * coff-rs6000.c (rs6000coff_construct_extended_name_table): + Define. + * ieee.c (ieee_construct_extended_name_table): Define. + * libecoff.h (_bfd_ecoff_construct_extended_name_table): Define. + * oasys.c (oasys_construct_extended_name_table): Define. + + Fix the ELF linker to not require an interpreter if no dynamic + objects were seen, even when linking PIC code. + * libelf.h (ELF_LINK_HASH_NEEDS_PLT): Define. + (struct elf_link_hash_table): Add field dynamic_sections_created. + * elfcode.h (elf_link_record_dynamic_symbol): Create dynstr if it + doesn't already exist. + (elf_link_add_object_symbols): Create dynamic sections based on + dynamic_sections_created field, not dynobj field. Don't bother to + set dynobj. + (elf_link_create_dynamic_sections): If dynamic sections were + already created, don't do anything. If dynobj is already set, use + it; otherwise, set it to the bfd argument. Don't initialize + dynsymcount. Only create dynstr if it does not exist. Set + dynamic_sections_created to true. + (NAME(bfd_elf,size_dynamic_sections)): Skip most of this function + if no dynamic objects were seen. + (elf_adjust_dynamic_symbol): If a symbol has the + ELF_LINK_HASH_NEEDS_PLT flag set, let the backend adjust it. + (elf_bfd_final_link): Change most decisions based on dynobj to + check dynamic_sections_created instead. + (elf_link_output_extsym): Only handle dynamic symbols if a dynamic + object was seen. + * elf.c (_bfd_elf_link_hash_table_init): Initialize new field + dynamic_sections_created. Set dynsymcount to 1, not 0. + * elf32-i386.c (elf_i386_create_dynamic_sections): Call + elf_i386_create_got_section rather than creating the .got and + .got.plt sections. + (elf_i386_create_got_section): New static function. + (elf_i386_check_relocs): Just call elf_i386_create_got_section if + a GOT table is needed, not bfd_elf32_link_create_dynamic_sections. + Only create the .rel.got section, and only make space for a reloc, + for a global symbol or when generating a shared object. For a + R_386_PLT32 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag. + (elf_i386_adjust_dynamic_symbol): Rework initial assertion to + permit ELF_LINK_HASH_NEEDS_PLT non dynamic symbols. Create a + procedure linkage table entry for such symbols. But, if no + dynamic objects were seen, never create a PLT entry. + (elf_i386_size_dynamic_sections): If no dynamic objects were seen, + skip most of this function, and force the size of the .rel.got + section to zero. + (elf_i386_relocate_section): For a R_386_GOT32 reloc against a global + symbol when no dynamic object was seen, initialize the contents of + the .got section. For a R_386_GOT32 against a local symbol, only + create a R_386_RELATIVE reloc when generating a shared object. + Treat a R_386_PLT32 reloc against a symbol for which we did not + create a PLT entry as a R_386_PC32 reloc. + (elf_i386_finish_dynamic_sections): Only fiddle with the dynamic + entries and the PLT if we saw a dynamic object. + * elf32-sparc.c (elf_sparc_howto_table): Fix R_SPARC_PC22 by + setting rightshift to 10. Fix R_SPARC_WPLT20 by setting + rightshift to 2, size to 2, bitsize to 30, and dst_mask to + 0x3fffffff. + (elf32_sparc_create_dynamic_sections): Don't set the size of the + .plt section. Call elf32_sparc_create_got_section rather than + creating the .got section. + (elf32_sparc_check_relocs): Call elf32_sparc_create_got_section if + a GOT table is needed, not bfd_elf32_link_create_dynamic_sections. + Only create the .rela.got section, and only make space for a + reloc, for a global symbol or when generating a shared object. + Set the alignment of the .rela.got section to 2. For a + R_SPARC_WPLT30 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag. + (elf32_sparc_adjust_dynamic_symbol): Rework initial assertion to + permit ELF_LINK_HASH_NEDS_PLT non dynamic symbols. Create a + procedure linkage table for such symbols. But, if no dynamic + objects were seen, never create a PLT entry. Initialize the size + of the .plt section. + (elf32_sparc_size_dynamic_sections): If no dynamic objects were + seen, skip most of this function, and force the size of the + .rela.got section to zero. Strip empty reloc sections, and strip + an empty .plt section. + (elf32_sparc_relocate_section): For a GOT reloc against a global + symbol when no dynamic object was seen, initialize the contents of + the .got section. For a GOT reloc against a local symbol, only + create a R_SPARC_RELATIVE reloc when generating a shared object. + Treat a R_SPARC_WPLT30 reloc against a symbol for which we did not + create a PLT entry as a R_SPARC_WDISP30 reloc. + (elf32_sparc_finish_dynamic_sections): Only fiddle with the + dynamic entries and the PLT if we saw a dynamic object. + +Thu Oct 20 13:28:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (elf_map_symbols): Don't worry about section symbols + in a section not owned by any BFD. + (elf_section_from_bfd_section): Separate out loop which calls + backend routine. Check bfd_section and call the backend routine + even for a section not owned by any BFD. + * elf32-mips.c (mips_elf_section_from_bfd_section): Handle + .acommon section. + +Wed Oct 19 13:28:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * coffgen.c (coff_print_symbol): Make names for section number and + storage class slightly more verbose. It's not clear how many + characters I can justify using up, but before this change they + both were abbreviated "sc" which is (IMHO) clearly unacceptable. + +Wed Oct 19 01:26:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * binary.c (binary_set_section_contents): Set the base file + position from the lowest section VMA, not the start address. + + * aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error + if there are no symbols. + * coffgen.c (coff_get_normalized_symtab): Likewise. + * hp300hpux.c (MY(slurp_symbol_table)): Likewise. + +Tue Oct 18 12:56:43 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * aout-target.h (MY_bfd_copy_private_section_data): Only copy + subformat to another bfd_target_aout_flavour file. + + * binary.c: New file for raw binary output format. + * Makefile.in (BFD_LIBS): Add binary.o. + (CFILES): Add binary.c. + * targets.c (binary_vec): Declare. + (bfd_target_vector): Include binary_vec. + + * srec.c (tdata_type): Add field tail. + (srec_mkobject): Initialize tail. + (srec_set_section_contents): Sort S record list by address. + +Mon Oct 17 11:38:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elfcode.h (elf_map_symbols): Sort the symbols into a new array, + rather than messing with Elf_Sym_Extra. Store the symbol index in + the udata.i field. + (swap_out_syms): Use outbound_syms as a pointer rather than as an + array. Don't worry about elf_sym_num. + * libelf.h (struct elf_sym_extra): Don't define. + (Elf_Sym_Extra): Don't define. + (struct elf_obj_tdata): Remove sym_extra field. + (elf_sym_extra): Don't define. + * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Use + udata.i rather than elf_sym_extra array. + + * syms.c (asymbol): Change udata field into a union. + * bfd-in2.h: Rebuild. + * aoutx.h (NAME(aout,translate_symbol_table)): Use udata.p rather + than just udata. + * bout.c (perform_slip): Likewise. + * hp300hpux.c (MY(slurp_symbol_table)): Likewise. + * ieee.c (ieee_slurp_external_symbols): Likewise. + * linker.c (generic_link_add_symbol_list): Likewise. + (default_indirect_link_order): Likewise. + * oasys.c (oasys_slurp_symbol_table): Likewise. + * reloc16.c (bfd_perform_slip): Likewise. + * srec.c (fillup_symbols): Likewise. + * coffcode.h (get_index): Use udata.i rather than just udata. + (coff_slurp_symbol_table): Likewise. + * coffgen.c (set_index): Likewise. + * ecoff.c (ecoff_set_symbol_info): Likewise. + * elfcode.h (elf_symbol_from_bfd_symbol): Likewise. + * libecoff.h (ecoff_get_sym_index, ecoff_set_sym_index): Likewise. + * som.c (compare_syms): Likewise. + (som_prep_for_fixups): Likewise. + (som_write_fixups): Likewise. + + Use a hash table when writing out ELF symbol names. + * elfcode.h (elf_stringtab_init): New static function. + (bfd_new_strtab, bfd_add_to_strtab, bfd_add_2_to_strtab): Remove. + Change all callers to use elf_stringtab_init or + _bfd_stringtab_add, and get stringtab lengths using + _bfd_stringtab_size. + (elf_fake_sections): Change ignored argument to pointer to + boolean, and set the boolean to true if an error occurs. If an + error has already occurred, don't do anything. + (assign_section_numbers): Just set sh_size, not contents. + (elf_compute_section_file_positions): Pass the address of a + boolean to elf_fake_sections. Pass the address of a + bfd_strtab_hash to swap_out_syms. Write out the .strtab section. + (prep_headers): Change shstrtab to bfd_strtab_hash. + (swap_out_syms): Take a pointer to a bfd_strtab_hash as an + argument. Set it to the symbol names. + (NAME(bfd_elf,write_object_contents)): Write out the section + header names using _bfd_stringtab_emit. + (elf_debug_section): Remove first argument; get the section name + via the bfd_section pointer. Change caller. + (elf_bfd_final_link): Write out the symbol names using + _bfd_stringtab_emit. Likewise for the .dynstr section contents. + Free the symbol names at the end of the function. + (elf_link_input_bfd): Remove the last argument, output_names, + from relocate_section. Save the old symbol contents before + calling elf_link_output_sym, and restore them afterward. + * libelf.h (struct elf_link_hash_table): Change dynstr field to + struct bfd_strtab_hash. + (struct elf_backend_data): Remove last argument, output_names, + from elf_backend_relocate_section field. + (struct strtab): Don't define. + (struct elf_obj_tdata): Change strtab_ptr field to struct + bfd_strtab_hash. + * elf32-hppa.c (elf32_hppa_relocate_section): Remove last + argument, output_names. + * elf32-i386.c (elf_i386_relocate_section): Likewise. + * elf32-mips.c (mips_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + + * libbfd-in.h (DEFAULT_STRING_SPACE_SIZE): Don't define. + (bfd_add_to_string_table): Don't declare. + * libbfd.h: Rebuild. + * libbfd.c (bfd_add_to_string_table): Remove. + + * elfcode.h (elf_swap_shdr_in): Use bfd_section, not rawdata. + Clear contents field. + (bfd_section_from_shdr): In SHT_STRTAB case, check bfd_section, + not rawdata. Don't set rawdata if e_shstrndx. Use bfd_section + rather than rawdata in commented out code. In SHT_REL[A] case, + don't bother to check elf_section_data of section returned by + section_from_elf_index. + (elf_fake_sections): Set bfd_section, not rawdata. Don't set + size. + (elf_map_symbols): Don't set elf_num_section_syms. Don't create + section symbols that already exist. + (assign_file_position_for_section): Use bfd_section, not rawdata. + (section_from_elf_index): Just check bfd_section field. + (elf_section_from_bfd_section): Likewise. + (elf_debug_section): Don't print rawdata, contents, or size. + (elf_link_add_object_symbols): Don't error out if + section_from_elf_index returns NULL. + (elf_bfd_final_link): Check return value from + section_from_elf_index against NULL, not bfd_is_abs_section. + (elf_link_input_bfd): Don't check section_from_elf_index return + value. + * libelf.h (struct elf_obj_tdata): Remove num_section_syms field. + (elf_num_section_syms): Don't define. + * elf.c (elf_get_str_section): Store section contents in contents + field rather than rawdata field. + (elf_string_from_elf_section): Likewise. + (_bfd_elf_make_section_from_shdr): Store BFD section pointer in + bfd_section field rather than rawdata field. + * elf32-hppa.c (elf32_hppa_read_symext_info): Use bfd_section + rather than rawdata. + (elf32_hppa_size_stubs): Likewise. + (elf32_hppa_backend_symbol_table_processing): Don't set + symextn_hdr->size; just use sh_size. + * elf32-mips.c (mips_elf_final_write_processing): Use bfd_section + rathern than rawdata. + (mips_elf_section_from_shdr): Likewise. + (mips_elf_section_processing): Likewise. + (mips_elf_section_from_bfd_section): Remove rawdata check. + + * srec.c (pass_over): Set the start address for S7, S8 or S9. + +Fri Oct 14 19:15:46 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * VERSION: Updated to 2.5. + +Fri Oct 14 11:07:50 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * bfd.c (bfd_scan_vma): Cast end to be non const before passing it + to strtoul. + +Thu Oct 13 14:40:41 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * bfd.c (bfd_scan_vma): Pass end argument on to strtoul. + +Wed Oct 12 16:46:43 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * opncls.c (bfd_realloc): Deleted, since it's broken and fixing it + would make it slow. Besides, it isn't used much. + * elfcode.h (elf_map_symbols): Always allocate new storage for the + symbol table. + +Wed Oct 12 11:54:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ecoff.c (ecoff_set_symbol_info): Mark local stProc, stLabel or + stabs symbols as BSF_DEBUGGING. + + * rs6000-core.c (rs6000coff_core_file_matches_executable_p): Make + str1 and str2 const pointers. + + * Makefile.in (INSTALL): Use top level install.sh script. + * config/README (INSTALL): Remove. + * config/delta88.mh (INSTALL): Remove. + * config/i386v4.mh (INSTALL): Remove. + * config/irix4.mh (INSTALL): Remove. + * config/irix5.mh (INSTALL): Remove. + * config/ncrt3000.mh (INSTALL): Remove. + +Tue Oct 11 13:57:56 1994 Eric Youngdale (eric@andante.aib.com) + + * elf32-i386.c (elf_i386_check_relocs): Make sure that a symbol + with a global offset table entry or a procedure linkage table + entry is added to the dynamic symbol table. + * elf32-sparc.c (elf32_sparc_check_relocs): Likewise. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): If a symbol has + already gotten a procedure linkage table entry, change the + definition to the PLT entry. + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. + +Tue Oct 11 17:12:00 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * lynx-core.c (lynx_core_file_p): SPARC Lynx appears to start + dumping the .data section in a core file at a page boundary. + +Mon Oct 10 16:24:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * cofflink.c (_bfd_coff_final_link): Cast argument to bfd_h_put_32 + to correct type. + (coff_read_string_table): Cast argument to bfd_h_get_32 to correct + type. + * elfcode.h (elf_link_output_extsym): Cast argument to + bfd_elf_hash to correct type. + + * elf32-sparc.c (elf_sparc_howto_table): The PC10, PC22, and + WPLT30 relocations are PC-relative. + +Thu Oct 6 12:57:26 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org) + + * aoutx.h (adjust_o_magic): Correctly initialize vma if the vma of + the text section was user-defined. + +Wed Oct 5 14:42:12 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * archive.c (bfd_construct_extended_name_table): SVR4 uses slash + newline at the end of the file name, not just newline. + +Tue Oct 4 11:23:12 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ecoff.c (_bfd_ecoff_new_section_hook): Default section alignment + power to 4, rather than using align_power_min. + + * coffcode.h (coff_new_section_hook): Don't use align_power_min; + use COFF_DEFAULT_SECTION_ALIGNMENT_POWER instead. Force the .stab + and .stabstr sections to be aligned to no more than 2. Remove + COFF_SPARC special cases. + * coff-a29k.c: Define COFF_DEFAULT_SECTION_ALIGNMENT_POWER. + * coff-apollo.c, coff-go32.c, coff-h8300.c: Likewise. + * coff-h8500.c, coff-i386.c, coff-i960.c, coff-m68k.c: Likewise. + * coff-m88k.c, coff-rs6000.c, coff-sh.c, coff-sparc.c: Likewise. + * coff-we32k.c, coff-z8k.c: Likewise. + + * configure.in: Use ${config_shell} when running config.bfd. + + * cofflink.c (coff_link_input_bfd): Don't try to convert a long + filename if the offset field is zero. + + * elfcode.h (swap_out_syms): If the alignment of a common symbol + was not set, use a sensible default rather than zero. + +Mon Oct 3 16:04:29 1994 H.J. Lu (hjl@nynexst.com) + + * opncls.c (bfd_close): Honor umask when setting execution bits. + (bfd_close_all_done): Likewise. + +Mon Oct 3 04:41:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * rs6000-core.c (rs6000coff_core_p): Set SEC_HAS_CONTENTS flag + for .stack and .ldinfo sections. Cast coredata.c_tab to a + file_ptr to avoid warnings from gcc. + +Fri Sep 30 13:11:38 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * elfcode.h (elf_bfd_final_link): Remove assertion when a non + SEC_IN_MEMORY section is found in dynobj. This can happen when + linking PIC compiled code. + +Thu Sep 29 15:21:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * reloc.c (bfd_install_relocation): Change type of "data" to + bfd_byte *, to go along with yesterday's change. + + * elf.c (bfd_elf_print_symbol): Moved here from elf_print_symbol + in elfcode.h. (case bfd_print_symbol_all): Print symbol's size + field, except for common symbols; print their alignment. + * elfcode.h (elf_print_symbol): Deleted. + * libelf.h (bfd_elf_print_symbol): Declare. + (bfd_elf{32,64}_print_symbol): Replace declarations with macros. + + * syms.c (bfd_print_symbol_vandf): Show BSF_LOCAL and BSF_GLOBAL + in one column. Use the column freed up to show BSF_FUNCTION and + BSF_FILE. + +Thu Sep 29 12:29:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * syms.c (stt): Add .rdata and .rodata. + +Wed Sep 28 13:35:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * reloc.c (bfd_install_relocation): Cast data_start to bfd_byte * + before trying to add values to it. + +Tue Sep 27 16:47:58 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * elf32-hppa.c (elf32_hppa_backend_final_write_processing): Cast + return value from elf_sym_extra. + (elf32_hppa_build_stubs): Cast return value from bfd_zalloc. + (elf32_hppa_size_stubs): Cast return value from malloc. + + * gen-aout.c (main): Declare and initialize "arch". + + * cofflink.c (coff_link_add_symbols): Cast return value of + bfd_hash_allocate. + + * riscix.c (riscix_callback): Use PARAMS macro in prototype. + + * reloc.c (bfd_install_relocation): New function, mostly copied + from bfd_perform_relocation, adjusted for the assembler's needs. + * bfd-in2.h: Regenerated. + +Mon Sep 26 11:00:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * elfcode.h (assign_file_positions_except_relocs): Align the + section VMA and the file position even if D_PAGED is not set. + + * bfd-in.h (bfd_seek): Change declaration to not mark fp const. + * bfd-in2.h: Rebuild. + * libbfd.c (bfd_seek): Don't mark parameters const, to avoid + conflicts with declaration. + +Fri Sep 23 15:15:31 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * elfcode.h (map_program_segments): Don't abort if we allocated + too much space for the program header, only if we allocated too + little. + (assign_file_positions_except_relocs): Similar change. + +Tue Sep 20 13:17:07 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * libaout.h: Fix comment. + * ns32knbsd.h: Changed M_NS32K_NETBSD to M_532_NETBSD to match + libaout.h. + +Tue Sep 20 15:23:21 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * Makefile.in: Rebuilt dependencies. + (BFD32_BACKENDS): Add sparcnetbsd.o. + (CFILES): Add ns32knetbsd.c and sparcnetbsd.c. + * targets.c: ns32knetbsd_vec was renamed to pc532netbsd_vec. + + * coff-sh.c (rtype2howto): Remove; unused. + (coff_sh_relocate_section): Remove unused local variable rstat. + (reloc_processing): Comment out; unused. + +Fri Sep 16 12:12:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * aoutx.h (aout_link_write_other_symbol): If h->indx is -2, then + always write it out even if it would normally be stripped. + (aout_link_input_section_std): If we find a reloc against a + stripped global symbol, force it to be written out rather than + merely calling unattached_reloc. + (aout_link_input_section_ext): Likewise. + (aout_link_reloc_link_order): Likewise. + +Wed Sep 14 15:37:19 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.h (struct somdata): New field sorted_syms. + (obj_som_sorted_syms): Accessor macro. + * som.c (som_object_setup): Initialize sorted_syms to NULL. + (som_prep_for_fixups): Sort a copy of the BFD's symbol table; + store the sorted symbol table in sorted_syms. + (som_write_fixups): Initalize tmp_reloc to NULL to make GCC happy. + (som_begin_writing): Similarly for exec_header. Pass the sorted + symbol table to som_write_symbol_strings. + (som_build_and_write_symbol_table): Use the sorted symbols rather + than the canonical symbol table. + + * som.h (som_symbol_type): Add "stringtab_offset" field. + * som.c (som_write_symbol_strings): Use "stringtab_offset" + rather than destroying the "name" field in the BFD symbol. + (som_build_and_write_symbol_table): Likewise. + +Wed Sep 14 15:06:55 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * aoutx.h (aout_link_write_symbols): Rename skip_indirect to + skip_next. If we find an N_WARNING symbol which has already been + written out, set skip_next. + + * libecoff.h (struct ecoff_tdata): Add field find_buffer. + * ecoff.c: Include aout/stab_gnu.h. + (ecoff_find_nearest_line): Handle stabs debugging information. + + * elfcode.h (elf_link_output_extsym): Keep a symbol marked as weak + even if it is referenced by another object. + +Tue Sep 13 17:57:00 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_fixup_formats): Case R_ENTRY (0xb3), set both + 'T' and 'U' to grab all the unwind information. + (som_set_reloc_info): Make 'U' unwind bits persist across + multiple SOM relocations. Set the addend field of an R_ENTRY + relocation to the value in 'T'; set the addend field on an + R_EXIT relocation to the value in 'U'. + + * som.h (som_symbol_type): Delete unwind field. + + * som.c (som_write_fixups): For R_ENTRY fixups, get 32bits of + unwind information from the addend field of the R_ENTRY, get the + other 32bits from the addend field of the R_EXIT. + (bfd_som_attach_unwind_info): Delete function and all references. + + * som.h (som_symbol_type): Delete unused a.out-related fields. + + * som.c (bfd_section_from_som_symbol): Use bfd_abs_section_ptr + instead of &bfd_abs_section. + + * som.c (som_object_setup): Handle exec_entry and exec_flags being + switched in executables created by the OSF1 linker. + (som_write_fixups): Handle R_EXIT just like the R_{F,L,R}SEL + fixups. Support R_ALT_ENTRY (handle just like R_EXIT). + +Tue Sep 13 16:04:07 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * cofflink.c (coff_link_input_bfd): syment_base is unsigned + so can't compare -ve numbers with it. + +Mon Sep 12 20:31:17 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * configure.in (shcoff_vec): Use cofflink.o now. + * coff-sh.c: Rewritten to use new fast coff backend. + +Tue Sep 13 16:23:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * aoutx.h (NAME(aout,final_link)): Don't assume that all the input + files are a.out. + +Tue Sep 13 11:09:39 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * configure.host (sparc-*-netbsd): use sparcnbsd. + (ns32k-*-netbsd): use ns32knbsd. + + * hosts/{nbsd,i386nbsd,ns32knbsd,sparcnbsd}.h: New files, NetBSD + host support. + + * sparcnetbsd.c: New file, adds support for NetBSD/sparc. + * config/sparc-nbsd.mt: Likewise. + + * netbsd.h: New file, definitions common to all netbsd ports. + * i386netbsd.c: Use it. + * ns32knetbsd.c: Use it. + + * Makefile.in, configure.in, targets.c, config/i386-nbsd.mt, + config/ns32k-nbsd.mt: canonicalize netbsd targets to conform to + file/variable naming conventions. + * i386netbsd.c: New file, renamed from netbsd386.c. + * ns32knetbsd.c: New file, renamed from netbsd532.c. + +Mon Sep 12 21:56:20 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_reloc_skip): Correct off-by-one error for 4-byte + R_NO_RELOCATION fixups. + (bfd_section_from_som_symbol): Return the absolute section if the + symbol isn't contained in any section in the output file. + (som_slurp_symbol_table): ST_PRI_PROG and ST_SEC_PROG symbols are + not function symbols (they are magic code labels which *can* be the + targets of cross space branches). $START$ is not a section symbol. + +Mon Sep 12 11:43:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * coff-alpha.c (ecoffalpha_little_vec): Add SEC_CODE and SEC_DATA + to section_flags. + * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise. + + * elfcode.h (swap_out_syms): Set the type of an undefined symbol + to STT_FUNC if the BSF_FUNCTION flag is set. + + * cofflink.c (coff_link_input_bfd): If r_symndx is -1, don't + change it. + (_bfd_coff_generic_relocate_section): If r_symndx is -1, it is an + absolute reloc. Don't dump core using r_symndx as an array index. + * cf-m68klynx.c (coff_bfd_link_add_symbols): Define. + (lynx_link_add_symbols): New static function (copy of function in + coff-i386.c). + (coff_m68k_lynxrtype_to_howto): sym argument may be NULL. + * coff-i386.c (coff_i386_rtype_to_howto): Likewise. + * coff-a29k.c (coff_a29k_relocate_section): Handle an r_symndx + value of -1, meaning an absolute reloc. + + * ctor.c: Remove; obsolete. + * Makefile.in: Rebuild dependencies. + (BFD_LIBS): Remove ctor.o. + (CFILES): Remove ctor.c. + * libbfd.h: Rebuild. + +Mon Sep 12 01:58:47 1994 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_relocate_section): If there was a link + error of some sort (for example, undefined symbols), then do not + apply any relocs, just notify the user of the errors. + (elf32_hppa_backend_begin_write_processing): Do not build a symbol + extension section for an executable (it's useless). + (elf32_hppa_link_output_symbol_hook): Do nothing if there was a + link error of some sort (for example, undefined symbols). + (elf32_hppa_read_symext_info): Kludge. Turn off SEC_HAS_CONTENTS + for all the input symbol extension sections to keep the generic + BFD code happy. Temporarily turn it on to read the contents of + the symbol extension section. + +Sun Sep 11 21:58:59 1994 Jeff Law (law@snake.cs.utah.edu) + + * config/hppaosf.mh (RANLIB): Do not set. + * config/hppabsd.mh (RANLIB): Likewise. + +Sun Sep 11 22:50:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * cf-i386lynx.c: Remove #if 0 code. + (i386_lynxos_coff_object_p): Remove unused function. + (coff_bfd_link_add_symbols): Define. + (lynx_link_add_symbols): New static function. + * coffcode.h (coff_bfd_link_hash_table_create): If + coff_relocate_section is defined, only define this if not already + defined. + (coff_bfd_link_add_symbols, coff_bfd_final_link): Likewise. + + * linker.c (_bfd_generic_final_link): Handle + bfd_indirect_link_order explicitly, rather than via + _bfd_default_link_order. + (set_symbol_from_hash): New static function, broken out of + _bfd_generic_link_write_global_symbol. + (_bfd_generic_link_write_global_symbol): Symbol setting code moved + to set_symbol_from_hash; call it. + (default_indirect_link_order): Add generic_linker argument. + Change all callers. If false, set the generic symbols based on + the hash table entries. + +Fri Sep 9 11:51:49 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * coffgen.c (coff_get_symtab): Reindented. Removed commented out + call to bfd_constructor_entry. + + Convert m68k COFF to use new COFF backend linker. + * coff-m68k.c (coff_relocate_section): Define. + * cf-m68klynx.c (coff_rtype_to_howto): Define. + (coff_m68k_lynx_rtype_to_howto): New static function. + * configure.in (m68kcoff_vec): Build cofflink.o. + (m68kcoffun_vec, m68klynx_coff_vec): Likewise. + +Thu Sep 8 16:20:38 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * coff-h8300.c (h8300_reloc16_extra_cases, case RELBYTE): Flag + overflows correctly. + +Wed Sep 7 19:01:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * libelf.h (struct elf_backend_data): Change second argument of + elf_backend_final_write_processing hook to boolean. + (struct elf_obj_tdata): Add linker field. + * elfcode.h (NAME(bfd_elf,write_object_contents)): Pass value of + tdata linker field to final_write_processing, rather than NULL. + (elf_bfd_final_link): Don't call final_write_processing hook. Set + tdata linker field to true. + * elf32-mips.c (mips_elf_final_write_processing): Change type of + second argument to boolean. + * elf32-hppa.c (elf32_hppa_backend_final_write_processing): + Likewise. + + * coff-go32.c (RTYPE2HOWTO): Fully parenthesize arguments. + * coff-i960.c (RTYPE2HOWTO): Likewise. + * coff-m88k.c (RTYPE2HOWTO): Likewise. + * coff-we32k.c (RTYPE2HOWTO): Likewise. + + Make i386 COFF use new COFF backend linker. + * coff-i386.c (RTYPE2HOWTO): Fully parenthesize arguments. + (coff_relocate_section): Define. + (coff_i386_rtype_to_howto): New function. + * configure.in (i386coff_vec): Use cofflink.o. + (i386lynx_coff_vec): Likewise. + + * coffcode.h (bfd_coff_backend_data): Add new field + _bfd_coff_rtype_to_howto. + (bfd_coff_rtype_to_howto): Define. + (coff_rtype_to_howto): Define to use RTYPE2HOWTO, if not already + defined. + (bfd_coff_std_swap_table): Initialize new field. + * cofflink.c (_bfd_coff_final_link): Allocate section_count + 1 + section_info structures, since the target_index is 1 based. + (coff_link_input_bfd): Set *secpp to bfd_com_section_ptr for a + common symbol. Adjust rel_hash by the output reloc count. + (_bfd_coff_generic_relocate_section): New function. + * libcoff-in.h (_bfd_coff_generic_relocate_section): Declare. + * libcoff.h: Rebuild. + * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field. + * coff-mips.c (mips_ecoff_backend_data): Likewise. + +Tue Sep 6 23:28:52 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_derive_misc_symbol_info): Treat undefined code + symbols and undefined symbols which no type in the same manner + if the associated BFD symbol has BSF_FUNCTION set. For a defined + symbol which no type, select a SOM type based on the flags of the + section containing the symbol. + (som_slurp_symbol_type): Set BSF_FUNCTION for undefined ST_STUB + or ST_CODE symbols (importing a non-function code symbol is + meaningless in SOM). + (som_set_reloc_info): Don't set "offset" to the section's vma; it + should always start at zero. + +Tue Sep 6 14:51:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + Add new style linker support to COFF backend. a29k only for now. + * cofflink.c: New file. + * libcoff-in.h: Include bfdlink.h. + (obj_coff_external_syms, obj_coff_strings): Define accessor macro. + (obj_coff_sym_hashes): Define accessor macro. + (struct coff_tdata): Add fields external_syms, strings, and + sym_hashes. + (struct coff_link_hash_entry): Define. + (struct coff_link_hash_table): Define. + (coff_link_hash_lookup, coff_link_hash_traverse): Define. + (coff_hash_table): Define. + (_bfd_coff_link_hash_table_create): Declare. + (_bfd_coff_link_add_symbols, _bfd_coff_final_link): Declare. + * coffcode.h (bfd_coff_backend_data): Add fields _bfd_relsz, + _bfd_coff_swap_reloc_in, _bfd_coff_sym_is_global, + _bfd_coff_compute_section_file_positions, + _bfd_coff_relocate_section. + (bfd_coff_relsz, bfd_coff_swap_reloc_in): Define. + (bfd_coff_sym_is_global): Define. + (bfd_coff_compute_section_file_positions): Define. + (bfd_coff_relocate_section): Define. + (coff_mkobject_hook): Initialize obj_raw_syment_count and + obj_conv_table_size. + (coff_compute_section_file_positions): Set target_index of all + sections. Set output_has_begun field. + (coff_write_object_contents): Don't set target_index; now done by + coff_compute_section_file_positions. Remove obsolete handling of + scn_base and data_base. Don't bother to check that target_index + is positive, since it always is. Remove use of pad, which is + always zero. Check obj_raw_syment_count, not bfd_get_symcount, + for the number of symbols, but only write them out if + bfd_get_symcount is non-zero. Don't check obj_raw_syment_count + until after coff_write_symbols is called. + (coff_slurp_symbol_table): Use obj_raw_syment_count, not + bfd_get_symcount for the number of symbols. Don't set + obj_conv_table_size. + (coff_sym_is_global): New static function or macro. + (coff_slurp_reloc_table): Call coff_swap_reloc_in, not + bfd_swap_reloc_in. + (coff_bfd_link_hash_table_create): If coff_relocate_section is + defined, define as _bfd_coff_link_hash_table_create. + (coff_bfd_link_add_symbols): Similar change. + (coff_bfd_final_link): Similar change. + (coff_relocate_section): Define as NULL if not defined. + (bfd_coff_std_swap_table): Initialize new fields. + * coffgen.c (coff_real_object_p): Don't set obj_raw_syment_count + and obj_conv_table_size here. + (coff_count_linenumbers): Reindent. If bfd_get_symcount is zero, + add up the line numbers from the sections. + (coff_write_symbols): Set obj_raw_syment_count, not + bfd_get_symcount. + (coff_pointerize_aux): Don't pointerize a nonpositive x_endndx + field. + (coff_get_normalized_symtab): Use obj_raw_syment_count, not + bfd_get_symcount. + (coff_print_symbol): If auxp->fix_end, print x_endndx value. + * coffswap.h (coff_swap_reloc_in): Rename from bfd_swap_reloc_in. + Reindent. Change argument type to PTR. + * coff-a29k.c (coff_a29k_relocate_section): New static function. + (coff_relocate_section): Define. + * configure.in (a29kcoff_big_vec): Compile cofflink.o. + * coff-alpha.c (alpha_ecoff_backend_data): Initialize new fields. + * coff-mips.c (mips_ecoff_backend_data): Likewise. + * libcoff.h: Rebuilt. + * Makefile.in: Rebuilt dependencies. + (BFD32_BACKENDS): Add cofflink.o. + (CFILES): Add cofflink.c. + +Tue Sep 6 14:00:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * coffgen.c (coff_print_symbol, case bfd_symbol_print_all): Check + for section symbol, and print its aux fields with appropriate + labels. + + * Makefile.in (ALL_MACHINES): Added cpu-arm.o. + +Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org) + + * aoutx.h (NAME(aout,machine_type)): Recognize the ARM processor. + * archures.c, config.bfd, configure.host, libaout.h, reloc.c, + targets.c: Add support for the ARM. + * cpu-arm.c, riscix.c, config/riscix.mh, config/riscix.mt: New files. + + * aoutx.h (add_to_stringtable): Check that str isn't a NULL pointer. + +Fri Sep 2 14:10:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * reloc.c (enum bfd_reloc_code_real): Rewrote definition to use + new "chew" commands for simultaneous definition of enumerator and + enumerator name table. + (bfd_get_reloc_code_name): New function, for retrieving a symbolic + name associated with an enumerator. + * libbfd.h, bfd-in2.h: Regenerated. + +Tue Aug 30 21:24:54 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_write_fixups, case R_ENTRY): Handle case where no + unwind descriptor information is available. + +Tue Aug 30 11:43:30 1994 Eric Youngdale (ericy@cais.cais.com) + + * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add soname + argument, and use it to set DT_SONAME dynamic entry. + * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype. + (bfd_elf64_size_dynamic_sections): Update prototype. + * bfd-in2.h: Rebuilt. + +Fri Aug 26 15:47:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * coffgen.c (coff_real_object_p): Set obj_raw_syment_count. + (coff_get_normalized_symtab): Verify obj_raw_syment_count, rather + than setting it. + +Thu Aug 25 10:44:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * archive.c (bsd_write_armap): Remove host dependencies. + + * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error + before adding BYTES_IN_WORD. + + * coffgen.c (coff_find_nearest_line): Look for the best C_FILE, + not merely the first. + + * coffgen.c (coff_write_alien_symbol): If we are not using the + symbol, clear the name so that it is not put in the string table. + From Antti.Miettinen@ntc.nokia.com. + +Wed Aug 24 11:49:19 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * coffgen.c (coff_print_symbol): Cast pointer different to long + and use %ld to print it. + * osf-core.c (osf_core_core_file_p): Remove unused variable + dseccnt. + * ecoffswap.h (ecoff_swap_ext_out): If ECOFF_64, clear remaining + bytes in bits2. + + * configure.host, config.bfd: Change i[34]86 to i[345]86. + * coffgen.c (coff_real_object_p): Set obj_conv_table_size here, + rather than waiting until coff_slurp_symbol_table. + (coff_write_alien_symbol): Just ignore BSF_DEBUGGING symbols. + From Antti.Miettinen@ntc.nokia.com. + + * section.c (bfd_make_section_anyway): Fix failure check of + bfd_make_empty_symbol. From Antti.Miettinen@ntc.nokia.com. + + * aoutx.h (translate_to_native_sym_flags): Use the output_section + (and output_offset) if there is one. + + * aoutx.h (aout_link_check_archive_element): Discard the symbols + if the archive element was not needed. + + * aoutx.h (aout_get_external_symbols): Ensure that a zero string + index yields an empty string. + (aout_link_write_symbols): If info->keep_memory is false, use name + from original hash table entry, not from entry in *sym_hash. + + * aoutx.h (struct aout_final_link_info): Add fields contents, + relocs, symbol_map and output_syms. + (NAME(aout,final_link)): Work out the largest section size, reloc + size, and number of symbols. Use them to preallocate buffers that + are large enough for all cases. + (aout_link_input_bfd): Use preallocated symbol_map. + (aout_link_write_symbols): Remove symbol_map argument; use + preallocated symbol_map instead. Change all callers. Use + preallocated output_syms. + (aout_link_input_section): Remove symbol_map argument. Change all + callers. Use preallocated contents and relocs. + (aout_link_input_section_std): Remove symbol_map argument; use + preallocated symbol_map instead. Change all callers. + (aout_link_input_section_ext): Likewise. + +Tue Aug 23 10:51:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * archive.c (_bfd_write_archive_contents): Don't update the + symbol map timestamp if there is no symbol map. From + schwab@issan.informatik.uni-dortmund.de (Andreas Schwab). + +Mon Aug 22 12:26:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add _update_armap_timestamp. + (bfd_target): Add field _bfd_update_armap_timestamp. + * bfd.c (bfd_update_armap_timestamp): Define. + * bfd-in2.h: Rebuilt. + * libbfd-in.h (_bfd_noarchive_update_armap_timestamp): Define. + (_bfd_archive_bsd_update_armap_timestamp): Declare. + (_bfd_archive_coff_update_armap_timestamp): Define. + * libbfd.h: Rebuilt. + * archive.c (_bfd_write_archive_contents): Call + bfd_update_armap_timestamp instead of checking for a BSD archive + and calling bsd_update_armap_timestamp. + (_bfd_archive_bsd_update_armap_timestamp): Rename from + _bsd_update_armap_timestamp. Don't assume that armap_datepos is + already set. + * aout-target.h (MY_update_armap_timestamp): Define if not already + defined. + * coff-rs6000.c (rs6000coff_update_armap_timestamp): Define. + * ieee.c (ieee_update_armap_timestamp): Define. + * libecoff.h (_bfd_ecoff_update_armap_timestamp): Define. + * oasys.c (oasys_update_armap_timestamp): Define. + * som.c (som_update_armap_timestamp): Define. + + * hash.c: Copy string hash functions from aoutx.h. + * aoutx.h: String hash functions moved to hash.c. Retain + simplified versions of add_to_stringtab and emit_stringtab. + Change all callers to use new function and structure names. + * libbfd-in.h (_bfd_stringtab_init, _bfd_stringtab_free): Declare. + (_bfd_stringtab_size, _bfd_stringtab_add): Declare. + (_bfd_stringtab_emit): Declare. + * libbfd.h: Rebuilt. + +Mon Aug 22 10:49:37 1994 Eric Youngdale (ericy@cais.cais.com) + + * i386linux.c (linux_add_one_symbol): Create a fixup for any + defined absolute symbol, not just GOT or PLT symbols. + (linux_tally_symbols): Correct handling of references to defined + symbols. + +Thu Aug 18 16:29:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + Get ld -x -r to handle a.out set symbols correctly. + * aoutx.h (adjust_o_magic): If the .bss VMA was set outside of + BFD, pad the .data section up to the VMA of the .bss section. + (aout_link_add_symbols): If a set symbol does not get modified, + treat it as a local symbol. + (aout_link_write_symbols): Set the value of set symbols + correctly. Don't discard set symbols even if discarding local + symbols. + (aout_link_write_other_symbol): Don't abort on bfd_link_hash_new, + since it can now happen for set symbols. + + * elfcode.h (elf_fake_sections): Just check for ".rela" and + ".rel", not ".rela." and ".rel."; make this work by checking + use_rela_p. + * elf32-i386.c (elf_i386_check_relocs): Just check for ".rel", not + ".rel." + (elf_i386_size_dynamic_sections): Likewise. + (elf_i386_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_check_relocs): Just check for + ".rela", not ".rela." + (elf32_sparc_size_dynamic_sections): Likewise. + (elf32_sparc_relocate_section): Likewise. + +Wed Aug 17 16:54:18 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * linker.c (_bfd_generic_link_add_archive_symbols): Initialize + PASS to the old value + 1. + + * coffgen.c (coff_get_normalized_symtab): If a C_FILE symbol has + no aux entries, use the symbol name as the file name. + (coff_find_nearest_line): Look for the right C_FILE symbol, rather + than always using the first one. If there is a debugging symbol + after a function symbol, skip it. Add the section VMA to the line + offset, since it was subtracted out in coff_slurp_line_table. + +Tue Aug 16 16:53:00 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_prep_headers): If writing some form of an executable, + allocate and attach an exec header to the BFD private data. + (som_begin_writing): Don't fill fields of the exec header based + on BFD private data here (like the exec flags). Do not write + the exec header here. + (som_write_headers): Instead do it here. + * som.h (struct somdata): New field "exec_hdr" for the executable + file header. + (obj_som_exec_hdr): New accessor macro. + +Tue Aug 16 00:12:31 1994 Eric Youngdale (ericy@cais.cais.com) + + * i386linux.c (linux_link_create_dynamic_sections): Create section + named .linux-dynamic, not .dynamic. + (linux_add_one_symbol): Use .linux-dynamic, not .dynamic. + (bfd_linux_size_dynamic_sections): Likewise. + (linux_finish_dynamic_link): Likewise. + +Mon Aug 15 12:16:56 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * coffgen.c (STRING_SIZE_SIZE): Define. + (coff_fix_symbol_name): Use STRING_SIZE_SIZE, not 4. + (coff_write_symbols, build_string_table): Likewise. + (coff_get_normalized_symtab): Likewise. + + * libcoff-in.h (obj_symbol_slew): Don't define. + (struct coff_tdata): Remove unused fields index_slew, raw_linenos, + and flags. + * libcoff.h: Rebuilt. + * coffcode.h (coff_mkobject): Don't initialize raw_linenos. + (coff_mkobject_hook): Don't initialize flags. + + * aout-target.h (MY_zmagic_contiguous): Define as 0 if not already + defined. + (MY(backend_data)): Use MY_zmagic_contiguous, not hardcoded 0. + * i386linux.c (MY_zmagic_contiguous): Define. + + * elfcode.h (bfd_section_from_shdr): If a SHT_SYMTAB section in a + shared object has SHF_ALLOC set, create a BFD section for it. + (elf_section_from_bfd_section): There may be a BFD section for a + SHT_SYMTAB section. + + * coffcode.h (styp_to_sec_flags): Add name argument. If no flags + are recognized, chose section flags based on the name. + (bfd_coff_backend_data): _bfd_styp_to_sec_flags_hook field: Add + name argument. + (bfd_coff_styp_to_sec_flags_hook): Add name argument. + (coff_compute_section_file_positions): Don't adjust the section + position by COFF_PAGE_SIZE unless SEC_ALLOC is set. + * libcoff.h: Rebuilt. + * coffgen.c (make_a_section_from_file): Pass section name to + bfd_coff_styp_to_sec_flags_hook. + * ecoff.c (_bfd_ecoff_styp_to_sec_flags): Add unused name + argument. + * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Add name argument to + prototype. + +Fri Aug 12 11:22:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * elfcode.h (section_from_elf_index): Correct check for invalid + section index. + + * elfcode.h (elf_link_add_object_symbols): If there is no symbol + table, try using the dynamic symbol table. From Eric Youngdale + <ericy@cais.cais.com>. + + * configure.host (sparc-*-solaris2*): Use solaris2, not sysv4. + The linker depends upon configuring for solaris2. + * hosts/solaris2.h: New file; include hosts/sysv4.h. + * config/solaris2.mh: New file; copy of config/sysv4.mh. + +Wed Aug 10 13:09:38 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * aoutx.h (adjust_z_magic): Make sure data section is padded to + page boundary when the VMA is set by the calling program. From + Eric Youngdale <ericy@cais.cais.com>. + +Mon Aug 8 17:18:49 1994 Stan Shebs (shebs@andros.cygnus.com) + + Update to ns32k support, from Ian Dall (dall@hfrd.dsto.gov.au). + * aout-ns32k.c: Add declarations that were in aout-ns32k.h, change + declarations to traditional form. + (MY_reloc_howto, MY_put_reloc): Change from macro to function. + (ns32k_relocate_contents): New function. + * aout-ns32k.h: Remove. + * cpu-ns32k.c: Add declarations that were in aout-ns32k.h, change + declarations to traditional form. + (ns32k_final_link_relocate): Call ns32k_relocate_contents. + * netbsd532.c: Reformat to standards, add copyright notice. + (ARCH): Don't define. + (aout-ns32k.h): Don't include. + * pc532-mach.c: Ditto. + +Mon Aug 8 17:55:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * coff-i960.c (coff_i960_relocate): Don't try to convert relocs + against common symbols. + +Sat Aug 6 22:27:30 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * irix-core.c (irix_core_core_file_p): Ignore sections that + are not contained in the core file. + +Thu Aug 4 11:32:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * coff-m68k.c (m68k_reloc_type_lookup): New function. + (coff_bfd_reloc_type_lookup): Define. + * cf-m68klynx.c (_bfd_m68kcoff_reloc_type_lookup): Define. + + * elfcode.h (elf_bfd_final_link): Force the vma of sections which + do not have SEC_ALLOC set to be 0. This is needed to handle + relocs against debugging sections. + +Wed Aug 3 16:45:41 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * coff-i960.c (coff_i960_relocate): Rewrote to change relocs + against locally defined symbols into relocs against section + symbols, for VxWorks 5.1. + +Wed Aug 3 10:34:37 1994 Eric Youngdale (ericy@cais.cais.com) + + * i386linux.c (linux_add_one_symbol): Only handle + SHARABLE_CONFLICTS specially if BSF_CONSTRUCTOR is set. Set hashp + for a GOT or PLT symbol. Set jump field of fixup for a PLT symbol. + (linux_tally_symbols): Check section of real symbol. When looking + for a builtin fixup, check builtin and jump flags. Create no more + than one fixup, and always create one if the real symbol is in the + absolute section. Only strip absolute symbols. + +Wed Aug 3 05:08:24 1994 D. V. Henkel-Wallace (gumby@cygnus.com) + + * coffcode.h (coff_write_object_contents): set internal_a.magic to + LYNXCOFFMAGIC whenever 68k, SPARC or i386 LynxOS + (yes, they have the same magic number!) + +Tue Aug 2 10:43:21 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * hp300hpux.c (BMAGIC): Define as HPUX_DOT_O_MAGIC, to make test + in aoutx.h work correctly. + + * coff-i960.c (coff_i960_relocate): New function. + (howto_rellong, howto_iprmed): Use it as special_function. + + * libbfd-in.h: Move declarations of bfd_read, bfd_write, bfd_seek, + bfd_tell, bfd_flush, and bfd_stat from here... + * bfd-in.h: ...to here, to make them visible to programs which + know more about the object file format than BFD does. + * libbfd.h, bfd-in2.h: Rebuilt. + +Mon Aug 1 17:55:53 1994 Fred Fish (fnf@cygnus.com) + + * ptrace-core.c (ptrace_unix_core_file_p): Convert zalloc usage + to bfd_zalloc. + +Mon Aug 1 12:04:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * elf64-sparc.c (ELF_MAXPAGESIZE): Define. + + ELF linker patches from Eric Youngdale <ericy@cais.cais.com>. + * elfcode.h (elf_link_create_dynamic_sections): Set type of + _DYNAMIC to STT_OBJECT. + (NAME(bfd_elf,record_link_assignment)): Always create hash table + entry. Set type to STT_OBJECT. + (elf_link_output_extsym): Don't set type of weak defined symbol to + STB_WEAK if symbol was referenced. + (map_program_segments): Check DYNAMIC as well as EXEC_P. + (assign_file_positions_except_relocs): Likewise. + * elf32-i386.c (elf_i386_create_dynamic_sections): Set type of + _GLOBAL_OFFSET_TABLE to STT_OBJECT. + (elf_i386_check_relocs): Ignore local PLT32 relocs. + (elf_i386_relocate_section): Treat local PLT32 relocs as PC32. + + * elfcode.h (elf_adjust_dynamic_symbol): Correct weak symbol + handling again. + + * elfcode.h (elf_slurp_reloc_table): Don't try to read the relocs + if there aren't any. + + * configure.host (sparc-*-solaris2*): Use sysv4, not solaris2. + * hosts/solaris2.h: Remove. + * config/solaris2.mh: Remove. + +Sun Jul 31 14:27:04 1994 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c, elf32-hppa.h: Update comment reflecting which + HPPA ELF spec the code implements. + +Tue Jul 26 17:38:01 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * cpu-i960.c (MAX_ARCH): New macro. + (compatible): Use it in computing array bounds. Put comma after + last entry in array, for regularity. + (arch_info_struct): Adjust spacing for easier reading. + + * coff-i960.c (howto_rellong, howto_iprmed, howto_optcall): Use + HOWTO macro. + + * cpu-i960.c (JX): Define as bfd_mach_i960_jx. + (scan_960_mach): Recognize jx machine. + (MAX_ARCH): Define to be JX. + (compatible): Add JX row to array. + (arch_info_struct): Add JX entry. + + * archures.c (bfd_mach_i960_jx): New macro. + * bfd-in2.h: Regenerated. + + * coffcode.h (coff_set_arch_mach_hook): For F_I960JX, set machine + to bfd_mach_i960_jx. + (coff_set_flags): For bfd_mach_i960_jx, set F_I960JX. + +Tue Jul 26 11:04:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * elfcode.h (elf_adjust_dynamic_symbol): When handling a weak + symbol, correct check to see whether the equivalent normal symbol + was referenced. + + Add support for creating shared libraries under i386 ELF and SPARC + ELF. Based on patches by Eric Youngdale <ericy@cais.cais.com>. + * libelf.h (struct elf_link_hash_entry): Remove copy_offset field. + Add got_offset and plt_offset fields. + (ELF_LINK_HASH_REF_DYNAMIC_MULTIPLE): Don't define. + (ELF_LINK_HASH_DEF_DYNAMIC_MULTIPLE): Don't define. + (ELF_LINK_HASH_NEEDS_COPY): Define. + (struct elf_backend_data): Add check_relocs field. + (struct bfd_elf_section_data): Change relocs from PTR to + Elf_Internal_Rela *. + (struct elf_obj_tdata): Add local_got_offsets field. + (elf_local_got_offsets): Define accessor macro. + (bfd_elf32_link_create_dynamic_sections): Declare. + (bfd_elf32_link_record_dynamic_symbol): Declare. + (bfd_elf64_link_create_dynamic_sections): Declare. + (bfd_elf64_link_record_dynamic_symbol): Declare. + * elfcode.h (elf_slurp_reloc_table): Don't use the section data + relocs field. + (elf_link_record_dynamic_symbol): Make globally visible. Use + macro to rename to NAME(bfd_elf,link_record_dynamic_symbol). + (elf_link_add_object_symbols): If creating a shared library, put + make all local symbols dynamic. Don't bother with the + DYNAMIC_MULTIPLE flags. Call the check_relocs backend function if + it is defined. + (elf_link_create_dynamic_sections): Make globally visible. Use + macro to rename to NAME(bfd_elf,link_create_dynamic_sections). If + creating a shared library, make sure that _DYNAMIC is added as a + dynamic symbol. + (elf_link_read_relocs): New function. + (NAME(bfd_elf,record_link_assignment)): If creating a shared + library, always create symbols, and always make them dynamic. + (elf_bfd_final_link): Permit creation of shared libraries. + (elf_link_input_bfd): Use elf_link_read_relocs to get the relocs. + * elf.c (_bfd_elf_link_hash_newfunc): Don't initialize + copy_offset. Initialize got_offset and plt_offset. + * elf32-target.h (elf_backend_check_relocs): Define as 0 if not + defined. + (elf32_bed): Initialize check_relocs field. + * elf64-target.h (elf_backend_check_relocs): Define as 0 if not + defined. + (elf64_bed): Initialize check_relocs field. + * elf32-i386.c (elf_howto_table): Change R_386_PLT32 and + R_386_GOTPC to be pc_relative and pcrel_offset. + (elf_i386_pic_plt0_entry): Define. + (elf_i386_pic_plt_entry): Define. + (elf_i386_create_dynamic_sections): Create a .got.plt section, and + define _GLOBAL_OFFSET_TABLE_ at the start of it. If creating a + shared library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a + dynamic symbol. Don't create .rel.bss if creating a shared + library. + (elf_i386_check_relocs): New function. + (elf_i386_adjust_dynamic_symbol): Don't make a PLT entry if the + symbol already has one. When making a PLT entry, set plt_offset. + Don't create a copy reloc when creating a shared library. Don't + set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY. + (elf_i386_allocate_dynamic_section): Remove. + (elf_i386_size_dynamic_sections): Look through all the sections + rather than assuming we know their names. Remove any empty reloc + or plt sections. Only add a DT_DEBUG entry if not creating a + shared library. Only add a DT_PLTGOT entry if there is a PLT. + Add a DT_TEXTREL entry if required. + (elf_i386_relocate_section): Permit undefined symbols when + creating a shared library. Handle the special relocation types + specially. + (elf_i386_finish_dynamic_symbol): Create a PLT entry if plt_offset + is set. If creating a shared library, produce a PIC PLT entry. + Only mark a PLT symbol as undefined if it was not defined by a + regular object file. Create a GOT entry if got_offset is set. + Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set. + (elf_i386_finish_dynamic_sections): Change the handling of + DT_RELSZ to simply subtract out the size of .rel.plt. If creating + a shared library, produce PIC PLT code. + (elf_backend_check_relocs): Define. + * elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT10, + R_SPARC_GOT22, and R_SPARC_PC10 to not warn about reloc overflow. + (elf32_sparc_create_dynamic_sections): If creating a shared + library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a + dynamic symbol, and set the type to STT_OBJECT. Likewise for + _PROCEDURE_LINKAGE_TABLE_. Don't create .rel.bss if creating a + shared library. + (elf32_sparc_check_relocs): New function. + (elf32_sparc_adjust_dynamic_symbol): Don't make a PLT entry if the + symbol already has one. When making a PLT entry, set plt_offset. + Don't create a copy reloc when creating a shared library. Don't + set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY. + (elf32_sparc_allocate_dynamic_section): Remove. + (elf32_sparc_size_dynamic_sections): Look through all the sections + rather than assuming we know their names. Only add a DT_DEBUG + entry if not creating a shared library. Add a DT_TEXTREL entry if + required. + (elf32_sparc_relocate_section): Permit undefined symbols when + creating a shared library. Handle the special relocation types + specially. + (elf32_sparc_finish_dynamic_symbol): Create a PLT entry if plt_offset + is set. Only mark a PLT symbol as undefined if it was not defined + by a regular object file. Create a GOT entry if got_offset is + set. Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set. + (elf32_sparc_finish_dynamic_sections): Store dynobj in a local + variable. + (elf_backend_check_relocs): Define. + +Mon Jul 25 12:21:07 1994 Stan Shebs (shebs@andros.cygnus.com) + + * configure.in (pc532mach_vec): Change to pc532machaout_vec. + * config.bfd (ns32k-*-netbsd*): Use ns32k-nbsd as bfd_name. + * Makefile.in (ALL_MACHINES): Add cpu-ns32k.o. + (BFD32_BACKENDS): Add aout-ns32k.o, netbsd532.o, m88kmach3.o, + pc532-mach.o. + * targets.c (pc532machaout_vec): Use instead of pc532mach_vec. + * config/pc532-mach.mt (DEFAULT_VECTOR): Ditto. + (SELECT_VECS): Remove. + * config/ns32k-nbsd.mt: New file, was ns32k-netbsd.mt. + * config/ns32k-netbsd.mt: Remove, name too long. + +Fri Jul 22 11:07:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * linker.c (generic_link_check_archive_element): When changing a + symbol to common, set the alignment. + (_bfd_generic_link_add_one_symbol): When creating a common symbol, + set the alignment. + * aoutx.h (aout_link_check_ar_symbols): When changing a symbol to + common, set the alignment. + (aout_link_add_symbols): Restrict the alignment of a common symbol + to the alignment power given by the architecture. + * libelf.h (struct elf_link_hash_entry): Remove align field. Add + copy_offset field. + * elfcode.h (elf_link_add_object_symbols): Store alignment in + new bfd_link_hash_entry field, not in elf_link_hash_entry field. + (elf_link_output_extsym): Similar change when getting alignment. + * elf.c (_bfd_elf_link_hash_newfunc): Don't initialize align. Do + initialize copy_offset. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use copy_offset + field rather than align field. Get alignment using bfd_log2 + rather than switch. + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. + * elf32-i386.c (elf_i386_finish_dynamic_symbol): Use copy_offset, + not align. + * elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Likewise. + + * aoutx.h (NAME(aout,some_aout_object_p)): Just check + STAT_FOR_EXEC, don't check MACH. + * m88kmach3.c (MACH): Don't define. + * config/i386-mach3.mt (TDEFINES): Define STAT_FOR_EXEC. + * config/m88k-mach3.mt (TDEFINES): Likewise. + * config/mips-mach3.mt (TDEFINES): Likewise. + +Thu Jul 21 17:24:31 1994 Stan Shebs (shebs@andros.cygnus.com) + + * i386mach3.c: Reverted to version from before Jul 5 1994 changes. + +Thu Jul 21 12:26:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * reloc.c (struct reloc_howto_struct): Remove special_function1. + It's the wrong way to do things. + (HOWTO): Change accordingly. + (HOWTO2): Remove. + (_bfd_final_link_relocate): Remove references to + special_function1. + * bfd-in2.h: Rebuilt. + * aoutx.h (aout_link_input_section_std): Remove references to + special_function1. + (aout_link_reloc_link_order): Likewise. + +Wed Jul 20 15:46:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add rpath + argument. If it is not NULL, use it to set DT_RPATH. + * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype. + (bfd_elf64_size_dynamic_sections): Likewise. + * bfd-in2.h: Rebuilt. + +Sat Jul 16 21:10:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * elfcode.h (elf_get_dynamic_symtab_upper_bound): If there is no + dynamic symtab, return error. + + * libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Define. + * elfcode.h (elf_link_add_object_symbols): If symbol is defined as + weak, set ELF_LINK_HASH_DEFINED_WEAK. + (elf_link_output_extsym): If symbol is defined as weak, mark it + STB_WEAK. + + * libelf.h (struct bfd_elf_section_data): Add relocs field. + (shdr_name): Remove; unused. + * elfcode.h (elf_slurp_reloc_table): Rewrote to handle both REL + and RELA relocs. Free up the unswapped relocs. Permit the relocs + to be cached in the section_data. Correct the reloc address. + (elf_slurp_reloca_table): Remove. + (elf_canonicalize_reloc): Rewrote. + (elf_link_input_bfd): Permit the relocs to be cached in the + section data. + +Sat Jul 16 13:55:38 1994 Stan Shebs (shebs@andros.cygnus.com) + + * config.bfd (m88*-harris-cxux*): Recognize. + * hosts/harris.h (POSIX_UTIME, HAVE_PROCFS): Define. + + * configure.host (m68*-atari-sysv4*): New host. + (m68*-cbm-sysv4*): Use m68kv4 instead of amix. + * hosts/amix.h: Remove. + * hosts/m68kv4.h: New file, was amix.h. + +Thu Jul 14 15:12:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * reloc.c (enum bfd_reloc_code_real, bfd_type, struct + reloc_howto_struct, reloc_howto_type, HOWTO, HOWTO2): Copied + changes over from bfd-in2.h so they get generated properly next + time someone runs "make headers". + * bfd-in2.h: Rebuilt. + + * targets.c (netbsd532_vec, pc532mach_vec): Declare const. + (m88kmach3_vec): Restore deleted declaration. + + * configure.in: Alphabetize target vector names. + + * config/pc532mach.mh: New file. + (HDEPFILES, HDEFINES): Define here. + * config/pc532-mach.mt (HDEPFILES, HDEFINES): Deleted. + * config/ns32k-netbsd.mt (HDEPFILES, HDEFINES): Deleted. + + Sun Jul 10 00:04:20 1994 Ian Dall (dall@hfrd.dsto.gov.au) + + * pc532-mach.c: New File. pc532-mach a.out format. + + * netbsd532.c: New file. pc532-netbsd532 a.out format. + + * hosts/pc532mach.h: New file. pc532-mach host support. + + * cpu-ns32k.c: New file. ns32k support cpu specific code rather + than format specific code. + + * config/pc532-mach.mt: New file. Support for pc532-mach target. + + * config/ns32k-netbsd.mt: New file. Support for netbsd532 target. + + * aout-ns32k.c, aout-ns32k.h: New files supporting aout format for + ns32k series. + + * targets.c: Add netbsd532_vec and pc532machaout_vec into + bfd_target_vector array. Move netbsd386_vec to alphabetic order + location. + + * reloc.c (_bfd_final_link_relocate) Add support for + special_function1 in howto. + + * libaout.h: add M_NS32032, M_NS32532, M_532_NETBSD entries in + machine_type enum. + + * configure.in: add pc532mach_vec and netbsd532_vec entries. + + * config.bfd: add pc532mach host entries. Use for both + ns32k-pc532-mach and ns32k-pc532-netbsd. + + * config.bfd: it doesn't work to use i386-mach3 for ns32k*-*-mach. + add ns32k-pc532-mach* and ns32k-*-netbsd* entries. + + * bfd-in2.h: Add ns32k specific relocations to bfd_reloc_code_real + enum. + + * bfd-in2.h: Add special_function1 to struct howto. Change HOWTO + and NEWHOWTO macros to make special_function1 NULL. Neww HOWTO2 + macro. + + * bfd-in2.h: Split definition of struct reloc_howto_struct + and corresponding typedef into two statements. + + * bfd-in2.h: Add entry bfd_arch_ns32k to bfd_architecture enum. + + * archures.c: Add bfd_ns32k_arch prototype, and entry in + archures_init_table. + + * aoutx.h (aout_link_reloc_link_order): Allow for target dependent + MY_put_reloc macro. Allow for target dependent special_function1 + to apply the relocation. + + * aoutx.h (aout_link_input_section_std): Allow for target + dependent determination of reloc howto. Allow for target dependent + special_function1 to apply the relocation. + + * aoutx.h (get_reloc_upper_bound): Detect bss and return 0. + + * aoutx.h (slurp_reloc_table): Detect bss and succesfully read + zero reloc entries. + + * aoutx.h (machine_type): Add bfd_arch_ns32k case. + + * aoutx.h: Stat to determine executable status if STAT_FOR_EXEC + is defined (not just MACH). Use fstat instead of stat and check + for fstat error. + + * aoutx.h: Allow target dependent swap_std_reloc_{in,out}. + + * aoutx.h: Allow CTORS reloc info to be in target dependent reloc + table. + + * aout-target.h: Apply SWAP_MAGIC (if defined) after + swap_exec_header_in, otherwise we have magic in the wrong order. + +Thu Jul 14 11:47:27 1994 Stan Shebs (shebs@andros.cygnus.com) + + * coff-sparc.c (sparccoff_vec): Have leading underscores. + +Tue Jul 12 12:08:10 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * aix386-core.c, aoutf1.h, cisco-core.c, elfcode.h, hppabsd-core.c, + hpux-core.c, irix-core.c, lynx-core.c, osf-core.c, ptrace-core.c, + rs6000-core.c, trad-core.c: Remove SEC_ALLOC flag from .reg + sections, .reg sections are not allocated and contain debug + information only. + * osf-core.c (make_bfd_asection, osf_core_core_file_p): Use + bfd_make_section_anyway instead of building unique section names. + +Tue Jul 12 11:41:22 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * libelf.h (bfd_elf32_swap_symbol_in): Declare. + (bfd_elf32_swap_symbol_out): Declare. + (bfd_elf64_swap_symbol_in, bfd_elf64_swap_symbol_out): Declare. + * elf32-hppa.c (elf32_hppa_args_hash_table_init): Correct cast. + + * aout-encap.c (ARCH): Don't define. Obsolete. + * aout0.c, aoutx.h, gen-aout.c, hp300bsd.c, hp300hpux.c: Likewise. + * i386aout.c, i386bsd.c, i386dynix.c, i386linux.c: Likewise. + * i386lynx.c, m68klynx.c, mipsbsd.c, netbsd386.c: Likewise. + * newsos3.c, sparclynx.c, sunos.c: Likewise. + +Mon Jul 11 20:08:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * section.c (STD_SECTION): Make the sixth argument boolean, not + the seventh. From gary@tuva.pacsemi.oz.au (gary kopff). + +Sun Jul 10 09:12:02 1994 D. V. Henkel-Wallace (gumby@cygnus.com) + + * aoutx.h (bfd_free_cached_info): Change name of FREE to BFCI_FREE + in order not to collide with LynxOS's definition of FREE in + /usr/include/sys/proc.h + +Thu Jul 7 14:18:06 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * reloc.c (bfd_perform_relocation): Don't clobber the relocation + value for coff-Intel-little or coff-Intel-big. Hack upon hack. + +Thu Jul 7 10:10:34 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * aoutx.h (howto_table_std): Add entry for GOT relocations + which are present in sun3 shared libraries, to avoid assertions + when reading the dynamic relocations. + +Thu Jul 7 10:19:20 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.h (R_HPPA_COMPLEX): Fix dumb typo. + +Wed Jul 6 19:21:57 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * hosts/sysv4.h (qsort, strtol): Don't declare. + + * elfcode.h (elf_link_output_sym): Don't call output_symbol_hook + if it is NULL. + + * elf32-mips.c (mips_elf_final_write_processing): Add ignored info + argument to correspond to recent libelf.h change. + +Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * coff-alpha.c (alpha_ecoff_mkobject_hook): New hook to + additionally copy object type information from the alpha file + header to the BFD flags. + (alpha_ecoff_backend_data): Use it. + (ecoffalpha_little_vec): Add DYNAMIC to object_flags. + * aout64.c: Fix typo in conditional QMAGIC definition. + +Wed Jul 6 00:13:17 1994 Jeff Law (law@snake.cs.utah.edu) + + * hppabsd-core.c (hppabsd_core_core_file_p): Sanity check the + value of clicksz to help weed out non HPPA BSD core files. + +Tue Jul 5 13:26:02 1994 Stan Shebs (shebs@andros.cygnus.com) + + Mach 3 support. + * config.bfd (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*): + New targets. + * configure.host (i[34]86-*-mach3*, ns32k-*-mach3*): Recognize + "mach3" instead of "mach". + (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*): New hosts. + * targets.c (m88kmach3_vec): New target vector. + (bfd_target_vector): Add i386mach3_vec and m88kmach3_vec, but + inside #if 0. + * aoutx.h (some_aout_object_p) [MACH]: Recognize executables by + checking for execute permission, instead of looking at entry + point. + * i386mach3.c: Update, define MACH, N_TXTOFF, N_TXTADDR, + N_SHARED_LIB, don't include aout/*.h files, etc. + * m88kmach3.c: New file, m88k Mach 3 target. + * config/m88k-mach3.mt, config/mips-mach3.mt: New files, target + makefile fragments. + * config/i386mach3.mh, config/m88kmach3.mh, config/mipsmach3.mh: + New files, host makefile fragments. + * hosts/m88kmach3.h, hosts/mipsmach3.h: New files, host definitions. + +Tue Jul 5 13:56:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * elfcode.h (swap_out_syms): Get alignment of common symbol from + st_value field of saved ELF symbol information, if there is any. + +Mon Jul 4 19:13:32 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.h (R_HPPA_COMPLEX): Define. + * elf32-hppa.h (R_HPPA_COMPLEX): Define. + (elf32_hppa_reloc_type): Delete R_PARISC_STUB_CALL_17. + +Fri Jul 1 12:07:41 1994 Jeff Law (law@snake.cs.utah.edu) + + * Support code for enabling the new style linker for PA ELF. + * elfcode.h (swap_symbol_in, swap_symbol_out): Externalize. + (elf_compute_section_file_positions): Pass link_info to + the begin_write_processing hook. + (bfd_elf_write_object_contents): Pass NULL for new link_info + argument to final_write_processing hook. + (elf_link_output_sym): Accept new "input_section" argument for + the symbols's input section. All callers changed. Call the + link_output_symbol_hook if it's defined. + (elf_bfd_final_link): Call the final_write_processing hook if + it's defined. + * libelf.h (elf_backend_link_output_symbol_hook): Declare. + (elf_backend_begin_write_processing): Add new "info" argument. + (elf_backend_final_write_processing): Likewise. + * elf32-target.h (elf_backend_link_output_symbol_hook): Provide + a default definition. + (elf32_bed): Add elf_backend_link_output_symbol_hook. + * elf64-target.h: Likewise. + + * Major rework of the PA ELF code. Uses the new style BFD + linker, major cleanups. + * hppa_stubs.h: Rewrite from scratch. Much smaller and simpler. + * elf32-hppa.h: Delete all symbol extension related code. + (hppa_look_for_stubs_in_section): Delete decl. + (elf32_hppa_size_stubs, elf32_hppa_build_stubs): New decls. + * elf32-hppa.c: Symbol extension stuff moved form elf32-hppa.h + into elf32-hppa.c. Do not include aout64.h. + (typdef hppa_stub_type): Delete. + (elf32_hppa_stub_name_list_struct): Delete. + (elf32_hppa_stub_description_struct): Delete. + (arg_reloc_type): Use simpler enumerations. All references changed. + (arg_location, arg_reloc_relocation): Likewise. + (elf32_hppa_symextn_map_struct): Delete. + (get_symbol_value): Delete. + (elf32_hppa_get_sym_extn): Delete. + (find_stubs, new_stubs, type_of_mismatch): Delete. + (find_stub_by_name, add_stub_by_name): Delete. + (hppa_elf_stub_finish, hppa_elf_stub_reloc): Delete. + (hppa_elf_arg_reloc_needed): Renamed. Simplify. + (hppa_elf_build_linker_stub, hppa_elf_create_stub_sec): Delete. + (hppa_elf_long_branch_needed_p): Delete. + (hppa_look_for_stubs_in_section): Delete. + (hppa_elf_get_section_contents): Delete. + (elf32_hppa_backend_symbol_processing): Delete. + (elf32_hppa_backend_section_processing): Delete. + (elf32_hppa_backend_section_from_shdr): Delete. + (elf32_hppa_backend_fake_sections): Delete. + (elf32_hppa_backend_section_from_bfd_section): Delete. + (NEW_INSTRUCTION): Delete. + (CURRENT_STUB_OFFSET): Delete. + (elf32_hppa_relocate_section): New function. + (elf32_hppa_bfd_final_link_relocate): New function. + (elf32_hppa_size_symext): New function. + (elf32_hppa_link_output_symbol_hook): New function. + (elf32_hppa_read_symext_info): New function. + (elf32_hppa_add_symbol_hook): New function. + (elf32_hppa_name_of_stub): New function. + (elf32_hppa_size_of_stub): New function. + (elf32_hppa_build_one_sub): New function. + (elf32_hppa_build_stubs): New function. + (elf32_hppa_size_stubs): New function. + (linker, stub and argument hash tables): Add appropriate + structures, definitions and functions to implement all three + hash tables. + (hppa_elf_relocate_insn): Don't need argument location information + in this function. + (add_entry_to_symext_chain): Accept a symbol's argument location + information rather than the symbol itself. All callers changed. + (hppa_elf_gen_reloc_type): Simplify. + (hppa_elf_set_section_contents): Stub section is no longer special. + (hppa_elf_reloc): Greatly simplify. + (elf32_hppa_begin_write_processing): Accept link_info argument. + Handle being called from the BFD backend linker. + (elf32_hppa_final_write_processing): Likewise. + (elf_hppa_tc_make_sections): No longer call stub_finish. + +Mon Jun 27 18:07:06 1994 Steve Chamberlain (sac@cirdan.cygnus.com) + + * section.c (bfd_get_section_contents): Put in parens to get + precedence right. + +Sun Jun 26 18:08:29 1994 Jeff Law (law@snake.cs.utah.edu) + + * libelf.h (relocate_section): New argument "output_names" added + to prototype. + * elfcode.h (elf_link_input_bfd): New argument "output_names" + added to prototype of relocate_section. Pass the output symbol + names to relocate_section. + * elf32-i386.c (elf_i386_relocate_section): Use "output_names" to + determine the name of a local symbol. + * elf32-mips.c (mips_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + +Fri Jun 24 08:15:42 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + Add Solaris BCP (the part of Solaris which allows it to run + SunOS4 a.out files) core file handling. + * aoutf1.h (external_solaris_bcp_core, swapcore_solaris_bcp): + New structure and its swap in function. + (internal_sunos_core): New member c_data_addr, to receive the + start address of the data section in the core file. + (swapcore_sun3, swapcore_sparc, sunos4_core_file_p): Use it. + (sunos4_core_file_p): Recognize Solaris BCP core file. + (sunos4_core_file_matches_executable_p): Always indicate match + for Solaris BCP core files. + +Thu Jun 23 15:31:28 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + Preliminary support for generating shared libraries, from Eric + Youngdale <ericy@cais.cais.com>. + * elfcode.h (prep_headers): If DYNAMIC, set e_type to ET_DYN. + (elf_link_add_object_symbols): If generating a shared library, + create dynamic sections for first input BFD with the right format. + (elf_link_create_dynamic_sections): Don't create .interp section + if creating a shared library. + (elf_link_input_bfd): Skip dynamic sections in input file. + (elf_bfd_final_link): If creating a shared library, it's OK for + dynobj to have sections which are not SEC_IN_MEMORY. + * elf32-i386.c (elf_i386_size_dynamic_sections): Only set .interp + section if not creating a shared library. + * elf32-sparc.c (elf_sparc_size_dynamic_sections): Likewise. + + * elfcode.h (elf_object_p): Don't set DYNAMIC just because there + is an SHT_DYNAMIC section. + + * cf-i386lynx.c (i386coff_vec): Don't include DYNAMIC in + object_flags. + * coff-sparc.c (sparccoff_vec): Likewise. + * hppabsd-core.c (hppabsd_core_vec): Likewise. + + * aoutx.h (NAME(aout,some_aout_object_p)): Don't set SEC_RELOC + just because DYNAMIC is set. + +Thu Jun 23 12:53:41 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * configure.in: Change --with-targets to --enable-targets and + --with-64-bit-bfd to --enable-64-bit-bfd. + * Makefile.in, mpw-make.in, targets.c: Change comments. + +Wed Jun 22 17:59:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config.bfd (powerpc-*-elf*): New target, just like + powerpc-*-sysv4*. + + * linker.c (FAIL): Undefine macro before defining as enum. + +Wed Jun 22 10:52:47 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * linker.c (_bfd_generic_link_add_archive_symbols): Initialize + pass from abfd->archive_pass, and save it there as well. + + * hash.c (bfd_hash_allocate): Don't call bfd_set_error if + obstack_alloc returns NULL unless the size is non-zero. + + * linker.c (archive_hash_allocate): Define. + (_bfd_generic_link_add_archive_symbols): Use archive_hash_allocate + rather than obstack_alloc, for clarity. + + * elfcode.h (elf_get_reloc_upper_bound): Correct. + + * aout64.c (BMAGIC, QMAGIC): Define if not already defined. From + Peter Schauer <pes@regent.e-technik.tu-muenchen.de>. + + Linux ZMAGIC support from Eric Youngdale <ericy@cais.cais.com>. + * libaout.h (struct aoutdata): Add field zmagic_disk_block_size. + * aout-target.h (MY(callback)): Only set alignment according to + architecture if the section sizes are aligned to that alignment, + for backward compatibility. + (MY(set_sizes)): Initialize zmagic_disk_block_size field. + * aoutx.h (adjust_z_magic): Set ztih if using q_magic_format. Set + text section filepos to zmagic_disk_block_size if not ztih. Use a + different padding algorithm if not ztih. + * i386linux.c (MY_text_includes_header): Don't define. + + * aoutx.h (aout_link_check_ar_symbols): Just skip N_STAB and N_FN + symbols; don't look them up in the hash table. From + ralphc@pyramid.com (Ralph Campbell). + +Tue Jun 21 11:47:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * coff-go32.c (go32coff_archive_p): Remove unused function. + + * section.c (bfd_abs_section): Make const. + (bfd_abs_section_ptr, bfd_is_abs_section): Define. + (bfd_und_section): Make const. + (bfd_und_section_ptr, bfd_is_und_section): Define. + (bfd_com_section): Make const. + (bfd_com_section_ptr): Define. + (bfd_ind_section): Make const. + (bfd_ind_section_ptr, bfd_is_ind_section): Define. + (bfd_abs_symbol, bfd_com_symbol): Make const. + (bfd_und_symbol, bfd_ind_symbol): Likewise. + (global_syms): Cast initialization of section field. + (STD_SECTION): Define as const, and cast initializations. + * bfd-in2.h: Rebuilt. + * Many files: Change uses of bfd_abs_section, etc., to use + bfd_abs_section_ptr or bfd_is_abs_section, etc. + +Mon Jun 20 11:06:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * Many files: change all bfd_target vectors to be const. Change + all uses of bfd_target * to be const bfd_target *. Change + bfd_target_vector and bfd_default_vector arrays to be const + bfd_target * const *. + + * ecoff.c, libecoff.h, ecoffswap.h, coff-alpha.c, coff-mips.c, + elf32-mips.c: Renamed all externally visible ECOFF routines which + are local to BFD to start with _bfd_ecoff instead of just ecoff. + + * ecoff.c (ecoff_swap_tir_in): Change input argument to const. + (ecoff_swap_tir_out): Likewise. + (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise. + (ecoff_slurp_symbolic_info): Add new arguments to correspond to + read_debug_info entry point in ecoff_debug_swap structure. + Change all calls. + * libecoff.h (ecoff_slurp_symbolic_info): Change declaration. + * ecoffswap.h (ecoff_swap_tir_in, ecoff_swap_tir_out): Declare. + (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Declare. + * coff-alpha.c (alpha_ecoff_backend_data): Initialize new + ecoff_debug_swap fields. + * coff-mips.c (mips_ecoff_backend_data): Likewise. + * elf32-mips.c (mips_elf_read_ecoff_info): Undefine READ. + (mips_elf_ecoff_debug_swap): Initialize new ecoff_debug_swap + fields. + * configure.in (bfd_elf32_bigmips_vec): Use ecoff.o and + ecofflink.o. + (bfd_elf32_littlemips_vec): Likewise. + (ecoff_big_vec, ecoff_little_vec): Likewise. + (ecoffalpha_little_vec): Likewise. + * Makefile.in (BFD_LIBS): Remove ecoff.o and ecofflink.o. + (BFD32_BACKENDS): Add ecoff.o and ecofflink.o. + + * aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd, + when computing reloc sizes. From Eric Youngdale + <ericy@cais.cais.com>. + * elfcode.h (elf_bfd_final_link): Don't try to compute maximum + reloc count or size for a non-ELF file. + + * mipsbsd.c (MY_final_link_callback): Define to avoid warning. + + * hp300hpux.c (MY_final_link_callback): Define to avoid warning. + (BMAGIC, QMAGIC): Define; used by aoutx.h. + (MY(slurp_symbol_table)): Change translate_from_native_sym_flags + calls to use new parameters. + +Fri Jun 17 14:45:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aout-target.h (MY(callback)): Set the alignments of the text, + data and bss sections after determining the architecture. + + * sunos.c (sunos_add_one_symbol): Treat a common symbol from a + dynamic object as being in the .bss section of the object, rather + than as being undefined. + +Fri Jun 17 11:16:50 1994 Jeff Law (law@snake.cs.utah.edu) + + * libhppa.h (bfd_hppa_insn2fmt, hppa_rebuild_insn): Make INLINE. + + * elf32-hppa.h (elf_hppa_final_processing): Delete decl. + +Thu Jun 16 23:36:23 1994 Jeff Law (law@snake.cs.utah.edu) + + * elfcode.h (elf_link_input_bfd): Don't try to read local symbols + if there aren't any in the input file. + +Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com) + + * i386linux.c: Many new functions and definitions for linker + support for Linux shared libraries. + * bfd-in.h (bfd_linux_size_dynamic_sections): Declare. + * bfd-in2.h: Rebuild. + +Thu Jun 16 14:23:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config.bfd: If second argument is ``_'', then, instead of + echoing config file name, echo whether target uses leading + underscores on symbol names. Add appropriate settings to + different cases. Used by binutils/configure.in to set default for + c++filt. + + * elfcode.h (elf_bfd_final_link): If trying to generate a shared + object, warn and return false. + + * aoutx.h (NAME(aout,some_aout_object_p)): Accept BMAGIC objects + and treat them as OMAGIC. + +Wed Jun 15 18:02:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + Enable sparc v9 support for release. Note that this is still a + work in progress, pending release of an ABI specification. + * config.bfd, configure.in: Include sparc v9 elf config. + * elfcode.h (prep_headers): Handle sparc v9 (64 bit). + * reloc.c (bfd_reloc_code_real): New reloc types. + * elf64-sparc.c: Implement elf64-sparc target. + * Makefile.in, targets.c: Updated. + +Wed Jun 15 01:34:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libelf.h (struct elf_obj_tdata): New field dt_needed_name. + (elf_dt_needed_name): New accessor macro. + * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name + is set, use that instead of the filename for the DT_NEEDED dynamic + entry. + * elf.c (bfd_elf_set_dt_needed_name): New function. + * bfd-in.h (bfd_elf_set_dt_needed_name): Declare. + * bfd-in2.h: Rebuilt. + + * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sinterpptr + argument, and set it to the .interp section. + * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype. + (bfd_elf64_size_dynamic_sections): Likewise. + * bfd-in2.h: Rebuilt. + + * coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare + field of the reloc rather than letting it be garbage. + + * archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as + __.SYMDEF; the former was used in old Linux archives. From + jrs@world.std.com (Rick Sladkey). + + * i386linux.c (i386linux_write_object_contents): Define; like + MY(write_object_contents) in aout-target.h, but set MACHTYPE to + M_386. From jrs@world.std.com (Rick Sladkey). + (MY_write_object_contents): Define. + + * aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols + as N_DATA symbols. + (aout_link_add_symbols): Likewise. + + * aoutx.h: Rewrite symbol duplicate elimination to use BFD hash + tables. + (struct stringtab_entry, struct stringtab_data): Remove. + (HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove. + (struct strtab_hash_entry, struct strtab_hash): Define. + (strtab_hash_newfunc, strtab_hash_lookup): Define. + (stringtab_free, emit_stringtab): Define. + (stringtab_init, add_to_stringtab): Rewrite. + (NAME(aout,write_syms)): Use new stringtab code. + (struct aout_final_link_info, NAME(aout,final_link)): Likewise. + (aout_link_write_symbols, aout_link_write_other_symbol): Likewise. + + * bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to + request BFD to write object in the traditional format, whatever + that means for the particular backend. + * bfd-in2.h: Rebuilt. + + * hash.c (bfd_hash_allocate): If obstack_alloc fails, set + bfd_error_no_memory. + +Tue Jun 14 13:00:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libaout.h (struct aoutdata): Add q_magic_format to subformat + enum. + * aout-target.h (MY_bfd_copy_private_bfd_data): Define as function + if not already defined. Copy subformat information. + (MY_text_includes_header): Define as 0 if not already defined. + (MY(backend_data)): Use MY_text_includes_header rather than 0. + (MY_final_link_callback): Rename from final_link_callback, and + define only if MY_final_link_callback is not already defined. + (MY_bfd_final_link): Rename use of final_link_callback to + MY_final_link_callback. + * aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like + ZMAGIC, but set the subformat to q_magic_format. Abort if the + magic number if not recognized. + (adjust_z_magic): Use QMAGIC if q_magic_format. + * i386linux.c (MY_text_includes_header): Define as 1. + (i386linux_bfd_final_link): New static function. + (MY_bfd_final_link): Define as i386linux_bfd_final_link. + + * aoutx.h (translate_to_native_sym_flags): Check both section and + output_section against sections of abfd. + + * libecoff.h (struct ecoff_link_hash_entry): Change type of + written from boolean to char. Add new field small. + * ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0 + rather than false. Initialize small to 0. + (ecoff_link_add_externals): If ECOFF type is scSUndefined, set + small. If small is set, and hash table type is common, force the + symbol into a section named SCOMMON and change the ECOFF type from + scCommon to scSCommon. + (ecoff_link_write_external): Set written to 1 rather than true. + * coff-mips.c (mips_relocate_section): Correct JMPADDR reloc + overflow check to consider section VMA of input file. + +Mon Jun 13 14:20:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutf1.h (aout_32_sunos4_write_object_contents): Handle a + machine type of 68000. + * aoutx.h (NAME(aout,machine_type)): Add new argument unknown. + Set *unknown to true if machine type is really unknown, as opposed + to M_UNKNOWN for the 68000. + (NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call + accordingly. + * libaout.h (NAME(aout,machine_type)): Add new argument to + prototype. + +Sun Jun 12 20:21:03 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID + or HIUX_AUX_ID. + (som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID. + (som_write_armap): Use CPU_PA_RISC1_0 as the magic number. Note + som.c is careful to always define CPU_PA_RISC1_0. + +Sat Jun 11 16:32:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Add weak symbols as an extension to a.out. + * aoutx.h (sym_in_text_section): Don't define. + (sym_in_data_section, sym_in_bss_section): Likewise. + (sym_is_undefined, sym_is_global_defn): Likewise. + (sym_is_debugger_info, sym_is_fortrancommon): Likewise. + (sym_is_absolute, sym_is_indirect): Likewise. + (translate_from_native_sym_flags): Rewrite for clarity. Rearrange + arguments and change caller. Handle weak symbols. + (translate_to_native_sym_flags): Likewise. + (aout_link_check_ar_symbols): Don't ignore weak symbols. Pull + object in from archive if a weak defintion is found for an + existing undefined symbol. + (aout_link_add_symbols): Put all cases in switch. Set flags of an + undefined symbol to 0. Handle weak symbols. + (aout_link_write_symbols): Handle weak symbols. + (aout_link_write_other_symbol): Likewise. + (aout_link_input_section_std): Likewise. + (aout_link_input_section_ext): Likewise. + * sunos.c (sunos_write_dynamic_symbol): Likewise. + +Fri Jun 10 13:25:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section. + (NAME(aout,get_reloc_upper_bound)): Likewise. + + * coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR. + * linker.c (_bfd_generic_link_write_global_symbol): Don't assume + the section of a common symbol is not NULL. + +Wed Jun 8 23:15:53 1994 Stu Grossman (grossman@cygnus.com) + + * nlmcode.h (nlm_object_p): Set EXEC_P and start address for GDB. + +Wed Jun 8 23:57:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (aout_get_external_symbols): Don't try to read the + strings if there are no symbols. + (aout_link_write_other_symbol): Use the output section when + working out the type. + +Tue Jun 7 13:25:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (assign_section_numbers): Put shstrtab, symtab and + strtab sections at end of file. Avoids bug in some versions of + SVR4 strip. From Eric Youngdale <eric@tantalus.nrl.navy.mil>. + + * coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined, + set SEC_DEBUGGING for STYP_INFO sections. + (coff_compute_section_file_positions): If COFF_PAGE_SIZE is + defined, and D_PAGED is set, set the file position equal to the + section VMA modulo COFF_PAGE_SIZE. + * coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED. + * coff-i386.c: Set D_PAGED in BFD target. + (COFF_PAGE_SIZE): Define. + * coff-m68k.c, coff-sparc.c: Likewise. + +Mon Jun 6 10:57:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (bfd_section_from_shdr): Don't turn a reloc section + into a BFD section just because SHF_ALLOC is set; require that it + not use the normal symbol table. + (elf_section_from_bfd_section): Corresponding change. + + Better indirect and warning symbol handling inspired by Stuart + Quick <stuck@cs.man.ac.uk>. + * linker.c (enum link_action): Add REF, MIND, CWARN, REFC. + (link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT + to REF. Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to + REFC. Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF. + Change DEFW_ROW/indr from CYCLE to NOACT. Change INDR_ROW/indr + from MDEF to MIND. Change INDR_ROW/warn from WARNC to CYCLE. + Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN. Change + WARN_ROW/com from MWARN to WARN. Change WARN_ROW/warn from NOACT + to CYCLE. Change SET_ROW/warn from WARNC to CYCLE> + (_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and + REFC. If a new indirect symbol has been referenced, push the + reference down to the symbol it points to. FIx handling of WARN. + * aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't + clobber e_type of next symbol. + (translate_to_native_sym_flags): Likewise. + (aout_link_write_symbols): Loop on bfd_link_hash_warning as well + as bfd_link_hash_indirect. + + * libaout.h (struct aout_link_hash_entry): New field written. + * aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written. + (aout_link_write_symbols): Use written, not root.written. + (aout_link_write_other_symbol): Likewise. + * sunos.c (sunos_scan_dynamic_symbol): Likewise. + * libecoff.h (struct ecoff_link_hash_entry): New field written. + * ecoff.c (ecoff_link_hash_newfunc): Initialize written. + (ecoff_link_write_external): use written, not root.written. + * genlink.h (struct generic_link_hash_entry): New field written. + * linker.c (_bfd_link_hash_newfunc): Don't initialize written. + (generic_link_hash_newfunc): Initialize written. + (_bfd_generic_link_output_symbols): Use written, not root.written. + (_bfd_generic_link_write_global_symbol): Likewise. + (_bfd_generic_reloc_link_order): Likewise. + + * libecoff.h (ecoff_data_type): Add linker field. + * ecoff.c (ecoff_write_object_contents): Check new tdata linker + field, rather than outsymbols being non-NULL, to decide whether to + output the symbols and relocs. + (ecoff_bfd_final_link): Set new tdata linker field to true. + + * ecoff.c (ecoff_bfd_copy_private_bfd_data): Don't try to copy + data to a non-ECOFF file. + + * libbfd-in.h: Add warning that libbfd.h is a generated file. + * libbfd.h: Rebuilt. + +Sun Jun 5 15:02:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Changes to support ELF strip and objcopy on dynamically linked + files. + * elfcode.h (elf_fake_sections): Add prototype. + (bfd_section_from_shdr): Make a BFD section from an SHT_HASH + section, and from an SHT_DYNSYM section, and from the dynamic + string table section. + (elf_object_p): Set D_PAGED if there is a program header. + (elf_make_sections): Remove. + (fix_up_strtabs): Remove. + (elf_fake_sections): Rewrite. Now sets sh_entsize. + (assign_section_numbers): Rewrite. Now sets sh_link and sh_info + for all sections. + (elf_compute_section_file_positions): Don't call obsolete + functions elf_make_sections or fix_up_strtabs. + (swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4. + (NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC + objects. + (elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal + sections. If an SHT_REL or SHT_RELA section is allocated or uses + an unusual symbol table, permit a BFD section to map to it. + Permit most SHT_STRTAB sections to have a BFD section mapped to + them. + (elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize + fields of dynamic sections here; do it in assign_section_numbers. + * elf32-target.h, elf64-target.h: Add D_PAGED to permitted object + flags. + + * elf.c (_bfd_elf_make_section_from_shdr): Only set SEC_DATA if + SEC_LOAD is set, rather than checking SEC_ALLOC. + + * libbfd-in.h (bfd_realloc): Change last arg to "size_t size". + +Fri Jun 3 10:58:02 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_write_object_contents): Don't compute the file header's + checksum here. + (som_write_headers): Instead do it here. + + * libbfd.h (bfd_realloc): Change last arg to "size_t size". + +Thu Jun 2 17:39:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * hosts/sun3.h: Include <stdlib.h>. Don't declare free, exit or + getenv. + + Add linker support for SunOS shared libraries. + * sunos.c: Include bfdlink.h. Add many new functions and + definitions for SunOS shared library support. + * bfd-in.h (bfd_sunos_record_link_assignment): Declare. + (bfd_sunos_size_dynamic_sections): Declare. + * bfd-in2.h: Rebuilt. + * aoutx.h (struct aout_link_hash_entry): Move to libaout.h. + (struct aout_link_hash_table): Likewise. + (aout_link_hash_lookup, aout_link_hash_traverse): Likewise. + (aout_hash_table): Likewise. + (NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc + and make externally visible. + (NAME(aout,link_hash_table_init)): New function. + (NAME(aout,link_hash_table_create)): Call + NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init. + (aout_link_add_symbols): Don't fail if no symbols. If it exists, + call add_dynamic_symbols backend entry point for dynamic objects. + Use add_one_symbol backend entry point if it exists. + (NAME(aout,final_link)): Call finish_dynamic_link backend entry + point, if it exists. + (aout_link_input_bfd): For a dynamic object, call + link_dynamic_object backend entry point, if it exists. + (aout_link_write_other_symbol): Call write_dynamic_symbol backend + entry point, if it exists. + (aout_link_input_section): Don't read the relocs if they have + already been read. + (aout_link_input_section_std): When doing a final link, for a + reloc against an external symbol, call check_dynamic_reloc backend + entry point, if it exists. + (aout_link_input_section_ext): Likewise. + * libaout.h: Protect against multiple inclusion. Include + bfdlink.h. + (struct aout_link_hash_entry): Move in from aoutx.h. + (struct aout_link_hash_table): Likewise. + (aout_link_hash_lookup, aout_link_hash_traverse): Likewise. + (aout_hash_table): Likewise. + (struct aout_backend_data): Add fields add_dynamic_symbols, + add_one_symbol, link_dynamic_object, write_dynamic_symbol, + check_dynamic_reloc, and finish_dynamic_link. + (struct aout_section_data_struct): Define new structure. + (aout_section_data): Define new accessor macro. + (NAME(aout,link_hash_newfunc)): Declare. + (NAME(aout,link_hash_table_init)): Declare. + * aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data + fields. + * aout-target.h (MY(backend_data)): Likewise. + * i386aout.c (MY(backend_data)): Likewise. + * i386mach3.c (MY(backend_data)): Likewise. + * mipsbsd.c (MY(backend_data)): Likewise. + * sparclynx.c (sparclynx_aout_backend): Likewise. + + * aoutx.h (NAME(aout,slurp_symbol_table)): Don't zero out cached + until we know it is non-NULL. + (aout_link_write_symbols): Don't skip a warning symbol even if it + has already been written out. If skipping an indirect symbol, + skip the next symbol as well. + +Wed Jun 1 14:37:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * hosts/sun3.h: Don't declare qsort, malloc or realloc. + +Thu May 26 13:56:03 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * nlmcode.h (nlm_swap_auxiliary_headers_in): Cast bfd_byte pointer + to char pointer to avoid compiler warnings. + + * dep-in.sed: Remove spaces before colons. + + Merged changes back in from FSF gas release 2.3: + + * Makefile.in (stmp-bfd.h): Wrap `if' block around grep + invocation, to avoid a bug in BSD 4.4 make. + + From Ralph Campbell: + * mipsbsd.c (mips_fix_jmp_addr): If symbol is undefined, return an + error. + (mips_fix_hi16_s): Ditto. + + Fri May 13 21:21:00 1994 DJ Delorie (dj@ctron.com) + + * makefile.dos: define a default target, or archives won't work + due to multiple matches. + + Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com) + + * configure.bat: update for latest files + * makefile.dos: update for correct targets and sources + * coff-go32.c: [new] go32's COFF format (i386coff with underscores) + * targets.c: add go32coff target + * makefile.in: add coff-go32.c support + +Thu May 26 10:10:21 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_prep_headers): Do not set the system_id here, private + bfd data has not been copied yet. + (som_write_headers): Instead do it here. + +Tue May 24 16:17:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Make MIPS ELF use new ELF backend linker. No shared library + support yet. + * elf32-mips.c (bfd_mips_elf32_swap_gptab_in): New function. + (bfd_mips_elf32_swap_gptab_out): New function. + (mips_elf_object_p): If last symbol is LOCAL, set elf_bad_symtab. + (mips_elf_final_write_processing): Set sh_info field for .gptab.* + sections. + (mips_elf_fake_sections): Set sh_entsize for .gptab.* sections. + (mips_elf_read_ecoff_info): Read and free external symbols last, + not first, for clarity. + (struct mips_elf_link_hash_entry): Define new structure. + (struct mips_elf_link_hash_table): Define new structure. + (mips_elf_link_hash_lookup): Define new macro. + (mips_elf_link_hash_traverse): Define new macro. + (mips_elf_hash_table): Define new macro. + (mips_elf_link_hash_newfunc): New static function. + (mips_elf_link_hash_table_create): New static function. + (mips_elf_add_symbol_hook): New static function. + (struct extsym_info): Define new structure. + (mips_elf_get_extr, mips_elf_set_index): Remove. + (mips_elf_output_extsym): New static function. + (gptab_compare): New static function. + (mips_elf_final_link): Rewrite to use ELF backend linker, and to + merge gptab information in input files. + (mips_elf_relocate_hi16): New static function. + (mips_elf_relocate_section): New static function. + (bfd_elf32_bfd_link_hash_table_create): Define as macro before + including elf32-target.h. + (elf_backend_relocate_section): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf.c (_bfd_elf_link_hash_newfunc): Rename from + elf_link_hash_newfunc and make globally visible. Change caller. + (_bfd_elf_link_hash_table_init): New function, broken out of + _bfd_elf_link_hash_table_create. + (_bfd_elf_link_hash_table_create): Use + _bfd_elf_link_hash_table_init. + * libelf.h (struct elf_obj_tdata): Add new field bad_symtab. + (elf_bad_symtab): Define new accessor macro. + (_bfd_elf_link_hash_newfunc): Declare. + (_bew_elf_link_hash_table_init): Declare. + * elfcode.h (elf_object_p): Call backend object_p hook after + swapping in all the section headers. + (map_program_segments): Correct typo: Internal for External. + (elf_link_add_object_symbols): If elf_bad_symtab is set, read all + the symbols. Skip STB_LOCAL symbols rather than giving an error. + (elf_bfd_final_link): If elf_bad_symtab is set, allocate space for + all symbols, not just locals. + (elf_link_output_extsym): Only skip a symbol not mentioned by a + regular file if it is mentioned by a dynamic object. + (elf_link_input_bfd): If elf_bad_symtab is set, read all the + symbols. + +Fri May 20 13:38:23 1994 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_set_reloc_info): Do not set any relocation info + for SOM fixups which are never passed to BFD. + +Fri May 20 11:57:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-mips.c (mips_relocate_section): Add MIPS_R_JMPADDR overflow + checking. + + * elf32-i386.c (elf_i386_size_dynamic_sections): Add DT_DEBUG to + the dynamic linking information for the benefit of the debugger. + From Peter Schauer. + * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise. + + * elf.c (_bfd_elf_make_section_from_shdr): New function, based on + code repeated three times in bfd_section_from_shdr in elfcode.h. + * libelf.h (_bfd_elf_make_section_from_shdr): Declare. + * elfcode.h (bfd_section_from_shdr): Use new function + _bfd_elf_make_section_from_shdr to create BFD sections. If a + reloc section does not use the main symbol table, or it is part of + the process image, treat it as a normal section, not relocs. + * elf32-mips.c (mips_elf_section_from_shdr): Use new function + _bfd_elf_make_section_from_shdr. + +Thu May 19 11:37:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-target.h, elf64-target.h: Change ar_max_namelen value from + 15 to 14 to match SVR4 ar. + + Add support for ELF shared libraries. Loosely based on work by + Eric Youngdale <ericy@cais.com>. + * libelf.h (struct elf_backend_data): Add new fields for dynamic + linking: elf_backend_create_dynamic_sections, + elf_backend_adjust_dynamic_symbol, + elf_backend_size_dynamic_sections, + elf_backend_finish_dynamic_symbol, + elf_backend_finish_dynamic_sections. + (struct elf_link_hash_entry): Change type of align field to + bfd_size_type. Add fields dynindx, dynstr_index, weakdef, + elf_link_hash_flags. + (struct elf_link_hash_table): Add fields dynobj, dynsymcount, + dynstr, bucketcount. + (bfd_elf32_swap_reloc_in, bfd_elf32_swap_reloc_out): Declare. + (bfd_elf32_swap_reloca_in, bfd_elf32_swap_reloca_out): Declare. + (bfd_elf32_swap_dyn_in, bfd_elf32_swap_dyn_out): Declare. + (bfd_elf32_add_dynamic_entry): Declare. + (bfd_elf64_swap_reloc_in, bfd_elf64_swap_reloc_out): Declare. + (bfd_elf64_swap_reloca_in, bfd_elf64_swap_reloca_out): Declare. + (bfd_elf64_swap_dyn_in, bfd_elf64_swap_dyn_out): Declare. + (bfd_elf64_add_dynamic_entry): Declare. + * elfcode.h (Elf_External_Dyn): Define. + (elf_swap_reloc_in): Define as macro using NAME. Make externally + visible. + (elf_swap_reloc_out): Likewise. + (elf_swap_reloca_in, elf_swap_reloca_out): Likewise. + (elf_swap_dyn_in, elf_swap_dyn_out): Define as macro using NAME + and as new externally visible function. + (elf_fake_sections): Set section type of dynamic sections based on + section names. + (elf_write_phdrs): Remove. + (assign_file_position_for_section): Add new align argument. + Change all callers. + (get_program_header_size): New static function. + (struct seg_info): Remove. + (map_program_segments): Completely rewrite. + (assign_file_positions_except_relocs): Completely rewrite. + (assign_file_positions_for_relocs): Don't set a file position for + sections which already have one. Don't bother to align the file + position here. + (section_from_elf_index): Handle SHT_HASH and SHT_DYNAMIC + section types. + (elf_section_from_bfd_section): Likewise. + (elf_slurp_symbol_table): If section_from_elf_index fails, just + use bfd_abs_section rather than returning an error. + (elf_sizeof_headers): Make useful. + (elf_link_record_dynamic_symbol): New static function. + (elf_link_add_object_symbols): Handle dynamic objects. + (elf_link_create_dynamic_sections): New static function. + (elf_add_dynamic_entry): Define as macro using NAME and as new + externally visible function. + (NAME(bfd_elf,record_link_assignment)): New function. + (elf_buckets): New static variable. + (NAME(bfd_elf,size_dynamic_sections)): New function. + (struct elf_final_link_info): Add dynsym_sec and hash_sec fields. + (elf_bfd_final_link): Handle dynamic linking. Create a section + symbol for all ELF sections, not all BFD sections. Store section + symbol index in target_index field, not index field. Traverse + over global symbols even if stripping. + (elf_link_output_extsym): Output dynamic symbols. Mark symbols + defined by dynamic objects as undefined. + (elf_link_input_bfd): Ignore dynamic objects. Use target_index + field for section relocs, and make sure it is set. + (elf_reloc_link_order): Use target_index field for section relocs, + and make sure it is set. + * elf.c (elf_link_hash_newfunc): Initialize dynindx, dynstr_index, + weakdef and elf_link_hash_flags fields. + (_bfd_elf_link_hash_table_create): Initialize dynobj, dynsymcount, + dynstr and bucketcount fields. + * elf32-target.h: Initialize new dynamic linking fields. + * elf64-target.h: Likewise. + * elf32-i386.c: New functions for dynamic linking support. + * elf32-sparc.c: Likewise. + * bfd-in.h (bfd_elf32_record_link_assignment): Declare. + (bfd_elf64_record_link_assignment): Declare. + (bfd_elf32_size_dynamic_sections): Declare. + (bfd_elf64_size_dynamic_sections): Declare. + * bfd-in2.h: Rebuilt. + +Wed May 18 08:29:04 1994 Ian Lance Taylor (ian@cygnus.com) + + * som.c: Don't include <sys/dir.h> or <sys/user.h>. + (som_reloc_queue_find): Call memcmp instead of bcmp. + (som_bfd_reloc_type_lookup): Change first argument to bfd *. + (compare_syms): Change types of arguments to const void *. + (bfd_section_from_som_symbol): Removed unused local found. + (som_write_armap): Add elength, map, orl_count and int arguments. + (som_write_armap): Use %ld and cast to long for getuid result. + +Wed May 18 09:09:32 1994 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.h (R_HPPA_ABS_CALL): Define. + * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle absolute calls. + + * som.h (R_HPPA_ABS_CALL): Define. + * som.c (hppa_som_gen_reloc_type): Delete complex relocation types. + +Tue May 17 19:33:12 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * coff-i960.c (icoff_little_vec, icoff_big_vec): Indicate leading + underscore, for compatibility with Intel tool chain (gnu960v2). + +Mon May 16 10:09:22 1994 Jeff Law (law@snake.cs.utah.edu) + + * bfd-in2.h: Rebuilt. + + * elf32-hppa.c: Change .hppa_linker_stubs to .PARISC.stubs, + likewise for other PA specific sections. + (hppa_elf_relocate_unwind_table): Delete unused + function. + (elf_hppa_howto_table): Completely new table based on 94-02-02 + draft PA ELF spec. Change relocation tags appropriately + throughout elf32-hppa.c + (hppa_elf_gen_reloc_type): Rewrite and simplify based on 94-02-02 + spec. + (hppa_elf_reloc): Likewise. + (hppa_look_for_stubs_in_section): Likewise + (ELF_MACHINE_CODE): Change to EM_PARISC. + * elf32-hppa.h: Include "elf/hppa.h". Change relocation tags + appropriately throughout elf32-hppa.h. + (elf32_hppa_reloc_type): New table based on 94-02-02 draft PA ELF + spec. + (R_HPPA_ABS_CALL, R_HPPA_COMPLEX*, R_HPPA_UNWIND): Delete definitions. + * elfcode.h (prep_headers): Use EM_PARISC instead of EM_HPPA. + * reloc.c (bfd_reloc_code_real): Delete unused HPPA relocations. + * som.h (R_HPPA_ABS_CALL, R_HPPA_COMPLEX): Delete definitions. + + * libhppa.h (hppa_field_adjust): Avoid adding constant_value into + the final value twice for LR and RR field selectors. + +Sat May 14 09:09:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * aoutx.h (add_to_stringtab): Use BFD_ASSERT not assert. This + avoids __eprintf troubles. + +Fri May 13 10:51:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bout.c (b_out_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR. + + * config/mipsbelf.mt (SELECT_VECS): Add ecoff_big_vec and + ecoff_little_vec since Irix 5 supports ECOFF executables. + +Wed May 11 00:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_find_nearest_line): Handle fdr.adr != pdr.adr + correctly. + + * Makefile.in (stmp-bfd.h): Use || instead of ; to force SunOS + make to invoke the shell. + +Tue May 10 14:23:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * section.c (SEC_COFF_SHARED_LIBRARY): Renamed from + SEC_SHARED_LIBRARY for clarity. Changed all uses. + * bfd-in2.h: Rebuilt. + * coffcode.h (sec_to_styp_flags): If SEC_COFF_SHARED_LIBRARY is + set, set STYP_NOLOAD. + * coffgen.c (coff_section_from_bfd_index): Don't get an assertion + failure because of a bad shared library. + +Mon May 9 18:53:40 1994 Bill Cox (bill@rtl.cygnus.com) + + * linker.c: Add missing comment terminator. + +Mon May 9 11:53:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * linker.c (_bfd_generic_link_add_one_symbol): If hashp and *hashp + are not NULL, assume the caller has already looked up the symbol + in the hash table and has stored the entry in *hashp. + (generic_link_add_symbol_list): Set h to NULL before calling + _bfd_generic_link_add_one_symbol. + * ecoff.c (ecoff_link_add_externals): Likewise. + + * elfcode.h (assign_file_positions_except_relocs): Don't require + page shared between .data and .bss segments to contain zeroes. + + * elfcode.h: Include bfdlink.h. Added several new functions to do + linking. + (ELF_R_TYPE): Define. + (bfd_add_to_strtab): Return unsigned long. Change check for + realloc failure. + (elf_fake_sections): Check return value of bfd_add_to_strtab. + (elf_compute_section_file_positions): Add link_info argument. + Call elf_backend_begin_write_processing hook and prep_headers + here. Only call swap_out_syms if link_info is NULL. Set up + .shstrtab section here. Pass dosyms argument to + assign_file_positions_except_relocs. Set output_has_begun flag. + (assign_file_positions_for_symtab_and_strtabs): Add dosyms + argument, and use it to control setting .symtab and .strtab file + positions. + (assign_file_positions_except_relocs): Add dosyms argument, and + pass it on. + (prep_headers): Check return value of bfd_add_to_strtab. + (swap_out_syms): Likewise. Also, don't set up .shstrtab here. + (NAME(bfd_elf,write_object_contents)): Some calls moved into + elf_compute_section_file_positions. + (elf_set_section_contents): Likewise. + (elf_slurp_symbol_table): SHN_LORESERV corrected to SHN_LORESERVE. + * libelf.h: Include bfdlink.h. + (struct elf_backend_data): Add fields collect, + elf_add_symbol_hook, elf_backend_relocate_section. + (struct bfd_elf_section_data): Add field rel_hashes. + (struct elf_obj_tdata): Remove fields internal_syms and symbols. + Add field sym_hashes. + (obj_symbols, obj_internal_syms): Remove definitions. + (elf_sym_hashes): Define. + (struct elf_link_hash_entry): Define. + (struct elf_link_hash_table): Define. + (elf_link_hash_lookup): Define. + (elf_link_hash_traverse): Define. + (elf_hash_table): Define. + (_bfd_elf_link_hash_table_create): Declare. + (bfd_elf32_bfd_link_add_symbols): Declare. + (bfd_elf32_bfd_final_link): Declare. + (bfd_elf64_bfd_link_add_symbols): Declare. + (bfd_elf64_bfd_final_link): Declare. + * elf.c: Include bfdlink.h. + (elf_link_hash_newfunc): New function. + (_bfd_elf_link_hash_table_create): New function. + * elf32-target.h (elf_backend_relocate_section): If not defined, + define as 0 and use generic linker. Otherwise, use ELF backend + linker. + (elf_backend_collect): If not defined, define as false. + (elf_backend_add_symbol_hook): If not defined, define as 0. + (elf32_bed): Initialize new fields. + * elf64-target.h: Same changes as elf32-target.h. + * elf32-i386.c: Include bfdlink.h. + (elf_i386_relocate_section): New function. + (elf_backend_relocate_section): Define. + * elf32-sparc.c: Include bfdlink.h. + (elf_info_to_howto): Change type of dst from Elf32_Internal_Rela + to Elf_Internal_Rela (they're the same type anyhow). + (elf_sparc_relocate_section): New function. + (elf_backend_relocate_section): Define. + * elf32-mips.c (elf_backend_collect): Define. + + * Makefile.in (stmp-bfd.h): Avoid useless make error message in a + different way; touch takes a numeric argument on some systems. + +Fri May 6 13:34:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlmcode.h (nlm_swap_auxiliary_headers_in): Rework custom header + handling for latest suggested format. + (nlm_swap_auxiliary_headers_out): Likewise. + (nlm_compute_section_file_positions): Likewise. + +Fri May 6 11:11:50 1994 D. V. Henkel-Wallace (gumby@rtl.cygnus.com) + + * config.bfd: handle erricsson config (for OSE). + +Thu May 5 15:40:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + Patches from Ralph Campbell: + * mipsbsd.c (mips_fix_jmp_addr): New function. + (mips_fix_hi16_s): Use bfd_is_com_section. + (mips_howto_table_ext): Call mips_fix_jmp_addr for MIPS_RELOC_JMP. + +Fri May 6 11:48:55 1994 Steve Chamberlain (sac@cygnus.com) + + * config/go32.mh: XX support. + + From bill + * Makefile.in: Build sysdep.h without causing worrying but + harmless error message. + +Wed May 4 11:09:53 1994 Ian Lance Taylor (ian@cygnus.com) + + Changed m68k-aout to set flags to 0; m68k-sunos still uses 1. + * aout0.c: New file. + * targets.c (aout0_big_vec): Declare. + (bfd_target_vector): Add aout0_big_vec. + * config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout. + * config/m68k-aout.mt (SELECT_VECS): Removed. + * config/m68k-0aout.mt: New file. + * configure.in (aout0_big_vec): New target vector: use aout0.o, + aout32.o and stab-syms.o. + * Makefile.in: Rebuilt dependencies. + (BFD32_BACKENDS): Add aout0.o. + (CFILES): Add aout0.c. + + * libaout.h (struct aout_backend_data): Add field exec_hdr_flags. + * aout-target.h (MY_exec_hdr_flags): If not defined, define as 0. + MY(backend_data): Initialize exec_hdr_flags field. + * aoutf1.h (sunos_32_set_arch_mach): Make static. + (aout32_sunos4_write_object_contents): Set flags from backend + info. + (MY_exec_hdr_flags): If not defined, define as 1. + (sunos4_aout_backend): Initialize exec_hdr_flags field. + * aout-encap.c (encap_write_object_contents): Set flags from + backend info. + (MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE. + * hp300hpux.c (MY_exec_hdr_flags): Define as 0x2. + (MY(write_object_contents)): Set flags from backend info. + * i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field. + * i386mach3.c (MY(backend_data)): Likewise. + * mipsbsd.c (MY(backend_data)): Likewise. + * sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set + flags from backend info. + (sparclynx_aout_backend): Initialize exec_hdr_flags field. + +Wed May 4 02:56:00 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config.bfd (i386-*-gnu*): Treat like i386-*-mach*. + (m68*-apollo-*): Treat all Apollo configs the same, don't handle + BSD specially. + +Tue May 3 19:43:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * cache.c: Rewrote to work correctly. + * libbfd.h: Rebuilt. + * opncls.c (bfd_cache_init, bfd_open_file): Don't declare. + (bfd_fdopenr): Check return value of bfd_cache_init. + +Fri Apr 29 15:08:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * cf-m68klynx.c (CALC_ADDEND): Check for PC relative relocs by + enumerating them, since the reloc type can not serve as an index + into the m68k COFF howto_table. + +Fri Apr 29 09:42:39 1994 Steve Chamberlain (sac@cygnus.com) + + * config.bfd (*-go32): Changed to coff. + * coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches. + * srec.c (srec_write_symbols): Write out the correct number of + symbols and don't stick in extra nulls. + +Tue Apr 26 15:07:24 1994 Stan Shebs (shebs@andros.cygnus.com) + + * cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define. + * coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC. + (COFF_SPARC): Define. + * coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment + power of data and bss sections to 3. + * hosts/lynx.h (__LYNXOS): Define. + +Tue Apr 26 15:04:26 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (hppa_elf_reloc): Adjust the addend of relocations + against section symbols to avoid losing during ld -r. + +Tue Apr 26 12:16:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (shstrtab_length_fixed): Remove useless static + variable. + (struct elf_sect_data): Remove unused structure. + (elf_object_p): Free memory if error occurs. Check return value + of bfd_default_set_arch_mach. If elf_get_str_section fails, + preserve error code rather than setting wrong_format. + (null_shdr): Remove static variable. + (assign_section_numbers): Remove shstrtab_length_fixed assignment. + Allocate first section header on BFD obstack rather than using + null_shdr. + (bfd_prpsinfo): Remove unused local variable newsect. + +Mon Apr 25 15:31:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (write_relocs): Undo patch of Apr 10; breaks Solaris. + + * elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anyway + to create sections. Check return value of recursive calls. + (bfd_section_from_phdr): Check return value of bfd_make_section. + (elf_symbol_from_bfd_symbol): Likewise. + (elf_object_p): Check return value of bfd_section_from_shdr. + (section_from_elf_index): Likewise. + (elf_slurp_symbol_table): Check return value of + section_from_elf_index. + (bfd_prstatus): Return boolean value. Check return value of + bfd_make_section. + (bfd_fpregset): Likewise. + (bfd_prpsinfo): Return boolean value. + (elf_corefile_note): Check return values of bfd_prstatus, + bfd_fpregset, and bfd_prpsinfo. + (elf_core_file_p): Check return value of elf_corefile_note. + +Fri Apr 22 11:08:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Get rid of the ECOFF .reginfo section hack. + * ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section. + (ecoff_new_section_hook): Don't handle the .reginfo section. + (ecoff_sizeof_headers): Likewise. + (ecoff_get_section_contents): Likewise. + (ecoff_compute_section_file_positions): Likewise. + (ecoff_compute_reloc_file_positions): Likewise. + (ecoff_set_section_contents): Likewise. + (ecoff_write_object_contents): Likewise. + (ecoff_bfd_final_link): Likewise. + (ecoff_bfd_copy_private_bfd_data): Copy the GP value and the + register masks. + (bfd_ecoff_get_gp_value): New function. + (bfd_ecoff_set_gp_value): New function. + (bfd_ecoff_set_regmasks): New function. + * bfd-in.h (bfd_ecoff_get_gp_value): Declare. + (bfd_ecoff_set_gp_value): Declare. + (bfd_ecoff_set_regmasks): Declare. + * bfd-in2.h: Rebuilt. + + Fix ECOFF objcopy to actually copy debugging information. + * ecoff.c (ecoff_bfd_copy_private_bfd_data): New function. + (ecoff_get_extr): Assume that any ECOFF symbol with local clear is + an external symbol, rather than checking the symbol flags. Only + check the flags for non-ECOFF symbols. + * ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the + output_section field of the symbol section is NULL. + * libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as + function rather than defining as macro. + + * ieee.c (ieee_object_p): Set bfd_error_got_wrong_format if + appropriate. + + * targets.c (bfd_target_vector): Add bfd_elf32_powerpc_vec. + + * aout-adobe.c (aout_adobe_set_arch_mach): Check return value of + bfd_default_set_arch_mach. Accept bfd_arch_m68k as well as + bfd_arch_unknown. + * coffcode.h (coff_set_arch_mach): Check return value of + bfd_default_set_arch_mach. + * elfcode.h (elf_set_arch_mach): Don't check a list of ELF + architectures, just see if the desired architecture matches what + the ELF backend permits. + + * coffcode.h (coff_set_arch_mach_hook): Rename SHMAGIC to + SH_ARCH_MAGIC to match change in coff/sh.h. + (coff_set_flags): Likewise. + + Follow convention in which each NLM header has an 8 byte stamp + followed by a four byte length. + * libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr + to nlm_cygnus_ext_header, and change type to + Nlm_Internal_Cygnus_Ext_Header. + (nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header. + * nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead + of CyGnUsSeCs. Rename from cygnus_section to cygnus_ext. Require + length word to be 8. + (nlm_swap_auxiliary_headers_out): Rename from cygnus_section to + cygnus_ext. Set length word to 8. + (nlm_compute_section_file_positions): Rename from cygnus_section + to cygnus_ext. + +Thu Apr 21 22:54:22 1994 Stu Grossman (grossman at cygnus.com) + + * nlmcode.h (nlm_swap_auxiliary_headers_in): Keep section table + (from CyGnUsSeCs) in more permanent memory to keep section names + from getting trashed. + +Thu Apr 21 09:29:37 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * libelf.h (elf_obj_tdata): Add members for dynamic symbol table + handling. + * elfcode.h (bfd_section_from_shdr): Handle dynamic symbol table. + * elfcode.h (elf_slurp_symbol_table): Take additional parameter + to select static or dynamic symbol table and return number of + symbols slurped or -1 on error. + * elfcode.h (elf_get_symtab): Set bfd symcount from + elf_slurp_symbol_table result. + * elfcode.h (elf_get_dynamic_symtab_upper_bound, + elf_canonicalize_dynamic_symtab): New functions to handle dynamic + symbol table. + * elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC): + Change to handle dynamic symbol table, provide default definitions + for dynamic relocs. + * aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out), + NAME(aout,swap_std_reloc_in), aout_link_input_section_std, + aout_link_reloc_link_order): Handle r_jmptable and r_relative + relocations. + +Thu Apr 21 11:58:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Clean up uses of _bfd_dummy_target (from Peter Schauer). + * libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format. + * nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not + NULL. + * srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in + _bfd_check_format. + (symbolsrec_vec): Likewise. + * tekhex.c (tekhex_vec): Likewise. + + * libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdr + field. + (nlm_cygnus_section_header): New accessor macro. + * nlmcode.h (nlm_object_p): Free new tdata structure if failure. + Add fixed sections before swapping in auxiliary headers. After + adding sections, treat errors as real, not as wrong format. + (nlm_swap_auxiliary_headers_in): Swap in the sections header; add + sections to the BFD for each section it describes. + (nlm_swap_auxiliary_headers_out): Swap out the sections header. + (nlm_compute_section_file_positions): Account for the size of the + sections header. + +Wed Apr 20 16:45:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * coff-sparc.c (sparccoff_vec): Change minimum alignment power to + 2, so that stab sections can be multiples of 4 bytes only. + + * hosts/i386aix.h: Changes to avoid prototypes conflicts with the + ones defined in stdlib.h. (From Minh Tran-Le.) + +Wed Apr 20 14:15:21 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlm32-ppc.c: Complete rewrite for new version of PowerPC + NetWare. Old code still present, but ifdeffed out. + + * nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a + particular format for the customer header. Allocate a block of + memory and read it into that. + (nlm_swap_auxiliary_headers_out): Write out the block of memory. + (nlm_compute_section_file_positions): Include length of customer + header when computing its size. + +Mon Apr 18 14:27:17 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_prep_headers): Get the space's number from the + backend private section data rather than target_index. + (bfd_som_set_section_attributes): Store the space's number + in the backend private section data rather than target_index. + + * som.h (som_copyable_section_data_struct): Add space_number. + +Fri Apr 15 12:22:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-a29k.c (reloc_processing): Always set the address of a + R_IHCONST reloc to that of the immediately preceding R_IHIHALF. + gas does this anyhow, but some other assemblers seem to leave + garbage in the R_IHCONST address field. + + * bfd/archive.c: Consistently use ARFMAG; from + schwab@issan.informatik.uni-dortmund.de (Andreas Schwab). + (_bfd_write_archive_contents): Use ARFMAG rather than '`' and + '\012'. + (bsd_write_armap): Likewise. + (coff_write_armap): Likewise. + + * coff-mips.c (mips_relocate_section): When relaxing, adjust local + relocs against the .text section as required. + * ecofflink.c (bfd_ecoff_debug_accumulate): When relaxing, adjust + PDR addresses as required. + + * ecoff.c (ecoff_emit_aggregate): Take fdr argument. Map fdr + index through rfd map if it exists. Check for a couple of cases + which gdb handles specially. Change all callers. + (ecoff_type_to_string): Take fdr argument rather than aux_ptr and + bigendian argument. Change all callers. + (ecoff_print_symbol): Handle stStruct, stUnion and stEnum. + +Thu Apr 14 13:05:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-mips.c (mips_howto_table): Add dummy entries to account for + numbering changes in include/coff/mips.h. Add entries for + MIPS_R_RELHI and MIPS_R_RELLO. + (mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type + when little endian. Treat internal MIPS_R_RELLO or MIPS_R_RELHI + relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32 + bits. + (mips_ecoff_swap_reloc_out): Likewise. + (mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or + MIPS_R_RELHI relocs like MIPS_R_SWITCH. + (mips_adjust_reloc_out): Likewise. + (mips_relhi_addr, mips_relhi_addend): New static variables. + (mips_relhi_reloc, mips_rello_reloc): New functions. + (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into + MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO. + (mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel + argument. Changed all callers. + (mips_relocate_section): Rename got_reflo to got_lo and + reflo_int_rel to lo_int_rel. Handle MIPS_R_RELLO and MIPS_R_RELHI + relocs. + (mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when + expanding a PC relative call. + + * reloc.c (bfd_reloc_code_real_type): Add BFD_RELOC_PCREL_HI16_S + and BFD_RELOC_PCREL_LO16. + * bfd-in2.h: Rebuilt. + +Wed Apr 13 11:50:07 1994 Stan Shebs (shebs@andros.cygnus.com) + + * coff-sparc.c (sparccoff_vec): Set minimum alignment power to 3. + +Tue Apr 12 13:36:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_write_fixups): Always emit at least + one relocation for any non-bss section. + +Mon Apr 11 14:41:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (assign_file_positions_except_relocs): Don't require + the file alignment to correspond to the page size when linking + with -N. + +Sun Apr 10 01:02:24 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * elfcode.h (write_relocs): For rela relocations, adjust the + addend for relocations involving section symbols to account + for the lossage of 1:1 mapping from input section symbols to + output section symbols. + +Fri Apr 8 12:22:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (NAME(aout,make_sections)): New function. + (NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections) + rather than making sections inline. + (NAME(aout,mkobject)): Don't make any sections. + (NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections). + (NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or + obj_datasec (abfd) if they are NULL. + * libaout.h (NAME(aout,make_sections)): Declare. + * bout.c (b_out_mkobject): Don't make any sections. + (b_out_write_object_contents): Call aout_32_make_sections. + (b_out_set_section_contents): Likewise. + * i386os9k.c (os9k_mkobject): Don't make any sections. + (os9k_write_object_contents): Call aout_32_make_sections. + (os9k_set_section_contents): Likewise. + + * aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in target + index. + +Wed Apr 6 20:44:56 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * config.bfd, configure.host: Add mips-*-sysv4* support. + +Thu Apr 7 14:23:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH. + (mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into + r_offset and set r_symndx to RELOC_SECTION_TEXT. + (mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx + value from the r_offset field. + (mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH. + For MIPS_R_SWITCH, copy the r_offset field into the addend field. + (mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field + into the r_offset field. + (mips_switch_reloc): New function. + (mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into + MIPS_R_SWITCH. + (mips_relocate_section): Handle MIPS_R_SWITCH. + (mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary. + +Thu Apr 7 11:10:51 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * elfcode.h (elf_set_section_contents): Support calling the backend + function elf_backend_begin_write_processing when just beginning to + write an object file. + + * libelf.h (elf_backend_begin_write_processing): Declare. + + * elf{32,64}-target.h (elf_backend_begin_write_processing): Provide + a default definition. + (elf{32,64}_bed): Add elf_backend_begin_write_processing. + + * elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration. + (elf_hppa_tc_make_sections): Likewise. + + * elf32-hppa.c (symext_chain_built): Delete. + (symext_chain_size): Renamed from symextn_contents_real_size. + (elf32_hppa_backend_{begin,final}_write_processing): New functions. + (add_entry_to_symext_chain): New function. + (hppa_elf_set_section_contents): Ignore writes to the symbol extension + section until it's been rebuilt internally. + (hppa_elf_get_section_contents): Symbol extension section is no + longer special. + (elf_backend_{begin,final}_write_processing): Define. + (elf_hppa_tc_make_sections): Simplify now that much code has + migrated into elf32_hppa_backend_{being,final}_write_processing. + +Wed Apr 6 17:24:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Add new target vectors to read the dynamic symbols and dynamic + relocs. Change a.out to use these rather than reading the dynamic + symbols and relocs along with the normal symbols and relocs. + * targets.c (bfd_target): Add fields + _bfd_get_dynamic_symtab_upper_bound, + _bfd_canonicalize_dynamic_symtab, + _bfd_get_dynamic_reloc_upper_bound, + _bfd_canonicalize_dynamic_reloc. + (BFD_JUMP_TABLE_DYNAMIC): Define. + * libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound): + Define. + (_bfd_nodynamic_canonicalize_dynamic_symtab): Define. + (_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define. + (_bfd_nodynamic_canonicalize_dynamic_reloc): Define. + * bfd.c (bfd_get_dynamic_symtab_upper_bound): Define. + (bfd_canonicalize_dynamic_symtab): Define. + (bfd_get_dynamic_reloc_upper_bound): Define. + (bfd_canonicalize_dynamic_reloc): Define. + * sunos.c (MY_read_dynamic_symbols): Don't define. + (MY_read_dynamic_relocs): Don't define. + (MY_get_dynamic_symtab_upper_bound): Define. + (MY_canonicalize_dynamic_symtab): Define. + (MY_get_dynamic_reloc_upper_bound): Define. + (MY_canonicalize_dynamic_reloc): Define. + (struct sunos_dynamic_info): Change type of dynsym_count and + dynrel_count to long. Add fields canonical_dynsym and + canonical_dynrel. + (sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set. + Clear info->canonical_dynsym and info->canonical_dynrel. + (MY(read_dynamic_symbols)): Removed. + (MY(read_dynamic_relocs)): Removed. + (sunos_get_dynamic_symtab_upper_bound): New function. + (sunos_canonicalize_dynamic_symtab): New function. + (sunos_get_dynamic_reloc_upper_bound): New function. + (sunos_canonicalize_dynamic_reloc): New function. + * libaout.h: Declare struct reloc_ext_external and + reloc_std_external to avoid prototype problems. + (struct aout_backend_data): Remove fields read_dynamic_symbols and + read_dynamic_relocs. + (NAME(aout,translate_symbol_table)): Declare. + (NAME(aout,swap_ext_reloc_in)): Declare. + (NAME(aout,swap_std_reloc_in)): Declare. + * aoutx.h (NAME(aout,translate_symbol_table)): Renamed from + translate_symbol_table and made non-static. Changed all callers. + (NAME(aout,slurp_symbol_table)): Don't read dynamic symbols. + (NAME(aout,slurp_reloc_table)): Don't read dynamic relocs. + (NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs. + * aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to + remove dynamic symbols and relocs. They will no longer be + present. + (MY_read_dynamic_symbols): Don't define. + (MY_read_dynamic_relocs): Don't define. + (sunos4_aout_backend): Don't initialize dynamic entry points. + * aout-target.h (MY_read_dynamic_symbols): Don't define. + (MY_read_dynamic_relocs): Don't define. + (MY(backend_data)): Don't initialize dynamic entry points. + (MY_get_dynamic_symtab_upper_bound): If not defined, define to + _bfd_nodynamic version. + (MY_canonicalize_dynamic_symtab): Likewise. + (MY_get_dynamic_reloc_upper_bound): Likewise. + (MY_canonicalize_dynamic_reloc): Likewise. + * All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector. + * bfd-in2.h: Rebuilt. + * libbfd.h: Rebuilt. + + * cf-m68klynx.c: Include sysdep.h. + + * hp300hpux.c: Removed some spaces in uses of NAME to avoid + problems with traditional C compilers. + + * targets.c (bfd_target): Rearranged fields in target vector. + Removed _bfd_debug_info_start, _bfd_debug_info_end and + _bfd_debug_info_accumulate, which were never used. + (BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined. + (BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined. + (BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined. + (BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined. + * All backends: Changed to use the new BFD_JUMP_TABLE_* macros + rather than the single JUMP_TABLE macro. Removed many of the + weird macro definitions needed to support the monolithic + JUMP_TABLE. + * bfd-in.h (JUMP_TABLE): Removed. + * libbfd-in.h: Define a bunch of macros, and declare a few + functions, for use with the new BFD_JUMP_TABLE_* macros. + * libbfd.c (_bfd_dummy_new_section_hook): Removed. + (bfd_false): Set bfd_error_invalid_operation. + (bfd_nullvoidptr): Likewise. + (bfd_n1): New function. + (_bfd_nocore_core_file_matches_executable_p): Renamed from + _bfd_dummy_core_file_matches_executable_p. + (_bfd_nocore_core_file_failing_command): Similar rename. Set + bfd_error_invalid_operation. + (_bfd_nocore_core_file_failing_signal): Likewise. + (_bfd_generic_get_section_contents): Renamed from + bfd_generic_get_section_contents. Changed all callers. + (_bfd_generic_set_section_contents): Similar rename. + * ieee.c: #if 0 out ieee_bfd_debug_info_start, + ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate. They + were never called. + * bfd-in2.h: Rebuilt. + * libbfd.h: Rebuilt. + +Tue Apr 5 22:10:04 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Crude support for examining dynamic libraries. + * som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and + DL_MAGIC objects. + (som_prep_headers): Preserve the system_id for DYNAMIC objects. + Use SHL_MAGIC as the magic number of the DYNAMIC flag is set. + Write exec headers for DYNAMIC objects. + (som_begin_writing): DYNAMIC objects have the same alignment + restrictions as D_PAGED objects. + (bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P + objects. + (object_flags): Add DYNAMIC. + +Tue Apr 5 17:48:52 1994 Stan Shebs (shebs@andros.cygnus.com) + + * i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in + macro uses, confuses some non-ANSI compilers. + +Tue Apr 5 15:50:01 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_free_cached_info): Add missing PARAMS decl. + Don't free anything if we don't have a bfd_object. + (som_close_and_cleanup): Call som_bfd_free_cached_info. + +Tue Apr 5 11:22:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-mips.c (mips_elf_final_link): Don't remove empty sections. + It turns out not to be required on Irix 5, and it causes problems + if the sections happen to contain symbols. + + * elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check. + + * aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if + section->relocation is NULL; malloc might have returned NULL when + given a zero size if there were no relocations. + * bout.c (b_out_canonicalize_reloc): Likewise. + * coffcode.h (coff_canonicalize_reloc): Likewise. + * ecoff.c (ecoff_canonicalize_reloc): Likewise. + * elfcode.h (elf_canonicalize_reloc): Likewise. + * mipsbsd.c (MY(canonicalize_reloc)): Likewise. + * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise. + * nlmcode.h (nlm_canonicalize_reloc): Likewise. + * som.c (som_canonicalize_reloc): Likewise. + * hp300hpux.c (MY(slurp_reloc_table)): Likewise. Also, if malloc + returns NULL, don't report an error if we asked for zero bytes. + * i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns + NULL, don't report an error if we asked for zero bytes. + * nlmcode.h (nlm_slurp_reloc_fixups): Likewise. + +Mon Apr 4 15:30:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything + if we don't have a bfd_object. + + Made sure that every call to bfd_read, bfd_write, and bfd_seek + checks the return value and handled bfd_error correctly. These + changes are not itemised. Also: + * aoutx.h (emit_strtab): Change return type to boolean, and return + errors. + (NAME(aout,write_syms)): Check emit_strtab return value. + (NAME(aout,final_link)): Likewise. + * coffcode.h (coff_write_relocs): Change return type to boolean, + and return errors. + (coff_write_object_contents): Check coff_write_relocs return + value. + * i386os9k.c (os9k_swap_exec_header_in): Change return type to + boolean. + (os9k_object_p): Check os9k_swap_exec_header_in return value. + * oasys.c (oasys_read_record): Change return type to boolean. + (oasys_slurp_symbol_table: Check oasys_read_record return value. + (oasys_object_p, oasys_slurp_section_data): Likewise. + (oasys_write_record): Change return type to boolean. + (oasys_write_syms): Likewise. Also, check oasys_write_record + return value. + (oasys_write_sections): Check oasys_write_record return value. + (oasys_write_header): Change return type to boolean. Check + oasys_write_record return value. + (oasys_write_end, oasys_write_data): Likewise. + (oasys_write_object_contents): Check return values of + oasys_write_header, oasys_write_syms, oasys_write_data, and + oasys_write_end. + * srec.c (srec_write_record): Change return type to boolean. + (srec_write_header): Likewise. Also, check srec_write_record + return value. + (srec_write_section, srec_write_terminator): Likewise. + (srec_write_symbols): Change return type to boolean. + (internal_srec_write_object_contents): Check return value of + srec_write_symbols, srec_write_header, srec_write_section, and + srec_write_terminator. + + * Makefile.in: Rebuilt dependencies. + +Mon Apr 4 10:56:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * aix386-core.c (aix386_bfd_is_local_label): Correct cast from + asection to asymbol. + * ptrace-core.c (ptrace_unix_bfd_is_local_label): Correct cast from + bfd to asymbol. + * trad-core.c (trad_unix_bfd_is_local_label): Correct cast from + asection to asymbol. + +Sun Apr 3 18:27:29 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_slurp_string_table): Use malloc to allocate space + for the cached copy of the native string table. + (som_slurp_symbol_table): Likewise for the native symbol table. + (som_slurp_reloc_table): Likewise for the native and generic + relocation tables. + (som_bfd_free_cached_info): Free the cached native strings, + symbols, and relocations. Also free the canonical cached + relocations. + +Fri Apr 1 12:40:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (aout_link_write_symbols): If keep_memory is false, make + sure the symbol name is stored in permanent memory before adding + it to the string table. + + * archive.c (_bfd_write_archive_contents): Once we've found an + object, don't bother to look for more when deciding whether to + build a map. + (compute_and_write_armap): After adding the symbols for a BFD, + call bfd_free_cached_info on it. + + Add bfd_free_cached_info support to a.out backends. + * aoutx.h (aout_get_external_symbols): Renamed from + aout_link_get_symbols. Read strings even if symbols have been + read. Store string size in obj_aout_string_size. + (NAME(aout,slurp_symbol_table)): Call aout_get_external_symbols to + read the symbols. Allocate the cached symbols with malloc, not + bfd_alloc. + (NAME(aout,slurp_reloc_table)): Allocate the cached relocs with + malloc, not bfd_alloc. + (NAME(aout,bfd_free_cached_info)): New function; free cached + symbols and relocs. + * libaout.h (struct aoutdata): Add external_string_size field. + (obj_aout_external_string_size): New accessor macro. + (NAME(aout,close_and_cleanup)): Don't declare. + (NAME(aout,bfd_free_cached_info)): Declare. + (aout_32_close_and_cleanup): Don't define. + (aout_64_close_and_cleanup): Don't define. + * aout-target.h (MY_bfd_free_cached_info): If not already defined, + define as NAME(aout,free_cached_info). + (MY_close_and_cleanup): If not already defined, define as + MY_bfd_free_cached_info. + * aout-adobe.c (aout_32_close_and_cleanup): Define. + (aout_32_bfd_free_cached_info): Don't define. + * bout.c (aout_32_close_and_cleanup): Define. + (aout_32_bfd_free_cached_info): Don't define. + * hp300hpux.c (MY_bfd_free_cached_info): Define as bfd_true. + (MY_close_and_cleanup): Don't define. + * i386lynx.c (NAME(lynx,slurp_reloc_table)): Allocate the cached + relocs with malloc, not bfd_alloc. + * i386os9k.c (aout_32_close_and_cleanup): Define. + (aout_32_bfd_free_cached_info): Don't define. + + Add a new entry point to free memory cached by a BFD. + * targets.c (bfd_target): Add _bfd_free_cached_info field. + * bfd.c (bfd_free_cached_info): Define. + * bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info. + * bfd-in2.h: Rebuilt. + * All backends: Initialize bfd_free_cached_info entry point to + bfd_true. + + * elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of + first, unused, argument. + (hppa_elf_is_local_label): Declare instead of + som_bfd_is_local_label. + + * coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of + absolute R_IREL reloc. + +Thu Mar 31 11:52:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Added some support for Irix 4 shared libraries. + * ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a + .lib section. + (ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if + STYP_ECOFF_LIB bit is set. + (ecoff_compute_section_file_positions): Round the contents of a + .lib section up to the next page boundary. + (ecoff_set_section_contents): If we see a .lib section, increment + the vma by one to count the number of shared libraries we have. + (ecoff_write_object_contents): Don't crash if we see a + STYP_ECOFF_LIB section, and don't adjust text_start or data_start + or bss_size either. + + * coffcode.h (CALC_ADDEND): Change to fetch original symbol value + from original BFD, rather than using value of current BFD symbol. + Needed for new linker. + * coff-sparc.c (CALC_ADDEND): Likewise. + + * ecoff.c (ecoff_write_object_contents): Set the text_start and + data_start entries in the optional header correctly even if a text + or data section starts at location zero. + + * reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_26 (from sef + and raeburn). + * bfd-in2.h: Rebuilt. + + * nlm32-i386.c (nlm_i386_read_import): Null terminate the symbol + name. + * nlm32-alpha.c (nlm_alpha_read_import): Likewise. + * nlm32-sparc.c (nlm_sparc_read_import): Likewise. + + * coffgen.c (coff_write_symbol): Reindented. Changed to return + boolean, and changed written to unsigned int *. Check error + returns from called functions. + (coff_write_alien_symbol): Likewise. + (coff_write_native_symbol): Likewise. + (coff_write_symbols): Likewise. Reworked checks on whether to + write symbol name to string table for clarity and to avoid core + dumping when given a non COFF symbol. + * libcoff-in.h (coff_write_symbols): Declare as returning boolean. + * libcoff.h: Rebuilt. + * coffcode.h (coff_write_object_contents): Check return value of + coff_write_symbols. + +Wed Mar 30 16:25:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Changes to let BFD return an error indication from + get_symtab_upper_bound, bfd_canonicalize_symtab, + bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc. They now + return long instead of unsigned int, and use -1 to indicate an + error. Along the way, rename get_symtab_upper_bound to + bfd_get_symtab_upper_bound. + * bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on + errors. + (bfd_canonicalize_reloc): Likewise. + * syms.c (bfd_get_symtab_upper_bound): Renamed from + get_symtab_upper_bound. + * targets.c (bfd_target): Renamed _get_symtab_upper_bound to + _bfd_get_symtab_upper_bound, and changed it and + _bfd_canonicalize_symtab and _get_reloc_upper_bound and + _bfd_canonicalize_reloc to all return long. + * aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors. + (NAME(aout,canonicalize_reloc)): Likewise. + (NAME(aout,get_reloc_upper_bound)): Likewise. + (NAME(aout,get_symtab_upper_bound)): Likewise. + * bout.c (b_out_canonicalize_reloc): Likewise. + (b_out_get_reloc_upper_bound): Likewise. + * coffcode.h (coff_canonicalize_reloc): Likewise. + * coffgen.c (coff_get_symtab_upper_bound): Likewise. + (coff_get_symtab): Likewise. + (coff_get_reloc_upper_bound): Likewise. + * ecoff.c (ecoff_get_symtab_upper_bound): Likewise. + (ecoff_get_symtab): Likewise. + (ecoff_canonicalize_reloc): Likewise. + * elfcode.h (elf_get_symtab_upper_bound): Likewise. + (elf_get_reloc_upper_bound): Likewise. + (elf_canonicalize_reloc): Likewise. + (elf_get_symtab): Likewise. + * hp300hpux.c (MY(get_symtab)): Likewise. + (MY(get_symtab_upper_bound)): Likewise. + (MY(canonicalize_reloc)): Likewise. + * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise. + * ieee.c (ieee_slurp_external_symbols): Change return type to + boolean. Check for errors from get_symbol. + (ieee_slurp_symbol_table): Change return type to boolean. Check + for errors from ieee_slurp_external_symbols. + (ieee_get_symtab_upper_bound): Return long, and -1 on errors. + (ieee_get_symtab): Likewise. + (ieee_get_reloc_upper_bound): Likewise. + (ieee_canonicalize_reloc): Likewise. + * mipsbsd.c (MY(canonicalize_reloc)): Likewise. + * nlmcode.h (nlm_get_symtab_upper_bound): Likewise. + (nlm_get_symtab): Likewise. + (nlm_get_reloc_upper_bound): Likewise. + (nlm_canonicalize_reloc): Likewise. + * oasys.c (oasys_get_symtab_upper_bound): Likewise. + (oasys_get_symtab): Likewise. + (oasys_get_reloc_upper_bound): Likewise. + (oasys_canonicalize_reloc): Likewise. + * som.c (som_get_symtab_upper_bound): Likewise. + (som_get_symtab): Likewise. + (som_get_reloc_upper_bound): Likewise. + (som_canonicalize_reloc): Likewise. + * srec.c (srec_get_symtab_upper_bound): Likewise. + (srec_get_symtab): Likewise. + (srec_get_reloc_upper_bound): Define as bfd_0l. + (srec_canonicalize_reloc): Likewise. + * tekhex.c (tekhex_get_symtab): Return long, and -1 on errors. + (tekhex_get_symtab_upper_bound): Likewise. + (tekhex_get_reloc_upper_bound): Define as bfd_0l. + (tekhex_canonicalize_reloc): Likewise. + * libaout.h (NAME(aout,get_symtab_upper_bound)): Change + declaration to return long. + (NAME(aout,get_symtab)): Likewise. + (NAME(aout,canonicalize_reloc)): Likewise. + (NAME(aout,get_reloc_upper_bound)): Likewise. + * libcoff-in.h (coff_get_symtab_upper_bound): Likewise. + (coff_get_symtab): Likewise. + (coff_get_reloc_upper_bound): Likewise. + * libecoff.h (ecoff_get_symtab_upper_bound): Likewise. + (ecoff_get_symtab): Likewise. + (ecoff_canonicalize_reloc): Likewise. + * libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise. + (bfd_elf32_get_symtab): Likewise. + (bfd_elf32_get_reloc_upper_bound): Likewise. + (bfd_elf32_canonicalize_reloc): Likewise. + (bfd_elf64_get_symtab_upper_bound): Likewise. + (bfd_elf64_get_symtab): Likewise. + (bfd_elf64_get_reloc_upper_bound): Likewise. + (bfd_elf64_canonicalize_reloc): Likewise. + * libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise. + (nlmNAME(get_symtab)): Likewise. + (nlmNAME(get_reloc_upper_bound)): Likewise. + (nlmNAME(canonicalize_reloc)): Likewise. + * archive.c (compute_and_write_armap): Use error_return and + no_memory_return labels rather than freeing information in various + places. Change storage, symcount and src_count to long. Check + errors from bfd_get_symtab_upper_bound and + bfd_canonicalize_symtab. + * bout.c (b_out_relax_section): Change reloc_size to long. Check + for errors from bfd_get_reloc_upper_bound and + bfd_canonicalize_reloc. + (b_out_get_relocated_section_contents): Likewise. + * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): + Likewise. + * elf32-mips.c: Likewise. + * elf32-hppa.c (hppa_elf_stub_finish): Likewise. + (hppa_look_for_stubs_in_section): Check for errors from + bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and + bfd_canonicalize_reloc. + * ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors + from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab. + * linker.c (generic_link_read_symbols): Likewise. + (_bfd_generic_final_link): Check for errors from + bfd_get_reloc_upper_bound and bfd_canonicalize_reloc. + * reloc.c (bfd_generic_get_relocated_section_contents): Likewise. + * reloc16.c (bfd_coff_reloc16_relax_section): Likewise. + (bfd_coff_reloc16_get_relocated_section_contents): Likewise. + * libbfd.c (bfd_0l): New function. + * libbfd-in.h (bfd_0l): Declare. + * aix386-core.c: Change get_symtab_upper_bound, get_symtab, + get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather + than bfd_0u. + * cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise. + * irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise. + * bfd-in2.h: Rebuilt. + * libbfd.h: Rebuilt. + * libcoff.h: Rebuilt. + + * nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables + temp and name. + +Wed Mar 30 08:33:04 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/dpx2.h: Define POSIX_UTIME. + +Wed Mar 30 00:31:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * i386dynix.c, config/i386-dynix.mt: New files, handling Dynix + variant of a.out. + * configure.in, config.bfd: Use them for Dynix. + * Makefile.in: Add dependencies for i386dynix.o. + * targets.c: Add definition for i386dynix_vec. + * hosts/symmetry.h: Do not define TRAD_CORE_USER_OFFSET for Dynix. + Define HOST_DATA_START_ADDR and TRAD_UNIX_CORE_FILE_FAILING_SIGNAL + for Dynix. Remove inclusion of dynix3.h, Dynix bfd is now handled by + i386dynix.c + +Mon Mar 28 12:53:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (BFD32_BACKENDS): Add coff-sparc.o. + + * coffcode.h (coff_set_flags): Handle bfd_arch_powerpc like + bfd_arch_rs6000. + + * config.bfd (powerpc-*-aix*): New target; use rs6000.mt. + * config/rs6000.mt (SELECT_ARCHITECTURES): Add bfd_powerpc_arch. + + * aoutx.h (translate_from_native_sym_flags): Set SEC_RELOC flag + for generated constructor section. + +Sun Mar 27 16:25:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_begin_writing): New approach at dealing with holes + in executables left by the HP linker. Does not rely on subspace + alignments as subspaces are *NOT* guaranteed to be properly + aligned in an executable (can you believe that!). + +Sat Mar 26 10:25:43 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_get_section_contents): New function. Do not try + to actually read data from a section that doesn't have either + SEC_LOAD or SEC_DEBUGGING set (eg $BSS$) just return true. + + * libbfd.c (bfd_read): Set bfd_error as appropriate for a short + read. (bfd_error_system_call or bfd_error_file_truncated). + + * som.c: Do not blindly set bfd_error_system_call after a + failing bfd_read, bfd_write, or bfd_seek. In a few places + (like som_object_p) override the error status set by bfd_read. + + * aix386-core.c, aout-encap,c archive.c, bout.c: Likewise. + * coff-rs6000.c, coffgen.c ecoff.c, elf.c: Likewise. + * elf32-hppa.c, elfcode.h, hp300hpux.c, i386lynx.c: Likewise. + * nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c: Likewise. + + * som.c: Check return values from several bfd_{seek,read,write} + calls that we just assumed were not failing. + +Fri Mar 25 11:44:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/sysv4.h (HAVE_PROCFS): Add comments about ptx4. + * config/sysv4.mh: Add comment. + * config/symmetry.mh: Change comment. + * configure.host: Use sysv4, not symmetry, for i[34]86-sequent-sysv4*. + +Fri Mar 25 17:10:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Changes to support linker relaxing of embedded MIPS PIC code to + use a five instruction sequence for function calls which are out of + range of the bal instruction. + * libecoff.h (struct ecoff_section_tdata): Define. + (ecoff_section_data): Define. + (ecoff_bfd_relax_section): Don't define. + * ecoff.c (ecoff_final_link_debug_accumulate): Don't read or free + the debugging information if it has already been read. + (ecoff_indirect_link_order): Handle _cooked_size being different + from _raw_size. Don't reread the contents or the relocs if they + have already been read in. + * coff-mips.c (mips_howto_table): Change bitsize of PCREL16 from + 18 to 16. + (PCREL16_EXPANSION_ADJUSTMENT): Define. + (mips_relocate_refhi): Take adjust argument. + (mips_relocate_section): Handle reloc offsets stored in section + used_by_bfd field. Call mips_relax_pcrel16 to handle details of + expanding an out of range PCREL16. Keep trace of adjustments + required by expansions. Set s and unset h when converting a reloc + from undefined to section. Change handling of PC relative relocs: + if against a section, they are correct in the object file, if + against an external symbol they are pcrel_offset. + (mips_relax_section): New function. + (mips_relax_pcrel16): New function. + (ecoff_bfd_relax_section): Define. + * coff-alpha.c (ecoff_bfd_relax_section): Define. + * ecofflink.c (bfd_ecoff_debug_accumulate): Handle adjustments + built by mips_relax_section when writing out addresses. + * elf32-mips.c (mips_elf_read_ecoff_info): Clear adjust field. + + * aoutx.h (NAME(aout,find_nearest_line)): The caller expects + functionname_ptr to be set to a symbol name, so prepend + symbol_leading_char. + +Thu Mar 24 11:33:46 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * coff-h8300.c (h8300_reloc16_extra_cases): Add relaxing info + for 16bit relative branches. + * coff-h8500.c (r_high8, r_low16, r_high16): Don't complain on + overflow. + +Thu Mar 24 09:21:13 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_prep_for_ar_write): Ignore non-SOM objects. + (som_bfd_ar_write_symbol_stuff, som_write_armap): Likewise. + +Wed Mar 23 14:29:31 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * netbsd386.c (N_SET_FLAGS): Delete the old definition. + +Wed Mar 23 14:58:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Clean up the relaxing code for the new linker. + * targets.c (_bfd_relax_section): Take boolean *again argument + rather than asymbol list. + * bfd.c (bfd_relax_section): Change name of fourth argument from + symbols to again. + * reloc.c (bfd_generic_relax_section): Take boolean *again + argument rather than asymbol list. Always return true. + * bout.c: Include genlink.h. + (aligncode, perform_slip): Declare. + (perform_slip): Take BFD argument rather than asymbol list. + Changed all callers. Get the symbols from the BFD. Change the + hash table entry value as well as the symbol value. + (abs32code): Take BFD argument rather than asymbol list. Changed + all callers. + (aligncode): Likewise. + (b_out_relax_section): Take boolean *again argument rather than + asymbol list. Only return false if an error occurred. Set *again + to false. Get symbols from BFD. + * reloc16.c: Include genlink.h. + (bfd_perform_slip): Take BFD argument rather than asymbol list. + Get the symbols from the BFD. Change the hash table entry value + as well as the symbol value. + (bfd_coff_reloc16_relax_section): Take boolean *again argument + rather than asymbol list. Only return false if an error occurred. + Set *again to false. Get symbols from BFD. + * coffcode.h (bfd_coff_backend_data): Change + _bfd_coff_reloc16_estimate to take BFD argument rather than + asymbol list. + (bfd_coff_reloc16_estimate): Corresponding change. + (dummy_reloc16_estimate): Corresponding change. + * libcoff-in.h (bfd_coff_reloc16_relax_section): Change + declaration to take boolean * rather than asymbol list. + (bfd_perform_slip): Change declaration to take BFD rather than + asymbol list. + * coff-h8300.c (h300_reloc16_estimate): Take BFD argument rather + than asymbol list. Changed calls to bfd_perform_slip. + * bfd-in2.h: Rebuilt. + * libbfd.h: Rebuilt. + * libcoff.h: Rebuilt. + * Makefile.in: Rebuilt dependencies. + + * genlink.h (_bfd_generic_link_get_symbols): Define. + (_bfd_generic_link_get_symcount): Define. + * linker.c (generic_link_read_symbols): New function. + (generic_link_add_object_symbols): Use it. Use + _bfd_generic_link_get_symbols and _bfd_generic_link_get_symcount + to get the symbols from the BFD. + (generic_link_check_archive_element): Likewise. + (_bfd_generic_final_link): Likewise. + (_bfd_generic_link_output_symbols): Likewise. + (default_indirect_link_order): Likewise. + (generic_link_add_symbol_list): Store pointer to hash table entry + in asymbol udata field. + +Tue Mar 22 13:09:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-mips.c (mips_howto_table): Add entry for new MIPS_R_PCREL16 + reloc, used in embedded PIC code. + (mips_adjust_reloc_in): Change sanity check to permit new reloc. + (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_16_PCREL_S2 into + MIPS_R_PCREL16. + + * elf32-mips.c (mips_elf_final_link): Account for link_order + relocs when allocating space for relocations. Set SEC_RELOC flag + for any section which has relocs. Handle link_order relocs in + link_order loop. Use _bfd_generic_link_add_symbols_collect for + add_symbls entry point. + + * linker.c (_bfd_generic_final_link): Set reloc_count to 0 before + counting relocs. Set SEC_RELOC flag for any section which has + relocs. + + * linker.c (_bfd_default_link_order): Handle bfd_data_link_order. + + * linker.c (_bfd_generic_link_add_symbols): Just call + generic_link_add_symbols. + (_bfd_generic_link_add_symbols_collect): New function, like + _bfd_generic_link_add_symbols but also collect constructors and + destructors by name as collect2 does. + (generic_link_add_symbols): New function, like old + _bfd_generic_link_add_symbols but with collect argument. + (generic_link_add_object_symbols): Take collect argument. + (generic_link_check_archive_element_no_collect): New function. + (generic_link_check_archive_element_collect): New function. + (generic_link_check_archive_element): Take collect argument. + (generic_link_add_symbol_list): Take collect argument. + (_bfd_generic_link_add_one_symbol): Rename constructor argument to + collect. + * libbfd-in.h (_bfd_generic_link_add_symbols_collect): Declare. + * libbfd.h: Rebuilt. + +Tue Mar 22 10:04:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * archive.c (bfd_construct_extended_name_table): Use ar_padchar + for first character in an extended name. + (_bfd_write_archive_contents): If ar_padchar == '/', then use + "//" as the name of the special archive member holding the + extended name table. + +Mon Mar 21 12:28:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Support for link_order types which generate relocs in order to + support -Ur in the linker. + * linker.c (generic_link_add_symbol_list): Remove bitsize argument + from call to _bfd_generic_link_add_one_symbol. + (_bfd_generic_link_add_one_symbol): Remove bitsize argument. + Don't pass bitsize to constructor call back. Pass BFD_RELOC_CTOR + instead of bitsize to add_to_set call back. + (_bfd_generic_final_link): Account for link_order relocs when + allocating space for relocations. Handle them in link_order loop. + (_bfd_generic_reloc_link_order): New function. + (_bfd_default_link_order): If a reloc_link_order is seen here, + abort. + (_bfd_count_link_order_relocs): New function. + * libbfd-in.h (_bfd_generic_link_add_one_symbol): Remove bitsize + argument from declaration. + (_bfd_generic_reloc_link_order): Declare. + (_bfd_count_link_order_relocs): Declare. + * libbfd.h: Rebuilt. + * aoutx.h (aout_link_add_symbols): Remove bitsize argument from + call to _bfd_generic_link_add_one_symbol. + (NAME(aout,final_link)): Account for link_order relocs when + allocating space for relocations. Handle them after handling all + input BFDs. + (aout_link_reloc_link_order): New function. + * ecoff.c (ecoff_link_add_externals): Remove bitsize argument from + call to _bfd_generic_link_add_one_symbol. + (ecoff_bfd_final_link): Account for link_order relocs when + allocating space for relocations. Handle them in link_order loop. + (ecoff_link_write_external): Set the storage class of a defined + linker created symbol based on the section it is in. Correct + bfd_link_hash_weak case to use .sc rather than .st. + (ecoff_reloc_link_order): New function. + * coff-alpha.c (alpha_bfd_reloc_type_lookup): Handle + BFD_RELOC_CTOR. + * coff-mips.c (mips_bfd_reloc_type_lookup): Likewise. + + * sunos.c (sunos_read_dynamic_info): Remove unused locals dynsym + and buf. + + * cisco-core.c (cisco_core_file_p): Only pass one argument to + bfd_zmalloc. Free a pointer, not a union. + (cisco_bfd_is_local_label): Correct cast from asection to asymbol. + +Sun Mar 20 09:24:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * bfd/som.c (som_begin_writing): Fix thinko (off by one error). + + * som.c (bfd_section_from_som_symbol): Only to do the value + comparison for function symbols within executables. + + * som.c (bfd_section_from_som_symbol): Renamed from + som_section_from_subspace_index. Pass in a native SOM symbol. + For executables, iterate through the sections to find out + which contains the symbol's address rather than using the + symbol_info field. (symbol_info has a different meaning for + dynamicly linked executables.) + + * trad-core.c (trad_unix_core_file_p): Don't pass abfd to + bfd_zmalloc. + + * som.c (som_begin_writing): Fix braino (one call to align + space/subspace data was done unconditionally rather than + just for executables.) + + * som.c (som_begin_writing): Align text in all executables to + make HPUX kernel happy. Fixes strip/objcopy for shared + executables. + +Sat Mar 19 07:06:59 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_begin_writing): Account for alignment needs of + subspaces too when writing executables. Never request a negative + bss size. Fixes some problems with demand paged executables, + still having problems with pure executables and shared executables. + +Fri Mar 18 19:12:47 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * trad-core.c (trad_unix_core_file_p): Call bfd_zmalloc not + bfd_zalloc for rawptr, because later on we may call free, not + bfd_release, on it. + + * bfd.c (struct _bfd): Add cisco_core_struct to tdata union. + * libbfd.c (bfd_read, bfd_seek): Add comments regarding errors. + * cisco-core.c: New file. + * Makefile.in: Change accordingly. + * configure.in: Recognize cisco_core_vec. + * config/m68k-aout.mt (SELECT_VECS): Add cisco_core_vec. + * targets.c: Add cisco_core_vec. + * bfd-in2.h: Rebuilt. + +Fri Mar 18 18:13:49 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.h (som_copyable_section_data_struct): New structure + containing all the private section information which needs + to be copied from input section to output section during + objcopy or strip. + (som_section_data_struct): Remove several fields now in + som_copyable_section_data_struct. Make the space and + subspace dictionaries be pointers (to save space when + only reading objects). + + * som.c (bfd_som_set_section_attributes): Now returns a boolean; + some references changed. Allocate a copyable data stucture if + none exists. Store info into the copyable data structure. + (bfd_som_set_subsection_attributes): Likewise. + (som_is_space, som_is_subspace, som_is_container): New functions. + Use these instead of directly accessing private data. + (som_prep_headers): Allocate space and subspace headers here. + Fill in some fields in the space/subspace headers from the + copyable data. + (som_bfd_copy_private_section_data): Only copy the stuff + that we really need to make objcopy and strip work. Allocate + the copy_data structure for the output bfd before copying. + + * som.h (struct som_exec_data): New structure to hold exec + info that must be preserved when running objcopy/strip. + (struct somdata): Add new "exec_data" field and accessor + macro. Add some comments on how the various fields are used. + (som_section_data_struct): Make is_space and is_subspace bitfields. + Delete unused subspace_index. All references now use the + target_index field within the section structure itself. + + * som.c (make_unique_section): Delete unused declaration. + (som_bfd_copy_private_bfd_data): New function. + (som_object_setup): Allocate space for and save exec information + that needs to be copied during objcopy/strip. + (som_mkobject): Do not allocate space for a file header here. + It is not used when only reading SOM objects. + (som_prep_headers): Allocate space for and attach a file header + to the output bfd. For executables, use the saved system_id + value rather than trying to guess the right value. Do not abort + wwhen setting file_hdr->entry* for executables. + (som_begin_writing): For executables, set the exec_entry and + exec_flags fields. + (som_copy_private_backend_section_data): Always return a value. + + * libhppa.h (PA_PAGESIZE): Define. + + * som.c (SOM_ALIGN): Define. + (som_begin_writing): If writing an executable, initialize all + fields in the exec header to zero. Update fields in the exec + header as sizes of loadable subspaces are computed. Carefully + preserve alignments when building executables. Actually write the + exec after all the fields are filled in. + + * Better long-filename handling. Reads SOM ABI compliant extended + names, but doesn't quite write compliant extended names yet. + * som.c (som_slurp_extended_name_table): Delete function. The + generic code will handle things correctly. + (som_slurp_armap): Seek to the beginning of the next member. + (normalize): New function. + (som_bfd_ar_write_symbol_stuff): Take the size of the extended + name table into account when computing the file offsets in the + SOM dictionary. Make sure to align to an even boundary. + (som_write_armap): Initialize the checksum to zero. + (ar_maxchars): Fix. Opps. + +Fri Mar 18 20:35:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * aoutx.h (reloc_type_lookup): Handle BFD_RELOC_CTOR on a 64-bit + machine. Handle BFD_RELOC_SPARC13 and BFD_RELOC_SPARC_BASE13. + +Thu Mar 17 18:26:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * bfd-in.h (BFD_VERSION): Use @VERSION@. + * Makefile.in (bfd.h): Replace it with contents of VERSION file. + * bfd-in2.h: Regenerated. + + * trad-core.c (trad_unix_bfd_is_local_label): Fixed typo where + this was also named trad_unix_bfd_copy_private_bfd_data. + +Thu Mar 17 10:37:07 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * aoutx.h, elfcode.h, coff-alpha.c, bout.c, ecoff.c, ecofflink.c, + elf32-hppa.c, elf32-mips.c, linker.c, som.c, sunos.c: If malloc(0) + returns NULL, it is not an error. It's possible that some of + these checks are not necessary (because the size can never be + zero), but putting in the checks is the conservative thing to do + in light of the fact that some of these malloc calls replaced + unchecked alloca calls, in which a zero argument would work fine. + +Thu Mar 17 11:44:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * osf-core.c (osf_core_bfd_copy_private_bfd_data): Remove + duplicate definition. + (osf_core_bfd_is_local_label): Define. + + * reloc.c (bfd_generic_get_relocated_section_contents): Don't fail + if malloc (0) fails. bfd_canonicalize_reloc returning 0 is not a + failure indication, it merely means there are no relocs. + + * elfcode.h (NAME(bfd_elf,write_object_contents)): Don't use space + after NAME, since SunOS /bin/cc can't handle it. + +Wed Mar 16 16:43:33 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * netbsd386.c (N_SET_FLAGS): Don't nuke the machine id field. + From sukes@glue.umd.edu (Tasuki Hirata). + +Wed Mar 16 07:55:54 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * aoutf1.h (4 places): Use a simple #if on ARCH_SIZE, rather than + all that convoluted stuff with NAME, CAT3, etc. The convoluted + stuff broke for SunOS4 /bin/cc (due to DEFUN elimination, I guess). + +Wed Mar 16 00:02:05 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_prep_for_fixups): Detect section symbols based + on either the lack of private data or the symbol flags. Do not + munge section symbol names anymore -- they no longer confuse GDB. + (som_begin_writing): Leave space for an exec header if writing + an executable. + (som_slurp_symbol_table): Recognize both forms of section symbol + names "L$0\002" and "$<FOO>$". Change the name of "L$0\002" + section symbols to be the name of the section they represent. + Debugging symbols begin with "L$0\001", not just "L$". + +Tue Mar 15 22:58:28 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * bfd-in2.h, libbfd.h, libcoff.h: Rebuilt. + + * bfd-in.h (JUMP_TABLE): Add new entries to the jump table + for bfd_copy_private_section_data, bfd_copy_private_bfd_data, + and bfd_is_local_label. + + * targets.c: Add new entries to the bfd_target structure. + + * bfd.c (bfd_copy_private_bfd_data): New definition. + + * section.c (bfd_copy_private_section_data): New definition. + + * syms.c (bfd_is_local_label): New definition. + + * libbfd-in.h (bfd_generic_is_local_label): Declare. + + * libbfd.c (bfd_generic_is_local_label): New function. + + * *-core.c: Provide default definitions for new functions in + the target vector which all point to bfd_false. + + * aout-target.h, coffcode.h, elf32-target.h elf64-target.h, ieee.c + libaout.h, libecoff.h, nlm-target.h, oasys.c, srec.c, tekhex.c + Default new vectors for copying private backend data to bfd_true. + Default new vector for determining if a symbol is a local label + to bfd_generic_is_local_label. + + * som.c (som_bfd_copy_private_section_data): New function. + (som_bfd_is_local_label): New function. + (som_bfd_copy_private_bfd_data): For now default to bfd_true. + + * elf32-hppa.c (hppa_elf_is_local_label): New function. + +Tue Mar 15 23:55:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * cf-m68klynx.c (CALC_ADDEND): Use _bfd_m68klynx_howto_table. + +Tue Mar 15 04:41:13 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * Most files: + Replace DEFUN and DEFUN_VOID with K&R-style function definition. + Indent some of them to GNU standards. + + * aout32.c, archures.c, core.c, cpu-h8300.c, cpu-i960.c, + cpu-m68k.c, cpu-m88k.c, cpu-mips.c, cpu-vax.c, ctor.c, demo64.c, + elf32-hppa.h, gen-aout.c, host-aout.c, init.c, libhppa.h, + libieee.h, liboasys.h, newsos3.c, som.h, stab-syms.c, sunos.c: + Update copyright years. + +Mon Mar 14 11:41:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_prep_for_fixups): A relocation involving the section + symbol for the *ABS* section is really a relocation involving + no symbol. + (som_slurp_symbol_table): Do not set BSF_GLOBAL or BSF_EXPORT for + undefined symbols. Correctly distinguish between debugger symbols + and section symbols. + + * som (setup_sections): Set SEC_DEBUGGING and the section attributes + for spaces and subspaces. + + * som.c (som_bfd_count_ar_symbols): Fix typo. + + * som.c (som_object_setup): Set EXEC_P, D_PAGED, WP_TEXT, and + HAS_RELOC based on the object's magic number. + (make_unique_section): Delete function. BFD and its users are + prepared to handle multiple sections with the same name. + (setup_sections): Allocate space on the BFD's obstack to hold + section names. Use bfd_make_setion_anyway rather than the + obsolete make_unique_section. + (som_prep_headers): Choose the correct SOM magic number based + on the BFD's flags. + (som_bfd_fill_in_ar_symbols): Return false, not NULL on error. + +Sat Mar 12 09:46:09 1994 Ian Lance Taylor (ian@cygnus.com) + + * elf32-ppc.c: Renamed from elf32-powerpc.c. + * nlm32-ppc.c: Renamed from nlm32-powerpc.c. + * Makefile.in, configure.in: Corresponding changes. + +Fri Mar 11 22:27:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-powerpc.c: Extensive changes to update to preliminary ABI. + +Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * sunos.c (sunos_read_dynamic_info): Assume that dynamic info + is always located at the start of the data section to allow + recovery of the dynamic info from a stripped executable. + * ecoff.c (ecoff_styp_to_sec_flags): Handle STYP_PDATA, STYP_XDATA + and STYP_COMMENT. + +Wed Mar 9 17:17:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * libbfd-in.h: Remove alloca cruft. It was missing some necessary + cruft (like the #pragma alloca for AIX). + In addition to that problem, the C alloca calls xmalloc, which + means checking for being out of memory can't work right. The + following changes remove all uses of alloca from BFD. + * hosts/solaris2.h: Remove alloca cruft. + * som.c: Replace alloca with a fixed size auto array. + * aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c, + ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c, + sunos.c: Replace alloca with malloc and appropriate error checking and + freeing. + * linker.c: Replace alloca with obstack_alloc. + * libbfd.h: Rebuilt. + +Tue Mar 8 12:10:38 1994 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (mips_relocate_section): Handle MIPS_R_LITERAL like + MIPS_R_GPREL. + +Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * elf32-hppa.h, elfcode.h: Replace uses of Elf*_Half, Elf*_Word, + Elf*_Off typedefs by their expansion, the typedefs have been + removed from include/elf/internal.h. + * elfcode.h (bfd_section_from_shdr): Handle SHT_DYNAMIC section like + SHT_PROGBITS section. + +Thu Mar 3 20:03:39 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.h (_PA_RISC_ID): Treat HOST_HPPAOSF just like HOST_HPPABSD. + +Wed Mar 2 13:28:06 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * configure.host: Recognize i[34]86-sequent-*. + + * trad-core.c (trad_unix_core_file_p): A non-zero, not zero, + return from bfd_seek indicates an error. + New macro TRAD_CORE_DSIZE_INCLUDES_TSIZE to replace + TRAD_CORE_STACK_OFFSET. + * hosts/symmetry.h: Define TRAD_CORE_DSIZE_INCLUDES_TSIZE and + TRAD_CORE_USER_OFFSET but not HOST_STACK_OFFSET. + +Wed Mar 2 11:57:03 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.[ch]: Do not include libhppa.h in som.c, instead include + it in som.h. + + * elf32-hppa.[ch]: Do not include libhppa.h in elf32-hppa.c, instead + include it in elf32-hppa.h. + + * som.c (log2): Return -1 on error rather than aborting. + (setup_sections): Bubble up an error from log2. + + * Changes to make HP C compiler happy in both traditional + and ANSI mode. + * som.c (hppa_som_gen_reloc_type): Use correct enum type for + field parameter. + (bfd_som_set_section_attributes): Use unsigned int rather than + unsigned char to avoid GNU-C extensions. + (bfd_som_attach_aux_hdr): Return a boolean to indicate success + or failure rather than aborting on failure. + + * som.h (bfd_som_set_section_attributes): Fix prototype to match + som.c changes. + (bfd_som_attach_aux_hdr): Add prototype. + (hppa_som-gen_reloc_type): Likewise. + + * elf32-hppa.c: Add a couple casts to make HP compiler happy. + (hppa_look_for_stubs_in_section): Do not return false on failure + until rest of code is ready to handle it. Abort for now. + +Tue Mar 1 18:33:59 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * bfd-in2.h: Rebuilt. + +Tue Mar 1 13:06:53 1994 Kung Hsu (kung@mexican.cygnus.com) + + * i386os9k.c: use new functions bfd_set_error and bfd_get_error. + * Makefile.in: delete an extra blank. + * configure.in : Add i396os9k_vec. + +Mon Feb 28 15:41:01 1994 Kung Hsu (kung@mexican.cygnus.com) + + * config.bfd : Add i386-os9k. + * config/i386-os9k.mt : Newly add os9k target makefile. + + * i386os9k.c : new file to handle os9k format bfd. + * Makefile.in : Handle new file i386os9k.c + * targets.c : Add bfd_target_os9k_flavour and i386os9k_vec. + * cache.c : Initialize cache_sentinel to 0. + +Sun Feb 27 16:30:55 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch + action in case where caller specified no argument relocation. + (hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr + right in the original relocation and the stub's relocation. + + * elf32-hppa.h (hppa_look_for_stub_in_section): Fix typo. Delete + unused symbols argument. + + * elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather + than asymbol * for original target symbol. All callers changed. + Set reloc->sym_ptr_ptr appropriately. + (hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly. + (hppa_elf_look_for_stubs_in_section): No longer need symbols + argument. Use the output symbols when canonicalizing the relocs, + creating them if necessary. + + * linker.c (_bfd_generic_link_output_symbols): Do not + rebuild/clobber the output symbols if they already exist. + +Sun Feb 27 15:22:36 1994 Stan Shebs (shebs@andros.cygnus.com) + + * targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that + check all the pointer dereferences. Enabled via DEBUG_BFD_SEND. + * bfd-in2.h: Rebuilt. + + * srec.c (hex_value): Always set to a size of 256 bytes. + (srec_init): Cosmetic changes. + +Sun Feb 27 11:18:47 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * elf32-hppa.c: Second half of major cleanup. More comments, + PARAMize and staticize rest of functions. Delete unused + functions. Delete unused/unnecessary arguments to some functions. + Group static vars together. Abort for bad errors until we have + error code propogation working. Work on spacing and indention. + Add FIXMEs for unresolved problems. Use enums rather than + #defines for lots of things. Merge two functions which build + linker stubs into a single function (so they can easily share a + ton of common code). + +Sat Feb 26 10:00:45 1994 Ian Lance Taylor (ian@cygnus.com) + + * reloc.c (_bfd_relocate_contents): Adjust handling of overflow to + avoid depending upon right shifts of signed numbers, and to + correct handling of src_mask with lower bits zero. + + * aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc. + * ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise. + * elf32-i386.c: Likewise. + * elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old + #if 0 code. + (elf_write_phdrs): Make i unsigned. + (map_program_segments): Make i and n_left unsigned. + (assign_file_positions_except_relocs): Make i unsigned. + (write_shdrs_and_ehdr): Make count unsigned. + (assign_file_positions_for_relocs): Make i unsigned. + (NAME(bfd,elf_write_object_contents)): Make count unsigned. + (section_from_elf_index): Make index argument unsigned. + +Fri Feb 25 21:34:58 1994 Ian Lance Taylor (ian@cygnus.com) + + * elfcode.h: Don't include assert.h. + (swap_out_syms): Use BFD_ASSERT rather than assert. + + * linker.c (_bfd_generic_link_write_global_symbol): Add missing + break in switch. + + * hosts/i386v4.h (qsort, strtol): Remove incorrect and useless + declarations. + +Fri Feb 25 16:35:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * libhppa.h (hppa_rebuild_insn): Moved here from elf32-hppa.c. + + * elf32-hppa.h (elf_hppa_tc_symbol): Add new arguments. + (elf_hppa_tc_make_sections): Likewise. + (elf_hppa_final_processing): Add extern decl. + + * elf32-hppa.c: First half of major cleanup. Add/cleanup lots of + comments. PARAMize some static functions. Delete unused functions. + Delete unused/unnecessary arguments to many functions. Group + static vars together. Collapse common case statements together + in many places. Use default case when possible instead of listing + each case separately. Abort for bad errors until we get error + code propogation working. Work on spacing and indention problems. + Add FIXMEs for some unresolved problems. Delete hopelessly broken + COMPLEX relocation support (it's never used anyway). + (hppa_elf_rebuild_insn): Delete. Moved into libhppa.h. + (elf_hppa_tc_symbol): Accept and use new arguments (symext chains). + (elf_hppa_tc_make_sections): Likewise. + + * format.c (bfd_check_format_matches): Initialize matching_vector + to keep gcc -Wall quiet. + + * elfcode.h (elf_slurp_reloca_table): Fix typo. + + * som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)" + not "sizeof (som_symbol_type *)". + + * elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)" + not "sizeof (asymbol"). Opps. + +Fri Feb 25 13:19:04 1994 Ted Lemon (mellon@pepper.ncd.com) + + * bfd.c (bfd_get_gp_size): Can't return gp value on an archive. + (bfd_set_gp_size): Can't set gp value on an archive. + +Fri Feb 25 12:57:00 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * srec.c (pass_over): Don't skip too many characters when + end of line seen. + +Fri Feb 25 11:41:57 1994 Ian Lance Taylor (ian@cygnus.com) + + * ecoff.c (ecoff_sizeof_headers): Align result to 16 byte + boundary. + +Thu Feb 24 07:13:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_derive_misc_symbol_info): Derive symbol_info + field for absolute symbols in the same manner as undefined + and common symbols. + +Thu Feb 24 04:29:19 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * elfcode.h (elf_core_file_p): Check for core file e_machine match + like in elf_object_p. + +Wed Feb 23 18:28:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * elfcode.h (alloca): Delete declaration. + + * som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic + number rather than HP9000S800_ID. Note som.c is careful + to make sure CPU_PA_RISC1_0 is always defined. + +Mon Feb 21 10:12:02 1994 Stan Shebs (shebs@andros.cygnus.com) + + * Makefile.in (targets.o, archures.o): Use ALL_CFLAGS to supply + flags to explicit compile actions. + +Mon Feb 21 09:50:06 1994 Ian Lance Taylor (ian@lisa.cygnus.com) + + * ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here. + * ecoff.c (ecoff_write_object_contents): Make sure .bss section + ends on a page boundary if there is no symbol table. + (ecoff_bfd_final_link): Don't set symhdr->magic here. + + * hosts/hp300.h: Include <stdlib.h>; don't declare free. + + * som.c (som_bfd_count_ar_symbols): Use a pointer and alloca + rather than an array of variable size. + (som_bfd_fill_in_ar_symbols): Likewise. + (som_bfd_ar_write_symbol_stuff): Likewise. + + * coff-alpha.c (alpha_relocate_section): Rewrite mask and shift + operation to avoid OSF 1.3 cc bug. + * ecoff.c (ecoff_write_object_contents): Make text_size, data_size + and bss_size bfd_size_type instead of unsigned long. Make + text_start and data_start bfd_vma instead of unsigned long. + * ecofflink.c (ecoff_add_string): Remove incorrect cast of return + value. + +Sun Feb 20 16:06:54 1994 Ian Lance Taylor (ian@lisa.cygnus.com) + + * linker.c (_bfd_generic_link_add_archive_symbols): Consider + symbols in the order they appear in the archive map. + +Sat Feb 19 03:17:32 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * coff-alpha.c (reloc_nil): Add forward declaration, add missing + error_message argument. + * coff-sparc.c (bfd_coff_generic_reloc): Add forward declaration, + add missing error_message argument. + * mipsbsd.c (mips_fix_hi16_s): Add forward declaration, add missing + error_message argument. + +Fri Feb 18 11:41:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Support for PowerPC NetWare. + * nlm32-powerpc.c: New file. + * config.bfd (powerpc-*-netware*): New target; use ppc-nlm. + * config/ppc-nlm.mt: New file. + * configure.in (nlm32_powerpc_vec): New target vector; use + nlm32-powerpc.o, nlm32.o, nlm.o. + * targets.c (nlm32_powerpc_vec): Declare. + * Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o. + (CFILES): Add nlm32-powerpc.c. + + Initial support for PowerPC ELF. Done without an ABI, and + probably to be changed when I get an ABI. + * config.bfd (powerpc-*-sysv4*): New target; use ppc-elf. + * config/ppc-elf.mt: New file. + * configure.in (bfd_elf32_powerpc_vec): New target vector; use + elf32-powerpc.o, elf32.o, elf.o. + * elf32-powerpc.c: New file. + * elfcode.h (prep_headers): Add bfd_arch_powerpc case. + (elf_set_arch_mach): Likewise. + * targets.c (bfd_elf32_powerpc_vec): Declare. + * Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o. + (CFILES): Add elf32-powerpc.c. + Rebuilt dependencies. + +Thu Feb 17 15:29:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffgen.c (coff_write_linenumbers): Always return a value. + + * elfcode.h (elf_slurp_symbol_table): Handle zero symbols + reasonably. Allocate x_symp using alloca. + + * elfcode.h (map_program_segments): ELF program header entries + must be sorted by load address. This used to generate the entries + in reverse order. + + * section.c (SEC_IN_MEMORY): Define. + (asection): Rename unused field otheruserdata to contents, and + make it char *. + (bfd_make_section_anyway): Initialize contents field to NULL. + (bfd_get_section_contents): If SEC_IN_MEMORY is set, get section + contents from contents field rather than from file. + * bfd-in2.h: Rebuilt. + +Thu Feb 17 08:30:53 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * bfd.c (bfd_get_error, bfd_set_error): New functions. + (bfd_error): Make static. + (bfd_error_type): Renamed from bfd_ec. Prepend "bfd_error_" to + all values. + * bfd-in2.h: Regenerated. + * aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h, + aoutf1.h, aoutx.h, archive.c, archures.c, + bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c, + coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c, + ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c, + elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c, + i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c, + lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c, + nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c, + ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c, + srec.c, sunos.c, syms.c, targets.c, tekhex.c, + trad-core.c: Change callers. + +Tue Feb 15 22:27:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c: Remove FIXMEs for things which have been dealt with. + +Tue Feb 15 19:39:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * section.c (bfd_get_section_contents): Since this function reads + unrelocated contents, the section's raw size is always the one to + use for bounds checking. + + * linker.c (default_indirect_link_order): In assertion, compare + link_order size field against cooked size, not raw size, of input + section. + + * bout.c (b_out_get_reloc_upper_bound): For BSS section, just + return 0. + (aligncode): When shrinking, the addend should be set to the + current offset in the section plus the number of bytes of padding + that will actually be retained. + (b_out_relax_section): If a section contains no relocations, don't + bother processing them. + (b_out_get_relocated_section_contents): Set reloc_done. Assert + that bfd_get_section_contents returns true. Check that relocs are + properly ordered. + (b_out_get_relocated_section_contents, case ALIGNDONE): Assert + that reloc->addend falls between the current source offset and the + raw size of the input section. + + * config.bfd: Support i960 vxworks versions > 5.0 with coff, not + bout. Default with no version number is still bout. Support + explicit i960-coff target too. + + * bout.c: Changed some indentation, deleted trailing whitespace, + fixed some comments, removed some "#if 1" lines. + (output_addr): New macro. + (calljx_callback, callj_callback, get_value, abs32code, aligncode, + b_out_get_relocated_section_contents): Use it for readability. + +Tue Feb 15 09:00:16 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_prep_for_ar_write): Iterate through the SOM + symbols, not the BFD symbols. + (som_bfd_ar_write_symbol_stuff): Likewise. + +Mon Feb 14 22:55:20 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_slurp_symbol_table): Do not die if a BFD doesn't + have any symbols. + + * Finish basic read-write support for SOM archive libraries. Bugs + surely remain as this hasn't been tested all that much. + * som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define. + (struct som_misc_symbol_info): New structure to hold info necessary + to build both normal and library symbol tables. + (som_derive_misc_symbol_info): New function to derive info necessary + to build both normal and library symbol tables. + (som_build_and_write_symbol_table): Use new function to derive misc + symbol information. + (som_slurp_symbol_table): Update backend private data for symbols + appropriately. + (som_bfd_prep_for_ar_write): New function. + (som_bfd_ar_symbol_hash): New function. + (som_bfd_ar_write_symbol_stuff): New function. + (som_write_armap): Flesh out. + (som_vec): Fix ar padding character. + + * som.c: Consistently use memset rather than bzero. + +Mon Feb 14 17:02:28 1994 Stu Grossman (grossman at cygnus.com) + + * coff-rs6000.c: Add Lynx core file support, use HOST_AIX, where + appropriate. + * rs6000-core.c: Use HOST_AIX instead of COREFILES_PLEASE. + * config/rs6000.mh: Remove defs of ARCHIVES_PLEASE and + COREFILES_PLEASE. + * config/rs6000lynx.mh: Turn on Lynx core file support. + * hosts/rs6000.h: #define HOST_AIX. + * hosts/rs6000lynx.h: Create this to enable Lynx host support. + +Sun Feb 13 14:30:00 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.h (som_symbol_data): Safely access backend private data + for BFD symbols. All callers changed. + + * Read-only SOM archive support. + * som.c (som_bfd_count_ar_symbols): New helper function. + (som_bfd_fill_in_ar_symbols): New helper function. + (som_slurp_armap): New function to read a SOM LST. + + * som.h: Include <lst.h> and <ar.h>. + +Sat Feb 12 22:34:14 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * elfcode.h (elf_map_symbols): Fix typo. + (write_object_contents): Check return values from prep_headers and + elf_compute_section_file_positions. + (set_section_contents): Likewise. + +Fri Feb 11 16:56:50 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * archive.c (normalize) [VMS]: Call malloc, not bfd_xmalloc. + (bfd_construct_extended_name_table): Check result of normalize. + +Tue Feb 8 08:57:31 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + Make all callers of malloc or realloc (including via obstacks) + check the result for NULL. Most set bfd_error to no_memory and + return in that case; a few are harder to fix, and are marked + with "FIXME <return type>". + + * elf32-hppa.c (hppa_elf_build_arg_reloc_stub + hppa_elf_build_long_branch_stub): Check bfd_make_empty_symbol return. + * linker.c (_bfd_generic_link_output_symbols + _bfd_generic_link_write_global_symbol): Ditto + * section.c (bfd_make_section_anyway): Ditto. + + * tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc. + (first_phase): Ditto. FIXME void + (tekhex_make_empty_symbol): Check bfd_zalloc. + + * sunos.c (sunos_read_dynamic_info): Check bfd_zalloc. + (MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc. + + * stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate. + + * srec.c: Indent. + (fillup_symbols): Check bfd_alloc. FIXME void + (srec_mkobject srec_get_section_contents + srec_set_section_contents): Check bfd_alloc. + (srec_make_empty_symbol): Check bfd_zalloc. + + * som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t. + (make_unique_section): Check bfd_alloc. + (som_new_section_hook): Check bfd_zalloc. + (bfd_som_attach_aux_hdr): Ditto. FIXME void + + * rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc. + + * osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc. + (osf_core_core_file_p): Check bfd_alloc. + + * oasys.c (oasys_slurp_symbol_table oasys_archive_p + oasys_mkobject oasys_object_p oasys_new_section_hook + oasys_set_section_contents): Check bfd_alloc. + (oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc. + (oasys_make_empty_symbol): Check bfd_zalloc. + + * nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc. + (nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc. + + * nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc. + + * nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc. + + * nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc. + + * linker.c (_bfd_link_hash_newfunc + (generic_link_hash_newfunc + (archive_hash_newfunc + (_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate. + (_bfd_generic_final_link + (_bfd_generic_link_output_symbols + (default_indirect_link_order): Check bfd_alloc. + (bfd_new_link_order): Check bfd_alloc_by_size_t. + + * irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc. + + * ieee.c: Indent. + (read_id get_symbol get_section_entry ieee_archive_p ieee_object_p + ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc. + (do_one): Check bfd_alloc. Return a boolean. + (ieee_slurp_section_data): Check it. + (init_for_output): Check bfd_alloc. Return a boolean. + (ieee_set_section_contents): Check it. + (do_with_relocs): Check bfd_alloc. Return a boolean. + (ieee_bfd_debug_info_accumulate): Ditto. FIXME void. + (ieee_mkobject): Check bfd_zalloc. + (ieee_make_empty_symbol): Check bfd_zmalloc. + + * hpux-core.c (hpux_core_make_empty_symbol): Check + bfd_zalloc. + + * hppabsd-core.c (hppabsd_core_make_empty_symbol): Check + bfd_zalloc. + (hppabsd_core_core_file_p): Check bfd_zalloc. + + * hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc. + + * elfcode.h (elf_new_section_hook): Check bfd_alloc. + (bfd_section_from_phdr): Ditto. + (write_relocs): Ditto. FIXME void + (elf_map_symbols assign_section_numbers map_program_segments): + Ditto. Return a boolean. + (swap_out_syms): Ditto. Check elf_map_symbols. + (elf_slurp_symbol_table): Check bfd_zalloc. + (elf_slurp_reloca_table): Check bfd_alloc. + (elf_slurp_reloc_table): Ditto. + (elf_compute_section_file_positions): Check assign_section_numbers. + (assign_file_positions_except_relocs): Return a boolean. + Check map_program_segments. + (elf_compute_section_file_positions): Check it. + + * elf32-mips.c (mips_elf_final_link): Check bfd_alloc. + + * elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and + realloc. + (hppa_elf_stub_reloc): Ditto. + (hppa_elf_build_arg_reloc_stub): Check bfd_zalloc. + (hppa_elf_build_long_branch_stub): Ditto. + (elf32_hppa_backend_symbol_table_processing): Ditto. + + * ecoff.c (ecoff_set_symbol_info): Check bfd_alloc. Return a boolean. + (ecoff_slurp_symbol_table): Check it. + (ecoff_slurp_armap): Check bfd_alloc. + (ecoff_write_armap): Check bfd_zalloc. + (ecoff_link_hash_newfunc): Check bfd_hash_allocate and + _bfd_link_hash_newfunc. + (ecoff_link_add_externals): Check bfd_alloc. + + * ctor.c (bfd_constructor_entry): Check bfd_alloc. + + * coffgen.c (coff_real_object_p): Check bfd_alloc. + (coff_renumber_symbols): Check bfd_alloc_by_size_t. Return a boolean. + (coff_write_symbol): Check bfd_alloc. FIXME int + (coff_write_linenumbers): Check bfd_alloc. Return a boolean. + (coff_section_symbol): Check bfd_alloc_by_size_t. + (coff_get_normalized_symtab): Check bfd_alloc. + (coff_bfd_make_debug_symbol): Check bfd_zalloc. + * libcoff-in.h: Change decls of coff_renumber_symbols, + coff_write_linenumbers. + * libcoff.h: Rebuilt. + * coffcode.h (coff_write_object_contents): Check + coff_renumber_symbols, coff_write_linenumbers. + + * coffcode.h: Indent. + (coff_add_missing_symbols): Check bfd_alloc_by_size_t. Return a + boolean. + (coff_write_object_contents): Check it. + + * coff-alpha.c (alpha_relocate_section): Check bfd_alloc. + * coff-mips.c (mips_relocate_section): Ditto. + + * archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value. + (do_slurp_bsd_armap): Ditto. + (compute_and_write_armap): Check bfd_realloc value. + + * aoutx.h (translate_from_native_sym_flags): Check bfd_alloc + return value. Return boolean value. + (NAME(aout,make_empty_symbol)): Check bfd_zalloc return value. + (NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc + return value. + (add_to_stringtab): Ditto. FIXME void + (aout_link_hash_newfunc): Check bfd_hash_allocate return value. + (aout_link_add_symbols): Check bfd_alloc value. + (translate_symbol_table): Check translate_from_native_sym_flags. + * hp300hpux.c (MY(slurp_symbol_table)): Ditto. + * aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc. + + * opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc. + + * opncls.c (obstack_chunk_alloc): Define as malloc, not + bfd_xmalloc_by_size_t. + (_bfd_new_bfd): Check obstack_begin for 0 return. + + * ieee.c (obstack_chunk_alloc): Define as malloc, not + bfd_xmalloc_by_size_t. + (ieee_archive_p): Check obstack_begin for 0 return and + obstack_finish for NULL return. + + * hash.c (obstack_chunk_alloc): Define as malloc, not + bfd_xmalloc_by_size_t. + (bfd_hash_table_init_n): Check obstack_begin for 0 return and + obstack_finish for NULL return. + (bfd_hash_lookup): Check obstack_alloc for NULL return. + + * ecofflink.c (obstack_chunk_alloc): Define as malloc, not + bfd_xmalloc_by_size_t. + bfd_ecoff_debug_accumulate + bfd_ecoff_debug_accumulate_other): Check obstack_alloc. + (add_file_shuffle add_memory_shuffle): Check obstack_alloc for + NULL return. Return boolean, not void. + (bfd_ecoff_debug_init): Check obstack_begin for 0 return. + (bfd_ecoff_debug_accumulate): Check add_file_shuffle + and add_memory_shuffle return. + (string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc. + (bfd_ecoff_debug_accumulate): Check bfd_alloc. + (ecoff_add_string): Check add_memory_shuffle return. + + * libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t): + Remove decls. + * libbfd.h: Rebuilt. + +Fri Feb 11 15:35:32 1994 Stu Grossman (grossman at cygnus.com) + + * configure.host: Add Lynx/rs6000 support. + * config/i386-nlm.mt: Enable a.out file support. + * config/rs6000lynx.mh: Lynx/rs6000 host support. + +Fri Feb 11 17:25:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * archive.c (compute_and_write_armap): Rewrite somewhat to improve + memory usage. + +Fri Feb 11 13:10:42 1994 Stan Shebs (shebs@andros.cygnus.com) + + * archive.c: Change all references to '\n' in archive magic + to '\012', for greater portability. + * ecoff.c (ecoff_write_armap): Ditto. + +Thu Feb 10 12:58:48 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (aout_link_write_other_symbol): Check strip settings to + see whether symbol should be output. + * genlink.h (struct generic_write_global_symbol_info): Added info + field. + * linker.c (_bfd_generic_final_link): Initialize wginfo.info. + (_bfd_generic_link_write_global_symbol): Check strip settings to + see whether symbol should be output. + * elf32-mips.c (mips_elf_final_link): Initialize wginfo.info. + +Wed Feb 9 21:34:58 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_reloc_queue_find): Do not examine a NULL queue entry. + + * som.c: Cast return values from BFD memory allocation routines to + avoid warnings from the HP compiler. + +Wed Feb 9 12:55:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-alpha.c (alpha_relocate_section): Accept a LITERAL + reloc on an "ldl" instruction too. + + * archive.c (bfd_ar_hdr_from_filesystem): Cast status elements + when passing them to sprintf. Use %ld instead of %d. + + * coff-rs6000.c (rs6000coff_mkarchive): Return false. + (rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used. + Also removed unused variable namelen. + (rs6000coff_write_armap): Declare orl_count and stridx parameters. + +Tue Feb 8 18:00:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libbfd-in.h (xmalloc): Don't declare parameter type, to avoid + conflicts. + * libbfd.h: Rebuilt. + +Tue Feb 8 15:55:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * coff-alpha.c (reloc_nil): New function. + (alpha_howto_table): Use it as special_function to prevent certain + relocs from being adjusted by bfd_perform_relocation. IGNORE + reloc should be partial_inplace. + (alpha_ecoff_get_relocated_section_contents): Accept a LITERAL + reloc on an "ldl" instruction too. + +Tue Feb 8 00:32:28 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub, + hppa_elf_build_long_branch_stub): Cast to char * instead of int + before performing pointer arithmetic. + +Mon Feb 7 20:56:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this + configuration. + (hppa*-*-*elf*): This configuration used hppa-elf now. + + * som.c: This file is also used for HOST_HPPAOSF. + + * targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF. + + * hosts/hppaosf.h: New host configuration file. + + * config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as + BSD handles both SOM and ELF object files. + + * config/hppaosf.mh (HDEFINES): Delete. No longer needed. + (RANLIB): Doesn't do anything, define it to be "echo". + + * config/hppaosf.mt: New target makefile fragment for a PA running + OSF1. + +Mon Feb 7 15:02:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * archures.c (enum bfd_architecture): Added bfd_arch_powerpc. + (archures_init_table): If SELECT_ARCHITECTURES is not defined, + added bfd_powerpc_arch. + * bfd-in2.h: Rebuilt. + * cpu-powerpc.c: New file. + * Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c. + Rebuilt dependencies. + + * elfcode.h (bfd_section_from_shdr): Get vma and alignment_power + of an SHT_STRTAB section from sh_addr and sh_addralign, rather + than just setting them to zero. + +Sun Feb 6 20:04:10 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * elfcode.h (prep_headers, swap_out_syms): Check for NULL return + from bfd_new_strtab. + (elf_compute_section_file_positions): Check for false return from + swap_out_syms. + + * linker.c (default_indirect_link_order): Check for NULL return + from bfd_get_relocated_section_contents. + + * syms.c: Make example application in doc call xmalloc, not + bfd_xmalloc. + + * aoutx.h (NAME(aout,slurp_symbol_table), + aout_link_get_symbols, NAME(aout,link_hash_table_create)): + * bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs): + * ecoff.c (ecoff_bfd_link_hash_table_create): + * ecofflink.c (bfd_ecoff_debug_init): + * format.c (bfd_check_format_matches): + * linker.c (_bfd_generic_link_hash_table_create): + (_bfd_generic_final_link): + * reloc16.c (bfd_coff_reloc16_relax_section): + (bfd_coff_reloc16_get_relocated_section_contents): + * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): + * elf32-mips.c (mips_elf_final_link): + * elfcode.h (bfd_new_strtab): + (bfd_add_2_to_strtab): + (elf_slurp_symbol_table): + (elf_corefile_note): + * libbfd.c (bfd_zmalloc): + Use malloc and check the result, instead of bfd_xmalloc. + +Sat Feb 5 12:39:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*. + +Sat Feb 5 05:32:44 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * srec.c (srec_write_record): Put CONST keyword for "src" before + "unsigned", some compilers don't like it after "unsigned". + * libcoff.h, libcoff-in.h (bfd_perform_slip): Rename "value" to + "val" in prototype declaration because some compilers don't like + arguments whose names are the same as types. + +Sat Feb 5 01:14:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (aout_link_check_ar_symbols): Correct test for whether + object file defines symbol. Also, if skipping a symbol, skip the + second symbol of a N_WARNING or N_INDR symbol as well. + +Fri Feb 4 23:55:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Add basic support for writing RS/6000 XCOFF files. + * coff-rs6000.c (dummy_reloc): Removed. + (rs6000coff_howto_table): Defined XCOFF relocs. + (RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto. + (rs6000coff_rtype2howto): New function. + (coff_bfd_reloc_type_lookup): Defined to use + rs6000coff_reloc_type_lookup. + (rs6000coff_reloc_type_lookup): New function. + (SELECT_RELOC): Defined to set r_type and r_size fields. + (COFF_LONG_FILENAMES): Defined. + * coffcode.h (combined_entry_type): Changed fix_tag and fix_end + fields to bitfields. Added fields fix_value and fix_scnlen. + (sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than + STYP_INFO for the type of a section named .debug. + (coff_add_missing_symbols): Don't define if RS6000COFF_C. + (coff_write_object_contents): If RS6000COFF_C, don't call + coff_add_missing_symbols. + (coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux + entry has type STY_LD change the x_scnlen into a pointer to a + symbol and set fix_scnlen. Also, for a C_BSTAT symbol, change the + value into a pointer to a symbol and set fix_value. + * libcoff.h: Rebuilt. + * coffgen.c (coff_mangle_symbols): Reindent. If fix_value is set, + get the symbol offset. Likewise for fix_scnlen. + (string_size): Change type to bfd_size_type. + (debug_string_size, debug_string_section): New static variables. + (coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true, + write the symbol name into the .debug section; assume that the + section has already been created with the right size. + (coff_write_symbols): Initialize debug_string_size to 0. If + bfd_coff_symname_in_debug returns true, don't put symbol name in + usual string table. After writing out all symbols, if + debug_string_size is not 0, check that it matches the size of the + .debug section. + (coff_get_normalized_symtab): Clear new fix_value and fix_scnlen + fields. If the string offset is 0, always use an empty string as + the name. + (coff_make_empty_symbol): Zero out the symbol structure. + * reloc.c (bfd_perform_relocation): Work around one gross hack + with another: actually look at the target name to avoid the broken + COFF check. + (bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26, + BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16. + * bfd-in2.h: Rebuilt. + +Fri Feb 4 17:28:32 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc. + (bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted. + * libbfd-in.h: Define them as macros calling xmalloc and declare + xmalloc. + * libbfd.h: Rebuilt. + +Thu Feb 3 16:49:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecofflink.c (bfd_ecoff_debug_externals): If a small undefined + symbol has a value in the ECOFF symbol but not in the BFD symbol, + keep the value in the ECOFF symbol. This helps gas. + + * linker.c (_bfd_generic_link_output_symbols, + _bfd_generic_link_write_global_symbol): Don't require that all + references to a common symbol be themselves common symbols. + + * aoutx.h (aout_reloc_index_to_section): Handle N_UNDF. + +Wed Feb 2 20:37:19 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h, + sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT. + * bfd-in2.h: Rebuilt. + +Wed Feb 2 12:30:13 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type + and size correctly. + (coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to + x_csect.x_scnlen.l to match change in coff/internal.h. + (coff_swap_aux_out): Likewise. + + * coff-mips.c (mips_ecoff_backend_data), coff-alpha.c + (alpha_ecoff_backend_data): Change casts of aux_in and aux_out + fields to match yesterday's changes. + + * coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass + in the internal_reloc itself, not the type. + * coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c, + coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed + definition of SELECT_RELOC accordingly. + +Tue Feb 1 12:05:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffcode.h (bfd_coff_backend_data): Added new arguments to + _bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number + and number of aux entries. + (bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed + accordingly. + * libcoff.h: Rebuilt. + * coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new + arguments. If RS6000COFF_C, only treat C_EXT and C_HIDEXT + specially if this is the last aux entry. + * coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass + new arguments to swap_aux functions. + +Sun Jan 30 15:14:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros + (only testing for m68k and vax at the moment); do verify that the + preprocessor didn't trash the arch name inside the string version. + Don't print out "pagesize =" line that prevents output from + compiling. Derive BYTES_IN_WORD and ARCH values from sizeof + results. + * Makefile.in (aout-params.h): Pass gen-aout a dummy target name. + (check, installcheck): Identify directory in "no testsuites" + message. + +Sun Jan 30 13:25:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (aout_link_write_symbols): Write out correct value for + object file symbol. + +Fri Jan 28 18:34:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define + KERNBASE, so hard-code 0x80000000 instead. + +Thu Jan 27 13:54:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * linker.c (generic_link_add_symbol_list): If symbol is common, + set the BSF_OLD_COMMON flag. + +Wed Jan 26 13:47:15 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * format.c (bfd_check_format_matches): Put the new entry in the + correct element of matching_vector. + +Tue Jan 25 11:43:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * som.c, som.h (bfd_som_set_section_attributes, + bfd_som_set_subsection_attributes): Change parameters from char + to int. Following a prototype with an old-style function definition + in the presence of widened parameters is a GCC-ism not supported + by the HP compiler in ANSI mode. + +Tue Jan 25 11:46:46 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2. + + * hp300hpux.c (MY(write_object_contents)): Write out the symbols + before writing out the relocs, so that the right symbol indices + are used. + + * archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not + try to overlay the internal carsyms on the external symdefs. That + can not work if the size of a host pointer is larger than 4 bytes. + + * format.c (bfd_check_format_matches): Cast result of + bfd_xmalloc_by_size_t. + * opncls.c (_bfd_new_bfd): Avoid ANSI C prototype. + + * archive.c: Reindented to GNU standards. + +Mon Jan 24 14:41:23 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add + "_bfd_" to function names. + * archive.c (_bfd_create_empty_archive_element_shell), + libbfd-in.h: Change callers. + + * libbfd.c (bfd_zmalloc): Renamed from zalloc. + * libbfd.c (bfd_add_to_string_table), + trad-core.c (trad_unix_core_file_p), + targets.c (bfd_target_list), + ptrace-core.c (ptrace_unix_core_file_p), + opncls.c (new_bfd), libbfd-in.h, + ieee.c (ieee_make_empty_symbol), + elf32-hppa.c (hppa_elf_stub_branch_reloc), + (hppa_elf_stub_reloc): Change callers. + * libbfd.h: Regenerated. + + * archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name. + (_bfd_get_elt_at_filepos), + coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h: + Change callers. + + * format.c (bfd_check_format_matches), libbfd-in.h, targets.c, + elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector + and default_vector to bfd_default_vector. + * libbfd.h: Regenerated. + + * format.c (bfd_check_format_matches): New function. + (bfd_check_format): Call it. + (bfd_matching_formats): Function removed. + * targets.c: Replace the vector added on Jan 21 with a count of + entries in default_vector. + * bfd-in2.h: Regenerated. + +Mon Jan 24 12:38:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-alpha.c (alpha_ecoff_object_p): New function. Set size of + .pdata section based on lnnoptr field, not section header. + (alpha_relocate_section): Don't bother to check if r_symndx >= 0, + since it is unsigned. + (ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than + coff_object_p. + * ecoff.c (ecoff_new_section_hook): Set alignment_power field of + .pdata section to 3. + (ecoff_compute_section_file_positions): Save the size of the + .pdata section in the line_filepos field, and actually align the + .pdata section to an alignment power of 4. + (ecoff_compute_reloc_file_positions): Set output_has_begun after + calling ecoff_compute_section_file_positions. + (ecoff_write_object_contents): Set s_lnnoptr for the .pdata + section from the line_filepos field. Set vstamp for the optional + header from the vstamp of the symbolic header. + (ecoff_bfd_final_link): Set vstamp of the symbolic header to the + vstamp used by the first object file in the link. + + * ecofflink.c (ecoff_align_debug): Align RFDs to debug_align. + + * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag + for a created common section. + (_bfd_generic_link_add_one_symbol): Likewise. + + * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to + get the index of a common section, rather than always using + SHN_COMMON (MIPS has multiple common sections). + + * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =). + + * bfd/aoutx.h (aout_link_input_section_std, + aout_link_input_section_ext): Pass additional arguments to + reloc_overflow callback. + * coff-alpha.c (alpha_ecoff_get_relocated_section_contents, + alpha_relocat_section): Likewise. + * coff-h8300.c (h8300_reloc16_extra_cases): Likewise. + * coff-h8500.c (extra_case): Likewise. + * coff-mips.c (mips_relocate_section): Likewise. + * coff-z8k.c (extra_case): Likewise. + * elf32-hppa.c (hppa_elf_stub_finish): Likewise. + * reloc.c (bfd_generic_get_relocated_section_contents): Likewise. + + * bout.c (calljx_callback, callj_callback): Use get_value to get + the symbol value and check for undefined symbols. + (get_value): If the symbol is undefined, look it up in the linker + hash table. + (b_out_get_relocated_section_contents): For PCREL24 and PCREL13 + use get_value to get the symbol value and check for undefined + symbols. + * reloc16.c (bfd_coff_reloc16_get_value): If the symbol is + undefined, look it up in the linker hash table. + + * aoutx.h (translate_symbol_table): The string index 0 has a + special meaning for normal symbols, but not for dynamic symbols. + +Sat Jan 22 12:26:01 1994 Stu Grossman (grossman at cygnus.com) + + * sparclynx.c: Setup appropriate macros to enable core file + support. + +Fri Jan 21 16:25:35 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * targets.c: Add a vector of matching format names. + * format.c (bfd_matching_formats): New function to return it. + (bfd_check_format): Set it. + * bfd-in2.h: Regenerated. + + * bfd-in.h: Remove decls of bfd_ec type and error printing functions. + Remove decl of type symclass; wasn't used. + * bfd.c: Document error handling, including code fragments + containing the error decls that were in bfd-in.h. + Remove DEFUNs. + * bfd-in2.h: Regenerated. + +Fri Jan 21 14:11:16 1994 Sean Fagan (sef@cygnus.com) + + * nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c: + The sparc (and possibly other?) NLM format requires a different + way to write exports, so add a write_export field to the backend + data (and set it to NULL for everything but the sparc). + +Fri Jan 21 14:11:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL, + not (struct external_nlist *) NULL. info->dynrel is a PTR, not + a struct external_nlist *. + +Fri Jan 21 09:29:01 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * bfd.c: Remove error strings for errors removed below. + * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec), + oasys.c (oasys_write_sections): Rename + bfd_error_nonrepresentable_section to nonrepresentable_section. + None of the other bfd error names start with "bfd_error". + Remove errors symbol_not_found and no_relocation_info, which seem + to be unused. + * bfd-in2.h: Regenerated. + +Fri Jan 21 01:11:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd.c (bfd_get_gp_size): Added support for ELF. + + * syms.c (BSF_DYNAMIC): New symbol flag. + (bfd_print_symbol_vandf): Print it. + * bfd-in2.h: Rebuilt. + * libaout.h (struct aout_backend_data): New read_dynamic_symbols + and read_dynamic_relocs fields. + (struct aoutdata): New dynamic_info field. + (obj_aout_dynamic_info): New accessor macro. + * sunos.c (struct sunos_dynamic_info): New structure. + (sunos_read_dynamic_info, MY(read_dynamic_symbols), + MY(read_dynamic_relocs)): New functions to read dynamic symbols + and relocs. + * aoutx.h (NAME(aout,some_aout_object_p)): If the object is + dynamically linked, set SEC_RELOC for both the .text and .data + sections. + (translate_from_native_sym_flags): Don't set BSF_LOCAL for an + undefined symbol. + (translate_symbol_table): New function, split out of + slurp_symbol_table; set the BSF_DYNAMIC flag appropriately. + (NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any. + (NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any. + (NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in + return value. + * aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write + out dynamic symbols or relocs against reloc symbols, since they + are already in the .text section and we wouldn't know where to + write them anyhow. + (sunos4_aout_backend): Initialize read_dynamic_symbols and + read_dynamic_relocs fields. + * aout-target.h (MY(backend_data)): Initialize + read_dynamic_symbols and read_dynamic_relocs fields. + +Thu Jan 20 20:57:27 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete + typedefs, since HOST_64_BIT will take care of defining them in + bfd.h. + +Wed Jan 19 17:28:59 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here; + that's dealt with elsewhere. + * hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros. + (uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so + they get copied to bfd.h. + + * reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation + types. Reorganized some of the existing ones. + * coff-alpha.c (alpha_howto_table): Construct 64-bit negative one + values in case of compilation on a 32-bit machine. Fix pcrel + fields of some reloc types. + (alpha_bfd_reloc_type_lookup): Handle more relocation types. + + * bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default + definitions when not defined, regardless of whether uint64_type is + a defined macro or not. + (fprintf_vma, sprintf_vma): Define only if fprintf_vma is not + already defined. + +Wed Jan 19 00:02:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (translate_to_native_sym_flags): Set the type of a + BSF_WARNING symbol to N_WARNING. + +Tue Jan 18 16:43:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p + for an indirect or warning symbol. + (aout_link_write_symbols): Update sym_hash with the target of an + indirect or warning symbol. If an indirect symbol is defined, + output the calculated value and don't output the target symbol. + +Tue Jan 18 03:54:59 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (translate_from_native_sym_flags): Give warning symbols + an (unused) nonzero section value, needed for check below. + +Mon Jan 17 15:12:07 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (translate_from_native_sym_flags, + aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like + N_SET[ABDT]. + +Fri Jan 14 16:45:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set + the DYNAMIC flag for the BFD. + (NAME(bfd_elf,write_object_contents)): Don't try to write out a + BFD with the DYNAMIC flag set, since we don't generate the program + header table correctly. + +Fri Jan 14 01:04:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * elfcode.h (elf_slurp_symbol_table): Free x_symp at the end + of the function to avoid storage leak. + +Thu Jan 13 23:07:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_link_write_external): An ifd can be -1. + +Thu Jan 13 12:33:27 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_set_reloc_info): Provide a default symbol for + relocations which don't actually have an associated symbol. + + * som.c (hppa_som_reloc): Add new "error message" argument. + +Wed Jan 12 13:36:43 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + Enable gdb to write to core files on more core file readers. + * libbfd.c (bfd_generic_set_section_contents): Remove range check + for section size, it is already done in bfd_set_section_contents + with bfd_get_section_size_now. + * aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c, + osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents): + Use bfd_generic_set_section_contents instead of bfd_false. + +Wed Jan 12 15:31:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * linker.c: Added initial documentation. + + * linker.c (default_indirect_link_order): Don't expect space for + output relocations if there aren't any input relocations. + +Tue Jan 11 14:37:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (NAME(aout,final_link)): Set a_entry before computing + file offsets. + + * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not + STT_NOTYPE. + +Tue Jan 11 09:10:56 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Use ELF, not COFF for m88*-*-dgux*. + Combine m88k-*-* and m88110-*-* cases into m88*-*-*. + +Tue Jan 11 00:07:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecofflink.c: Extensive changes to compress and merge debugging + information, and to write some of out directly rather than saving + it in memory. Several new functions and structures, and new + arguments to existing functions. + * ecoff.c (ecoff_compute_reloc_file_positions): Compute + sym_filepos as well. + (ecoff_get_extr): Use ifdmap instead of ifdbase. + (ecoff_write_object_contents): Don't compute sym_filepos here. + Only output symbols if outsymbols is not NULL. + (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and + bfd_ecoff_debug functions. Write out debugging information here. + (ecoff_final_link_debug_accumulate): Adjust for changes in + bfd_ecoff_debug functions. + (ecoff_link_write_external): Use ifdmap rather than ifdbase. + * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols + first, to put them in the first memory buffer. Clear fdr field. + (mips_elf_get_extr): Use pointer to unswapped external symbol. + (mips_elf_final_link): Adjust for changes in bfd_ecoff functions. + Preserve .text, .data and .bss even if they are empty. Save + pointer to unswapped external symbol rather than copying it. + Don't free up the external symbols. + * libelf.h (elf_symbol_type): Change mips_extr to PTR. + * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare. + (bfd_ecoff_debug_accumulate): Update declaration. + (bfd_ecoff_debug_accumulate_other): Rename declaration from + bfd_ecoff_debug_link_other and update. + (bfd_ecoff_write_accumulated_debug): Declare. + * bfd-in2.h: Rebuilt. + * Makefile.in: Rebuilt dependencies. + +Mon Jan 10 20:46:53 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (install): Remove "@" which follows a backslash. In + this position it just causes errors, not suppresses echoes. + +Mon Jan 10 09:06:21 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT + field selectors. + +Sun Jan 9 04:32:25 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec. + +Fri Jan 7 10:27:27 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * aoutx.h (adjust_z_magic): Don't merge the start of bss with the + end of data if they are not contiguous. + + * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings. + +Fri Jan 7 15:40:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag + for .reginfo section here. + (ecoff_new_section_hook): Set it here instead. + +Fri Jan 7 10:29:27 1994 Stan Shebs (shebs@andros.cygnus.com) + + * bfd-in.h: (bfd_boolean): Add workaround for systems that also + define true and false as enums. + (ALMOST_STDC): Add as alternative to __STDC__. + * bfd-in2.h: Rebuilt. + * syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*. + +Thu Jan 6 14:24:44 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (translate_to_native_sym_flags): Catch the case where + there is no output section. + +Thu Jan 6 14:37:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlmcode.h (nlm_object_p): If we can't read the fixed header, + count it as a wrong format error, not a system call error, since + the object file might simply be too small. + + * targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef + BFD64. + * Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o. + (BFD64_BACKENDS): Add nlm32-alpha.o. It depends on 64 bit + support, even though it is for an Alpha in 32 bit mode. + * configure.in (nlm32_alpha_vec): Set target64 to true. + + * nlm32-gen.c, nlm64-gen.c: Removed. All nlm targets are + different, so there is no point to providing a generic one. + * libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL + in the backend accessor macros; that should no longer be possible. + * targets.c (target_vector): Removed nlm32_big_generic_vec, + nlm64_big_generic_vec, nlm64_little_generic_vec. + * configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec, + nlm64_big_generic_vec, nlm64_little_generic_vec): Removed. + * Makefile.in: Rebuilt dependencies, and + (BFD32_BACKENDS): Removed nlm32-gen.o. + (BFD64_BACKENDS): Removed nlm64-gen.o. + (CFILES): Removed nlm32-gen.c and nlm64-gen.c. + + * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h. + + * linker.c (_bfd_generic_link_add_one_symbol): Add constructor and + bitsize arguments. Changed all callers (aoutx.h). + * libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor + and bitsize arguments to declaration. + * libbfd.h: Rebuilt. + + * ecoff.c: First cut at new style of linker backend for + ECOFF--added a bunch of functions. Also: + (ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata. + (ecoff_slurp_symbolic_header): New function. + (ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header. + (ecoff_compute_reloc_file_positions): New function. + (ecoff_set_section_contents): Get out quickly if count is zero. + Check errors better. + (ecoff_write_object_contents): Put .xdata section in data segment. + Call ecoff_compute_reloc_file_positions. Don't output relocs or + external symbols if outsymbols is NULL. + (ecoff_bfd_final_link): Completely rewritten. + * libecoff.h: Include bfdlink.h. + (struct ecoff_backend_data): Add relocate_section field. + (ecoff_data_type): Add sym_hashes and symndx_to_section fields. + (struct ecoff_link_hash_entry): Define. + (struct ecoff_link_hash_table): Define. + (ecoff_bfd_link_add_symbols): Declare as function, not macro. + (ecoff_bfd_link_hash_table_create): Likewise. + * ecofflink.c (bfd_ecoff_debug_one_external): New function. + (bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external. + * bfd-in.h (bfd_ecoff_debug_one_external): Declare. + * bfd-in2.h: Rebuilt. + * coff-alpha.c (alpha_howto_table): Mark BRADDR as + partial_inplace, and set the src_mask to 0x1fffff. + (alpha_ecoff_get_relocated_section_contents): Remove unused + variable gp_warned. + (alpha_convert_external_reloc): New static function. + (alpha_relocate_section): New static function. + (alpha_ecoff_backend_data): Initialize relocate_section field. + * coff-mips.c (mips_relocate_refhi): New static function. + (mips_relocate_section): New static function. + (mips_ecoff_backend_data): Initialize relocate_section field. + + * reloc.c (_bfd_relocate_contents): Corrected signed overflow + checking when there is an addend. + + * aoutx.h (NAME(aout,final_link)): Don't abort when trying to link + a non a.out file, just pass it to _bfd_default_link_order. + (aout_link_input_section_std): When doing a final PC relative link + against a section symbol, subtract the VMA of the input section. + (aout_link_input_section_ext): Likewise. + + * linker.c (default_indirect_link_order): Renamed from + _bfd_generic_indirect_link_order and made static. + (_bfd_generic_final_link): Don't switch on link_order type, just + call _bfd_default_link_order. + (_bfd_default_link_order): Handle bfd_indirect_link_order type. + * genlink.h: Removed declaration of + _bfd_generic_indirect_link_order. + * elf32-mips.c (mips_elf_final_link): Don't switch on link_order + type, just call _bfd_default_link_order. + +Tue Jan 4 21:23:37 1994 Ian Lance Taylor (ian@cygnus.com) + + * linker.c (generic_link_check_archive_element): Base the name of + the created common section on the name of the section the symbol + came from. + (_bfd_generic_link_add_one_symbol): (case BIG): A common symbol + must have a section, so don't bother to create one. + +Mon Jan 3 15:32:16 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags. + * aoutf1.h (NAME(aout,sunos4_write_object_contents)): + If the DYNAMIC flag is set, set it in the exec header. + * aoutx.h (NAME(aout,some_aout_object_p)): If the object is + dynamically linked, set the DYNAMIC flag in the BFD. + * libaout.h (N_SET_DYNAMIC): New macro. + (N_DYNAMIC): Add missing 0 in mask. + +Mon Jan 3 11:41:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_get_extr): Don't output section symbols as + external symbols. + + * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t + to unsigned int, because size_t may not be defined in bfd.h. + * bfd-in2.h: Rebuilt. + + * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to + be a const pointer. + * bfd-in2.h: Rebuilt. + * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to + be a const pointer. + * targets.c (bfd_target): Change swap function pointers + accordingly. + * archive.c (do_slurp_coff_armap): Change swap accordingly. + * aix386-core.c: Change NO_GET and NO_GETS accordingly. + * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c, + ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET + accordingly. + + * libbfd-in.h (struct artdata): Added tdata field. + (_bfd_add_bfd_to_archive_cache): Declare. + (_bfd_get_elt_at_filepos): Declare. + (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr. + * libbfd.h: Rebuilt. + * archive.c: Cleaned up some more. + (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize + pointer elements of artdata. + (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache. + (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr. + (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos. + (get_extended_arelt_filename, bfd_construct_extended_name_table, + bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static. + * ecoff.c: Some comment changes. + (ecoff_slurp_armap): Handle rename of snarf_ar_hdr. Set + ardata->tdata to raw_armap. + (ecoff_archive_p): Initialize pointer elements of artdata. + * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of + add_bfd_to_cache. + + * hash.c: Added some documentation. + +Mon Jan 3 11:09:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC, + and do the swapping here rather than calling ntohl from the N_* + macros. This cleans up assumptions about the size of a host long, + the existence to ntohl, etc. + +Sat Jan 1 13:50:05 1994 Rob Savoye (rob@darkstar.cygnus.com) + + * config.bfd: Add support for VSTa micro-kernel. It currently uses + i386-aout. + +Sat Jan 1 10:18:54 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value. + * i386mach3.c (SEGMENT_SIZE): Fix value. + +Fri Dec 31 16:23:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Minor cleanups suggested by CodeCenter. + * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c, + linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as + appropriate. + * aoutx.h (struct external_exec): Removed unnecessary declaration. + (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL. + (adjust_z_magic): Removed useless variable data_vma. + (stringtab_init): Initialize hash_zero. + (add_to_stringtab): Removed unused fourth argument. + (NAME(aout,swap_std_reloc_out)): Removed useless variable + r_addend. + (aout_link_input_section): Added some casts. + * archive.c (get_extended_arelt_filename, do_slurp_coff_armap, + bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap): + Minor code rewriting to make it more C like. + (do_slurp_bsd_armap): Added some casts. + * ecoff.c (ecoff_write_object_contents): Removed useless variable + scn_base. + (ecoff_write_armap): Added some casts. Use "" rather than "\0". + * ecofflink.c (bfd_ecoff_write_debug): Added a cast. + * libaout.h (struct internal_exec): Removed unnecessary + declaration. + * linker.c (_bfd_generic_indirect_link_order): Added a cast. + * opncls.c (new_bfd): Removed a cast. + * reloc.c (bfd_generic_get_relocated_section_contents): Added + some casts. + * srec.c (internal_srec_write_object_contents): Removed useless + variable bytes_written. + +Fri Dec 31 11:46:13 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * i386mach3.c (N_TXTADDR): Don't define after all. + (TEXT_START_ADDR): Don't include exec header size in value. + +Thu Dec 30 15:47:54 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * i386mach3.c (N_TXTADDR): Define. + +Thu Dec 30 13:37:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Extensive changes to move the bulk of the linker into BFD so that + more efficient backend code can be written for specific object + files. Only existing efficient backend is a.out. + * seclet.c, seclet.h: Removed. + * hash.c, linker.c, genlink.h: New files. + * bfd-in.h: Removed bfd_error_vector. Declared hash table + structures and functions. + (JUMP_TABLE): Removed bfd_seclet_link, added + bfd_link_hash_table_create, bfd_link_add_symbols and + bfd_final_link. + * All backends: Changed accordingly. + * bfd-in2.h: Rebuilt. + * bfd.c (struct _bfd): Added link_next and archive_pass fields. + Removed ld_symbols field. + (bfd_nonrepresentable_section, bfd_undefined_symbol, + bfd_reloc_value_truncated, bfd_reloc_is_dangerous, + bfd_error_vector): Removed. + (bfd_default_error_trap, bfd_error_trap, + bfd_error_nonrepresentabltrap): Removed. + (bfd_get_relocated_section_contents): Pass link_info. Pass + link_order instead of seclet. Pass symbols. + (bfd_relax_section): Pass link_info. + (bfd_seclet_link): Removed. + (bfd_link_hash_table_create, bfd_link_add_symbols, + bfd_final_link): New macros. + * libbfd-in.h: If __GNUC__ is defined and alloca is not, define + alloca as __builtin_alloca. Declare internal linking functions. + * libbfd.h: Rebuilt. + * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked + for months. + * reloc.c (reloc_howto_type): Added error_message argument to + special_function field. Changed all callers and all definitions. + (bfd_get_reloc_size): Make argument a const pointer. + (bfd_perform_relocation): Add error_message argument to hold + string set if return value if bfd_reloc_dangerous. Changed all + callers. + (_bfd_final_link_relocate, _bfd_relocate_contents): New functions. + * section.c (asection): Renamed seclets_head and seclets_tail to + link_order_head and link_order_tail. + * targets.c (bfd_target): Replaced seclet argument with link_info + and link_order and symbols arguments in + bfd_get_relocated_section_contents. Added symbols argument to + bfd_relax_section. Removed bfd_seclet_link. Added + bfd_link_hash_table_create, bfd_link_add_symbols and + bfd_final_link. + * libaout.h (struct aoutdata): Added external_syms, + external_sym_count, external_strings, sym_hashes fields. + (obj_aout_external_syms, obj_aout_external_sym_count, + obj_aout_external_strings, obj_aout_sym_hashes): New accessor + macros. + (WRITE_HEADERS): Only output symbols if outsymbols is not NULL. + * aoutx.h: Wrote new back end linker routines. + (translate_to_native_sym_flags): Return boolean value. Don't use + bfd_error_vector. + (NAME(aout,write_syms)): Return boolean value. Check return value + of translate_to_native_sym_flags and bfd_write. + * aout-target.h (final_link_callback): New function. + (MY_bfd_final_link): New function. + * aout-adobe.c (aout_adobe_write_object_contents): Check return + value of aout_32_write_syms. + * hp300hpux.c (MY(write_object_contents)): Likewise. + * i386lynx.c (WRITE_HEADERS): Likewise. + * libaout.h (WRITE_HEADERS): Likewise. + * bout.c: Changed functions to use link_info->callbacks rather + than bfd_error_vector, and link_orders rather than seclets. + * coff-alpha.c: Likewise. + * coff-h8300.c: Likewise. + * coff-h8500.c: Likewise. + * coff-sh.c: Likewise. + * coff-z8k.c: Likewise. + * elf32-hppa.c: Likewise. + * reloc16.c: Likewise. + * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look + up _gp in the hash table rather than in outsymbols. + * coff-a29k.c (a29k_reloc): Pass errors back in new error_message + argument rather than printing them. + * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and + link_order arguments rather than seclet. Changed all uses and + definitions. + (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed + all uses and definitions. + * libcoff.h: Rebuilt. + * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but + not by ECOFF, make it scAbs. + (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and + rewritten. + * elf32-mips.c (mips_elf_final_link): Renamed from + mips_elf_seclet_link and rewritten. + * elf32-hppa.c (elf32_hppa_stub_description): Added link_info + field. + (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub, + hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section): + Added link_info arguments. Changed all callers. + * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is + not NULL. + * oasys.c (oasys_write_sections): Return boolean value rather than + using bfd_error_vector. + (oasys_write_object_contents): Check return value of + oasys_write_sections. + * hosts/std-host.h: Don't declare qsort or strtol. + * Makefile.in: Rebuild dependencies. + (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o. + (CFILES): Removed seclet.c. Added hash.c and linker.c. + (HFILES): Removed seclet.h. Added genlink.h. + +Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * section.c (bfd_get_section_contents): Return zero filled buffer + if section has no contents. + +Tue Dec 28 12:43:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc, + then skip bfd_perform_relocation even if the addend is non-zero. + +Tue Dec 21 09:22:19 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy + addend to r_offset field. + + * Makefile.in (CFILES): Added coff-sparc.c. Rebuild dependencies. + + * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET, + CALC_ADDEND): Define. + + * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing + the offsetof because AIX /bin/cc does not like to take the address + of an array. (From Minh Tran-Le.) + +Thu Dec 16 13:06:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Thu Dec 16 15:41:06 1993 Peter Hoogenboom (hoogen@cs.utah.edu) + + * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy + the return pointer into %r2 if no jump-in-call-delay-slot + optimization was done. + + * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD. + +Wed Dec 15 08:04:16 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * hosts/std-host.h: (time): Don't declare; conflicts on Mach3. + + * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding. + (HOST_SEGMENT_SIZE): Set to 0 for same reason. + + * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above. + (TEXT_START_ADDR): Correct. + (MY_backend_data): Define. + + * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic): + New functions; code moved from aout_<size>_adjust_sizes_and_vmas. + +Tue Dec 14 21:48:33 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_begin_writing): Fix thinkos in auxiliary header + support. + (bfd_som_attach_aux_hdr): Likewise. + +Mon Dec 13 23:34:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field + selectors for PIC code. + + * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors. + (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL + relocations needed by PIC. + +Tue Dec 7 15:47:51 1993 Stu Grossman (grossman at cygnus.com) + + * nlmcode.h: Fixes to avoid compiler warnings... + +Tue Dec 7 15:10:54 1993 Ian Lance Taylor (ian@cygnus.com) + + * libnlm.h (nlm_backend_data): Removed macro definition. + (nlm_alpha_backend_data): Adjusted accordingly. + +Sun Dec 5 19:32:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_begin_writing): Flesh out code for handling simple + auxiliary headers. + (bfd_som_attach_aux_hdr): New function. + + * som.h (struct somdata): Add fields for attaching version and + copyright headers. Add accessor macros. + + * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected + definitions for old versions of HPUX which fail to define them. + (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT + now that they're safe. Delete bogus R_STATEMENT relocations. + + * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete + extra R_DATA_OVERRIDE. + (hppa_som_gen_reloc_type): Generate a relocation for the rounding + mode selector if needed. + (som_write_fixups): Handle requests for a change in the default + rounding mode. Rounding modes do not consume input bytes, but + are just markers much like R_ENTRY and R_EXIT. + +Sat Dec 4 19:40:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu) + + * elf32-hppa.c: (hppa_elf_reloc): Do not do code reordering when + the branch instruction as originally been nullified. + hppa_elf_reloc): Avoid useless call to bfd_put_32 () in the + case of no code reordering due to an LDO instruction in the + delay slot of the branch. Make sure to relocate the correct + instruction. Do not perform instruction reordering for millicode + calls. + (hppa_elf_build_arg_reloc_stub): Change the relocation type + to R_HPPA_STUB_CALL_17 when special processing might be needed. + (hppa_elf_build_long_branch_stub): Prevent code reordering on + a call from a linker stub to another linker stub and for millicode + calls. Do not trash the return register for calls from one linker + stub to a second linker stub. + + * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT + relocations are not pc-relative. + + * hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in + linker stub code. + (COPY_2_31): Likewise. + +Fri Dec 3 18:40:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/solaris2.mh (HDEFINES): Remove -Dconst= + * hosts/solaris.h: If not __GNUC__, define const as empty. + +Thu Dec 2 15:43:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c: Added various casts for 32/64 bit cross targeting. + (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo + section so that the linker ignores it. + * ecofflink.c: Added various casts for 32/64 bit cross targeting. + (ecoff_add_bytes): Changed need argument to size_t. + (bfd_ecoff_debug_link_other): Check return value of + ecoff_add_string. + + * libbfd-in.h (new_bfd): Use void rather than an empty parameter + list. + * libbfd.h: Rebuilt. + + * libnlm.h (struct nlm_obj_tdata): New field backend_data. + (nlm_backend_data, nlm_alpha_backend_data): New accessor macros. + (struct nlm_backend_data): New field no_uninitialized_data. + (nlm_no_uninitialized_data): New accessor macro. + * nlmcode.h (nlm_compute_section_file_positions): Handle + no_uninitialized_data. + (nlm_external_reloc_compare): Sort relocs by address for a + particular symbol, to make the sort more stable. + (nlm_write_object_contents): Cast the arguments to qsort. Get the + value of a debugging symbol the same way we get the value of a + normal symbol. + * nlm32-alpha.c: Various changes. Write out GP and .lita relocs. + Set no_uninitialized_data to true. + * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c + (nlm32_sparc_backend): Set no_uninitialized_data field false. + * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination + before filling it in. + +Wed Dec 1 21:47:58 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_section_type, som_decode_symcalss): New functions. + (som_get_symbol_info): Use them. + (som_slurp_symbol_table): Set the section of common and undefined + symbols correctly. + +Wed Dec 1 14:15:10 1993 Ken Raeburn (raeburn@cygnus.com) + + * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to + make gcc happy. + + * mipsbsd.c: Changes from Ralph Campbell: + (mips_howto_table_ext): MIPS_RELOC_LO16 should use + complain_overflow_dont. + (aout_mips_*_vec): Make name use "a.out" instead of "aout", to + make gdb happy. + + * bfd.c (bfd_errmsgs): Reword invalid-target message. + + * config.bfd: For sparc*-*-coff, use sparc-coff. + * configure.in: Handle sparccoff_vec. + * targets.c (sparccoff_vec): Declare. + + * reloc.c (bfd_get_reloc_size): New function. + (struct reloc_howto_type): Update documentation of size field. + +Wed Dec 1 14:39:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlm32-alpha.c: New file; preliminary Alpha NetWare support. + * config.bfd (alpha-*-netware*): New target; use alpha-nlm. + * config/alpha-nlm.mt: New file. + * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o, + nlm32.o, and nlm.o. + * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o. + (CFILES): Added nlm32-alpha.c. + Rebuilt dependencies. + * targets.c (nlm32_alpha_vec): Declare. + + * libnlm.h (struct nlm_backend_data): New fields + optional_prefix_size, nlm_backend_object_p, nlm_write_prefix, + nlm_set_public_section, nlm_get_public_offset. Removed unused + nlm_write_reloc field. Changed nlm_write_import to remove + unnecessary symbol argument. Renamed nlm_write_externals to + nlm_write_external, and changed cound argument from bfd_vma to + bfd_size_type. + (nlm_optional_prefix_size, nlm_backend_object_p_func, + nlm_write_prefix_func, nlm_set_public_section_func, + nlm_get_public_offset_func): New accessor macros. + (nlm_write_reloc_func): Removed. + (nlm_write_external_func): Adjusted for field renaming. + * nlm32-i386.c (nlm_i386_write_import): Renamed from + nlm_i386_write_reloc. Removed old nlm_i386_write_import which + just called old nlm_i386_write_reloc. + (nlm_i386_write_external): Renamed from nlm_i386_write_externals. + Declared. Changed second argument from bfd_vma to bfd_size_type. + (nlm32_i386_backend): Adjusted for changes to fields and names. + * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused, + ifdeffed out code. + (nlm_sparc_write_import): Removed second argument. + (nlm_sparc_write_external): Renamed from + nlm_sparc_write_externals. Changed second argument from bfd_vma + to bfd_size_type. + (nlm32_sparc_backend): Adjusted for changes to fields and names. + * nlmcode.h: Removed some unused code. + (nlm_object_p): Don't destroy tdata pointer. Call + backend_object_p function if it exists. + (nlm_slurp_symbol_table): Removed unused variable rcount. Call + set_public_section_func if it exists instead of checking + NLM_HIBIT. + (nlm_compute_section_file_positions): Account for + optional_prefix_size. + (nlm_write_object_contents): Account for optional_prefix_size. + Removed useless variable write_reloc_func. Changed declaration + and call of write_import_func. Call write_prefix_func if it + exists. Removed unused variables len and temp. Call + get_public_offset_func if it exists rather than setting NLM_HIBIT. + * nlmswap.h: Declare functions. + + * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize + for clarity. + (fprintf_vma, sprintf_vma): Use %lx, not %x. + * bfd-in2.h: Rebuilt. + * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results + to unsigned long. + + * config.bfd: Don't set target64 here, as the setting is ignored. + * configure.in (ecoffalpha_little_vec): Set target64. + + * config/alphaosf.mt (TDEFINES): Removed; setting host parameters + in TDEFINES is wrong. + + * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): + Remove unused variable output_section. + +Tue Nov 30 16:45:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * irix-core.c: New file for Irix 4 and Irix 5 core support. + Functions taken out of coff-mips.c. Handle vmap type VMAPFILE. + * coff-mips.c: Irix 4 core file support moved to irix-core.c. + * targets.c: If IRIX_CORE defined, include irix_core_vec in + target_vector. + * config/irix4.mh (HDEFINES): Add -DIRIX_CORE. + (HDEPFILES): Define to be irix-core.o. + * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE. + (HDEPFILES): Define to be irix-core.o. + * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed + sco-core.o, which no longer exists. + (CFILES): Added all *-core.c files. + Rebuilt dependencies. + +Wed Nov 24 02:02:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (map_program_segments): Restore check of file_size != + mem_size, but only if SHT_PROGBITS. + + * ecofflink.c: New file to hold ECOFF debug information linking + routines. + * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet, + ecoff_add_string, ecoff_get_debug): Removed. Functionality now in + ecofflink.c. + (ecoff_get_extr, ecoff_set_index): New functions. + (ecoff_slurp_symbolic_info): Don't save raw_size. + (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions. + (ecoff_compute_section_file_positions): Don't set EXEC_P just + because there is a start address. + (ecoff_write_object_contents): Handle external symbols here. Use + ecofflink.c functions to write out debugging information. + * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr, + mips_elf_set_index): New functions. + (mips_elf_seclet_link): Discard empty sections, the .options + section and .gptab sections. Handle linking .mdebug section. + * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase. + * libelf.h (elf_symbol_type): Added mips_extr to tc_data union. + * bfd-in.h: Added prototypes for routines in ecofflink.c (some are + called by gas, so they are public). + * bfd-in2.h: Rebuilt. + * Makefile.in (BFD_LIBS): Added ecofflink.o. + (CFILES): Added ecofflink.c. + (ecofflink.o): New target. Rebuilt dependencies. + +Mon Nov 22 22:26:42 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as + a valid magic number if it's been defined. + +Mon Nov 22 14:17:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker + no longer requires it. + (ecoff_bfd_seclet_link, ecoff_sizeof_headers, + ecoff_write_object_contents): Don't treat .scommon section + specially. + +Mon Nov 22 10:54:27 1993 Fred Fish (fnf@cygnus.com) + + Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner): + * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE. + * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o. + * bfd/ptrace-core.c: New file for dealing with core files with + start with the ptrace_user structure found on BCS compliant systems. + * bfd/targets.c (ptrace_core_vec): New vector. + +Mon Nov 22 02:33:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Minimal support for reading SOM fixup streams. Allows + objdump -r to do something reasonable. + * som.c (som_get_reloc_upper_bound): Implement. + (som_canonicalize_reloc): Implement. + (som_set_reloc_info, som_slurp_reloc_table): New functions. + +Sun Nov 21 13:46:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define. + * hosts/sparclynx.h: Include lynx.h instead of duplicating it. + +Fri Nov 19 14:34:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift + signed_value before sign extending it. Don't subtract out + reloc_entry->address. This makes it compatible with what gas is + generating. + + * elfcode.h (elf_fake_sections): Accept .sbss as the name for a + SHT_NOBITS sections. + (map_program_segments): Don't leave the loop after the first + SHT_NOBITS section. + (assign_file_positions_except_relocs): Only force sh_offset and + sh_addr to match modulo maxpagesize for a section which is not + SHT_NOBITS. Changed the method used to force page alignment after + a SHT_NOBITS section to only do it for the last such consecutive + section, and to really force page alignment. + +Fri Nov 19 04:02:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * coffcode.h (coff_slurp_symbol_table): Print more verbose message + in the case of an unknown (or unhandled) storage class. + + * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should + not be defined here, since it is a host attribute, not a target + one. + * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto. + + * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already + defined. + + * coff-sparc.c: Define some relocations, based on ELF relocations. + (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table, + struct coff_reloc_map, sparc_reloc_map, + coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and + elf.c, renamed. + (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_.... + (rtype2howto): Index into coff_sparc_howto_table using + dst->r_type. + +Thu Nov 18 11:45:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config.bfd (mips*-*-irix5*): New target; use mipsbelf. + * configure.host (mips-sgi-irix5*) New host; use irix5 (no + hosts/irix5.h created; just use std-host.h). + * config/irix5.mh: New file; like irix4.mh, but don't use -G or + -lmalloc. + * Makefile.in: Rebuilt dependencies. + + * ecoffswap.h: Changed type of internal pointers for swap out + functions to const *. + + * elf32-mips.c (mips_elf_got16_reloc): New function. Handle GOT16 + correctly for assembler, but linker support not implemented. + (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16. + (mips_elf_sym_is_global): New function; at least on Irix 5, all + non section symbols are considered global. + (elf_backend_sym_is_global): Define. + (mips_elf_final_write_processing): New function. Set the MIPS + architecture level correctly. + (elf_backend_final_write_processing): Define. + (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS. + (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo + section to 1. Handle .options section. + (mips_elf_acom_section, mips_elf_acom_symbol, + mips_elf_acom_symbol_ptr): New static variables, used to build a + generic .acommon section to hold SHN_MIPS_ACOMMON symbols. + (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by + putting them all in a global .acommon section. + + * elfcode.h (bfd_section_from_shdr): Don't dump core if target + section has no ELF section data. + (elf_make_sections): Set addralign of reloc section to 4. + (elf_fake_sections): Likewise. + (map_program_segments): Don't consider section 0. + (assign_file_positions_except_relocs): Don't consider section 0. + In the main loop, skip the symtab and strtab sections, since their + positions are set elsewhere. + (swap_out_syms): Set addralign of symtab section to 4. Set + addralign of strtab sections to 1. + (assign_file_positions_for_relocs): Don't consider section 0. + (write_object_contents): Don't write out section 0. + + * libelf.h (struct elf_backend_data): Added fields + elf_backend_sym_is_global and elf_backend_final_write_processing. + * elf32-target.h (elf32_bed): Added corresponding initializers. + * elf64-target.h (elf64_bed): Likewise. + * elfcode.h (sym_is_global): Take abfd argument. Call + elf_backend_sym_is_global if it is not NULL. + (elf_map_symbols): Pass abfd to sym_is_global. + (write_object_contents): Call elf_backend_final_write_processing + if it is defined. + +Wed Nov 17 18:43:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libecoff.h: Include coff/ecoff.h. + (struct ecoff_backend_data): Move external debugging information + fields into a single field pointing to an ecoff_debug_swap + structure. + (ecoff_data_type): Move debugging information fields into a single + field pointing to an ecoff_debug_info structure. + * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes. + +Wed Nov 17 17:38:58 1993 Sean Eric Fagan (sef@cygnus.com) + + * nlmswap.h: New file to swap fixed header. Included by NLM + backends. + * libnlm.h (struct reloc_and_sec): Define. + (struct nlm_backend_data): Add fields fixed_header_size, + nlm_read_import, nlm_write_import, nlm_swap_fhdr_in, + nlm_swap_fhdr_out. + (nlm_fixed_header_size, nlm_read_import_func, + nlm_write_import_func, nlm_swap_fixed_header_in_func, + nlm_swap_fixed_header_out_func, nlm_write_external_func): New + accessor macros. + * nlmcode.h: Use new functions. + * nlm32-i386.c: Provide new functions. + * nlm32-sparc.c: New file; SPARC NLM backend. + +Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore + garbage bits appearing in the upper end of symbolnums. + + * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED. + +Tue Nov 16 17:03:41 1993 Stu Grossman (grossman at cygnus.com) + + * lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc. + * m68klynx.c: Define core file macros. + * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h: Move all + non-architecture specific stuff into lynx.h. + +Tue Nov 16 15:45:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and + change PAGE_SIZE to 4096. + +Mon Nov 15 11:48:08 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * Makefile.in (diststuff): New target. + + * VERSION: Updated. + +Sun Nov 14 23:33:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_object_setup): Do not create dummy ".text", ".data", + and ".bss" sections. + (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size + is zero. Recognize BSS type sections and turn off SEC_LOAD and + SEC_DATA (so binutils/size works). Set the correct value for + a section's _raw_size. + (som_slurp_symbol_table): Program entry points, and millicode are + also functions. Mark them as such. Also mark L$* symbols as + debugging symbols. + + * bfd-in2.h: Rebuilt. + +Sat Nov 13 15:27:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns + a pointer to constant data. Delete bogus #define which made the + function useless. + + * som.c (som_prep_for_fixups): New function. + (som_write_fixups): New function. + (som_write_space_strings): New function. + (som_write_symbol_strings): New function. + (som_begin_writing): New function. + +Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_write_object_contents): Do not abort. Flesh out. + (som_set_section_contents): Do not abort. Flesh out. + + * som.c (som_write_headers): New function. + (som_prep_headers): New function. + (som_build_and_write_symbol_table): New function. + + * som.c (som_sizeof_headers): Add missing prototype. + (som_set_arch_mach): Do not abort. + + * som.c (som_count_spaces): New function. + (som_count_subspaces): New function. + (compare_syms): New function. + (som_compute_checksum): New function. + + * som.c (hppa_som_gen_reloc_type): New function. + (som_bfd_reloc_type_lookup): New function. + + * som.c (try_prev_fixup): New function. + (som_reloc_skip): New function. + (som_reloc_addend): New function. + (som_reloc_call): New function. + + * som.c (som_initialize_reloc_queue): New function. + (som_reloc_queue_insert): Likewise. + (som_reloc_queue_fix): Likewise. + (som_reloc_queue_find): Likewise. + + * som.c (som_hppa_howto_table): SOM howto relocation table. + (hppa_som_reloc): New function. + + * som.c (struct reloc_queue): New structure to keep track of + the last four multibyte relocations emitted. + (enum pa_symbol_type): Type to fully describe the symbol types + associated with .import/.export assembler directives. + + * som.c: Include libhppa.h + + * som.c (bfd_som_set_section_attributes): New function. + (bfd_som_set_subsection_attributes): Likewise. + (bfd_som_set_symboL_type): Likewise. + (bfd_som_attach_unwind_info): Likewise. + * som.h: Declare new exported functions. + + * som.h (struct som_symbol): Add new fields to hold additional + information needed to build/write symbol tables and fixup streams. + (struct som_section_data_struct): Add new fields to hold additional + information needed to build/write space and subspace headers. + (som_symbol_data): New accessor macro for SOM symbol information. + (R_HPPA_*): Basic relocation types to be used by the assembler. + +Fri Nov 12 11:00:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * trad-core.c (trad_unix_core_file_p): If new hook + TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the + corefile being too big. + * hosts/i386sco.h: Define it. + +Thu Nov 11 15:16:28 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * bfd.c (struct _bfd): Add hppabsd_core_data. + * targets.c (target_vector): Add hppabsd_core_vec. + * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core + section is encountered during core section scanning. + * hppabsd-core.c: New file. + * config/hppabsd.mh: Enable HPPA BSD core files. + + * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code + which is either commented out or ifdef'd out. Add, update and + clean comments. Fix various indention and spacing problems. Handle + problems related to using "ble" to jump to a stub rather than "bl" + (%r31 is trashed by "ble", but not by "bl"). + (NEW_INSTRUCTION): Put inside curly braces. + (CURRENT_STUB_OFFSET): Fix indention problems. + (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems. + Add, update and clean comments. Handle "ble" %r31 lossage problems. + (hppa_elf_build_long_branch_stub): Likewise. + (hppa_look_for_stubs_in_section): Likewise. + (hppa_elf_stub_check): Remove obsolete function. + + * hppa_stubs.h: Add new instructions to deal with %r31 lossage + problems. Delete unused instructions. + +Tue Nov 9 11:40:27 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define. + +Tue Nov 9 11:26:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (elf_object_p): Rather than looking through an array + of architectures, get the ELF EM_xxx code from the backend + information. Let the generic ELF target match any EM_xxx code not + matched by another ELF target. Call elf_backend_object_p to let + the backend do more checks and set global information. + * libelf.h (struct elf_backend_data): Added elf_machine_code and + elf_backend_object_p fields. + (struct bfd_elf_arch_map): Removed. + (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare. + * elf32-target.h, elf64-target.h: Initialize elf_machine_code + field with ELF_MACHINE_CODE. Initialize elf_backend_object_p + field with elf_backend_object_p (if it is defined). + * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c, + elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c, + elf64-gen.c (ELF_MACHINE_CODE): Defined. + * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping + routines. + (mips_elf_object_p): Set the right machine number. + (mips_elf_ecoff_debug_swap): Defined. + (elf_backend_object_p): Defined to be mips_elf_object_p. + (elf_backend_ecoff_debug_swap): Defined to be + mips_elf_ecoff_debug_swap. + * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed. + + * libbfd-in.h (target_vector, default_vector): Declare. + * libbfd.h: Rebuilt. + * format.c (target_vector, default_vector): Don't declare. + + * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow + for R_MIPS_26. Correct overflow detection requires matching the + upper four bits of the destination against the PC. From Ted Lemon + <mellon@pepper.ncd.com>. + + * bout.c (b_out_reloc_type_lookup): Return type should point to + const data. + * coff-i960.c (coff_i960_reloc_type_lookup): Likewise. + * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise. + * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise. + * coff-i386.c (coff_i386_reloc): Made howto const. + * oasys.c (oasys_write_data): Made how const. + + * libelf.h: Added some comments. + (struct elf_backend_data): Added elf_backend_ecoff_debug_swap + field. Removed unused write_relocs field. + * elf32-target.h: Adjusted elf_backend_data initialization + accordingly. + * elf64-target.h: Corrected elf_backend_data initialization to + fill in all fields and to set elf_64_p to 1. + +Mon Nov 8 18:13:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment + to filepos in SHT_STRTAB case. + (assign_file_position_for_section): Set BFD section filepos as + well as ELF section sh_offset. + + * reloc.c: Use const instead of CONST. + (bfd_perform_relocation): Make variable howto a const pointer. + * bfd-in2.h, libbfd.h: Rebuilt. + +Mon Nov 8 12:19:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (realclean): Don't remove generated headers. Reverts + change of 2 Jul 1993. + +Mon Nov 8 06:08:31 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com) + + * configure.bfd: make unixware equivalent to sysv4. + + * config/i386-nlm.mt: bring in elf config; make it the default. + +Sun Nov 7 20:21:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * libbfd.c (bfd_put_8): Add parens around reference to "val" + argument. + +Fri Nov 5 21:45:09 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * hosts/i386mach3.h (HOST_SEGMENT_SIZE), + i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?). + +Fri Nov 5 15:17:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffcode.h (coff_write_object_contents): Zero out internal_a. + +Fri Nov 5 10:41:07 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h, + core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c, + section.c, syms.c, targets.c: + Doc cleanup (spelling, punctuation, grammar, formatting). + * bfd-in2.h, libbfd.h: Rebuild. + +Thu Nov 4 14:46:14 1993 John Gilmore (gnu@rtl.cygnus.com) + + * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors. + * bfd.c, opncls.c: Improve comments on file descriptor cacheing. + +Thu Nov 4 08:54:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * From Pete Hoogenboom (hoogen@cs.utah.edu) + * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error + in last change. Always rebuild symbol extension section the first + time though if output sections exist (fixes ld -r problems). + +Thu Nov 04 08:08:46 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * Makefile.in: Add .PHONY for check and installcheck rules. + +Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com) + + * libbfd-in.h (artdata): Use long, not time_t for portability, at + least to HPUX. File below is a derived file. + +Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com) + + * libbfd.h (artdata): Use long, not time_t for portability, at + least to HPUX. + +Tue Nov 2 09:32:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Use bigmips for mips*-*-bsd*. + +Mon Nov 1 14:30:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table): + Handle symbol number of zero. + + * reloc.c (enum bfd_reloc_code_real): Added + BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16, + BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32. + * bfd-in2.h: Rebuilt. + * coff-mips.c (mips_bfd_reloc_type_lookup): Handle + BFD_RELOC_MIPS_LITERAL. + * elf32-mips.c (mips_reloc_map): Handle new relocs. + (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp + checks slightly. + + * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end, + MY_bfd_debug_info_accumulat [sic]): Remove unused definitions. + (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section, + MY_bfd_seclet_link): Define. + (MY_bfd_reloc_type_lookup): Rename from + MY_reloc_howto_type_lookup. + (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol. + (MY(vec)): Use JUMP_TABLE rather than listing functions. + * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound, + MY_canonicalize_reloc, MY_write_object_contents): Don't define in + terms of MY, because that causes a recusive invocation of CAT when + expanded within JUMP_TABLE, and ANSI compilers don't expand + recursive macros. + * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from + MY_reloc_howto_type_lookup, and don't define in terms of MY. + (MY_canonicalize_reloc): Don't define in terms of MY. + (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather + than listing functions. + +Mon Nov 1 09:12:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Use m68k-elf for m68*-*-sysv4*. + +See file ChangeLog.1 + + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-3.x b/contrib/gdb/gdb/ChangeLog-3.x new file mode 100644 index 0000000000000..e8dbcd87bb0a2 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-3.x @@ -0,0 +1,4846 @@ +Tue Jan 23 15:49:47 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (define_symbol): Deal with deftype 'X'. + + * convex-dep.c (wait): Make it pid_t. + + * convex-dep.c (comm_registers_info): accept decimal comm register + specification, as "i comm 32768". + + * dbxread.c (process_one_symbol): Make VARIABLES_INSIDE_BLOCK + macro say by itself where variables are. Pass it desc. + m-convex.h (VARIABLES_INSIDE_BLOCK): Nonzero for native compiler. + + * m-convex.h (SET_STACK_LIMIT_HUGE): Define. + (IGNORE_SYMBOL): Take out #ifdef N_MONPT and put in 0xc4. + +Fri Jan 19 20:04:15 1990 Jim Kingdon (kingdon at albert.ai.mit.edu) + + * printcmd.c (print_frame_args): Always set highest_offset to + current_offset when former is -1. + + * dbxread.c (read_struct_type): Print nice error message + when encountering multiple inheritance. + +Thu Jan 18 13:43:30 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Always treat N_FN as a potential + source for a x.o or -lx symbol, ignoring OFILE_FN_FLAGGED. + + * printcmd.c (print_frame_args): Cast -1 to (CORE_ADDR). + + * hp300bsd-dep.c (_initialize_hp300_dep): Get kernel_u_addr. + m-hp300bsd.h (KERNEL_U_ADDR): Use kernel_u_addr. + + * infcmd.c (run_command): #if 0 out call to + breakpoint_clear_ignore_counts. + +Thu Jan 11 12:58:12 1990 Jim Kingdon (kingdon at mole) + + * printcmd.c (print_frame_args) [STRUCT_ARG_SYM_GARBAGE]: + Try looking up name of var before giving up & printing '?'. + +Wed Jan 10 14:00:14 1990 Jim Kingdon (kingdon at pogo) + + * many files: Move stdio.h before param.h. + + * sun3-dep.c (store_inferior_registers): Only try to write FP + regs #ifdef FP0_REGNUM. + +Mon Jan 8 17:56:15 1990 Jim Kingdon (kingdon at pogo) + + * symtab.c: #if 0 out "info methods" code. + +Sat Jan 6 12:33:04 1990 Jim Kingdon (kingdon at pogo) + + * dbxread.c (read_struct_type): Set TYPE_NFN_FIELDS_TOTAL + from all baseclasses; remove vestigial variable baseclass. + + * findvar.c (read_var_value): Check REG_STRUCT_HAS_ADDR. + printcmd.c (print_frame_args): Check STRUCT_ARG_SYM_GARBAGE. + m-sparc.h: Define REG_STRUCT_HAS_ADDR and STRUCT_ARG_SYM_GARBAGE. + + * blockframe.c (get_frame_block): Subtract one from pc if not + innermost frame. + +Fri Dec 29 15:26:33 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * printcmd.c (print_frame_args): check highest_offset != -1, not i. + +Thu Dec 28 16:21:02 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valops.c (value_struct_elt): Clean up error msg. + + * breakpoint.c (describe_other_breakpoints): + Delete extra space before "also set at" and add period at end. + +Tue Dec 19 10:28:42 1989 Jim Kingdon (kingdon at pogo) + + * source.c (print_source_lines): Tell user which line number + was out of range when printing error message. + +Sun Dec 17 14:14:09 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * blockframe.c (find_pc_partial_function): Use + BLOCK_START (SYMBOL_BLOCK_VALUE (f)) instead of + SYMBOL_VALUE (f) to get start of function. + + * dbxread.c: Make xxmalloc just a #define for xmalloc. + +Thu Dec 14 16:13:16 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m68k-opcode.h (fseq & following fp instructions): + Change @ to $. + +Fri Dec 8 19:06:44 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * breakpoint.c (breakpoint_clear_ignore_counts): New function. + infcmd.c (run_command): Call it. + +Wed Dec 6 15:03:38 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valprint.c: Change it so "array-max 0" means there is + no limit. + + * expread.y (yylex): Change error message "invalid token in + expression" to "invalid character '%c' in expression". + +Mon Dec 4 16:12:54 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * blockframe.c (find_pc_partial_function): Always return 1 + for success, 0 for failure, and set *NAME and *ADDRESS to + match the return value. + + * dbxread.c (symbol_file_command): Use perror_with_name on + error from stat. + (psymtab_to_symtab, add_file_command), + core.c (validate_files), source.c (find_source_lines), + default-dep.c (exec_file_command): Check for errors from stat, + fstat, and myread. + +Fri Dec 1 05:16:42 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valops.c (check_field): When following pointers, just get + their types; don't call value_ind. + +Thu Nov 30 14:45:29 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb (pyr): New machine. + core.c [REG_STACK_SEGMENT]: New code. + dbxread.c (process_one_symbol): Cast return from copy_pending + to long before casting to enum namespace. + infrun.c: Split registers_info into DO_REGISTERS_INFO + and registers_info. + m-pyr.h, pyr-{dep.c,opcode.h,pinsn.c}: New files. + + * hp300bsd-dep.c: Stay in sync with default-dep.c. + + * m-hp300bsd.h (IN_SIGTRAMP): Define. + +Mon Nov 27 23:48:21 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * m-sparc.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): + Return floating point values in %f0. + +Tue Nov 21 00:34:46 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (read_type): #if 0 out code which skips to + comma following x-ref. + +Sat Nov 18 20:10:54 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valprint.c (val_print): Undo changes of Nov 11 & 16. + (print_string): Add parameter force_ellipses. + (val_print): Pass force_ellipses true when we stop fetching string + before we get to the end, else pass false. + +Thu Nov 16 11:59:50 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * infrun.c (restore_inferior_status): Don't try to restore + selected frame if the inferior no longer exists. + + * valprint.c (val_print): Rewrite string printing code not to + call print_string. + + * Makefile.dist (clean): Remove xgdb and xgdb.o. + +Tue Nov 14 12:41:47 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Makefile.dist (XGDB, bindir, xbindir, install, all): New stuff. + +Sat Nov 11 15:29:38 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valprint.c (val_print): chars_to_get: New variable. + +Thu Nov 9 12:31:47 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (main): Process "-help" as a switch that doesn't + take an argument. + +Wed Nov 8 13:07:02 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Makefile.dist (gdb.tar.Z): Add "else true". + +Tue Nov 7 12:25:14 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * infrun.c (restore_inferior_status): Don't dereference fid if NULL. + + * config.gdb (sun3, sun4): Accept "sun3" and "sun4". + +Mon Nov 6 09:49:23 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Makefile.dist (Makefile): Move comments after commands. + + * *-dep.c [READ_COFF_SYMTAB]: Pass optional header size to + read_section_hdr(). + + * inflow.c: Include <fcntl.h> regardless of USG. + + * coffread.c (read_section_hdr): Add optional_header_size. + (symbol_file_command): Pass optional header size to + read_section_hdr(). + (read_coff_symtab): Initialize filestring. + + * version.c: Change version to 3.4.xxx. + + * GDB 3.4 released. + +Sun Nov 5 11:39:01 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * version.c: Change version to 3.4. + + * symtab.c (decode_line_1): Only skip past "struct" if it + is there. + + * valops.c (value_ind), eval.c (evaluate_subexp, case UNOP_IND): + Have "*" <int-valued-exp> return an int, not a LONGEST. + + * utils.c (fprintf_filtered): Pass arg{4,5,6} to sprintf. + + * printcmd.c (x_command): Use variable itself rather + than treating it as a pointer only if it is a function. + (See comment "this makes x/i main work"). + + * coffread.c (symbol_file_command): Use error for + "%s does not have a symbol-table.\n". + +Wed Nov 1 19:56:18 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c [BELIEVE_PCC_PROMOTION_TYPE]: New code. + m-sparc.h: Define BELIEVE_PCC_PROMOTION_TYPE. + +Thu Oct 26 12:45:00 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * infrun.c: Include <sys/dir.h>. + + * dbxread.c (read_dbx_symtab, case N_LSYM, case 'T'): + Check for enum types and put constants in psymtab. + +Mon Oct 23 15:02:25 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (define_symbol, read_dbx_symtab): Handle enum + constants (e.g. "b:c=e6,0"). + +Thu Oct 19 14:57:26 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * stack.c (frame_info): Use FRAME_ARGS_ADDRESS_CORRECT + m-vax.h (FRAME_ARGS_ADDRESS_CORRECT): New macro. + (FRAME_ARGS_ADDRESS): Restore old meaning. + + * frame.h (Frame_unknown): New macro. + stack.c (frame_info): Check for Frame_unknown return from + FRAME_ARGS_ADDRESS. + m-vax.h (FRAME_ARGS_ADDRESS): Sometimes return Frame_unknown. + + * utils.c (fatal_dump_core): Add "internal error" to message. + + * infrun.c (IN_SIGTRAMP): New macro. + (wait_for_inferior): Use IN_SIGTRAMP. + m-vax.h (IN_SIGTRAMP): New macro. + +Wed Oct 18 15:09:22 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb, Makefile.dist: Shorten m-i386-sv32.h. + + * coffread.c (symbol_file_command): Pass 0 to select_source_symtab. + +Tue Oct 17 12:24:41 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * i386-dep.c (i386_frame_num_args): Take function from m-i386.h + file. Check for pfi null. + m-i386.h (FRAME_NUM_ARGS): Use i386_frame_num_args. + + * infrun.c (wait_for_inferior): set stop_func_name to 0 + before calling find_pc_partial_function. + +Thu Oct 12 01:08:50 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * breakpoint.c (_initialize_breakpoint): Add "disa". + + * Makefile.dist: Add GLOBAL_CFLAGS and pass to readline. + + * config.gdb (various): "$machine =" -> "machine =". + +Wed Oct 11 11:54:31 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * inflow.c (try_writing_regs): #if 0 out this function. + + * main.c (main): Add "-help" option. + + * dbxread.c (read_dbx_symtab): Merge code for N_FUN with + N_STSYM, etc. + +Mon Oct 9 14:21:55 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * inflow.c (try_writing_regs_command): Don't write past end + of struct user. + + * dbxread.c (read_struct_type): #if 0 out code which checks for + bitpos and bitsize 0. + + * config.gdb: Accept sequent-i386 (not seq386). + (symmetry): Set depfile and paramfile. + + * m-convex.h (IGNORE_SYMBOL): Check for N_MONPT if defined. + +Thu Oct 5 10:14:26 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * default-dep.c (read_inferior_memory): Put #if 0'd out comment + within /* */. + +Wed Oct 4 18:44:41 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * config.gdb: Change /dev/null to m-i386.h for various + 386 machine "opcodefile" entries. + + * config.gdb: Accept seq386 for sequent symmetry. + +Mon Oct 2 09:59:50 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * hp300bsd-dep.c: Fix copyright notice. + +Sun Oct 1 16:25:30 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Makefile.dist (DEPFILES): Add isi-dep.c. + + * default-dep.c (read_inferior_memory): Move #endif after else. + +Sat Sep 30 12:50:16 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * version.c: Change version number to 3.3.xxx. + + * GDB 3.3 released. + + * version.c: Change version number to 3.3. + + * Makefile.dist (READLINE): Add vi_mode.c + + * config.gdb (i386): Change /dev/null to m-i386.h + + * config.gdb: Add ';;' before 'esac'. + + * Makefile.dist (gdb.tar.Z): Move comment above dependency. + + * dbxread.c (read_ofile_symtab): Check symbol before start + of source file for GCC_COMPILED_FLAG_SYMBOL. + (start_symtab): Don't clear processing_gcc_compilation. + +Thu Sep 28 22:30:23 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * valprint.c (print_string): If LENGTH is zero, print "". + +Wed Sep 27 10:15:10 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * config.gdb: "rm tmp.c" -> "rm -f tmp.c". + +Tue Sep 26 13:02:10 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * utils.c (_initialize_utils): Use termcap to set lines_per_page + and chars_per_line. + +Mon Sep 25 10:06:43 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (read_dbx_symtab, N_SOL): Do not add the same file + more than once. + +Thu Sep 21 12:43:18 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * infcmd.c (unset_environment_command): Delete all variables + if called with no arg. + + * remote.c, inferior.h (remote_{read,write}_inferior_memory): + New functions. + core.c ({read,write}_memory): Use remote_{read,write}_inferior_memory. + + * valops.c (call_function): When reserving stack space for + arguments, call value_arg_coerce. + + * m-hp9k320.h: define BROKEN_LARGE_ALLOCA. + + * breakpoint.c (delete_command): Ask for confirmation only + when there are breakpoints. + + * dbxread.c (read_struct_type): If lookup_basetype_type has + copied a stub type, call add_undefined_type. + + * sparc_pinsn.c (compare_opcodes): Check for "1+i" anywhere + in args. + + * val_print.c (type_print_base): Print stub types as + "<incomplete type>". + +Wed Sep 20 07:32:00 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * sparc-opcode.h (swapa): Remove i bit from match. + (all alternate space instructions): Delete surplus "foo rs1+0" + patterns. + + * Makefile.dist (LDFLAGS): Set to $(CFLAGS). + + * remote-multi.shar (remote_utils.c, putpkt): Change csum to unsigned. + +Tue Sep 19 14:15:16 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * sparc-opcode.h: Set i bit in lose for many instructions which + aren't immediate. + + * stack.c (print_frame_info): add "func = 0". + +Mon Sep 18 16:19:48 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * sparc-opcode.h (mov): Add mov to/from %tbr, %psr, %wim. + + * sparc-opcode.h (rett): Fix notation to use suggested assembler + syntax from architecture manual. + + * symmetry-dep.c (I386_REGNO_TO_SYMMETRY): New macro. + (i386_frame_find_saved_regs): Use I386_REGNO_TO_SYMMETRY. + +Sat Sep 16 22:21:17 1989 Jim Kingdon (kingdon at spiff) + + * remote.c (remote_close): Set remote_desc to -1. + + * gdb.texinfo (Output): Fix description of echo to match + reality and ANSI C. + +Fri Sep 15 14:28:59 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * symtab.c (lookup_symbol): Add comment about "asm". + + * sparc-pinsn.c: Use NUMOPCODES. + + * sparc-opcode.h (NUMOPCODES): Use sparc_opcodes[0] not *sparc_opcodes. + +Thu Sep 14 15:25:20 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * dbxread.c (xxmalloc): Print error message before calling abort(). + + * infrun.c (wait_for_inferior): Check for {stop,prev}_func_name + null before passing to strcmp. + +Wed Sep 13 12:34:15 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * sparc-opcode.h: New field delayed. + sparc-pinsn.c (is_delayed_branch): New function. + (print_insn): Check for delayed branches. + + * stack.c (print_frame_info): Use misc_function_vector in + case where ar truncates file names. + +Tue Sep 12 00:16:14 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * convex-dep.c (psw_info): Move "struct pswbit *p" with declarations. + +Mon Sep 11 14:59:57 1989 Jim Kingdon (kingdon at spiff) + + * convex-dep.c (core_file_command): Delete redundant printing + of "Program %s". + + * m-convex.h (ENTRY_POINT): New macro. + + * m-convex.h (FRAME_CHAIN_VALID): Change outside_first_object_file + to outside_startup_file + + * main.c: #if 0 out catch_termination and related code. + + * command.c (lookup_cmd_1): Consider underscores part of + command names. + +Sun Sep 10 09:20:12 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * printcmd.c: Change asdump_command to disassemble_command + (_initialize_printcmd): Change asdump to diassemble. + + * main.c (main): Exit with code 0 if we hit the end of a batch + file. + + * Makefile.dist (libreadline.a): Fix syntax of "CC=${CC}". + +Sat Sep 9 01:07:18 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * values.c (history_info): Renamed to value_history_info. + Command renamed to "info value" (with "info history" still + accepted). + + * sparc-pinsn.c (print_insn): Extend symbolic address printing + to cover "sethi" following by an insn which uses 1+i. + +Fri Sep 8 14:24:01 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-hp9k320.h, m-hp300bsd.h, m-altos.h, m-sparc.h, m-sun3.h + (READ_GDB_SYMSEGS): Remove. + dbxread.c [READ_GDB_SYMSEGS]: Remove code to read symsegs. + + * sparc-pinsn.c (print_insn): Detect "sethi-or" pairs and + print symbolic address. + + * sparc-opcode.h (sethi, set): Change lose from 0xc0000000 to + 0xc0c00000000. + + * remote.c (remote_desc): Initialize to -1. + + * Makefile.dist (libreadline.a): Pass CC='${CC}' to readline makefile. + +Thu Sep 7 00:07:17 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_struct_type): Check for static member functions. + values.c, eval.c, valarith.c, valprint.c, valops.c: Merge changes + from Tiemann for static member functions. + + * sparc-opcode.h (tst): Fix all 3 patterns. + + * Makefile.dist (gdb1): New rule. + + * sparc-opcode.h: Change comment about what the disassembler + does with the order of the opcodes. + + * sparc-pinsn.c (compare_opcodes): Put 1+i before i+1. + Also fix mistaken comment about preserving order of original table. + + * sparc-opcode.h (clr, mov): Fix incorrect lose entries. + + * m-symmetry.h (FRAME_NUM_ARGS): Add check to deal with code that + GCC sometimes generates. + + * config.gdb: Change all occurances of "skip" to "/dev/null". + + * README (about languages other than C): Update comments about + Pascal and FORTRAN. + + * sparc-opcode.h (nop): Change lose from 0xae3fffff to 0xfe3fffff. + + * values.c (value_virtual_fn_field): #if 0-out assignment to + VALUE_TYPE(vtbl). + +Wed Sep 6 12:19:22 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * utils.c (fatal_dump_core): New function. + Makefile.dist (MALLOC_FLAGS): use -Dbotch=fatal_dump_core + +Tue Sep 5 15:47:18 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * breakpoint.c (enable_command): With no arg, enable all bkpts. + + * Makefile.dist (Makefile): Remove \"'s around $(MD). + + * Makefile.dist: In "cd readline; make . . ." change first + SYSV_DEFINE to SYSV. + + * m68k-pinsn.c (_initialize_pinsn): Use alternate assembler + syntax #ifdef HPUX_ASM + +Sat Sep 2 23:24:43 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * values.c (history_info): Don't check num_exp[0] if num_exp + is nil (just like recent editing_info change). + +Fri Sep 1 19:19:01 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * gdb.texinfo (inc-history, inc-readline): Copy in the inc-* files + because people might not have makeinfo. + + * README (xgdb): Strengthen nasty comments. + + * gdb.texinfo: Change @setfilename to "gdb.info". + +Thu Aug 31 17:23:50 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * main.c (editing_info): Don't check arg[0] if arg is null. + + * m-vax.h: Add comment about known sigtramp bug. + + * sun3-dep.c, sparc-dep.c (IS_OBJECT_FILE, exec_file_command): + Get right text & data addresses for .o files. + +Wed Aug 30 13:54:19 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * utils.c (tilde_expand): Remove function (it's in readline). + + * sparc-opcode.h (call): Change "8" to "9" in first two + patterns (%g7->%o7). + +Tue Aug 29 16:44:41 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * printcmd.c (whatis_command): Change 4th arg to type_print + from 1 to -1. + +Mon Aug 28 12:22:41 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (psymtab_to_symtab_1): In "and %s ..." change + pst->filename to pst->dependencies[i]->filename. + + * blockframe.c (FRAMELESS_LOOK_FOR_PROLOGUE): New macro + made from FRAMELESS_FUNCTION_INVOCATION from m-sun3.h except + that it checks for zero return from get_pc_function_start. + m-hp9k320.h, m-hp300bsd.h, m-i386.h, m-isi.h, m-altos.h, + m-news.h, m-sparc.h, m-sun2.h, m-sun3.h, m-symmetry.h + (FRAMELESS_FUNCTION_INVOCATION): Use FRAMELESS_LOOK_FOR_PROLOGUE. + + * dbxread.c (read_struct_type): Give warning and ignore field + if bitpos and bitsize are zero. + +Sun Aug 27 04:55:20 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * dbxread.c (psymtab_to_symtab{,_1}): Print message about + reading in symbols before reading stringtab, not after. + +Sat Aug 26 02:01:53 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (IS_OBJECT_FILE, ADDR_OF_TEXT_SEGMENT): New macros. + (read_dbx_symtab): Use text_addr & text_size to set end_of_text_addr. + (symbol_file_command): pass text_addr & text_size to read_dbx_symtab. + +Fri Aug 25 23:08:13 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * valprint.c (value_print): Try to give the name of function + pointed to when printing a function pointer. + +Thu Aug 24 23:18:40 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * core.c (xfer_core_file): In cases where MEMADDR is above the + largest address that makes sense, set i to len. + +Thu Aug 24 16:04:17 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * valprint.c (print_string): New function to print a character + string, doing array-max limiting and repeat count processing. + (val_print, value_print): Use print_string. + (REPEAT_COUNT_THRESHOLD): New #define, the max number of elts to print + without using a repeat count. Set to ten. + (value_print, val_print): Use REPEAT_COUNT_THRESHOLD. + + * utils.c (printchar): Use {fputs,fprintf}_filtered. + + * valprint.c (val_print): Pass the repeat count arg to the + fprintf_filtered call for "<repeats N times>" messages. + +Wed Aug 23 22:53:47 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * utils.c: Include <pwd.h>. + + * main.c: Declare free. + +Wed Aug 23 05:05:59 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * utils.c, defs.h: Add tilde_expand. + source.c (directory_command), + main.c (cd_command), + main.c (set_history_filename), + dbxread.c (symbol_file_command), + coffread.c (symbol_file_command), + dbxread.c (add_file_command), + symmisc.c (print_symtabs), + *-dep.c (exec_file_command, core_file_command), + main.c (source_command): Use tilde_expand. + + * dbxread.c (read_type): When we get a cross-reference, resolve + it immediately if possible, only calling add_undefined_type if + necessary. + + * gdb.texinfo: Uncomment @includes and put comment at start + of file telling people to use makeinfo. + + * valprint.c (type_print_base): Print the right thing for + bitfields. + + * config.gdb (sun3os3): Set paramfile and depfile. + +Tue Aug 22 05:38:36 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (symbol_file_command): Pass string table size to + read_dbx_symtab(). + (read_dbx_symtab): Before indexing into string table, check + string table index for reasonableness. + (psymtab_to_symtab{,_1}, read_ofile_symtab): Same. + +Tue Aug 22 04:04:39 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * m68k-pinsn.c: Replaced many calls to fprintf and fputs with + calls to fprintf_filtered and fputs_filtered. + (print_insn_arg): Use normal MIT 68k syntax for postincrement, + predecrement, and register indirect addressing modes. + +Mon Aug 21 10:08:02 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (initialize_signals): Set signal handler for SIGQUIT + and SIGHUP to do_nothing. + + * ns32k-opcode.h (ord): Change 1D1D to 1D2D. + + * ns32k-pinsn.c (print_insn_arg, print_insn): Handle index + bytes correctly. + + * ns32k-opcode.h: Add comments. + + * dbxread.c (read_type): Put enum fields in type.fields in order + that they were found in the debugging symbols (not reverse order). + +Sun Aug 20 21:17:13 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (source_command): Read .gdbinit if run without argument. + + * source.c (directory_command): Only print "foo already in path" + if from_tty. + + * version.c: Change version number to 3.2.xxx + +Sat Aug 19 00:24:08 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * m-news.h: Define HAVE_WAIT_STRUCT. + + * m-isi.h, isi-dep.c: Replace with new version from Adam de Boor. + config.gdb: Remove isibsd43. + + * main.c (catch_termination): Don't say we have written + .gdb_history until after we really have. + + * convex-dep.c (attach): Add "sleep (1)". + (write_vector_register): Use "LL" with long long constant. + (wait): Close comment. + (wait): Change "unix 7.1 bug" to "unix 7.1 feature" & related + changes in comment. + (scan_stack): And fp with 0x80000000 in while loop test. + (core_file_command): Move code to set COREFILE. + (many places): Change printf to printf_filtered. + (psw_info): Allow argument giving value to print as a psw. + (_initialize_convex_dep): Update docstrings. + + * m-convex.h (WORDS_BIG_ENDIAN): Correct typo ("WRODS") + define NO_SIGINTERRUPT. + define SET_STACK_LIMIT_HUGE. + add "undef BUILTIN_TYPE_LONGEST" before defining it. + Use "LL" after constants in CALL_DUMMY. + + * dbxread.c: In the 3 places it says error "ridiculous string + table size"... delete extra parameter to error. + + * dbxread.c (scan_file_globals): Check for FORTRAN common block. + Allow multiple references for the sake of common blocks. + + * main.c (initialize_main): Set history_filename to include + current directory. + + * valprint.c (decode_format): Don't return a defaulted size + field if osize is zero. + + * gdb.texinfo (Compilation): Update information on -gg symbols. + Document problem with ar. + +Fri Aug 18 19:45:20 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * valprint.c (val_print, value_print): Add "<repeats %d times>" code. + Also put "..." outside quotes for strings. + + * main.c (initialize_main): Add comment about history output file + being different from history input file. + + * m-newsos3.h: Undefine NO_SIGINTERRUPT. Rearrange a few comments. + + * m-newsos3.h (REGISTER_U_ADDR): Use new version from Hikichi. + + * sparc-opcode.h: Add comment clarifying meaning of the order of + the entries in sparc_opcodes. + + * eval.c (evaluate_subexp, case UNOP_IND): Deal with deferencing + things that are not pointers. + + * valops.c (value_ind): Make dereferencing an int give a LONGEST. + + * expprint.c (print_subexp): Add (int) cast in OP_LAST case. + + * dbxread.c (read_array_type): Set lower and upper if adjustable. + + * symtab.c (lookup_symbol): Don't abort if symbol found in psymtab + but not in symtab. + +Thu Aug 17 15:51:20 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * config.gdb: Changed "Makefile.c" to "Makefile.dist". + +Thu Aug 17 01:58:04 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * sparc-opcode.h (or): Removed incorrect lose bit 0x08000000. + [many]: Changed many `lose' entries to have the 0x10 bit set, so + they don't think %l0 is %g0. + +Wed Aug 16 00:30:44 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-symmetry.h (STORE_STRUCT_RETURN): Also write reg 0. + (EXTRACT_RETURN_VALUE): Call symmetry_extract_return_value. + symmetry-dep.c (symmetry_extract_return_value): New fn. + + * main.c (symbol_completion_function): Deal with changed + result_list from lookup_cmd_1 for ambiguous return. + command.c (lookup_cmd): Same. + + * inflow.c [TIOCGETC]: Move #include "param.h" back before + system #includes. Change all #ifdef TIOCGETC to + #if defined(TIOCGETC) && !defined(TIOCGETC_BROKEN) + m-i386-sysv3.2.h, m-i386gas-sysv3.2.h: Remove "#undef TIOCGETC" + and add "#define TIOCGETC_BROKEN". + + * command.c (lookup_cmd_1): Give the correct result_list in the + case of an ambiguous return where there is a partial match + (e.g. "info a"). Add comment clarifying what is the correct + result_list. + + * gdb.texinfo (GDB History): Document the two changes below. + + * main.c (command_line_input): Make history expansion not + just occur at the beginning of a line. + + * main.c (initialize_main): Make history expansion off by default. + + * inflow.c: Move #include "param.h" after system #includes. + + * i386-dep.c (i386_float_info): Use U_FPSTATE macro. + + * m-i386-sysv3.2.h, m-i386gas-sysv3.2.h: New files. + Makefile.dist, config.gdb: Know about these new files. + +Tue Aug 15 21:36:11 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * symtab.c (lookup_struct_elt_type): Use type_print rather + than assuming type has a name. + +Tue Aug 15 02:25:43 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * sparc-opcode.h (mov): Removed bogus "or i,0,d" pattern. + + * sparc-opcode.h (mov, or): Fixed incorrect `lose' members. + + * sparc-dep.c: Don't include "sparc-opcode.h". + (skip_prologue, isanulled): Declare special types to recognize + instructions, and use them. + + * sparc-pinsn.c (print_insn): Sign-extend 13-bit immediate args. + If they are less than +9, print them in signed decimal instead + of unsigned hex. + + * sparc-opcode.h, sparc-pinsn.c: Completely rewritten to share an + opcode table with gas, and thus produce disassembly that looks + like what the assembler accepts. + +Tue Aug 15 16:20:52 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * symtab.c (find_pc_psymbol): Move best_pc=psymtab->textlow-1 + after test for psymtab null. + + * main.c (editing_info): Remove variable retval. + + * config.gdb (sun3, isi): Comment out obsolete message about telling + it whether you have an FPU (now that it detects it). + + * config.gdb (sun3): Accept sun3os3. + + * m68k-insn.h: Include <signal.h>. + + * m68k-pinsn.h (convert_{to,from}_68881): Add have_fpu code + + * m-newsos3.h: Undefine USE_PCB. That code didn't seem to work. + + * sparc-dep.c: Put in insn_fmt and other stuff from the old + sparc-opcode.h. + + * sparc-opcode.h, sparc-pinsn.c: Correct copyright notice. + + * sparc-opcode.h, sparc-pinsn.c: Replace the old ones with the new + ones by roland. + +Tue Aug 15 02:25:43 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu) + + * Makefile.dist: Don't define CC at all. + + * Makefile.dist (Makefile): Remove tmp.c after preprocessing. + Use $(MD) instead of M_MAKEDEFINE in the cc command. + + * Makefile.dist: Don't define RL_LIB as + "${READLINE}/libreadline.a", since READLINE is a list of files. + +Mon Aug 14 23:49:29 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (print_version): Change 1988 to 1989. + + * main.c (copying_info, initialize_main): Remove #if 0'd code. + +Tue Aug 1 14:44:56 1989 Hikichi (hikichi at sran203) + + * m-newsos3.h + (NO_SIGINTERRUPT): have SIGINTERRUPT on NEWS os 3. + + * m-news.h(FRAME_FIND_SAVED_REGS): use the sun3's instead of old + one. + +Mon Aug 14 15:27:01 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-news.h, m-newsos3.h, news-dep.c: Merge additional changes + by Hikichi (ChangeLog entries above). + + * Makefile.dist (READLINE): List readline files individually + so we don't accidently get random files from the readline + directory. + + * m-news.h (STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE): + Expect floating point returns to be in fp0. + + * gdb.texinfo (Format options): New node. + + * gdb.texinfo: Comment out "@include"s until bfox fixes the + readline & history docs. + + * dbxread.c (read_addl_syms): Set startup_file_* if necessary at + the end (as well as when we hit ".o"). + + * printcmd.c (decode_format): Set val.format & val.size to '?' at + start and set defaults at end. + + * symtab.c (decode_line_1): Check for class_name null. + + * valops.c: Each place where it compares against field names, + check for null field names. (new t_field_name variables). + + * utils.c (fputs_filtered): Check for linebuffer null before + checking whether to call fputs. Remove later check for linebuffer + null. + +Sun Aug 13 15:56:50 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-isi.h, m-sun3.h ({PUSH,POP}_FP_REGS): New macros. + m-sun3.h (NUM_REGS): Conditionalize on FPU. + config.gdb (sun3, isi): Add message about support for machines + without FPU. + + * main.c (catch_termination, initialize_signals): new functions. + + * main.c (editing_info): Add "info editing n" and "info editing +". + Rewrite much of this function. + gdb.texinfo (GDB Readline): Document it. + + * values.c (history_info): Add "info history +". Also add code to + do "info history +" when command is repeated. + gdb.texinfo (Value History): Document "info history +". + + * expprint.c (print_subexp): Add OP_THIS to case stmt. + + * config.gdb (sun4os4): Put quotes around make define. + + * config.gdb: Canonicalize machine name at beginning. + +Sat Aug 12 00:50:59 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb: define M_MAKEDEFINE + Makefile (Makefile, MD): Be able to re-make Makefile. + + * main.c (command_line_input): Add comments to + the command history. + + * Makefile.dist (Makefile): Add /bin/false. + +Fri Aug 11 14:35:33 1989 Jim Kingdon (kingdon at spiff) + + * Makefile.dist: Comment out .c.o rule and add TARGET_ARCH. + + * m-altos.h: Include sys/page.h & sys/net.h + + * m-altos.h (FRAME_CHAIN{,_VALID}): Use outside_startup_file. + + * config.gdb (altos, altosgas): Add M_SYSV & M_BSD_NM and remove + M_ALLOCA=alloca.o from makedefine. + + * coffread.c (complete_symtab): Change a_entry to entry. + + * m-altosgas.h: New file. + + * m-symmetry (REGISTER_BYTE): Fix dumb mistake. + +Fri Aug 11 06:39:49 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * utils.c (set_screensize_command): Check for ARG being nil, since + that's what execute_command will pass if there's no argument. + + * expread.y (yylex): Recognize "0x" or "0X" as the beginning of a + number. + +Thu Aug 10 15:43:12 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb, Makefile.dist: Rename Makefile.c to Makefile.dist. + + * m-altos.h: Add comment about porting to USGR2. + + * config.gdb (sparc): Add -Usparc. + +Wed Aug 9 14:20:39 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-sun3os4.h: Define BROKEN_LARGE_ALLOCA. + + * values.c (modify_field): Check for value too large to fit in + bitfield. + + * utils.c (fputs_filtered): Allow LINEBUFFER to be NULL. + + * breakpoint.c (condition_command): Check for attempt to specify + non-numeric breakpoint number. + + * config.gdb, Makefile, m-altos.h, altos-dep.c: Merge Altos + port. + + * README: Change message about editing Makefile. + + * config.gdb: Edit Makefile. + Copied Makefile to Makefile.c and changed to let config.gdb + run us through the C preprocessor. + + * expread.y (yylex): Test correctly for definition of number. + +Wed Aug 9 11:56:05 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Put bracketing of entry point in + test case for .o symbols so that it will be correct even without + debugging symbols. + (end_psymtab): Took bracketing out. + + * blockframe.c (outside_startup_file): Reverse the sense of the + return value to make the functionality implied by the name + correct. + +Tue Aug 8 11:48:38 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * coffread.c (symbol_file_command): Do not assume presence of a.out + header. + + * blockframe.c: Replace first_object_file_end with + startup_file_{start,end} + (outside_startup_file): New function. + dbxread.c (read_addl_syms, read_dbx_symtab, end_psymbol): set + startup_file_*. Delete first_object_file_end code. + Add entry_point and ENTRY_POINT + coffread.c (complete_symtab): Set startup_file_*. + (first_object_file_end): Add as static. + m-*.h (FRAME_CHAIN, FRAME_CHAIN_VALID): Call outside_startup_file + instead of comparing with first_object_file_end. + + * breakpoint.c (breakpoint_1): Change -1 to (CORE_ADDR)-1. + + * config.gdb (i386, i386gas): Add missing quotes at end of "echo" + + * source.c (directory_command): Add dont_repeat (); + +Mon Aug 7 18:03:51 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * dbxread.c (read_addl_syms): Change strcmp to strncmp and put 3rd + arg back. + + * command.h (struct cmd_list_element): Add comment clarifying + purpose of abbrev_flag. + +Mon Aug 7 12:51:03 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * printcmd.c (_initialize_printcmd): Changed "undisplay" not to + have abbrev flag set; it isn't an abbreviation of "delete + display", it's an alias. + +Mon Aug 7 00:25:15 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * symtab.c (lookup_symtab_1): Remove filematch (never used). + + * expread.y [type]: Add second argument to 2 calls to + lookup_member_type which were missing them. + + * dbxread.c (symbol_file_command): Add from_tty arg. + Check it before calling query. + + * infcmd.c (tty_command): Add from_tty arg. + + * eval.c (evaluate_subexp): Remove 3rd argument from + calls to value_x_unop. + + * dbxread.c (read_addl_syms): Remove 3rd argument from + call to strcmp. + + * gdb.texinfo (Command editing): @include inc-readline.texinfo + and inc-history.texinfo and reorganize GDB-specific stuff. + + * Makefile: Add line MAKE=make. + + * README (second paragraph): Fix trivial errors. + + * dbxread.c (read_struct_type): Make sure p is initialized. + + * main.c (symbol_completion_function): Complete correctly + on the empty string. + +Sun Aug 6 21:01:59 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * symmetry-dep.c: Remove "long" from definition of i386_follow_jump. + + * gdb.texinfo (Backtrace): Document "where" and "info stack". + + * dbxread.c (cleanup_undefined_types): Strip off "struct " + or "union " from type names before doing comparison + +Sat Aug 5 02:05:36 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * config.gdb (i386, i386gas): Improve makefile editing instructions. + + * Makefile: Fix typo in CLIBS for SYSV. + + * dbxread.c (read_dbx_symtab): Deal with N_GSYM typedefs. + + * dbxread.c (add_file_command): Do not free name. We didn't + allocate it; it just points into arg_string. + + * Makefile, m-*.h: Change LACK_VPRINTF to HAVE_VPRINTF. + +Fri Jul 28 00:07:48 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valprint.c (val_print): Made sure that all returns returned a + value (usually 0, indicating no memory printed). + + * core.c (read_memory): Changed "return" to "return 0". + + * expread.y (parse_number): Handle scientific notation when the + string does not contain a '.'. + +Thu Jul 27 15:14:03 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * infrun.c (signals_info): Error if signal number passed is out of + bounds. + + * defs.h: Define alloca to be __builtin_alloca if compiling with + gcc and localized inclusion of alloca.h on the sparc with the + other alloca stuff. + * command.c: Doesn't need to include alloca.h on the sparc; defs.h + does it for you. + + * printcmd.c (print_frame_args): Changed test for call to + print_frame_nameless_args to check i to tell if any args had been + printed. + +Thu Jul 27 04:40:56 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * blockframe.c (find_pc_partial_function): Always check that NAME + and/or ADDRESS are not nil before storing into them. + +Wed Jul 26 23:41:21 1989 Roland McGrath (roland at hobbes.ai.mit.edu) + + * m-newsos3.h: Define BROKEN_LARGE_ALLOCA. + * dbxread.c (symbol_file_command, psymtab_to_symtab): + Use xmalloc #ifdef BROKEN_LARGE_ALLOCA. + +Tue Jul 25 16:28:18 1989 Jay Fenlason (hack at apple-gunkies.ai.mit.edu) + + * m68k-opcode.h: moved some of the fmovem entries so they're + all consecutive. This way the assembler doesn't bomb. + +Mon Jul 24 22:45:54 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * symtab.c (lookup_symbol): Changed error to an informational (if + not very comforting) message about internal problems. This will + get a null symbol returned to decode_line_1, which should force + things to be looked up in the misc function vector. + +Wed Jul 19 13:47:34 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c (lookup_symbol): Changed "fatal" to "error" in + external symbol not found in symtab in which it was supposed to be + found. This can be reached because of a bug in ar. + +Tue Jul 18 22:57:43 1989 Randy Smith (roland at hobbes.ai.mit.edu) + + * m-news.h [REGISTER_U_ADDR]: Decreased the assumed offset of fp0 + by 4 to bring it into (apparently) appropriate alignment with + reality. + +Tue Jul 18 18:14:42 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * Makefile: pinsn.o should depend on opcode.h + + * m68k-opcode.h: Moved fmovemx with register lists to before other + fmovemx. + +Tue Jul 18 11:21:42 1989 Jim Kingdon (kingdon at susie) + + * Makefile, m*.h: Only #define vprintf (to _doprnt or printf, + depends on the system) if the library lacks it (controlled by + LACK_VPRINTF_DEFINE in makefile). Unpleasant, but necessary to + make this work with the GNU C library. + +Mon Jul 17 15:17:48 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * breakpoint.c (breakpoint_1): Change addr-b->address to + b->address-addr. + +Sun Jul 16 16:23:39 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * eval.c (evaluate_subexp): Change error message printed when + right operand of '@' is not an integer to English. + + * infcmd.c (registers_info): Fix call to print_spaces_filtered + to specify right # of arguments. + + * gdb.texinfo (Command Editing): Document info editing command. + + * coffread.c (read_file_hdr): Add MC68MAGIC. + + * source.c (select_source_symtab): Change MAX to max. + +Fri Jul 14 21:19:11 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * infcmd.c (registers_info): Clean up display to look good with long + register names, to say "register" instead of "reg", and to put the + "relative to selected stack frame" bit at the top. + +Fri Jul 14 18:23:09 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (record_misc_function): Put parens around | to force + correct evaluation. + +Wed Jul 12 12:25:53 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * m-newsos3, m-news, infrun.c, Makefile, config.gdb, news-dep.c: + Merge in Hikichi's changes for Sony/News-OS 3 support. + +Tue Jul 11 21:41:32 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * utils.c (fputs_filtered): Don't do any filtering if output is + not to stdout, or if stdout is not a tty. + (fprintf_filtered): Rely on fputs_filtered's check for whether to + do filtering. + +Tue Jul 11 00:33:58 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * GDB 3.2 Released. + + * valprint.h: Deleted. + + * utils.c (fputs_filtered): Don't do any filtering if filtering is + disabled (lines_per_page == 0). + +Mon Jul 10 22:27:53 1989 Randy Smith (roland at hobbes.ai.mit.edu) + + * expread.y [typebase]: Added "unsigned long int" and "unsigned + short int" to specs. + +Mon Jul 10 21:44:55 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * main.c (main): Make -cd use cd_command to avoid + current_directory with non-absolute pathname. + +Mon Jul 10 00:34:29 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (symbol_file_command): Catch errors from stat (even + though they should never happen). + + * source.c (openp): If the path is null, use the current + directory. + + * dbxread.c (read_dbx_symtab): Put N_SETV symbols into the misc + function vector ... + (record_misc_function): ... as data symbols. + + * utils.c (fprintf_filtered): Return after printing if we aren't + going to do filtering. + + * Makefile: Added several things for make clean to take care of. + + * expread.y: Lowered "@" in precedence below +,-,*,/,%. + + * eval.c (evaluate_subexp): Return an error if the rhs of "@" + isn't integral. + + * Makefile: Added removal of core and gdb[0-9] files to clean + target. + + * Makefile: Made a new target "distclean", which cleans things up + correctly for making a distribution. + +Sun Jul 9 23:21:27 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * dbxread.c: Surrounded define of gnu symbols with an #ifndef + NO_GNU_STABS in case you don't want them on some machines. + * m-npl.h, m-pn.h: Defined NO_GNU_STABS. + +Sun Jul 9 19:25:22 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * utils.c (fputs_filtered): New function. + (fprintf_filtered): Use fputs_filtered. + utils.c (print_spaces_filtered), + command.c (help_cmd,help_cmd_list), + printcmd.c (print_frame_args), + stack.c (print_block_frame_locals, print_frame_arg_vars), + valprint.c (many functions): Use fputs_filtered instead of + fprintf_filtered to avoid arbitrary limit. + + * utils.c (fprintf_filtered): Fix incorrect comment. + +Sat Jul 8 18:12:01 1989 Randy Smith (randy at hobbes.ai.mit.edu) + + * valprint.c (val_print): Changed assignment of pretty to use + prettyprint as a conditional rather than rely on values of the + enum. + + * Projects: Cleaned up a little for release. + + * main.c (initialize_main): Initialize + rl_completion_entry_function instead of completion_entry_function. + + * Makefile: Modified to use the new readline library setup. + + * breakpoint.c (break_command_1, delete_breakpoint, + enable_breakpoint, disable_breakpoint): Put in new printouts for + xgdb usage triggered off of xgdb_verbose. + * main.c (main): Added check for flag to set xgdb_verbose. + * stack.c (frame_command): Set frame_changed when frame command + used. + +Fri Jul 7 16:20:58 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * Remove valprint.h and move contents to value.h (more logical). + +Fri Jul 7 02:28:06 1989 Randall Smith (randy at rice-chex) + + * m68k-pinsn.c (print_insn): Included a check for register list; + if there is one, make sure to start p after it. + + * breakpoint.c (break_command_1, delete_breakpoint, + enable_breakpoint, disable_breakpoint): #ifdef'd out changes + below; they produce unwanted output in gdb mode in gnu-emacs. + + * gdb.texinfo: Spelled. Also removed index references from + command editing section; the relevance/volume ratio was too low. + Removed all references to the function index. + + * ns32k-opcode.h, ns32k-pinsn.c: Backed out changes of June 24th; + haven't yet received legal papers. + + * .gdbinit: Included message telling the user what it is doing. + + * symmetry-dep.c: Added static decls for i386_get_frame_setup, + i386_follow_jump. + * values.c (unpack_double): Added a return (double)0 at the end to + silence a compiler warning. + + * printcmd.c (containing_function_bounds, asdump_command): Created + to dump the assembly code of a function (support for xgdb and a + useful hack). + (_initialize_printcmd): Added this to command list. + * gdb.texinfo [Memory]: Added documentation for the asdump + command. + * breakpoint.c (break_command_1, delete_breakpoint, + enable_breakpoint, disable_breakpoint): Added extra verbosity for + xgdb conditionalized on the new external frame_full_file_name. + * source.c (identify_source_line): Increase verbosity of fullname + prointout to include pc value. + * stack.c: Added a new variable; "frame_changed" to indicate when + a frame has been changed so that gdb can print out a frame change + message when the frame only changes implicitly. + (print_frame_info): Check the new variable in determining when to + print out a new message and set it to zero when done. + (up_command): Increment it. + (down_command): Decrement it. + + * m68k-pinsn.c (print_insn_arg [lL]): Modified cases for register + lists to reset the point to point to after the word from which the + list is grabbed *if* that would cause point to point farther than + it currently is. + +Thu Jul 6 14:28:11 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * valprint.c (val_print, value_print): Add parameter to control + prettyprinting. + valprint.h: New file containing constants used for passing + prettyprinting parameter to val{,ue}_print. + expprint.c, infcmd.c, printcmd.c, valprint.c, values.c: + Change all calls to val{,ue}_print to use new parameter. + +Mon Jul 3 22:38:11 1989 Randy Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (,process_one_symbol): Moved extern declaration for + index out of function to beginning of file. + +Mon Jul 3 18:40:14 1989 Jim Kingdon (kingdon at hobbes.ai.mit.edu) + + * gdb.texinfo (Registers): Add "ps" to list of standard registers. + +Sun Jul 2 23:13:03 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * printcmd.c (enable_display): Change d->next to d = d->next so + that "enable display" without args works. + +Fri Jun 30 23:42:04 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * source.c (list_command): Made error message given when no + symtab is loaded clearer. + + * valops.c (value_assign): Make it so that when assigning to an + internal variable, the type of the assignment exp is the type of + the value being assigned. + +Fri Jun 30 12:12:43 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (verbose_info): Created. + (initialize_main): Put "info verbose" into command list. + + * utils.c (screensize_info): Created. + (_initialize_utils): Defined "info screensize" as a normal command. + + * valprint.c (format_info): Added information about maximum number + of array elements to function. + + * blockframe.c (find_pc_partial_function): Again. + + * blockframe.c (find_pc_partial_function): Replaced a "shouldn't + happen" (which does) with a zero return. + + * main.c (dont_repeat): Moved ahead of first use. + +Thu Jun 29 19:15:08 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * vax-opcode.h: Made minor modifications (moved an instruction and + removed a typo) to bring this into accord with gas' table; also + changed copyright to reflect it being part of both gdb and gas. + + * m68k-opcode.h: Added whole scads and bunches of new stuff for + the m68851 and changed the coptyrightto recognize that the file + was shared between gdb and gas. + + * main.c (stop_sig): Use "dont_repeat ()" instead of *line = 0; + + * core.c (read_memory): Don't do anything if length is 0. + + * Makefile: Added readline.c to the list of files screwed by + having the ansi ioctl.h compilation with gcc. + + * config.gdb: Added sun4os3 & sun4-os3 as availible options. + +Wed Jun 28 02:01:26 1989 Jim Kingdon (kingdon at apple-gunkies.ai.mit.edu) + + * command.c (lookup_cmd): Add ignore_help_classes argument. + (lookup_cmd_1): Add ignore_help_classes argument. + command.c, main.c: Change callers of lookup_cmd{,_1} to supply + value for ignore_help_classes. + +Tue Jun 27 18:01:31 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * utils.c (print_spaces_filtered): Made more efficient. + * defs.h: Declaration. + * valprint.c (val_print): Used in a couple of new places. + +Mon Jun 26 18:27:28 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * m68k-pinsn.c (print_insn_arg ['#', '^']): Combined them into one + case which always gets the argument from the word immediately + following the instruction. + (print_insn_arg ["[lL]w"]): Make sure to always get the register + mask from the word immediately following the instruction. + +Sun Jun 25 19:14:56 1989 Randall Smith (randy at galapas.ai.mit.edu) + + * Makefile: Added hp-include back in as something to distribute. + + * stack.c (print_block_frame_locals): Return value changed from + void to int; return 1 if values printed. Use _filtered. + (print_frame_local_vars): Use return value from + print_block_frame_locals to mention if nothing printed; mention + lack of symbol table, use _filtered. + (print_frame_arg_vars): Tell the user if no symbol table + or no values printed. Use fprintf_filtered instead of fprintf. + * blockframe.c (get_prev_frame_info): Check for no inferior or + core file before crashing. + + * inflow.c (inferior_died): Set current frame to zero to keep from + looking like we're in start. + +Sat Jun 24 15:50:53 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * stack.c (frame_command): Added a check to make sure that there + was an inferior or a core file. + + * expread.y (yylex): Allow floating point numbers of the form ".5" + to be parsed. + + Changes by David Taylor at TMC: + * ns32k-pinsn.c: Added define for ?floating point coprocessor? and + tables for register names to be used for each of the possibilities. + (list_search): Created; searches a list of options for a specific + value. + (print_insn_arg): Added 'Q', 'b', 'M', 'P', 'g', and 'G' options + to the value location switch. + * ns32k-opcode.h: Added several new location flags. + [addr, enter, exit, ext[bwd], exts[bwd], lmr, lpr[bwd], restore, + rett, spr[bwd], smr]: Improved insn format output. + + * symtab.c (list_symbols): Rearrange printing to produce readable + output for "info types". + + * eval.c (evaluate_subexp_for_address): Fixed typo. + + * dbxread.c (read_type): Don't output an error message when + there isn't a ',' after a cross-reference. + + * dbxread.c (read_dbx_symtab): #if'd out N_FN case in + read_dbx_symtab if it has the EXT bit set (otherwise multiple + cases with the same value). + +Fri Jun 23 13:12:08 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * symmisc.c: Changed decl of print_spaces from static to extern + (since it's defined in utils.c). + + * remote.c (remote_open): Close remote_desc if it's already been + opened. + + * Remote_Makefile, remote_gutils.c, remote_inflow.c, + remote_server.c, remote_utils.c: Combined into remote-multi.shar. + * remote-multi.shar: Created (Vikram Koka's remote stub). + * remote-sa.m68k.shar: Created (Glenn Engel's remcom.c). + * README: Updated to reflect new organization of remote stubs. + + * dbxread.c (read_dbx_symtab): Put an N_FN in with N_FN | N_EXT to + account for those machines which don't use the external bit here. + Sigh. + + * m-symmetry.h: Defined NO_SIGINTERRUPT. + +Thu Jun 22 12:51:37 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (decode_format): Make sure characters are printed + using a byte size. + + * utils.c (error): Added a terminal_ours here. + + * stack.c (locals_info): Added check for selected frame. + + * dbxread.c (read_type): Checked to make sure that a "," was + actually found in the symbol to end a cross reference. + +Wed Jun 21 10:30:01 1989 Randy Smith (randy at tartarus.uchicago.edu) + + * expread.y (parse_number, [exp]): Allowed for the return of a + number marked as unsigned; this will allow inclusion of unsigned + constants. + + * symtab.h: Put in default definitions for BUILTIN_TYPE_LONGEST + and BUILTIN_TYPE_UNSIGNED_LONGEST. + + * expread.y (parse_number): Will now accept integers suffixed with + a 'u' (though does nothing special with it). + + * valarith.c (value_binop): Added cases to deal with unsigned + arithmetic correctly. + +Tue Jun 20 14:25:54 1989 Randy Smith (randy at tartarus.uchicago.edu) + + * dbxread.c (psymtab_to_symtab_1): Changed reading in info message + to go through printf_filtered. + + * symtab.c (list_symbols): Placed header message after all calls + to psymtab_to_symtab. + + * symtab.c (smash_to_{function, reference, pointer}_type): Carried + attribute of permanence for the type being smashed over the bzero + and allowed any type to point at this one if it is permanent. + + * symtab.c (smash_to_{function, reference, pointer}_type): Fix + typo: check flags of to_type instead of type. + + * m-hp9k320.h: Changed check on __GNU__ predefine to __GNUC__. + + * Makefile: Made MUNCH_DEFINE seperate and based on SYSV_DEFINE; + they aren't the same on hp's. + +Mon Jun 19 17:10:16 1989 Randy Smith (randy at tartarus.uchicago.edu) + + * Makefile: Fixed typo. + + * valops.c (call_function): Error if the inferior has not been + started. + + * ns32k-opcode.h [check[wc], cmpm[bwd], movm[bwd], skpsb]: Fixed + typos. + +Fri Jun 9 16:23:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-news.h [NO_SIGINTERRUPT]: Defined. + + * dbxread.c (read_type): Start copy of undefined structure name + past [sue] defining type of cross ref. + + * dbxread.c (process_one_symbol): Changed strchr to index. + + * ns32k-opcode.h, ns32k-pinsn.c: More changes to number of + operands, addition of all of the set condition opcodes, addition + of several flag letters, all patterned after the gas code. + + * ns32k-opcode.h [mov{su,us}[bwd], or[bwd]]: Changed number of + operands from 1 to 2. + +Wed Jun 7 15:04:24 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symseg.h [TYPE_FLAG_STUB]: Created. + * dbxread.c (read_type): Set flag bit if type is stub. + (cleanup_undefined_types): Don't mark it as a stub if it's been + defined since we first learned about it. + * valprint.c (val_print): Print out a message to that effect if + this type is encountered. + + * symseg.h, symtab.h: Moved the definition of TYPE_FLAG_PERM over + to symseg.h so that all such definitions would be in the same place. + + * valprint.c (val_print): Print out <No data fields> for a + structure if there aren't any. + + * dbxread.c (read_type): Set type name of a cross reference type + to "struct whatever" or something. + +Tue Jun 6 19:40:52 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * breakpoint.c (breakpoint_1): Print out symbolic location of + breakpoints for which there are no debugging symbols. + +Mon Jun 5 15:14:51 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * command.c (help_cmd_list): Made line_size static. + +Sat Jun 3 17:33:45 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Don't include the binutils hp-include directory in the + distribution anymore; refer the users to the binutils distribution. + +Thu Jun 1 16:33:07 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (disable_display_command): Fixed loop iteration for + no arg case. + + * printcmd.c (disable_display_command): Added from_tty parameter + to function. + + * valops.c (value_of_variable): Call read_var_value with 0 cast to + FRAME instead of CORE_ADDR. + + * eval.c (evaluate_subexp): Corrected number of args passed to + value_subscript (to 2). + + * infrun.c (wait_for_inferior), symtab.c (decode_line_1), + m-convex.h: Changed name of FIRSTLINE_DEBUG_BROKEN to + PROLOGUE_FIRSTLINE_OVERLAP. + + * m-merlin.h: Fixed typo. + * ns32k-opcode.h: Added ns32381 opcodes and "cinv" insn, and fixed + errors in movm[wd], rett, and sfsr. + + * eval.c (evaluate_subexp, evaluate_subexp_for_address), valops.c + (value_zero): Change value_zero over to taking two arguments + instead of three. + + * eval.c (evaluate_subexp) + [OP_VAR_VALUE]: Get correct lval type for AVOID_SIDE_EFFECTS for + all types of symbols. + [BINOP_DIV]: Don't divide if avoiding side effects; just return + an object of the correct type. + [BINOP_REPEAT]: Don't call value_repeat, just allocate a + repeated value. + (evaluete_subexp_for_address) [OP_VAR_VALUE]: Just return a thing + of the right type (after checking to make sure that we are allowed + to take the address of whatever variable has been passed). + +Mon May 29 11:01:02 1989 Randall Smith (randy at galapas.ai.mit.edu) + + * breakpoint.c (until_break_command): Set the breakpoint with a + frame specification so that it won't trip in inferior calls to the + function. Also set things up so that it works based on selected + frame, not current one. + +Sun May 28 15:05:33 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * eval.c (evalue_subexp): Change subscript case to use value_zero + in EVAL_AVOID_SIDE_EFFECTS case. + +Fri May 26 12:03:56 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_addl_syms, psymtab_to_symtab): Removed + cleanup_undefined_types; this needs to be done on a symtab basis. + (end_symtab): Called cleanup_undefined_types from here. + (cleanup_undefined_types): No longer uses lookup_symbol (brain + dead idea; oh, well), now it searches through file_symbols. + +Wed May 24 15:52:43 1989 Randall Smith (randy at galapas) + + * source.c (select_source_symtab): Only run through + partial_symtab_list if it exists. + + * coffread.c (read_coff_symtab): Don't unrecord a misc function + when a function symbol is seen for it. + + * expread.y [variable]: Make sure to write a type for memvals if + you don't get a mft you recognize. + +Tue May 23 12:15:57 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * dbxread.c (read_ofile_symtab, psymtab_to_symtab): Moved cleanup + of undefined types to psymtab_to_symtab. That way it will be + called once for all readins (which will, among other things, + help reduce infinite loops). + + * symtab.h [misc_function_type]: Forced mf_unknown to 0. + * dbxread.c (record_misc_function): Cast enum to unsigned char (to + fit). + * expread.y [variable]: Cast unsigned char back to enum to test. + +Mon May 22 13:08:25 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + Patches by John Gilmore for dealing well with floating point: + * findvar.c (value_from_register, locate_var_value): Used + BYTES_BIG_ENDIAN instead of an inline test. + * m-sparc.h [IEEE_FLOAT]: Created to indicate that the sparc is + IEEE compatible. + * printcmd.c (print_scalar_formatted): Use BYTES_BIG_ENDIAN and + the stream argument for printing; also modify default type for + 'f'. Change handling of invalid floats; changed call syntax for + is_nan. + (print_command): Don't print out anything indicating that + something was recorded on the history list if it wasn't. + * valprint.c (val_print): Fixed to deal properley with new format + of is_nan and unpacking doubles without errors occuring. + (is_nan): Changed argument list and how it figures big endianness + (uses macros). + * values.c (record_latest_value): Return -1 and don't record if + it's an invalid float. + (value_as_double): Changed to use new unpack_double calling + convention. + (unpack_double): Changed not to call error if the float was + invalid; simply to set invp and return. Changed calling syntax. + (unpack_field_as_long, modify_field): Changed to use + BITS_BIG_ENDIAN to determine correct action. + + * m-hp9k320.h [HP_OS_BUG]: Created; deals with problem where a + trap happens after a continue. + * infrun.c (wait_for_inferior): Used. + + * m-convex.h [FIRSTLINE_DEBUG_BROKEN]: Defined a flag to indicate + that the debugging symbols output by the compiler for the first + line of a function were broken. + * infrun.c (wait_for_inferior), symtab.c (decode_line_1): Used. + + * gdb.texinfo [Data, Memory]: Minor cleanups of phrasing. + +Fri May 19 00:16:59 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (add_undefined_type, cleanup_undefined_types): Created + to keep a list of cross references to as yet undefined types. + (read_type): Call add_undefined_type when we run into such a case. + (read_addl_syms, read_ofile_symtab): Call cleanup_undefined_types + when we're done. + + * dbxread.c (psymtab_to_symtab, psymtab_to_symtab_1): Broke + psymtab_to_symtab out into two routines; made sure the string + table was only readin once and the globals were only scanned once, + for any number of dependencies. + +Thu May 18 19:59:18 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-*.h: Defined (or not, as appropriate per machine) + BITS_BIG_ENDIAN, BYTES_BIG_ENDIAN, and WORDS_BIG_ENDIAN. + +Wed May 17 13:37:45 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (symbol_completion_function): Always complete on result + command list, even if exact match found. If it's really an exact + match, it'll find it again; if there's something longer than it, + it'll get the right result. + + * symtab.c (make_symbol_completion_function): Fixed typo; strcmp + ==> strncmp. + + * dbxread.c (read_dbx_symtab): Change 'G' case to mark symbols as + LOC_EXTERNAL. + + * expread.y [variables]: Changed default type of text symbols to + function returning int so that one can use, eg. strcmp. + + * infrun.c (wait_for_inferior): Include a special flag indicating + that one shouldn't insert the breakpoints on the next step for + returning from a sigtramp and forcing at least one move forward. + + * infrun.c (wait_for_inferior): Change test for nexting into a + function to check for current stack pointer inner than previous + stack pointer. + + * infrun.c (wait_for_inferior): Check for step resume break + address before dealing with normal breakpoints. + + * infrun.c (wait_for_inferior): Added a case to deal with taking + and passing along a signal when single stepping past breakpoints + before inserting breakpoints. + + * infrun.c (wait_for_inferior): Inserted special case to keep + going after taking a signal we are supposed to be taking. + +Tue May 16 12:49:55 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * inflow.c (terminal_ours_1): Cast result of signal to (int + (*)()). + + * gdb.texinfo: Made sure that references to the program were in + upper case. Modify description of the "set prompt" command. + [Running]: Cleaned up introduction. + [Attach]: Cleaned up. + [Stepping]: Change "Proceed" to "Continue running" or "Execute". + Minor cleanup. + [Source Path]: Cleaned up intro. Cleared up distinction between + the executable search path and the source path. Restated effect + of the "directory" command with no arguments. + [Data]: Fixed typos and trivial details. + [Stepping]: Fixed up explanation of "until". + + * source.c (print_source_lines): Print through filter. + + * printcmd.c (x_command): If the format with which to print is + "i", use the address of anything that isn't a pointer instead of + the value. This is for, eg. "x/10i main". + + * gdb.texinfo: Updated last modification date on manual. + +Mon May 15 12:11:33 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c (lookup_symtab): Fixed typo (name ==> copy) in call to + lookup_symtab_1. + + * gdb.texinfo: Added documentation for "break [+-]n" and for new + actions of "directory" command (taking multiple directory names at + the same time). + + * m68k-opcode.h: Replaced the version in gdb with an up-to-date + version from the assembler directory. + * m68k-pinsn.c (print_insn_arg): Added cases 'l' & 'L' to switch + to print register lists for movem instructions. + + * dbxread.c, m-convex.h: Moved convex dependent include files over + from dbxread.c to m-convex.h. + + * printcmd.c (disable_display, disable_display_command): Changed + name of first to second, and created first which takes an int as + arg rather than a char pointer. Changed second to use first. + (_initialize_printcmd): Changed to use second as command to call. + (delete_current_display, disable_current_display): Changed name of + first to second, and changed functionality to match. + * infrun.c (normal_stop), main.c (return_to_top_level): Changed to + call disable_current_display. + + * dbxread.c (process_one_symbol, read_dbx_symtab): Changed N_FN to + be N_FN | N_EXT to deal with new Berkeley define; this works with + either the old or the new. + + * Remote_Makefile, remote_gutils.c, remote_inflow.c, + remote_server.c, remote_utils.c: Created. + * Makefile: Included in tag and tar files. + * README: Included a note about them. + + * printcmd.c (print_address): Use find_pc_partial_function to + remove need to readin symtabs for symbolic addresses. + + * source.c (directory_command): Replaced function with new one + that can accept lists of directories seperated by spaces or :'s. + + * inflow.c (new_tty): Replaced calls to dup2 with calls to dup. + +Sun May 14 12:33:16 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * stack.c (args_info): Make sure that you have an inferior or core + file before taking action. + + * ns32k-opcode.h [deiw, deid]: Fixed machine code values for these + opcodes. + + * dbxread.c (scan_file_globals): Modified to use misc function + vector instead of file itself. Killed all arguments to the + funciton; no longer needed. + (psymtab_to_symtab): Changed call for above to reflect new (void) + argument list. + + * dbxread.c (read_dbx_symtab, ): Moved HASH_OFFSET define out of + read_dbx_symtab. + + * expread.y [variable]: Changed default type of misc function in + text space to be (void ()). + + * Makefile: Modified for proper number of s/r conflicts (order is + confusing; the mod that necessitated this change was on May 12th, + not today). + + * expread.y (yylex): Added SIGNED, LONG, SHORT, and INT keywords. + [typename]: Created. + [typebase]: Added rules for LONG, LONG INT, SHORT, SHORT INT, + SIGNED name, and UNSIGNED name (a good approximation of ansi + standard). + + * Makefile: Included .c.o rule to avoid sun's make from throwing + any curves at us. + + * blockframe.c: Included <obstack.h> + + * command.c (lookup_cmd): Clear out trailing whitespace. + + * command.c (lookup_cmd_1): Changed malloc to alloca. + +Fri May 12 12:13:12 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (print_frame_args): Only print nameless args when you + know how many args there are supposed to be and when you've + printed fewer than them. Don't print nameless args between + printed args. + + * symtab.c (make_symbol_completion_function): Fixed typo (= ==> + ==). + + * remote.c (remote_open): ifdef'd out siginterrupt call by #ifndef + NO_SIGINTERRUPT. + * m-umax.h: Defined NO_SIGINTERRUPT. + + * expread.y [ptype, array_mod, func_mod, direct_abs_decl, + abs_decl]: Added rules for parsing and creating arbitrarily + strange types for casts and sizeofs. + + * symtab.c, symtab.h (create_array_type): Created. Some minor + misfeatures; see comments for details (main one being that you + might end up creating two arrays when you only needed one). + +Thu May 11 13:11:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valops.c (value_zero): Add an argument for type of lval. + * eval.c (evaluate_subexp_for_address): Take address properly in + the avoid side affects case (ie. keep track of whether we have an + lval in memory and we can take the address). + (evaluate_subexp): Set the lval type of expressions created with + value_zero properley. + + * valops.c, value.h (value_zero): Created--will return a value of + any type with contents filled with zero. + * symtab.c, symtab.h (lookup_struct_elt_type): Created. + * eval.c (evaluate_subexp): Modified to not read memory when + called with EVAL_AVOID_SIDE_EFFECTS. + + * Makefile: Moved dbxread.c ahead of coffread.c in the list of + source files. + +Wed May 10 11:29:19 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * munch: Make sure that sysv version substitutes for the whole + line. + + * symtab.h: Created an enum misc_function_type to hold the type of + the misc function being recorded. + * dbxread.c (record_misc_function): Branched on dbx symbols to + decide which type to assign to a misc function. + * coffread.c (record_misc_function): Always assign type unknown. + * expread.y [variable]: Now tests based on new values. + +Tue May 9 13:03:54 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c: Changed inclusion of <strings.h> (doesn't work on + SYSV) to declaration of index. + + * Makefile: Changed last couple of READLINE_FLAGS SYSV_DEFINE + + * source.c ({forward, reverse}_search_command): Made a default + search file similar to for the list command. + +Mon May 8 18:07:51 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (print_frame_args): If we don't know how many + arguments there are to this function, don't print the nameless + arguments. We don't know enough to find them. + + * printcmd.c (print_frame_args): Call print_frame_nameless_args + with proper arguments (start & end as offsets from addr). + + * dbxread.c (read_addl_syms): Removed cases to deal with global + symbols; this should all be done in scan_global_symbols. + +Sun May 7 11:36:23 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Added copying.awk to ${OTHERS}. + +Fri May 5 16:49:01 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valprint.c (type_print_varspec_prefix): Don't pass + passed_a_pointer onto children. + + * valprint.c (type_print_varspec_suffix): Print "array of" with + whatever the "of" is after tha array brackets. + + * valprint.c (type_print_varspec_{prefix,suffix}): Arrange to + parenthesisze pointers to arrays as well as pointers to other + objects. + + * valprint.c (type_print_varspec_suffix): Make sure to print + subscripts of multi-dimensional arrays in the right order. + + * infcmd.c (run_command): Fixed improper usages of variables + within remote debugging branch. + + * Makefile: Added Convex.notes to the list of extra files to carry + around. + + * dbxread.c (symbol_file_command): Made use of alloca or malloc + dependent on macro define. + +Thu May 4 15:47:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Changed READLINE_FLAGS to SYSV_DEFINE and called munch + with it also. + * munch: Check first argument for -DSYSV and be looser about + picking up init routines if you find it. + + * coffread.c: Made fclose be of type int. + + * breakpoint.c (_initialize_breakpoint): Put "unset" into class + alias. + +Wed May 3 14:09:12 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h [STACK_END_ADDR]: Parameterized off of + machine/vmparam.h (as per John Gilmore's suggestion). + + * blockframe.c (get_prev_frame_info): Changed this function back + to checking frameless invocation first before checking frame + chain. This means that a backtrace up from start will produce the + wrong value, but that a backtrace from a frameless function called + in main will show up correctly. + + * breakpoint.c (_initialize_breakpoint): Added entry in help for + delete that indicates that unset is an alias for it. + + * main.c (symbol_completion_function): Modified recognition of + being within a single command. + +Tue May 2 15:13:45 1989 Randy Smith (randy at gnu) + + * expread.y [variable]: Add some parens to get checking of the + misc function vector right. + +Mon May 1 13:07:03 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * default-dep.c (core_file_command): Made reg_offset unsigned. + + * default-dep.c (core_file_command): Improved error messages for + reading in registers. + + * expread.y: Allowed a BLOCKNAME to be ok for a variable name (as + per C syntax). + + * dbxread.c (psymtab_to_symtab): Flushed stdout after printing + starting message about reading in symbols. + + * printcmd.c (print_frame_args): Switched starting place for + printing of frameless args to be sizeof int above last real arg + printed. + + * printcmd.c (print_frame_args): Modified final call to + print_nameless_args to not use frame slots used array if none had + been used. + + * infrun.c (wait_for_inferior): Take FUNCTION_START_OFFSET into + account when dealing with comparison of pc values to function + addresses. + + * Makefile: Added note about compiling gdb on a Vax running 4.3. + +Sun Apr 30 12:59:46 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * command.c (lookup_cmd): Got correct error message on bad + command. + + * m-sun3.h [ABOUT_TO_RETURN]: Modified to allow any of the return + instructions, including trapv and return from interupt. + + * command.c (lookup_cmd): If a command is found, use it's values + for error reporting and determination of needed subcommands. + + * command.c (lookup_cmd): Use null string for error if cmdtype is + null; pass *line to error instead of **. + + * command.c (lookup_cmd_1): End of command marked by anything but + alpha numeric or '-'. Included ctype.h. + +Fri Apr 28 18:30:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * source.c (select_source_symtab): Kept line number from ever + being less than 1 in main decode. + +Wed Apr 26 13:03:20 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * default-dep.c (core_file_command): Fixed typo. + + * utils.c (fprintf_filtered): Don't use return value from + numchars. + + * main.c, command.c (complete_on_cmdlist): Moved function to + command.c. + + * command.c (lookup_cmd): Modified to use my new routine. Old + version is still there, ifdef'd out. + + * command.c, command.h (lookup_cmd_1): Added a routine to do all + of the work of lookup_cmd with no error reporting and full return + of information garnered in search. + +Tue Apr 25 12:37:54 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * breakpoint.c (_initialize_breakpoint): Change "delete + breakpionts" to be in class alias and not have the abbrev flag + set. + + * main.c (symbol_completion_function): Fix to correctly complete + things that correspond to multiword aliases. + + * main.c (complete_on_cmdlist): Don't complete on something if it + isn't a command or prefix (ie. if it's just a help topic). + + * main.c (symbol_completion_function): Set list index to be 0 if + creating a list with just one element. + + * main.c (complete_on_cmdlist): Don't allow things with + abbrev_flag set to be completion values. + (symbol_completion_function): Don't accept an exact match if the + abbrev flag is set. + + * dbxread.c (read_type): Fixed typo in comparision to check if + type number existed. + + * dbxread.c (read_type): Made sure to only call dbx_lookup_type on + typenums if typenums were not -1. + +Mon Apr 24 17:52:12 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c: Added strings.h as an include file. + +Fri Apr 21 15:28:38 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c (lookup_partial_symtab): Changed to only return a match + if the name match is exact (which is what I want in all cases in + which this is currently used. + +Thu Apr 20 11:12:34 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * m-isi.h [REGISTER_U_ADDR]: Installed new version from net. + * default-dep.c: Deleted inclusion of fcntl.h; apparently not + necessary. + * Makefile: Added comment about compiling on isi under 4.3. + + * breakpoint.c (break_command_1): Only give decode_line_1 the + default_breakpoint_defaults if there's nothing better (ie. make + the default be off of the current_source notes if at all + possible). + + * blockframe.c (get_prev_frame_info): Clean up comments and + delete code ifdefed out around FRAMELESS_FUNCTION_INVOCATION test. + + * remote.c: Added a "?" message to protocol. + (remote_open): Used at startup. + (putpkt): Read whatever garbage comes over the line until we see a + '+' (ie. don't treat garbage as a timeout). + + * valops.c (call_function): Eliminated no longer appropriate + comment. + + * infrun.c (wait_for_inferior): Changed several convex conditional + compilations to be conditional on CANNOT_EXECUTE_STACK. + +Wed Apr 19 10:18:17 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (print_frame_args): Added code to attempt to deal + with arguments that are bigger than an int. + + Continuation of Convex/Fortran changes: + * printcmd.c (print_scalar_formatted): Added leading zeros to + printing of large integers. + (address_info, print_frame_args): Added code to deal with + LOC_REF_ARG. + (print_nameless_args): Allow param file to specify a routine with + which to print typeless integers. + (printf_command): Deal with long long values well. + * stack.c (print_frame_arg_vars): Change to deal with LOC_REF_ARG. + * symmisc.c (print_symbol): Change to deal with LOC_REF_ARG. + * symseg.h: Added LOC_REF_ARG to enum address_class. + * symtab.c (lookup_block_symbol): Changed to deal with + LOC_REF_ARG. + * valarith.c (value_subscripted_rvalue): Created. + (value_subscript): Used above when app. + (value_less, value_equal): Change to cast to (char *) before doing + comparison, for machines where that casting does something. + * valops.c (call_function): Setup to deal with machines where you + cannot execute code on the stack segment. + * valprint.c (val_print): Make sure that array element size isn't + zero before printing. Set address of default array to address of + first element. Put in a couple of int cast. Removed some convex + specific code. Added check for endianness of machine in case of a + packed structure. Added code for printing typeless integers and + for LONG LONG's. + (set_maximum_command): Change to use parse_and_eval_address to get + argument (so can use expressions there). + * values.c (value_of_internalvar, set_internalvar_component, + set_internalvar, convenience_info): Add in hooks for trapped + internal vars. + (unpack_long): Deal with LONG_LONG. + (value_field): Remove LONGEST cast. + (using_struct_return): Fixed typo ENUM ==> UNION. + * xgdb.c (_initialize_xgdb): Make sure that specify_exec_file_hook + is not called unless we are setting up a windowing environ. + +Tue Apr 18 13:43:37 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + Various changes involved in 1) getting gdb to work on the convex, + and 2) Getting gdb to work with fortran (due to convex!csmith): + * convex-dep.c, convex-opcode.h, m-convex.h, convex-pinsn.c: + Created (or replaced with new files). + * Makefile: Add convex dependent files. Changed default flags to + gnu malloc to be CFLAGS. + * config.gdb: Added convex to list of machines. + * core.c (files_info): Added a FILES_INFO_HOOK to be used if + defined. + (xfer_core_file): Conditionalized compilation of xfer_core_file on + the macro XFER_CORE_FILE. + * coffread.c (record_misc_function): Made sure it zerod type field + (which is now being used; see next). + * dbxread.c: Included some convex dependent include files. + (copy_pending, fix_common_blocks): Created. + [STAB_REG_REGNUM, BELIEVE_PCC_PROMOTION]: Created default values; + may be overridden in m-*.h. + Included data structures for keeping track of common blocks. + (dbx_alloc_type): Modified; if called with negative 1's will + create a type without putting it into the type vector. + (read_dbx_symtab, read_addl_syms): Modified calls to + record_misc_function to include the new information. + (symbol_file_command, psymtab_to_symtab, add_file_command): + Modified reading in of string table to adapt to machines which + *don't* store the size of the string table in the first four bytes + of the string table. + (read_dbx_symtab, scan_file_globals, read_ofile_symtab, + read_addl_syms): Modified assignment of namestring to accept null + index into symtab as ok. + (read_addl_syms): Modified readin of a new object file to fiddle + with common blocks correctly. + (process_one_symbol): Fixed incorrect comment about convex. Get + symbols local to a lexical context from correct spot on a per + machine basis. Catch a bug in pcc which occaisionally puts an SO + where there should be an SOL. Seperate sections for N_BCOMM & + N_ECOMM. + (define_symbol): Ignore symbols with no ":". Use + STAB_REG_TO_REGNUM. Added support for function args calling by + reference. + (read_type): Only read type number if one is there. Remove old + (#if 0'd out) array code. + (read_array_type): Added code for dealing with adjustable (by + parameter) arrays half-heartedly. + (read_enum_type): Allow a ',' to end a list of values. + (read_range_type): Added code to check for long long. + * expread.y: Modified to use LONGEST instead of long where + necessary. Modified to use a default type of int for objects that + weren't in text space. + * findvar.c (locate_var_value, read_var_value): Modified to deal + with args passed by reference. + * inflow.c (create_inferior): Used CREATE_INFERIOR_HOOK if it + exists. + * infrun.c (attach_program): Run terminal inferior when attaching. + (wait_for_inferior): Removed several convex dependencies. + * main.c (float_handler): Created. + Made whatever signal indicates a stop configurable (via macro + STOP_SIGNAL). + (main): Setup use of above as a signal handler. Added check for + "-nw" in args already processed. + (command_line_input): SIGTSTP ==>STOP_SIGNAL. + + * expread.y: Added token BLOCKNAME to remove reduce/reduce + conflict. + * Makefile: Change message to reflect new grammar. + +Mon Apr 17 13:24:59 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * printcmd.c (compare_ints): Created. + (print_frame_args): Modified to always print arguments in the + order in which they were found in the symbol table. Figure out + what apots are missing on the fly. + + * stack.c (up_command): Error if no inferior or core file. + + * m-i386.h, m-symmetry.h [FRAMELESS_FUNCTION_INVOCATION]: Created; + same as m68k. + + * dbxread.c (define_symbol): Changed "desc==0" test to + "processing_gcc_compilation", which is the correct way to do it. + +Sat Apr 15 17:18:38 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * expread.y: Added precedence rules for arglists, ?:, and sizeof + to eliminate some shift-reduce conflicts. + * Makefile: Modified "Expect" message to conform to new results. + +Thu Apr 13 12:29:26 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * inflow.c (terminal_init_inferior): Fixed typo in recent diff + installation; TIOGETC ==> TIOCGETC. + + * m-vax.h, m-sun2.h, m-sun3.h, m-sparc.h, m-hp*.h, m-isi.h, + m-news.h [FRAMELESS_FUNCTION_INVOCATION]: Created macro with + appropriate definition. + +Wed Apr 12 15:30:29 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * blockframe.c (get_prev_frame_info): Added in a macro to specify + when a "frame" is called without a frame pointer being setup. + + * Makefile [clean]: Made sure to delete gnu malloc if it was being + used. + +Mon Apr 10 12:43:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (process_one_symbol): Reset within_function to 0 after + last RBRAC of a function. + + * dbxread.c (read_struct_type): Changed check for filling in of + TYPE_MAIN_VARIANT of type. + + * inflow.c (create_inferior): Conditionalized fork so that it + would be used if USG was defined and HAVE_VFORK was not defined. + + * defs.h: Added comment about enum command_class element + class_alias. + + * dbxread.c (process_one_symbol): Fixed a typo with interesting + implications for associative processing in the brain (':' ==> 'c'). + + * sparc-dep.c (isabranch): Changed name to isannulled, modified to + deal with coprocessor branches, and improved comment. + (single_step): Changed to trap at npc + 4 instead of pc +8 on + annulled branches. Changed name in call to isabranch as above. + + * m-sun4os4.h (STACK_END_ADDRESS): Changed it to 0xf8000000 under + os 4.0. + +Sat Apr 8 17:04:07 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (process_one_symbol): In the case N_FUN or N_FNAME the + value being refered to is sometimes just a text segment variable. + Catch this case. + + * infrun.c (wait_for_inferior), breakpoint.c + (breakpoint_stop_status): Move the selection of the frame to + inside breakpoint_stop_status so that the frame only gets selected + (and the symbols potentially read in) if the symbols are needed. + + * symtab.c (find_pc_psymbol): Fixed minor misthough (pc >= + fucntion start, not >). + + * breakpoint.c (_initialize_breakpoint): Change "delete" internal + help entry to simply refer to it being a prefix command (since the + list of subcommands is right there on a "help delete"). + +Fri Apr 7 15:22:18 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * blockframe.c (find_pc_partial_function): Created; figures out + what function pc is in (name and address) without reading in any + new symbols. + * symtab.h: Added decl for above. + * infrun.c (wait_for_inferior): Used instead of + find_pc_function_start. + * stack.c (print_frame_info): Used instead of hand coding for same + thing. + + * dbxread.c (psymtab_to_symtab): No longer patch readin pst's out + of the partial_symtab_list; need them there for some checks. + * blockframe.c (block_for_pc), source.c (select_source_symtab), + symtab.c (lookup_symbol, find_pc_symtab, list_symbols): Made extra + sure not to call psymtab_to_symtab with ->readin == 1, since these + psymtab now stay on the list. + * symtab.c (sources_info): Now distinguishes between psymtabs with + readin set and those with it not set. + + * symtab.c (lookup_symtab): Added check through partial symtabs + for name with .c appended. + + * source.c (select_source_symtab): Changed semantics a little so + that the argument means something. + * source.c (list_command), symtab.c (decode_line_1): Changed call + to select_source_symtab to match new conventions. + + * dbxread.c (add_file_command): This command no longer selects a + symbol table to list from. + + * infrun.c (wait_for_inferior): Only call find_pc_function (to + find out if we have debugging symbols for a function and hence if + we should step over or into it) if we are doing a "step". + +Thu Apr 6 12:42:28 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (command_line_input): Added a local buffer and only + copied information into the global main.c buffer when it is + appropriate for it to be saved (and repeated). + (dont_repeat): Only nail line when we are reading from stdin + (otherwise null lines won't repeat and what's in line needs to be + saved). + (read_command_lines): Fixed typo; you don't what to repeat when + reading command lines from the input stream unless it's standard + input. + + John Gilmore's (gnu@toad.com) mods for USG gdb: + * inflow.c: Removed inclusion of sys/user.h; no longer necessary. + (, terminal_init_inferior, terminal_inferior, terminal_ours_1, + term_status_command, _initialize_inflow) Seperated out declaration + and usage of terminal mode structures based on the existence of + the individual ioctls. + * utils.c (request_quit): Restore signal handler under USG. If + running under USG initialize sys_siglist at run time (too much + variation between systems). + +Wed Apr 5 13:47:24 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + John Gilmore's (gnu@toad.com) mods for USG gdb: + * default-dep.c: Moved include of sys/user.h to after include of + a.out.h. + (store_inferior_registers): Fixed error message. + (core_file_command): Improved error messages from reading in of + u area in core file. Changed calculation of offset of registers + to account for some machines putting it in as an offset rather + than an absolute address. Changed error messages for reading of + registers from core file. + + * coffread.c (read_file_hdr): Added final check for BADMAG macro + to use if couldn't recognize magic number. + * Makefile: Added explicit directions for alloca addition. + Included alloca.c in list of possible library files. Cleaned up + possible library usage. Included additional information on gcc + and include files. + + * source.c, remote.c, inflow.c, dbxread.c, core.c, coffread.c: + Changed include of sys/fcntl.h to an include of fcntl.h (as per + posix; presumably this will break fewer machines. I hopw). + * README: Added a pointer to comments at top of Makefile. + * Makefile: Added a comment about machines which need fcntl.h in + sys. + +Tue Apr 4 11:29:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valprint.c (set_prettyprint_command, set_unionprint_command, + format_info): Created. + (_initialize_valprint): Added to lists of commands. + + * gdb.texinfo [Backtrace]: Added a section describing the format + if symbols have not yet been read in. + + * valprint.c (val_print): Added code to prettyprint structures if + "prettyprint" is set and only to print unions below the top level + if "unionprint" is set. + + * infcmd.c (registers_info), valprint.c (value_print, val_print): + Added argument to call to val_print indicating deptch of recursion. + + * symtab.[ch] (find_pc_psymbol): Created; finds static function + psymbol with value nearest to but under value passed. + * stack.c (print_frame_info): Used above to make sure I have best + fit to pc value. + + * symseg.h (struct partial_symbol): Added value field. + * dbxread.c (read_dbx_symtab): Set value field for partial symbols + saved (so that we can lookup static symbols). + + * symtab.[ch] (find_pc_symtab): Changed to external. + * stack.c (select_frame): Call above to make sure that symbols for + a selected frame is readin. + +Mon Apr 3 12:48:16 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * stack.c (print_frame_info): Modified to only print out full + stack frame info on symbols whose tables have been read in. + * symtab.c, symtab.h (find_pc_psymtab): Made function external; + above needed it. + + * main.c (,set_verbose_command, initialize_main): Created a + variable "info_verbose" which says to talk it up in various and + sundry places. Added command to set this variable. + * gdb.texinfo (GDB Output): Added documentation on "set verbose" + and changed the name of the "Screen Output" section to "GDB + Output". + * dbxread.c (psymtab_to_symtab): Added information message about + symbol readin. Conditionalized on above. + + * dbxread.c (define_symbol): Made an "i" constant be of class + LOC_CONST and an "r" constant be of class LOC_CONST_BYTES. + + * README: Made a note about modifications which may be necessary + to the manual for this version of gdb. + + * blockframe.c (get_prev_frame_info): Now we get saved address and + check for validity before we check for leafism. This means that + we will catch the fact that we are in start, but we will miss any + fns that start calls without an fp. This should be fine. + + * m-*.h (FRAME_CHAIN): Modified to return 0 if we are in start. + This is usually a test for within the first object file. + * m-sparc.h (FRAME_CHAIN): The test here is simply if the fp saved + off the the start sp is 0. + + * blockframe.c (get_prev_frame_info): Removed check to see if we + were in start. Screws up sparc. + + * m-sparc.h (FRAME_FIND_SAVED_REGISTERS): Changed test for dummy + frame to not need frame to be innermost. + + * gdb.texinfo: Added section on frameless invocations of functions + and when gdb can and can't deal with this. + + * stack.c (frame_info): Disallowed call if no inferior or core + file; fails gracefully if truely bad stack specfication has been + given (ie. parse_frame_specification returns 0). + +Fri Mar 31 13:59:33 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * infrun.c (normal_stop): Changed references to "unset-env" to + "delete env". + + * infcmd.c (_initialize_infcmd): Change reference to set-args in + help run to "set args". + + * remote.c (getpkt): Allow immediate quit when reading from + device; it could be hung. + + * coffread.c (process_coff_symbol): Modify handling of REG + parameter symbols. + +Thu Mar 30 15:27:23 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (symbol_file_command): Use malloc to allocate the + space for the string table in symbol_file_command (and setup a + cleanup for this). This allows a more graceful error failure if + there isn't any memory availible (and probably allows more memory + to be avail, depending on the machine). + + Additional mods for handling GNU C++ (from Tiemann): + * dbxread.c (read_type): Added case for '#' type (method type, I + believe). + (read_struct_type): If type code is undefined, make the main + variant for the type be itself. Allow recognition of bad format + in reading of structure fields. + * eval.c (evaluate_subexp): Modify evaluation of a member of a + structure and pointer to same to make sure that the syntax is + being used correctly and that the member is being accessed correctly. + * symseg.h: Added TYPE_CODE_METHOD to enum type_code. Add a + pointer to an array of argument types to the type structure. + * symtab.c (lookout_method_type, smash_to_method_type): Created. + * symtab.h (TYPE_ARG_TYPES): Created. + * valops.c (call_function): Modified handling of methods to be the + same as handling of functions; no longer check for members. + * valprint.c (val_print, type_print_varspec_{prefix,suffix}, + type_print_base): Added code to print method args correctly. + * values.c (value_virtual_fn_field): Modify access to virtual + function table. + +Wed Mar 29 13:19:34 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * findvar.c: Special cases for REGISTER_WINDOWS: 1) Return 0 if we + are the innermost frame, and 2) return the next frame in's value + if the SP is being looked for. + + * blockframe.c (get_next_frame): Created; returns the next (inner) + frame of the called frame. + * frame.h: Extern delcaration for above. + + * main.c (command_line_input): Stick null at end before doing + history expansion. + +Tue Mar 28 17:35:50 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Added namestring assignment to + N_DATA/BSS/ABS case. Sigh. + +Sat Mar 25 17:49:07 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * expread.y: Defined YYDEBUG. + +Fri Mar 24 20:46:55 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symtab.c (make_symbol_completion_list): Completely rewrote to + never call psymtab_to_symtab, to do a correct search (no + duplicates) through the visible symbols, and to include structure + and union fields in the things that it can match. + +Thu Mar 23 15:27:44 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (dbx_create_type): Created; allocates and inits space + for a type without putting it on the type vector lists. + (dbx_alloc_type): Uses above. + + * Makefile: xgdb.o now produced by default rules for .o.c. + +Fri Mar 17 14:27:50 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * infrun.c: Fixed up inclusion of aouthdr.h on UMAX_PTRACE. + + * Makefile, config.gdb: Added hp300bsd to potential + configurations. + * hp300bsd-dep.c, m-hp300bsd.h: Created. + + * infrun.c (wait_for_inferior): Rewrote to do no access to + inferior until we make sure it's still there. + + * inflow.c (inferior_died): Added a select to force the selected + frame to null when inferior dies. + + * dbxread.c (symbol_file_command): free and zero symfile when + discarding symbols. + + * core.c (xfer_core_file): Extended and cleaned up logic in + interpeting memory address. + + * core.c (xfer_core_file): Extended opening comment. + +Thu Mar 16 15:39:42 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * coffread.c (symbol_file_command): Free symfile name when freeing + contents. + + * blockframe.c (get_prev_frame_info): Added to fatal error message + to indicate that it should never happen. + + * stack.c (frame_info): Printed out value of "saved" sp seperately + to call attention to the fact that it isn't stored in memory + anywhere; the actual previous frames address is printed. + + * m-sparc.h (FRAME_FIND_SAVED_REGS): Set address of sp saved in + frame to value of fp (rather than value of sp in current frame). + + * expread.y: Allow "unsigned" as a type itself, as well as a type + modifier. + + * coffread.c: Added declaration for fclose + +Fri Mar 10 17:22:31 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (command_line_input): Checked for -1 return from + readline; indicates EOF. + +Fri Mar 3 00:31:27 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * remote.c (remote_open): Cast return from signal to (void (*)) to + avoid problems on machines where the return type of signal is (int + (*)). + + * Makefile: Removed deletion of version control from it (users + will need it for their changes). + +Thu Mar 2 15:32:21 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symmetry-dep.c (print_1167_regs): Print out effective doubles on + even number regs. + (fetch_inferior_registers): Get the floating point regs also. + + * xgdb.c (do_command): Copied command before calling execute + command (so that execute_command wouldn't write into text space). + + * copying.awk: Created (will produce copying.c as output when + given COPYING as input). + * Makefile: Used above to create copying.c. + * main.c: Took out info_warranty and info_copying. + + * *.*: Changed copyright notice to use new GNU General Public + License (includes necessary changes to manual). + + * xgdb.c (create_text_widget): Created text_widget before I create + the source and sink. + (print_prompt): Added fflush (stdout). + + * Makefile: Added -lXmu to the compilation line for xgdb. Left + the old one there incase people still had R2. + + * README: Added note about -gg format. + + * remote.c (getpkt): Fixed typo; && ==> &. + + * Makefile: Added new variable READLINE_FLAGS so that I could + force compilation of readline.c and history.c with -DSYSV on + system V machines. Mentioned in Makefile comments at top. + +Wed Mar 1 17:01:01 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * hp9k320-dep.c (store_inferior_registers): Fixed typo. + +Fri Feb 24 14:58:45 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * hp9k320-dep.c (store_inferior_registers, + fetch_inferior_registers): Added support for remote debugging. + + * remote.c (remote_timer): Created. + (remote_open, readchar): Setup to timeout reads if they take + longer than "timeout". This allows one to debug how long such + things take. + (putpkt): Modified to print a debugging message (if such things + are enabled) each time it resends a packet. + (getpkt): Modified to make the variable CSUM unsigned and read it + CSUM with an & 0xff (presumably to deal with poor sign extension + on some machines). Also made c1 and c2 unsigned. + (remote_wait): Changed buffer to unsigned status. + (remote_store_registers, remote_write_bytes): Puts a null byte at + the end of the control string. + + * infcmd.c (attach_command, detach_command, _initialize_infcmd): + Made attach_command and detach_command always availible, but + modified them to only allow device file attaches if ATTACH_DETACH + is not defined. + + * gdb.texinfo: Added cross reference from attach command to remote + debugging. + +Thu Feb 23 12:37:59 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * remote.c (remote_close): Created to close the remote connection + and set the remote_debugging flag to 0. + * infcmd.c (detach_command): Now calls the above when appropriate. + + * gdb.texinfo: Removed references to the ``Distribution'' section + in the copyright. + + * main.c, utils.c (ISATTY): Created default defintions of this + macro which use isatty and fileno. + * utils.c (fprintf_filtered, print_spaces_filtered), main.c + (command_loop, command_line_input): Used this macro. + * m-news.h: Created a definition to override this one. + + * utils.c (fprintf_filtered): Made line_size static (clueless). + + * utils.c (fprintf_filtered): Changed max length of line printed + to be 255 chars or twice the format length. + + * symmetry-dep.c, m-symmetry: Fixed typo (^L ==> ). + + * printcmd.c (do_examine): Fixed typo (\n ==> \t). + +Wed Feb 22 16:00:33 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + Contributed by Jay Vosburgh (jay@mentor.cc.purdue.edu) + * m-symmetry.h, symmetry-dep.c: Created. + * Makefile: Added above in appropriate lists. + * config.gdb: Added "symmetry" target. + + * utils.c (prompt_for_continue): Zero'd chars_printed also. + + * utils.c (fprintf_filtered): Call prompt for continue instead of + doing it yourself. + + * dbxread.c (read_dbx_symtab): Added code to conditionalize what + symbol type holds to "x.o" or "-lx" symbol that indicates the + beginning of a new file. + +Tue Feb 21 16:22:13 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * gdb.texinfo: Deleted @ignore block at end of file. + + * findvar.c, stack.c: Changed comments that refered to "frame + address" to "frame id". + + * findvar.c (locate_var_value): Modified so that taking the + address of an array generates an object whose type is a pointer to + the elements of the array. + +Sat Feb 18 16:35:14 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * gdb.texinfo: Removed reference to "!" as a shell escape + character. Added a section on controling screen output + (pagination); changing "Input" section to "User Interface" + section. Changed many inappropriate subsubsection nodes into + subsections nodes (in the readline and history expansion + sections). + +Fri Feb 17 11:10:54 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * utils.c (set_screensize_command): Created. + (_initialize_utils): Added above to setlist. + + * main.c (main): Added check to see if ~/.gdbinit and .gdbinit + were the same file; only one gets read if so. Had to include + sys/stat.h for this. + + * valprint.c (type_print_base): Changed calls to print_spaces to + print_spaces_filtered. + + * main.c (command_line_input): Chaned test for command line + editing to check for stdin and isatty. + + * main.c (command_loop): Call reinitialize_more_filter before each + command (if reading from stdin and it's a tty). + utils.c (initialize_more_filter): Changed name to + reinitialize_more_filter; killed arguments. + utils.c (_initialize_utils): Created; initialized lines_per_page + and chars_per_line here. + + * utils.c (fprintf_filtered): Removed printing of "\\\n" after + printing linesize - 1 chars; assume that the screen display will + take care of that. Still watching that overflow. + + * main.c: Created the global variables linesize and pagesize to + describe the number of chars per line and lines per page. + +Thu Feb 16 17:27:43 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * printcmd.c (do_examine, print_scalar_formatted, print_address, + whatis_command, do_one_display, ptype_command), valprint.c + (value_print, val_print, type_print_method_args, type_print_1, + type_print_derivation_info, type_print_varspec_suffix, + type_print_base), breakpoint.c (breakpoints_info, breakpoint_1), + values.c (history_info), main.c (editing_info, warranty_info, + copying_info), infcmd.c (registers_info), inflow.c + (term_status_command), infrun.c (signals_info), stack.c + (backtrace_command, print_frame_info), symtab.c (list_symbols, + output_source_filename), command.c (help_cmd, help_list, + help_command_list): Replaced calls to printf, fprintf, and putc + with calls to [f]printf_filtered to handle more processing. + Killed local more emulations where I noticed them. + +Wed Feb 15 15:27:36 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * defs.h, utils.c (initialize_more_filter, fprintf_filtered, + printf_filtered): Created a printf that will also act as a more + filter, prompting the user for a <return> whenever the page length + is overflowed. + + * symtab.c (list_symbols): Elminated some code inside of an #if 0. + +Tue Feb 14 11:11:24 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * Makefile: Turned off backup versions for this file; it changes + too often. + + * command.c (lookup_cmd, _initialize_command): Changed '!' so that + it was no longer a shell escape. "sh" must be used. + + * main.c (command_line_input, set_history_expansion, + initialize_main): Turned history expansion on, made it the + default, and only execute it if the first character in the line is + a '!'. + + * version.c, gdb.texinfo: Moved version to 3.2 (as usual, jumping + the gun some time before release). + + * gdb.texinfo: Added sections (adapted from Brian's notes) on + command line editing and history expansion. + + * main.c (set_command_editing, initialize_main): Modified name to + set_editing and modified command to "set editing". + + * Makefile: Put in dependencies for READLINEOBJS. + + * main.c (history_info, command_info): Combined into new command + info; deleted history_info. + (initialize_main): Deleted "info history" command; it was + interfering with the value history. + + * coffread.c (enter_linenos): Modified to do bit copy instead of + pointer dereference, since the clipper machine can't handle having + longs on short boundaries. + (read_file_hdr): Added code to get number of syms for clipper. + + * stack.c (return_command): Fixed method for checking when all of + the necessary frames had been popped. + + * dbxread.c (read_dbx_symtab (ADD_PSYMBOL_TO_LIST)): Fixed typo in + allocation length. + +Mon Feb 13 10:03:27 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Split assignment to namestring into + several different assignments (so that it wouldn't be done except + when it had to be). Shortened switches and duplicated code to + produce the lowest possible execution time. Commented (at top of + switch) which code I duplicated. + + * dbxread.c (read_dbx_symtab): Modified which variables were + register and deleted several variables which weren't used. Also + eliminated 'F' choice from subswitch, broke out strcmp's, reversed + compare on line 1986, and elminated test for !namestring[0]; it is + caught by following test for null index of ':'. + +Sun Feb 12 12:57:56 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * main.c (gdb_completer_word_break_characters): Turned \~ into ~. + +Sat Feb 11 15:39:06 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * symtab.c (find_pc_psymtab): Created; checks all psymtab's till + it finds pc. + (find_pc_symtab): Used; fatal error if psymtab found is readin + (should have been caught in symtab loop). + (lookup_symbol): Added check before scan through partial symtab + list for symbol name to be on the misc function vector (only if in + VAR_NAMESPACE). Also made sure that psymtab's weren't fooled with + if they had already been read in. + (list_symbols): Checked through misc_function_vector for matching + names if we were looking for functions. + (make_symbol_completion_list): Checked through + misc_function_vector for matching names. + * dbxread.c (read_dbx_symtab): Don't bother to do processing on + global function types; this will be taken care of by the + misc_function hack. + + * symtab.h: Modified comment on misc_function structure. + +Fri Feb 10 18:09:33 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * symseg.h, dbxread.c (read_dbx_symtab, init_psymbol_list, + start_psymtab, end_psymtab), coffread.c (_initialize_coff), + symtab.c (lookup_partial_symbol, list_symbols, + make_symbol_completion_list): Changed separate variables for + description of partial symbol allocation into a specific kind of + structure. + + (read_dbx_symtab, process_symbol_for_psymtab): Moved most of + process_symbol_for_psymtab up into read_dbx_symtab, moved a couple + of symbol types down to the ingore section, streamlined (I hope) + code some, modularized access to psymbol lists. + +Thu Feb 9 13:21:19 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (command_line_input): Made sure that it could recognize + newlines as indications to repeat the last line. + + * symtab.c (_initialize_symtab): Changed size of builtin_type_void + to be 1 for compatibility with gcc. + + * main.c (initialize_main): Made history_expansion the default + when gdb is compiled with HISTORY_EXPANSION. + + * readline.c, readline.h, history.c, history.h, general.h, + emacs_keymap.c, vi_keymap.c, keymaps.c, funmap.c: Made all of + these links to /gp/gnu/bash/* to keep them updated. + * main.c (initialize_main): Made default be command editing on. + +Wed Feb 8 13:32:04 1989 & Smith (randy at hobbes) + + * dbxread.c (read_dbx_symtab): Ignore N_BSLINE on first + readthrough. + + * Makefile: Removed convex-dep.c from list of distribution files. + +Tue Feb 7 14:06:25 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c: Added command lists sethistlist and unsethistlist to + accesible command lists. + (parse_binary_operation): Created to parse a on/1/yes vs. off/0/no + spec. + (set_command_edit, set_history, set_history_expansion, + set_history_write, set_history_size, set_history_filename, + command_info, history_info): Created to allow users to control + various aspects of command line editing. + + * main.c (symbol_creation_function): Created. + (command_line_input, initialize_main): Added rest of stuff + necessary for calling bfox' command editing routines under + run-time control. + * Makefile: Included readline and history source files for command + editing; also made arrangements to make sure that the termcap + library was available. + * symtab.c (make_symbol_completion_list): Created. + +Mon Feb 6 16:25:25 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c: Invented variables to control command editing. + command_editing_p, history_expansion_p, history_size, + write_history_p, history_filename. Initialized them to default + values in initialize_main. + + * infcmd.c (registers_info), infrun.c (signals_info), + * main.c (gdb_read_line): Changed name to command_line_input. + (readline): Changed name to gdb_readline; added second argument + indicating that the read value shouldn't be saved (via malloc). + * infcmd.c (registers_info), infrun.c (signals_info), main.c + (copying_info), symtab.c (output_source_filename, MORE, + list_symbols): Converted to use gdb_readline in place of + gdb_read_line. + + +Sun Feb 5 17:34:38 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * blockframe.c (get_frame_saved_regs): Removed macro expansion + that had accidentally been left in the code. + +Sat Feb 4 17:54:14 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * main.c (gdb_read_line, readline): Added function readline and + converted gdb_read_line to use it. This was a conversion to the + line at a time style of input, in preparation for full command + editing. + +Fri Feb 3 12:39:03 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Call end_psymtab at the end of + read_dbx_symtab if any psymtab still needs to be completed. + + * config.gdb, sun3-dep.c: Brought these into accord with the + actual sun2 status (no floating point period; sun3-dep.c unless + has os > 3.0). + * m-sun2os2.h: Deleted; not needed. + + * config.gdb: Added a couple of aliases for machines in the + script. + + * infrun.c: Added inclusion of aouthdr.h inside of #ifdef UMAX + because ptrace needs to know about the a.out header. + + * Makefile: Made dep.o depend on dep.c and config.status only. + + * expread.y: Added declarations of all of the new write_exp_elt + functions at the include section in the top. + + * Makefile: Added a YACC definition so that people can use bison + if they wish. + + * Makefile: Added rms' XGDB-README to the distribution. + + * Makefile: Added removal of init.o on a "make clean". + +Thu Feb 2 16:27:06 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * *-dep.c: Deleted definition of COFF_FORMAT if AOUTHDR was + defined since 1) We *may* (recent mail message) want to define + AOUTHDR under a basically BSD system, and 2) AOUTHDR is sometimes + a typedef in coff encapsulation setups. Also removed #define's of + AOUTHDR if AOUTHDR is already defined (inside of coff format). + * core.c, dbxread.c: Removed #define's of AOUTHDR if AOUTHDR is + already defined (inside of coff format). + +Tue Jan 31 12:56:01 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * GDB 3.1 released. + + * values.c (modify_field): Changed test for endianness to assign + to integer and reference character (so that all bits would be + defined). + +Mon Jan 30 11:41:21 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * news-dep.c: Deleted inclusion of fcntl.h; just duplicates stuff + found in sys/file.h. + + * i386-dep.c: Included default definition of N_SET_MAGIC for + COFF_FORMAT. + + * config.gdb: Added checks for several different operating + systems. + + * coffread.c (read_struct_type): Put in a flag variable so that + one could tell when you got to the end of a structure. + + * sun3-dep.c (core_file_command): Changed #ifdef based on SUNOS4 + to ifdef based on FPU. + + * infrun.c (restore_inferior_status): Changed error message to + "unable to restore previously selected frame". + + * dbxread.c (read_dbx_symtab): Used intermediate variable in error + message reporting a bad symbol type. (scan_file_globals, + read_ofile_symtab, read_addl_syms): Data type of "type" changed to + unsigned char (which is what it is). + * i386-dep.c: Removed define of COFF_FORMAT if AOUTHDR is defined. + Removed define of a_magic to magic (taken care of by N_MAGIC). + (core_file_command): Zero'd core_aouthdr instead of setting magic + to zero. + * i386-pinsn.c: Changed jcxz == jCcxz in jump table. + (putop): Added a case for 'C'. + (OP_J): Added code to handle possible masking of PC value on + certain kinds of data. + m-i386gas.h: Moved COFF_ENCAPSULATE to before inclusion of + m-i386.h and defined NAMES_HAVE_UNDERSCORE. + + * coffread.c (unrecrod_misc_function, read_coff_symtab): Added + symbol number on which error occured to error output. + +Fri Jan 27 11:55:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Removed init.c in make clean. Removed it without -f + and with leading - in make ?gdb. + +Thu Jan 26 15:08:03 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + Changes to get it to work on gould NP1. + * dbxread.c (read_dbx_symtab): Included cases for N_NBDATA and + N_NBBSS. + (psymtab_to_symtab): Changed declaration of hdr to + DECLARE_FILE_HEADERS. Changed access to use STRING_TABLE_SIZE and + SYMBOL_TABLE_SIZE. + * gld-pinsn.c (findframe): Added declaration of framechain() as + FRAME_ADDR. + + * coffread.c (read_coff_symtab): Avoided treating typedefs as + external symbol definitions. + +Wed Jan 25 14:45:43 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Makefile: Removed reference to alloca.c. If they need it, they + can pull alloca.o from the gnu-emacs directory. + + * version.c, gdb.texinfo: Updated version to 3.1 (jumping the gun + a bit so that I won't forget when I release). + + * m-sun2.h, m-sun2os2.h, m-sun3os4.h, config.gdb: Modified code so + that default includes new sun core, ptrace, and attach-detach. + Added defaults for sun 2 os 2. + + Modifications to reset stack limit back to what it used to be just + before exec. All mods inside of #ifdef SET_STACK_LIMIT_HUGE. + * main.c: Added global variable original_stack_limit. + (main): Set original_stack_limit to original stack limit. + * inflow.c: Added inclusion of necessary files and external + reference to original_stack_limit. + (create_inferior): Reset stack limit to original_stack_limit. + + * dbxread.c (read_dbx_symtab): Killed PROFILE_SYMBOLS ifdef. + + * sparc-dep.c (isabranch): Multiplied offset by 4 before adding it + to addr to get target. + + * Makefile: Added definition of SHELL to Makefile. + + * m-sun2os4.h: Added code to define NEW_SUN_PTRACE, NEW_SUN_CORE, + and ATTACH_DETACH. + * sun3-dep.c: Added code to avoid fp regs if we are on a sun2. + +Tue Jan 24 17:59:14 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_array_type): Added function. + (read_type): Added call to above instead of inline code. + + * Makefile: Added ${GNU_MALLOC} to the list of dependencies for + the executables. + +Mon Jan 23 15:08:51 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * gdb.texinfo: Added paragraph to summary describing languages + with which gdb can be run. Also added descriptions of the + "info-methods" and "add-file" commands. + + * symseg.h: Commented a range type as having TYPE_TARGET_TYPE + pointing at the containing type for the range (often int). + * dbxread.c (read_range_type): Added code to do actual range types + if they are defined. Assumed that the length of a range type is + the length of the target type; this is a lie, but will do until + somebody gets back to me as to what these silly dbx symbols mean. + + * dbxread.c (read_range_type): Added code to be more picky about + recognizing builtins as range types, to treat types defined as + subranges of themselves to be subranges of int, and to recognize + the char type idiom from dbx as a special case. + +Sun Jan 22 01:00:13 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-vax.h: Removed definition of FUNCTION_HAS_FRAME_POINTER. + * blockframe.c (get_prev_frame_info): Removed default definition + and use of above. Instead conditionalized checking for leaf nodes + on FUNCTION_START_OFFSET (see comment in code). + +Sat Jan 21 16:59:19 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_range_type): Fixed assumption that integer was + always type 1. + + * gdb.texinfo: Fixed spelling mistake and added a note in the + running section making it clear that users may invoke subroutines + directly from gdb. + + * blockframe.c: Setup a default definition for the macro + FUNCTION_HAS_FRAME_POINTER. + (get_prev_frame_info): Used this macro instead of checking + SKIP_PROLOGUE directly. + * m-vax.h: Overroad definition; all functions on the vax have + frame pointers. + +Fri Jan 20 12:25:35 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * core.c: Added default definition of N_MAGIC for COFF_FORMAT. + + * xgdb.c: Installed a fix to keep the thing from dying when there + isn't any frame selected. + + * core.c: Made a change for the UMAX system; needs a different + file included if using that core format. + + * Makefile: Deleted duplicate obstack.h in dbxread.c dependency. + + * munch: Modified (much simpler) to cover (I hope) all cases. + + * utils.c (save_cleanups, restore_cleanups): Added functions to + allow you to push and pop the chain of cleanups to be done. + * defs.h: Declared the new functions. + * main.c (catch_errors): Made sure that the only cleanups which + would be done were the ones put on the chain *after* the current + location. + + * m-*.h (FRAME_CHAIN_VALID): Removed check on pc in the current + frame being valid. + * blockframe.c (get_prev_frame_info): Made the assumption that if + a frame's pc value was within the first object file (presumed to + be /lib/crt0.o), that we shouldn't go any higher. + + * infrun.c (wait_for_inferior): Do *not* execute check for stop pc + at step_resume_break if we are proceeding over a breakpoint (ie. + if trap_expected != 0). + + * Makefile: Added -g to LDFLAGS. + + * m-news.h (POP_FRAME) Fixed typo. + + * printcmd.c (print_frame_args): Modified to print out register + params in order by .stabs entry, not by register number. + + * sparc-opcode.h: Changed declaration of (struct + arith_imm_fmt).simm to be signed (as per architecture manual). + * sparc-pinsn.c (fprint_addr1, print_insn): Forced a cast to an + int, so that we really would get signed behaivior (default for sun + cc is unsigned). + + * i386-dep.c (i386_get_frame_setup): Replace function with new + function provided by pace to fix bug in recognizing prologue. + +Thu Jan 19 11:01:22 1989 Randall Smith (randy at plantaris.ai.mit.edu) + + * infcmd.c (run_command): Changed error message to "Program not + restarted." + + * value.h: Changed "frame" field in value structure to be a + FRAME_ADDR (actually CORE_ADDR) so that it could survive across + calls. + + * m-sun.h (FRAME_FIND_SAVED_REGS): Fixed a typo. + + * value.h: Added lval: "lval_reg_frame_relative" to indicate a + register that must be interpeted relative to a frame. Added + single entry to value structure: "frame", used to indicate which + frame a relative regnum is relative to. + * findvar.c (value_from_register): Modified to correctly setup + these fields when needed. Deleted section to fiddle with last + register copied on little endian machine; multi register + structures will always occupy an integral number of registers. + (find_saved_register): Made extern. + * values.c (allocate_value, allocate_repeat_value): Zero frame + field on creation. + * valops.c (value_assign): Added case for lval_reg_frame_relative; + copy value out, modify it, and copy it back. Desclared + find_saved_register as being external. + * value.h: Removed addition of kludgy structure; thoroughly + commented file. + * values.c (free_value, free_all_values, clear_value_history, + set_internalvar, clear_internavars): Killed free_value. + +Wed Jan 18 20:09:39 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * value.h: Deleted struct partial_storage; left over from + yesterday. + + * findvar.c (value_from_register): Added code to create a value of + type lval_reg_partsaved if a value is in seperate registers and + saved in different places. + +Tue Jan 17 13:50:18 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * value.h: Added lval_reg_partsaved to enum lval_type and + commented enum lval_type. Commented value structure. + Added "struct partial_register_saved" to value struct; added + macros to deal with structure to value.h. + * values.c (free_value): Created; special cases lval_reg_partsaved + (which has a pointer to an array which also needs to be free). + (free_all_values, clear_value_history, set_internalvar, + clear_internalvars): Modified to use free_values. + + * m-sunos4.h: Changed name to sun3os4.h. + * m-sun2os4.h, m-sun4os4.h: Created. + * config.gdb: Added configuration entries for each of the above. + * Makefile: Added into correct lists. + + * Makefile: Added dependencies on a.out.encap.h. Made + a.out.encap.h dependent on a.out.gnu.h and dbxread.c dependent on + stab.gnu.h. + + * infrun.c, remote.c: Removed inclusion of any a.out.h files in + these files; they aren't needed. + + * README: Added comment about bug reporting and comment about + xgdb. + + * Makefile: Added note to HPUX dependent section warning about + problems if compiled with gcc and mentioning the need to add + -Ihp-include to CFLAGS if you compile on those systems. Added a + note about needing the GNU nm with compilers *of gdb* that use the + coff encapsulate feature also. * hp-include: Made symbolic link + over to /gp/gnu/binutils. + + * Makefile: Added TSOBS NTSOBS OBSTACK and REGEX to list of things + to delete in "make clean". Also changed "squeakyclean" target as + "realclean". + + * findvar.c (value_from_register): Added assignment of VALUE_LVAL + to be lval_memory when that is appropriate (original code didn't + bother because it assumed that it was working with a pre lval + memoried value). + + * expread.y (yylex): Changed to only return type THIS if the + symbol "$this" is defined in some block superior or equal to the + current expression context block. + +Mon Jan 16 13:56:44 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-*.h (FRAME_CHAIN_VALID): On machines which check the relation + of FRAME_SAVED_PC (thisframe) to first_object_file_end (all except + gould), make sure that the pc of the current frame also passes (in + case someone stops in _start). + + * findvar.c (value_of_register): Changed error message in case of + no inferior or core file. + + * infcmd.c (registers_info): Added a check for inferior or core + file; error message if not. + + * main.c (gdb_read_line): Modified to take prompt as argument and + output it to stdout. + * infcmd.c (registers_info, signals_info), main.c (command_loop, + read_command_lines, copying_info), symtab.c (decode_line_2, + output_source_filename, MORE, list_symbols): Changed calling + convention used to call gdb_read_line. + + * infcmd.c, infrun.c, main.c, symtab.c: Changed the name of the + function "read_line" to "gdb_read_line". + * breakpoint.c: Deleted external referenced to function + "read_line" (not needed by code). + +Fri Jan 13 12:22:05 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * i386-dep.c: Include a.out.encap.h if COFF_ENCAPSULATE. + (N_SET_MAGIC): Defined if not defined by include file. + (core_file_command): Used N_SET_MAGIC instead of assignment to + a_magic. + (exec_file_command): Stuck in a HEADER_SEEK_FD. + + * config.gdb: Added i386-dep.c as depfile for i386gas choice. + + * munch: Added -I. to cc to pick up things included by the param + file. + + * stab.gnu.def: Changed name to stab.def (stab.gnu.h needs this name). + * Makefile: Changed name here also. + * dbxread.c: Changed name of gnu-stab.h to stab.gnu.h. + + * gnu-stab.h: Changed name to stab.gnu.h. + * stab.gnu.def: Added as link to binutils. + * Makefile: Put both in in the distribution. + +Thu Jan 12 11:33:49 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c: Made which stab.h is included dependent on + COFF_ENCAPSULATE; either <stab.h> or "gnu-stab.h". + * Makefile: Included gnu-stab.h in the list of files to include in + the distribution. + * gnu-stab.h: Made a link to /gp/gnu/binutils/stab.h + + * Makefile: Included a.out.gnu.h and m-i386gas.h in list of + distribution files. + * m-i386gas.h: Changed to include m-i386.h and fiddle with it + instead of being a whole new file. + * a.out.gnu.h: Made a link to /gp/gnu/binutils/a.out.gnu.h. + + Chris Hanson's changes to gdb for hp Unix. + * Makefile: Modified comments on hpux. + * hp9k320-dep.c: #define'd WOPR & moved inclusion of signal.h + * inflow.c: Moved around declaratiosn of <sys/fcntl.h> and + <sys/ioctl.h> inside of USG depends and deleted all SYSV ifdef's + (use USG instead). + * munch: Modified to accept any number of spaces between the T and + the symbol name. + + Pace's changes to gdb to work with COFF_ENCAPSULATE (robotussin): + * config.gdb: Added i386gas to targets. + * default-dep.c: Include a.out.encap.h if COFF_ENCAPSULATE. + (N_SET_MAGIC): Defined if not defined by include file. + (core_file_command): Used N_SET_MAGIC instead of assignment to a_magic. + (exec_file_command): Stuck in a HEADER_SEEK_FD. + * infrun.c, remote.c: Added an include of a.out.encap.h if + COFF_ENCAPSULATE defined. This is commented out in these two + files, I presume because the definitions aren't used. + * m-i386gas.h: Created. + * dbxread.c: Included defintions for USG. + (READ_FILE_HEADERS): Now uses HEADER_SEEK_FD if it exists. + (symbol_file_command): Deleted use of HEADER_SEEK_FD. + * core.c: Deleted extra definition of COFF_FORMAT. + (N_MAGIC): Defined to be a_magic if not already defined. + (validate_files): USed N_MAGIC instead of reading a_magic. + +Wed Jan 11 12:51:00 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * remote.c: Upped PBUFSIZ. + (getpkt): Added zeroing of c inside loop in case of error retry. + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): Removed + code to not put stuff with debugging symbols in the misc function + list. Had been ifdef'd out. + + * gdb.texinfo: Added the fact that the return value for a function + is printed if you use return. + + * infrun.c (wait_for_inferior): Removed test in "Have we hit + step_resume_breakpoint" for sp values in proper orientation. Was + in there for recursive calls in functions without frame pointers + and it was screwing up calls to alloca. + + * dbxread.c: Added #ifdef COFF_ENCAPSULATE to include + a.out.encap.h. + (symbol_file_command): Do HEADER_SEEK_FD when defined. + * dbxread.c, core.c: Deleted #ifdef ROBOTUSSIN stuff. + * robotussin.h: Deleted local copy (was symlink). + * a.out.encap.h: Created symlink to + /gp/gnu/binutils/a.out.encap.h. + * Makefile: Removed robotussin.h and included a.out.encap.h in + list of files. + + * valprint.c (val_print, print_scalar_formatted): Changed default + precision of printing float value; now 6 for a float and 16 for a + double. + + * findvar.c (value_from_register): Added code to deal with the + case where a value is spread over several registers. Still don't + deal with the case when some registers are saved in memory and + some aren't. + +Tue Jan 10 17:04:04 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * xgdb.c (xgdb_create_window): Removed third arg (XtDepth) to + frameArgs. + + * infrun.c (handle_command): Error if signal number is less or + equal to 0 or greater or equal to NSIG or a signal number is not + provided. + + * command.c (lookup_cmd): Modified to not convert command section + of command line to lower case in place (in case it isn't a + subcommand, but an argument to a command). + +Fri Jan 6 17:57:34 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c: Changed "text area" to "data area" in comments on + N_SETV. + +Wed Jan 4 12:29:54 1989 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c: Added definitions of gnu symbol types after inclusion + of a.out.h and stab.h. + +Mon Jan 2 20:38:31 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * eval.c (evaluate_subexp): Binary logical operations needed to + know type to determine whether second value should be evaluated. + Modified to discover type before binup_user_defined_p branch. + Also commented "enum noside". + + * Makefile: Changed invocations of munch to be "./munch". + + * gdb.texinfo: Updated to refer to current version of gdb with + January 1989 last update. + + * coffread.c (end_symtab): Zero context stack when finishing + lexical contexts. + (read_coff_symtab): error if context stack 0 in ".ef" else case. + + * m-*.h (FRAME_SAVED_PC): Changed name of argument from "frame" to + "FRAME" to avoid problems with replacement of "->frame" part of + macro. + + * i386-dep.c (i386_get_frame_setup): Added codestream_get() to + move codestream pointer up to the correct location in "subl $X, + %esp" case. + +Sun Jan 1 14:24:35 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * valprint.c (val_print): Rewrote routine to print string pointed + to by char pointer; was producing incorrect results when print_max + was 0. + +Fri Dec 30 12:13:35 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): Put + everything on the misc function list. + + * Checkpointed distribution. + + * Makefile: Added expread.tab.c to the list of things slated for + distribution. + +Thu Dec 29 10:06:41 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * stack.c (set_backtrace_limit_command, backtrace_limit_info, + bactrace_command, _initialize_stack): Removed modifications for + limit on backtrace. Piping the backtrace through an interuptable + "more" emulation is a better way to do it. + +Wed Dec 28 11:43:09 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * stack.c + (set_backtrace_limit_command): Added command to set a limit to the + number of frames for a backtrace to print by default. + (backtrace_limit_info): To print the current limit. + (backtrace_command): To use the limit. + (_initialize_stack): To initialize the limit to its default value + (30), and add the set and info commands onto the appropriate + command lists. + + * gdb.texinfo: Documented changes to "backtrace" and "commands" + commands. + + * stack.c (backtrace_command): Altered so that a negative argument + would show the last few frames on the stack instead of the first + few. + (_initialize_stack): Modified help documentation. + + * breakpoint.c (commands_command): Altered so that "commands" with + no argument would refer to the last breakpoint set. + (_initialize_breakpoint): Modified help documentation. + + * infrun.c (wait_for_inferior): Removed ifdef on Sun4; now you can + single step through compiler generated sub calls and will die if + you next off of the end of a function. + + * sparc-dep.c (single_step): Fixed typo; "break_insn" ==> "sizeof + break_insn". + + * m-sparc.h (INIT_EXTRA_FRAME_INFO): Set the bottom of a stack + frame to be the bottom of the stack frame inner from this, if that + inner one is a leaf node. + + * dbxread.c (read_dbx_symtab): Check to make sure we don't add a + psymtab to it's own dependency list. + + * dbxread.c (read_dbx_symtab): Modified check for duplicate + dependencies to catch them correctly. + +Tue Dec 27 17:02:09 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-*.h (FRAME_SAVED_PC): Modified macro to take frame info + pointer as argument. + * stack.c (frame_info), blockframe.c (get_prev_frame_info), + gld-pinsn.c (findframe), m-*.h (SAVED_PC_AFTER_CALL, + FRAME_CHAIN_VALID, FRAME_NUM_ARGS): Changed usage of macros to + conform to above. + * m-sparc.h (FRAME_SAVED_PC), sparc-dep.c (frame_saved_pc): + Changed frame_saved_pc to have a frame info pointer as an + argument. + + * m-vax.h, m-umax.h, m-npl.h, infrun.c (wait_for_inferior), + blockframe.c (get_prev_frame_info): Modified SAVED_PC_AFTER_CALL + to take a frame info pointer as an argument. + + * blockframe.c (get_prev_frame_info): Altered the use of the + macros FRAME_CHAIN, FRAME_CHAIN_VALID, and FRAME_CHAIN_COMBINE to + use frame info pointers as arguments instead of frame addresses. + * m-vax.h, m-umax.h, m-sun3.h, m-sun3.h, m-sparc.h, m-pn.h, + m-npl.h, m-news.h, m-merlin.h, m-isi.h, m-hp9k320.h, m-i386.h: + Modified definitions of the above macros to suit. + * m-pn.h, m-npl.h, gould-dep.c (findframe): Modified findframe to + use a frame info argument; also fixed internals (wouldn't work + before). + + * m-sparc.h: Cosmetic changes; reordered some macros and made sure + that nothing went over 80 lines. + +Thu Dec 22 11:49:15 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * Version 3.0 released. + + * README: Deleted note about changing -lobstack to obstack.o. + +Wed Dec 21 11:12:47 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-vax.h (SKIP_PROLOGUE): Now recognizes gcc prologue also. + + * blockframe.c (get_prev_frame_info): Added FUNCTION_START_OFFSET + to result of get_pc_function_start. + * infrun.c (wait_for_inferior): Same. + + * gdb.texinfo: Documented new "step" and "next" behavior in + functions without line number information. + +Tue Dec 20 18:00:45 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * infcmd.c (step_1): Changed behavior of "step" or "next" in a + function witout line number information. It now sets the step + range around the function (to single step out of it) using the + misc function vector, warns the user, and continues. + + * symtab.c (find_pc_line): Zero "end" subsection of returned + symtab_and_line if no symtab found. + +Mon Dec 19 17:44:35 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * i386-pinsn.c (OP_REG): Added code from pace to streamline + disassembly and corrected types. + * i386-dep.c + (i386_follow_jump): Code added to follow byte and word offset + branches. + (i386_get_frame_setup): Expanded to deal with more wide ranging + function prologue. + (i386_frame_find_saved_regs, i386_skip_prologue): Changed to use + i386_get_frame_setup. + + +Sun Dec 18 11:15:03 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h: Deleted definition of SUN4_COMPILER_BUG; was designed + to avoid something that I consider a bug in our code, not theirs, + and which I fixed earlier. Also deleted definition of + CANNOT_USE_ARBITRARY_FRAME; no longer used anywhere. + FRAME_SPECIFICATION_DYADIC used instead. + + * infrun.c (wait_for_inferior): On the sun 4, if a function + doesn't have a prologue, a next over it single steps into it. + This gets around the problem of a "call .stret4" at the end of + functions returning structures. + * m-sparc.h: Defined SUN4_COMPILER_FEATURE. + + * main.c (copying_info): Seperated the last printf into two + printfs. The 386 compiler will now handle it. + + * i386-pinsn.c, i386-dep.c: Moved print_387_control_word, + print_387_status_word, print_387_status, and i386_float_info to + dep.c Also included reg.h in dep.c. + +Sat Dec 17 15:31:38 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * main.c (source_command): Don't close instream if it's null + (indicating execution of a user-defined command). + (execute_command): Set instream to null before executing + commands and setup clean stuff to put it back on error. + + * inflow.c (terminal_inferior): Went back to not checking the + ioctl returns; there are some systems when this will simply fail. + It seems that, on most of these systems, nothing bad will happen + by that failure. + + * values.c (value_static_field): Fixed dereferencing of null + pointer. + + * i386-dep.c (i386_follow_jump): Modified to deal with + unconditional byte offsets also. + + * dbxread.c (read_type): Fixed typo in function type case of switch. + + * infcmd.c (run_command): Does not prompt to restart if command is + not from a tty. + +Fri Dec 16 15:21:58 1988 Randy Smith (randy at calvin) + + * gdb.texinfo: Added a third option under the "Cannot Insert + Breakpoints" workarounds. + + * printcmd.c (display_command): Don't do the display unless there + is an active inferior; only set it. + + * findvar.c (value_of_register): Added an error check for calling + this when the inferior isn't active and a core file isn't being + read. + + * config.gdb: Added reminder about modifying REGEX in the + makefile for the 386. + + * i386-pinsn.c, i386-dep.c: Moved m-i386.h helper functions over + to i386-dep.c.b + +Thu Dec 15 14:04:25 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * README: Added a couple of notes about compiling gdb with itself. + + * breakpoint.c (set_momentary_breakpoint): Only takes FRAME_FP of + frame if frame is non-zero. + + * printcmd.c (print_scalar_formatted): Implemented /g size for + hexadecimal format on machines without an 8 byte integer type. It + seems to be non-trivial to implement /g for other formats. + (decode_format): Allowed hexadecimal format to make it through /g + fileter. + +Wed Dec 14 13:27:04 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * expread.y: Converted all calls to write_exp_elt from the parser + to calls to one of write_exp_elt_{opcode, sym, longcst, dblcst, + char, type, intern}. Created all of these routines. This gets + around possible problems in passing one of these things in one ear + and getting something different out the other. Eliminated + SUN4_COMPILER_BUG ifdef's; they are now superfluous. + + * symmisc.c (free_all_psymtabs): Reinited partial_symtab_list to 0. + (_initialize_symmisc): Initialized both symtab_list and + partial_symtab_list. + + * dbxread.c (start_psymtab): Didn't allocate anything on + dependency list. + (end_psymtab): Allocate dependency list on psymbol obstack from + local list. + (add_psymtab_dependency): Deleted. + (read_dbx_symtab): Put dependency on local list if it isn't on it + already. + + * symtab.c: Added definition of psymbol_obstack. + * symtab.h: Added declaration of psymbol_obstack. + * symmisc.c (free_all_psymtabs): Added freeing and + reinitionaliztion of psymbol_obstack. + * dbxread.c (free_all_psymbols): Deleted. + (start_psymtab, end_psymtab, + process_symbol_for_psymtab): Changed most allocation + of partial symbol stuff to be off of psymbol_obstack. + + * symmisc.c (free_psymtab, free_all_psymtabs): Deleted + free_psymtab subroutine. + + * symtab.h: Removed num_includes and includes from partial_symtab + structure; no longer needed now that all include files have their + own psymtab. + * dbxread.c (start_psymtab): Eliminated initialization of above. + (end_psymtab): Eliminated finalization of above; get + includes from seperate list. + (read_dbx_symtab): Moved includes from psymtab list to + their own list; included in call to end_psymtab. + * symmisc.c (free_psymtab): Don't free includes. + +Tue Dec 13 14:48:14 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * i386-pinsn.c: Reformatted entire file to correspond to gnu + software indentation conventions. + + * sparc-dep.c (skip_prologue): Added capability of recognizign + stores of input register parameters into stack slots. + + * sparc-dep.c: Added an include of sparc-opcode.h. + * sparc-pinsn.c, sparc-opcode.h: Moved insn_fmt structures and + unions from pinsn.c to opcode.h. + * sparc-pinsn.c, sparc-dep.c (isabranch, skip_prologue): Moved + this function from pinsn.c to dep.c. + + * Makefile: Put in warnings about compiling with gcc (non-ansi + include files) and compiling with shared libs on Sunos 4.0 (can't + debug something that's been compiled that way). + + * sparc-pinsn.c: Put in a completely new file (provided by + Tiemann) to handle floating point disassembly, load and store + instructions, and etc. better. Made the modifications this file + (ChangeLog) list for sparc-pinsn.c again. + + * symtab.c (output_source_filename): Included "more" emulation hack. + + * symtab.c (output_source_filename): Initialized COLUMN to 0. + (sources_info): Modified to not print out a line for + all of the include files within a partial symtab (since + they have pst's of their own now). Also modified to + make a distinction between those pst's read in and + those not. + + * infrun.c: Included void declaration of single_step() if it's + going to be used. + * sparc-dep.c (single_step): Moved function previous to use of it. + + * Makefile: Took removal of expread.tab.c out of make clean entry + and put it into a new "squeakyclean" entry. + +Mon Dec 12 13:21:02 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * sparc-pinsn.c (skip_prologue): Changed a struct insn_fmt to a + union insn_fmt. + + * inflow.c (terminal_inferior): Checked *all* return codes from + ioctl's and fcntl's in routine. + + * inflow.c (terminal_inferior): Added check for sucess of + TIOCSPGRP ioctl call. Just notifies if bad. + + * dbxread.c (symbol_file_command): Close was getting called twice; + once directly and once through cleanup. Killed the direct call. + +Sun Dec 11 19:40:40 1988 & Smith (randy at hobbes.ai.mit.edu) + + * valprint.c (val_print): Deleted spurious printing of "=" from + TYPE_CODE_REF case. + +Sat Dec 10 16:41:07 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c: Changed allocation of psymbols from using malloc and + realloc to using obstacks. This means they aren't realloc'd out + from under the pointers to them. + +Fri Dec 9 10:33:24 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * sparc-dep.c inflow.c core.c expread.y command.c infrun.c + infcmd.c dbxread.c symmisc.c symtab.c printcmd.c valprint.c + values.c source.c stack.c findvar.c breakpoint.c blockframe.c + main.c: Various cleanups inspired by "gcc -Wall" (without checking + for implicit declarations). + + * Makefile: Cleaned up some more. + + * valops.c, m-*.h (FIX_CALL_DUMMY): Modified to take 5 arguments + as per what sparc needs (programming for a superset of needed + args). + + * dbxread.c (process_symbol_for_psymtab): Modified to be slightly + more picky about what it puts on the list of things *not* to be + put on the misc function list. When/if I shift everything over to + being placed on the misc_function_list, this will go away. + + * inferior.h, infrun.c: Added fields to save in inferior_status + structure. + + * maketarfile: Deleted; functionality is in Makefile now. + + * infrun.c (wait_for_inferior): Modified algorithm for determining + whether or not a single-step was through a subroutine call. See + comments at top of file. + + * dbxread.c (read_dbx_symtab): Made sure that the IGNORE_SYMBOL + macro would be checked during initial readin. + + * dbxread.c (read_ofile_symtab): Added macro GCC_COMPILED_FLAG_SYMBOL + into dbxread.c to indicate what string in a local text symbol will + indicate a file compiled with gcc. Defaults to "gcc_compiled.". + +Thu Dec 8 11:46:22 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h (FRAME_FIND_SAVED_REGS): Cleaned up a little to take + advantage of the new frame cache system. + + * inferior.h, infrun.c, valops.c, valops.c, infcmd.c: Changed + mechanism to save inferior status over calls to inferior (eg. + call_function); implemented save_inferior_info and + restore_inferior_info. + + * blockframe.c (get_prev_frame): Simplified this by a direct call + to get_prev_frame_info. + + * frame.h, stack.c, printcmd.c, m-sparc.h, sparc-dep.c: Removed + all uses of frame_id_from_addr. There are short routines like it + still in frame_saved_pc (m-sparc.h) and parse_frame_spec + (stack.c). Eventually the one in frame_saved_pc will go away. + + * infcmd.c, sparc-dep.c: Implemented a new mechanism for + re-selecting the selected frame on return from a call. + + * blockframe.c, stack.c, findvar.c, printcmd.c, m-*.h: Changed + all routines and macros that took a "struct frame_info" as an + argument to take a "struct frame_info *". Routines: findarg, + framechain, print_frame_args, FRAME_ARGS_ADDRESS, + FRAME_STRUCT_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS, FRAME_NUM_ARGS, + FRAME_FIND_SAVED_REGS. + + * frame.h, stack.c, printcmd.c, infcmd.c, findvar.c, breakpoint.c, + blockframe.c, xgdb.c, i386-pinsn.c, gld-pinsn.c, m-umax.h, + m-sun2.h, m-sun3.h, m-sparc.h, m-pn.h, m-npl.h, m-news.h, + m-merlin.h, m-isi.h, m-i386.h, m-hp9k320.h: Changed routines to + use "struct frame_info *" internally. + +Wed Dec 7 12:07:54 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * frame.h, blockframe.c, m-sparc.h, sparc-dep.c: Changed all calls + to get_[prev_]frame_cache_item to get_[prev_]frame_info. + + * blockframe.c: Elminated get_frame_cache_item and + get_prev_frame_cache_item; functionality now taken care of by + get_frame_info and get_prev_frame_info. + + * blockframe.c: Put allocation on an obstack and eliminated fancy + reallocation routines, several variables, and various nasty + things. + + * frame.h, stack.c, infrun.c, blockframe.c, sparc-dep.c: Changed + type FRAME to be a typedef to "struct frame_info *". Had to also + change routines that returned frame id's to return the pointer + instead of the cache index. + + * infcmd.c (finish_command): Used proper method of getting from + function symbol to start of function. Was treating a symbol as a + value. + + * blockframe.c, breakpoint.c, findvar.c, infcmd.c, stack.c, + xgdb.c, i386-pinsn.c, frame.h, m-hp9k320.h, m-i386.h, m-isi.h, + m-merlin.h, m-news.h, m-npl.h, m-pn.h, m-sparc.h, m-sun2.h, + m-sun3.h, m-umax.h: Changed get_frame_info and get_prev_frame_info + to return pointers instead of structures. + + * blockframe.c (get_pc_function_start): Modified to go to misc + function table instead of bombing if pc was in a block without a + containing function. + + * coffread.c: Dup'd descriptor passed to read_coff_symtab and + fdopen'd it so that there wouldn't be multiple closes on the same + fd. Also put (fclose, stream) on the cleanup list. + + * printcmd.c, stack.c: Changed print_frame_args to take a + frame_info struct as argument instead of the address of the args + to the frame. + + * m-i386.h (STORE_STRUCT_RETURN): Decremented sp by sizeof object + to store (an address) rather than 1. + + * dbxread.c (read_dbx_symtab): Set first_object_file_end in + read_dbx_symtab (oops). + + * coffread.c (fill_in_vptr_fieldno): Rewrote TYPE_BASECLASS as + necessary. + +Tue Dec 6 13:03:43 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * coffread.c: Added fake support for partial_symtabs to allow + compilation and execution without there use. + * inflow.c: Added a couple of minor USG mods. + * munch: Put in appropriate conditionals so that it would work on + USG systems. + * Makefile: Made regex.* handled same as obstack.*; made sure tar + file included everything I wanted it to include (including + malloc.c). + + * dbxread.c (end_psymtab): Create an entry in the + partial_symtab_list for each subfile of the .o file just read in. + This allows a "list expread.y:10" to work when we haven't read in + expread.o's symbol stuff yet. + + * symtab.h, dbxread.c (psymtab_to_symtab): Recognize pst->ldsymlen + == 0 as indicating a dummy psymtab, only in existence to cause the + dependency list to be read in. + + * dbxread.c (sort_symtab_syms): Elminated reversal of symbols to + make sure that register debug symbol decls always come before + parameter symbols. After mod below, this is not needed. + + * symtab.c (lookup_block_symbol): Take parameter type symbols + (LOC_ARG or LOC_REGPARM) after any other symbols which match. + + * dbxread.c (read_type): When defining a type in terms of some + other type and the other type is supposed to have a pointer back + to this specific kind of type (pointer, reference, or function), + check to see if *that* type has been created yet. If it has, use + it and fill in the appropriate slot with a pointer to it. + +Mon Dec 5 11:25:04 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * symmisc.c: Eliminated existence of free_inclink_symtabs and + init_free_inclink_symtabs; they aren't called from anywhere, and + if they were they could disrupt gdb's data structure badly + (elimination of struct type's which values that stick around past + elimination of inclink symtabs). + + * dbxread.c (symbol_file_command): Fixed a return pathway out of + the routine to do_cleanups before it left. + + * infcmd.c (set_environment_command), gdb.texinfo: Added + capability to set environmental variable values to null. + + * gdb.texinfo: Modified doc on "break" without args slightly. + +Sun Dec 4 17:03:16 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c (symbol_file_command): Added check; if there weren't + any debugging symbols in the file just read, the user is warned. + + * infcmd.c: Commented set_environment_command (a little). + + * createtags: Cleaned up and commented. + + * Makefile: Updated depen_memory and write_inferior_memory in that errno is + checked after each ptrace and returned to the caller. Used in + value_at to detect references to addresses which are out of + bounds. Also core.c (xfer_core_file): return 1 if invalid + address, 0 otherwise. + + * inflow.c, <machine>-infdep.c: removed all calls to ptrace from + inflo, m-sun3.h: Cleaned up dealings with + functions returning structu0 19:19:36 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * symmisc.c: (read_symsegs) Accept only format number 2. Since + the size of the type structure changed when C++ support was added, + format 1 can no longer be used. + + * core.c, m-sunos4.h: (core_file_command) support for SunOS 4.0. + Slight change in the core structure. #ifdef SUNOS4. New file + m-sunos4.h. May want to change config.gdb also. + +Fri Jul 8 19:59:49 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * breakpoint.c: (break_command_1) Allow `break if condition' + rather than parsing `if' as a function name and returning an + error. + +Thu Jul 7 22:22:47 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: valops.c, valprint.c, value.h, values.c: merged code to deal + with C++ expressions. + +Wed Jul 6 03:28:18 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: dbxread.c: (read_dbx_symtab, condense_misc_bunches, + add_file_command) Merged code to read symbol information from + an incrementally linked file. symmisc.c: + (init_free_inclink_symtabs, free_inclink_symtabs) Cleanup + routines. + +Tue Jul 5 02:50:41 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: symtab.c, breakpoint.c, source.c: Merged code to deal with + ambiguous line specifications. In C++ one can have overloaded + function names, so that `list classname::overloadedfuncname' + refers to several different lines, possibly sure currently configured machine + dependent files come first in e at corn-chex.ai.mit.edu) + + * C++: symtab.c: replaced lookup_symtab_1 and lookup_symtab_2 with + a modified lookup_symbol which checks for fields of the current + implied argument `this'. printcmd.c, source.c, symtab.c, + valops.c: Need to change callers once callers are + installed. + +Wed Jun 29 01:26:56 1988 Peter TerMaat (pete at frosted-flakes.ai.mit.edu) + + * C++: eval.c, expprint.c, expread.y, expression.h, valarith.c, + Merged code to deal with evaluation of user-defined operators, + member functions, and virtual functions. + binop_must_be_user_defined tests for user-defined binops, + value_x_binop calls the appropriate operator function. + +Tue Jun 28 02:56:42 1988 Peter TerMaat (pete at frosted-flakes.ai.mit.edu) + + * C++: Makefile: changed the echo: expect 101 shift/reduce conflicts + and 1 reduce/reduce conflict. + + +Local Variables: +mode: indented-text +eval: (auto-fill-mode 1) +left-margin: 8 +fill-column: 74 +version-control: never +End: + + constructors, and flags being defined via public and via + virtual paths. Added fields NEXT_VARIANT, N_BASECLASSES, + and BASECLASSES to this type (tr: Changed types from + having to be derived from a single baseclass to a multiple + base class). + * symtab.h: Added macros to access new fields defined in symseg.h. + Added decl for lookup_basetype_type. + * dbxread.c + (condense_addl_misc_bunches): Function added to condense the misc + function bunches added by reading in a new .o file. + (read_addl_syms): Function added to read in symbols + from a new .o file (incremental linking). + (add_file_command): Command interface function to indicate + incrmental linking of a new .o file; this now calls + read_addl_syms and condense_addl_misc_bunches. + (define_symbol): Modified code to handle types defined from base + types which were not known when the derived class was + output. + (read_struct_type): Modified to better handle description of + struct types as derived types. Possibly derived from + several different base classes. Also added new code to + mark definitions via virtual paths or via public paths. + Killed seperate code to handle classes with destructors + but without constructors and improved marking of classes + as having destructors and constructors. + * infcmd.c: Modified call to val_print (one more argument). + * symtab.c (lookup_member_type): Modified to deal with new + structure in symseg.h. + (lookup_basetype_type): Function added to find or construct a type + ?derived? from the given type. + (decode_line_1): Modified to deal with new type data structures. + Modified to deal with new number of args for + decode_line_2. + (decode_line_2): Changed number of args (?why?). + (init_type): Added inits for new C++ fields from + symseg.h. + *valarith.c + (value_x_binop, value_binop): Added cases for BINOP_MIN & + BINOP_MAX. + * valops.c + (value_struct_elt, check_field, value_struct_elt_for_address): + Changed to deal with multiple possible baseclasses. + (value_of_this): Made SELECTED_FRAME an extern variable. + * valprint.c + (val_print): Added an argument DEREF_REF to dereference references + automatically, instead of printing them like pointers. + Changed number of arguments in recursive calls to itself. + Changed to deal with varibale numbers of base classes. + (value_print): Changed number of arguments to val_print. Print + type of value also if value is a reference. + (type_print_derivation_info): Added function to print out + derivation info a a type. + (type_print_base): Modified to use type_print_derivation_info and + to handle multiple baseclasses. + +Mon Nov 21 10:32:07 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * inflow.c (term_status_command): Add trailing newline to output. + + * sparc-dep.c (do_save_insn, do_restore_insn): Saved + "stop_registers" over the call for the sake of normal_stop and + run_stack_dummy. + + * m-sparc.h (EXTRACT_RETURN_VALUE): Put in parenthesis to force + addition of 8 to the int pointer, not the char pointer. + + * sparc-pinsn.c (print_addr1): Believe that I have gotten the + syntax right for loads and stores as adb does it. + + * symtab.c (list_symbols): Turned search for match on rexegp into + a single loop. + + * dbxread.c (psymtab_to_symtab): Don't read it in if it's already + been read in. + + * dbxread.c (psymtab_to_symtab): Changed error to fatal in + psymtab_to_symtab. + + * expread.y (parse_number): Fixed bug which treated 'l' at end of + number as '0'. + +Fri Nov 18 13:57:33 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): Was + being foolish and using pointers into an array I could realloc. + Converted these pointers into integers. + +Wed Nov 16 11:43:10 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h (POP_FRAME): Made the new frame be PC_ADJUST of the + old frame. + + * i386-pinsn.c, m-hp9k320.h, m-isi.h, m-merlin.h, m-news.h, + m-npl.h, m-pn.h, m-sparc.h, m-sun2.h, m-sun3.h, m-umax.h, m-vax.h: + Modified POP_FRAME to use the current frame instead of + read_register (FP_REGNUM) and to flush_cached_frames before + setting the current frame. Also added a call to set the current + frame in those POP_FRAMEs that didn't have it. + + * infrun.c (wait_for_inferior): Moved call to set_current_frame up + to guarrantee that the current frame will always be set when a + POP_FRAME is done. + + * infrun.c (normal_stop): Added something to reset the pc of the + current frame (was incorrect because of DECR_PC_AFTER_BREAK). + + * valprint.c (val_print): Changed to check to see if a string was + out of bounds when being printed and to indicate this if so. + + * convex-dep.c (read_inferior_memory): Changed to return the value + of errno if the call failed (which will be 0 if the call + suceeded). + +Tue Nov 15 10:17:15 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * infrun.c (wait_for_inferior): Two changes: 1) Added code to + not trigger the step breakpoint on recursive calls to functions + without frame info, and 2) Added calls to distinguish recursive + calls within a function without a frame (which next/nexti might + wish to step over) from jumps to the beginning of a function + (which it generally doesn't). + + * m-sparc.h (INIT_EXTRA_FRAME_INFO): Bottom set correctly for leaf + parents. + + * blockframe.c (get_prev_frame_cache_item): Put in mod to check + for a leaf node (by presence or lack of function prologue). If + there is a leaf node, it is assumed that SAVED_PC_AFTER_CALL is + valid. Otherwise, FRAME_SAVED_PC or read_pc is used. + + * blockframe.c, frame.h: Did final deletion of unused routines and + commented problems with getting a pointer into the frame cache in + the frame_info structure comment. + + * blockframe.c, frame.h, stack.c: Killed use of + frame_id_from_frame_info; used frame_id_from_addr instead. + + * blockframe.c, frame.h, stack.c, others (oops): Combined stack + cache and frame info structures. + + * blockframe.c, sparc-dep.c, stack.c: Created the function + create_new_frame and used it in place of bad calls to + frame_id_from_addr. + + * blockframe.c, inflow.c, infrun.c, i386-pinsn.c, m-hp9k320.h, + m-npl.h, m-pn.h, m-sparc.h, m-sun3.h, m-vax.h, default-dep.c, + convex-dep.c, gould-dep.c, hp9k320-dep.c, news-dep.c, sparc-dep.c, + sun3-dep.c, umax-dep.c: Killed use of + set_current_Frame_by_address. Used set_current_frame + (create_new_frame...) instead. + + * frame.h: Killed use of FRAME_FP_ID. + + * infrun.c, blockframe.c: Killed select_frame_by_address. Used + select_frame (get_current_frame (), 0) (which was correct in all + cases that we need to worry about. + +Mon Nov 14 14:19:32 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * frame.h, blockframe.c, stack.c, m-sparc.h, sparc-dep.c: Added + mechanisms to deal with possible specification of frames + dyadically. + +Sun Nov 13 16:03:32 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) + + * ns32k-opcode.h: Add insns acbw, acbd. + +Sun Nov 13 15:09:58 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * breakpoint.c: Changed breakpoint structure to use the address of + a given frame (constant across inferior runs) as the criteria for + stopping instead of the frame ident (which varies across inferior + calls). + +Fri Nov 11 13:00:22 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * gld-pinsn.c (findframe): Modified to work with the new frame + id's. Actually, it looks as if this routine should be called with + an address anyway. + + * findvar.c (find_saved_register): Altered bactrace loop to work + off of frames and not frame infos. + + * frame.h, blockframe.c, stack.c, sparc-dep.c, m-sparc.h: Changed + FRAME from being the address of the frame to being a simple ident + which is an index into the frame_cache_item list. + * convex-dep.c, default-dep.c, gould-dep.c, hp9k320-dep.c, + i386-pinsn.c, inflow.c, infrun.c, news-dep.c, sparc-dep.c, + sun3-dep.c, umax-dep.c, m-hp9k320.h, m-npl.h, m-pn.h, m-sparc.h, + m-sun3.h, m-vax.h: Changed calls of the form set_current_frame + (read_register (FP_REGNUM)) to set_current_frame_by_address (...). + +Thu Nov 10 16:57:57 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * frame.h, blockframe.c, gld-pinsn.c, sparc-dep.c, stack.c, + infrun.c, findvar.c, m-sparc.h: Changed the FRAME type to be + purely an identifier, using FRAME_FP and FRAME_FP_ID to convert + back and forth between the two. The identifier is *currently* + still the frame pointer value for that frame. + +Wed Nov 9 17:28:14 1988 Chris Hanson (cph at kleph) + + * m-hp9k320.h (FP_REGISTER_ADDR): Redefine this to return + difference between address of given FP register, and beginning of + `struct user' that it occurs in. + + * hp9k320-dep.c (core_file_command): Fix sign error in size + argument to myread. Change buffer argument to pointer; was + copying entire structure. + (fetch_inferior_registers, store_inferior_registers): Replace + occurrences of `FP_REGISTER_ADDR_DIFF' with `FP_REGISTER_ADDR'. + Flush former definition. + +Wed Nov 9 12:11:37 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * xgdb.c: Killed include of initialize.h. + + * Pulled in xgdb.c from the net. + + * Checkpointed distribution (to provide to 3b2 guy). + + * coffread.c, dbxread.c, symmisc.c, symtab.c, symseg.h: Changed + format of table of line number--pc mapping information. Can + handle negative pc's now. + + * command.c: Deleted local copy of savestring; code in utils.c is + identical. + +Tue Nov 8 11:12:16 1988 Randall Smith (randy at plantaris.ai.mit.edu) + + * gdb.texinfo: Added documentation for shell escape. + +Mon Nov 7 12:27:16 1988 Randall Smith (randy at sugar-bombs.ai.mit.edu) + + * command.c: Added commands for shell escape. + + * core.c, dbxread.c: Added ROBOTUSSIN mods. + + * Checkpointed distribution. + + * printcmd.c (x_command): Yanked error if there is no memory to + examine (could be looking at executable straight). + + * sparc-pinsn.c (print_insn): Amount to leftshift sethi imm by is + now 10 (matches adb in output). + + * printcmd.c (x_command): Don't attempt to set $_ & $__ if there + is no last_examine_value (can happen if you did an x/0). + +Fri Nov 4 13:44:49 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * printcmd.c (x_command): Error if there is no memory to examine. + + * gdb.texinfo: Added "cont" to the command index. + + * sparc-dep.c (do_save_insn): Fixed typo in shift amount. + + * m68k-opcode.h: Fixed opcodes for 68881. + + * breakpoint.c, infcmd.c, source.c: Changed defaults in several + places for decode_line_1 to work off of the default_breakpoint_* + values instead of current_source_* values (the current_source_* + values are off by 5 or so because of listing defaults). + + * stack.c (frame_info): ifdef'd out FRAME_SPECIFCATION_DYADIC in + the stack.c module. If I can't do this right, I don't want to do + it at all. Read the comment there for more info. + +Mon Oct 31 16:23:06 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * gdb.texinfo: Added documentation on the "until" command. + +Sat Oct 29 17:47:10 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * breakpoint.c, infcmd.c: Added UNTIL_COMMAND and subroutines of + it. + + * breakpoint.c, infcmd.c, infrun.c: Added new field to breakpoint + structure (silent, indicating a silent breakpoint), and modified + breakpoint_stop_status and things that read it's return value to + understand it. + +Fri Oct 28 17:45:33 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c, symmisc.c: Assorted speedups for readin, including + special casing most common symbols, and doing buffering instead of + calling malloc. + +Thu Oct 27 11:11:15 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * stack.c, sparc-dep.c, m-sparc.h: Modified to allow "info frame" + to take two arguments on the sparc and do the right thing with + them. + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): Put + stuff to put only symbols that didn't have debugging info on the + misc functions list back in. + +Wed Oct 26 10:10:32 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * valprint.c (type_print_varspec_suffix): Added check for + TYPE_LENGTH(TYPE_TARGET_TYPE(type)) > 0 to prevent divide by 0. + + * printcmd.c (print_formatted): Added check for VALUE_REPEATED; + value_print needs to be called for that. + + * infrun.c (wait_for_inferior): Added break when you decide to + stop on a null function prologue rather than continue stepping. + + * m-sun3.h: Added explanatory comment to REGISTER_RAW_SIZE. + + * expread.y (parse_c_1): Initialized paren_depth for each parse. + +Tue Oct 25 14:19:38 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * valprint.c, coffread.c, dbxread.c: Enum constant values in enum + type now accessed through TYPE_FIELD_BITPOS. + + * dbxread.c (process_symbol_for_psymtab): Added code to deal with + possible lack of a ":" in a debugging symbol (do nothing). + + * symtab.c (decode_line_1): Added check in case of all numbers for + complete lack of symbols. + + * source.c (select_source_symtab): Made sure that this wouldn't + bomb on complete lack of symbols. + +Mon Oct 24 12:28:29 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h, findvar.c: Ditched REGISTER_SAVED_UNIQUELY and based + code on REGISTER_IN_WINDOW_P and HAVE_REGISTER_WINDOWS. This will + break when we find a register window machine which saves the + window registers within the context of an inferior frame. + + * sparc-dep.c (frame_saved_pc): Put PC_ADJUST return back in for + frame_saved_pc. Seems correct. + + * findvar.c, m-sparc.h: Created the macro REGISTER_SAVED_UNIQUELY + to handle register window issues (ie. that find_saved_register + wasn't checking the selected frame itself for shit). + + * sparc-dep.c (core_file_command): Offset target of o & g register + bcopy by 1 to hit correct registers. + + * m-sparc.h: Changed STACK_END_ADDR. + +Sun Oct 23 19:41:51 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * sparc-dep.c (core_file_command): Added in code to get the i & l + registers from the stack in the corefile, and blew away some wrong + code to get i & l from inferior. + +Fri Oct 21 15:09:19 1988 Randall Smith (randy at apple-gunkies.ai.mit.edu) + + * m-sparc.h (PUSH_DUMMY_FRAME): Saved the value of the RP register + in the location reserved for i7 (in the created frame); this way + the rp value won't get lost. The pc (what we put into the rp in + this routine) gets saved seperately, so we loose no information. + + * sparc-dep.c (do_save_insn & do_restore_insn): Added a wrapper to + preserve the proceed status state variables around each call to + proceed (the current frame was getting munged because this wasn't + being done). + + * m-sparc.h (FRAME_FIND_SAVED_REGS): Fix bug: saved registers + addresses were being computed using absolute registers number, + rather than numbers relative to each group of regs. + + * m-sparc.h (POP_FRAME): Fixed a bug (I hope) in the context + within which saved reg numbers were being interpetted. The + values to be restored were being gotten in the inferior frame, and + the restoring was done in the superior frame. This means that i + registers must be restored into o registers. + + * sparc-dep.c (do_restore_insn): Modified to take a pc as an + argument, instead of a raw_buffer. This matches (at least it + appears to match) usage from POP_FRAME, which is the only place + from which do_restore_insn is called. + + * sparc-dep.c (do_save_insn and do_restore_insn): Added comments. + + * m-sparc.h (FRAME_FIND_SAVED_REGS): Modified my code to find the + save addresses of out registers to use the in regs off the stack + pointer when the current frame is 1 from the innermost. + +Thu Oct 20 13:56:15 1988 & Smith (randy at hobbes.ai.mit.edu) + + * blockframe.c, m-sparc.h: Removed code associated with + GET_PREV_FRAME_FROM_CACHE_ITEM. This code was not needed for the + sparc; you can always find the previous frames fp from the fp of + the current frame (which is the sp of the previous). It's getting + the information associated with a given frame (ie. saved + registers) that's a bitch, because that stuff is saved relative to + the stack pointer rather than the frame pointer. + + * m-sparc.h (GET_PREV_FRAME_FROM_CACHE_ITEM): Modified to return + the frame pointer of the previous frame instead of the stack + pointer of same. + + * blockframe.c (flush_cached_frames): Modified call to + obstack_free to free back to frame_cache instead of back to zero. + This leaves the obstack control structure in finite state (and + still frees the entry allocated at frame_cache). + +Sat Oct 15 16:30:47 1988 & Smith (randy at tartarus.uchicago.edu) + + * valops.c (call_function): Suicide material here. Fixed a typo; + CALL_DUMMY_STACK_ADJUST was spelled CAll_DUMMY_STACK_ADJUST on + line 530 of the file. This cost me three days. I'm giving up + typing for lent. + +Fri Oct 14 15:10:43 1988 & Smith (randy at tartarus.uchicago.edu) + + * m-sparc.h: Corrected a minor mistake in the dummy frame code + that was getting the 5th argument and the first argument from the + same place. + +Tue Oct 11 11:49:33 1988 & Smith (randy at tartarus.uchicago.edu) + + * infrun.c: Made stop_after_trap and stop_after_attach extern + instead of static so that code which used proceed from machine + dependent files could fiddle with them. + + * blockframe.c, frame.h, sparc-dep.c, m-sparc.h: Changed sense of + ->prev and ->next in struct frame_cache_item to fit usage in rest + of gdb (oops). + +Mon Oct 10 15:32:42 1988 Randy Smith (randy at gargoyle.uchicago.edu) + + * m-sparc.h, sparc-dep.c, blockframe.c, frame.h: Wrote + get_frame_cache_item. Modified FRAME_SAVED_PC and frame_saved_pc + to take only one argument and do the correct thing with it. Added + the two macros I recently defined in blockframe.c to m-sparc.h. + Have yet to compile this thing on a sparc, but I've now merged in + everything that I received from tiemann, either exactly, or simply + effectively. + + * source.c: Added code to allocated space to sals.sals in the case + where no line was specified. + + * blockframe.c, infrun.c: Modified to cache stack frames requested + to minimize accesses to subprocess. + +Tue Oct 4 15:10:39 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu) + + * config.gdb: Added sparc. + +Mon Oct 3 23:01:22 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu) + + * Makefile, blockframe.c, command.c, core.c, dbxread.c, defs.h, + expread.y, findvar.c, infcmd.c, inflow.c, infrun.c, sparc-pinsn.c, + m-sparc.h, sparc-def.c, printcmd.c, stack.c, symmisc.c, symseg.h, + valops.c, values.c: Did initial merge of sparc port. This will + not compile; have to do stack frame caching and finish port. + + * inflow.c, gdb.texinfo: `tty' now resets the controling terminal. + +Fri Sep 30 11:31:16 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * inferior.h, infcmd.c, infrun.c: Changed the variable + stop_random_signal to stopped_by_random signal to fit in better + with name conventions (variable is not a direction to the + proceed/resume set; it is information from it). + +Thu Sep 29 13:30:46 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu) + + * infcmd.c (finish_command): Value type of return value is now + whatever the function returns, not the type of the function (fixed + a bug in printing said value). + + * dbxread.c (read_dbx_symtab, process_symbol_for_psymtab): + Put *all* global symbols into misc_functions. This is what was + happening anyway, and we need it for find_pc_misc_function. + + ** This was eventually taken out, but I didn't mark it in the + ChangeLog. Oops. + + * dbxread.c (process_symbol_for_psymtab): Put every debugger + symbol which survives the top case except for constants on the + symchain. This means that all of these *won't* show up in misc + functions (this will be fixed once I make sure it's broken the way + it's supposed to be). + + * dbxread.c: Modified placement of debugger globals onto the hash + list; now we exclude the stuff after the colon and don't skip the + first character (debugger symbols don't have underscores). + + * dbxread.c: Killed debuginfo stuff with ifdef's. + +Wed Sep 28 14:31:51 1988 Randall Smith (randy at cream-of-wheat.ai.mit.edu) + + * symtab.h, dbxread.c: Modified to deal with BINCL, EINCL, and + EXCL symbols produced by the sun loader by adding a list of + pre-requisite partial_symtabs that each partial symtab needs. + + * symtab.h, dbxread.c, symtab.c, symmisc.c: Modified to avoid + doing a qsort on the local (static) psymbols for each file to + speed startup. This feature is not completely debugged, but it's + inclusion has forced the inclusion of another feature (dealing + with EINCL's, BINCL's and EXCL's) and so I'm going to go in and + deal with them. + + * dbxread.c (process_symbol_for_psymtab): Made sure that the class + of the symbol made it into the partial_symbol entry. + +Tue Sep 27 15:10:26 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c: Fixed bug; init_psymbol_list was not being called + with the right number of arguments (1). + + * dbxread.c: Put ifdef's around N_MAIN, N_M2C, and N_SCOPE to + allow compilation on a microvax. + + * config.gdb: Modified so that "config.gdb vax" would work. + + * dbxread.c, symtab.h, symmisc.h, symtab.c, source.c: Put in many + and varied hacks to speed up gdb startup including: A complete + rewrite of read_dbx_symtab, a modification of the partial_symtab + data type, deletion of select_source_symtab from + symbol_file_command, and optimiztion of the call to strcmp in + compare_psymbols. + +Thu Sep 22 11:08:54 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * dbxread.c (psymtab_to_symtab): Removed call to + init_misc_functions. + + * dbxread.c: Fixed enumeration type clash (used enum instead of + integer constant). + + * breakpoint.c: Fixed typo; lack of \ at end of line in middle of + string constant. + + * symseg.h: Fixed typo; lack of semicolon after structure + definition. + + * command.c, breakpoint.c, printcmd.c: Added cmdlist editing + functions to add commands with the abbrev flag set. Changed + help_cmd_list to recognize this flag and modified unset, + undisplay, and enable, disable, and delete breakpoints to have + this flag set. + +Wed Sep 21 13:34:19 1988 Randall Smith (randy at plantaris.ai.mit.edu) + + * breakpoint.c, infcmd.c, gdb.texinfo: Created "unset" as an alias + for delete, and changed "unset-environment" to be the + "environment" subcommand of "delete". + + * gdb.texinfo, valprint.c: Added documentation in the manual for + breaking the set-* commands into subcommands of set. Changed "set + maximum" to "set array-max". + + * main.c, printcmd.c, breakpoint.c: Moved the declaration of + command lists into main and setup a function in main initializing + them to guarrantee that they would be initialized before calling + any of the individual files initialize routines. + + * command.c (lookup_cmd): A null string subcommand is treated as + an unknown subcommand rather than an ambiguous one (eg. "set $x = + 1" will now work). + + * infrun.c (wait_for_inferior): Put in ifdef for Sony News in + check for trap by INNER_THAN macro. + + * eval.c (evaluate_subexp): Put in catch to keep the user from + attempting to call a non function as a function. + +Tue Sep 20 10:35:53 1988 Randall Smith (randy at oatmeal.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Installed code to keep track of + which global symbols did not have debugger symbols refering to + them, and recording these via record_misc_function. + + * dbxread.c: Killed code to check for extra global symbols in the + debugger symbol table. + + * printcmd.c, breakpoint.c: Modified help entries for several + commands to make sure that abbreviations were clearly marked and + that the right commands showed up in the help listings. + + * main.c, command.c, breakpoint.c, infcmd.c, printcmd.c, + valprint.c, defs.h: Modified help system to allow help on a class + name to show subcommands as well as commands and help on a command + to show *all* subcommands of that command. + +Fri Sep 16 16:51:19 1988 Randall Smith (randy at gluteus.ai.mit.edu) + + * breakpoint.c (_initialize_breakpoint): Made "breakpoints" + subcommands of enable, disable, and delete use class 0 (ie. they + show up when you do a help xxx now). + + * infcmd.c,printcmd,c,main.c,valprint.c: Changed the set-* + commands into subcommands of set. Created "set variable" for use + with variables whose names might conflict with other subcommands. + + * blockframe.c, dbxread.c, coffread.c, expread.y, source.c: + Fixed mostly minor (and one major one in block_for_pc) bugs + involving checking the partial_symtab_list when a scan through the + symtab_list fails. + +Wed Sep 14 12:02:05 1988 Randall Smith (randy at sugar-smacks.ai.mit.edu) + + * breakpoint.c, gdb.texinfo: Added enable breakpoints, disable + breakpoints and delete breakpoints as synonyms for enable, + disable, and delete. This seemed reasonable because of the + immeninent arrival of watchpoints & etc. + + * gdb.texinfo: Added enable display, disable display, and delete + display to manual. + +Tue Sep 13 16:53:56 1988 Randall Smith (randy at sugar-smacks.ai.mit.edu) + + * inferior.h, infrun.c, infcmd.c: Added variable + stop_random_signal to indicate when a proceed had been stopped by + an unexpected signal. Used this to determine (in normal_stop) + whether the current display point should be deleted. + + * valops.c: Fix to value_ind to check for reference before doing a + COERCE_ARRAY. + +Sun Jul 31 11:42:36 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu) + + * breakpoint.c (_initialize_breakpoint): Clean up doc for commands + that can now apply also to auto-displays. + + * coffread.c (record_line): Corrected a spazz in editing. + Also removed the two lines that assume line-numbers appear + only in increasing order. + +Tue Jul 26 22:19:06 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * expression.h, eval.c, expprint.c, printcmd.c, valarith.c, + valops.c, valprint.c, values.c, m-*.h: Changes for evaluating and + displaying 64-bit `long long' integers. Each machine must define + a LONGEST type, and a BUILTIN_TYPE_LONGEST. + + * symmisc.c: (print_symtab) check the status of the fopen and call + perror_with_name if needed. + +Thu Jul 21 00:56:11 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * Convex: core.c: changes required by Convex's SOFF format were + isolated in convex-dep.c. + +Wed Jul 20 21:26:10 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * coffread.c, core.c, expread.y, i386-pinsn.c, infcmd.c, inflow.c, + infrun.c, m-i386.h, main.c, remote.c, source.c, valops.c: + Improvements for the handling of the i386 and other machines + running USG. (Several of these files just needed extra header files + such as types.h.) utils.c: added bcopy, bcmp, bzero, getwd, list + of signals, and queue routines for USG systems. Added vfork macro + to i386 + + * printcmd.c, breakpoint.c: New commands to enable/disable + auto-displays. Also `delete display displaynumber' works like + `undisplay displaynumber'. + +Tue Jul 19 02:17:18 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * coffread.c: (coff_lookup_type) Wrong portion of type_vector was + being bzero'd after type_vector was reallocated. + + * printcmd.c: (delete_display) Check for a display chain before + attempting to delete a display. + + * core.c, *-dep.c (*-infdep moved to *-dep): machine-dependent + parts of core.c (core_file_command, exec_file_command) moved to + *-dep.c. + +Mon Jul 18 19:45:51 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * dbxread.c: typo in read_struct_type (missing '=') was causing a + C struct to be parsed as a C++ struct, resulting in a `invalid + character' message. + +Sun Jul 17 22:27:32 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * printcmd.c, symtab.c, valops.c, expread.y: When an expression is + read, the innermost block required to evaluate the expression is + saved in the global variable `innermost_block'. This information + is saved in the `block' field of an auto-display so that + expressions with inactive variables can be skipped. `info display' + tells the user which displays are active and which are not. New + fn `contained_in' returns nonzero if one block is contained within + another. + +Fri Jul 15 01:53:14 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * infrun.c, m-i386.h: Use macro TRAPS_EXPECTED to set number of + traps to skip when sh execs the program. Default is 2, m-i386.h + overrides this and sets to 4. + + * coffread.c, infrun.c: minor changes for the i386. May be able + to eliminate them with more general code. + + * default-infdep.c: #ifdef SYSTEMV, include header file types.h. + Also switched the order of signal.h and user.h, since System 5 + requires signal.h to come first. + + * core.c main.c, remote,c, source.c, inflow.c: #ifdef SYSTEMV, + include various header files. Usually types.h and fcntl.h. + + * utils.c: added queue routines needed by the i386 (and other sys + 5 machines). + + * sys5.c, regex.c, regex.h: new files for sys 5 systems. (The + regex files are simply links to /gp/gnu/lib.) + +Thu Jul 14 01:47:14 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * config.gdb, README: Provide a list of known machines when user + enters an invalid machine. New second arg is operating system, + currently only used with `sunos4' or `os4'. Entry for i386 added. + + * news-infdep.c: new file. + + * m-news.h: new version which deals with new bugs in news800's OS. + +Tue Jul 12 19:52:16 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * Makefile, *.c, munch, config.gdb, README: New initialization + scheme uses nm to find functions whose names begin with + `_initialize_'. Files `initialize.h', `firstfile.c', + `lastfile.c', `m-*init.h' no longer needed. + + * eval.c, symtab.c, valarith.c, valops.c, value.h, values.c: Bug + fixes from gdb+ 2.5.4. evaluate_subexp takes a new arg, type + expected. New fn value_virtual_fn_field. + +Mon Jul 11 00:48:49 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * core.c (read_memory): xfer_core_file was being called with an + extra argument (0) by read_memory. + + * core.c (read_memory), *-infdep.c (read_inferior_memory), + valops.c (value_at): read_memory and read_inferior_memory now work + like write_memory and write_inferior_memory in that errno is + checked after each ptrace and returned to the caller. Used in + value_at to detect references to addresses which are out of + bounds. Also core.c (xfer_core_file): return 1 if invalid + address, 0 otherwise. + + * inflow.c, <machine>-infdep.c: removed all calls to ptrace from + inflow.c and put them in machine-dependent files *-infdep.c. + +Sun Jul 10 19:19:36 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * symmisc.c: (read_symsegs) Accept only format number 2. Since + the size of the type structure changed when C++ support was added, + format 1 can no longer be used. + + * core.c, m-sunos4.h: (core_file_command) support for SunOS 4.0. + Slight change in the core structure. #ifdef SUNOS4. New file + m-sunos4.h. May want to change config.gdb also. + +Fri Jul 8 19:59:49 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * breakpoint.c: (break_command_1) Allow `break if condition' + rather than parsing `if' as a function name and returning an + error. + +Thu Jul 7 22:22:47 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: valops.c, valprint.c, value.h, values.c: merged code to deal + with C++ expressions. + +Wed Jul 6 03:28:18 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: dbxread.c: (read_dbx_symtab, condense_misc_bunches, + add_file_command) Merged code to read symbol information from + an incrementally linked file. symmisc.c: + (init_free_inclink_symtabs, free_inclink_symtabs) Cleanup + routines. + +Tue Jul 5 02:50:41 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: symtab.c, breakpoint.c, source.c: Merged code to deal with + ambiguous line specifications. In C++ one can have overloaded + function names, so that `list classname::overloadedfuncname' + refers to several different lines, possibly in different files. + +Fri Jul 1 02:44:20 1988 Peter TerMaat (pete at corn-chex.ai.mit.edu) + + * C++: symtab.c: replaced lookup_symtab_1 and lookup_symtab_2 with + a modified lookup_symbol which checks for fields of the current + implied argument `this'. printcmd.c, source.c, symtab.c, + valops.c: Need to change callers once callers are + installed. + +Wed Jun 29 01:26:56 1988 Peter TerMaat (pete at frosted-flakes.ai.mit.edu) + + * C++: eval.c, expprint.c, expread.y, expression.h, valarith.c, + Merged code to deal with evaluation of user-defined operators, + member functions, and virtual functions. + binop_must_be_user_defined tests for user-defined binops, + value_x_binop calls the appropriate operator function. + +Tue Jun 28 02:56:42 1988 Peter TerMaat (pete at frosted-flakes.ai.mit.edu) + + * C++: Makefile: changed the echo: expect 101 shift/reduce conflicts + and 1 reduce/reduce conflict. + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-9091 b/contrib/gdb/gdb/ChangeLog-9091 new file mode 100644 index 0000000000000..42f8d0b4af810 --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-9091 @@ -0,0 +1,8322 @@ +Mon Dec 30 10:57:02 1991 Per Bothner (bothner at cygnus.com) + + Mainly stuff to improve handling of TYPE_CODE_REF values. + * valops.c (value_addr): If taking the addres of a + TYPE_CODE_REF, just cast the object to the corresponding + TYPE_CODE_PTR. This yields correct C++ semantics, and + preserves the location information, which has the nice effect + that &(&R) given the location containing R. + * values.c (value_copy): Make non-static (used by value_addr). + * eval.c (evaluate_subexp_for_address): Use the default + scheme (with value_addr) for a variable if it has TYPE_CODE_REF. + * valops.c (value_addr), eval.c (evaluate_subexp_for_address, + evaluate_subexp_with_coercion): Factor out some common + expressions into variables, for easier reading. + * findvar.c (locate_var_value): Remove code to handle + TYPE_CODE_REF - it should no longer be needed. + * valops.c (value_assign): Do a COERCE_REF on the + destination operand, for correct C++ semantics. + * valarith.c (value_x_binop): Ditto: De-reference C++ + references in the arguments. + * valops.c: ANSI-fy: bcopy->memcpy, bzero->memset. + +Sat Dec 28 11:30:26 1991 Per Bothner (bothner at cygnus.com) + + * dwarfread.c, coffread.c: Use INIT_CPLUS_SPECIFIC. + * symtab.c (gdb_mangle_name): Recognize and handle + constructors specially. + * symtab.c (check_stub_method): Test for failure from + cplus-demangle by calling error() instead of seg-faulting ... + +Fri Dec 27 22:21:30 1991 Fred Fish (fnf at cygnus.com) + + * defs.h: Add definition of null_cleanup() + + * procfs.c: Many small changes to add base support for a new + "info proc" command (currently only printing of the address + space mapping is implemented) and allow iteration over the + address space mapping, calling an arbitrary function for each + mapping (used for shared library support). + + * solib.c: Change all ifdefs that checked for "sun" to check + for "!SVR4_SHARED_LIBS" instead. Rewrite lookup_base() to + handle locating the debug base address even when not currently + stopped at the dynamic linker entry point. + + * utils.c: Add null_cleanup() as a known function that does + nothing to serve as a base for possibly long cleanup chains + with no specific "first cleanup" to serve as an anchor. + + * xm-sysv4.h: Add define of SVR4_SHARED_LIBS + +Fri Dec 27 10:11:33 1991 Per Bothner (bothner at cygnus.com) + + * arm-opcode.h, m88k-opcode.h, pn-opcode.h, np1-opcode.h, + pyr-opcode.h, tahoe-opcode, vax-opcode.h: Removed - + these are all essentially the same as the versions + in ../include/opcode. The remaining *-opcode.h here + are not quite so obviously the same, and need study. + * arm-pinsn.c, gould-pinsn.c, m88k-pinsn.c, pyr-pinsn.c, + tahoe-pinsn.c, vax-pinsn.c: Change so these include + opcode/FOO.h (actually ../include/opcode/FOO.h) + instead of the recenntly departed opcode-FOO.h files. + * sparc-pinsn.c: Now that we're using the much tighter + opcode table in ../include/opcode/sparc.h, we shouldn't + need to sort the opcodes before dis-assembly. + + * symtab.h, symmisc.c: Make cplus_struct_default be const. + * symtab.h, buildsym.c: Add and use INIT_CPLUS_SPECIFIC macro. + * symmisc.c: Remove unused 'nfields' variable. + * buildsym.h: Add extern decl of unknown_symtype_complaint, + since it used used by partial-stab.h (included two places). + * partial-stab.h: Re-arrange DBXREAD_ONLY #ifdefs so that + we should never hit the default case (until new stab codes + are added). Hence, we can leave the complaint in the + default case in even when DBXREAD_ONLY is off. + * partial_stab.h: Recognize a pair of N_SO stabs (one for the + directory, one for the filename proper) without peeking ahead. + * dbxread.c, mipsread.c: Because of previous change, don't need + ugly CHECK_SECOND_N_SO macro. + * buildsym.h, dbxread.c, mipsread.c: Make next_symbol_text a + macro that invokes a function pointer in next_symbol_text_func. + * mipsread.c: Added comments various places to + explain what is going on. + * mipsread.c (parse_symbol): Support the new (SGI-specific?) + symbol types stStruct, stUnion, and stEnum. + Also, some fixes in the code for dealing with tags. + * mipsread.c: Change handling of startup_file_start and _end + - now just use the textlow and texhigh of a psymtab + to check if we've found the startup-file. + * mipsread.c: Replace s_idx by global cur_sdx in many places. + This is so mips_next_symbol_text can get at it. + +Thu Dec 26 19:52:01 1991 Fred Fish (fnf at cygnus.com) + + * dbxread.c, symmisc.c: Move add_psymbol_to_plist() from + dbxread.c to symmisc and change name to add_psymbol_to_list. + Ditto for add_psymbol_addr_to_plist(). Also expand their + body to not use ADD_PSYMBOL_VT_TO_LIST. + + * dwarfread.c: Remove add_psymbol_to_list() and convert usages + to the ADD_PSYMBOL_TO_LIST macro. + + * ieee-float.c: Change "#ifdef DEBUG" to "#ifdef IEEE_DEBUG" + to avoid collision with the DEBUG for ADD_PSYMBOL_VT_TO_LIST. + + * partial-stab.h, symfile.h: Move definitions of the macros + ADD_PSYMBOL_TO_LIST and ADD_PSYMBOL_ADDR_TO_LIST from + partial-stab.h to symfile.h. They aren't stab specific. + Change ADD_PSYMBOL_VT_TO_LIST to use memcpy rather than strncpy. + +Tue Dec 24 11:38:08 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.3.2. + +Mon Dec 23 13:54:35 1991 Per Bothner (bothner at cygnus.com) + + * m68k-opcode.h, mips-opcode.h, sparc-opcode.h: Deleted. + * m68k-pinsn.c, mips-pinsn.c, sparc-pinsn.c: + Include <opcode/FOO.h> instead of <FOO-opcode.h>. + + * symtab.h, symtab.c, coffread.c, dwarfread.c, symmisc.c, + dbxread.c: The TYPE_CPLUS_SPECIFIC structure is now only + allocated when it is needed. Until it is needed, it points + to a shared statically allocated structure. + + * buildsym.h, buildsym.c, dbxread.c: Remove the kludgy code + in read_ofile_symtab to recognize two initial N_SO stabs, + and let process_on_symbol handle it. This is cleaner, more + efficient, and lets mipsread.c share the same code. + + * symfile.h, partial-stab.h: Move ADD_PSYMBOL_VT_TO_LIST + and related macros to here ... + * dbxread.c: ... from here. + * symmisc.c: Move the "overflow" handling from + ADD_PSYMBOL_VT_TO_LIST macro into new function extend_psymbol_list. + * dwarfread.c: Re-write add_psymbol_to_list to use + ADD_PSYMBOL_VT_TO_LIST macro. + + * mipsread.c: Extend mipsread.c to handle stabs-style symbols + encapsulated in ecoff symbols. This enable full g++ debugging. + * partial-stab.h: Move the code for pre-scanning symbols + and building psymtabs to an include file, out from dbxread.c. + This way, the same code can also be used by mipsread.c. + * dbxread.c, buildsym.h: Various changes to allow some functions + to be used by mipsread.c (also some arguable stylistic changes). + + * tm-mips.h: Define BLOCK_ADDRESS_ABSOLUTE, at least for now, + since mips-tfile puts relocatable addresses into LBRAC/RBRAC + stabs. + + * mipsread.c: Replace code to handle ambiguous tag blocks. + Instead of allocating a TYPE_CODE_UNDEF, guess (by looking + at types and offsets) if a tag is a struct, union, or enum. + Still patch it later if we find out for sure. + * mipsread.c: In various ways, replace Forin's + ideo-syncratic code by code that fits better with the + rest of gdb, for both stabs-based and ecoff-based symtabs. + E.g. use end_psymtab; don't do extra passes over FDR table to + pre-partition global data; don't use external symbols to + create static/global symbols (just put them in the + misc_vector); use ADD_PSYMBOL_TO_LIST macro; don't + sort psymtabs or symtabs; use obstacks more. + + * symtab.c, mipsread.c, dbxread.c, buildsym.c: + ANSIfy: Replace bcopy by memcpy, bzero by memset. + +Sun Dec 22 19:31:04 1991 Fred Fish (fnf at cygnus.com) + + * solib.c (locate_base): Fix uninitialized variable that was + causing return of random value to callee. + + * config/mh-amix, config/mh-i386v4: Change to find alloca by + compiling and linking alloca.c, even when it is not strictly + required. Also arrange to link with -ltermlib rather than + -ltermcap. + + * Makefile.in: Move TERMCAP definition to prior to inclusion + of host makefile fragments so it can be overridden. + +Fri Dec 20 16:33:39 1991 John Gilmore (gnu at cygnus.com) + + * xcoffread.c (read_symbol_lineno): Logic error in incrementing + symbol table entry number. (From Metin Ozisik.) + +Fri Dec 20 11:36:38 1991 Fred Fish (fnf at cygnus.com) + + * config/mh-i386v4: Change XM_CLIBS to "-lc /usr/ucblib/libucb.a" + so compiles with native compilers (without builtin alloca) can + pick up the version from the bsd emulation library. However, we + search the standard C library first so we don't pick up lots of + other broken stuff from libucb.a, that we *don't* want. + + * configure.in, tm-amix.h, tm-i386v4.h, xm-amix.h, xm-i386v4.h: + Change svr4 references to sysv4. + + * source.c: Move declaration of external function index to + front of file so it is in scope for all references. + + * utils.c (error, fatal): Make definitions consistent with + defs.h declarations (declared as "volatile void"). + +Fri Dec 20 10:55:36 1991 John Gilmore (gnu at cygnus.com) + + * rs6k-opcode.h: Bugfix sfe and stbrx. By Al Kossow. + +Wed Dec 18 17:09:06 1991 Stu Grossman (grossman at cygnus.com) + + * command.h, defs.h, eval.h, expression.h, remote-sa.sparc.c, + sparc-tdep.c, symtab.h, target.h, value.h, vx-share/ptrace.h, + vx-share/xdr_ptrace.h, vx-share/xdr_rdb.h: ANSIfy enums. + +Mon Dec 16 12:31:46 1991 Fred Fish (fnf at cygnus.com) + + * config/mt-amix, config/mt-i386v4: Add solib.o to TDEPFILES + for these SVR4 systems. + + * symfile.c (symbol_file_add): When verbose is set, print + the names of files from which symbols are being loaded, as + when from_tty is true. + + * solib.c: Completely reorganized (rewritten) to support + SVR4 shared libraries in a manner very close to the original + SunOS implementation. This support is expected to change and + become more general at some future time. The SVR4 version + does not yet work for attached processes, for example. + + * dwarfread.c: Arrange in dwarf_build_psymtabs() for the + relocation address to be valid whether or not symbols are + being read from a shared library or an executable. Use the + relocation address recorded in the psymtab when reading + full symbol tables (in read_ofile_symtab). Ensure that the + relocated address ranges are recorded in partial symtabs. + + * elfread.c: Add new function elf_interpreter() to return the + string from the ELF ".interp" section. This is the interpreter + that the kernel tries to run and feed the executable to. + Expand arguments to record_misc_function to include a type arg. + Modify elf_symtab_read() to supply the type arg, and to do symbol + relocations for symbols read in from shared libraries. + + * procfs.c: Add new functions proc_base_address() and + proc_address_to_fd(), used by shared library support. + + * tm-svr4.h: Add macros to support SVR4 shared libraries. + Definitions for SOLIB_ADD, SOLIB_CREATE_INFERIOR_HOOK, + CLEAR_SOLIB, and DISABLE_UNSETTABLE_BREAK. + +Fri Dec 13 20:11:26 1991 John Gilmore (gnu at cygnus.com) + + * infrun.c, remote-eb.c, remote-nindy.c, remote-vx.c: Remove + unused START_INFERIOR_HOOK. + + * remote-eb.c: Change timeout to 24 seconds (*10 fits in byte) + to account for slow loading from floppies. + (eb_create_inferior): New fn, from eb_start and + nindy_create_inferior. + (eb_close): Only use log_file if nonzero. + (eb_xfer_inferior_memory): If not writing, then read! + (eb_read_inferior_memory, eb_write_inferior_memory): Return length. + (eb_kill): A new no-op. + (eb_mourn_inferior): Remove breakpoints, then generically weep. + +Fri Dec 13 16:09:23 1991 Fred Fish (fnf at cygnus.com) + + * breakpoint.c, findvar.c, infrun.c, putenv.c, stack.c: Fix + miscellaneous comparisons of integer with NULL that elicit + compiler warnings about comparison of integer with pointer, when + NULL is ((void *) 0) rather than just a bare 0. + +Wed Dec 11 13:02:58 1991 John Gilmore (gnu at cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Disable each breakpoint + while we reset it, in case of problems. Print breakpoint number + in error messages. + + * buildsym.c (read_struct_type): Avoid sun3 compiler bug with + foo[--n]. + + * source.c (find_source_lines): If getting file mod time fails, + don't warn. + + * target.c (target_xfer_memory): If errno is set, return it, + rather than EIO. + +Tue Dec 10 04:07:22 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: infodir belongs in datadir. + +Sun Dec 8 21:13:33 1991 Michael Tiemann (tiemann at sphagnum.cygnus.com) + + * symtab.h (struct fn_field): Add new fields `is_private', + `is_protected', `is_stub', making room by reducing the size of + `voffset'. + (struct fn_fieldlist): Delete the fields `private_fn_field_bits' + and `protected_fn_field_bits'. + (TYPE_FN_{PRIVATE,PROTECTED}_BITS): Deleted. + (SET_TYPE_FN_{PRIVATE,PROTECTED}): Deleted. + (TYPE_FN_{PRIVATE,PROTECTED}): Deleted. + (TYPE_FN_FIELD_{STUB,PRIVATE,PROTECTED}): New macros. + * valops.c, valprint.c, symtab.c: All callers updated. + + * buildsym.c (read_struct_type): Delete the `visibility' field + from `struct next_fnfield', and rework code so that visibility + info is stored into the fn_field directly. Also, hacked to set + TYPE_FN_FIELD_STUB for both static and normal member functions. + +Sat Dec 7 18:13:11 1991 Fred Fish (fnf at cygnus.com) + + * i386-tdep.c: Fix a problem on i386 systems where buffered code + stream access was failing to take into account the minimum size + granularity of the code section. For now, the buffering is simply + disabled. There is a similar problem in the i386 disassember code + that has not yet been fixed (FIXME). + + * gmalloc.c: Use macros to hide some of the ugly casting required + in the previously applied fix for pointers with high bits set. + +Sat Dec 7 16:49:35 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.3.1. + +Sat Dec 7 04:12:35 1991 John Gilmore (gnu at cygnus.com) + + GDB-4.3 release! + + * Makefile.in: Roll VERSION to 4.3 + * README, TODO, WHATS.NEW, depend: Update. + + * inflow.c (terminal_inferior): Avoid error msg if attached. + + * gmalloc.c: Fix bug that causes malloc & free to + fail on systems where pointers have the high bit set (0x800efcf0 + for example). The problem is that the difference between two + pointers is a signed integer, so the computation + + (char *) 0x800efcf0 - (char *) 0 + + yields a negative value. The sign of the result of the modulus + operator is machine dependent for negative operands, thus it is + possible for it to end up negative. From Fred Fish. + +Sat Dec 7 00:00:15 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: install using INSTALL_PROGRAM and INSTALL_DATA. + added clean-info. added some standards.text support and made it + look like our other Makefiles. + + * configure.in: mark this directory target dependent. configure + now runs entirely in objdir so make existence tests and + references against ${srcdir}. + +Fri Dec 6 08:30:36 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (enum_type, struct_type): Fixes for opaque and + anonymous enumerations, structures, and unions. Now passes all + the current gdb test suite tests. + +Thu Dec 5 22:46:13 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: idestdir and ddestdir go away. Added copyrights + and shift gpl to v2. Added ChangeLog if it didn't exist. docdir + and mandir now keyed off datadir by default. + +Thu Dec 5 21:53:21 1991 John Gilmore (gnu at cygnus.com) + + * symtab.c (decode_line_1): If SKIP_PROLOGUE leaves us in + mid-line, be more careful about possibly advancing to the next line. + +Thu Dec 5 18:59:51 1991 Michael Tiemann (tiemann at cygnus.com) + + * cplus-dem.c (cplus_demangle): Call `string_need' when + null-terminating a partially-computed string. + +Thu Dec 5 18:19:43 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (enum_type): Build a correct TYPE_NAME, add a + symbol to the symbol table for each member of the enum. + + * dwarfread.c (struct_type): Build a correct TYPE_NAME. + + * dwarfread.c (add_enum_psymbol): New function to extract enum + member names and add them to the partial symbol table while + building partial symbol tables. + +Thu Dec 5 17:31:05 1991 John Gilmore (gnu at cygnus.com) + + * symtab.c (check_stub_method): Must allocate two extra argument + slots (one for `this', one for arglist terminator). + +Thu Dec 5 10:51:05 1991 Fred Fish (fnf at cygnus.com) + + * inflow.c (child_terminal_info): Supply missing '"' character. + + * buildsym.c (define_symbol): Supply missing parenthesis. + +Thu Dec 5 03:34:21 1991 John Gilmore (gnu at cygnus.com) + + * coredep.c (fetch_core_registers): Fencepost error. Fixed by + Jay Lepreau <lepreau@cs.utah.edu>. + + * inflow.c: Remember whether GDB has a terminal. Avoid switching + terminals back and forth if we don't have one. + + * c-exp.y (parse_number): Zero is not an unsigned int constant! + * dbxread.c (read_dbx_symtab): Enum type numbers can be in (1,2) form. + + Improve type parsing. + * buildsym.c (define_symbol, read_range_type): Add + long_kludge_name that passes the names of range types being + defined, down to where we must choose between 'int' and 'long' + variants. This fails on Sun C anyway since the compiler itself is + confused between int and long. + (read_array_type, cleanup_undefined_types): Correct the size of + array type whose element-type size isn't immediately known. + + Early preparation to blow away many builtin types, building them + on the fly as needed. Don't compare types to builtin types with + ==; examine the relevant fields instead. + * coffread.c (process_coff_symbol: C_ARG, C_REGPARM): Avoid ==. + * buildsym.c (define_symbol, case 'p'): Avoid ==. + * valops.c (value_arg_coerce): Avoid ==. Don't assume host and + target types are the same. + * valprint.c (val_print): I finally understand arrays, remove FIXME. + + * symmisc.c (printpsyms_command): Reduce redundancy, and put all + addresses in GDB itself into parens for easy cleanup and diffing. + +Wed Dec 4 21:05:30 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread (enum_type): Arrange for the order of enumeration + members to match the source code order; not the order in the + Dwarf information, which is explicitly reverse order. + +Wed Dec 4 18:24:39 1991 John Gilmore (gnu at cygnus.com) + + * main.c (input_from_terminal_p): Check whether GDB has a + terminal at all. + (initialize_main): Revise doc for `set editing'. + +Wed Dec 4 15:36:39 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (struct_type): Handle structures and unions which + contain DIE's other than just member dies. + +Wed Dec 4 01:59:05 1991 John Gilmore (gnu at cygnus.com) + + * symfile.c (reread_symbols): Avoid kludging mtime_set, now that + BFD is fixed. + +Tue Dec 3 17:24:57 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: VERSION 4.2.96. + + * main.c (initialize_main): Revise command descriptions. + * command.c (show_user): `info user' -> `show user'. + * symtab.c (_initialize_symtab): Typo in `info types' desc. + + * coffread.c (coff_symfile_read): Avoid select_source_symtab, + since it is not needed and can cause errors when examining ".o"s. + (read_coff_symtab, decode_base_type): Use complain, not printf. + Print symbol name, not its number. + Remove "#if defined(clipper) #define BELIEVE_PCC_PROMOTION", which + someday should go in a clipper target config file. + + * symfile.c (compact_misc_function_vector): Handle empty vector. + (complain, clear_complaints, syms_from_objfile): Fix complaint + formatting. + * xcoffexec.c: Change syms_from_objfile caller. + + * sparc-xdep.c: Force tm-file as tm-sparc.h, to make it compile + when configured for cross debugging. FIXME, this needs a more + general solution. + +Mon Dec 2 11:04:05 1991 Per Bothner (bothner at cygnus.com) + + * mips-tdep.c (init_extra_frame_info): Float register + 'i' has gdb-internal number 'FP0+i', not '32+i'. + * mipsread.c (new_symbol): Translate g++ special + symbol "$t" to "this". + +Sat Nov 30 21:29:55 1991 Steve Chamberlain (sac at cygnus.com) + Changes due to include file renaming: + + * xcoffread.c: internalcoff.h ->coff/internal.c, + coff-rs6000.h ->coff/rs6000.h + * mipsread.c: coff-mips.h ->coff/mips.h + * elfread.c: elf-common.h ->elf/common.h + elf-external.h ->elf/external.h, + elf-internal.h ->elf/internal.h + * dwarfread.c dwarf.h ->elf/dwarf.h + * dbxread.c: aout64.h ->aout/aout64.h + stab.gnu.h ->aout/stab_gnu.h + + * coffread.c: internalcoff.h ->coff/internal.h + * buildsym.c: stab.gnu.h ->aout/stab_gnu.h + * depend Updated to take the above into account. + +Fri Nov 29 16:59:25 1991 Fred Fish (fnf at cygnus.com) + + * configure.in: Add SVR4 i386 configurations. + + * config/mh-i386v4, config/mt-i386v4, tm-i386v4.h, xm-i386v4.h: + New files for i386/SVR4. + + * tm-i386v.h: Allow START_INFERIOR_TRAPS_EXPECTED and + DECR_PC_AFTER_BREAK to be predefined by files including + tm-i386v.h. + + * i386-tdep.c: Add supply_gregset(), fill_gregset(), + supply_fpregset(), and fill_fpregset() functions, which are + target dependent support functions for the SVR4 /proc register + interface. + + * dwarfread.c (enum_type, struct_type): Expand recognized + compiler generated tags to include symbols beginning with '.' as + well as '~'. + + * symtab.c (sources_info): Change simple printf of error message + to call to error(). + +Fri Nov 29 16:04:21 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdb.texinfo: remove leading comments that survived M4 but + described its role in the doc; add one more font to colophon; + strengthen disclaimer about unsupported configs. + +Wed Nov 27 01:23:41 1991 John Gilmore (gnu at cygnus.com) + + Fix bugs in C++ debugging. + + * symtab.h: target_type is not used in record types. + Eliminate TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT. Eliminate + lookup_method_type. Add TYPE_TYPE_SPECIFIC macro. + + * symtab.c (lookup_member_type): Don't chain them up, just + allocate one in symbol_obstack when we need one. + (allocate_stub_method): Build stub in symbol_obstack. + (check_stub_method): Move here from values.c. Don't deallocate + stub; overwrite it. + (lookup_method_type): Gone now. + + * buildsym.c: Handle g++ v1 stabs a little bit better. + Change some C++ parsing error()s to complain()ts. + * buildsym.c, findvar.c, printcmd.c, symtab.c: Make unions and + structs have the same representation and work the same as far as + C++ is concerned. + * buildsym.c, symtab.c, values.c: Remove all references to + TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT. + + * valops.c: Improve comments and indentation. Only call + check_stub_method when the stub flag is on. + * valprint.c: Fix or mark minor bugs and unportabilities. + + * coffread.c (anonymous unions): Allocate a cplus structure. + + * mipsread.c: Eliminate "template" types. Build new, real + types whenever we need them. Allocate cplus structures as needed. + Bulletproof the type parsing a bit more. Mark storage leaks. + (parse_type): Copy TYPE_TYPE_SPECIFIC when copying a real type + on top of a partial type. + +Fri Nov 22 16:39:57 1991 John Gilmore (gnu at cygnus.com) + + * inflow.c (terminal_inferior): Check the results of ioctl's, and + print a message if any of them fail. + (terminal_ours_1): Store result of ioctl's for debugging, but + don't print (the terminal isn't ours...). + + * tm-tahoe.h (FRAME_ARGS_ADDRESS): No need to offset from frame + pointer. + + * m2-exp.y (MAX, MIN): Rename to MAX_FUNC, MIN_FUNC to avoid + conflicts with system header files. + +Fri Nov 22 08:27:40 1991 John Gilmore (gnu at cygnus.com) + + * Roll VERSION to 4.2.95. + + * buildsym.c, coredep.c, mem-break.c, xcoffread.c: Put <stdio.h> + first, before defs.h. + * config/mh-i386sco: Override compiler to gcc, print warning. + * configure.in: Handle i386-none-aout rather than i386-aout-none. + * infptrace.c, language.h, utils.c: Lint. + * m2-exp.y: #undef MAX and MIN in case system includes set them. + * xm-tahoe.h: Set HOST_BYTE_ORDER. Include system versions of + {BIG,LITTLE}_ENDIAN and the INT_MAX family first, to avoid + redefinition warnings. + * defs.h: Reorder things so that the xm-file gets first crack + at #define's, followed by defs.h and then the tm-file. + * Makefile.in: Remove spaces after 'ignore exit code' - flags. + Late-model BSD 'make's don't cope with them. + +Thu Nov 21 23:48:56 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll new files into various lists. + +Thu Nov 21 18:26:11 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (struct_type): Must initialize the c++ specific + portion of union types as well as struct types, since gdb attempts + to reference the c++ specific info for both types. + +Thu Nov 21 10:23:52 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.2.90. + + * defs.h: Incorporate param.h into defs.h. All users changed. + * param-no-tm.h: Change users to define TM_FILE_OVERRIDE instead. + * param.h, param-no-tm.h: Removed. + * Update copyrights in all changed files. + * dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c, + solib.c, symtab.h, tm-umax.h, valprint.c: Lint. + * tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h, + xm-merlin.h: Avoid host include files in target descriptions. + * getpagesize.h: Removed, libiberty copes now. + * Makefile.in: Remove getpagesize.h, param.h, param-no-tm.h. + + * exec.c (exec_files_info): If `verbose' is set, show file offset + as well. + + * main.c: Use getcwd rather than getwd. + * standalone.c: Fake getcwd rather than getwd. + * xm-*.h: Remove fake values of MAXPATHLEN. + + * xcoffexec.c: Add /* */ to #if 0'd thing to help ANSI. + +Wed Nov 20 18:35:56 1991 John Gilmore (gnu at cygnus.com) + + * Remove gdb/hp-include. Support for HP a.out oddities should be + in BFD, not in GDB. Move gdb/hp-include/a.out.h to include/a.out.hp.h. + + * infptrace.c, tm-sun386.h: Cashier <a.out.gnu.h>, remove refs. + + * configure.in, xconfig, tconfig, Makefile.in, doc/gdbint.texinfo: + Makefile fragments for various hosts and targets now come from + gdb/config/mh-* and gdb/config/mt-*. This is for consistency with + other config setups. + + * rs6000-pinsn.c, rs6k-opcode.h: Clean up. + * rs6k-opcode.def: Delete. + +Wed Nov 20 05:04:40 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c: Recognize obsolete form of AT_element_list + attribute still used by at least one AT&T compiler, and possibly + more. + +Tue Nov 19 07:53:55 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (enum_type, struct_type): Ignore names invented by + helpful compilers for anonymous structs, unions, and enums. + + * c-exp.y, m2-exp.y: Add defines for yymaxdepth, yy_yys, and + yy_yyv, so multiple parsers produced by SVR4 versions of yacc + can coexist in the same executable without collision. + + * symtab.h: Add declaration for lookup_template_type() to kill + compiler warnings about conversions from int to pointer. + +Mon Nov 18 17:45:18 1991 Fred Fish (fnf at cygnus.com) + + * procfs.c: Move inclusion of defs.h to before param.h, as in + all the other source files that include both. This is required + to supply some typedefs that are used in files included by param.h. + + * m68k-tdep.c (m68k_skip_prologue): Add generic m68k support for + skipping function prologues, ala the other cpu families (i386, + mips, m88k, etc). Add the ability to skip movm and fmovm + instructions in the prologues. Still needs support for profile + (-p compiled) prologue sequences (FIXME). + + * tm-68k.h: Change SKIP_PROLOGUE macro to use the new generic + m68k prologue skipping function by default. + + * tm-altos.h, tm-isi.h: Continue to use the old definition of + SKIP_PROLOGUE. + +Mon Nov 18 15:12:45 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Remove tdesc stuff, and extra blanks before colons. + * blockframe.c: Remove tdesc-related code. Default + FRAME_CHAIN_COMBINE. + * infrun.c: Remove tdesc-related code. + * m88k-tdep.c (frame_chain_combine, init_frame_pc): Remove copies + of defaultable things. + * tm-m88k.h: New file, common to all Moto 88k target configs. + Derived from tm-delta88.h. + * tm-delta88.h: Use it. + * xm-m88k.h: Common file for 88K hosts. Remove obsolete stuff. + * xm-delta88.h: Use it. + * tm-*.h: Remove FRAME_CHAIN_COMBINE macros, since all are + default. + * coffread.c: Remove tdesc stuff. + * tconfig/delta88, tconfig/m88k: Remove tdesc stuff. + * xconfig/m88k: Rename tm-88k.h to tm-m88k.h. + +Mon Nov 18 13:51:37 1991 Per Bothner (bothner at cygnus.com) + + * source.c (open_source_file): If openp fails, try again + using just the base (non-directory) part of the filename. + This solves various annoying problems, such as when the + source was compiled with an absolute pathname - and the + source files have moved. Or if the source was compiled + using a relative pathname, it can be more convenient + to just specific the source directory to the dir command. + +Mon Nov 18 00:04:41 1991 Fred Fish (fnf at cygnus.com) + + * cplus-dem.c (munge_function_name): Add missing third arg to + instance of call to do_type(). + + * dwarfread.c: Changes to match new dwarf.h. Remove + AT_deriv_list, AT_loclist, AT_incomplete, AT_const_data, + and AT_is_external. + +Sun Nov 17 16:20:53 1991 Michael Tiemann (tiemann at rtl.cygnus.com) + + * symtab.h (struct type): Moved C++-specific fields into new type + `struct cplus_struct_type'. Now takes 10% less memory. Many + macros changed. + * symtab.c (init_type): Don't set fields belonging to + TYPE_CPLUS_SPECIFIC unless TYPE is TYPE_CODE_STRUCT. + * buildsym.c (read_type): Allocate TYPE_CPLUS_SPECIFIC for + TYPE_CODE_STRUCT. + (read_struct_type): Ditto. Also, add comments about how we can + deduce TYPE_VPTR_FIELDNO from inheritance info and fieldname info. + * coffread.c (decode_base_type): Allocate TYPE_CPLUS_SPECIFIC for + TYPE_CODE_STRUCT. + (read_struct_type): Ditto. + * dwarfread.c (struct_type): Ditto. + + * symtab.c (read_range_type): Don't set TYPE_MAIN_VARIANT. + (lookup_pointer_type): Don't use or set TYPE_MAIN_VARIANT. + (lookup_reference_type): Ditto. + + * cplus-dem.c: Many changes made to handle decoding of + ANSI-mangled names. + * symtab.c (gdb_mangle_name): Mangle/demangle ANSI-mangled names + as well. + +Fri Nov 15 17:57:59 1991 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (parse_partial_symbols): patch to keep DEC C + compiler from making gdb bomb out. Thanks to Ed Santiago! + +Thu Nov 14 19:27:30 1991 Fred Fish (fnf at cygnus.com) + + * symfile.c: Add function compact_misc_function_vector() to + remove duplicate misc function vector entries. See comments + in source for why this is necessary/desirable. + + * dwarfread.c: Add misc function type parameter to internal + record_misc_function(). Remove calls to init_misc_bunches() + and condense_misc_bunches(), these are now done in elfread.c. + + * elfread.c: Add support for reading bfd canonical symbol tables + and generating misc function vector entries for global and + absolute symbols. Do calls to init_misc_bunches() and + condense_misc_bunches() where they will enclose all calls to + record_misc_function(), including those in dwarfread.c. + +Thu Nov 14 17:02:11 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/Makefile.in: new targets gdb.me, gdb.ms, gdb.mm + (roffable documentation). + * doc/gdb.texinfo: embedded hints (as comments) for better + texi2roff conversion. + +Thu Nov 14 13:18:25 1991 John Gilmore (gnu at cygnus.com) + + * m88k-tdep.c (examine_prologue): Deal with OR instructions + that shuffle parameters into other regs. + * symtab.c (decode_line_1): Fix bug introduced in Per's change + of Nov 12th. + +Wed Nov 13 19:51:11 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in, xconfig/delta88 made it install a sysV manual page; + gdb.z into the right place. + +Wed Nov 13 16:45:13 1991 John Gilmore (gnu at cygnus.com) + + Motorola 88000 port without tears, I mean without tdescs. + + * m88k-tdep.c: Blow away all tdesc stuff. + Provide functions for all the frame-related macros in + tm-delta88.h. Adopt i960-style EXTRA_FRAME_INFO. + (examine_prologue, frame_find_saved_regs, skip_prologue): borrow + from i960-tdep.c and adapt to the function prologues on the 88k. + (read_next_frame_reg): Borrow from mips-tdep.c. + FIXME: frame_locals_address should go away. + + * tm-delta88.h: Dump all the tdesc stuff. + Macros for all frame-related stuff call fns of same name. + Remove duplicated definitions. FP_REGNUM becomes same as + SP_REGNUM. + + * xm-88k.h: Eliminate lots of library dependencies, now handled + in libiberty. Eliminate KDB nonsupport. + + * doc/gdbint.texinfo: Add rudiments on frames. FIXME, add more. + + + * stack.c (frame_info): Mark frameless functions. + Print locals address (FIXME, remove if same). + * blockframe.c: Comment changes, FIXME after. + * coffread.c: Even without TDESC, need to zap "@" symbols. + Don't register for wierd format names; change the names in BFD. + + * alloca.c, language.c, tdesc.c: Lint. + * tdesc.c, tdesc-lib: FIXME: remove these. + +Tue Nov 12 19:30:22 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Add tdesc library support. Fixups to lint, + copying.c rules. + +Tue Nov 12 13:43:26 1991 Per Bothner (bothner at cygnus.com) + + * symtab.c (decode_line_1): Remove spurious call to operator_chars. + + Allow setting breakpoints on C++ destructors. + * valops.c (destructor_name_p): Don't check TYPE_HAS_DESTRUCTOR, + since it lies. Rely on callers to catch missing destructors. + * symtab.c (decode_line_1): For example (see above), here. + * buildsym.c, symtab.h: Remove TYPE_FLAGS_HAS{CON,DE}STRUCTOR + flags since they are no longer used. + + Fixes to support C++ methods with functional parameters. + * c-exp.y (func_mod rule): Allow (and ignore) list of parameter + types in a function type. + * eval.c (parse_and_eval_type), value.h: New function, + parse_and_eval_type, is based on old code from check_stub_method. + But don't actually evaluate the cast, since that calls + value_cast(), whcih may fail. Just extract the type + from the parsed expression. + * values.c (check_stub_method): While looping through the + arguments, adjust depth *after* parameter has been handled. + Replace call and setup of parse_and_eval with new function + parse_and_eval_type. + +Tue Nov 12 09:40:07 1991 Fred Fish (fnf at cygnus.com) + + * utils.c, rem-multi.shar: Remove fixed arg count version of + concat(). + + * altos-xdep.c, arm-xdep.c, coffread.c, command.c, convex-xdep.c, + core.c, dwarfread.c, gould-xdep.c, infcmd.c, language.c, + m88k-xdep.c, main.c, printcmd.c, pyr-xdep.c, source.c, + sun386-xdep.c, symm-xdep.c, umax-xdep.c, values.c, xcoffread.c: + Change all instances of use of fixed args concat() to variable + args concat() now located in libiberty. + +Tue Nov 12 07:23:46 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Add xcoffread.c, xcoffexec.c. + * xcoffread.c: New file for handling AIX mangled-coff files. + * xconfig/rs6000, tconfig/rs6000: New files. + * buildsym.c: Add hooks for xcoffread.c. + * rs6000-pinsn.c, rs6000-tdep.c, rs6000-xdep.c, tm-rs6000.h, + xm-rs6000.h, rs6k-opcode.def, rs6k-opcode.h: New files. + * xcoffexec.c: New file for handling AIX shared libraries. + +Mon Nov 11 19:14:31 1991 Fred Fish (fnf at cygnus.com) + + * core.c: Minor rewording of message to user containing name of + (and possibly arguments to) the program that generated a core + file. + + * elfread.c: Remove the register_addr() stub now that it is no + longer needed. + + * procfs.c: Move misplaced #endif for ATTACH_DETACH. Add new + fetch_core_registers() function for core file support. + +Sat Nov 9 13:37:57 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (dwarf_psymtab_to_symtab): Remove leftover call + to do_cleanups() which resulted from a previous change. + + * elfread.c: Re-enable compilation of register_addr() stub + whenever it is not supplied by coredep.c + +Sat Nov 9 00:40:32 1991 John Gilmore (gnu at cygnus.com) + + Add tracking of object files (that contain symbols) to gdb. + This includes a "struct objfile" that owns symtabs and psymtabs + that were read in from that binary file. + + * symfile.h: Add struct objfile. Add pointer to the objfile + into the struct sym_fns. + Replace global `symfile' and `symfile_mtime' with + `symfile_objfile'. Add global object_files chain. + + * symfile.c: Move param.h above symtab.h. + (sort_misc_function_vector): Add. + (syms_from_objfile): Was syms_from_bfd. + (symfile_open): Now returns objfile. + (allocate_objfile): New. + (free_objfile): New, replacing free_all_.*symtabs. + (symfile_init): Takes objfile arg, puts it in sym_fns result. + (reread_symbols): Searches whole chain of objfiles. + (allocate_symtab): Takes objfile as new parameter, chains them. + Handle INIT_EXTRA_SYMTAB_INFO. + (free_all_psymtabs, free_all_symtabs): Move here from symmisc.c. + + * dbxread.c: Make more errors into complaints. + (push_subfile, pop_subfile): Move to buildsym.c. + (dbx_symfile_read, dbx_symfile_init, fill_symbuf, read_dbx_symtab, + start_psymtab, psymtab_to_symtab_1, read_ofile_symtab, + dbx_psymtab_to_symtab, ): Use bfd ops, don't use file descriptor. + Pass objfile. Change callers. + (fill_symbuf, SWAP_SYMBOL): Take bfd as arg. + (read_dbx_symtab): Just wipe out new symbols, not all, on error. + (end_psymtab): Blow away psymtab if empty. + (process_symbol_pair): Swallow into read_ofile_symtab. + (process_one_symbol): Use push_context and pop_context. + (virtual_context): Delete #if 0'd obsolete stuff. + + * buildsym.c (end_symtab): Pass objfile. + (dbx_lookup_type): Handle null typevector. + (dbx_alloc_type): Check file number, not sym number, for -1. + (find_symbol_in_list): Add for xcoffread. + (start_symtab): Default typevector is empty. Keep reusing same + context_stack. + (end_symtab): Take objfile argument and pass it to + allocate_symtab. Don't make a symtab if no blocks or symbols. + Handle empty typevector. + (push_context): New function for context stack nesting. + (read_type): Mark FIXME where we need to reintroduce type smashing. + + * buildsym.h (pop_context): Macro, paired with push_context. + (subfile_stack): Move here from dbxread.c. + + * coffread.c (end_symtab, read_coff_symtab): Take and use objfile arg. + (read_coff_symtab): Cleanup by freeing objfile, not all symtabs. + + * mipsread.c (read_mips_symtab, parse_partial_symbols, parse_fdr, + new_psymtab, new_symtab): Take and use objfile arg. + + * dwarfread.c (scan_compilation_units, start_psymtab, + process_dies, end_symtab, dwarf_build_psymtabs, + read_lexical_block_scope, read_func_scope, read_file_scope): Take + and use objfile argument. + (psymtab_to_symtab_1, read_ofile_symtab): Don't take or use file + descriptor. Use BFD internal functions instead. + (end_symtab): Call global allocate_symtab. + + * elfread.c, target.c: Minor changes to accommodate objfiles. + * symtab.h: partial_symbol_table has no symfile_name member now. + (fn_fieldlists voffset): avoid non-int bitfield. + (struct symtab): Add objfile * and objfile_chain * of symtabs. + (struct partial_symtab): Add objfile * and objfile_chain * of + psymtabs. Remove symfile_name. + + * symmisc.c: Lose free_all_symtabs, free_all_psymtabs. + (printsyms_command): Rename from print_symtabs. Add selective + listing if 2nd argument given. Print objfile info. + (printpsyms_command): Rename from print_partial_symtabs. Ditto all. + (printobjfiles_command): New; prints objfiles lists, and checks + for consistency of symtab, psymtab, and objfile lists. + + * symfile.h, symfile.c, symtab.h: Lint + +Fri Nov 8 23:38:48 1991 John Gilmore (gnu at cygnus.com) + + * command.c: Include param.h. + * defs.h (warning_setup, warning): Declare. + * expprint.c (print_subexp, UNOP_MEMVAL case): Lint. + * inflow.c (new_tty): Use USE_O_NOCTTY #define. + * language.c, printcmd.c (print_scalar_formatted), signame.c, + stack.c: lint. + +Thu Nov 7 18:26:15 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * Makefile.in: link with libiberty after libreadline, since + readline might want something in libiberty. + * m88k-xdep.c: Fixed the register offsets in the ptrace_user + struct for BCS 88k machines. + * xm-m88k.h: don't define USIZE if already defined. + * configure.in: Added delta88 target. + +Thu Nov 7 04:51:19 1991 John Gilmore (gnu at cygnus.com) + + * am29k-pinsn.c, am29k-opcode.h: Fix decoding of mtacc, dmac, fmac. + + * tm-*.h: Remove READ_DBX_FORMAT, COFF_FORMAT, and + READ_MIPS_FORMAT, which have been unused since BFD. Still + remaining is COFF_NO_LONG_FILE_NAMES. + * tm-sun3.h, tm-altos.h: Remove detritus accidentally left from + function calling code moved to m68k-tdep.c. + +Wed Nov 6 17:21:59 1991 John Gilmore (gnu at cygnus.com) + + * coffread.c: Eliminate c_nsyms in favor of c_naux. + Complain if no auxents on .bf and .ef FCN symbols, and assume + lots of line numbers. + (init_linenos, enter_linenos): Use a sentinel at the end of the + read-in linenos, to make for a fast, safe loop-end test. + +Wed Nov 6 02:54:08 1991 Steve Chamberlain (sac at cygnus.com) + + * coffread.c (read_coff_symtab): coffread used to rely on the + x_sym.x_misc.x_lnsz.x_lnno field giving the # of linnos in a + function. Two of the formats I'm using (29k and 88k) don't seem to + set it. Ths patch to fcn_last_line and (enter_linenos) is an + attempt to use the actual size of the linno table in the file to set + the number of linenos to process. + +Tue Nov 5 22:47:46 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in: put a - infront of the mv y.tab.c c-exp.tab.c and + mv y.tab.c m2-exp.tab.c, so that if bison is used, and the files + are created in place, so the mv fails, then the make continues. + +Tue Nov 5 16:47:47 1991 Per Bothner (bothner at cygnus.com) + + Add C++ as a separate language. + * defs.h (enum language): Add language_cplus. + * dwarfread.c (end_symtab): Support language_cplus. + * c-exp.y: Add new struct language_defn cplus_language_defn. + Don't set c to be the default language (see main.c). + * c-exp.y (yylex): Only look for field of this if + language is C++. (First difference from C!) + * language.c: Add case branches for C++ (currently, all + the same as C). Also, add c++ to "usage" note for "set lang". + * valprint.c (typedef_print). Add case branches for C++. + * main.c (main): New way to set initial language: Look at + file extension of psymtab containing main(). (Same as we + do for symtabs, but avoid loading the symtab yet.) + * symtab.c: New routine find_main_psymtab(), used by main() + to set initial language. + * symfile.c (allocate_symtab): Move code for mapping file + extensions-> languages to new deduce_language_from_filename(). + + Fix a C++ problem when looking for methods in super-classes. + There was confusion between base and derived types. + * valops.c (value_fn_field): Change function interface. + * values.c: Use new value_fn_field interface. + +Mon Nov 4 10:49:33 1991 Per Bothner (bothner at cygnus.com) + + * infrun.c: Fixed typo in comment. + * utils.c: All the v*fprintf emulation is now in libiberty, + so we can get rid of some junk. + * xm-sun3os4.h, xm-sun4os4.h, xconfig/decstation, xconfig/i386sco, + xconfig/sun3os4, xconfig/sun4os4: Don`t need HAVE_STRSTR any more. + * m68k-pinsn.c (print_insn_arg): Support BB/BW/BL + type operands, as used by branch instructions. + * gmalloc.c: Fix prototype of memcpy. + * elfread.c: Comment out register_addr, since it conflicts + with the one in coredep.c. + * buildsym.h: Remove extern declarations of two functions + that are really static in buildsym.c. + * tm-mips.h: Add symbolic names for more registers. + * mips-xdep.c (store_inferior_registers): Use new register names. + * xm-mips.h: Simplify REGISTER_U_ADDR, since it is now + only used for core files, not ptrace. Therefore, + the KERNEL_U_ADDR hack is no longer needed. + The mapping to ptrace number is now in in mips-xdep.c. + * mips-xdep.c: Define REGISTER_PTRACE_ADDR (using the + mapping from the old REGISTER_U_ADDR), and use it + in {fetch,store}_inferior_registers. + * mipsread.c: Rename #include ecoff.h to new name coff-mips.h. + * mips-tdep.c (mips_push_dummy_frame, mips_pop_frame): + Save/restore FP regs correctly (?). + * dbxread.c: Remove duplicate define_symbol and type_synonym_name + (these had been previously moved to buildsym.c). + Hence, define_symbol becomes extern instead of static. + * buildsym.c (read_struct_type): Comment out bogus handling + of C++ operator methods. Minor hacking of reading of class + contexts. Make define_symbol non-static, so dbxread.c can call it. + +Fri Nov 1 11:05:47 1991 John Gilmore (gnu at cygnus.com) + + * mipsread.c (read_mips_symtab, read_the_mips_symtab): Use real + filename with error messages. + * stack.c (frame_select_command): Rename to select_frame_command + to avoid "fr" and "fra" having nonunique completions. + * symfile.c (sort_symtab_syms): Ignore sort of zero symtab *. + (symfile_init): Print file format name when unable to handle it. + (free_named_symtabs): Use BLOCKVECTOR rather than obsolete BLOCKLIST. + * symmisc.c (free_symtab): Only free linetable if nonzero. + * symtab.h: Remove obsolete BLOCKLIST macros. + +Thu Oct 31 18:12:43 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): another stepi/nexti fix. Ensure + that stop_step is 1 at bottom of main loop. I don't know why this + needs to be done, but it helps me sleep better at night. + +Sun Oct 27 18:18:39 1991 Stu Grossman (grossman at cygnus.com) + + * main.c (initialize_history): Read history after reading all + init files. + +Sun Oct 27 14:09:25 1991 John Gilmore (gnu at cygnus.com) + + * buildsym.c: Break out initial malloc sizes. + (record_line): Record directly in a subfile. Alloc on demand. + (compare_line_numbers): Add from xcoffread.c. + (end_symtab): New params say whether to sort pendings and + linetable. Patch block stabs if defined. Shrink linetable before + allocating the symtab. + * buildsym.h: Delete line_vector* and prev_line_number. Add + global_stabs and file_stabs for xcoffread. + * dbxread.c (start_subfile): Move to buildsym. Change above calls. + * symtab.h: LINETABLE(symtab) can now be null. Zap LINELIST. + * symmisc.c, symtab.c: Cope with null LINETABLEs. + + * blockframe.c: Pass fromleaf to INIT_EXTRA_FRAME_INFO. + * tm-29k.h, tm-88k.h, tm-i960.h, tm-irix3.h, tm-mips.h, tm-pyr.h, + tm-sparc.h: Accept fromleaf parameter. + * c-exp.y (yyerror): Pass error message if given. + * configure.in: Add rs6000 host and target. + * inflow.c (new_tty): O_NOCTTY kludge for RS/6000. + * symfile.h (entry_point): Add. + +Sat Oct 26 00:16:32 1991 John Gilmore (gnu at cygus.com) + + * buildsym.c: New file. Breaks out symbol-table-building routines + from dbxread.c, so they can be shared with xcoffread.c. + * buildsym.h: New file. Declarations for buildsym.c users. + * dbxread.c: Remove large chunks into buildsym.c. + * Makefile.in: Add buildsym.c and buildsym.h. + + * symfile.c (syms_from_bfd): New routine. + (add_symbol_file): Call it to do the real work. + (syms_from_bfd): Initialize entry_point before calling symfile_init. + * symtab.h, symfile.c, coffread.c, mipsread.c, dwarfread.c: + Avoid declaring or setting entry_point (symfile.h & symfile.c cope). + +Fri Oct 25 10:58:16 1991 Mark Eichin (eichin at cygnus.com) + + * cplus-dem.c (cplus-demangle): added support for templates, static + data, and the new (correct) mangling for destructors. + + * dwarfread.c: (dwarfwarn): created a varargs version of + dwarfwarn, for non __STDC__ compilers. + + * c-exp.y: (yylex): added match for "template" token. + (typebase): added TEMPLATE name '<' type '>' clause, for explicit + specification of template types. + + * symtab.c: (lookup_template_type): new function for finding + templates in symbol table. + (type_name_no_tag): changed to explicitly check for s/u/e at the + beginning of the symbol - if it is a template, none of these will + be there (but the name will still contain spaces.) + +Fri Oct 25 18:59:32 1991 Per Bothner (bothner at cygnus.com) + + Various fixes to improve g++ debugging. + * symtab.h: Add is_const and is_volatile flags for each method. + These are bit fields - take their space from voffset, + which shrinks to 30 bits. Since voffset is now a bitfield, + make it unsigned for portability. This changes its interpretation + slightly: Static methods now have voffset 1 instead of -1, + and virtual offsets start at 2, not 1. + * symtab.c: Renamed gdb_mangle_typename to gdb_mangle_name, + since it now returns an entire magled method name, not just + the type part. This avoids some duplication. + It also allows us to correctly mangle const and volatile + methods (using the new is_const and is_volatile bit fields + mentioned above). + * valprint.c (type_print_base), values.c (check_stub_method): + Simplify by using new gdb_mangle_name. + * values.c (value_headof): Fix to correctly handle single + inheritance (actually two fixes, either of which suffices). + * dbxread.c (read_struct_type): Handle const and volatile + method specifiers. + * dbxread.c (read_struct_type): Yet one more place where + we must handle '\\' continuations. + * valprint.c (vtbl_ptr_name): Add final '\0'. + +Fri Oct 25 16:06:38 1991 Stu Grossman (grossman at cygnus.com) + + * tm-sparc.h, tm-68k.h (EXTRACT_RETURN_VALUE): fix output of + short return values for sparc and 68k. Patch from Paul Eggert. + + * coffread.c, coredep.c, i386-xdep.c: install patches for + SysV/386 3.2 from Mauro DePalma. + +Fri Oct 25 02:02:13 1991 John Gilmore (gnu at cygnus.com) + + * core.c (core_file_info), exec.c (exec_file_info): Print file + type. Use printf_filtered. + + * valops.c (value_fetch_lazy): Avoid 0-length fetches. + +Thu Oct 24 23:06:40 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c: Add casts to remove compiler warnings. + + * tm-3b1.h, tm-68k.h, tm-altos.h, tm-amix.h, tm-hp300bsd.h, + tm-hp300hpux.h, tm-isi.h, tm-news.h, tm-pn.h, tm-sun2.h, + tm-sun3.h: Remove locally duplicated code for calling functions + in the inferior. The only differences were in the specific trap + vectors used and whether or not an fpu was present. These are + now handled by appropriate definitions of BPT_VECTOR and + HAVE_68881 respectively. Other minor obvious cleanups. + + * valops.c: Correct a minor misspelling. + + * utils.c: Remove local BSD/USG hacks that are now in libiberty. + + * dwarfread.c: Remove prototype for dwarfwarn. Does not work + with <varargs.h>. + +Thu Oct 24 09:33:44 1991 John Gilmore (gnu at cygnus.com) + + * stack.c (frame_command): Always print. Use new + frame_select_command to select a frame without printing. + + * dwarfread.c: Use <varargs.h>, since <stdarg.h> is not portable. + +Thu Oct 24 01:32:51 1991 Fred Fish (fnf at cygnus.com) + + * dwarfread.c: New file for DWARF debugging format support. + + * elfread.c: New file for ELF object file format support. + + * procfs.c: New file for SVR4 /proc (process file system) support. + + * tm-amix.h, xm-amix.h, tconfig/amix, xconfig/amix: New files for + Amiga UNIX support. + + * xm-svr4.h, tm-svr4.h: New files for SVR4 support. + + * xm-m68k.h: New file for host machines with m68k cpu. + + * Makefile.in: Add elfread.c and dwarfread.c to SFILES_MAINDIR. + Add elfread.o and dwarfread.o to OBS. + + * symfile.h: Add "elf" to list of supported formats in comment. + + * c-exp.y, defs.h, symtab.h, valprint.c: Add three new builtin + types to gdb, builtin_type_long_double, builtin_type_complex, and + builtin_type_double_complex. Add and use new TARGET_SHORT_BIT, + TARGET_INT_BIT, TARGET_LONG_BIT, TARGET_FLOAT_BIT, + TARGET_DOUBLE_BIT, TARGET_LONG_DOUBLE_BIT, TARGET_COMPLEX_BIT, and + TARGET_DOUBLE_COMPLEX_BIT, as the sizes in bits of the indicated + types on the target machine (ala the existing TARGET_LONG_LONG_BIT). + + * infrun.c: When using SVR4 /proc interface instead of ptrace(), + call proc_set_exec_trap() to setup child to stop at first instruction. + + * inftarg.c: When using SVR4 /proc interface, call proc_wait() + rather than wait(). + + * m68k-tdep.c: Add new routines supply_gregset(), fill_gregset(), + supply_fpregset(), and fill_fpregset(), which are machine + dependent support routines for SVR4 /proc interface. + + * utils.c: Add warning_setup() and warning(). Warning() behaves + the same as error() except that it returns normally rather than + jumping back to command level. Modules that don't want to call + warning() for some reason, but want to produce their own warnings, + can call warning_setup() to ensure compatibility with the way + warning() and error() deal with the terminal. + + * symtab.c: Make internal errors produce more useful messages. + + * tm-68k.h: Move code that is duplicated in almost every single + m68k based machine's configuration files to this common file. + Duplications in the configuration files still need to be removed + (FIXME). + + * infrun.c (child_create_inferior): System V versions must call + setpgrp() with no arguments, to comply with prototyping typically + in <unistd.h>. + + * munch: Add support for SVR4 style nm output. + + * dbxread.c, mipsread.c symmisc.c, symtab.c: Remove the object + file specific fields from the partial symbol table structure and + replace them with a pointer to private data for each different + flavor of object file reader to initialize appropriately. + +Wed Oct 23 09:38:20 1991 John Gilmore (gnu at cygnus.com) + + * xconfig/sun[34]os4: Add note about strstr botch on sunos4.0.3c + and previous. + + * mipsread.c (fixup_undef_type): New function. If a struct / + union / enum is defined in a header file but nowhere else used, + (by typedefing, pointer referencing or declaration) the mipsread code + builds the complete tree for the structure but leaves its code as + TYPE_CODE_UNDEF as it doesn't know what kind of aggregate it is. + Guess its type based on the details of the members. + +Tue Oct 22 18:04:32 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): Check return value from + find_pc_line. + +Mon Oct 21 17:47:03 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): fix stepi/nexti that was broken + by my last edit to this routine. + +Mon Oct 21 14:27:43 1991 John Gilmore (gnu at cygnus.com) + + * tm-sun3.h (FIX_CALL_DUMMY): problem with cross debugging. + FIX_CALL_DUMMY does unaligned accesses and/or forgets to byte swap + the values before putting them into the dummy code. (From Peter + Schauer) + +Mon Oct 21 10:04:39 1991 Steve Chamberlain (steve at rtl.cygnus.com) + + * configure.in: added ebmon target. + +Wed Oct 16 22:49:58 1991 John Gilmore (gnu at cygnus.com) + + GDB-4.2 release! + + * Makefile.in: Roll VERSION to 4.2. + * README, TODO, WHATS.NEW: Update. + + * core.c (core_open): Improve error message for bad file. + Pass .reg virtual memory address to fetch_core_registers to help + it find the registers in the core-file header. + * coredep.c (fetch_core_registers): Take new argument, use it, + and pass it to register_addr to locate the block of registers. + * xm-mips.h: Update KERNEL_U_ADDR for new scheme. Cleanup a bit. + + * dbxread.c (read_dbx_symtab, process_one_symbol): Handle + Sequent N_FN_SEQ like everybody else's N_FN. + + * main.c: Circumvent SCO cc bug with #if !!defined(USG). + * tm-i386v.h: #endif guck. + * xconfig/i386*: Remove -Dgetpagesize()=4096 kludge. + * xconfig/i386sco: Add HAVE_STRSTR to avoid ANSI bdeath. + * xconfig/tahoe: Add REGEX, which seems to be missing. + + * coredep.c: Add <sys/types.h> for SCOnix. + * dbxread.c (read_dbx_symntab): Avoid coredump on malformed file. + * printcmd.c (print_formatted): Flush output before disassembly. + +Tue Oct 15 20:12:32 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * doc/refcard.tex (sec "Working Files"): consistent metavars and + other improvements, due to comments by François Pinard + (pinard@iro.umontreal.ca) + + * doc/gdb.texinfo (appendix "Installing GDB"): changes in + configure, and improvenets related to Pinard's refcard comments + +Tue Oct 15 08:45:12 1991 John Gilmore (gnu at cygnus.com) + + Changes from Fred Fish: + * tm-68k.h (FPI_REGNUM): Add. + * infrun.c (child_create_inferior): flush stdout and stderr + before forking. + * configure.in: Handle amigados, amix hosts and targets. + * inflow.c: Handle TIOCGLTC_BROKEN for Amiga. + + From Andreas Schwab: + * values.c (show_convenience): Use printf_filtered. + * main.c (define_command): Check result of lookup_command for + exact match. + (echo_command): Use printf_filtered, and force output out. + + * dbxread.c (read_enum_type): Avoid Modula-2 kludge that breaks C + programs. + * i387-tdep.c (double_to_i387): Fix typo for double_to_ieee_extended. + * utils.c (_initialize_utils): If !ISATTY, don't paginate. + * configure.in, tconfig/decstation, xconfig/decstation: Rename + dec3100 to decstation. + +Mon Oct 14 13:37:50 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdb.texinfo: Catch up to changes recorded here in ChangeLog + (nodes Continuing and Stepping; Memory; Targets) clarifications + due to Larry Breed + +Fri Oct 11 23:27:06 1991 John Gilmore (gnu at cygnus.com) + + * tm-{irix3,mips,nindy960,pn,symmetry,vx960}.h: Move + REGISTER_U_ADDR to corresponding xm- file. Sugg. by Peter Schauer. + + * symmisc.c (print_partial_symtabs): Add printpsyms debug cmd. + + * m68k-tdep.c (m68k_push_dummy_frame, m68k_pop_frame): Add + generic routines for calling inferior functions. + + * blockframe.c (inside_main_scope, inside_entry_scope): New. + + * copying.awk: Filter formfeeds out of copying & warrantee. + Make them available as `show copying' and `show warrantee' also. + * main.c (print_gnu_advertisement): Advt `show' commands. + +Thu Oct 10 17:25:47 1991 John Gilmore (gnu at cygnus.com) + + * mach386-xdep.c: Even when cross-compiling, leave in the + core-file reading code. + * core.c (get_core_registers): Avoid coredump if no .reg section. + +Wed Oct 9 17:03:34 1991 John Gilmore (gnu at cygnus.com) + + * mipsread.c, coffread.c: initialise TYPE_VPTR_FIELDNO to -1. + This avoids coredumps under `set print object on' in value_headof + (called erroneously by value_from_vtable_info) for `p &struct' + or `p *struct'. From Peter Schauer. + +Mon Oct 7 00:06:52 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll version to 4.1.2. + * dbxread.c: Use aout64.h, not a.out.gnu.h. Get external symbol entry + size from BFD (but, FIXME, we don't yet read external nlists's and + convert them to internal nlists's before handling them -- we still + assume they have the same size and alignment.) Use SET_NAMESTRING + everywhere useful. + * exec.c (exec_file_command): Move dead coff-encapsulation code + to BFD. + * m88k-tdep.c, m88k-xdep.c: Remove encap test and #inc <a.out.h>. + +Fri Oct 4 22:30:06 1991 John Gilmore (gnu at cygnus.com) + + * configure.in, tm-i386v.h, xm-i386v.h: Intel 386 Mach host port. + * xm-i386mach.h, mach386-xdep.c, xconfig/i386mach: New files. + +Fri Oct 4 17:04:31 1991 Per Bothner (bothner at cygnus.com) + + More patches from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>: + * mips-xdep.c (store_inferior_registers): Don't try to + write the (pseudo) FP. + * mipsread.c (parse_partial_symbols): Improved algorithm for + setting pst->texthigh. + +Fri Oct 4 16:47:32 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/Makefile: make TEXINPUTS include . everywhere + +Fri Oct 4 00:35:56 1991 John Gilmore (gnu at cygnus.com) + + * coffread.c, dbxread.c, symfile.c, symmisc.c, symtab.h: Remove + vestiges of typevectors, which were for symsegs and are no longer + used. (From a question by Eliot Dresselhaus + <dresselh@RFT30.nas.nasa.gov>). + +Thu Oct 3 09:33:26 1991 John Gilmore (gnu at cygnus.com) + + * dbxread.c, coffread.c: static-ize functions that were + gratuitiously external. (From Fred Fish.) + + * c-exp.y: sym->class to SYMBOL_CLASS (sym). + + * dbxread.c (dbx_lookup_type): Keep doubling size of typevector + until it is large enough. + + * dbxread.c (read_type): Handle error case slightly better. + Make complaint message not C++-specific. + +Wed Oct 2 17:21:07 1991 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior): Fix step/next so that you only + stop at the beginning of a new line. This fixes various problems + with for loops, nested if-else's and switch statements. + +Tue Oct 1 06:33:55 1991 John Gilmore (gnu at cygnus.com) + + * symtab.c (lookup_symtab_1, lookup_symbol): "fatal" errors + between symtabs and psymtabs become ordinary error()s. + + * dbxread.c (read_dbx_symtab): Relocate end_of_text_addr + properly, making "end pc" correct in shared lib psymtabs. + (From Guy Harris <guy@auspex.com>.) + +Mon Sep 30 13:15:31 1991 John Gilmore (gnu at cygnus.com) + + * dbxread.c: Enable, but soften, const_vol_complaint. + (read_dbx_symtab): N_STSYM and N_LCSYM define static vars. + Ditto Gould N_NBSTS and N_NBLCS. Also, all types in the psymtab + should be file-scope, not global. + (read_struct_type): Remove ancient multiple-inheritance warning. + (read_range_type): Check base type, complain & patch if undefined. + * stack.c (frame_info): Demangle the function name in `info stack'. + (From Peter Schauer) + +Sat Sep 28 10:02:33 1991 John Gilmore (gnu at cygnus.com) + + * eval.c (evaluate_subexp_for_address): Don't use + TYPE_POINTER_TYPE directly (it might be zero if this type has + never had a pointer created before); use lookup_pointer_type. + * symtab.c (lookup_method_type): Arguments were swapped in all + callers, so fix it here. I'm amazed this worked at all! + +Fri Sep 27 18:09:31 1991 John Gilmore (gnu at cygnus.com) + + * c-exp.y, m2-exp.y: Define more yysymbols that happen to be + "bss" rather than "data" symbols, but which still conflict. + * m2-exp.y: Lint. + + * coffread.c (coff_symfile_read): Use xmalloc, not malloc. + * core.c (core_files_info): Shorten output. + * exec.c (exec_files_info): Ditto. + (build_section_table): Ignore zero-length sections. + * language.c, printcmd.c: Lint. + * language.h (get_frame_language): Declare. + * saber.suppress: update. + * stack.c (find_relative_frame): Remove complex code that was + #if 0'd, stick with simple code. Lint. + * saber.suppress: Update a bit. + * symfile.c (add_symbol_file_command): Add "?" to question. + * utils.c (parse_escape): Avoid \a due to bdead compilers. + * value.h: Declare typedef_print. + + * valprint.c (val_print, type_print_base): TYPE_CODE_RANGE less + kludgey. + + * nindy-tdep.c (nindy_frame_chain_valid): Use lookup_misc_func. + (Reported by Mark Peek <mark@imagen.com>.) + + * solib.c (solib_map_sections): Relocate all sections, even + though only the text section's size is tracked. Mark ld_text + for eventual elimination as we generalize to N sections. + + * infrun.c (wait_for_inferior): Don't check if the PC is in a + call_dummy if we were stopped by a random signal that is being + passed to the program. This produced wierd results when calling + functions in the inferior and signals (e.g. SIGALRM) were in use. + +Tue Sep 24 18:05:30 1991 John Gilmore (gnu at cygnus.com) + + * infrun.c (IN_SIGTRAMP): Not parenthesized properly. + Bugfix from Paul Eggert <eggert@twinsun.com>. + * tm-ultra3.h (IN_SIGTRAMP): Ditto. + * valprint.c (print_floating): Print 9 digits for IEEE floats. + From Paul Eggert. + +Mon Sep 23 15:50:07 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.1.1. + * source.c (line_info): Peter Schauer fixes a bug I introduced in + hex conversion. + +Fri Sep 20 16:10:52 1991 John Gilmore (gnu at cygnus.com) + + GDB-4.1 release! + + * Makefile.in (VERSION): Set to 4.1. + * language.c (set_language_command): Print useful help message, + and restore the language string after giving help. + * valprint.c (typedef_print): Print typedef in C or M2. + * symtab.c (list_symbols): Use it. + * main.c (main): Avoid any output before (gdb) prompt when -q. + * language.c (set_language_command): Handle errors by restoring + the language string to its current state (fix from A. Beers). + * doc/gdbint.texinfo: Roll in information from README. Rearrange + "how to install" and "how to print the doc" stuff so it drops + easier into README. + * configure.in: Rename rtpc CPU to romp to match config.sub. + * README, WHATS.NEW, TODO: Update for gdb-4.1. + +Fri Sep 20 17:39:14 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdb.texinfo: Updates from ChangeLog. set/show write, + autoloading shared libs, copyright etc on GDB startup, clean up $_ + and $__ index refs, set/show listsize and related updates to list + cmd. New host/target configs. + +Fri Sep 20 15:46:00 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/Makefile: generate aux version-no file doc/gdbVN.m4 + from main Makefile.in version definition + doc/gdb.texinfo: use version recorded in doc/gdbVN.m4 for current + GDB version no refs + Makefile.in (setup-to-dist): generate doc/gdbVN.m4 + + * doc/gdb.texinfo: merge new language-switching and lang-specific + doc by Andrew Beers + +Fri Sep 20 15:00:57 1991 Per Bothner (bothner at cygnus.com) + + * mcheck.c: Add __ONEFILE kludge to allow compilation by non-ANSI + compilers (which may lack stddef.h). + +Fri Sep 20 13:29:42 1991 John Gilmore (gnu at cygnus.com) + + * dbxread.c (read_dbx_symtab, process_one_symbol): N_FN and + N_WARNING are the same except for the N_EXT bit, so just use their + values alone, rather than OR-ing them with N_EXT. + +Fri Sep 20 12:27:55 1991 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (parse_lines): Deal with negative extended line + offsets correctly. + + * c-exp.y, m2-exp.y: #define yyerrflag and yynerrs to avoid + global symbol conflicts. + +Fri Sep 20 02:28:15 1991 John Gilmore (gnu at cygnus.com) + + * .gdbinit: Move 'set complaints' to top, so it runs even in + case we aren't debugging GDB. + * language.c (_initialize_language): Fix type check and range + check documentation strings. + * utils.c (!HAVE_VPRINTF): Define vfprintf as a function, so + language.c can use it. (Though language.c should really not be + handling warnings/errors the way it does, FIXME.) + * symtab.c (lookup_primitive_type): const lint. + + Bugfix from Peter Schauer: + * source.c (lines_to_list): Make signed, to avoid comparison + going unsigned and complaining that -3 is too high for 21 lines. + * stack.c (lines_to_list): Ditto. + +Thu Sep 19 23:33:41 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in (HFILES): Add minimon.h. + (VERSION): Roll version number to 4.0.95. + (gdb.tar.Z, make-proto-gdb.dir, setup-to-dist, gdb-XXX.tar.Z): + New rules for building distributions. Normal distribution + is built by doing `make -f Makefile.in gdb.tar.Z' in the directory + one level up from here; it calls make-proto-gdb.dir to build a + directory `proto-gdb' which is an image of the release. The old + `gdb.tar.Z' rule still works too. + * config.sub, configure: Roll in latest from .. + +Thu Sep 19 17:41:24 1991 Roland H. Pesch (pesch at cygnus.com) + + * doc/gdbint.texinfo: Reorder contents; reorganize new-host, + new-target, and new-config chapters; fix minor typos; come closer + to usual GNU markup conventions for @file @samp @code @var. + +Thu Sep 19 17:04:12 1991 Per Bothner (bothner at cygnus.com) + + Patches from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>: + * mipsread.c (parse_partial_symbols): Enter the name of all + structs/unions... into the psymtab so we can access them if the + symtab is not read in. + * mips-tdep.c: Remove some unneeded #includes. + * xconfig/dec3100: Add HAVE_STRSTR. + +Thu Sep 19 15:14:23 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Circumvent Sun Make bug on *-exp.tab.o. + * c-exp.y, m2-exp.y: Lint. + * m2-exp.y: Avoid using yytname[] which is a Bison-ism. + * valprint.c (val_print_fields): Check for stub type. + * mipsread.c (_initialize_mipsread): Avoid using + builtin_type_void at initialize time. + (mipscoff_symfile_read): use it now. + +Wed Sep 18 15:55:51 1991 John Gilmore (gnu at cygnus.com) + + Merge multiple-language support, and partial Modula-2 support, + from Andrew Beers <beers@cs.buffalo.edu>. + + * i387-tdep.c: New file, consolidates most 80387 support, + and eliminates host dependency on double<->extended conversions. + * i386-xdep.c, symm-xdep.c: Remove most 387 support. + * xconfig/i386{sco,v,v-g,v32,v32-g}: Now need i387-tdep.o. + + * symfile.c (allocate_symtab): New fn, consolidates the work + of allocating and initializing a new struct symtab. Set the + language of the symtab based on its filename extension. + * symfile.h: Declare it. + * mipsread.c (new_symtab): Use it. Minor formatting changes. + * dbxread.c (end_symtab): Use it. + + * mipsread.c (parse_symbol, case stParam and stProc): Add #if 0'd + code for saving types of parameters with each function definition. + * dbxread.c (define_symbol, function and parameter cases): Ditto. + (read_dbx_symtab, case N_DEFD): Ignore. + (read_enum_type): Recognize FALSE/TRUE enum as Modula-2 BOOLEAN. + (read_range_type): Rename MAX_OF_TYPE to MAX_OF_C_TYPE, etc. + #if 0 out its uses, though, since they set a dead value. + * coffread.c (end_symtab): Use allocate_symtab. + (process_coff_symbol): #if 0'd for functions and params as above. + (read_enum_type): Recognize Modula-2 BOOLEAN. + * symtab.c (add_param_to_type): #if 0'd function to add a + parameter type to a function type's field list. + + * defs.h (local_hex_format, local_hex_string, *_custom): Add. + * i386-xdep.c, pyr-tdep.c, pyr-xdep.c, remote-vx.c, solib.c, + source.c, symfile.c, dbxread.c, breakpoint.c, core.c, exec.c, + i387-tdep.c, infcmd.c, mips-tdep.c, stack.c, printcmd.c: Output + hex with local_hex_string for Modula-2 support. + + * breakpoint.c (breakpoint_cond_eval): Use new value_true to test + breakpoint condition language-independently. + + * parse.c: New file with the common code remains of expread.y. + * parser-defs.h: New file with common declarations from expread.y. + * c-exp.y: New file with the C parser from expread.y, and other + language-specific information. + * m2-exp.y: New file with the Modula-2 parser and etc. + * expread.y, expread.tab.c: Remove. + * breakpoint.c, eval.c, printcmd.c, expression.h: Use + parse_expression and parse_exp_1 rather than parse_c_expression + and parse_c_1. + + * symtab.h (enum languages): Move to defs.h. + (enum type_code): Add TYPE_CODE_CHAR and TYPE_CODE_BOOL. + Declare Modula-2 builtin types. + Add MAX_OF_TYPE and MIN_OF_TYPE macros. + + * symtab.c (_initialize_symtab): Remove builtin type + definition and initialization to *-exp.y. + (lookup_primitive_typename): Use language-dependent vector. + (lookup_typename): Fix bug, make it work if primitive typename. + (lookup_unsigned_typename): Call above. + (create_array_type): Set up range type for array index. + (list_symbols): Call typedef_print to print typedefs. + + * values.c (unpack_long, value_from_longest): Handle + TYPE_CODE_BOOL and TYPE_CODE_CHAR. + + * expression.h (enum exp_opcode): Add Modula-2 specific opcodes. + * expprint.c: Look up expression opcodes in language-specific + table, based on expression's language. Handle some Modula-2 + specific opcodes. + + * stack.c (frame_info): Print language of stack frame. + (select_frame): Also select language, if in auto-mode. + (get_frame_language): New subroutine. + * main.c (execute_command): Warn as language changes automatically. + + * printcmd.c (ptype_command): Parse types using the language + parser, both for language-independence, and so that scopes can + be specified. + + * language.h, language.c: New files for language-specific macros, + declarations, and definitions. + + Misc fixes: + + * main.c (main): If error() is called during early + initialization, print its message and then exit(1) from GDB. + + * valprint.c (type_print_base): Avoid printing garbage for ints + of unusual sizes. + (_initialize_valprint): Warn about host/target size assumption; + improve long long support slightly. + + * convex-tdep.c (comm_registers_info): Avoid parsing decimal and + hex -- let parse_and_eval_address do it. + + * doc/gdbint.texinfo (Languages): Doc how to add a language. + + * Makefile.in: Cope with new files and removed files. + +Tue Sep 17 08:37:41 1991 John Gilmore (gnu at cygint.cygnus.com) + + Add Andrew Beers' changes for Modula-2 support. His ChangeLog + entries are enclosed herein. Not all of these changes + have been merged into the master GDB sources -- check the + ChangeLog above here for the merge log. + +Mon Jun 3 17:05:45 EDT 1991 + + m2-exp.y Created. Tested outside of GDB for a few days. Proper + operators were added, C specific operators and tokens + removed. yylex() revamped to some extent. Still things + missing from the grammar, such as sets. + Tested for two weeks in GDB v3.5. + +Tue Jun 11 17:23:48 EDT 1991 + + m2-exp.y Added boolean constants TRUE and FALSE to the grammar + so they are built-in. Sort of a hack. + +Fri Jun 14 12:53:51 EDT 1991 + + m2-exp.y Added range checking for numeric constants. Any numeric + constant is assumed to be of builtin type INTEGER unless: + (1) it is octal or hexadecimal, in which case it is a + CARDINAL; (2) it is too big to fit into an INTEGER, in + which case it is a CARDINAL. + eval.c Added simple range checking for +, -, and * on integers. + Doesn't work very well for *, since 6 * 1,000,000,000 = + 1,705,032,704, which fails the simple test of result >= + first_operand, no matter in what order the operands are. + +Tue Jun 18 14:11:30 EDT 1991 + + Broke the parser into parts, one containing the C grammar and the other + containing code to be shared by all of the grammars. + + The following files no longer exist: + + expread.y + expread.tab.c + + The following files were added: + + c-exp.y (The C grammar) + m2-exp.y (The Modula-2 grammar) + parser-code.c (Code that is shared by the above grammar) + parser-code.h + parser-defs.h + + Makefile.dist Changed to reflect the above dependencies. NOTE: It is + now necessary to use the Bison compiler compiler, since it + will generate function/variable prefixes other than yy. + +Tue Jun 18 16:47:49 EDT 1991 + + symtab.[ch] Added the external variable working_lang, than holds the + value of the current working language. + Added the ennumerated type language_mode, with the values + language_auto and language_manual, the former meaning that + GDB sets working_lang as needed, and the latter meaning + that the value of working_lang is totally under user + control. + symtab.[ch] Added the Modula-2 pervasive types INTEGER, CARDINAL, + REAL, BOOLEAN and CHAR. Also added the type codes + TYPE_CODE_BOOL and TYPE_CODE_CHAR. + utils.c Added set_language_command and show_language_command to + implement the GDB support commands "set language" and + "show language". + expression.h A number of identifiers were added to the type exp_opcode + to facilitate Modula-2 builtin functions, integer + division, and array indexing. + +Wed Jun 19 13:25:58 EDT 1991 + + language.h Added the macro STRICT_TYPE, which evaluates to non-zero + if the language specified by working_lang requires the use + of strict typing of expressions. Eventually, even this + will be able to be changed by the user. + Added the macro RANGE_CHECK, which evaluates to non-zero + if the language specified by working_lang requires the + checking of a value against the domain of its type. + Eventually, even this will be able to be changed by the + user. + language.[ch] Predicates involving types (simple_type, ordered_type, + same_type, integral_type, numeric_type, character_type, + boolean_type, float_type) are added. These predicates are + based on the current value of working_lang, and are handy + in type-checking. + +Wed Jun 19 15:39:34 EDT 1991 + + eval.c Added the function type_array_rank which computes the rank + of an array type. + valarith.c Added the funtion value_bool, which when given a integer + value.h value (ie. struct value *) as an argument, it returns a + boolean value (ie. struct value *) true if that integer + is non-zero, and a boolean value false otherwise. + valprint.c Added cases for TYPE_CODE_BOOL, so Modula-2 BOOLEAN values + will print out properly. + +Wed Jun 19 16:36:34 EDT 1991 + + valops.c Added the function value_capitalize, which returns it + value.h argument capitalized if its argument is a lowercase + letter, or the argument unchanged if its argument is not a + letter. + valarith.c Added the function range_check_p, which returns non-zero + value.h if its value argument is between the integral bounds upper + and lower. + Added the function range_check_enum_p, which makes sure + that its value argument is a valid member of the domain of + its type argument. + Added the function range_check_range_p, which makes sure + its value argument lies between the upper and lower bounds + of its type argument, which must be a ranged type. + Added the function check_array_index, which range and type + checks an index of an array. + Added the function value_multi_subscript, which computes + array[idx1,idx2...idxN], given a value array and an array + of values representing indicies. + values.c Changed value_from_long to work with TYPE_CODE_CHAR and + unpack_long to work with TYPE_CODE_BOOL and + TYPE_CODE_CHAR. + +Wed Jun 19 18:04:08 EDT 1991 + + symtab.c Stored pervasive types in a structure and make + lookup_pervasive_type() a lookup function that was based + on working_lang. If lookup_pervasive_type() returned + non-zero, then that value was returned (a fix, since + before it simply wouldn't return the pervasive type.) + language.h Added the macro CAST_IS_CONVERSION, which evaluates to + non-zero if the language specified by working_lang means + "conversion" when it says "cast". + valops.c Added the function value_real_cast(), which performs a + value.h *cast*, not a *conversion*, which is what value_cast() + does when it can. In particular, + value_cast(<float_type>,4) = 4.0, while + value_real_cast(<float_type>,4) = some mess. + eval.c Modula-2 builtin functions implemented: ABS, CAP, CHR, + parser-code.c FLOAT, HIGH, MAX, MIN, ODD, ORD, TRUNC, and VAL. + expression.h Added macros MAX_OF_TYPE and MIN_OF_TYPE to work with MAX + and MIN on integral types. *NOTE*: These are currently + hardcoded to work only if there are 8 bits per storage + unit. FIXME. + eval.c Made logical functions call value_bool to return a + properly typed boolean value, based on working_lang. + +Thu Jun 20 11:55:27 EDT 1991 + + valprint.c Types now print out in a Modula-2 fashion. This works for + the cases when the type is printed out step-by-step, that + is, it doesn't work when the name of a structured type + (which includes the keyword "struct", etc.) is simply + displayed. + FIXME: Perhaps this is bad. Parts of it seem to kludgey, + since type specifications in C and Modula-2 are very + different. The C printing of a type is very recursive, + whereas in Modula-2 it is generally very simple. C has + type prefixes and suffixes, which have no real analogue in + Modula-2. Maybe type_print() should call a language + specific type printer. This is also advantageous if we + compile GDB to exclude some of the languages. We'll just + leave those functions out. + +Thu Jun 20 16:57:10 EDT 1991 + + dbxread.c When reading the complete symbol table in (via + psymtab_to_symtab()), the number and types of function + arguments are added to a function type. define_symbol() + calls add_param_to_type() to accomplish this. + Assumption: when we come across a function definition + (N_FUN symbol with an 'f' or 'F' in the name), its + arguments will appear before another function definition. + When a function is found, a pointer to its type is placed + in the global in_function_type. Changes that + add_param_to_type() makes are to this global. + valprint.c The type of a function now includes (for Modula-2) the + types of its parameters. + eval.c Type checking and a check for the proper number of + arguments is now done for function calls. Not sure of the + impact this has on C++ member function yet. + +Thu Jun 20 19:58:48 EDT 1991 + + valprint.c Rewrote the type printer. Broke it into two language + specific parts, adding the functions type_print_m2() and + type_print_m2_1(). + An unfortunate consequence is this: if you debugging a C + program in Modula-2 mode (why?), info types does not work + well with regular expressions, since the types are printed + out in Modula-2 terminology, but stored in C terminology. + language.[ch] Added the functions new_type_last(), type_keyword(), and + type_sep() to aid in the printing of typedefs. + symtab.c Made the printing of typedefs as language independent as + possible through calls to new_type_last(), type_keyword(), + and type_sep(). + +Fri Jun 21 11:50:26 EDT 1991 + + dbxread.c Check all incoming ennumerated types. If it looks like + Modula-2's BOOLEAN type, then change the type_code of the + type to TYPE_CODE_BOOL so we can process it as a boolean + variable. + valprint.c Replaced some of the 0x%x with calls to sprintf and + hexformat() in val_print(). + language.[ch] Added the function hex_to_string(), which converts its + integral argument to a hexadecimal number (format is + language based) and returns the result as a string. + +Mon Jun 24 12:25:07 EDT 1991 + + valprint.c Some functions call type_print_1() directly, instead of + value.h using type_print(), so they can specify where (column) to + print things. Since type_print() takes care of language + dependence, that needs to be called first. Added a + parameter depth to type_print() (so it is now like + type_print_1). Changed type_print to type_print_at, and + made type_print a macro that passes a depth argument of + zero. + symmisc.c Changed all calls to type_print_1 to calls to + type_print_at. + Makefile.dist Made it possible to build GDB for a specific set of + depend languages. Do this by passing a definition for the macro + LANGS to make. LANGS should be a string containing a + space-separated list of language names (ie. LANGS="c m2"). + The default is to build all languages. Note that grammar + files must follow the naming convention of <lang>-exp.y. + gdb.lang This holds the current value of the LANGS macro. It is + examined every time make is called, and is updated if + necessary. + eval.c Added #ifdef _LANG_<lang> to these files. + expread.c Still need to add them to dbxread.c and coffread.c. + main.c + source.c + symtab.c + utils.c + valarith.c + valprint.c + +Mon Jun 24 16:33:11 EDT 1991 + + language.[ch] Added the functions hexformat_pre() and + hex_to_string_pre(), which take a prefix argument to + include in the format string. Thus, hexformat_pre("08") will + return "0x08x" (if the working language is language_c). + Made hexformat() and hex_to_string() calls to the above + with "" as the prefix argument. + + am29k-pinsn.c, arm-pinsn.c, breakpoint.c, convex-tdep.c, exec.c, core.c, + dbxread.c, i386-pinsn.c, i386-stub.c, i386-xdep.c, i960-pinsn.c, + infcmd.c, inflow.c, m68k-pinsn.c, m68k-stub.c, m88k-pinsn.c, + mips-pinsn.c, mips-tdep.c, ns32k-pinsn.c, printcmd.c, pyr-pinsn.c, + pyr-tdep.c, pyr-xdep.c, remote-vx.c, remote.c, solib.c, source.c, + stack.c, sun386-xdep.c, symfile.c, symm-xdep.c, symmisc.c, tahoe-pinsn.c, + valprint.c, vax-pinsn.c + + Changed all occurences of 0x%[0-9]*l*x in printf format strings to + calls to hexformat() and hex_to_string(). Format strings without + the leading "0x" were ignored. + + depend Updated to take the above into account. + + +Tue Jun 25 15:27:18 EDT 1991 + + symtab.h Added the types range_mode_t, range_check_t, type_mode_t, + and type_check_t to keep track of the current state of + range and type checking. + main.c Added the variables range_mode, range_check, type_mode, + and type_check to record the current state of range and + type checking. Added initialization code to main(). + language.h Changed the macros STRICT_TYPE and RANGE_CHECK to examine + the above variables. + + +Tue Jun 25 17:57:08 EDT 1991 + + dbxread.c process_one_symbol() updates the variable (enum language) + source_lang based on the extension of the filename + contained in the N_SO sybmol that started this symtab. + When end_symtab() is called, the value of source_lang is + put into the language field. + stack.c select_frame() sets working_lang (and possibly type_check + and range_check) to the language field of the symtab + associated with the frame that is selected if working_mode + is language_auto. If working_mode is language_manual, a + warning is printed and working_lang is not set. + language.c Added the function set_type_range(), which sets the value of + type_check and range_check (if their modes call for + automatic setting) based on the current value of + working_lang. A non-zero argument will cause the current + settings to be output. + + +Wed Jun 26 14:51:40 EDT 1991 + + eval.c Added range checks on assignment. + m2-exp.y Added the grammar for sets to the language. Currently, + these do not do anything except print an error message. + +Wed Jun 26 17:01:04 EDT 1991 + + m2-exp.y Added the ability for parse_number() to parse negative + numbers. A global flag is set upon encountering a unary + minus. This was done to make, for example, 1 parse as a + CARDINAL, and not as an integer, per Wirth's examples in + Programming in Modula-2 ed.4. + valprint.c Added support for "set radix 2" by then setting + output_format to 't'. + eval.c Implemented range checking on subrange types. Added calls + to range_check_range_p for BINOP_ASSIGN and BINOP_VAL. + Implemented MIN and MAX for ennumerated types. The + minimum value of an ennumerated type is defined by Wirth + as the first identifier, and the maximum as the last. + m2-exp.y Made octal numbers ending with "B" be characters and those + ending with "C" be numbers, per Wirth's book. (p. 34) + +Thu Jun 27 14:11:52 EDT 1991 + + stack.c select_frame() now only sets working_lang, it does not + notify the user. If working_mode is language_manual, then + a warning is issued once. + main.c At the end of each call to execute_command(), working_lang + is checked against the local static (enum language) + current. If they differ and working_mode is + language_auto, the new settings of language, type and + range checking are printed out. + stack.c Modified frame_info() to include the language of the + current frame in the output of "info frame". + language.[ch] Added the function language_str() which returns the name + of the current language. + +Fri Jun 28 15:33:14 EDT 1991 + + m2-exp.y Added the built-in procedures INC, INCL, DEC, and DECL to + the language. INCL and DECL currently cause an error, + since sets are not implemented yet. INC and DEC are + implemented as PREINCREMENT/PREDECREMENT with one + argument, and as ASSIGN_MODIFY with two arguments. + eval.c Added type checking to the above cases. + value.h Added not_lval_constant to the lval_type ennumerated type. + not_lval_constant means that the value is a constant + value; that is 3 or 'a' or TRUE, not as in a constant + identifier. This is used to help coerce numbers such as 3 + to either signed or unsigned numbers. + valops.c Added the function value_coerce_constants() which coerces + constant integers as following: if one is a constant and + the other is not, the constant's type is set to the type + of the other argument. If both are constants and one is + signed, the other is converted to a signed constant. + +Sat Jun 29 17:26:29 EDT 1991 + + valarith.c Added a better range checker. It now checks range + (successfully) on integral operations [+-] (signed and + unsigned) for any C sized type. Still does not work well + for multiplication.) + int_in_size() returns an integer that is coerced to fit into + specified number of bytes. + +Mon Jul 1 13:04:14 EDT 1991 + + language.[ch] Added the function binop_result_type(), which returns the + builtin (struct type *) type that would be the result of a + binop on the two values V1 and V2. + +Wed Jul 3 19:22:53 EDT 1991 + + source.c Extended source_info() to include the source language in + the output from "info source". + +Fri Jul 5 13:48:52 EDT 1991 + + utils.c Moved the support functions for the GDB set/show commands + dealing with language into language.c. + language.c Added the function language_info(), which displays info + about the current working language, type and range check + settings. Called via the GDB command "info language". + Added an initialization routine _initialize_language(), + that sets defaults for the language, type and range + variables and sets up the new GDB commands. + main.c Language setup moved to language.c. + depend Rebuilt. + +Mon Jul 8 10:10:22 EDT 1991 + + valarith.c Debugged the range checker for arithmetic. Still does not + work for multiplication very well. + +Mon Jul 8 12:40:37 EDT 1991 + + language.[ch] Added the function value_true() which returns non-zero if + its argument represents a boolean true value. + breakpoint.c Changed breakpoint_cond_eval() to call value_true() to + check the truth of an expression. + +Thu Jul 11 12:51:34 EDT 1991 + + language.[ch] Added the predicate structured_type(), which returns + non-zero if the argument is a structured type. + Added the predicate pointer_type(), which returns non-zero + if the argument is a pointer type. + eval.c Added the ability to do addition and substraction on + pointers and integers. This case simply bypasses the + type checker. + +Thu Jul 11 14:41:42 EDT 1991 + + include/stab.def + Added the symbol N_DEFD (0x4a) which is a definition + module dependency that is used by the GNU Modula-2 + compiler and the linker. It is not important to GDB, + except that [dbx|coff|mips]read.c should ignore these + symbols. + +Fri Jul 12 16:07:00 EDT 1991 + + valprint.c Changed the TYPE_LENGTH(type) >= 0 to TYPE_LENGTH(type) > + 0 in val_print(). Also added statements to the else part + to coerce type (argument to val_print) to a pointer type + if it is an "array of unspecified length". + valops.c Added the function value_m2_string(), which returns a + (value) value which is a constant string, whose type is + (ARRAY [0..n] OF CHAR). The length field of the type + structure is set to zero, so it will be interpreted as an + "array of unspecified length". + stack.c Moved the language/frame mismatch check to + main.c:execute_command(). + main.c The working language is recorded each time + execute_command() is executed. If working lang has + changed during its execution, then the new + language/type/range info is printed out for the user. If + the working language does not match the language of the + frame, a warning is issued. + +Sat Jul 13 16:16:39 EDT 1991 + + eval.c Moved all the type-checking stuff for operators to + language.[ch] language.c. This is so we can keep language-specific + stuff (like for what type operators are defined) in + language.c. + language.[ch] Added the function binop_type_check(), which checks to see + if its two (value) arguments are type-compatible with its + opcode argument. The opcode should represent an operation + involving an operator. Also added the macro function + unop_type_check, which calls binop_type_check with a + NULL second argument. + expprint.c Added Modula-2 operators to the op_print_tab, so info + expression.h break works correctly. Also added "op_string", which + returns the string corresponding to the (enum exp_opcode) + opcode that is its argument. + + +Sat Jul 13 18:26:18 EDT 1991 + + coffread.c Added code to record the type of function arguments with + each paricular function. Code is very similar to that + added to dbxread.c. + dbxread.c Moved add_param_to_type() to symtab.c + symtab.[ch] Added function add_param_to_type() from dbxread.c + + *** NOTE: The above additions have not been tested. + +Mon Jul 15 12:50:47 EDT 1991 + + langauge.[ch] Added the functions type_error and range_error, which work + like error() except if the type/range mode is set to + *_mode_warn, then they do not do a return_to_top_level(), + but merely print a warning. + Also changed [set|show]_[type|range]_command() to support + the new "warn" feature. + +Thu Jul 18 17:50:54 EDT 1991 + + mipsread.c Added code to record the type of function arguments with + each particular function. Code is very similar to that + added to dbxread.c. + + *** NOTE: The above additions have not been tested. + +Fri Jul 19 11:19:10 EDT 1991 + + defs.h Added macros MAX_OF_SIZE, MIN_OF_SIZE, UMAX_OF_SIZE, and + UMIN_OF_SIZE, which when given a size of a numeric type, + return the maximum and minimum value it can hold. UMAX... + and UMIN... return the result for unsigned types. + symtab.h Added the macros MAX_OF_TYPE and MIN_OF_TYPE to operate on + struct types. They call above macros. + dbxread.c Renamed the MAX and MIN_OF_TYPE macros to ..._OF_CTYPE to + avoid a name conlict with the above. + c-exp.y Added range checking on numeric constants in + parse_number() for completeness. + valarith.c Made binop_user_defined_p() and unop_user_defined_p() + return 0 if working_lang is not language_c. + +Thu Aug 8 14:17:22 EDT 1991 + + main.c + printcmd.c + breakpoint.c Documentation strings of some commands changed to + eliminate the references to the C language where + appropriate. + +Tue Aug 13 15:48:03 EDT 1991 + + m2-exp.y Added qualified identifiers to the grammar. The semantics + are slightly different from those of the GDB operator :: + c-exp.y + m2-exp.y Added a rule to each grammar of the form: start ::= exp | + type_exp, where type_exp is any valid type expression. + expression.h + eval.c Added the opcode OP_TYPE, and an error case in eval.c. + printcmd.c Modified ptype_command() so it actually parses the input + (necessary for type expressions with scope qualifiers). + Added the function ptype_eval() which expects an + expression composed of one OP_TYPE element. + *.[ch] Replaced all occurences of parse_c_expression with + parse_expression + *.[ch] Replaced all occurences of parse_c_1 with parse_exp_1 + +[End of ChangeLog entries from Andrew Beers for Modula-2 support.] + +Mon Sep 16 17:19:46 1991 John Gilmore (gnu at cygnus.com) + + Small fixes from Peter Schauer: + + * infrun.c (child_attach): Lint. + * solib.c (find_solib): Handle shared libs version 2. + + Small fixes from David Wood: + + * xm-ultra3.h (SYS_SIGLIST_MISSING): Typo. + + Small fixes: + + * remote-vx.c: Move <stdio.h> to top, for FILE. Fix from + John S <basrai%kanga.dnet@c3po.sm-alc.af.mil>. + + * utils.c (wrap_here): Avoid wrap action of fputs_filtered if + chars_per_line is at maximum (user typed `set width 0'). Fix + from Andreas Schwab <schwab@ls5.informatik.uni-dortmund.de>. + +Tue Sep 17 17:31:04 1991 Stu Grossman (grossman at cygnus.com) + + * coredep.c: include ptrace.h where necessary. + * mipsread.c(parse_lines): fix unsigned char problem that was + messing up line numbers on SGI's and possibly other MIPS based + platforms. + * infrun.c (child_create_inferior): use better test to check + return val from setpgrp(). + * tm-irix3.h, xm-irix3.h, tconfig/irix3, xconfig/irix3: add these + for sgi/irix support. + +Wed Sep 18 04:33:31 1991 Per Bothner (bothner at cygnus.com) + + * mipsread.c (parse_symbol): Put non-static procedures + in the global block. + +Fri Sep 13 00:14:52 1991 John Gilmore (gnu at cygnus.com) + + Patch together `text_start' and `text_end' for 29K port. + + * exec.c (exec_command): If NEED_TEXT_START_END, define the + variables and set them based on the exec file. + * am29k-tdep.c: declare text_start. + * valops.c (call_function_by_hand): declare text_end. + + * inferior.h: Eliminate CANNOT_EXECUTE_STACK in favor of + defining CALL_DUMMY_LOCATION as BEFORE_TEXT_END. This is + because machines that do this will also have to know to + set NEED_TEXT_START_END. Besides, it was a redundant way to + say the same thing. + * tm-29k.h, tm-convex.h, tm-np1.h: Eliminate + CANNOT_EXECUTE_STACK, define CALL_DUMMY_LOCATION and + NEED_TEXT_START_END. + +Thu Sep 12 00:22:24 1991 John Gilmore (gnu at cygint.cygnus.com) + + AMD 29000 changes from David Wood <wood@david.ultra.nyu.edu>: + + * Makefile.in (CLIBS): Put XM_CLIBS and TM_CLIBS at end. + Pass MUNCH_DEFINE to munch whenever we run it. + * am29k-pinsn.c (print_insn): Handle NOP specially. Avoid %#x + format string; use 0x%x instead. + * am29k-tdep.c: Use DUMMY_SAVE_GREGS and RETURN_REGNUM. + * ultra-xdep.c, xm-ultra.h: New files for Ultracomputer host system. + * xm-rtbsd.h: New host support for RT/PC running BSD Unix. + * inflow.c: Handle `short' process group IDs. + * infptrace.c (fetch_register): Support CANNOT_FETCH_REGISTER, + and check for ptrace errors. + * coffread.c (SDB_REG_TO_REGNUM): Define if not already. + (coff_symfile_init): Initialize text_bfd_scnum. + (read_coff_symtab): Use it to find the text [and absolute?] sections. + * ../config.sub: Add vendor nyu and os "sym[1-9]*". + * configure.in: Add hosts rtpc-*-* and a29k-*-*. + Merge target arm case with other "easy" cases. Add target + cases a29k-*-none (rehack of am29k), a29k-*-kern (remote to + Ultracomputer kernel), and a29k-*-sym1 (ultracomputer OS's user + process). + * minimon.h, remote-adapt.c, remote-mm.c: Add. + * munch: Cope with RT/PC putting fns in data segment. + Restore ability to override `nm' by specifying MUNCH_NM. + * xconfig/rtbsd, xconfig/ultra3: New host systems. + * tconfig/a29k: Rename from tconfig/am29k. Add remote-mm + and remote-adapt. Remove encapsulated coff #define's (the + support should go in BFD, and gdb shouldn't know or care). + * tconfig/a29k-kern: Same, but for remote kernel debugging. + * tconfig/ultra3: For debugging user processes on Ultra3/Sym1. + * tm-29k.h: Update BADMAG (though it should go away). + Allow the register definitions to be overridden in another + tm-file. Fix SR_REGNUM. Add a mess of _REGNUM's. Separate + RETURN_REGNUM from GR96_REGNUM and DUMMY_SAVE_GREGS from + DUMMY_SAVE_GR96, for handling kernel calling conventions + that use GR64+ rather than GR96+. + * tm-ultra3.h: New file, for use on Ultra3 Unix as well as for + remote debugging of Ultra3 kernel. Includes tm-29k.h and + overrides various things. + + * remote-mm.c (mm_attach, mm_wait): Handle attach like + child_attach does, making a clean stop in the newly attached + program. + * remote-eb.c: Lint. + + * coffread.c: Make coffread independent of any particular + variant of COFF. Avoid #include-ing any particular one except + internalcoff.h. BFD now passes key values for symbol reading + as part of its coff_data structure (LINESZ, SYMESZ, AUXESZ, + and the symbol masks and shifts); use them. + Remove obsolete end_of_text_addr. + + * exec.c: Remove unused include files. + +Wed Sep 11 19:38:44 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in (documentation targets): Pass $(M4). + Bugfix from eggert@twinsun.com (Paul Eggert). + + * stack.c (down_silently_command): Check for stack existence. + +Tue Sep 10 23:08:29 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in (VERSION): Update to 4.0.3. + +Tue Sep 10 09:19:29 1991 John Gilmore (gnu at cygint.cygnus.com) + + * core.c (core_file_command): Print frame at coredump with + its level number, by calling print_stack_frame. + * frame.h: Add selected_frame_level, print_stack_frame. + * frame.h, stack.c: Remove print_sel_frame, print_selected_frame. + * convex-tdep.c, convex-xdep.c, infcmd.c, inflow.c, infrun.c: + Change print_sel_frame and print_selected_frame callers to + print_stack_frame. + + * dbxread.c (read_ofile_symtab): Avoid empty else clause. + * symfile.c (free_named_symtabs): Ditto. + * main.c (main): wrap_here needs an arg. + * solib.c (find_solib): Avoid memory access if _DYNAMIC is zero. + (solib_add): Avoid noise. + (solib_create_inferior_hook): Lint. + (sharedlibrary_command): Move dont_repeat to here. + * utils.c (error): Call wrap_here to force buffered output. + + Small patches from Peter Schauer: + + * coffread.c (start_symtab): Free any existing line_vector before + malloc-ing new one. + (read_coff_symtab): Ditto for type_vector. + + * source.c (lines_to_list): New variable, replacing function. + (all uses): Use as variable. + (_initialize_source): Add 'set listsize' and 'show listsize'. + * utils.c (lines_to_list): Remove function. + * stack.c (print_frame_info): Use as variable. + * defs.h (lines_to_list): Remove declaration. + +Mon Sep 9 13:45:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * breakpoint.c (insert_breakpoints): Restore warning about + the program might be running in another process, but only for + systems with this brain death (#ifdef ONE_PROCESS_WRITETEXT). + * xm-hp300bsd.h, xm-mips.h, xm-vax.h: Define it. + + * utils.c (error): if error_pre_print is set, print the string + first. + * main.c (main, print_gnu_advertisement, print_gdb_version): + Reformat legalese so it always prints, but acts as an "I'm here" + message while symbols are being read. If any errors occur, + print a few newlines to set off the message and start it at the + left margin. Remove mention of "help" command, and don't yak + about symbol reading. + (catch_errors): Error string is now printed first in case of + error, not last. + * command.c (undef_cmd_error, lookup_cmd): On undefined command, + suggest the "help" command. + + * Makefile.in (VERSION): Set to 4.0.2. + +Thu Sep 5 23:49:48 1991 John Gilmore (gnu at cygint.cygnus.com) + + * .gdbinit: Remove useless "rr" command. Set complaints + to 1 for people debugging gdb. + + * breakpoint.c, remote-vx.c: Reword strings printed by + catch_errors callers. + +Wed Sep 4 11:07:50 1991 John Gilmore (gnu at cygint.cygnus.com) + + * WHATS.NEW: "history write -> history save". Doc "write on/off". + (Fix from kenc@viewlogic.com.) + + Fix some infrastructure to be able to cope with host and target + machines with different sized basic types (ints, ptrs, etc). + (Idea from pierre@la.tce.com (Pierre Willard).) + + * values.c (value_from_longest): Rename from value_from_long. + Handle pointer types as well as integers, so that targets with + different pointer sizes from the host can be accomodated. + * breakpoint.c, convex-tdep.c, eval.c, expprint.c, printcmd.c, + valarith.c, valops.c, valprint.c, value.h, values.c: Rename + uses of value_from_long to value_from_longest. + * eval.c, findvar.c, printcmd.c, valarith.c, valops.c: Pass + the correct pointer type to value_from_long{est}. + + * doc/gdb.texinfo ($_, $__): Describe types of these variables. + + * remote-vx.c: Remove obsolete code for calling functions via + vxworks kludge interface (it referenced value_from_long). + + * valops.c (value_string): Find malloc with lookup_misc_func, not + raw search. + +Tue Sep 3 18:37:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + Make writing to files work properly. (Fixes to BFD are also needed.) + + * core.c (core_open): Open file ourselves, read or r/w, depending on + write_files. Use bfd_fdopenr. + * gdbcore.h (write_files): New variable. + * exec.c (write_files): Define variable, add set&show for it. + (exec_file_command): Use write_files to open for read or r/write. + + Make shared library reading happen automatically. These changes + are mostly from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>. + + * inferior.h (stop_soon_quietly): Add to exported variables. + * infrun.c (child_create_inferior): call solib hook, if defined. + (child_attach): call solib hook, if defined. + * solib.c: Include inferior.h. Add from_tty to so_list as kludge. + (find_solib): Use lookup_misc_func rather than hand-rolled. + (symbol_add_stub): New stub for catch_errors. + (solib_add): Avoid output if !from_tty. Catch errors rather + than just calling symbol_file_add and bombing. + (solib_create_inferior_hook): Interface with the target process + to let it read and alloc shared libs, then figure out what it did. + + * core.c (validate_files): Fix typo, soften warning. + (Fix from Hiroto Kagotani <kagotani@cs.titech.ac.jp>.) + + * utils.c (fputs_demangled): Avoid duplicate printing if + demangling is off. (Fix from J.T. Conklin <jtc@cayenne.com>.) + + * infrun.c (proceed): Cast -1 to (CORE_ADDR) before comparing. + (Fix from pierre@la.tce.com (Pierre Willard).) + + * main.c (catch_errors): Change argument to a char * from an int, + since a char * can point to a struct full of glop, but an int + is not guaranteed to be able to hold a pointer. + * breakpoint.c (breakpoint_cond_eval, bpstat_stop_status, + breakpoint_re_set_one, breakpoint_re_set): Adapt. + * core.c (core_open, solib_add_stub): Adapt. + * remote-vx.c (symbol_stub, add_symbol_stub, callers): Adapt. + +Wed Aug 28 18:18:05 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in: Update VERSION to 4.0.1. Evade GNU Make bug + by adding .NOEXPORT target. + +Fri Aug 23 17:14:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + * GDB-4.0 release! + * Update README. + * Makefile.in (VERSION): Roll to 4.0. + (gdb.tar.Z): Make refcard.ps as well, for shipment. + +Fri Aug 23 14:07:09 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: minor rewordings, crossref to ptype from print, + more on printsyms. + + * doc/Makefile, Makefile.in: generate "gdb-all.texi" rather than + "gdb-all.texinfo" + + * doc/rdl-apps.texi: renamed from rdl-apps.texinfo + + * Makefile.in, doc/Makefile, doc/gdb.texinfo: + reflect above name change + + * WHATS.NEW: correct pointer to refcard. + + * doc/gdb.texinfo: update New Features, Installing + + * doc/gdbint.texinfo: add short description of configure +template + +Fri Aug 23 11:46:08 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: update, fix bugs in "Installing" appendix + +Fri Aug 23 01:02:00 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.in: Add config.sub, make doc/rdl-apps.texinfo for + tar file, add dependencies for referenced doc files. + +Thu Aug 22 22:17:06 1991 Stu Grossman (grossman at cygint.cygnus.com) + + * coffread.c, symfile.c, stack.c: saberized. + +Thu Aug 22 16:20:27 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/refcard.tex: permuted Essential Commands sec + + * doc/gdb.texinfo: new C++ chapter; revised installation appendix; + new doc for + set/show symbol-reloading + default set complaints 0 + info all-registers + RET-repeat disabled after prompted long displays + processID (attach) interpretation of 2nd GDB cmdline arg + +Thu Aug 22 14:05:47 1991 Stu Grossman (grossman at cygint.cygnus.com) + + * expread.y, coffread.c, dbxread.c, target.c, mem-break.c, + cplus-dem.c, values.c, valprint.c, symfile.c, remote.c, + breakpoint.c, main.c: lint. + +Thu Aug 22 02:02:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + Install new configuration scheme for GDB and friends. + + * config.sub: Translate ordinary names to three-part names. + * configure: Use three-part names internally. + * configure.in: Translate three-part names to filenames. + + * README, WHATS.NEW: Update for gdb-4.0. + * Makefile.in: Roll VERSION to 3.99. + +Wed Aug 21 18:21:09 1991 John Gilmore (gnu at cygint.cygnus.com) + + * infptrace.c (KERNEL_U_ADDR_BSD): Include a.out.gnu.h. + * i960-tdep.c, m68k-tdep.c, sparc-tdep.c, tm-i960.h, + tm-m68k.h, remote-nindy.c: Change ext_format_XXX structs + to single structures rather than arrays; when passing + their address, use &. This avoids trouble with bdead compilers. + * mcheck.c: Don't include <stdlib.h>; just declare "void abort();" + instead. This avoids portability headaches. + * mips-tdep.c (mips_do_registers_info): Only print FP regs if + asked to. + * source.c (open_source_file): Avoid ANSI const bdeath by + skipping declaration and then casting result value. + * tm-hp300bsd.h: Clarify comment. + * utils.c (strstr): Result is const char *; ANSI bdeath. + * xm-hp300bsd.h: Define HOST_BYTE_ORDER. Redefine INT_MIN, + since system include file defines it differently from "defs.h", + though the two are equivalent for our purposes. + * tconfig/hp300bsd: Add m68k-tdep.o. + +Tue Aug 20 16:01:11 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tconfig/sun*4: Remove warnings about system assembler. + +Mon Aug 19 13:44:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * mcheck.c: Avoid warning about undeclared abort fn. + * tm-sparc.h (PC_ADJUST): Avoid calling error() from this; + it causes recursive calls to error() when used in cleanups. + To do so requires that we make it a function, so we do. + * sparc-tdep.c (sparc_pc_adjust): New implem of PC_ADJUST. + * utils.c (do_cleanups): Remove the current cleanup from the + chain *before* calling it, in case error() is called from it. + The result won't be pretty, but won't be an infinite loop either. + +Mon Aug 19 00:41:04 1991 Michael Tiemann (tiemann at cygint.cygnus.com) + + * dbxread.c (read_struct_type): Grok anon structs for C++. + (vb_name, vptr_name): Null terminate these strings. + +Fri Aug 16 08:31:03 1991 John Gilmore (gnu at cygint.cygnus.com) + + Minor bug fixes from BSD Net2 gdb: + + * blockframe.c (get_prev_frame_info): If FRAME_CHAIN_COMBINE + returns 0, there is no previous frame. + * breakpoint.c (commands_command): If !from_tty, don't call + input_from_terminal_p(). + * dbxread.c (record_misc_function): Speed up slightly. + (compare_psymbols): Ditto. + * infcmd.c (do_registers_info): Take a second argument to + determine whether to print float registers. "info registers" + does not do so anymore. "info all-registers" does, now. + * mips-tdep.c, pyr-tdep.c (xxx_do_registers_info): Take second + arg and ignore it. + * tm-mips.h, tm-pyr.h (DO_REGISTERS_INFO): Pass second arg. + * inflow.c (initialize_inflow): Set tflags_ours correctly. + + Other fixes: + + * breakpoint.c (bpstat_do_actions): Use a cleanup to restore + executing_breakpoint_commands if we are interrupted by error. + * coffread.c (init_lineno): Avoid problem with zero-sized linetab + versus malloc/free. From: john@labtam.labtam.oz.au (John Carey). + * core.c (solib_add_stub, core_open): Call SOLIB_ADD inside a + catch_errors() so we can setup the frame regardless of whether + the shared libs work. + * ieee-float.c (double_to_ieee_extended): Get exponent from + right place in little-endian systems. From John Carey. + +Thu Aug 15 18:43:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * main.c: Remove unused terminating_signals and catch_termination(). + (long_options): Terminate with a zero element. + [Bugfix from Atsuo Kawaguchi <atsuo@hark86.harl.hitachi.co.jp>.] + (gdb_readline): Make call-compatible with readline. + (init_signals): Improve comments re vfork vs. signal. + + * utils.c (prompt_for_continue): Use new gdb_readline(). + If we prompt for continuation, we don't let CR repeat the previous + command, once we get back to a prompt. It's too easy to keep + hitting CR, expecting "--more--" prompts, and have some long + command start repeating on you. + +Tue Aug 13 16:17:56 1991 John Gilmore (gnu at cygint.cygnus.com) + + * blockframe.c (frameless_look_for_prologue): Speed up by + calling SKIP_PROLOGUE_FRAMELESS_P if it's defined. + * tm-sparc.h (SKIP_PROLOGUE, SKIP_PROLOGUE_FRAMELESS_P): + Define two variants, one faster. + * sparc-tdep.c (sparc_frame_chain): Use target_read_memory + and return zero, rather than giving an error. + (setup_arbitrary_frame): Initialize the PC in the new frame. + (skip_prologue): Add a second arg saying whether we're just + checking for a frameless function or not. + + * core.c (core_open, core_close, core_xfer_memory): Move + section table pointers and bfd* into the target_ops. + (core_open): Allow errors in shared lib reading, etc. + (core_files_info): Describe shared library sections. + + * exec.c (exec_open, exec_close, exec_xfer_memory, xfer_memory, + exec_files_info, set_section_command): Move section table + pointers and bfd* into the target_ops. + (add_to_section_table): Add BFD to section table. + + * target.c (target_xfer_memory, target_info): Pass target to + xfer_memory and target_info functions. + * target.h: '' + + * gdbcore.h: Move struct section_table. + * target.h: New home of struct section_table. + + * solib.c (solib_add): New argument is the target_ops whose + section list is to be added to, if any. Reallocate the + sections in that target to add any that come from shared libs. + (throughout) so_sections renamed to sections. + (solib_xfer_memory): Deleted. + * tm-sunos.h (SOLIB_ADD): Add target argument. + (SOLIB_XFER_MEMORY): Delete. + + * core.c, exec.c, inftarg.c, remote-eb.c, remote-nindy.c, + remote-vx.c, remote.c, target.c, target.h: Remove add_syms vector + from target_ops. It's the same on all targets. Add two section + pointers to target_ops. + + * stack.c (find_relative_frame): Dump ancient algorithm for + "down", just use handy "next" pointers. + (frame_command): Don't error if there is no stack; let user + set one. + + * inflow.c (new_tty_prefork, new_tty): New prefork routine + modifies static state in the parent process; new_tty itself + runs in the child and modifies the child's file descriptors + to match the saved static state. + * infrun.c (child_create_inferior): Call new_tty_prefork, + fork, then new_tty. + + * infptrace.c (child_xfer_memory): Add ignored target arg. + * remote-eb.c (eb_xfer_inferior_memory): '' + * remote-nindy.c (nindy_xfer_inferior_memory): '' + * remote-vx.c (vx_xfer_memory): '' + * remote.c (remote_xfer_memory): ''. Rename from + remote_xfer_inferior_memory. + + * main.c (main): Only try to attach "corefile" argument if + it starts with a digit. + + * symfile.c (symbol_reloading): New "set/show" variable. + (symbol_file_add): Shorten message about symbol reading. + (add_symbol_file_command): Merge with add_syms_addr_command, + since this should work on all targets now. + (stop_whining): Default to zero, to shut up complaints + about bad symbol tables on many systems. + (free_named_symtabs): Just exit unless symbol_reloading. + + * xm-sun3os4.h, xm-sun4os4.h: Define BROKEN_LARGE_ALLOCA, + and add comment explaining shared library screw. + + * source.c: #if defined => #ifdef. + +Thu Aug 8 12:23:19 1991 John Gilmore (gnu at cygint.cygnus.com) + + * doc/gdbint.texinfo: Improve doc on porting to new OS's. + +Tue Aug 6 17:16:15 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/rdl-apps.texinfo: provide default readline-appendix finder + (doc/Makefile knows how to make one for local config) + + * Makefile.in: use doc/Makefile for doc targets + + * doc/Makefile: GDB documentation now has its own Makefile + doc/refcard.tex: renamed from "gdbrc.tex" + doc/gdbint.texinfo: add markup in "Cleanups" chapter + + +Fri Aug 2 00:13:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * values.c (baseclass_addr): When reading target memory, use the + length of the basetype, not the upper type. We've only malloc'd + enough space for the basetype, leading to errors in free(). + + * expprint.c (print_subexp): Print UNOP_MEMVAL of an OP_LONG that + ends up as a function specially, since we know the actual type of + the pointed-to address. This (somewhat) fixes display of + expressions that include misc_function_vector names. Try `cond 1 + !strcmp("a","b")' then `i b'. + + * infrun.c: Move DO_DEFERRED_STORES from proceed() to resume(). + The child can be proceeded from inside wait_for_inferior in + evaluating breakpoint conditions, and DO_DEFERRED_STORES was + getting skipped in that case. + + * expprint.c (print_subexp): Use filtered output, since the + subroutines we call use it, otherwise the output is horribly + mangled, since output of wrappable stuff comes out late. + + * Makefile.in: Bump VERSION to 3.98.1 + + * infrun.c (child_create_process): Use execlp to find the + shell to exec our target program. This requires some fiddling + with `environ' since there is no execlpe(). + +Thu Aug 1 15:35:17 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.in, doc/gdbrc.tex, doc/rc-* (new files): + Minor rearrangement of refcard permits two new make targets-- + gdbrc.dvi DVI output for refcard, using CM fonts + gdbrc.ps PostScript refcard, using PS fonts + +Wed Jul 31 16:46:21 1991 John Gilmore (gnu at cygint.cygnus.com) + + * GDB-3.98 release. + + * TODO, Projects, WHATS.NEW, README: Update for gdb-3.98. + * Makefile.in (gdb-all.texinfo): Avoid touching file if M4 dies. + +Wed Jul 31 16:35:58 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: last changes for release. + Minor typo and formatting fixes; incorporated most fixes remaining from + filed mail commenting on earlier drafts. + + Added warnings: pipes don't work in run command; + conditions are converse of assertions; + step over fn without debug info goes to next fn; + vars may have "wrong" values near fn entrance, exit + + Added example from Kingston on printing repeated nonadjacent values + + Added explicit mention that in Emacs gdb mode C-c and C-z are like + shell mode for signals + + Renamed "Stepping and Continuing" to "Continuing and Stepping" so it + doesn't sound so much like its parent "Stopping and Continuing"; also + moved entries on continue to top of section, so they don't get lost. + + Improved installation directions in appendix, added manual formatting + instructions + +Tue Jul 30 17:26:39 1991 John Gilmore (gnu at cygint.cygnus.com) + + * configure.in: Remove xm.h and tm.h even if we aren't linking + new ones, so "./configure sun4; ./configure none" does the right + thing. Assume that alldeps.mak and depend are already built in + srcdir, and avoid running "make" (particularly "make depend", + which involves "gcc") from inside configure. Build Makefile + directly rather than building Makefile.conf first. + * configure: Regenerate with above changes. + * Makefile.in: Use $(BISON) to find bison. Roll VERSION + to 3.98. Revise gdb.tar.Z procedure to produce a file + called gdb-$(VERSION).tar.Z but which unpacks into a + directory called "gdb". Move non-source files out of + $(SFILES_SUBDIR). Pretty up alldeps.mak with comments. + (depend): Don't try to do "gcc expread.y". + (expread.o): Update dependencies by hand. + +Mon Jul 29 15:21:09 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: + Fixed a variety of small typos that prevented info from formatting + cleanly; altered too-long heading for GPL Appendix, as discussed + w/RMS; Changed date on cover to July 91. + +Fri Jul 26 13:20:02 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * doc/gdb.texinfo: + (1) Applied some fixes due to comments from Larry Breed (easier ones + through chapsec 5.2) + (2) Eliminated use of @footnote---had my doubts about it anyways, and + it's broken in latest texinfo + (3) Introduced *some* use of [] for optional arguments, where + explanation is not simpler by listing cmd w arg and cmd w/out arg + separately. Still not using @deffn. + (4) Dropped in GPL-2. NOTE: one of GPL-2 or texinfo is broken; a + couple of headings are too long. Need patches to texinfo or revision + to GPL-2. + + * Partial update to README (which still needs work for this + release!): (1) use of configure corrected for new script, + (2) "make gdb.dvi" and "make gdb.info" mentioned. + +Wed Jul 24 06:44:02 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symtab.c (lookup_symbol): Don't complain right off about + no debug symbols; use the misc function vector first. + (list_symbols): Use misc function vector to find symbols + that don't have debug info, and print them. + (find_pc_symtab): Temporarily avoid fatal() when psymtab + PC range doesn't match symtab PC range, as it does on the + MIPS because our symtab reading isn't perfect. + + * dbxread.c (dbx_symfile_read): Make warning about + "no debug symbols" slightly nicer. + + * source.c (select_source_symtab): If "main" symbol exists, + but decode_line_spec can't find line info, don't just return + a zero; try other source symtabs or give an error. + + * mipsread.c (parse_partial_symbols): Sort the psymtabs by + their low addresses first, then rip through fixing high addrs. + + * ns32k-opcode.h (sfsr): Bugfix from Rune Nerg}rd, + <runene@ifi.uio.no>. + (NS32K_SVC_IMMED_OPERANDS): Reverse the #ifndef. + +Tue Jul 23 18:52:43 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * Minor, mostly mechanical, cleanup of doc subdir for clean + makeinfo'ing and TeXing; also ensured gdb-all.texinfo (post-m4) + and gdb.info (post- texinfo2 makeinfo) generated for distribution. + +Sun Jul 21 03:54:52 1991 John Gilmore (gnu at cygint.cygnus.com) + + Mostly MIPS and general symbol-reading fixups. + + * doc/gdbint.texinfo: Add documentation on symbol-reading + interface. + + * mipsread.c: Remove kludges around #include "ecoff.h". + Remove redefinitions of a_magic, etc, no longer used. + (parse_symbol, ): Convert "Internal:" printfs to complain()ts. + Fix global overview comments to match symfile.c protocol. + (mipscoff_new_init): Eliminate cur_hdr if we have one. + (mipscoff_symfile_read): Eliminate unused code. Avoid + sorting all the symtabs, when all we have read here is psymtabs. + The symtabs are sorted as they are created anyway. Tell + condense_misc_bunches whether we're mainline. + (psymtab_to_symtab_1): Pass filename when recursing, to make + stack trace more informative. + (parse_partial_symbols): Assume cur_hdr as argument. + (read_mips_symtab): Don't clobber cur_hdr, so it can be freed. + Pass cur_hdr implicitly to parse_partial_symbols. Avoid checking + the TYPE_NAME of char *, since that's done in symfile.c. + (free_numargs, parse_symbol, add_symbol, add_block, + shrink_linetable): Declare these fns void. + (upgrade_type): Convert tree of if's to switch. Clean up + bogus "off == 0" handling with a complaint. Avoid setting + field bitpos and bitsize of array with lower and upper bounds. + Check specified bitsize of elements against their actual type's + bitsize, and complain if different. Complain about unknown + type qualifiers. + (parse_fdr): Don't assume sizeof(char *) == sizeof (struct *). + (psymtab_to_symtab_1): Print names of subsidiary files that + are being read in. FIXME, we read far too many files. This code + is not the problem, the problem is in parse_fdr where the psymtabs + are set up. + (cross_ref): Result should indicate that we used one aux entry + normally, or two if we encountered a "next" entry. This used + to leave the caller pointing at the wrong aux entry. + (add_symbol): If overflowed cur_block, reallocate it larger, + chase all pointers to it, and complain(), rather than clobber memory. + (shrink_block): Use xrealloc rather than xmalloc-and-copy. + (new_field): Only allocate one field initially, not two. + Pull ++ out of macro argument. Simplify. + (_initialize_mipsread): Avoid initialization of importd + global_psymbols and static_psymbols. + + * symfile.c (psymtab_to_symtab): Depend on XXX_psymtab_to_symtab + to properly set pst->symtab; avoid searching for it. + (symfile_fns): Improve comments, add a FIXME. + * dbxread.c: Update comments to reflect symfile protocol. + (read_ofile_symtab, end_symtab): Return the symtab. + (psymtab_to_symtab_1): Set pst->symtab. + + * coffread.c (coff_symfile_read): tell condense_misc_bunches + whether we're mainline. + + * symfile.h (sym_fns): Remove unused sym_discard member. + * coffread.c, mipsread.c, dbxread.c: Remove XXX_symfile_discard. + + * mtrace.c (mtrace): Take effect if mallwatch is set, even if + the environment variable is not. + * infcmd.c (finish_command): Use filtered printfs. + * cplus-dem.c: Add struct tags to a few unnamed structs. + * valops.c (value_coerce_array): Improve comments. + * valprint.c (type_print_varspec_suffix): Print array size only + if greater than zero. + * m88k-tdep.c: Shift some lines left by one space, that had + apparently been trashed at some point. + * TODO: More things to do, a few got done. + +Thu Jul 18 22:46:05 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symtab.h (LOC_EXTERNAL): Eliminate in favor of LOC_STATIC. + (ldsymoff, ldsymlen, globals_offset, statics_offset): Improve + comments. + * dbxread.c (read_dbx_symtab): LOC_EXTERNAL -> LOC_STATIC. + * expread.y, findvar.c, symmisc.c: Ditto. + * printcmd.c (address_info): Update printed forms of LOC_ + symbols. Elim LOC_EXTERNAL. + (print_frame_args): Keep track of param stack offsets before + re-looking up to find the local register param is kept in. + + * mipsread.c: Use <symconst.h> and <sym.h> rather than <syms.h>. + Further integration of mipsread into gdb. Eliminate unused + routines, duplicate declarations. Handle static symbols in + psymtabs as well as external symbols. When reading symtabs, + insert symbols into the correct block (global, static, or a local + block). + (read_mips_symtab, parse_partial_symbols): Don't pass useless + "incremental" arg. + (mipscoff_symfile_read): Don't call select_source_symtab. + (parse_symbol): Use SYMBOL_VALUE_ADDRESS where appropriate, + rather than SYMBOL_VALUE. + (parse_external): Comment clobbering of top_stack. + (parse_partial_symbols): Update comments. Allocate and parse + static symbols as well as external symbols. FIXME, enum values + are not handled in this pass, but should be. Inline new_psymbol. + Use SYMBOL_VALUE_ADDRESS. + (psymtab_to_symtab_1): Read symbols into global static block + by default (until enter some function's local block context). + (sort_blocks): Clean up STATIC_BLOCK as well as GLOBAL_BLOCK. + (destroy_all_symtabs, new_psymbol): Eliminate, unused. + + * source.c (select_source_symtab): Select a source symtab + from either the symtabs or, failing that, the psymtabs. + (list_command): Update error message. + (forward_search_command, reverse_search_command): Use getc, not + fgetc, for speed. FIXME, add comment about buffers that die if + overrun by long line. + + * values.c (unpack_field_as_long, modify_field): Avoid shifting + by an entire word, which is not portable, if we have a 32-bit + field. (Code in dbxread.c already turns such bitfields, if + aligned, into ordinary ints, but fixing this will help for other + symbol formats and for future changes.) + * core.c (core_open): Handle ANSI const brain death. + * utils.c (vprintf): Fix varargs typo. + +Sun Jul 14 00:42:53 1991 John Gilmore (gnu at cygint.cygnus.com) + + * findvar.c (find_var_value): Handle &function better. + * TODO: Document work needed on &fn and &array. + * printcmd.c (print_address_symbolic): New arg is the prefix + to print if a name is printed. + (print_address_demangle): Honor "set print address" now. + Use new arg above to improve spacing of output. + * valprint.c (val_print): When printing function pointers, + print symbolic form too. + * breakpoint.c (breakpoint_1): Use new print_address_symbolic. + +Mon Jul 8 19:02:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * core.c (memory_error): Reword error msg to mislead less. + + * mips-pinsn.c (print_insn_arg 'd'): Print $ with reg name. + + * mipsread.c (read_mips_symtab, read_the_mips_symtab, + parse_partial_symbols): Use newer BFD internals (external_filehdr + and external_aouthdr), byte-swap the fields that we care about + before using them, and make the file header data local to + read_the_mips_symtab rather than global. + +Sat Jul 6 01:34:15 1991 John Gilmore (gnu at cygint.cygnus.com) + + * ns32k-opcode.h (movmw, movmd): Fix opcodes. Bug fix + from Rune Nerg}rd <runene@ifi.uio.no> on 5 Jul 1991. + + * main.c (command_line_input): Flush stdout and stderr + before every call to readline. This reportedly fixes a bug + that comes up in Sys V running emacs-gdb and/or xxgdb, + when stdin/out are pipes or sockets. + +Thu Jul 4 14:47:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * configure.in, Makefile.in: Avoid rebuilding "depend" as much. + Avoid declaring Makefile dependencies, because GNU Make stupidly + tries to update it if we do. + + * coffread.c: Revise for minor changes to bfd internal coff + indexes. + + * configure: If -template= is given a relative path, make it + absolute before recurring in subdirectories. + + * configure, configure.in, Makefile.in: Install "configure" script + as replacement for config.gdb. + * config.gdb, Makefile.dist, Makefile.sdir: Remove + * README: Update for configure, mostly. FIXME. + + * Add dec3100 as equivalent to littlemips. Indicate in all host & + target config files that they are for the host. When the lines + get copied into the Makefile, this makes it more obvious what's + up. + +Mon Jun 24 23:49:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + * sparc-opcode.h (trap opcodes): Avoid leading spaces or + tabs, which end up in the disassembler output inadvertently. + +Wed May 29 23:01:03 1991 John Gilmore (gnu at cygint.cygnus.com) + + Make it compile cleanly in an ANSI GCC2 environment. + + * blockframe.c: <stdio.h> + * cplus-dem.c: free takes a void *, ifdef __STDC__ + * dbxread.c (read_huge_number): avoid gcc2 bug hoisting calc of + LONG_MAX/radix. + * defs.h (alloca): Avoid doing anything if alloca already def'd. + * stddef.h, stdlib.h: Remove these files. + * symtab.c: Avoid declaring qsort, close. + * symfile.c: Avoid declaring close. + * utils.c (vprintf): Declare "ap" arg as proper va_alist. + * sparc-tdep.c: Avoid including lots of Sun-host-specific files. + + Assorted other changes. + * dbxread.c: include "libaout.h", not "liba.out.h". + * printcmd.c (print_frame_args): Set recurse properly for + indentation of struct and array parameters. + * valops.c (value_cast): Allow cast to void. + * infrun.c (resume): If NO_SINGLE_STEP, call machine dependent + single_step() in a target-independent fashion. + * sparc-tdep.c (single_step): Don't call ptrace ourselves, just + set up to be ready to continue. This makes us target independent. + * infptrace.c (child_resume): Remove call to single_step; now + can single step a SPARC target of any kind. + +Wed May 22 18:18:24 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.dist, doc/gdb.texinfo, doc/*-m4.texinfo: split up GDB + docn into separate sections---basically chapters, plus two loose + pieces that can be configured to go in different places. This + allows GNU m4 to preprocess the manual without coredumping. + + * Makefile.dist: tell TeX where to find texinfo. + +Mon May 20 12:15:04 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.dist, doc/gdb.texinfo: respectively create, and use, + the new target "rdl-apps.texinfo" which captures the Makefile + variable that records where to find the Readline libraries. + +Sun May 19 05:36:59 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tahoe-pinsn.c: #include "tahoe-opcode.h", not "opcode.h". + * tm-tahoe.h (FIX_CALL_DUMMY): Ignore more parameters. + * defs.h (const, volatile): Only define if not already defined. + * Makefile.dist (gdb.tar.Z): Create doc subdir w/out CVS/RCS crud. + + * README: Update for release 3.95. + * config.gdb: Don't create readline dir in subdir builds. + * main.c: Include with "..." form for non-system include files, + so "gcc -MM" for "make depend" works. + Include readline files with "...h" rather than <readline/...h>. + * mipsread.c: Include "ecoff.h" rather than "intel-coff.h". + + * coffread.c: Undo minor damage done by Rich Pixley. Use + different internal and external representations of COFF + data structures. Use new BFD routines for swapping them in and + out. + * symfile.c (free_named_symtabs): Avoid freeing file names that + are null or empty. Old i960 tools seem to produce files that + claim to have empty names, causing each successive file read + to blow away the previous one. + * sparc-xdep.c (deferred_stores): Repair minor damage by Rich. + Move deferred_stores to top of file, but don't separate its + #define's from its variable. Add commentary. + * Makefile.dist: Fix Rich damage; undo "configure" changes in + favor of keeping the (working) config.gdb. Move readline + library up a notch. + +Fri May 17 12:49:56 1991 Per Bothner (via gnu at cygint.cygnus.com) + + * dbxread.c (read_struct_type): Try to handle g++ version 1 MI + debug info. + * infptrace.c (fetch_registers): no result, since now void. + * tconfig/news: target depends on m68k-tdep too. + +Fri May 17 14:40:14 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * Makefile.dist: added readline/inc-*.texinfo to dependencies for + gdb.dvi target + + * readline/inc-history.texinfo, readline/inc-readline.texinfo: + applied various small fixes due to or inspired by RMS comments + + * doc/gdb.texinfo: finished using all RMS comments, save those for + appendices on readline and cmd history (which are in other source + files) + +Thu May 16 18:06:05 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * doc/gdb.texinfo: (1) Updated w/ref to RMS comments through + chapter 9; (2) documented 'break' command's menu mode for + overloaded names, in response to hgs problem report C++ p-31 + +Wed May 15 11:02:48 1991 Roland H. Pesch (pesch at fowanton.cygnus.com) + + * doc/gdb.texinfo: (1) better introductory example; (2) more + consistent use of @code, @samp, @file, @kbd throughout; small + cleanups to first three nodes; (3) new "Contributors" node; + (4) Appendix, Renamed Commands; (5) divert specialized startup + instructions to "Targets" chapter for generic manuals, while + leaving them up front for manuals specific to specialized + environments; (6) apply fixes from RMS comments through chapter 4. + + * pretex.m4: modify explanatory text slightly (and redefine + "regexp") to keep GNU m4 from complaining. (It still crashes + later, but one step at a time...) + +Wed May 15 10:32:12 1991 John Gilmore (gnu at cygint.cygnus.com) + + * readline/readline.c (update_line): Avoid dereferencing a pointer + before comparing it to its bounds. Saber caught this. + (init_terminal_io): Don't set BC from the "pc=" termcap variable, + and only set PC if tgetstr returned non-null. Saber caught this. + +Tue May 14 16:29:53 PDT 1991 Roland Pesch (pesch at cygint.cygnus.com) + + * Makefile.dist: put gdb.dvi stuff (updated to use M4 preprocessor + stuff for config manual) here where it counts; updated + to use new subdir structure (gdb/doc/). + + * Makefile: generated from above via + config.gdb none + before checkin + + * gdbint.texinfo: added instructions on generating gdb.info* files + locally for release. These are ordinary info + files, formatted from gdb.texinfo (via gdb-all.texinfo, see + Makefile)---but due to use of texinfo 2, can't count on makeinfo + to generate these, so we distribute them already formatted. + + * gdb.texinfo: included full Info node and menu crud (as generated + by C-u M-x texinfo-master-menu using the texinfo-2 elisp code). + + * Makefile: updated "gdb.dvi" target to use M4 preprocessor; + put in comments-for-future gdb.info target (one day makeinfo will + work again). + +Tue May 14 13:51:36 PDT 1991 Roland Pesch (pesch at cygint.cygnus.com) + + * gdb.texinfo: Updated to include new or old undocumented + commands, at least the following (perhaps some others I forgot to + record): info f, info float, info path, info program, info s, info + set, info source, info terminal, info types, info user, set/show + print object. + Also covered all recent GDB command renames for v4. + +Mon May 13 14:57:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + * mipsread.c: Rather than keeping count of how many symtabs + and psymtabs we have, for sorting purposes, count them when + we need to sort. This fixes bug in rereading of symbol tables. + +Fri May 10 15:43:33 PDT 1991 Roland Pesch (pesch at cygint.cygnus.com) + + * infcmd.c: renamed "info path" to "show paths" + * gdbrc.tex: documented above. + +Wed May 8 04:51:11 1991 John Gilmore (gnu at cygint.cygnus.com) + + * remote.c: Fix comments. + * utils.c (error): Force out any pending wrap output. + +Sat May 4 11:11:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Makefile.dist: Roll VERSION to 3.95. + Fix up "saber_gdb" to work again. + * saber.suppress: Update. + + * coffread.c, exec.c, infptrace.c, inftarg.c, remote.c, solib.c, + symtab.h, target.c, target.h: Lint. + * core.c: setup and select frame after reading shared libs, + else reading shared libs will clobber them. Lint. + * utils.c (error): Force out any buffered wrap text. + +Fri May 3 22:01:56 1991 John Gilmore (gnu at cygint.cygnus.com) + + * remote.c: Remove decls of memory_insert_breakpoint + and memory_remove_breakpoint, no longer used. (Suggestion of + Jan Norden). + + * Makefile.dist: use ${subdir} in paths of BFD and LIBIBERTY, + to make it easier to interface to "configure"'d libraries. + +Fri May 3 13:10:01 PDT 1991 Roland Pesch (pesch at fowanton.cygnus.com) + + * valprint.c: introduce "set p", "set pr", "show p" and "show pr" as + aliases for set/show print. + +Thu May 2 11:22:02 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * coffread.c (coff_sym_fns) [TDESC]: Make the type be m88kbcs. + + * m88k-tdep.c (IEEE_isNAN): New function. + + * infrun.c, m88k-tdep.c, m88k-xdep.c: Change + initialize_{tdesc,dcontext} to init_{tdesc,dcontext}. + + * infrun.c [TDESC]: Add a bunch of crud. + + * xm-88k.h [__GNUC__]: Don't define memset. + + * m88k-xdep.c: #if 0 out push_breakpoint. + + * tm-88k.h: Define GET_SAVED_REGISTER. + + * tm-88k.h: Define DGUX. + + * m88k-opcode.h (UEXT, SEXT, MAKE): Put parentheses around arguments. + + * m88k-pinsn.c (sprint_address): Declare at top of file. + + * m88k-xdep.c: #if 0 out core_file_command. + + * values.c ({unpack_,value_as_}pointer): Just call + {unpack_,value_as_}long (for now anyway). + + * m88k-tdep.c (get_saved_register): Make get_reg a dc_word_t (*)(). + (psr_register): Change return type to dc_word_t. + + * m88k-tdep.c (tdesc_read_function): Comment out call to ptrace. + + * m88k-tdep.c (get_saved_register): Add lvalp parameter. + + * gdbcore.h (write_memory): Don't prototype it. + + * tm-88k.h, m88k-tdep.c: Make stack_error, stack_jmp global. + m88k-xdep.c: Don't mention stack_error. + + * {x,t}config/m88k ({X,T}DEPFILES): Add missing files. + + * mtrace.c: Don't typedef things like size_t, just #define them. + + * coffread.c [TDESC]: #if 0 out references to coffsyn. + + * symtab.h (struct symtab): Include EXTRA_SYMTAB_INFO. + tm-88k.h: Define EXTRA_SYMTAB_INFO. + + * coffread.c [TDESC]: Include "tdesc.h" and make tdesc_handle + dc_dcontext_t not int. + + * coffread.c [TDESC]: Use system include files not <intel-coff.h>. + + * coffread.c [TDESC]: Move setting of debug_info from + coff_symfile_read to find_linenos and make it work with BFD. + + * cplus-dem.c [__STDC__]: Make x{m,re}alloc return void*. + + * signame.c: Cast const char* to char* when assigning to sys_siglist. + + * utils.c (strsave): Make arg const char* not char*. + + * infrun.c (wait_for_inferior) [SHIFT_INSN_REGS]: Use + bpstat_explains_signal (stop_bpstat) not stop_breakpoint. + + * tm-88k.h (START_INFERIOR_HOOK): Make tdesc_handle a dc_handle_t. + + * tm-88k.h (EXTRACT_RETURN_VALUE): Use char * not void *. + + * findvar.c (read_var_value, case LOC_CONST_BYTES): Put the address + in a char *, not a CORE_ADDR. Use SYMBOL_VALUE_BYTES. + + * tm-88k.h (INIT_EXTRA_FRAME_INFO): Use fci not prev (fci is + prev except from create_new_frame). Make next_frame a + local variable. + Declare get_prev_context. + {x,t}m-88k.h: Enclose USG and BCS defines in #if !defined. + m88k-{opcode.h,pinsn.c,xdep.c,tdep.c}: New files (same contents as + before; they had just been left out of the distribution for a long + time). + +Thu May 2 17:53:56 1991 John Gilmore (gnu at cygint.cygnus.com) + + Mips bringup and general cleanup + + * cplus-dem.c: Move CPLUS_MARKER define to after defs.h. + * infptrace.c (PT_WRITE_D, PT_READ_D): Use correct values. + (This still doesn't seem to make MIPS bkpts work.) + * mipsread.c: Remove dup "Reading symbol data..." msg. + (symbol_file_command, add_file_command): Remove, obsol. + * printcmd.c (ptype_command): Say "an enum" rather than "a enum". + Wrap output appropriately. + * stack.c (locals_info, catch_info, args_info): Check + selected_frame rather than target_has_stack or coredumping. + * valprint.c (type_print_varspec_suffix): Wrap "ptype" output of + enums appropriately. + +Wed May 1 14:10:22 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * signame.c: Include defs.h and param.h. + + * cplus-dem.c: Include defs.h and param.h. + Makefile.dist: Don't hack in the "param.h". + param.h: Don't include defs.h. + + * expread.y: Use a union to deal with the fact that type_stack + can have both ints and enum type_pieces in it. + ({push,pop}_type_int): New functions. + +Tue Apr 30 13:18:58 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * cplus-dem.c (cplus_mangle_opname): Don't call error. + values.c (check_stub_method): Call error if NULL return from + cplus_mangle_opname. + + * blockframe.c, breakpoint.c, core.c, command.c, findvar.c, + eval.c, expprint.c, infcmd.c, infrun.c, main.c, printcmd.c, + remote.c, source.c, stack.c, dbxread.c, coffread.c, symfile.h, + symfile.c, utils.c, valarith.c, values.c, valops.c, tm-68k.h, + target.c, inftarg.c, ieee-float.c, environ.c, defs.h, + command.h, inferior.h, gdbcore.h, symtab.h, expression.h, + symtab.c, cplus-dem.c, value.h, expread.y, valprint.c, + copying.awk, solib.c, inflow.c, symmisc.c + : Lint. Use read_memory not read_memory_integer on CORE_ADDR's. + Use {value_as,unpack}_pointer (added to values.c) + not {value_as,unpack}_long on CORE_ADDR's. + Use longest_to_int (added to defs.h) instead of cast to int. + Remove from_tty arg to mod_path. + Put symfile_bfd in {coff,dbx}read.c not symfile.h. + Use OP_NULL instead of 0 where dummy enum exp_opcode needed. + + * tm-sparc.h: Remove GET_RWINDOW_REG. + (FRAME_CHAIN): Call sparc_frame_chain. + sparc-tdep.c (sparc_frame_chain): New function. + tm-sparc.h (EXTRACT_STRUCT_VALUE_ADDRESS): call + sparc_extract_struct_value_address (added to sparc-tdep.c). + + * xm-sun386.h: Don't define SET_STACK_LIMIT_HUGE. + +Tue Apr 30 13:13:33 1991 Michael Tiemann (tiemann at cygint.cygnus.com) + + * valprint.c (type_print_base): If the type being printed is a + struct containing undefined types, print "<undefine type>" + as the type instead of crashing. + * values.c (value_headof): Get the vtable pointer taking + TYPE_VPTR_BASETYPE into account. + * symtab.c, symtab.h, dbxread.c: Fix various whitespace splotches. + +Mon Apr 29 13:22:51 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * Move BROKEN_LARGE_ALLOCA from tm-sun386.h to xm-sun386.h. + + * sun386-xdep.c [!GDB_TARGET_IS_SUN386]: Just provide empty + functions which don't do anything. + tm-sun386.h: Define GDB_TARGET_IS_SUN386. + + * Makefile.dist: Add comment about tm-sun3os4.h: tm-sun3.h, etc. + + * sun3-xdep.c, tm-sun3.h, tm-68k.h: Change TARGET_SUN3 to + GDB_TARGET_IS_SUN3. + + * infrun.c: Don't include sys/user.h and friends (wrong for + cross-debugging and not necessary anymore (see IN_SIGTRAMP in + xm-vax.h)). + [SET_STACK_LIMIT_HUGE]: Include <sys/{resource,time}.h>. + xm-tahoe.h: Don't define _DIRENT_. + + * xm-tahoe.h: Remove USE_OLD_TTY (not needed now that terminal.h + includes sgtty.h before sys/ioctl.h). + +Sun Apr 28 22:04:47 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * param-no-tm.h: Make BITS_BIG_ENDIAN defined to 0/1, not defined + or not defined. Don't define it based on TARGET_BYTE_ORDER if + it's already defined (in the tm.h file). + mips-opcode.h (BIT_FIELDS_*), + values.c (modify_field, unpack_field_as_long): + Use #if BITS_BIG_ENDIAN not #ifdef BITS_BIG_ENDIAN. + {x,t}m-tahoe.h, tahoe-pinsn.c, tahoe-opcode.h: New files. + +Fri Apr 26 12:02:06 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * tm-sparc.h: Add comments about gcc version 2 and structure passing. + + * xconfig/i386v{,32}{,-g}: Add XM_CFLAGS=-Dgetpagesize()=4096. + gmalloc.c: #if 0 out !HAVE_GETPAGESIZE code. + + * expread.y (abs_decl): Accept '&' and '&' abs_decl. + + * symtab.c, symtab.h: Have a builtin_type_{,unsigned_}long_long + regardless of LONG_LONG. + defs.h (TARGET_LONG_LONG_BIT): New macro. + expread.y (typebase): Add {unsigned,} long long {,int}. + +Thu Apr 25 12:31:22 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * valops.c (typecmp): If t2 == 0, return 1. + +Wed Apr 24 09:45:17 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + Changes from Tiemann: + * cplus-dem.c (optable): Add "nw", "dl", "compound". + (cplus_mangle_opname): New function. + (do_type): Add case 'Q'. + * values.c (check_stub_method): Do lookup_method_type and stuff + rather than smash_to_method_type. + symtab.c, symtab.h (allocate_stub_method): New function. + dbxread.c (read_type): If we get "##", don't lookup_function_type + and start clobbering it; allocate_stub_method instead. + * printcmd.c (x_command): Dereference references. + * valprint.c (type_print_varspec_prefix, case TYPE_CODE_METHOD): + Don't print " " type_print_base (...) "::" if !passed_a_ptr. + * dbxread.c (read_struct_type): Put "op$" instead of "operator" + in the symbol table. + * values.c (check_stub_method): Deal with operator names. + * valprint.c (cplus_val_print): Check for error in baseclass_addr. + * values.c: Move declaration of cplus_demangle to top of file. + * values.c (baseclass_addr): If can't read memory, set *ERRP + rather than calling error(). + * value.h: Remove redundant declaration of value_static_field. + * values.c (value_static_field): Recursively check all baseclasses. + Return NULL if not found. + * values.c, value.h: New functions value_{headof,from_vtable_info}. + * valprint.c (val_print): Print out first element of vtbl + specially. + * valprint.c: Move print controls to top and add objectprint. + Add command "set print object on/off". + * valprint.c (value_print, is_vtbl_member): Put things in local + variables rather than continually doing VALUE_TYPE (val), etc. + * valops.c (value_struct_elt_for_address): Call check_stub_method. + * valops.c (value_struct_elt): Remove found, arg1_as_ptr. + * valops.c (search_struct_method): Give error if j > 0 && args == 0. + * valops.c (search_struct_field): New argument looking_for_baseclass. + Give error if value_static_field or value_primitive_field + return NULL. + valops.c (various): Call search_struct_field with extra parameter. + * symtab.c (decode_line_1): Deal with operators specified as + "operator" <optional whitespace> <symbols for operator>. + (operator_chars): Help do it. + * symtab.c (lookup_struct_elt_type): Call check_stub_type. + Take additional argument noerr. + Don't dump core if TYPE_FIELD_NAME is NULL. + Check the baseclasses recursively. + * symfile.c (fill_in_vptr_fieldno): Don't call check_stub_type. + Return void not int. (also declarations in symfile.h and value.h). + Deal with multiple inheritance. + * printcmd.c (print_command_1): Add if (objectprint) code. + * expread.y (variable): Allow for destructor with foo::~name. + * eval.c (evaluate_subexp, case UNOP_LOGNOT): If following opcode + is OP_SCOPE, give an error. + * eval.c (evaluate_subexp): Pass third arg to lookup_struct_elt_type. + * eval.c (evaluate_subexp), values.c (value_virtual_fn_field): + Don't bother to do anything with + return value from fill_in_vptr_fieldno. + * eval.c (evaluate_subexp): If value_static_field returns NULL, + give an error. + * dbxread.c (read_struct_type): Set fcontext to 0 for normal member + function. + * dbxread.c (read_struct_type): Initialize name to 0. + * dbxread.c (read_ofile_symtab, N_CATCH): Add offset to bufp->n_value. + * dbxread.c (dbx_create_type): Zero TYPE_VPTR_BASETYPE. + (read_struct_type): Don't bother to set TYPE_VTPR_{BASETYPE,FIELDNO} + if it's just going to be {0,1}. + + * dbxread.c (virtual_context): Use TYPE_BASECLASS starting at 0 + (yes, it's #if 0, but just in case...). + + * vax-opcode.h, expread.y, expprint.c, cplus-dem.c: Declare some + things "const". + + * i386-stub.c: New file. + + * WHATS.NEW: Remove mention of readline and more paging (in 3.5). + Try to keep command names up to date with renaming. + + * gmalloc.c [!HAVE_GETPAGESIZE]: Try to figure out the pagesize. + + * infun.c (resume, resume_cleanups): New functions. + (wait_for_inferior, proceed, child_create_inferior): Use resume + not target_resume. + + * remote.c (getpkt): Don't set immediate_quit. + + * blockframe.c, frame.h (reinit_frame_cache): New function. + solib.c (solib_add), symfile.c ({,add_}symbol_file_command): + Use it. + +Tue Apr 23 10:38:41 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * symtab.c (lookup_symbol): Add 3 more of those loops through + the symtabs which we all know and love: (1) Look in the + STATIC_BLOCK for mangled symbols right after we check the blocks, + (2, 3) Look in the STATIC_BLOCK for all the symtabs and psymtabs + at the end. + + * main.c (cd_command): Call dont_repeat. + + * dbxread.c (read_struct_type): If const/volatile character is + missing, don't complain, just continue. + + * dbxread.c (read_struct_type): Only try to read the fcontext if + it is there. Also change "error_type " to "return error_type ". + values.c (value_virtual_fn_field): If there is no fcontext, + then do things the way GDB 3.x did. + valops.c (search_struct_method): Add type to value_virtual_fn_field + arguments. + + * dbxread.c (read_struct_type): Fix typo: *pp != '\0' -> **pp != '\0'. + +Mon Apr 22 00:02:43 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * printcmd.c (print_scalar_formatted): Add 't' for binary. + + * dbxread.c (end_psymtab): Initialize pst->symtab. + + * core.c (core_open): Call ADD_SOLIB. + + * tm-sparc.h: Include <sun4/reg.h> not <machine/reg.h>. + sparc-tdep.c: Don't include <machine/reg.h>. + + * sun3-xdep.c [!TARGET_SUN3]: Just provide empty functions which + don't do anything. + + * core.c (core_open): Add make_cleanup (unpush_target, &core_ops). + + * Shared library/corefile changes from Peter Schauer: + core.c (core_close): Call CLEAR_SOLIB. + (core_open): Remove comment about "should deal with shared lib". + (core_xfer_memory): If we can't xfer the usual way, try the + shared libraries. + solib.c (so_list): New fields so_bfd and so_sections{,_end}. + (find_solib): Use solib_map_sections to get ld_text. + (solib_map_sections, solib_xfer_memory): New functions. + (clear_solib): Free so_sections and close so_bfd. + tm-sunos.h: Add solib_xfer_memory, solib_add. + + * sparc-tdep.c (skip_prologue): Don't skip anything unless there + is a "save" instruction in there somewhere. + + * symfile.c (symbol_file_add): Add comment. + solib.c (solib_add): Don't malloc name passed to symbol_file_add. + + * exec.c (build_section_table): If *start isn't NULL, free it. + + * stack.c (parse_frame_specification): Error if NULL selected_frame. + infcmd.c (finish_command): Error if NULL selected_frame. + inflow.c (kill_command): Deal with NULL selected_frame. + stack.c (record_selected_frame): Set *FRAMEP to NULL if there + is no selected frame. + infrun.c (restore_inferior_status): Add comment. + findvar.c (read_var_value): Check for NULL frame where we need + a frame. + breakpoint.c (get_catch_sals): Check for NULL selected_frame. + + * breakpoint.c (bpstat_print): Try all elements on the bpstat + chain before giving up with an internal error. + +Sun Apr 21 21:43:10 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * value.h, values.c (value_{,free_to_}mark): New functions. + breakpoint.c (bpstat_stop_status): Use them. + + * tm-i386v{,-g}.h: Remove N_SET_MAGIC define. + +Sat Apr 20 21:42:47 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * i386-tdep.c: Remove unnecessary #includes. + + * symtab.c (various): Change error return of find_line_common to -1. + + * coffread.c (find_linenos): Use LINESZ not sizeof (struct lineno). + + * coffread.c (end_symtab): Initialize language, dirname, and + fullname fields. + +Fri Apr 19 18:18:31 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * mips-tdep.c (mips_frame_chain): Don't chain if saved_pc == 0. + + * stddef.h (size_t): Let either _SIZE_T or _SIZE_T_ guard it. + + * mipsread.c (parse_symbol): Set startup_file_{start,end} if + entry_point is in current file. + + * findvar.c (read_register_gen): Add "target byte-order" comment. + +Wed Apr 17 17:09:48 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * i386-tdep.c (i386_get_frame_setup): Use SWAP_TARGET_AND_HOST + before returning locals or slocals. + + * i386-tdep.c (i386_follow_jump): Do not add data16 to pos in + call to codestream_seek; add one to pos if (and only if) + we are dealing with a jump with data16 == 1 (i.e. 0x66, 0xe9). + +Mon Apr 15 12:04:32 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * valops.c (call_function_by_hand): Put dummy1 in target order + before FIX_CALL_DUMMY. + + * tm-i386v.h (FIX_CALL_DUMMY): Don't depend on host byte order. + +Sun Apr 14 11:55:19 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * valops.c (push_word): Add SWAP_TARGET_AND_HOST. + + * remote.c (remote_open): Send '+' before calling putpkt(). + + * tm-i386v.h (REGISTER_VIRTUAL_TYPE): Return pointer to void, + not int, for pc, fp, and sp. + + * remote.c (remote_open): Call start_remote after putpkt("?"); + infrun.c (start_remote): Also call wait_for_inferior & normal_stop. + +Sat Apr 13 22:11:42 1991 Jim Kingdon (kingdon at spiff.cygnus.com) + + * exec.c: Include <ctype.h>. + + * sun3-xdep.c (fetch_core_registers): Add #ifdef FP0_REGNUM. + +Fri Apr 19 09:36:50 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * tm-68k.h (NUM_REGS): Conditionalize on TARGET_SUN3 not sun. + tm-sun3.h: Define TARGET_SUN3. + + * utils.c: Use CPLUS_MARKER not '$'. + + * cplus-dem.c: Use CPLUS_MARKER not '$'. If CPLUS_MARKER isn't + defined, define it to '$'. + + * arm-opcode.h: New file (same contents as before; it had + just been left out of the distribution for a long time). + + * tm-68k.h: Put declaration of ext_format_68881 outside the macros. + + * main.c: New HAVE_SIGSETMASK #ifdefs. + + * coffread.c (read_coff_symtab): Check for "LF%" with all the + other L*% things. + + * coffread.c (SDB_TYPE): New macro. + various: Use it instead of checking against T_NULL. + + * Makefile.dist (cplus-dem.o): Hack in an #include "param.h" + before we compile it. + defs.h: Protect against multiple inclusion. + param.h: Include defs.h. + signame.c: Change #ifdef SYS_SIGLIST_MISSING to #if. + param-no-tm.h: Define SYS_SIGLIST_MISSING from USG. + +Thu Apr 18 19:49:10 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * i386-pinsn.c (OP_E): Change %d to 0x%x for consistency. + + * putenv.c: New file + Makefile.dist: Add it to $(OBS). + + * mipsread.c [!CMUCS]: #include <syms.h>. + + * mips-xdep.c (fetch_core_registers): #if 0 out the whole function. + + * Move read_memory_nobpt from mem-break.c to breakpoint.c. + +Mon Apr 15 21:45:35 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * utils.c (_initialize_utils): Rename "set demangle" to + "set print demangle", "set asm-demangle" to "set print + asm-demangle" and "set sevenbit-strings" to "set print + sevenbit-strings". + + * main.c (initialize_main): Rename "set history write" to + "set history save". + + * main.c (initialize_main): Rename "set caution" to + "set confirm". + + * values.c (_initialize_values): Remove "info history" alias + for (what is now) "show values". + + * infcmd.c, gdbcmd.h: Add unsetlist. + infcmd.c: Add unset_command. + (_initialize_infcmd): Add "unset" and use it for "unset env". + + * breakpoint.c (_initialize_breakpoint): Remove "unset". + + * valprint.c: Add "set/show print", {set,show}_print. + Rename "set addressprint" to "set print address". + Rename "set arrayprint" to "set print array". + Rename "set array-max" to "set print elements". + Rename "set prettyprint" to "set print pretty". + Rename "set unionprint" to "set print union". + Rename "set vtblprint" to "set print vtbl". + + * main.c: Rename version_info to show_version. + (_initialize_main): Rename "info version" to "show version". + + * values.c: Rename value_history_info to show_values. + (_initialize_values): Rename "info values" to "show values". + +Sun Apr 14 23:08:34 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * inftarg.c (child_open), remote-vx{,.68}.c (vx_proc_open): + New function to give correct error message. + +Thu Apr 11 17:19:41 1991 Jim Kingdon (kingdon at cygint.cygnus.com) + + * target.h: Add to_doc and target_preopen. + target.c: Add target_preopen and target_command. + Remove target_info. + (add_target): Call add_cmd and mess with targetlist->doc. + core.c, exec.c, remote-eb.c, remote-nindy.c, remote-vx.c, + remote-vx.68.c, inftarg.c, remote.c: Add doc field to target struct. + Call target_preopen from open routine. + + * main.c: Rename editing_info to show_commands. + (_initialize_main): Rename "info editing" to "show commands". + + * source.c: Rename directories_info to show_directories. + (_initialize_values): Rename "info directories" to "show directories". + + * values.c: Rename convenience_info to show_convenience. + (_initialize_values): Rename "info convenience" to "show convenience". + + * copying.awk (_initialize_copying): Rename "info copying" to + "show copying" and "info warranty" to "show warranty". + Rename {copying,warranty}_info to show_{copying,warranty}. + + * symfile.c: Rename add_syms_command to add_symbol_file_command. + (_initialize_symfile, add_syms_addr_command): + Rename add-syms to add-symbol-file. + +Thu Apr 18 18:08:30 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symfile.h (free_named_symtabs): Rename from free_named_symtab. + * symfile.c (clear_symtab_users_once, cashier_psymtab, + free_named_symtabs): Move these routines from symmisc.c. + * symmisc.c (same): same. + (free_symtab): Make non-static. + * symtab.h (free_symtab): Declare as exported void fn now. + * dbxread.c (end_symtab, end_psymtab): Change comments. + (initialize_dbxread): Call dbx_new_init() in case the first + command is add-symbols. + * target.c (dummy_target): Permit add_syms_addr_command. + +Sat Apr 13 14:46:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + Permit symbols to be superseded when new symbol files have + been read in, particularly for VxWorks. + + * dbxread.c (read_dbx_symtab): Allow N_SOL to cleanly take us back + to the main file, as well as to include files. Also, put global + functions into the global psymtab, to make "i fun" work. + (end_psymtab): Free named symtabs and psymtabs for a file, once a + new psymtab for it has been read. + * coffread.c (end_psymtab): Free named symtabs and psymtabs for + a file, once a new symtab has been read for it. + * mipsread.c: FIXME. We need to do the same for MIPS, but it + looks harder to determine the top-level block before it's been + queued to the psymtab list. + + * symfile.c (symbol_file_add): Use filtered printing and wrap it. + If we have wiped out any old symbol tables, clean up at end of + symbol reading. + (symbol_file_command): Don't reference symfile_fns if it's zero. + + * symtab.h (GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK): New + defines for the blocks of a blockvector that contain global and + file-static symbols and the first of the smaller scope contours. + * symtab.c (lookup_symbol, find_pc_symtab, find_pc_line, + decode_line_1, make_symbol_completion_list): Use the above. + * coffread.c (end_symtab, patch_opaque_types): Ditto. + * dbxread.c (end_symtab): Ditto. + * expread.y (block): Ditto. + * mipsread.c (throughout): Ditto. + * symmisc.c (free_named_symtabs): Ditto. + + * symtab.c (list_symbols): Process the first symbol of the + static psymbols list. + (types_info): Restore this function from its untimely #if 0. + It's not perfect, but it is better than nothing. + (_initialize_symtab): Restore "info types". + +Thu Apr 11 05:23:19 1991 John Gilmore (gnu at cygint.cygnus.com) + + * m68k-stub.c: Remote stub for 680x0's, created from + rem-m68k.shar (which is removed). + * nindy-share/{Makefile,Onindy.c,blout.h,env.h,nindy.c,ttyflush.c}: + Remove RCS log stuff now that we use CVS and it blows our diffs. + +Wed Apr 10 14:18:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symmisc.c (free_named_symtab): Make it work, in its current + kludgy fashion. Change result to indicate if we blew away bkpts. + * dbxread.c (end_symtab): Accumulate result from + free_named_symtab and print warning if we blew user's state. + * symfile.h: free_named_symtab now returns an int. + +Mon Apr 8 23:57:43 1991 John Gilmore (gnu at cygint.cygnus.com) + + * dbxread.c (dbx_symfile_read): Initialize psymbol list if this + is the first symbol read, even if not mainline. + (dbx_psymtab_to_symtab): symfile might be zero, cope. + * exec.c (exec_ops): Add_syms_addr is valid in our tvec. + (set_section_command): New command ("section xxx yyy" -- should + be renamed to "set section xxx yyy" FIXME) which sets the + base address of a section of the exec file, overriding the + virtual address that BFD reports. + +Fri Apr 5 17:14:39 1991 John Gilmore (gnu at cygint.cygnus.com) + + * exec.c: Add add_syms_addr_command to exec_ops, so you can + load symbols at any address while examining an exec file. + +Thu Apr 4 10:09:35 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tm-i386v.h (FLOAT_INFO): Don't define it, since the code + for printing the float info is host-dependent, not + target-dependent. FIXME. + * i386-pinsn.c: Move #includes to top, remove useless ones. + * i386-tdep.c: Don't bother including <.../reg.h> since we + don't use it (and it doesn't exist on host systems). + + * ieee-float.c (ieee_extended_to_double): Convert NaN to Inf. + Convert negative numbers properly. + (ieee_test): Make numbers really random; fix format arg. + + * infcmd.c (attach_command, detach_command): Don't repeat on CR. + * core.c (core_detach): Unpush core_ops, which might not be on + top. We used to just pop the top, which broke things. Don't + need dont_repeat() any more. + (core_file_command): Psst! Don't repeat it. + * remote-nindy.c (nindy_detach): Don't need dont_repeat() now. + * expprint.c (print_subexp): Avoid switch fallthru on + BINOP_ASSIGN_MODIFY, so we can print += and such. + * frame.h: Fix typo. + * inflow.c (kill_command): After killing inferior, print our + current frame in the core file, if we have one. + (generic_mourn_inferior): When inferior dies, either select + the current frame (in the new target, e.g. core file), or + set both the current and selected frames to NULL. + + Changes from Peter Schauer. + + * infptrace.c: Avoid <sys/ptrace.h> on USG. + + * Make all file names fit in 14 characters (sigh and damn!): + mv hp300hpux-xdep.c hp300ux-xdep.c + mv symmetry-xdep.c symm-xdep.c + mv symmetry-tdep.c symm-tdep.c + mv convex-opcode.h convx-opcode.h + mv tm-vxworks960.h tm-vx960.h + mv tm-vxworks68.h tm-vx68.h + mv Makefile.srcdir Makefile.sdir + mv gdb-int.texinfo gdbint.texinfo + mv remote-sa.m68k.shar rem-m68k.shar + mv remote-multi.shar rem-multi.shar + * Makefile.dist, README, config.gdb, convex-pinsn.c, + tconfig/symmetry, tconfig/vxworks960, tconfig/vxworks68, + xconfig/hp300hpux, xconfig/symmetry: Change names to shorter + names. + + * command.c (user_info_1, user_info): New command for listing + the user-defined commands. + +Wed Apr 3 15:00:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + * dbxread.c (really_free_pendings): Clear file_symbols + and global_symbols after freeing them; otherwise, running + this function twice (if it appears twice on the cleanup + chain), we try to free things twice. + + * dbxread.c (read_dbx_symtab): Calculate end_of_text_addr + based on text_addr (the address of text in core), not on addr (the + offset between text in the .o file and in core). This change + is from Peter Schauer. + + * main.c: Define ALL_CLEANUPS as a cast of zero. + (return_to_top_level): Use it. + (main): Do all cleanups after each command run as part + of the gdb startup sequence. Also do all cleanups before + entering the command loop, and every time we exit the command + loop and reenter. Before, the cleanups from the startup sequence + were being left undone until the first error! + (command_loop): Rename do_nothing cleanup to command_loop_marker + so we can see it easily when examining the cleanup chain. + (init_signals): Add another do_nothing for signal handling. + (quit_command): Only try to kill target if it has execution. + Problems in the target stack got us into a state where + inferior_pid was nonzero but none of the targets had execution. + In this state you couldn't exit gdb. + + * dbxread.c: Two changes from Peter Schauer. + (echo_command): Fflush output after an echo command. + (show_history): Pass all args to cmd_show_list. + + * utils.c (init_malloc): Call mtrace to turn on tracing + if the environment variable MALLOC_TRACE is set to a file name. + * mtrace.c: Add source file which provides a log of every malloc, + free, and realloc to a trace file. + * mtrace.awk: Add source file which analyzes the trace file. + * Makefile.dist (GNU_MALLOC, MALLOCSRC): Add mtrace.{c,o,awk}. + (VERSION): Roll to 3.94.3. + + * breakpoint.c (breakpoint_1): Add a space to "i watch" output. + (check_duplicates): Don't bother with watchpoints. + (set_raw_breakpoint): Comment about danger of this routine. + (watch_command): Parse and eval all args before calling + set_raw_breakpoint. + + * solib.c (find_solib): Avoid error in referencing memory to + see if any more shared libraries have been added. This is + particularly useful if the target has terminated. Bug reported + by Peter Schauer. + + Changes from Peter Schauer <pesrem@regent.e-technik.tu-muenchen.de> + in bringing up 3.94.2 on the Sun-3. + + * Makefile.dist: Include CFLAGS in rule for cplus-dem.o. + * breakpoint.c (enable_breakpoint): Check for valid watchpoint + expression (in scope) before reenabling watchpoint. + * signame.c (init_sigs): Add missing declaration of i, fix + sys_siglist declaration. + * source.c (list_command): Fixed range computation to use + lines_to_list (). + * stack.c (backtrace_command): Do not allow command if target has + no stack, print informative error message. + * target.c (target_command): Do not write into command line + because this fails if the target command is used in a user defined + command. [This change was enhanced by gnu to support any- + unique-prefix matching on target names.] + * valops.c (value_struct_elt): Avoid infinite loop on an + erroneous attempt to print the member of function (try p main.p). + +Mon Apr 1 17:05:45 1991 John Gilmore (gnu at cygint.cygnus.com) + + * expread.y (name_no_typename): Avoid reduce/reduce errors + caused by ambiguity in handling NAME_OR_INT and NAME_OR_UINT. + Since the GDB parser really doesn't use name_no_typename in a + name-only context, the parser can't tell the diff between + names and numbers here. Avoid allowing a name_no_typename + to be a NAME_OR_*INT to resolve the conflict. + +Sun Mar 31 20:12:07 1991 John Gilmore (gnu at cygint.cygnus.com) + + Bugfixes from Mark Fox (markf@wrs.com) (test=testField.c): + + * valprint.c (val_print_fields): bitfield printing didn't handle + byte order. Indirect through a few more fns to cope. + + * values.c (modify_field): also cope with byte order. + +Sat Mar 23 10:02:21 1991 John Gilmore (gnu at cygint.cygnus.com) + + Cleanup for release 3.94.2: + + * Makefile.dist: Pull REMOTE_OBS. Fix saber includes for BFD + include files. Roll version to 3.94.2. + + * coffread.c (init_stringtab): Read length into unsigned char + array before swapping; don't assume 32-bit longs. + + * target.c (target_info): Don't bother with get_sym_file, just use + the symfile global variable. + * symtab.h, symfile.c (get_sym_file): Delete it. + + * dbxread.c (dbx_symfile_init): Don't depend on long == 4 bytes. + (define_symbol): Set symbol line number to 0 if not gcc-compiled. + (read_type): Replace one more error() with complain(). + + * mipsread.c (parse_partial_symbols): Replace printf with complain. + + * i960-tdep.c: Fix copyright attribution. + + * config.gdb: Quote all backquotes in doublequotes. You can + quote me on that. BSD 4.4 shell found this one. + + * infptrace.c (throughout): The third argument to ptrace is an + int *, not an int. + + * infrun.c (wait_for_inferior): When program has terminated, we + have to call target_terminal_ours before we pop that target off + the stack (e.g. before a call to target_kill or + target_mourn_inferior). This fixes problem where a program + terminates, then GDB stops for (tty output) and you have to type + "fg" to the shell to resume it. FIXME: This code for what to + do after termination really should be in normal_stop instead. + + * gdbcore.h (read_memory_check): Change declaration; it changed + names months ago. + + * terminal.h: Include <sgtty.h> before <sys/ioctl.h>, since in BSD + 4.4 prereleases, this avoids a bug in their sgtty compatability + support. + * remote.c: Use terminal.h rather than hand-rolling the same. + + * signame.c, signame.h (psignal): Arg is unsigned, not int. + * utils.c (strsave, strstr): Fix arg types. + * valprint.c (val_print): lint + + MIPS symbol table support from Per Bothner: + + * symfile.c (symtab_fns): Remove initializer table that needs to + be hacked for each new symbol file format supported. + (add_symtab_fns): New function, chains symbol table + handlers into the global list. + (symfile_init): Search this list. + * symfile.h: Add next pointer, declare add_symtab_fns. + * coffread.c (_initialize_coffread): Call add_symtab_fns. + * dbxread.c (_initialize_dbxread): Call add_symtab_fns. + + * mipsread.c (psymtab_to_symtab_1): return void instead of (struct + symbol *). Thus, we no longer need the hack to trash + pst->filename. Good, since that hack confused code in symfile.c! + + (reorder_symtabs, destroy_all_symtabs): Removed static + all_symtabs, which was used to qsort symtabs in reorder_symtabs. + Instead, the latter now uses a temporary array (stack-allocated + from an obstack, and then freed). + + (parse_symbol): Added a hack to fix up BLOCK_{START,END} if they + haven't been set in the outermost stBlock of a procedure. This was + a problem with f77 binaries on Ultrix 4.?. + + (new_symtab, new_symbol, new_type): Continue changing code to use + obstacks more and otherwise conform to dbxread internal style. + Made the free_code of symtabs be free_linetable (as in dbxread) + instead of free_contents. This implies memory leaks when reading + a new symbol table, until the conversion is finished. Did change + (struct symbol) and (struct type) to be allocated on the + symbol_obstack. Blocks and blockvectors are among the things + still "leaking." + + * mipsread.c (parse_partial_symbols, parse_fdr): It hasn't been + tested much, but it solved one problem (reported by Meissner), and + cleans up some other things. The problem happened when an + included file contains actual code (functions) and not just + definitions. The mips coff is a little inconvenient there, since + it may cause a procedure to be mapped to the wrong psymtab. + + * mips-tdep.c (heuristic_proc_desc): Minor cleanup. + * mips-xdep.c (fetch_core_registers): Minor cleanup. FIXME, + this will need work for the new core paradigm. + + Opcode patches from the net: + + * mips-opcode.h: fix incorrect disassembly of the mfc1, cfc1, and + ctc1 instructions. Also, the cvt.d.w and cvt.s.w instructions were + missing altogether - they are added here. From Bruce Bauman. + * mips-opcode.h: The low mask for C0 instructions was too small. + From Garrett Lau. I modified the fix to check the entire 32-bit + opcode. + + * ns32k-opcode.h: Fix opcodes for deiw and deid. From Bruce + Bauman. + +Thu Mar 21 12:56:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + Roll in changes from Per Bothner (Tue, 25 Sep 90 11:11:04): + + * dbxread.c (read_type): Pointer subtraction (value_sub in + valarith.c) sometimes failed because the types of the + pointers being subtracted were not identical. + These differed because dbxread.c was allocating pointer types + using dbx_alloc_type+smash_to_pointer_type instead of + lookup_pointer_type. I failed to find a justification for the + former, so I changed it to use the latter. Similarly, I + replaced smash_to_function_type by lookup_function_type, + and smash_to_reference_type by lookup_reference_type. + + * mipsread.c (parse_symbol, upgrade_type, parse_procedure, + _initialize_mipsread): corresponding changes. + + * symtab.c (smash_to_{pointer,reference,function}_type): eliminate. + + * source.c (mod_path): Do tilde_expand on each component of the path, + rather than on the (list of) paths as a whole. + (print_source_lines): Set first_line_listed in addition to + current_source_symtab and current_source_line. If the source was + not findable, after a "dir" command to fix the problem, + a "list" would get the wrong lines. + + While I was there... (gnu): + + * dbxread.c (read_type): Change error to complaint. + +Thu Mar 21 12:56:46 1991 John Gilmore (gnu at cygint.cygnus.com) + + First attempt at detailed understanding of symbol table memory alloc. + + * dbxread.c (dbx_symfile_read): Free our string table if we + aren't the mainline. Free the "info" struct since we're done with + it. + (init_psymbol_list): Free any previously allocated psymbol lists. + (): FIXME: Should realloc-down the psymbol lists when done reading + the main symbol file? + + * symmisc.c (free_symtab): Free fullname field too. + + * xm-hp300hpux.h (USG): #undef then #define so Makefile can -D. + (REGISTER_ADDR): Make result type unsigned int. + + * xconfig/{i386*,hp300hpux,altosgas,altos}: All config files that + define REGEX must also define REGEX1 (its dependency). + +Tue Mar 19 21:28:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tconfig/i960: No longer works, points you at vxworks960 or + nindy960. + + * xgdb.c, XGDB-README: Remove file. Users can get the much + better xxgdb. + * Makefile.dist: Remove all trace of xgdb. + + * breakpoint.c (breakpoint_1): Pass demangle arg to + print_address_symbolic. + (clear_breakpoints): Remove unused function. + (breakpoint_re_set_one): Guts of breakpoint_re_set. + (breakpoint_re_set): Use catch_errors to do them all anyway. + + * gdb-int.texinfo (Host versus Target): Add section on what is + a "host" feature versus what is a "target" feature. + + * infcmd.c (path_command, path_info): Handle the PATH variable + (object search path) as conveniently as the source search path. + * environ.c (set_in_environ): Set some vars in GDB's environment, + in addition to the child's. PATH, G960BASE, G960BIN for starters. + * source.c (mod_path): New function, from guts of + directory_command, modifies a path. Used by path_command. + (directory_command): Call it. + * defs.h (strsave): Declare. + + * utils.c (sevenbit_strings): Add new printing option. + (printchar): Use it. + (strsave): Provide this handy helper routine. + (set_width_command): Rename set_screen_width_command. + (_initialize_utils): "set screen-width" => "set width"; + "set screen-height" => "set height"; add sevenbit-strings. + + * infcmd.c (do_registers_info): Print floating point registers + in raw hex as well as float format, regardless of whether it is + a "virtual" convertible register. + * tm-sparc.h (PRINT_REGISTER_HOOK): Print every pair of float + regs as a double, just in case it's being used that way. + * values.c (unpack_long): Comment on array/function coercion. + (unpack_double): Argument is in target byte order now. For + integer arguments, just call unpack_long and float the result. + * m68k-tdep.c: include defs.h for "const" handling. + * remote-nindy.c: Use ieee-float stuff. + (nindy_fetch_registers): Unpack double regs to host double, then + to extended. + (nindy_store_registers): Pack extendeds to host double, flip + around by misusing unpack_double, send as target double. + + * tm-vxworks68.h (FRAME_CHAIN): Handle current frame pointer of + zero, as when stopped at the first instruction of a process. + + * blockframe.c: Fix filename in comment (param.h => tm.h). + * sparc-tdep.c (skip_prologue): More explicit nudging comments. + * tm-68k.h: Fix typos. + +Fri Mar 15 01:09:34 1991 John Gilmore (gnu at cygint.cygnus.com) + + Changes from a bringup on the DEC Vax under Ultrix 4.0. + + * coredep.c (fetch_core_registers): Pass end-address of register + section to register_addr as expected. Don't call supply_register + if we'd just pass it garbage. + + * dbxread.c (read_dbx_symtab): Skip N_NSYMS on Ultrix. + + * exec.c (xfer_memory): Use boolean xfer_fn result, not int. + + * target.c (push_target, target_info): Cast enums to int for < or + > comparison. + + * stack.c (print_frame_info): Identify source file & line + even if we can't print it. + + * xm-vax.h (MISSING_VPRINTF): No longer missing in Ultrix V4.0. + +Sat Mar 9 10:08:20 1991 John Gilmore (gnu at cygint.cygnus.com) + + Clean up IEEE floating point support. + + * ieee-float.h: New file. + * ieee-float.c: Write real routines to convert between host + doubles and various target IEEE extendeds. + * m68k-xdep.c: Eliminate assembler code for extended floats. + * xconfig/{3b1,altos,altosgas,hp300bsd,isi,news,news1000,sun2os3, + sun2os4,sun3,sun3os3,sun3os4}: Eliminate use of m68k-xdep.o. + * tm-i960.h, tm-68k.h (REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Use ieee_extended_to_double and + double_to_ieee_extended. + * i960-tdep.c: Define ext_format_i960. + * m68k-tdep.c: Define ext_format_68881. + * sparc-tdep.c: Define ext_format_sparc, though unused. + * Makefile.dist (HFILES): Add ieee-float.h. + * inftarg.c: #include "ieee-float.h" for the REGISTER_CONVERT + macros. + + Obsolete the "coffstrip" program in favor of using BFD's strip. + + * nindy-share/coffstrip.c: Remove file. + * nindy-share/nindy.c (coffstrip): Routine to run bfd_strip. + * Makefile.dist: Remove references to nindy-share/coffstrip.c. + * tconfig/nindy960: Remove reference to coffstrip.o. + + * Makefile.dist: Roll version number to 3.94.1 (not yet final). + +Wed Mar 6 09:56:45 1991 John Gilmore (gnu at cygint.cygnus.com) + + * symfile.h: Add symfile_bfd, common between dbxread and coffread. + * dbxread.c: Remove static symfile_bfd. + * infcmd.c (do_registers_info): Add PRINT_REGISTER_HOOK, though + it is not used yet. + * inftarg.c (child_detach): Pop the child_ops vector if the + detach is successful. + * remote-nindy.c (nindy_create_inferior): Don't push a new + nindy_ops since nindy uses the same one for execution and memory + examination anyway. + * core.c (core_ops): Use child_attach and child_create_inferior + rather than default attach and create_inferior functions. + + Handle floating point registers in core files. + + * sparc-xdep.c (fetch_core_registers): Rewrite for float support. + * sun3-xdep.c (fetch_core_registers): Rewrite for float support. + This version untested since BFD doesn't yet support sun3 core + files. + * hp300hpux-xdep.c: Rewrite fetch_core_registers to new calling + conventions. Fix comments and style. This version has not + been compiled yet, since we have no HP inhouse. + * core.c (get_core_registers): Look for two sections, ".reg" + and ".reg2", and pass both to fetch_core_registers sequentially. + + Revise directory path yet again. + + * source.c (forget_cached_source_info): Not static any more. + (init_source_path): New default source path is "$cdir:$cwd". + (dir_command): Handle variable arguments ($cdir, $cwd). + (source_info): Print "Compilation directory" rather than + "Originally compiled in" to remind people of $cdir. + (openp): If the path contains $cwd, use current directory. + (open_source_file): If compilation directory is known, replace + first $cdir in path with the compilation directory. + (print_source_lines): Even if we can't print the lines, set the + current symtab and line for future commands like "info source" or + "breakpoint". Also, error message now contains the file name, + line number, and file access error message. + (_initialize_source): Fix help text to describe changes. + * main.c (cd_command): Forget cached source info when we chdir. + * utils.c (strstr): Add simple implementation. + +Tue Mar 5 01:41:40 1991 John Gilmore (gnu at fowanton.cygnus.com) + + * coffread.c (read_one_sym, init_linetable, init_stringtab): + Byte-swap COFF symbol tables if necessary when reading them in. + Use complain() to replace error message in one spot. Needs + corresponding change in bfd/coff-code.h to make some symbol + swapping routines non-static. + +Mon Mar 4 00:53:40 1991 John Gilmore (gnu at cygint.cygnus.com) + + Merge changes from Eirik Fuller, for UTek. + + * defs.h (errno): Add declaration. + * altos-xdep.c, arm-xdep.c, convex-xdep.c, gould-xdep.c, + hp300hpux-xdep.c, infrun.c, inflow.c, infptrace.c, i386-tdep.c, + i386-xdep.c, pyr-xdep.c, mips-xdep.c, remote-eb.c, remote-nindy.c, + remote-vx.c, source.c, standalone.c, stuff.c, sun386-xdep.c, + symmetry-tdep.c, symmetry-xdep.c, umax-xdep.c, utils.c: Eliminate + declarations of errno. + + * remote-eb.c: Define B19200 and B38400 as EXTA and EXTB. + + * remote-vx.c: Include <sys/time.h> for UTek; Sun gets it via + <rpc/rpc.h> and <rpc/types.h>. + +Sat Mar 2 15:47:55 1991 John Gilmore (gnu at cygint.cygnus.com) + + * i960-tdep.c (examine_prologue): Add new argument limit, + which stops the scan at the end of the prologue, or at the PC. + This fixes a problem where it walks down into the code for the + user's statements if that code looks like function prologues. + Mark Fox and I have been bouncing this code back and forth, making + small changes to it. Callers changed to match. + +Tue Feb 26 01:47:07 1991 Cygnus John Gilmore (cygnus at yuba) + + Cleanup for gdb-3.94 release final: + + * Makefile.dist: Remove remote-vx.c, remote-nindy.c, and all + the .c files from vx-share and nindy-share, from the various + macros, since they are not found via ALLDEPFILES. + (SFILES): Add tm-i960.h. + (alldeps.mak rule): Break out ALLDEPFILES_MAINDIR and + ALLDEPFILES_SUBDIR. List all the nindy and vxworks subdir files + in the SUBDIR list. + (TAGFILES_MAINDIR): Change ALLDEPFILES to ALLDEPFILES_MAINDIR. + (gdb.tar.Z): Use ALLDEPFILES_SUBDIR as well as SFILES_SUBDIR. + +Mon Feb 25 16:02:35 1991 Cygnus John Gilmore (cygnus at oldman) + + * am29k-tdep.c: Add contribution line. + (examine_prologue): Cache information about function prologues in + the misc-function-vector to avoid lots of references over the + serial line while examining instructions. + + * core.c (core_close): New function made from cleanup_core. + + * core.c, exec.c, inftarg.c, remote-eb.c, remote-nindy.c, + remote-vx.c, remote.c, target.c, target.h, + Update target_ops vector to add attach, close, and load entries. + Use add_syms_addr_command, not add_file_addr_command, for + add_file. Break out close routine from existing code. + + * dbxread.c (really_free_pendings): Don't free pending_blocks; + they are in an obstack. + (read_dbx_symtab): Relocate end_of_text_addr in the psymtab. + Lint. + (define_symbol): Add symbol type parameter; change callers; + pass type parameter to DBX_PARM_SYMBOL_CLASS macro to allow + it to influence the symbol class on the i960. + (define_symbol): Swap LOC_CONST's into target byte order. + + * exec.c (exec_close): New function. + (exec_file_command): Call it. + + * findvar.c (read_relative_register_raw_bytes): Doc byte order, + Fix byte order of frame pointer. + (read_var_value): Result of 0 if var's value can't be found, + e.g. missing FRAME_ARGS_ADDRESS. Byte-swap LOC_CONST and + LOC_LABEL values to target order. Add LOC_LOCAL_ARG. + (locate_var_value): Use read_var_value and use its lazy address + as the location of the var's value. Lint. + + * i960-pinsn.c (next_insn): Add routine from vxgdb for scanning + instructions. + + * i960-tdep.c (arg_address, i960_frame_find_saved_regs): Remove + obsolete Intel versions in favor of vxgdb versions. + (check_host, byteswap, byteswap_val, reorder_val): Eliminate + code dealing with byte order of values, which Intel did in host byte + order rather than gdb-4's target byte order. + (i960_frame_chain_valid): Move to nindy-tdep.c. + (examine_prologue, skip_prologue, frame_find_saved_regs, + frame_args_address, leafproc_return, saved_pc_after_call, + pop_frame): Add vxgdb versions from Mark Fox. + (examine_prologue, frame_struct_result_address): Add code + to deal with the saved value of G13 (struct return address + pointer). + (frame_args_address): Modify Mark's version to prefer the + saved value over the current value in the topmost frame. + Cache result in the frame info to avoid performance hair in + callers. + (print_fault): Add gdb960 code for printing faults. + (_initialize_i960): Actually call check_host. + + * ieee-float.c (ieee_extended_to_double, ieee_double_to_extended): + add stub routines. FIXME, these currently just return zero! + + * infcmd.c (program_info): Use PRINT_RANDOM_SIGNAL. + (attach_command): Call target_attach, not target_open, now. + + * infrun.c (normal_stop): Make global, not static, for vx_attach. + (child_attach): Rename from child_open. + (wait_for_inferior): Use PRINT_RANDOM_SIGNAL. If stop_pc is zero, + don't confuse it with a zero step_resume_break_address. + + * inftarg.c (child_detach): Eliminate inferior_pid test. + (child_files_info): Clean up message a bit. + (child_ops): Use child_attach, not child_open, to attach. + + * mem-break.c: #ifdef out the whole file if BREAKPOINT is not + set (e.g. on VxWorks or NINDY). Move read_memory_nobpt from + findvar.c to here, since it depends on the contents of the + shadow_contents of breakpoints, but keep if #if 0 since it is + never called. + + * nindy-tdep.c: New file, contains nindy_frame_chain_valid, moved + from i960-tdep.c. + + * printcmd.c (address_info): Handle LOC_LOCAL_ARG. Lint. + (ptype_command, display_command): Eliminate have_inferior_p and + have_core_file_p in favor of target_has_stack or + target_has_execution. + (print_frame_args): Handle LOC_LOCAL_ARG. Eliminate duplicate + code for actually finding the values of arguments, though we still + keep track of the maximum stack offset for use in printing unnamed + arguments. Handle missing FRAME_ARGS_ADDRESS. + + * remote-nindy.c (i960_print_fault): Move to i960-tdep.c. + (struct nindy_regs): Define registers passed to/from nindy. + (nindy_fetch_registers, nindy_store-registers): Translate between + nindy and GDB formats for the registers. + (dcache_init): Statically allocate the cache, since it was being + allocated by a malloc that was never freed anyway. + (nindy_create_inferior): Error, not core dump, if no exec file. + (nindy_before_main_loop): Use target_load, not target_add_file. + + * remote-vx.c (net_load): Specify large timeout for load + requests. Allow user to break out with INTERRUPT. + (net_break): Remove useless code, clean up. Change callers. + (parse-args, skip_white_space, find_white_space): Clean up arg + parsing to cope with quoted strings. + (net_wait, net_quit): Never call error, just return status. + (vx_read_register, vx_write_register): Cleanup status checking. + #ifdef the code based on which CPU we are using (960 or 68k), + FIXME, this should be completely general but it isn't yet. + (vx_xfer_memory, vx_resume): Cleanup status checking. + (vx_run_files_info): Improve message. + (vx_load_command): Renamed from vx_add_file_command. Allow load + to be interrupted. + (net_ptrace): Remove unused routine. + (vx_wait): Adopt code from vxgdb960 to cope with broken + connections to target machine and prompt to disconnect. Remove + debug printouts. Map some EVENT_'s to SIGnals. + (add_symbol_stub, vx_open): Print names of object files we found, + and "ok" if we read their symbols OK. Clarify output in general. + (vx_attach, vx_detach, vx_kill): Add these commands. + (vx_convert_from_virtual, vx_convert_to_virtual): Simplify. + (vx_run_ops): Turn off all_mem, to avoid spurious msg in the + "info files" output, and create_inferior, since we already have + an inferior. + + * stack.c (frame_info): Replace Frame_unknown with 0. + (print_frame_arg_vars): Handle LOC_LOCAL_ARG. + (return_command): Pop until the PC matches as well as the FP, + so it works even if the FP is shared with another function, + as in "frameless" or "leaf" procedures. + + * symfile.c (load_command): renamed from add_file_target_command. + (add_syms_addr_command): renamed from add_file_addr_command. + (add_syms_command): Stub to call target_add_syms. + (_initialize_symfile): Change command names and descriptions, + add-file => add-syms, and load from alias to its own command. + + * target.c (kill_or_be_killed, maybe_kill_then_attach, + maybe_kill_then_create_inferior): Default for attempts to start + a process, if one is already running, is to ask about killing + it and retry if yes. + (upstack_create_inferior): #if-0 it, strata obsolete it. + (push_target, unpush_target, pop_target): to_close() a target + before unstacking it. + (target_info): Renamed from target_files_info. + (_initialize_targets): Rename "i files" as "i target", accessible + under both names. + + * target.h: Improve comments about the target_ vectored routines. + + * tm-i960.h: Remove NINDY-specific stuff to tm-nindy960.h. + Convert commenting style to standard GNU style. + (DBX_PARM_SYMBOL_CLASS): allow LOC_LOCAL_ARG's to be recognized. + (SKIP_PROLOGUE): No longer a no-op. + (SAVED_PC_AFTER_CALL): Now handles leaf procedures. + (*_REGNUM): Sort register numbers. + (REGISTER_BYTES, REGISTER_BYTE, REGISTER_RAW_SIZE, + MAX_REGISTER_RAW_SIZE, REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Float regs + are now 10 byte extendeds, not 8 byte doubles. + (FRAME_CHAIN_VALID): Make this config-dependent, since it differs + for nindy versus vxworks targets. FIXME, this should possibly go + in the target vector. + (EXTRA_FRAME_INFO, INIT_EXTRA_FRAME_INFO): Cache both + frame_saved_regs and arg pointer with each frame. + (FRAMELESS_FUNCTION_INVOCATION): New leafproc support. + (FRAME_ARGS_ADDRESS): Use cached result. + (FRAME_ARGS_ADDRESS_CORRECT): New, avoids g14 guessing. + (FRAME_FIND_SAVED_REGS): Change arg to subsidiary fn. + (PRINT_RAMDON_SIGNAL): Call print_fault. + (POP_FRAME): Now works. + + * tm-nindy960.h: Break this off tm-i960.h. NINDY-specific + option parsing and startup; STACK_END_ADDR, FRAME_CHAIN_VALID, + BREAKPOINT, and DECR_PC_AFTER_BREAK are here. + (ADDITIONAL_OPTION_HANDLER): use target_load, not + target_add_file. + + * tm-vxworks960.h: Break this off tm-i960.h. VxGDB specific + startup; DECR_PC_AFTER_BREAK, and FRAME_CHAIN_VALID are here. + + * valarith.c (value_subscripted_rvalue): Avoid handling + floats and doubles specially; it gave alignment errors. Lint. + + * valops.c (value_of_variable, value_of_this): Error if unknown + value. + + * valprint.c (print_floating): Bcopy rather than pointer-deref, + to avoid alignment problems. + (value_print): Handle unknown value address. + (cplus_val_print): Two args are ignored; remove them. Change caller. + (val_print): Use unpack_long rather than pointer-deref. + + * values.c: Lint. + (unpack_long, unpack_double): Use bcopy rather than pointer-deref + to avoid alignment problems. + (value_being_returned): Error if return value unknown. + (set_return_value): Add bogosity warning, FIXME. * + + * TODO: A woman's work is never done. + + * Makefile.dist: Distribute REMOTE_OBS into tconfig files. + Separate INCLUDE_CFLAGS for use with lint. Add LINTFILES. + Add ieee-float.o to OBS. + * tconfig/{nindy960,vxworks68,vxworks960}: Include the desired + REMOTE_OBS remote-interface files in the TDEPFILES and TM_FILE. + * tconfig/i960: FIXME. Half-merge, produce warning if config'd. + + Changes to generalize the VxWorks RPC protocol slightly, to handle + i960 as well as 68000. + + * vx-share/dbgRpcLib.h (VX_SOURCE_STEP): Add. + * vx-share/reg.h: Produce i960 regs #ifdef I80960 + * vx-share/xdr_ptrace.c: Skip FPA registers if 960. + * vx-share/xdr_rdb.h: Add SOURCE_STEP struct and xdr decl. + * vx-share/xdr_rdb.c: Add xdr_SOURCE_STEP routine. + * vx-share/xdr_regs.c: Add xdr_regs, xdr_fp_status, xdr_ext_fp + for i960. Change xdr_vectors to xdr_opaques for 68k registers, + so they will move in target byte order rather than network + byte order (happens to be the same). + +Mon Feb 25 03:41:44 1991 John Gilmore (gnu at cygint.cygnus.com) + + * tm-convex.h (END_OF_TEXT_DEFAULT): Remove #if 0'd block. + +Sun Feb 24 00:55:53 1991 John Gilmore (gnu at cygint.cygnus.com) + + * am29k-pinsn.c, + Add contribution lines to various files, showing where they + came from. + + * breakpoint.c (break_insn, check_break_insn_size, + read_memory_nobpt): Remove to mem-break.c. + + * xm-*.h, param-no-tm.h, tm-29k.h, valprint.c: Change BYTE_ORDER to + HOST_BYTE_ORDER. + + * tm-29k.h (STAB_REG_TO_REGNUM): Warn user if symbol table + entry has bad register number. This change is not + tested in this release, FIXME. + + * frame.h: Eliminate Frame_unknown in favor of a simple zero. + tm-vax.h: Ditto. + + * value.h: Force value's contents field to be aligned to hold + at least a double or a long long (if supported). This avoids + doing bcopy's in and out of the contents field. + + (step_1): Avoid coredump under obscure circumstances when we + have no frame. + + * symtab.h (misc_info): Add field to misc function vector for + any kind of cached information the target code desires. AMD + 29000 uses this to avoid repeating examine_function_prologue's. + + * coffread.c: Lint. Remove static symfile, read_section_header. + core.c (have_core_file_p): Lint: remove. + expprint.c (print_subexp): Lint. + infptrace.c, valops.c, valprint.c: lint. + + Roll in changes from vxgdb-5.0.1: + + * symtab.h: Comment byte order of each address class. Add + LOC_LOCAL_ARG for frame-relative args (960). + expread.y: Use LOC_LOCAL_ARG where LOC_ARG is used. + symtab.c, symmisc.c: ditto. + + * infrun.c (init_wait_for_inferior): Clear stop_signal. + + * remote.c (remote_resume): Error if resume with a signal. + + * symfile.c (prim_record_misc_function): Clear misc_info. + (fill_in_vptr_fieldno): Check stub type of arg. + + * valops.c (value_cast): Avoid looking up names of types whose + name we don't know, to prevent coredump. Sun CC produces typedef + rtx and the name of *rtx is zero... + +Mon Feb 18 21:16:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + Roll in changes from final AMD 29000 port (Tiemann). + + tconfig/am29k: Add COFF_ENCAPSULATE and TARGET=TARGET_AM29K + for ../include/a.out.encap.h. This might not work now that BFD + is separately compiled. Instead, BFD support for encap will have + to translate machine type 29k into the right COFF_MAGIC. + + * infcmd.c: Remove references to inferior_pid that aren't used + in actual ptrace calls; use target_has_execution, etc. + (have_inferior_p): Remove function. + (program_info): Print target info rather than "process number"; + avoid gratuitous messages unless from_tty. + (run_stack_dummy, finish_command): Set proceed_to_finish. + infrun.c: Remove inferior_pid refs. Decl & init proceed_to_finish. + main.c: Lint. Lose have_inferior_p(). + inferior.h (have_inferior_p): Remove, lint. + (proceed_to_finish): Add flag to ask that all regs be saved + by normal_stop, for the few commands that need it, speeding up + serial I/O. Add comments to stop_registers. + + * remote-eb.c: Remove newline from breakpoint message we grep + for. Never time out when running the user program. + + + +Wed Feb 13 15:34:40 1991 John Gilmore (gnu at cygint.cygnus.com) + + Roll in changes from vxgdb-5.0.1: + + * dbxread.c (read_dbx_symtab): If we encounter a "FORTRAN COMMON" + symbol in its raw form, we are processing an unlinked ".o" file. + See if the target environment has assigned it an address, using + target_lookup_symbol (VxWorks does), and enter it into the symtab + that way. + + * tm-vxworks.h (FRAME_CHAIN, FRAME_CHAIN_VALID): Override usual + 68k versions for a simpler version that assumes zero FP at bottom. + Fixes bug of truncated stack reports. + + * target.h (target_lookup_symbol): Define this routine's args + and result, finally. + + * target.c (nosymbol): Default routine for target_lookup_symbol. + (target_default): Default lookup_symbol and call_function too. + (files_info): Only print has_all_memory warning if a non-dummy + target follows. + + * remote-vx.c (vx_read_register, vx_convert_to_virtual, + vx_convert_from_virtual): If target does not have floating point, + zero register "values", and avoid doing cross-net conversions. + (vx_lookup_symbol): Rename net_lookup_symbol, add to vectors. + (vx_open): Rearrange code that attaches to target and reads + symbols for all loaded modules, to work if some of the modules + are not accessible. Add symbol_stub() and add_symbol_stub() + as callbacks from catch_errors(). Allow connect attempt to be + interrupted painlessly with ^C (FIXME, there are still some bugs + if the interrupt happens during symbol reading.). Print + final message with puts_filtered, since symbol messages are + now filtered too. + + Misc cleanup: + + * main.c (catch_errors): Only print errstring if non-null. + (command_loop): Avoid an ioctl per command to test ISATTY. + + * remote-vx.c (net_load): make static; avoid sophomoric msg. + (vx_xfer_memory): Return correct result! + (vx_files_info): Indicate whether target has float or not. + (vx_lookup_symbol): Complain, not error, if target gone. + (vx_open): Print "Connected" msg before disabling immediate-quit. + [FIXME: lookup_symbol and vx_open changes need testing.] + + target.c, remote-eb.c, inftarg.c, am29k-opcode.h, target.h, + tm-29k.h, tmm-vxworks68.h, symfile.c, gdb-int.texinfo: Add + contributor lines and update copyrights to 1991. + + Changes from an attempted H-PUX host port: + + * infptrace.c (PT_ATTACH, PT_DETACH): Handle HP/UX, which + defines PT_ATTACH and PT_DETACH but not PT_KILL. + * remote-eb.c (eb_open): Misplaced endif kills sysv H/PUX. + * remote-vx.c: include <sys/time.h> for HPUX. + * hp300hpux-xdep.c (fetch_core_registers): Rewrite old + "core_file_command" routine to BFD regime. May not work yet. + + Attempted port of "gdb-3.4 Van Jacobson xgdb" to modern gdb. + + * xgdb.c: Replace X10 version with some VJ version. + (FIXME: Its copyright assignment is not on record.) + * xgdb.c: Update include files to X11R4 (Xaw crud). + (xgdb_display_source, create_text_widget): fix call to + get_filename_and_charpos. Rewack source window stuff for X11R4 + (gleaned from include files, and "nm's" of binary libraries, since + I had no doc available). + (append_selection, append_selection_word): Disable with FIXME + since R4 changed interface here. + (create_buttons): Add back the old set of buttons. + (xgdb_create_window): Fix call to XtInitialize (&argc not argc). + + * Makefile.dist (xgdb, xgdb-init.c): Update for X11R4 on Suns. + Roll VERSION to 3.94 (not yet final though). + +Sat Feb 9 09:46:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + * obstack.h (obstack_ptr_grow, obstack_ptr_grow_fast, + obstack_int_grow, obstack_int_grow_fast): Eliminate + cast on left of assignment, which gives MIPS cc fits and is + not Standard C. + + * sparc-pinsn.c (print_insn): Eliminate 'set' test, subsumed by + F_ALIAS. Use printf, not fprintf, when not passing a file + pointer... + (compare_opcodes): Check that identical instructions have + identical opcodes, complain otherwise. + + * sparc-opcode.h (st %fsr): Fix opcode "lose" mask. This + was reported by Roland McGrath. + (unimp): Only match if exactly zero instruction. (Roland) + (branches and traps): Generate all variations of these + instructions with macros, based on a single call that defines + each condition name and its binary representation. + (set): Turn on alias bit, to avoid test in sparc-pinsn.c. + + * valprint.c (val_print_fields): Take, and use, format parameter. + This means that "p/x struct" again prints the elements in the + desired format. Changed callers. + + * stack.c (frame_info): Use filtered output, and indicate wrap + points. Remove kludgy formatting designed to avoid line wrap. + + * utils.c (wrap_here): If the line is already full (because + we had printed a long indent or long wrapped string), do an + immediate newline-and-indent. + + * m68k-pinsn.c (print_insn_arg): Bugfix from + ntmtv!thompson@ames.arc.nasa.gov (Mike Thompson): 'bkpt #0' + instruction is incorrectly disassembled as bkpt #8. + + * dbxread.c (end_psymtab): Bugfix from Peter Schauer + <pesrem@regent.e-technik.tu-muenchen.de>: If you want to set a + breakpoint in a *.y file gdb will say Reading in symbols for *.y... + and then will dump core (sometimes). I traced it back to an + uninitialized symfile_name in psymtab_to_symtab. + (const_vol_complaint): Add quotes to message. + (define_symbol): Only believe line number if gcc_compiled. + Avoid allocating symbol if we will not return it. + + Add target strata support so that newly established targets go + into their right place in the target stack (e.g. a new exec file + doesn't wipe out the ability to access the running process). + + * target.h, core.c, exec.c, inftarg.c, remote-eb.c, + remote-nindy.c, remote-vx.c, remote.c, target.c: Add to_stratum + and initialize it properly in all the targets. + + * target.h: Document strata. Change return type of push_target. + + * target.c (nomemory): new function for dummy memory access. + (tcomplain): Rename complain, now also used in symfile.c. + (push_target): Push targets within strata. New return value shows + whether new target is on top of stack or not. Always keep dummy + target on stack. + (target_files_info): Ignore dummy target. + + * core.c (core_open): Warn user, and skip accessing file, if the + core target is not the topmost target in the stack. + * remote-nindy.c (nindy_create_inferior): Avoid unpush_target, now + already handled. + + * remote-vx.c: Remove vx_prepare_to_store from vxworks memory + target_ops, it doesn't belong there since we have no regs there. + Change name of target from machine => memory to clarify. + +Thu Feb 7 16:32:09 1991 John Gilmore (gnu at spiff.cygnus.com) + + * Freeze version 3.93 for release. + + * Makefile.dist: Handle vx-share and nindy-share subdirs + properly when building gdb.tar.Z. + + * symtab.c: lint; add no_symtab_msg to consolidate the messages + printed in various places, so I could change just one copy. + + * dbxread.c, coffread.c: Change references to bfd->iostream + to cast to FILE *, now that BFD avoids needing types defined + in other header files. + +Tue Feb 5 21:39:35 1991 John Gilmore (gnu at cygint.cygnus.com) + + * command.c, dbxread.c, expprint.c, infcmd.c, infptrace.c, + infrun.c, printcmd.c, remote-nindy.c, source.c, sparc-tdep.c, + sparc-xdep.c, symfile.h, symmisc.c, utils.c, valprint.c: Lint + (actually gcc -Wall). + + * dbxread.c: Remove first_global_sym, last_global_sym, since + they are never referenced. + + * defs.h (baud_rate): Declare. + main.c: Define it, and add the -b option to set it. + + * gdb-int.texinfo: Add text on how to define a new host or target + architecture, prompted by Per Bothner's questions about MIPS + support. + + * gdb.texinfo: Document "complaints". Change doc of -q since + gdb no longer prints the copyright and blurb if you specify a file + name to be debugged (just like Emacs). Add doc for Nindy-specific + command line flags for specifying target serial port and such. + Update copyright to 1991. + + * gdbcore.h: Remove a large mass of now-useless crud, since BFD + has taken over for us the job of ripping up executable files. The + crud caused Per Bothner's port to not compile. + + * infrun.c (normal_stop): Avoid printing "Program exited + normally" if we are in batch mode. This allows a GDB which + executes a program on a target system, to behave like a Unix + command (input from stdin, output to stdout, no extraneous + output). + + * main.c (main): Allow additional machine-dependent command line + options to be specified with the ADDITIONAL_OPTIONS, + ADDITIONAL_OPTION_CASES, ADDITIONAL_OPTION_HELP, and + ADDITIONAL_OPTION_HANDLER macros. Also allow machine-dependent + processing to occur just before the main loop with + BEFORE_MAIN_LOOP_HOOK. + (main): If a "core file" argument is specified, and it is not a + core file, try it as a process ID to attach. + (symbol_completion_function): Attempt to cope with + "show screen-" TAB, not very successfully. This needs more work, + FIXME. + (batch_file): New function, returns whether we are reading + commands from an interactive tty on stdin, or from somewhere else. + Called by normal_stop since it doesn't get from_tty passed down + to it like many commands do. + + * remote-nindy.c: Handle command line options for nindy + connection. + (nindy_before_main_loop): Prompt user for tty name if they + don't specify it before getting to the interactive command loop. + + * tm-i960.c: Add ADDITIONAL_OPTIONS, etc, to handle -O, -brk, + and -r command line options. Also add hook before main loop + to make it easy to specify a tty. + + * TODO: More things to do, one done. + +Mon Feb 4 23:57:39 1991 John Gilmore and Mike Tiemann (at cygint.cygnus.com) + + * dbxread.c: Make complaint() calls pass pointer, not struct. + Add complaints about badly formatted C++ type information + (const/volatile indicator, and parse errors resulting in + error_type). Fix C++ virtual member fn comment. + (read_struct_type): Avoid bumping pointer if we got a parse + error; this prevents our walking beyond the end of a string. + Terminate loop on null char as well as semicolon. + (process_one_symbol): Fix the LBRAC fix so that it uses the + last previous SLINE, FUN, or SO record's PC address. C++ debug + symbols did not have SLINE records in a useful order compared + to the LBRAC records. + (define_symbol): Handle "catch" records. + + * symtab.c (check_stub_type): Added new complain + `stub_noname_complain' and added a consistency check to + keep the debugger from crashing when finishing from an + exception frame. A real fix will be needed later. + +Sat Feb 2 10:43:05 1991 John Gilmore (gnu at cygint.cygnus.com) + + * infcmd.c (attach_command): Make global. + + * Makefile.dist (REMOTE_OBS): Make these compile by default, + but make them easy to comment out. Perhaps later they should + be enabled by what CPU you configure for? FIXME. + (VERSION): Roll to 3.93. + (pinsn.o): Remove rule for obsolete file. + (dbxread.o,coffread.o,mipsread.o): Use ${srcdir} explicitly. + + Run down a problem that manifested by printing the wrong function + name in stack traces of read_ofile_symtab. Turned out that the + problem was the SunOS 4.1.1 (and previous) C compiler outputs + the LBRAC symbol with an address in the *data* segment, which + blew our binary search through the blocks. + + * dbxread.c: Use the complain() facility consistently to bitch + about problems in the symbol file we are reading. + (finish_block): Add code to check the nesting of the blocks; + complain and Procrust them to fit if wrong. + (make_blockvector): Check the order of the blocks, complain + [but don't cope] if wrong. + (process_one_symbol): ifndef SUN_FIXED_LBRAC_BUG, check LBRAC + symbols to be sure their PC value is greater than the last SLINE + (line number) symbol we've seen, complaining and adopting the + SLINE PC value if wrong. + + * symfile.h (struct complaint, complaint_root, complain, + clear_complaints): Add. + * symfile.c (complain, complaint_root, clear_complaints): Add + facility to deal with non-fatal complaints and to regularize their + suppression. + (symbol_file_add): Clear complaint counters to allow new complaints. + (initialize_symfile): Add 'set complaints' and 'show complaints'. + + * dbxread.c (dbx_symfile_read): Remember the address and size + of the string table for the main symbol file, so we won't read it + more than once. + (dbx_psymtab_to_symtab): Fix the check for main symbol file, + to avoid reading the string table yet again. Lint. + (throughout): Improve filtered output, including word wrap. + (read_range_type): Improve Bothner's fix to handle other types too. + + * utils.c: Improve line wrap implementation. Handle unlimited + width by making chars_per_line unsigned. + (puts_filtered): New, easy, function. + + * defs.h (puts_filtered): add. + + * mipsread.c (compare_symbols, sort_symtab): Remove these fns, + call the identical sort_symtab_syms() in symfile.c instead. + + * expread.y: Suggest the `file' command rather than `symbol-file'. + + * command.h (enum var_types): Add zinteger for seroable + unsigned integer. + * command.c (do_setshow_command): Handle var_zinteger. Restructure + nested if's into a switch. + + * breakpoint.c (bpstat_print): If bpstat "print" flag is not set, + we did not stop because of a breakpoint (it must have been for + some other reason, like a "stepi"), so don't print anything. + + * symtab.c: Include <sys/types.h> all the time. Now that BFD + doesn't include <sys/types.h>, old SunOS's require it for + <sys/stat.h>. + +Sat Feb 2 10:39:15 1991 Per Bothner (bothner@cs.wisc.edu) + + A test port of gdb-3.92.6 to the Sony NEWS. + + * Makefile.dist + Don't normally link in remote- or vx stuff. + Some of it doesn't compile, and it wastes space for 99% of the users. + Remove reference to no-longer-used HAVE_VPRINTF. + Fixed BFD_DEP typo to BFD_DIR. + * dbxread.c + Fix cast in arg to bfd_h_getlong. + Make char *prefix be const. + Fix how certain range types are mapped into builtin unsigned int types. + * infrun.c + Remove 2 #includes. They cause errors (on Sony, at least), + and aren't needed (they wern't in earlier versions). + * printcmd.c + print_address_symbolic should never demangle labels + (since it prints *assembler-level* labels). + + [This was superseded by the change to printcmd below.] + + * utils.c + Add some "volatile" return types to avoid warnings. + If MISSING_VPRINTF add vprintf function and not just macro + (since vprintf is used in printcmd.c). + * valprint.c + Unless __GNUC__, use obstack_grow instead of obstack_ptr_grow. + (The latter isn't grokked by some PCC-based compilers.) + + [This change is in abeyance, we prefer to fix obstack_ptr_grow.] + + Make chunk size of dont_print_obstack 32*4 instead of default 4096. + * nindy-share/coffstrip.c + Added some forward declarations (otherwise, gcc complains + about implicit extern redefined as static). + +Sun Jan 20 02:38:19 1991 John Gilmore (gnu at cygint.cygnus.com) + + Changes inspired by Per Bothner: + * printcmd.c (print_address_symbolic): Take additional parameter + specifying whether to demangle. + (print_address): Pass in asm_demangle to control demangling. + (print_address_demangle): New fn, takes explicit arg to control + demangling. + * utils.c: Add new vars demangle and asm_demangle, and let them + be set and shown. + (fputs_demangled): If !demangle, just print the argument. + (fprint_symbol): If !demangle, just print raw symbol. + * valprint.c (val_print): Call print_address_demangle rather than + print_address, to cause demangling to depend on the global + rather than assembler-level demangling setting. + * WHATS.NEW, gdb.texinfo: Document. + + * main.c (show_command): Show all settings if no arg. + (initialize_main): Make "info set" the same as naked "show". + * command.c (cmd_show_list): Handle prefix commands in the + list, and print the name of the setting as well as its English + description and value. + + Allow gdb functions to specify where a line should wrap if it + exceeds the size of a terminal line. Use it to make the output + prettier. + * utils.c (set_screen_width_command): New fn, mallocs a buffer + of the right size when screen width changes. + (set_screensize_command, screensize_info): Remove #if 0'd fns. + (wrap_here): New fn, indicates a point in the output where we + should wrap the line rather than just letting it overflow at a + random place. + (fputs_filtered): Implement wrapping. + (n_spaces): New fn, returns a pointer to N spaces. + (print_spaces_filtered): Use n_spaces. + * defs.h (n_spaces): Declare. + * stack.c (print_frame_info): Wrap with 4-space indent after + fn name and before filename and line number. + * printcmd.c (print_frame_args): Wrap with 4-space indent + before each argument name is printed. + * valprint.c (value_print): Wrap with no indentation before + each repetition. + (val_print_fields): Wrap with indentation relative to nesting + level before each field name. + (val_print): Wrap with nesting indentation before array elements. + * command.c (do_setshow_command): Avoid extra newlines, + wrap with 4-space indent around values printed, end with period. + * WHATS.NEW, gdb.texinfo, gdb-int.texinfo: Document. + + * breakpoint.c (breakpoint_1): Implement addressprint for + "info breakpoints" display. Change file name and line number + format to " at file:nnn" rather than " (file line nnn)". + * gdb.texinfo: Document. + + +Fri Jan 18 07:21:25 1991 John Gilmore (gnu at cygint.cygnus.com) + + Frozen for gdb-3.92.6 release. + + README, WHATS.NEW: Update for 3.92.6 release. + + tconfig/{altos, i386v, i386v32, m88k, umax}: Eliminate + coffread.o from configs since it is now built by default. + tconfig/{3b1, altosgas, arm, convex, hp300bsd, hp300hpux, + i386v-g, i386v32-g, isi, merlin, news, news1000, np1, pn, + pyramid, symmetry, vax, vxworks68}: Eliminate dbxread.o + from configs since it is now built by default. + + Makefile.dist: Update for release 3.92.6. Handle files that + have been moved to ../include, ../getopt, or ../bfd. Add + saber.suppress and tests directory. Add config.status to + the release (it will say "none"). + + coredep.c: Minor formatting fixes. + + These changes were made in early December but only checked in now: + * nindy-share/Onindy.c, nindy-share/coffstrip.c, + nindy-share/nindy.c: lint + * nindy-share/nindy.c (ninStopWhy): Don't byteswap the + register values coming back from the target; we store values + in target byte order everywhere. + +Wed Jan 16 19:01:37 1991 John Gilmore (gnu at cygint.cygnus.com) + + * am29k-opcode.h, am29k-pinsn.c: Add 29050 opcodes. + + * valprint.c (cplus_val_print, val_print_fields): New functions, + which print C++ objects. They conspire to avoid printing a + virtual base class more than once, following all the twists and + turns of C++ virtual base rules. + (val_print): Call the above rather than do it by hand. + + * symfile.c (symbol_file_add): Only reset symfile_mtime for main + symbol file, not for added files like shared libs. This really + needs to be generalized to a timestamp per file. + + * core.c (cleanup_core): Avoid coredump if no core file. + + * config.gdb: Accept -host or -target in place of +host or + +target. + + * coffread.c (find_linenos): Avoid desupported BFD interface + to line numbers. We still read them manually rather than using + BFD's "generic" features. + + * gdbrc.tex, threecol.tex: Add GDB reference card and its + formatting code. + Makefile.dist: Add refcard to OTHERS list for creating tar files. + + * Makefile.dist: Eliminate use of $< in explicit targets. + + * readline/Makefile: Use $< rather than $*.c, which does not + include the VPATH in GNU Make. + + * tconfig/i960-bout, tconfig/i960-coff: These are identical + copies of tconfig/i960, added for global configuration + compatability. All i960 versions can read both coff and b.out. + + * tm-88k.h: Fix multiline macro that lacked \'s. Remove + COFF_FORMAT and COFF_CHECK_X_ZEROES since these are now handled + automaticaly. + + * TODO: Think of more things to do. + +Wed Jan 2 19:09:29 1991 John Gilmore (gnu at spiff.cygnus.com) + + tconfig/{am29k,i960,sun2*,sun3*,sun4*}: Eliminate config + of sdb versus dbx debug symbols. Add kludge for 68881 80-bit to + 64-bit float conversion. + + tconfig/sun4, tconfig/sun3, xconfig/sun4, xconfig/sun3: Make + equivalent to sun?os4 so global config works. + +Wed Jan 2 18:20:51 1991 John Gilmore (gnu at spiff.cygnus.com) + + Fix from Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de> + + * main.c: Only declare linesize once; declare pagesize not at + all, since it is never used. + (main): Clear newly allocated line before it is used. + +Fri Dec 28 00:13:42 1990 John Gilmore (gnu at cygint) + + Further stabilization for the Intel 960. + + * Makefile.dist: Parameterize the location of the "include" + and "bfd" directories, as well as "getopt". Add symfile.c. + Link in both dbxread and coffread. Fix up "make depend" to + rewack the locations of include, bfd, and getopt in its output. + + * README: Document moving include files, improve some of + the other doc. + + * coffread.c: Move common code out to symfile.c. Change + symbol_file_command style interface to use new *_symfile_init + and *_symfile_read interface under BFD. Use BFD internal + info to locate line table, symbols, etc. + + * core.c (core_fetch_registers): Rename to get_core_registers + to avoid confusion with fetch_core_registers. + (register_addr): Move to coredep.c, which is already machine + dependent. This leaves core.c pretty clean of dependencies. + + * coredep.c (register_addr): Accept this routine from core.c. + + * dbxread.c: Move common code (with coffread.c, etc) into new + symfile.c. Each psymtab now contains a pointer to the + format-dependent function that knows how to read it in. Make + some things static. + (dbx_psymtab_to_symtab): Renamed from psymtab_to_symtab_2. + (process_one_symbol): Add code to complain about a "compiler bug + we muzzle here", if we actually see it. + + * eval.c (evaluate_subexp): Insert missing "break" statements + in code that determines whether a variable is an lvalue in + memory, register, or whatever. I detected this via a compiler + bug in which it *almost* mashed out the whole switch statement. + + * gdb-int.texinfo: Add minor sections on configuring gdb for + release, and about the README file. + + * infcmd.c (registers_info): Fix formatting somewhat. Still + not as pretty as before, but it handles byte swapping. + + * remote-nindy.c: If data cache routines are interrupted while + waiting for the remote end, be sure that any uninitialized cache + blocks are on the free list, not on the valid list! + + * symfile.h: Flesh out this header file with all the various + routines and variables that have been merged in from dbxread.c + coffread.c, and symtab.c to symfile.c. + + * symfile.c: New file, containing code common to dbxread.c, + coffread.c, and some code from symtab.c. All generic code for + reading symbol files should be in here now. + (unrecord_misc_function): Remove unused function. + + * symtab.h: Remove file-reading things to symfile.h. + + * symtab.c: Remove file-reading things to symfile.c. + + * tm-i960.h: Fix FRAME_CHAIN types; define PRINT_RANDOM_SIGNAL + to decode i960 fault types. + + * target.h, remote.c, remote-eb.c, remote-vx.c, remote-nindy.c, + target.c: Change type of the "resume" function from int to void, + since its result was never used. + +Sat Dec 22 02:51:40 1990 John Gilmore (gnu at cygint) + + * main.c: Replace "stupid" with "caution"; you now "set caution + on or off". + + * printcmd.c (print_scalar_formatted): Fix typo in 'g' format + + * infcmd.c (do_registers_info): Call val_print to deal with the + byte order of the registers being printed. FIXME, this makes + the formatting of the output uglier. + + * infcmd.c (wait_for_inferior): If PRINT_RANDOM_SIGNAL is + defined, call it for signals the debugger doesn't itself use. + The i960 uses this for more detailed fault information. + + * remote.c (remote_open): If arg is null, print help rather than + dumping core. + + * sparc-xdep.c (register_valid): Avoid declaring size, since + various modules will think of various sizes depending on the + architecture of their tm-file. FIXME, we need protection against + actually entering one of those modules, which would clobber + storage if not for the target architecture compiled into gdb. + + * stack.c (up_command, down_command): Always print the frame + you arrive at. + (up_silently_command, down_silently_command): New commands + for use in scripts. + + * i960-pinsn.c (reg), i960-tdep.c: Lint. + + * i960-tdep.c (i960_frame_chain_valid): Lookup_symbol now takes + more parameters than it used to. + + * findvar.c (registers): Increase slop to 256 bytes, which should + protect us against even most RISC machines with large register + sets. + (locate_var_value): Move declaration inside related ifdef. + + * remote-nindy.c (): Use TIOCSETN rather than TIOCSETP + throughout, to avoid throwing away buffered input from the board. + (nindy_wait): Supply_register takes addr_of_value, not value. + (i960_print_fault): Renamed from i80960_fault. + (nindy_fetch_registers): Avoid have_regs stuff, just get them. + (nindy_store_registers): Avoid regs_changed stuff, just stuff + them. + (nindy_create_inferior): Don't bother to write PC_REGNUM since + we can set the PC in the call to proceed(). Unpush nindy_ops + before pushing it on top, to avoid message to user. Eliminate + commentary from Unix machines that just misleads here. + (reset_command): Fix error message to suggest target command. + +Wed Dec 19 11:03:56 1990 John Gilmore (gnu at cygint) + + Release 3.92.5 as frozen. + + Stabilize the merged release...with help from lint, Saber C, + gcc -W, etc. + + Everywhere: Add include files needed to declare return types + of functions called. + + * gdb.texinfo: Roland Pesch is documenting gdb, glory be! + + * breakpoint.h: Add undeclared breakpoint functions, and some + functions for display handling since I couldn't think of a better + .h to put them in. + + * breakpoint.c (insert_breakpoints): Make code for disabling + shared library bkpts more likely to work. It's used when we + rerun a program and stop before the shared library has been + mapped in. + (breakpoint_cond_eval, bpstat_stop_status): Pass arg as int, + cast from pointer, so it squeezes through catch_errors. + (bpstat_stop_status): Fix logic broken some time ago. We now + always create a bpstat if the stop address matches a breakpoint, + even if we don't stop there -- just like the old code used to do + before I got my fingers into it (sigh). + (breakpoint_1): Print "ignore count" after "stop only if" + condition, since that's how it actually works. + (mention): Handle watchpoints as well as breakpoints. + (watch_command): use set_raw_breakpoint and mention to do most + of the work (and initialize all the fields!). Only pass one + arg to parse_c_expression, since that's all it takes. + + * command.c (not_just_help_class_command): Rename arg to args + since we ignore "unused argument" warnings on vars named "args". + inflow.c (child_terminal_info): ditto. + infptrace.c (kill_inferior): ditto + main.c (catch_errors, version_info, quit_command, pwd_command, + source_command, dump_me_command, editing_info, + set_history_size_command, set_history, show_history, + set_verbose): ditto + stack.c (locals_info): ditto + target.c (target_files_info): ditto + valprint.c (set_input_radix, set_output_radix): ditto + + * core.c: Remove old variables for handling core and exec file + sections (data_start, data_end, stack_start, stack_end, + reg_stack_start, reg_stack_end, reg_stack_offset, text_start, + text_end, exec_data_start, exec_data_end, text_offset, + exec_data_offset, data_offset, stack_offset). They're + superseded the more general build_section_table and + xfer_memory. + (get_exec_file): Mention the `file' command. + (read_memory_check): Rename to memory_error, and only call it + in the case of an actual error. + (read_memory, write_memory): call memory_error. + (core_fetch_registers): Register section name is ".reg". + + coredep.c: Remove a bunch of crud now that all this file does + is pull the registers out of a core file. + (fetch_core_registers): Rewrite to actually work, I hope. + + dbxread.c: Use a.out.gnu.h, not system a.out, now. + Replace index() with strchr(). Remove all the pre-BFD macro + definitions for accessing the symbol file. + (struct dbx_symfile_info): Encapsulate the information that + dbx_symfile_init needs to pass to dbx_symfile_read in this + struct. + + (dbx_new_init, dbx_symfile_init, dbx_symfile_read, + dbx_symfile_discard): Rearrange symbol file reading to divide + the format-specific part from the format-independent part, + leaving the format-independent part such as file name expansion + and opening in symtab.c. This replaces + partial_symbol_file_open and partial_symbol_file_read. + Symbol_file_read, add_file, add_file_target_command, + add_file_addr_command move to symtab.c. Pass an explicit + "mainline" flag for when reading the main symbol table, rather + than relying on the offset address to be zero or nonzero. + + (dbx_symfile_read): Don't allow void *'s to be printed as + typedefs. + (SWAP_SYMBOL): Use bfd routines to byte-swap the symbols. + (ADD_PSYMBOL_TO_LIST): Make the "function call rather than + macro" debug version really work. + (read_dbx_symtab): Remove unref'd parameter inclink. + Avoid swapping N_SLINE symbols, for speed. + Merge N_TEXT!N_EXT case with the other external symbol + definitions' case. Add comments. + (start_psymtab): Allocate the symfile name in the psymtab on + the psymbol_obstack, rather than using the caller's storage. + (end_psymtab): Only allocate a dependencies list if there are + more than zero. + (psymtab_to_symtab_2): Use BFD when reopening file to read + its symbols for real. + (read_struct_type): Add FIXME comments where it needs work + for C++ bogosity. + (read_huge_number): Add FIXME about overflows. + (read_range_type): Add FIXME about comparing a long to 1<<32. + + * coffread.c: Minor changes to move things closer to the new + regime with symtab.c and dbxread.c Major work is still needed + here. + + * exec.c (exec_file_command): Remove old variables (see core.c + above). + (xfer_memory): If memory transfer is right at the end of a + section, don't lose. + + * findvar.c (get_saved_register): If value is in a real + register, LVAL is lval_register, not lval_memory. + + frame.h: Declare print_sel_frame and record_selected_frame. + + gdb-int.texinfo: New file, for GDB internals documentation. + Very simple, unformatted doc of cleanups is there for now. + + gdbcore.h: Remove obsolete variables that described a.out + section addresses and offsets. (See core.c above.) + Declare fetch_core_registers and registers_fetched. + + getopt.c: Declare char *alloca(); even on SPARC. + + infcmd.c (run_command): Call target_kill rather than + kill_inferior. + (step_command, next_command, stepi_command, nexti_command): + Declare from_tty parameter even though we don't use it. + (run_stack_dummy): argument BUFFER is a char array, not + a pointer to REGISTER_TYPE. + (finish_command): using_struct_return needed a value *, + not a struct symbol *. + + * infptrace.c (child_xfer_memory): To avoid dependency on + where sections are in memory, try PT_WRITE_D and if that fails, + try PT_WRITE_I. Most Unixes don't care which you use. + + * infrun.c (step_resume_break_shadow): Change to array to + match other breakpoint shadow storage. + (clear_proceed_status): Pass address of bpstat to + bpstat_clear, not the bpstat itself. + (child_create_inferior): FIXME comment about if the child + exits. + (start_inferior): Remove old function. + (child_open): Use target_kill rather than kill_inferior. + (wait_for_inferior): Ditto. + (insert_step_breakpoint, remote_step_breakpoint): Use + new step_resume_break_shadow. + + * inftarg.c (child_wait): If all child processes die, + pretend that the one being waited for exited with signal 42. + + * main.c (command_line_input): When scanning for comments, + don't coredump on unclosed quotes. + (quit_command): Use target_kill rther than kill_inferior. + (_initialize_main): Rename class_user from "user" to + "user-defined". + + * printcmd.c (print_command_1): Initialize "fmt" if no format + is specified by the user. + (print_frame_args): Only add to args_printed if we are + actually fetching args from the stack (avoiding undefined + arg_size). + (_initialize_printcmd): Remove bogus \{ from string. + + * remote-eb.c (eb_open): Avoid coredump on no argument. + + * remote-nindy.c: Bring out of Intel environment into new + target environment. Remove all conditional compilation on + I80960. Massive hacking throughout. + (nindy_xfer_inferior_memory): New routine stolen from + infptrace.c. + (nindy_create_inferior): New routine pieced together, probably + not quite working yet. + (nindy_ops): New target_ops struct for nindy. + + * remote-vx.c: Use write_memory rather than target_write_memory + to get error checking. + (vx_add_file_command, vx_open): Use symbol_file_add rather than + add_file. + (vx_create_inferior): Use target_terminal_ours... + + * signame.c (_initialize_signame): Always initialize, since + we need the table for things other than psignal. + + * solib.c (solib_add): Use symbol_file_add, not add_file. + (solib_address): Return boolean result rather than struct + pointer which nobody else knows the type of. + + * sparc-tdep.c, valops.c: Use write_memory rather than + target_write_memory, to get error checking. + + * stack.c (locals_info, catch_info, args_info, + get_selected_block, frame_command, up_command): Use + target_has_stack, rather than have_inferior_p or + have_core_file_p. + + * sun3-xdep.c (fetch_core_registers): Rewrite for new BFD regime. + + * symfile.h: New file, defining the interface between the + generic and object-file-specific symbol reading code. + + * symtab.c: Move generic symbol-reading interface to symtab.c, + from dbxread.c, coffread.c, mipsread.c, etc. Add symtab_fns + table to map BFD targets to symbol-reading modules in GDB. + Change index to strchr. + (lookup_struct_elt_type): Use error() rather than hand-made + simulations thereof. + (lookup_partial_symbol): Speedup slightly when length == 0. + (symbol_file_add): New function. + (symbol_file_command): Call it. + (symfile_open, symfile_init): New function. + (add_file_target_command, add_file_addr_command): moved from + dbxread.c. + + * target.c (target_command): use target_kill. + + * target.h (target_files_info): Don't declare, never called + from outside. + + * tm-sun2.h, tm-sun3.h (STACK_END_ADDR): Use system include + files to determine stack end address. + + * valarith.c (value_x_binop, value_x_unop): Change error message + to be more useful. Pass proper argument to value_struct_elt. + + * valops.c (value_assign): FIXME comment that long long + bitfields will break here. + + * Makefile.dist: Add symfile.h, remote-nindy.c, remote-eb.c. + Update `make saber_gdb' to work better. + + * TODO: A woman's work is never done. + + * cplus-dem.c, environ.c, inferior.h, infrun.c, inftarg.c, + main.c, obstack.c, printcmd.c, remote-eb.c, remote-nindy.c, + remote-vx.c, remote.c, solib.c, source.c, sparc-pinsn.c, + sparc-tdep.c, sparc-xdep.c, symmisc.c, symtab.c, symtab.h + target.c, terminal.h, tm-sparc.h, tm-sunos.h, utils.c, + valops.c, valprint.c, exec.c: Lint. + + +Wed Dec 12 23:44:15 1990 John Gilmore (gnu at cygnus.com) + + Continuing Intel 960 port merge of GDB. + + * Makefile.dist: Merge i960 "nindy-share" files. Rename + malloc.h to gmalloc.h to avoid name conflicts in /usr/include. + Don't ship gdb.dvi in tar file. Link gdb with init.o, not init.c. + Wack over "make depend" so it handles files in subdirectories + vx-share, nindy-share, bfd, and in the current directory. + + * blockframe.c (get_prev_frame_info): Remove fatal error + if stack not defined. + + * core.c (core_open, core_detach): New functions that handle + the old "core-file" command as "target core" and "detach" instead. + (core_file_command): Call them. + (core_xfer_memory): Use common routine xfer_memory. + + * dbxread.c: Include a.out.gnu.h, not system a.out.h. + dbxread now uses bfd for everything but symbol reading itself. + BFD internals are used to drag out the relevant file offsets. + (partial_symbol_file_open): Change args all around for BFD. + + * symtab.c: Rename "value" to "val" everywhere, so we can + #include "value.h". + (symbol_file_command): New command, moved from dbxread.c + and coffread.c. It uses BFD to read the file, then vectors + based on its type, to dbx or coff symbol readers. + * symtab.h: Extern a few vars for symbol_file_command. + + * target.h: Breakpoint takes a char * save area, not a char **. + + * valprint.c (val_print): When unpacking bitfields, offset + the address in gdb of the value, if it is declared with a shorter + type. Remove the last "runtime kludge test" of host byte order. + + * utils.c: Remove old my_bfd_read routine. + + * stack.c (frame_info): Use target_has_stack. Print program counter + register's actual name rather than "pc", since it's called the + "ip" (instruction pointer) on the i960 (sigh). + + * target.c (target_command): Add command for selecting a target + type and calling its open routine. This is used for initiating + communication with a particular target, in a generic way. + + * tm-i960.h: Update for modern gdb. Remove semicolons from + various macros. Handle reading struct return convention, and + error-out attempts to return structs with the "return" command. + Be sure gdb doesn't think we know how to call functions in the + inferior. + + * i960-tdep.c: Rename FRAME_CHAIN_VALID and FRAME_FIND_SAVED_REGS + to i960_xxx in lower case. + (arg_address): Circumvent errors due to LOC_ARG_BLOCK + not being defined yet. + + * remote.c (remote_open): Call start_remote to initialize + wait_for_inferior during open. + (remote_xfer_inferior_memory): Return length written rather + than errno value. + + * remote-vx.c (target_command -> vx_open): Use new generic + target command. + * remote-eb.c, inftarg.c, exec.c: ditto. + + * infrun.c: Fix comments. + (attach_program -> child_open): Use new generic target command. + (wait_for_inferior): Clear saved register values before target_wait, + so target_wait can set some of them if convenient. + + * infptrace.c (fetch_inferior_registers, store_inferior_registers): + Return success indicator, not void. + (child_xfer_memory): Avoid fetching initial word if we'll + overwrite it anyway. + + * infcmd.c (attach_command): Use new generic target open routine. + (_initialize_infcmd): Update doc on attach and detach commands. + (do_registers_info): Merge in a byte-order problem as a FIXME + comment. + + * findvar.c (find_saved_register): Avoid problem in current frame. + (read_relative_register): Ditto. + (write_register): Convert byte order on the way out. + + * exec.c (file_command): Add. + (add_to_section_table, exec_command): Use new bfd_map_over_sections. + (xfer_memory): Common function between core_xfer_memory and + exec_xfer_memory. + (exec_xfer_memory): Use it. + + * pn-opcode.h: Document that a "PN" is a Gould PowerNode. + + * breakpoint.c, breakpoint.h, symtab.h, value.h, frame.h, utils.c, + valops.c, stack.c, target.c, sparc-xdep.c, source.c, printcmd.c, + infcmd.c, i960-pinsn.c, eval.c, defs.h: lint and gcc -Wall. + +Sun Dec 2 16:45:06 1990 John Gilmore (gnu at cygnus.com) + + Merge Intel 960 port of gdb, continuing... + + * dbxread.c (partial_symbol_file_open, partial_symbol_file_read, + symbol_file_command): Pass from_tty arg to hush 'em up. + + * coffread.c (symbol_file_command): Avoid output if from_tty != 1. + Add magic numbers for 960 COFF format. + +Fri Nov 30 09:18:20 1990 John Gilmore (gnu at cygnus.com) + + Merge Intel 960 port of gdb, from Intel "1.2" release. + + CHANGE_LOG entries from their port, which was based on + gdb+-2.8.0: + + Thu Sep 6 11:02:22 PDT 1990 + Remove temp file if download is interrupted. + + Wed Aug 1 09:08:33 PDT 1990 + Now uses binary protocol to talk to NINDY. + Old hex protocol (NINDY 2.13 and older) supported with -O switch. + Times out after 5 seconds when trying to talk to NINDY. + + Tue May 29 12:54:49 PDT 1990 + Added variable baud rate (-b switch). + Source code reorganization. + + Thu Apr 26 11:09:55 PDT 1990 + More cleanup of batch mode; specifically, execute "-s", "-e", and + "-se" switches as soon as they are encountered on the invocation line. + + Fri Apr 20 13:47:15 PDT 1990 + Add -brk switch. + + Thu Apr 19 09:54:28 PDT 1990 + Add 'reset' command. + + Wed Apr 18 09:48:07 PDT 1990 + After opening remote tty, wait for 1 second to go by without input + from it before trying to talk to NINDY (fixes problems with the + Heurikon HK80/V960E). + + Mon Apr 4 16:33:05 PDT 1990 + Some output was not being suppressed in 'batch' mode. + + Thu Mar 22 15:31:11 PST 1990 + Ask user if old symbol table should be deleted when new file is + downloaded. + + Allow user to run a program downloaded before gdb960 was brought up. + + Correct "exec-file" help message for i80960 context. + + Correct bug in calculating user space address: could occasionally + corrupt user program. + + Make sure to zero low-order bits in rip's because of bug in 960CA + A-step part: could cause operation faults when "next"ing across + a function call. + + Correct bug that made it impossible to get source line numbers for + code loaded at addresses higher than 0x7fffffff. + + Wed Jan 10 12:43:22 PST 1990 + Open remote tty for exclusive use. + + Fri Jan 5 12:14:42 PST 1990 + Correct disassembly (CA manual was right after all): + opcode for sysctl is 0x659 + + Mon Oct 23 12:03:04 PDT 1989 + Use G960BASE and G960BIN environment variables to find 'sx' utility. + + Mon Oct 16 14:15:09 PDT 1989 + "sfr0"-"sfr31" should have been named "sf0"-"sf31" + + Mon Oct 2 15:56:31 PDT 1989 + + Added 960CA disassembly support. + + To simplify maintenance: + - eliminated use of symblic links on pinsn.c: use i960-pinsn.c + directly instead. + - eliminated opcode.h: incorporates tables into i960-pinsn.c + - moved 960-specific routines from i960-pinsn.c to i960-md.c + - made disassembly interface identical to that in gdmp960. + + + +Wed Nov 28 21:32:48 1990 John Gilmore (gnu at cygint) + + * target.h: Allow targets to stack. Add target_has_memory, + _registers, etc. Restructure memory access and "info files" + to walk the target stack. + * exec.c, core.c, inftarg.c, remote.c, remote-vx.c, remote-eb.c, + target.c: Change tables to match target.h. + * inflow.c (child_mourn_inferior): pop child_ops. + (generic_mourn_inferior): Use new has_stack flag. + * infptrace.c (child_xfer_memory): New memory regime. + * inftarg.c (child_files_info): New "info files" regime. + * remote-eb.c: New memory regime, new info files. + * remote-vx.c: New memory regime, new info files. Now use + separate targets for VxWorks attachment to machine, and + actually running a process under VxWorks, since one has + stack & execution & regs and the other doesn't. + * remote.c: New memory regime, new info files. + * sparc-xdep.c (fetch_core-registers): New memory regime. + * target.c: New routines and support for stacked targets, + new memory regime, new info files regime. + + + Generalize section handling for an arbitrary number of sections, + including use of the new BFD (binary file) library. + * gdbcore.h: Add struct section_table. + * exec.c (build_section_table): Iterate all sections and + record what gdb needs to know about them. + (exec_command): Use it. + (exec_xfer_memory): Use the table. + (exec_files_info): Print the table. + * core.c (core_file_command, core_xfer_memory, core_files_info): + Likewise. + * source.c (find_source_lines): Use bfd_get_mtime. + * dbxread.c: Quick changes to make it compile with new BFD. + * utils.c (error): Avoid using bfd_error in generic routines. + + * core.c (core_fetch_registers): Get from the ".regs" section of + the BFD core file. + * sparc-xdep.c (fetch_core_registers): Use the .regs info. + + * inferior.h (attach_flag): Export. + * infcmd.c (run_command): use new target_create_inferior. + * infrun.c (child_create_inferior): Don't return result. + * Makefile.dist (VERSION): 3.91.4. + +Fri Nov 23 28:15:38 1990 John Gilmore (gnu at cygint) + + * breakpoint.c (bpstat_num): Handle breakpoints which have + since been deleted, such as temporary breakpoints. + infcmd.c (program_info): ditto. + + * core.c (core_file_command): Display the frame where the core + dump occurred. + + * main.c: lint. + + * remote-vx.c (target_command): Merge in target command from + targ-vx.c. A few other cleanups. + + * TODO, Projects: Lots more stuff to do... + +Fri Nov 23 18:15:38 1990 John Gilmore (gnu at cygint) + + Massive changes to wall off the remote-debugging interface + behind a function vector. The port to handle VxWorks targets + is also part of this. + + All files: Replace references to renamed functions, + remove references to remote_debugging, remove references to + have_include_file, have_core_file in favor of target_has_stack, + target_has_memory, etc. + + * Modularize the breakpoint interface. + breakpoint.h (BREAKPOINT_MAX): New define sets max length of + a breakpoint instruction. + breakpoint.c: struct breakpoint's shadow_contents now sized as + BREAKPOINT_MAX. + (insert_breakpoints): Vector to target to install breakpoints. + (remove_breakpoints): Vector to target here too. + Remove REMOTE_SA_SPARC kludges and other remote_debugging. + sparc-tdep.c (single_step): Use new breakpoint interface for + the single-step breakpoints. + mem-break.c (memory_insert_breakpoint, memory_remove_breakpoint): + New file, contains routines to insert and remove breakpoints by + reading out the old contents and later replacing them. This is + how ptrace breakpoints work, and many remote systems as well. + + * tm-vxworks68.h: New config file, overrides a few things for + Wind River's preferences. + + * target.h: New file, for transfer vector used to talk to the + inferior (child, attached, core, exec, remote, etc). All accesses + to the thing being debugged should come through these vectors. + target.c: New file, routines to handle transfer vector. + (various files): Add transfer vectors XXX_ops for the various + targets and pseudo-targets (core files, etc) we support. + + * breakpoint.c (bpstat_stop_status): Further explorations of + watchpoints and why things don't work all the time. + (bpstat_alloc): New fn to allocate a bpstat and chain it. + + * config.gdb: Only add "source ${srcdir}/.gdbinit" to + the local gdbinit if it doesn't already have it. + + * core.c (core_ops): add and install. + Allow core debugging without exec file. + + * dbxread.c (free_and_init_header_files): Merge two fns. + (end_symtab): Free named symbol table when a new version comes in. + (read_dbx_symtab): Relocate all kinds of symbols with base + address. First step toward handling different text, data, bss + reloc. + (add_file_addr_command): Renamed add_file_command. + (add_file_command): Vector to remote handler. + Add "load" as an alias for "add-file" command. + + * defs.h: Allow "volatile" to be used in non-ANSI; use it for + non-returning functions. + + * exec.c: Add exec_ops, and push it as a target when an exec + file is specified. + + * infcmd.c (run_command): Pass executable file name and arg list + separately when starting an inferior. Permit "run" when no exec + file is specified, for VxWorks. + (detach_command): Move to child_detach in inftarg.c. + + * inftarg.c: New file. Unix-child-specific routines, and the + child_ops structure. + + * inferior.h (registers): Export "registers" as the way for + target dependent register handlers to find gdb's local copy of + the registers. Rename "stop_after_attach" to "stop_soon_quietly" + since it is now used by places that want wait_for_inferior to + handle the grunge but want to see every trap from the inferior. + + * inflow.c (create_inferior): Pull out, and merge into infrun.c. + Eliminate remote_debugging hooks in terminal handling. + + * infrun.c: Replace start_inferior with child_create_inferior. + Move all the hair of Unix shells and ptrace idiosyncracies into + child_create_inferior, so remote handlers don't have to deal. + Remove running_in_shell. Rename stop_after_attach to + stop_soon_quietly, and use it in a few other places where we want + to just call wait_for_inferior and get control back on the first + trap. trap_expected now never takes a value > 1. + (init_wait_for_inferior): Initialize static vars when a new + process is created. + + main.c (gdbinit): Add new hook for .gdbinit file name, let + it be overridden by config files as GDBINIT_FILENAME. + (DEFAULT_PROMPT): Add new hook for overriding (gdb) prompt. + Both of these are used for VxWorks gdb. + + mcheck.c: rename include file "gmalloc.c" to avoid problems + with system include file "malloc.c". + + param-no-tm.h: New include file, same as param.h but does not + include the default "tm.h" file. This is used in files where + the target is known, e.g. remote-eb.c or sparc-xdep.c. + + param.h: Now just a shell that includes tm.h and param-no-tm.h. + + remote-vx.c: New file, VxWorks remote debugging support. Uses + RPC routines that are shared with the target system, in directory + ${srcdir}/vx-share. + + remote.c: Vectorize remote interface. + + source.c: Globalize source_path, and make an alias "l" for "list" + since we now have the "load" command. + + sparc-xdep.c: Use new param-no-tm.h. + + symmisc.c (free_named_symtab): Add new function from Wind River. + However, ifdef it out for now while we think about what it should + really be doing. + + tm-sun3.h, xm-sparc.h, xm-sun3.h, xm-symmetry.h: Move + PREPARE_TO_STORE to + the xm- file, and change its name to CHILD_PREPARE_TO_STORE, since + non-Unix-children handle this with their own code in the target + transfer vector. + + Makefile.dist: Roll version to 3.92.3. Add vx-share stuff to + source and target lists. Add vx-share to default list of include + directories. Add new files to src and target lists: mem-break, + target, inftarg, remote-eb, remote-vx, targ-vx. Be sure the + ${srcdir} versions of munch and createtags are used. + + * valops.c (find_function_addr): Split out of call_function. + (call_function_by_hand): Rename call_function; this function + calls functions in the target by laboriously patching the target + word-by-word with the right stack, args, regs, etc. + + +Mon Nov 5 17:29:10 1990 John Gilmore (gnu at cygint) + + Handle AMD 29000 a bit better. + + * remote-eb.c (readchar): Mask received char log to make it readable. + (remote_start): Pass arguments down to executing program. + Make startaddr unsigned. + infrun.c (start_inferior): Accept args, pass them to + remote_start. + infcmd.c (run_command): Pass args down to start_inferior. + + * tconfig/am29k-aout, tconfig/am29k-coff: New files specifying + the target object file format. + tm-29k.h: Pay heed to COFF_ENCAPSULATE. + + * am29k-pinsn.c (print_insn): Print 0x on hex numbers in disassembly. + am29k-tdep.c (examine_prologue): Better checking of function prefixes. + +Sun Oct 7 18:20:45 1990 John Gilmore (gnu at cygint) + + * Makefile.dist (VERSION): Roll version to 3.91.9 and freeze. + * TODO: We did a few things, we have more to do though. + + * xm-sparc.h (CLEAR_DEFERRED_STORES): Define. + * inflow.c (inferior_died): Clear deferred stores. + + * Debug problems with dummy frames and calls to the inferior. + * tm-sparc.h (PUSH_DUMMY_FRAME, POP_FRAME): Move to sparc-tdep.c. + * sparc-tdep.c (do_restore_insn): Simplify. + (sparc_frame_find_saved_regs): Simplify and fix what we find. + (sparc_push_dummy_frame): Simplify and fix what we push. + (sparc_pop_frame): Slightly more hair here, deciding whether + we are restoring a saved PC or returning to a return address in %i7. + * sparc-xdep.c (read_inferior_registers): Debug if valid reg is read. + + * utils.c (xmalloc, xrealloc): Return type depends on __STDC__. + * symtab.h (xmalloc): ditto, for obstack_chunk_alloc. + * obstack.h (chunkfun): ditto. + * defs.h (xmalloc, xrealloc): ditto + + * utils.c (quit): Grab the terminal from the child if necessary. + + * inflow.c (term_status_command): Rename to term_info, change + to "info terminal". + + * sparc-pinsn.c (print_insn): Disassembly prefers real instructions. + (is_delayed_branch): Speed up. + * sparc-opcode.h: Add ALIAS bit to aliases. Fix up opcode tables. + Still missing some float ops, and needs testing. + + * Support for input and output radixes other than base 10 + * defs.h (input_radix, output_radix): Declare. + * expread.y (yyparse, parse_number): Handle changes of input + radix, and ambiguous names-or-numbers in radixes >10. + * printcmd.c (print_scalar_formatted): Print formatted hex + numbers in varying column widths. + * valprint.c (val_print): Use output_format to print scalar ints. + (set_input_radix, set_output_radix, set_radix): Create. + (set_output_radix): Set output_format from output_radix. + (_initialize_valprint): add `set radix' but leave the others off. + + * main.c (execute_command): Let stupid questions be turned off. + (_initialize_main): Handle "set stupidity", etc. + + * main.c, inflow.c, inferior.h, frame.h, command.c, defs.h, + sparc-pinsn.c, sparc-xdep.c, value.h, valops.c, values.c: Lint. + +Tue Oct 2 11:20:02 1990 John Gilmore (gnu at cygint) + + * TODO, Makefile.dist, ChangeLog: Freeze for 3.91.8 release. + bfd stuff is still screwed up, but with some manual work, it + compiles. + + * breakpoint.c (bpstat_do_actions): Start over if a command + proceeds the inferior, since the inferior will have stopped and + will need to have its new stop-actions taken care of. + + * dbxread.c (read_struct_type): Expression gives Sun3 4.0.3 + compiler fits, simplify it. + + * gdb.texinfo (directory command): Doc new dir command. + source.c (directory_command): "dir" now puts things on the front + of the path, moves dups up front, and handles multiple names + on the command line, inserting each one in order. It also + blows away cached line and full_filename info. + + * stack.c (backtrace_command): Skip "more stack frames follow" + unless interactive. + + * Change #ifndef HAVE_VPRINTF to #define MISSING_VPRINTF in + xm-convex.h, xm-hp300bsd.h, xm-isi.h, xm-merlin.h, xm-news.h, + xm-np1.h, xm-pn.h, xm-pyr.h, xm-symmetry.h, xm-umax.h, xm-vax.h. + The only odd one was Gould NP1, which had defined vprintf to + "printf"!!! + + * Merge Ted Goldstein <tedg@Eng.sun.com>'s changes for epoch. + printcmd.c (print_command_1): Pass 'inspect' flag down as a global + variable, inspect_it. + valprint.c (print_string, val_print): Use the global inspect_it + to indicate whether to print in Epoch style or normal style. + +Mon Oct 1 23:55:26 1990 John Gilmore (gnu at cygint) + + * printcmd.c (call_command): add an alias for the "print" command + which runs expressions and doesn't print the result if void. + (print_command_1): implement it. + + * command.c: Remove #if 0'd code. Initialize all the fields + in add_cmd (). Rename do_nothing_command to + not_just_help_class_command, and make it externally visible. + command.h: add user_commands to struct. + * main.c (define_command): Don't overload c->function with a char + string as well as a function pointer. + + * eval.c (evaluate_subexp): Reinstall tiemann changes to + calling convention of value_struct_elt () that got dropped in + merge. + + * tm-sparc.h (FRAME_FIND_SAVED_REGS): move to sparc-xdep.c. + sparc-tdep.c (sparc_frame_find_saved_regs): ditto. + + * tm-sparc.h (POP_FRAME): replace some constants with defines. + + * sparc-xdep.c (store_inferior_registers): defer stores to regs + until a good time (e.g. when we are about to run the child), + saving ptrace calls. + * infrun.c (proceed): handle DO_DEFERRED_STORES. + * tm-sparc.h: define DO_DEFERRED_STORES. + + * sparc-xdep.c (store_inferior_registers): when storing float + registers, don't store stack regs too. When storing the SP, + however, DO store the stack regs too. This fixes a bug in which + the dummy frame is not recognized when a call_function finishes, + because its frame pointer (in the stack regs) was never + initialized. + (read_inferior_registers): Mark WIM and TBR and FPS and CPS valid + even though we don't know how to read them from an inferior. + valops.c (call_function): Comment about storing SP. + + * infrun.c (save_inferior_status): Save away the original bpstat + chain so it can be restored later. Install the copied version for + use by whoever saved the status. It will be blow away by + restore_inferior_status, and the original chain restored. This is + important for people who have pointers into the original. + + * breakpoint.c, command.h, copying.awk, dbxread.c, defs.h, + findvar.c, frame.h, obstack.h, obstack.c, inflow.c, value.h, + main.c, printcmd.c, sparc-tdep.c, symtab.c, valprint.c: lint + + +Fri Sep 28 20:32:46 1990 John Gilmore (gnu at cygnus.com) + + * Makefile.dist: Roll version to 3.91.8. Add bfd.h and bfdconfig.h + temporarily to the makefile. Add am29k-opcode.h and WHATS.NEW. + Add stuff.c and kdb-start.c to the OTHERS list for tar files. + +Fri Sep 28 19:12:12 1990 John Gilmore (gnu at cygint) + + * Merge Mike Tiemann's multiple inheritance changes from Sun. + Store the baseclasses in a type struct starting from array element + 0 rather than from the unusual array element 1. + + dbxread.c: the above. + (virtual_context): Add + Read new debug information about which virtual function table + a virtual function is from, and store it in fn_field.fcontext. + + symtab.h: Add fcontextt. Fix baseclass indices. Typo in + TYPE_FN_FIELD_STATIC_P. + + symtab.c: the above. + valops.c: the above. Handle pointer casts of object *'s. + (search_struct_method): Add. + (value_struct_elt): First arg is now a pointer to a value, and is + modified on return. + + valprint.c: the above. + values.c (value_virtual_fn_field): Add type arg. Handle + offsetting to the proper object when calling virtual fns. + The above. + (baseclass_addr): Add valuep arg. + + * README: Document the current state of BFD config (missing). + * TODO, ChangeLog, Makefile.dist: Roll version. + * WHATS.NEW: Add summary of changes since 3.5. + +Thu Sep 27 16:23:12 1990 John Gilmore (gnu at cygint) + + * dbxread.c (read_struct_type): Clear bit vectors whenever + we allocate one. + symtab.c (B_CLRALL): define. + + * tm-sparc.h (STORE_RETURN_VALUE): Avoid clobbering types by + using == rather than =. Huh... This fixes the dreaded problem + wherein builtin_type_int becomes TYPE_CODE_FLT. + + * core.c (info_files): Show the inferior pid. + + * config.gdb: Avoid putting "dir" command into .gdbinit. GDB + already knows how to look in the source directory. + + * Remove psymtab hair from many places. Remove duplicated code + for searching symbol tables. Hide psymtabs from most places. + Make it fast to get from a psymtab to its symtab. + + blockframe.c (blockvector_for_pc): Remove psymtab hair. + coffread.c (psymtab_to_symtab): Rename to psymtab_to_symtab2. + mipsread.c (psymtab_to_symtab): Rename to psymtab_to_symtab2. + dbxread.c: export psymtab_to_symtab, make it work if called N times. + (psymtab_to_symtab): Rename to psymtab_to_symtab2. Initialize + new symtab completely. New psymtabs get symtab pointer + initialized to zero. Remove MI warning printf. + symtab.h: Comments. Add psymtab to symtab pointer. + (PSYMTAB_TO_SYMTAB): New macro. + symtab.c: use PSYMTAB_TO_SYMTAB. Add psymtab_to_symtab and export it. + source.c: use PSYMTAB_TO_SYMTAB. Remove symtab version and + compilation fields. + stack.c (backtrace_command): Avoid pre-pass to read symbols, if + verbose is not set. + (print_frame_info): Avoid special-casing symbols that have not yet + been read in. + + * source.c (open_source_file): Quick path if we have already + located the source file by its full name. + + * symtab.c (lookup_symbol): Use find_pc_symtab rather than + find_pc_psymtab. When a name is found in the misc function + vector, search the symbol table for its mangled name, not the + name that the user typed. + + * bfd.h: Fix missing comment terminators, make #endifs match. + + * valarith.c (value_less): Handle unsigned int comparisons. + Add FIXME about pointer compares, which assume host and target + pointers are the same. + + * command.c (do_nothing_command): lint + dbxread.c: lint. Remove sort_syms. Document C++ visibility info, + fix comments on debug symbol format for visibility. Actually set + visibility of symbols. + main.c (echo_command): lint; use <readline/history.h>. + tm-sparc.h (FRAME_FIND_SAVED_REGS): lint + obstack.h (_obstack_blank): Rearrange pointer math to avoid + pointing past end of allocated memory; saber complains. + obstack.h: Declare the external functions that we use. + valarith.h: use <string.h> + solib.c (solib_add): lint. + +Fri Sep 21 17:05:19 1990 John Gilmore (gnu at cygint) + + * main.c (initialize_main): Default info_verbose to off, now that + symbol reading is fast. + (quit_command): Avoid clobbering exec_bfd while quitting. + + * Initial BFD (binary file diddling library) merger: + coffread.c: Change AOUTHDR to struct exe_hdr. + dbxread.c: ditto. + core.c: initialize initialized data at compile time. + (core_file_command): Move from coredep.c, convert to bfd. + (xfer_core_file): Convert to bfd. + exec.c (exec_file_command): use bfd routines. + gdbcore.h: BFD. + mips-tdep.c: Remove exec_file_command and friends. + source.c: bfd. + + * coredep.c: (fetch_core_registers) Convert core_file_command to + fetch_core_registers. + mips-xdep.c, sparc-xdep.c, sun3-xdep.c: ditto. + + * utils.c: (error): Bogus crap, FIXME, to print bfd errors. + (my_bfd_read): More bogosity, which I don't think we call. + (program_name): Remove this atrocity asap! + +Wed Sep 19 13:36:41 1990 John Gilmore (gnu at cygint) + + * From Per Bothner: + values.c: allocate_repeat_value was not clearing the + optimized_out field. + (value_static_field): minor stylistic fix (wrong macro was used). + valops.c (value_struct_elt_for_address): didn't work for C++ + static fields. + + * signame.c (_initialize_signame): Initialize signal names once. + + * breakpoint.h, command.c, copying.awk, defs.h, environ.c, + exec.c, frame.h, infcmd.c, inferior.h, main.c, munch, sun3-xdep.c, + symtab.h, tm-29k.h, valprint.c, value.h, values.c: Lint. + + * remote-eb.c: Support user-settable baud rates on the serial port. + + * tm-sun3.h (PREPARE_TO_STORE): fix typo. + +Fri Sep 14 13:28:29 1990 John Gilmore (gnu at cygint) + + * tconfig/sun3os4: Remove warning about native assembler, + since it also occurs in the xconfig file. + + * findvar.c (registers): Allocate some slop after `registers' + to prevent stray accesses from trashing the next variable. + + * tm-68k.h (REGISTER_BYTES): Allocate the right number of bytes + on the sun-3, by changing the #ifdef from `sun3' (which is not + defined by cc) to `sun'. Symptom was trashed builtin_type_XXX + vars, which happened to follow `registers' in the executable. + + * readline/history.c (history_search): Heed gcc-2's advice + and parenthesize && inside ||). + + * am29k-opcode.h, am29k-pinsn.c, am29k-tdep.c, remote-eb.c, + tm-29k.c: Insert FSF copyright headers. + + * remote-eb.c: Better comments. + + * Makefile.dist: Update to 3.91.6. + * TODO: note PREPARE_TO_STORE problem. + +Thu Sep 13 09:52:33 1990 Jim Kingdon (kingdon at cygint) + + * stack.c (frame_info): Only use FRAME_FIND_SAVED_REGS if defined. + + * remote.c: Wrap the whole file in #if !defined (SPECIAL_REMOTE). + + * infrun.c (wait_for_inferior, at end): Don't set up + prev_* if the inferior no longer exists. + + * inferior.h (CALL_DUMMY_LOCATION): New macro, to replace + CANNOT_EXECUTE_STACK. + valops.c (call_function): Use it. + + * tm-convex.h: Add CALL_DUMMY_LENGTH for use by PC_IN_CALL_DUMMY. + + * inferior.h (PC_IN_CALL_DUMMY): New macro. + infrun.c (wait_for_inferior, 2 places): Use it. + + * values.c (value_being_returned): Only use + EXTRACT_STRUCT_VALUE_ADDRESS if defined. + + * Move PREPARE_TO_STORE from xm-sun3.h to tm-sun3.h to do the + right thing for remote-eb.c. + + * sun3-xdep.c: Remove extraneous call to remote_store_registers. + * sun386-xdep.c, hp300hpux-xdep.c, sparc-xdep.c: Ditto. + + * blockframe.c: Put get_frame_saved_regs inside #if !defined + (FRAME_FIND_SAVED_REGS). + + * findvar.c ({fetch,store}_registers): Check for + REMOTE_{FETCH_STORE}_REGISTER macro. + + * findvar.c (get_saved_register): Add argument lval and + change meaning of argument addr. + findvar.c: Change calls to get_saved_register to reflect + new calling convention. + valops.c (value_assign): Use get_saved_register instead of + find_saved_register. + +Sun Sep 2 12:40:20 1990 Jim Kingdon (kingdon at cygint.cygnus.com) + + * coffread.c (read_one_sym): Make temp_aux an AUXENT, not + an (uninitialized) pointer to one. Use "&" when passing it + to fread. + +Fri Aug 31 22:57:54 1990 Jim Kingdon (kingdon at cygint.cygnus.com) + + * coffread.c (getfilename): Use DGUX x_offset and x_name if + defined. + + * coffread.c (symbol_file_command): Put semicolon after + "int from_tty". + Put safe_to_init_tdesc_context in #if defined (TDESC). + Put #ifdef TDESCs in 1st column for non-ANSI cpp's. + coffread.c: #include <sys/stat.h>. + (read_coff_symtab): Typo: in_source_files -> in_source_file. + Add missing ')' in check for "lc%" and friends. Remove + extraneous '}'. + Declare read_one_sym() at top of file. + (read_file_hdr): Put in extra #ifdefs so MC68MAGIC and + MC68WRMAGIC can have the same value without causing a duplicate + case. + +Thu Sep 13 15:55:36 1990 John Gilmore (gnu at cygint) + + * Allow a Makefile to be built without building the + tm and xm file links that screw up builds in subdirectories. + This is done with `config.gdb none', then you can do things + like `make gdb.tar.Z'. + * tconfig/none: Config file for no target system + * xconfig/none: Config file for no host system + * config.gdb: If no TM or XM files are called out by the + host or target file, don't make links for them. + + * cplus-dem.c: Add documentation. + + * dbxread.c (read_ofile_symtab): Turn a fatal error into a + simple error, so the user's gdb doesn't crash due to some object + file problem (e.g. somebody is rebuilding the file out from under + gdb). + + * printcmd.c (print_address_symbolic): demangle the symbol. + + * Makefile.dist (OTHERS): Remove tdesc-lib because it has + Motorola copyrights in it. Make "make gdb.tar.Z" work. + (alldeps.mak): sort and uniq all results from this; duplicates + hose gdb.tar.Z link building. Remove RCS files from + tconfig and xconfig. Add config files for sun386. Add + a few odd files to OTHERS and HFILES. + +Mon Sep 10 21:20:24 1990 John Gilmore (gnu at cygint) + + * Makefile.dist: Pull solib.c to tconfig/sun?os4. + Roll version number to 3.91.5. Make lint work in bindir. + + * README: Document cross-debugging and new file structure. + + * blockframe.c: Lint. Include "value.h" to declare read_register. + (find_pc_partial_function): remove duplicate line. + + * command.h: Lint. Declare error_no_arg and dont_repeat. + + * tm-news.h: Remove inadvertently duplicated stuff. + + * mipsread.c: Remove cache_pc_function stuff, now done cleanly. + Clean up usage of misc_function_type. Declare some CORE_ADDRs. + + * config.gdb: Allow `config.gdb host target' form. Clean + up previous change that printed bogus messages when you just said + `config.gdb'. + + * core.c: #include "command.h" for lint. + * dbxread.c: lint + * eval.c: lint + * main.c: Remove some casts of enums. Lint. + * source.c: lint + * symtab.c: lint + * symtab.h: lint + * expread.y: lint + * valarith.c: lint + + * printcmd.c (initialize_printcmd): Fix thinko in inspect cmd. + + * sparc-tdep.c (isannulled): Take instruction as parameter, don't + read it from memory. This will allow us to save ptrace calls + eventually. Changed caller single_step too. + + * sparc-xdep.c (fetch_inferior_registers): Avoid reading regs + that we aren't going to use, saving many ptrace calls, especially + when watchpointing or single stepping. Use some #define's for + constants. + (store_inferior_registers): Ditto. + (core_file_command): Use some #define's for constants. + + * tm-sparc.h: Add #define's for some register numbers, so we + can eliminate the use of random constants in sparc-xdep.c. + + * stack.c (frame_command, print_frame_info, up_command, + down_command) Remove frame_changed, since it + causes a bug and doesn't seem to do anything useful. In some + places it was used as a flag, in others as a stack level (?). + + * utils.c: Use MISSING_VPRINTF rather than HAVE_VPRINTF, so the + default is to use the portable (vprintf) version rather than the + kludge version. + * xm-news.h (MISSING_VPRINTF): Add. + + * valprint.c (val_print): Demangle fancy vtbl printouts. Lint. + +Sat Sep 8 00:24:12 1990 John Gilmore (gnu at cygint) + + * Remove stuff that forces -Bstatic linking of gdb, and warnings + about linking debugged programs -Bstatic in the sun?os4 config + files in tconfig and xconfig subdirectories. + + * main.c (main): Remove unreached exit(0) now that we exit + via quit_command(). + + * Create TODO file for online bug list. There are too many + "little" bugs to keep track of on paper. + + * Change Projects file to refer to bug-gdb@cygnus.com + rather than kingdon@ai. + +Fri Sep 7 23:35:15 1990 John Gilmore (gnu at cygint) + + * Makefile.dist (VERSION): 3.91.4 now. + + * symtab.c (init_misc_bunches): Rename from init_misc_functions. + (condense_misc_bunches): Add sanity check that misc_count is + the same as the number of symbols in the bunch. + + * coffread.c: rename init_misc_bunches. Pass an argument + to condense_misc_bunches (a zero). + + * dbxread.c (partial_symbol_file_read): Call init_misc_bunches + every time we are called; don't rely on our caller to do it. + (add_file): Remove call to init_misc_bunches. + + * mipsread.c: Only warn, don't error, if unknown symbol types. + This keeps an old gdb from falling on its face if it sees newly + extended symbol info. Rename init_misc_bunches. + +Fri Sep 7 22:58:15 1990 John Gilmore (gnu at cygint) + + * Merge in changes from Per Bothner for DECstations and other + MIPS stuff. The rest is Bothner speaking: + + The next message is a merger of Alessando Forin's mips port with + mine. I've tried to use my good if biased judgment to get + the best of both. It *does* need testing. + + Some of the changes are general, *not* mips-specific. + + param.h: + Didn't believe in little-endian bit order. + There are still inconsistencies about whether flags + like BITS_BIG_ENDIAN are integer (#if ...) or + boolean (#ifdef ...). I tried to paper over them. + + dbxread.c,coffread.c,mipsread.c,symtab.c,symtab.h: + Moved some misc_function code that was common to + {dbx,coff,mips}read.c to symtab.c. + In the process, I think I cleaned things up a bit. + At the same time, moved obsavestring and obconcat to symtab.c. + + dbxread.c: + Removed obsolete condense_addl_misc_bunches (use + condense_misc_bunches(1) instead). + + exec.c: + Needed to include <sys/dir>, at least on DECstations. + + valops.c, mips-tdep.c, tm-mips.h: + Added PUSH_ARGUMENTS macro to support funny argument-pushing + conventions (when STACK_ALIGN is insufficient). + Needed on mips, where doubles need 8-byte alignment, + but ints only need 4. + + mips-opcode.h: + Removed cruft that was not being used. + Merged in many fixes (most from Frank Yellin, fy@lucid.com). + + mips-pinsn.c: + Print $ before register-names (I think that makes things a little + more consistent). + Never print two instructions, even if one delays. + Removed hex-disassemble set_cmd. (This is not mips-specific, + so I think the argument is whether it is generally worthwhile or not. + I'm inclined to think not, given how easy it is to + convert between radixes in gdb.) + + mipsread.c: + This is basically Alessando's code. + It doesn't use obstacks; I changed it to use obstacks + in a few minor places where using malloc causes a + memory leak. (Probably, more places could/should be changed.) + I added record_misc_function where it was missing. + In symbol_file_command and add_file_command, I tried + to make the code consistent with more recent versions. + Minor sylistic changes in parse_procedure. + Make a .gdbinfo. psuedo-symbol point back to the real + procedure symbol (using the isym field). + + mips-tdep.c: + This is basically from my port, but with a lot of details + and a number of routines merged in from Alessando's version. + I basically used my code "raw" backtrace (use heuristics + from the actual code, rather than symbol table info) - though + the idea is Alessandro's. I feel my code is a little cleaner + here, particularly in being a little more flexible, such as being + able to handle gcc-produced code (which it now can). + It also doesn't do frame caching (which is not useful + more recent gdb versions). + I also used my code for push_/pop_dummy, more or less. + I tried to incorporate AF's code for testing sigtramp + while backtracing; I probably got it wrong. + Added mips_print_register, which tries to scrunch as much + information as possible on a screen... + Removed the skip-prologue set_cmd. As with hex-disassemble (see + under mips-pinsn.c), I don't see anything mips-specific here, + and I don't see it being all that useful anyway. + + tm-mips.h: + Added a $fp psuedo-reg distinct from $fp (nice for gcc). + Use more register names (rather than hard-cases numbers). + +Thu Sep 6 18:33:15 1990 John Gilmore (gnu at cygint) + + * Hack up 3.90.11 changes: + + * Makefile.dist (depend): parameterize $(GCC). + Add solib.c and solib.o. + (readline): Fix vpath for both absolute or relative SRCDIR. + + * blockframe.c: Fix from Schaefer@asc.slb.com for shared libs. + Also, let the part I didn't understand at least compile so + I can test the rest. FIXME. + + * dbxread.c: Fix thinko using strcmp. + (init_psymbol_list): declare static. + (partial_symbol_file_open): Comment cleanups better, avoid + cleaning up the string table since the caller will do that. + Move the stat for mod time into symbol_file_command, temporarily. + (There should be a mod time for each symbol file, eventually, + to control its rereading. FIXME.) + + * infptrace.c (PT_WRITE_D): use same value as PT_WRITE_I for + SunOS, which gives error for shared libs otherwise. (From + Schaefer, probably FIXME needs work for portability.) + + * solib.c: Move #include "param.h" to work. + Lowercase all the Uppercase Letters In the Messages. + (find_solib): Clean up inferior_so_name for debug printouts. + Allow no argument, to mean all shared libraries. + + * symmisc.c: include param.h to get CLEAR_SOLIB. + +Wed Sep 5 18:00:08 1990 John Gilmore (gnu at cygint) + + * Merge in Kingdon's changes from FSF: the diffs from 3.90.9 + to 3.90.11. ChangeLog entries below are from this. + +Wed Jun 13 09:17:39 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * Version 3.90.11. + + * Makefile.dist (HFILES): Add tm-sunos.h. + +Tue Jun 12 16:15:26 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.10. + + * Makefile.dist (gdb.tar.Z): Change linking of config so it works. + +Thu Jun 7 16:22:27 EDT 1990 Jay Fenlason (hack@ai.mit.edu) + + * sparc-opcode.h Added single-operand version of rett. + +Mon Jun 4 18:12:31 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * m-sparc.h (REG_STRUCT_HAS_ADDR, STRUCT_ARG_SYM_GARBAGE): + Put parens around gcc_p in expansion. + +Thu May 24 15:44:51 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * utils.c (lines_to_list): Return 10 if lines_per_page == 0. + +Wed May 23 16:36:04 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Changes for Sun shared libraries: + blockframe.c (find_pc_partial_function): If a non-text symbol + is found, set *address = pc - FUNCTION_START_OFFSET. + breakpoint.c (insert_breakpoints) [DISABLE_UNSETTABLE_BREAK]: + Disable breakpoints instead of giving an error. + source.c (select_source_symtab): Initialize cs_pst. + symmisc.c: Call CLEAR_SOLIB if defined. + symtab.h: Make text{low,high} CORE_ADDR not int. + (psymtab): New field addr. + solib.c: New file. + dbxread.c: Move DECLARE_FILE_HEADERS outside functions. + (record_misc_function): Give correct type for N_DATA symbols. + (condense_misc_bunches): do "misc_function_count = j" regardless + of inclink. + Take code which is shared between symbol_file_command and + add_file_command and put it into partial_symbol_file_{open,read}. + Split add_file_command into add_file_command and add_file. + Make psymtab_to_symtab read in the string table if the file + is not symfile. + Two new parameters to read_dbx_symtab and start_psymtab. + tm-sunos.h: New file. + +Tue May 22 17:43:03 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infcmd.c: Change cont_command to continue_command and "cont" + to "continue". + +Mon May 21 14:41:41 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c (enable_breakpoint): Get value of watchpoint. + + * defs.h [sparc]: Use <alloca.h> regardless of __GNUC__. + + * values.c (USE_STRUCT_CONVENTION): Check for structures of + size 1,2,4,8 rather than size < 8. + + * dbxread.c (dbx_lookup_type): Do f->length *= 2 as many times + as necessary, not just once. + + * sparc-opcode.h: Add a bunch of new opcodes which Sun as supports. + +Thu May 17 15:04:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * {t,x}m-sun386.h, sun386-xdep.c, {x,t}config/sun386 + + * tm-news.h: Add CALL_DUMMY_*. + + * tm-68k.h: Remove duplicate comment at FRAME_FIND_SAVED_REGS. + + * config.gdb: In list_host, list_target, use ${i}, not $i. + +Tue May 15 21:27:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * source.c (find_source_lines) [BROKEN_LARGE_ALLOCA]: Use xmalloc. + + * sparc-opcode.h: Change all store floating-point state register + instructions to have the right match & lose fields. + +Sat May 5 12:39:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist: Move -I${srcdir} to GLOBAL_CFLAGS and pass + VPATH to readline. + config.gdb: If srcdir != ., create readline directory and + copy a makefile into it. + + * wait.h, infrun.c: Change WRETCODE to WEXITSTATUS for + consistency with POSIX. + + * breakpoint.c (bpstat_stop_status): Disable watchpoint + when we exit its exp_valid_block. + +Tue Sep 4 11:46:46 1990 John Gilmore (gnu at cygint) + + * Makefile.dist: Bump version to 3.91.3. + + * Clean up handling of breakpoint commands (somewhat). + Prompted by Tiemann bug report "cont 10" doesn't work any more. + + inferior.h: Add breakpoint_proceeded to inferior status struct + and globals; save it and restore it. + (clear_breakpoint_commands): Cleanup, remove old #define. + + infrun.c (clear_proceed_status): Set breakpoint_proceeded. + (save_inferior_status, restore_inferior_status): handle it also. + (proceed): Remove earlier code that set breakpoint_proceeded. + It is now set only in clear_proceed_status. + (clear_proceed_status): Cleanup, use bpstat_clear rather + than clear_breakpoint_commands. No callers need the stop_bpstat + between clear_proceed_status and proceed. + + infcmd.c: Add breakpoint_proceeded definition and comment. + (cont_command, jump_command, signal_command): Move call to + clear_proceed_status right next to call to proceed. + + breakpoint.c (bpstat_do_actions): Avoid clobbering our + caller's argument while running down the chain of breakpoints. + Use new variable "breakpoint_proceeded" to determine when + a command that it executes moves the inferior past the + breakpoint. + (bpstat_clear): Handle NULL argument. + (bpstat_clear_actions): Avoid useless call to + breakpoint_auto_delete. + (delete_breakpoint): Clean up bpstat's that are pointing to + the deleted breakpoint from the stop_bpstat chain. + (breakpoint_auto_delete): Simplify. + + * Clean up handling of EOF, error on stdin, etc. This was + prompted by a network problem that caused gdb to go into an + infinite loop filling up its malloc'd memory. + + main.c (return_to_top_level): Cleanup: call bpstat_clear_actions, + not clear_breakpoints_commands, which is now gone. + (main): If command_loop returns (e.g. from EOF on stdin), do + a quit_command (looping back to command_loop if quit_command + doesn't really quit). + (command_loop): check result from command_line_input and + exit if it returns NULL, rather than passing the NULL to + execute_command. + (gdb_readline): Free malloc'd result space before returning + NULL for EOF. + + * utils.c (query): Handle C-d to mean "yes", just as if the + input was not a terminal. Also avoid infinite loop if EOF + occurs in mid-input-line before newline. This allows + query to be used at EOF on stdin with reasonable results. + + * infrun.c (proceed): Set breakpoint_proceeded. + + * values.c (value_as_long): Avoid infinite recursion for enums. + (_initialize_values): Fix typo in help msg (kingdon). + + * Makefile.dist (RL_LIB): Use RL_LIB_DEP for dependencies, + RL_LIB for linking. This allows -lreadline for linking + and nothing for dependencies, once readline is a real library. + + * config.gdb: Jim Kingdon: give useful error message if the + host or target type is not recognized. + + * defs.h (alloca): SPARC <alloca.h> does not declare alloca, + it just defines it. Dumb, but deal with it. + + * Jim Kingdon suggests: + in xconfig/sun3os4, CFLAGS should be XM_CFLAGS. + +Wed Aug 29 18:03:27 1990 John Gilmore (gnu at cygint) + + * Makefile.dist (VERSION): Bump version # to 3.91.2. + + * Clean up Bothner's changes. + + * blockframe.c (clear_pc_function_cache): New function. + * blockframe.c: remake cache_pc_function_* static. + * dbxread.c (symbol_file_command): remove references to + cache_pc_function_* variables. + * dbxread.c (read_struct_type): Use VOFFSET_STATIC. + * printcmd.c: Avoid kludging a global variable (addressprint) + to avoid printing the address of a string twice. Instead, + pass the format letter 's' down low enough that it can be seen + to avoid this problem. + (print_formatted): Pass format arg to value_print. + (restore_addressprint): Remove function. + (do_examine): Avoid hacking addressprint, cleanups and such. + (print_frame_args): Add a comment to a Bothner change. + * symtab.h: define VOFFSET_STATIC and use it instead of "-1". + * symmisc.c (free_all_symtabs): Call clear_pc_function_cache + to wipe out the values cached in blockframe.c. + * symtab.c (find_method): Add comment saying how big you must + allocate to be "big enough". Per being terse again. + * valprint.c (val_print): Handle format letter "s" to print + strings without addresses. Add comment to vtbl printing code + which casts with wild abandon. Rearrange reference-printing + code so it prints: + @0xaddr: value (print w/addressprint) + value (print w/~addressprint) + @0xaddr (parameter lists w/addressprint) + or nothing (parameter lists w/o addressprint) + +Tue Aug 28 10:47:18 1990 John Gilmore (gnu at cygint) + + * Merge more changes from Per Bothner: + +Gdb's handling of TYPE_CODE_REF was so counter-C++ (and otherwise +annoying) that I tried to improve it. Here are my suggestions. + + These patches all attempt to handle TYPE_CODE_REF (as in C++) better. + + findvar.c: + Do automatic de-reference when taking the address of a reference. + printcmd.c: + Don't deref_ref when printing parameter lists. + valops.c: + More attempts at treating refernences properly. + valprint.c: + In val_print, if deref_ref==0, don't print dangling " = ". + value.h: + Add COERCE_REF macro, which de-references an REF. + + * Merge changes from Per Bothner: + +* Fixed (Sony news)-specific configuration problems. +* Fixed other problems with using vanilla pcc and libc (enum problems; +assumption that vsprintf exists). +* Some major speed-ups (finc_pc_partial_function now caches a match; +parsing avoids duplicate symbol_lookup calls). +* Changed handling of baseclasses (no longer use baseclasses field +of struct type, use the first n_baseclasses fields instead). +* Various minor changes/fixes, most C++-related. + +blockframe.c: +Cache the most previous match from find_pc_partial_function. +(Save both low and high ends of matching function's pc range.) +This speeds up the loop of infrun.c:wait_for_inferior quite +a bit, and makes step/next commands much zippier. +command.c: +Added an enum->int cast (otherwise, some compilers barf). +dbxread.c: +No longer set baseclass offset to 0, since multiple +inheritance now mostly works. +Added a number of casts, to shut up compiler warnings +(after stabs where made enums, not ints). +When discarding a symbol table (in symbol_file_command), +must clear the cache introduced in blockframe.c. +Don't convert $vtbl_ptr_type to vtbl any more. +Get rid of TYPE_BASECLASEES and baseclass_vec (see also symtab.h). +Mask off sign bit emitted by g++ for virtual table offset. +Set voffset to -1 (not 1) for static member functions. +expread.y: +Changed parsing/lexing of names to avoid doing symbol lookup twice +(once when lexing to determine symbol class, once for real). +Now only call symbol_lookup once. Fields of 'this' win especially big. +printcmd.c: +Subpress printing addr twice in the case of 'x/s addr'. +symtab.c: +lookup_basetype_type is no longer used. +Add find_methods as recursive helper function to decode_line_1. +This allows multiple inheritance to work. +Also, once one or more matches has been found, do not look in +base-classes. (Baseclass methods would be overridden, anyway.) +symtab.h: +Removed baseclasses array in struct type. +Instead of using baseclasses[i], use fields[i-1]. +Added virtual_field_bits[i] to indicate if the i'th baseclass is virtual. +Changed sign convention of voffset (previous was inconsistent). +tm-news.h: +Some macros (CALL_DUMMY and relatives) were missing. Put them back. +utils.c: +Used to assume existence of vsprintf. Re-written to not need it +if HAVE_VPRINTF is undefined. +valops.c: +typecmp was too pessimistic. Made it less so. +valprint.c: +Don't print space after address. +If vtable points to a misc symbol (with 0 offset), print it, +since that indicates the actual class of the object. +Changed ype_print_derivation_info to use new inheritance +scheme (without baseclasses vector). +values.c: +In value_primitive_field, fixed some bugs left over from previous set of fixes. +Also, changes needed because TYPE_BASECLASSES were removed. +xm-news.h: +REGISTER_U_ADDR didn't work for PC. Rewrote to use an array. + +Tue Aug 21 20:08:54 1990 John Gilmore (gnu at cygint) + + * source.c: + If there is no path set, and the symbols don't indicate what directory + a file was compiled in, look in the current directory. But either + a path or a known compilation directory will prevent this. + + * dbxread.c: + Three independent bug fixes: + * Remove the #if 0 block that breaks some stuff. + * SunOS 4.1 fixed the promoted-parameter-wrong-addr bug in Sun C; + adapt gdb to either SunOS 4.0.* or 4.1. + * MAX_OF_TYPE and MIN_OF_TYPE thinko. By tedg@sun, I think. + + * symtab.c: + Instantiate the class T when looking for methods in it. (Tiemann@sun) + + * valprint.c: + (type_print) Demangle the name being printed. + (type_print_base) Handle botched demangling without coredump (tiemann). + + * values.c: + (check_stub_method): Document routine. + (tiemann) fix bug for no-arg functions + Avoid clobbering beyond end of malloc'd storage. + Terminate the argument list properly. + +Sat Aug 18 01:29:59 1990 Per Bothner (bothner@cs.wisc.edu) + + * Changes merged by John Gilmore: + +breakpoint.c: + In breakpoint_1, use new print_address_symbolic instead + of find_pc_partial_function. (This forces use of assembler-level + addresses, and avoids misleading non-mangled source-level names.) +cplus-dem.c: + Generalize ansi argument such that -1 means skip arglist totally. + Removed global variable print_ansi_qualifiers (which made + code non-reentrant), in favor of extra explicit arguments + to internal routines. +printcmd.c: + Add new helper function print_address_symbolic. + Use find_pc_misc_function instead of find_pc_partial_function + (since we want assembler-level symbols here). +stack.c: + Print unknown function as just "f (...)", not "f (...) (...)". + Use new fputs_demangled explicitly. +symtab.c: + Fixed a typing violation (problem: value.h cannot be imported + without renaming many variable in this file). + lookup_symbol: If no matching misc_func, look for a C++-mangled name. + decode_line_1: Moved forward some never-reached code. + Made decode_line_2 skip function prologues correctly. +utils.c: + fputs_filtered should not demangle by default. + Add new fputs_demangled to demangle on demand.. +valops.c: + Change value_struct_elt to use value_primitive_field (using recursive + utility function search_struct_field). This allows foo.bar to work + for multiple inheritance (so far only for data fields). + Change check_field in the same way (recursive helper function + to support multiple inheritance). + (Note: there are more of these problems that I haven't fixed. + Any code that says TYPE_BASECLASS (t, 1) is probably wrong.) + value_of_this: 'this' symbol name is now just "this", note "$this". +valprint.c: + Don't print static members. + Avoid printing "members of <type>" if there are none. + Simplified type_print_derivation_info by merging duplicate code. + Remove useless blank lines in type_print_base (ptype command). +value.h: + Added declaration of new routine value_primitive_field. +values.c: + Added value_primitive_field which is generalized version of + value_field that can handle multiple inheritance (non-zero offsets etc). + Re-implemented value_field to call value_primitive_field. + +Fri Aug 17 23:33:44 1990 John Gilmore (gnu at cygint) + + * infcmd.c -- insert else to avoid 'delete env' coredump when you + delete the whole environment. Karl Berry reported the bug. + * source.c - fix openp to avoid //'s in filenames, which + trigger an Emacs bug causing it to not be able to find files + when running gdb in a window. + * dbxread.c - zap the #if 0 that botches the add-file code. + It seems to work a lot better without all the code commented out. + +Fri Jul 20 16:58:46 1990 John Gilmore (gnu at cygnus.com) + + * Merge Tiemann's and Ted Goldstein's changes, detailed below, + into gdb-3.90.9. + +Tue Jul 17 19:34:33 1990 Ted Goldstein (tedg at golem) + + * Makefile - added a ${CFLAGS} to a couple of entries, + added remote-sa.sparc.c + * added remote.sa-sparc.c, a modification of remote.c + which conducts a dialog directly with the SparcStation prom. + * breakpoint.c, infrun.c, sparcdep.c added + remote_insert_breakpoint(), and remote_remove_breakpoint() + to breakpoint.c instead of directly writing breakpoint instructions. + * sparcdep.c on remote_debugging,there is no need + to remove signle step breakpoint instructions. + * main.c added "-epoch" flag and "int epoch_interface" to main.c + global variable + * printcmd.c - epoch interface sends lisp expressions to open up + epoch windows on inspection. + * valprint.c - added arrayprint, and addressprint and made adding + format controls easier + * wait.h added a couple of undef's because we were getting + complaints about WSTOPSIG and WTERMSIG begin redefined. + + +Wed Jul 4 05:27:51 1990 Michael Tiemann (tiemann at masham) + + * symtab.c (decode_line_1): Add support for handling method stubs + in the type information. + +Tue Jul 3 09:39:18 1990 Michael Tiemann (tiemann at masham) + + * values.c (baseclass_addr): Run loop from INDEX+1 to + N_BASECLASSES; otherwise, we can still get into a loop. + @@ This should be restructured to use a cleaner search strategy. + +Sun Jul 1 12:28:51 1990 Michael Tiemann (tiemann at masham) + + * dbxread.c (define_symbol,read_type): Grok GNU C++'s new + abbreviation "Tt" for tags which have the same name as their + typedecls. + +Fri Jun 29 01:03:46 1990 Michael Tiemann (tiemann at masham) + + * symtab.c (list_symbols): add ability to set breakpoints on all + the functions which match a particular regular expression. + +Tue Jun 26 04:26:29 1990 Michael Tiemann (tiemann at masham) + + * cplus-dem.c (cplus_demangle): New parameter ANSI says whether we + should print ANSI qualifiers (such as `const' and `volatile'). + All callers changed to call with ANSI == 1, except from + `check_method_stub', which uses old-style syntax. + + * symseg.h (struct fn_field): Remove unneccessary `args' field. + * symtab.h (TYPE_FN_FIELD_ARGS): Redefined. + + * values.c (check_stub_method): New function. + + * cplus-dem.c (do_type): Handle "long long" (encoded as 'x'). + + * dbxread.c (read_type): Handle new GNU C++ method type stubs. + * valprint (type_print_base): Ditto. + + * symtab.c (gdb_mangle_typename): New function. + +Tue Jun 5 00:18:43 1990 Michael Tiemann (tiemann at gzilla) + + * breakpoint.c (catch_command): New function. Provides a + mechanism to set breakpoints based on catch clauses. + (disable_catch): Similar, but disables breakpoints on catch + clauses. + (delete_catch): Similar, but deleted breakpoints on catch clauses. + +Sun Jun 3 22:54:08 1990 Michael Tiemann (tiemann at gzilla) + + * blockframe.c (blockvector_for_pc): New function. + * blockframe.c (block_for_pc): Changed to call + `blockvector_for_pc' and get the block itself. + + * stack.c (catch_info): New function. Prints info about + exceptions which can be caught in the current frame. + * stack.c (print_frame_label_vars): New function. Similar to + `print_frame_local_vars'. + * stack.c (print_block_frame_labels): Prints out labels that are + defined in this frame. These labels are exceptions that can be + caught. + + * dbxread.c: Updated to handle N_CATCH symtab types. + +Thu May 3 22:10:00 1990 Michael Tiemann (tiemann at teacake) + + * valprint.c (everywhere): TYPE_NAME (TYPE) no longer comes in the + form "struct ..." for GNU C++. Don't flush any part of TYPE_NAME + when printing the type. + +Wed May 2 22:43:04 1990 Michael Tiemann (tiemann at teacake) + + * valprint.c (val_print): Use `baseclass_addr' to access the + baseclasses pointed to via the derived class object at VALADDR. + + * values.c (baseclass_addr): New function. Casts derived pointers + to baseclass pointers taking virtual baseclasses and multiple + inheritance into account. + +Sat May 5 12:39:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.9. + +Fri May 4 12:12:55 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c (watch_command, bpstat_stop_status): Deal with + exp_valid_block field correctly. + + * infrun.c (wait_for_inferior): When checking "don't even think + about breakpoints" if stop_signal == SIGTRAP && trap_expected, + also check step_resume_breakpoint. + Insert breakpoints and continue (not step) if + step_resume_break_address != NULL, even if another_trap. + If trap_expected and we enter sigtramp, then set up a + step_resume_break. + If trap_expected is set when we hit the step_resume_break, + set another_trap. + When calling resume and trap_expected says tell resume to step + (2 places), also check step_resume_break_address. + + * infrun.c (wait_for_inferior): Don't set + prev_{pc,sp,func_{start,name}} before calling wait (). + Do set them after exiting loop. + Move their declarations outside functions. + (start_inferior): Initialize them. + +Thu May 3 00:15:11 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infrun.c (wait_for_inferior, after check for trap_expected > 1): + Restore old code which distinguishes between trap_expected and + running_in_shell, just make the latter take any non-TRAP signal, + not just SEGV. + + * values.c (allocate_value): Zero VALUE_OPTIMIZED_OUT flag. + + * Makefile.dist (pinsn.o): Use PINSN_CC to compile. + xconfig/3b1 (CC,PINSN_CC): Define. + + * xconfig/altos, altos-dep.c: Rename altos-dep.c to altos-xdep.c. + + * Version 3.90.8 + + * breakpoint.c (bpstat_stop_status), + infrun.c (wait_for_inferior) [SHIFT_INST_REGS]: New code. + + * param.h, tm-88k.h: Define ADDR_BITS_*. + infcmd.c (jump_command, read_pc), infrun.c (wait_for_inferior), + printcmd.c (do_one_display): Use them. + + * utils.c: Split #ifdef USG into a USG_UTILS and a QUEUE_MISSING. + xm-88k.h: Define USG_UTILS. + +Wed May 2 00:05:33 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * printcmd.c (printf_command) [__INT_VARARGS_H]: New code. + (printf_command): Add from_tty parameter. + + * valprint.c (value_print): Check VALUE_OPTIMIZED_OUT flag. + + * value.h: Add optimized_out field and change lazy field to + char. Add macro VALUE_OPTIMIZED_OUT. + + * i386-pinsn.c: Change from Eirik Fuller to write to stream directly + instead of stuffing things in buffers (oappend, etc). + + * breakpoint.c (bpstat_do_actions): If *BSP is set to NULL by + execute_command, exit both loops. + + * Makefile.dist: Don't set TARGET_ARCH. Add .c.o rule. + +Tue May 1 17:07:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist (RAPP_OBS, rapp), + rgdb.c, rserial.c, rudp.c, serial.c, udp.c, xdep.h, + remote.h: Added. + m68k-xdep.c, coredep.c: Wrap in #if !defined (RDB). + + * valops.c (value_struct_elt), values.c (value_static_field): + Change error messages to remove references to `info methods'. + +Tue Apr 24 10:25:10 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * More 88k changes: + infrun.c (start_inferior): Add START_INFERIOR_HOOK. + infcmd.c [SHIFT_INST_REGS]: New code. + findvar.c (read_relative_register_raw_bytes): Return a value. + infcmd.c (do_registers_info): Check value from + read_relative_register_raw_bytes. + + * command.c (delete_cmd): Free the struct cmd_list_element(s) + we are removing. + +Mon Apr 23 10:42:21 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * More 88k changes: + findvar.c (get_saved_register): New function. + findvar.c: Rewrite code which called find_saved_register to + call get_saved_register instead. + +Sun Apr 22 14:47:51 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c (val_print): Change error message printed when + the type has TYPE_FLAG_STUB set. + + * valprint.c (val_print): Check for TYPE_CODE_UNDEF. + + * findvar.c (write_register): Set register_valid (regno). + + * valops.c (call_function): Check for NULL return from block_for_pc. + +Fri Apr 20 11:31:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * findvar.c (write_register): Add PREPARE_TO_STORE. + {sun3,sparc,symmetry}-xdep.c (PREPARE_TO_STORE): Add. + infptrace.c, {mips,pyr,symmetry,sun3,arm,hp300hpux}-xdep.c + (store_inferior_registers): Don't call read_register_bytes. + symmetry-xdep.c (store_inferior_registers): + #if 0 out code to fetch registers. + + * values.c (value_as_long): Call COERCE_ARRAY. + + * tm-sun3.h: Include tm-68k.h not m-68k.h + + * sparc-tdep.c (single_step): Set next_pc, npc4 within + if (!one_stepped), not outside it. + + * Changes from Data General for 88k: + * coffread.c (read_file_hdr): Add *88*MAGIC. + * coffread.c (have_symbol_file_p): New function. + * coffread.c [COFF_CHECK_X_ZEROES] [TDESC]: New code. + * coffread.c (read_one_sym): If there is more than one + aux entry, don't give an error message, just ignore the + extra ones. + * coffread.c (process_coff_symbol): Replace clipper with + BELIEVE_PCC_PROMOTION in #ifdef's. + * coffread.c: Define L_LNNO32 if not defined. + (enter_linenos): Use it. + * blockframe.c: Add INIT_FRAME_PC hook and use it in + get_prev_frame_info. + m-m88k.h: Use INIT_{FRAME_PC,EXTRA_FRAME_INFO} to do tdesc stuff. + Use dummy versions of FRAME_CHAIN_*. + * Makefile.dist, xconfig/i386*: Rename M_CLIBS to XM_CLIBS and add + TM_CLIBS and CDEPS. + tdesc/libdc.o: New target. + tdesc.{c,h}, tdesc/*, {t,x}config/m88k: New files. + +Thu Apr 12 15:47:00 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * m68k-opcode.h (bras, bsrs): Use "Bw" not "Bg". + +Tue Apr 10 20:50:25 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.7. + + * xm-mips.h (BYTE_ORDER): If not defined, make it LITTLE_ENDIAN. + + * mips-xdep.c ({fetch,store}_inferior_registers): Remove variable + offset and just use register_addr (regno, 1). + (core_file_command): Remove variable reg_offset and just use + register_addr (regno, 0). + + * gdbcore.h [COFF_FORMAT]: #undef a_magic before redefining it. + + * infrun.c ("if (trap_expected && stop_signal != SIGTRAP)", near end + of wait_for_inferior): Always pass 0 as first arg to resume. + #if 0 out "SIGSEGV in shell" test right above it (now redundant). + + * i386-pinsn.c (oappend_address): New function. + (oappend): Make it "static void" and declare at top of file. + (OP_J, OP_DIR): Use oappend_address. + +Mon Apr 9 15:22:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * mips-xdep.c: Include <mips/inst.h> not "mips/inst.h". + + * wait.h [HAVE_WAIT_STRUCT]: Put #defines in #if !defined so that + it's OK if they are defined in <sys/wait.h>. + + * findvar.c (fetch_registers): Pass "registers", not "®isters", + to remote_fetch_registers. + + * mips-tdep.c (_initialize_mipsdep): Remove hex_disassembler + and re-write skip_prologue to use add_set_cmd. + + * Makefile.dist (alldeps.mak): Don't put \ after the last + filename in each list. + +Sun Apr 8 01:59:19 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.6. + + * Makefile.dist (alldeps.mak): "XM_FILE" -> "XM_FILE=". + + * valarith.c (value_x_{un,bin}op): use "operator" not "operator " + to match dbxread.c change of 16 Mar 90. + + * valarith.c (value_x_unop): Pass &static_memfuncp, + not static_memfuncp. + + * breakpoint.c: Add watchpoint stuff. + breakpoint.h: Add bpstat_should_step. + infrun.c (proceed, wait_for_inferior): Use it. + breakpoint.h: Add bpstat_print (and rename old bpstat_print + to bpstat_should_print). + infrun.c (normal_stop): Use it. + + * value.h: Add value_free. Declare a few functions. + +Sat Apr 7 21:43:43 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): Remove PROFILE_TYPES code and + insert comment suggesting easy shell script equivalents. + + * values.c (unpack_long): Give better error messages for + unrecognized sizes of ints and floats. + +Fri Apr 6 00:32:21 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c, gdbcore.h (IS_OBJECT_FILE): Check for a_drsize + nonzero as well as a_trsize. + + * More places: Use SWAP_TARGET_AND_HOST. + + * valops.c (destructor_name_p): Only skip "struct " if present. + + * main.c (gdb_readline): Return NULL on end of file. + + * sparc-opcode.h: Add jmp 1+2, jmp 1+i, jmp i+1. + + * Makefile.dist: Make expread.tab.c unambiguously be in srcdir. + + * main.c: Split source_command into source_command and + read_command_file. + (main): Accept "-" as arg to +command for stdin. + + * dbxread.c (psymtab_to_symtab): Don't read string table. + (symbol_file_command): Save string table size. + + * Version 3.90.5 + + * symtab.c: Remove declaration of lookup_misc_func. + + * mips-pinsn.c: Add use_hex_p stuff (re-worked from Forin stuff). + + * mips-opcode.h: Add bdelay field. + mips-pinsn.c: Various changes from Forin, I think to make it look + like the MIPS assembler format. + mips-tdep.c, mips-xdep.c, mipsread.c: Various changes from Forin. + + * gdbcore.h: Declare register_addr. + + * gdbcore.h: Include <a.out.h>, before trying to redefine N_TXTADDR + and friends. + various: Don't include both a.out.h and gdbcore.h. + + * Makefile.dist (HFILES): Add param.h + + * utils.c (init_malloc): Moved here from mcheck.c and modified + to use the standard mcheck.c + Makefile.dist: Modify to reflect new mcheck. + +Thu Apr 5 16:38:28 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c (val_print, print_hex_chars): Print integers + larger than LONGEST. + + * valarith.c (value_sub): Give error message if attempt to + subtract something of the wrong type from a pointer. + + * breakpoint.c (bpstat_stop_status): Initialize retval to NULL. + + * i386-tdep.c (i386_pop_frame): Change addr to adr. + +Wed Apr 4 05:21:50 1990 Jim Kingdon (kingdon at teenage-mutant) + + * main.c (command_line_input): return NULL on end of file. + (execute_command): If p is NULL, return almost right away. + (read_command_lines): Treat end of file like "end". + + * printcmd.c (print_frame_args): Change it so num is number + of ints of args, not number of args. + + * xm-*.h: Make sure BYTE_ORDER is defined. + Also fix various #includes of old names of things. + + * main.c (command_line_input): Fix comment code of 2 Apr. + + * values.c (value_from_long, unpack_long): SWAP_TARGET_AND_HOST. + various: Replace {BYTES,WORDS}_BIG_ENDIAN with TARGET_BYTE_ORDER. + valarith.c various: SWAP_TARGET_AND_HOST. + dbxread.c (READ_FILE_HEADERS): SWAP_TARGET_AND_HOST. + (SWAP_SYMBOL): New macro. Use it wherever symbuf_idx is incremented. + exec.c (exec_file_command): SWAP_TARGET_AND_HOST. + + * valarith.c (value_subscripted_rvalue): Just bcopy() the + appropriate bytes rather than playing strange games with + value_from_long. + + * param.h (SWAP_TARGET_AND_HOST): New macro. + + * tm-np1.h (V7_REGNUM): Change from 27 to 26. + (REGISTER_VIRTUAL_TYPE): Return correct result for vector regs. + gould-tdep.c: New file. + + * Move reading of register before store from + findvar.c (write_register) to + infptrace.c, *-xdep.c (store_inferior_register). + + * findvar.c (fetch_registers, store_registers): New functions. + write_register{,_bytes}: Use store_registers regardless of + have_inferior_p. + registers_valid: New variable. + (supply_register, read_register, etc.): Use it. + (read_register_gen): New variable. + various: Use read_register_gen rather than read_register_bytes + where appropriate. + *-xdep.c (fetch_inferior_registers): Remove remote_debugging check. + infrun.c (wait_for_inferior, start_inferior): Call registers_changed + not fetch_inferior_registers. + *-xdep.c (fetch_inferior_registers): Call registers_fetched if + not setting registers via supply_register, and if fetching + all registers. + infptrace.c, *-xdep.c (fetch_inferior_registers): Add param, + # of register to fetch (-1 for all). + infptrace.c, hp300hpux-xdep.c (fetch_inferior_registers): + Actually fetch only those registers needed. + value.h: Declare all the extern register functions from findvar.c. + + * coffread.c (read_coff_symtab): Test for specific kinds of GCC + labels (LI%.*, LPB%.*, etc), not just ??%.*. + + * coffread.c (record_misc_function): Use mf_text not mf_unknown. + + * utils.c,defs.h (lines_to_list): New function. + source.c (select_source_symtab, list_command, forward_search_command, + reverse_search_command), stack.c (print_frame_info): + Use it instead of 10. + + * munch: If MUNCH_NM variable exists, use it. + + * main.c (initialize_main): Set rl_readline_name. + main.c: #include readline.h and #undef savestring. + Remove declarations of things declared in readline.h. + + * main.c (gdb_readline): If instream == 0, read from stdin. + + * main.c (main): Only call clearerr if ISATTY. Exit loop if + feof (instream). + + * infcmd.c (detach_command): Set inferior_pid to 0 after + calling remote_close. + + * main.c (main): If exec and sym files are the same, and there + is an error reading execfile, don't try to read sym file. + + * infcmd.c (detach_command) [ATTACH_DETACH]: Don't try to detach + from inferior when remote debugging. + + * source.c (reverse_search_command): Change while test from 1 to + line > 1. + +Tue Apr 3 18:14:14 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.4. + + * Makefile.dist (gdb.tar.Z): Use -z option to tar rather than + creating gdb.tar and calling compress separately. + + * breakpoint.c (read_memory_nobpt): Do not treat bcopy as if it + returned an "errno" value. + + * various: Make sure gdbcore.h is not included before a.out.h. + + * Makefile.dist (OPCODES): Add mips-opcode.h. + + * config.gdb: Print lists of {hosts,targets} after finding srcdir. + When parsing +{host,target}=, strip off +{host,target}=, not +{x,t}m=. + + * Makefile.dist (gdb.tar): Do {t,x}config not just config. + +Mon Apr 2 02:42:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * sparc-opcode.h (inc): Fix incorrect lose field. + + * valarith.c (value_subscripted_rvalue): Use TARGET_BYTE_ORDER, + rather than checking endianness at runtime. + + * main.c (comand_line_input): Accept comments anywhere, not + just at starts of lines. + +Sat Mar 31 21:59:35 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.c (check_stub_type): Call lookup_symbol with 5 args. + +Fri Mar 30 15:23:52 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * frame.h: #include param.h. + param.h: Protect against multiple inclusion. + + * i386-tdep.c (i386_get_frame_setup): Fix comment about what + opcode 0x55 is. + If 0x81 or 0x83 is followed by something besides 0xec, + put codestream back where it was and return 0. + [USE_MACHINE_REG_H]: Include <machine/reg.h> not <sys/reg.h> + Move include of a.out.h above <sys/user.h>. + (i386_frame_find_saved_regs): Make locals signed. + (i386_frame_find_saved_regs, i386_push_dummy_frame, i386_pop_frame): + Use REGISTER_BYTES, REGISTER_RAW_SIZE, etc. to deal with floating + point registers. + +Wed Mar 28 18:33:40 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * Makefile.dist (OTHERS): Add gdb.dvi. + (gdb.dvi): New rule. + + * breakpoint.c (_initialize_breakpoint): Clean up docstrings so + as not to mention subcommands (e.g. auto-display). + Call add_cmd not add_abbrev_cmd for "disable breakpoint" and + put it in class_alias. + + * breakpoint.c (set_breakpoint_count): New function. + (set_breakpoint, break_command_1): Use it. + + * breakpoint.c (get_number): New function. + (*_command, map_breakpoint_numbers): Use it. + + * infptrace.c (write_inferior_memory): Remove remote_debugging + stuff (is handled in core.c). + (read_inferior_memory): Remove #if 0'd out remote_debugging code. + +Tue Mar 27 16:51:27 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * inferior.h: Include frame.h. + + * findvar.c (write_register): Replace sun4 #ifdef with + check of CANNOT_STORE_REGISTER. + xm-sparc.h: Define CANNOT_STORE_REGISTER. + + * sparc-tdep.c: Remove superfluous declaration of + get_breakpoint_commands. + + * breakpoint.{c,h}: Add bpstat stuff. + bpstat_do_action: Re-work do_breakpoint_commands into this. + main.c (command_loop): Call bpstat_do_action not + do_breakpoint_commands. + inferior.h, infrun.c, breakpoint.c, infcmd.c: + Rework breakpoint_commands and stop_breakpoint + stuff to use bpstat instead. + + * infcmd.c (program_info): "info reg"->"info registers". + + * np1-opcode.h: Renamed from npl-opcode.h. + gould-pinsn.c: Include np1-opcode.h. + Makefile.dist (OPCODES): Change npl-opcode.h to np1-opcode.h + + * coffread.c (read_enum_type): Stop reading when we hit .eos. + +Mon Mar 26 15:52:35 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Version 3.90.3. + + * breakpoint.c (read_memory_nobpt): New function. + gdbcore.h: Declare read_memory_{nobpt,check}. + mips-tdep.c: Use read_memory_nobpt not breakpoint_shadow_val. + +Fri Mar 23 14:26:38 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * inflow.c (terminal_inferior): Reenable commented out + inferior_thisrun_terminal check. + (terminal_ours_1): If inferior_thisrun_terminal is nonzero, + return immediately. + + * Makefile.dist: Rewrite DEPFILES, M_FILE, etc. stuff to deal + with host & target separation. + + * config/*: Split into xconfig/* and tconfig/*. + *-dep.c: Split into *-xdep.c and *-tdep.c. + + * main.c (main): Always pass two args to xrealloc. + +Thu Mar 22 20:29:25 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * Makefile.dist ({,dist}clean): rm {x,t}m.h not param.h + xgdb.o: Remove obsolete dependency (now in depend). + + * arm-pinsn.c: Include arm-opcode.h not opcode.h. + + * mips-pinsn.c, mips-opcode.h: New files from Bothner (from + release of 24 Jan 90 with mips-opcode.h patch from 1 Feb 90). + + * utils.c (xmalloc): Return NULL on request for 0 bytes. + +Wed Mar 21 13:30:08 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * config.gdb: Re-write machine stuff to deal with host & target. + + * xm-altos.h: Don't define HAVE_WAIT_STRUCT. + + * m-*.h: Split into xm-*.h and tm-*.h. + + * infrun.c (wait_for_inferior): Put #ifdef sony_news code + in regardless of machine. + + * symtab.c (decode_line_1): Add quotes and capitalize error + message "no class, struct, or union named". + + * Makefile.dist (cplus-dem.o): Compile with -Dnounderscore. + + * stack.c (print_frame_info): Use print_symbol to print function name. + + * symtab.c (output_source_filename): Don't print a comma if + we are skipping a filename already printed. + +Tue Mar 20 10:48:54 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * symtab.c (output_source_filename): Don't print a filename + more than once. + + * utils.c (fprint_symbol): New function. + defs.h: Decalare it. + various: Use fprint_symbol to print symbol names. + Makefile.dist (SFILES, OBS): Add cplus-dem.{c,o}. + +Mon Mar 19 17:11:03 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * coffread.c (read_file_hdr): Add MC68K??MAGIC. + + * coffread.c (read_coff_symtab): Ignore swbeg and string label + symbols. + + * coffread.c (read_coff_symtab): Increment num_object_files + in case C_STAT not C_FILE. + New variable in_source_file. Set it in case C_FILE. + Check it in case C_STAT. + + * coffread.c [FUNCTION_EPILOGUE_SIZE]: New code. + m-umax.h (FUNCTION_EPILOGUE_SIZE): Define. + + * config/3b1: New file. + + * config/sun*: Print message warning people to use GAS with GCC. + +Sun Mar 18 02:56:40 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * infcmd.c (run_stack_dummy): Change error message. + + * m-68k.h (REGISTER_VIRTUAL_TYPE): Make pc, fp, sp char *. + + * m-mips.h (LONGEST, BUILTIN_TYPE_LONGEST): Remove. + +Sat Mar 17 21:27:49 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * mips-dep.c: Remove infptrace.c stuff. + + * m-bigmips.h: New file. + m-mips.h [MIPSEB]: Remove *_BIG_ENDIAN stuff. + + * m-sparc.h (FIX_CALL_DUMMY): Do not insert unimp instruction + if function was compiled with gcc. + + * m-mips.h: Remove FIX_CALL_DUMMY_ALIGNED and make FIX_CALL_DUMMY + use new args. + + * valops.c (call_function): New args to FIX_CALL_DUMMY. + m-*.h (FIX_CALL_DUMMY): Take new args. + + * values.c (using_struct_return): New parameter gcc_p. + valops.c (call_function): New variable using_gcc. + valops.c (call_function) [REG_STRUCT_HAS_ADDR]: New code. + + * m-mips.h, mips-dep.c: New files from Forin. + m-mips.h: Replace RETURN_STRUCT_BY_REF with USE_STRUCT_CONVENTION. + +Fri Mar 16 13:17:19 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist: Add some dependencies of m-*.h files. + (HFILES): Add m-68k.h. + + * dbxread.c (read_struct_type): Put "operator+" not "operator +" + in symtab. + + * core.c: Split read_memory into read_memory_check and read_memory. + breakpoint.c (insert_breakpoints): If can't read memory, + tell user that error was due to seting breakpoints. + +Thu Mar 15 11:47:19 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infrun.c [COFF_ENCAPSULATE]: Include a.out.encap.h. + + * blockframe.c (FRAMELESS_LOOK_FOR_PROLOGUE): Make it a function. + various m-*.h: Call function not macro. + frame.h: Declare the function. + +Wed Mar 14 02:44:51 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * sparc-dep.c: Include signame.h. + + * sparc-pinsn.c (print_insn): When looking for sethi before + delayed branch, call read_memory_noerr not read_memory. + + * m-isi.h, m-sun3.h, m-news.h, m-hp300bsd.h, m-altos.h, + m-hp300hpux.h, m-sun2.h: Merge machine stuff except inferior + function call stuff into new file m-68k.h. Create m-3b1.h. + +Tue Mar 13 21:34:33 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * inflow.c (new_tty): If can't open tty, print error message + before exiting. + + * blockframe.c: Remove declaration of psymtab_to_symtab. + symtab.h: Declare psymtab_to_symtab. + blockframe.c: Remove declarations of block_for_pc and + find_pc_function_start. + frame.h: Add declarations of block_for_pc and find_pc_function_start. + Remove declaration of nonexistent function find_pc_function. + values.c: include frame.h instead of declaring block_for_pc. + + * Version 3.90.2. + +Mon Mar 12 14:20:06 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * main.c (main): Delete superfluous "e" from long_options. + +Sat Mar 10 15:47:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c (val_print): Print <%d bit integer> not just + <large integer>. + + * dbxread.c (error_type): Fix loop that finds '\0' so that on + exit, *pp points to the '\0', not the character after. + (read_type): Make sure that places which call read_type and then + try to read more input stop immediately with another error + upon encountering '\0'. + + * dbxread.c (read_range_type): Fix check for large signed + integral type to match comment and reality. Set TYPE_LENGTH based + on n2bits for signed, n3bits for unsigned. + + * infcmd.c (cont_command): Print warning message if we + decide to ignore the argument. + + * gdb.texinfo (attach): @xref{Attach} -> @xref{Remote}. + +Fri Mar 9 16:26:47 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.h (address_class): Reinstate LOC_EXTERNAL with rewritten + comment. + + * expread.y (yyerror, parse_c_1): Make yyerror take a char * arg. + + * main.c (symbol_completion_function): Don't call error() on + "info jkldskf". + + * m-npl.h (USE_STRUCT_CONVENTION): Change >= to >. + +Thu Mar 8 00:19:01 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symseg.h: Nuke more symseg references including LOC_EXTERNAL. + Put contents of symseg.h into symtab.h and remove symseg.h. + +Wed Mar 7 18:02:15 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.h (SYMBOL_LINE): New macro. + symtab.c (decode_line_1): Accept variable as well as function. + Lookup variable/function in selected block if no file specified. + printcmd.c: #if 0 out whereis_command. + + * command.c (do_setshow_command): Call function with additional + argument C. + main.c (set_history_size_command): Take argument C. + (set_verbose): New function to set docstring. + (initialize_main): Put set_verbose in command list. + command.c (lookup_cmd_1): Accept result_list NULL. + + * valprint.c (_initialize_valprint): Change docstring for + "set unionprint" to normal set/show form. + + * command.c (add_show_from_set): Check that docstring starts with + "Set " before assuming it does. + + * main.c (show_history): Call cmd_show_list. + command.{c,h} (cmd_show_list): New function. + command.h: Declare do_setshow_command. + + * command.h (cmd_list_element): New field completer. + main.c (symbol_completion_function): Use it. + symtab.h: Declare make_symbol_completion_list. + command.c (add_cmd): Set completer. + main.c, gdbcmd.h (noop_completer): New function. + infcmd.c: Set completer for environment functions. + + * symtab.c (types_info, _initialize_symtab): #if 0 out. + various: Use fputs_filtered, not fprintf_filtered(%s). + + * valprint.c (type_print_base): Check for integers larger than + LONGEST. + + * sun3-dep.c: Include "signame.h" instead of directly declaring + sys_siglist. + +Tue Mar 6 14:59:34 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infrun.c (signals_info): Allow argument to be a signal name + as well as an expression. + (handle_command): Check for error from sig_number. + + * main.c (float_handler): Change error message. + + * inflow.c (create_inferior): If getenv ("SHELL") exists, use it + instead of /bin/sh. + + * dbxread.c (read_dbx_symtab, case N_SO): New variable first_symnum. + Pass it to {start,end}_psymtab. + + * dbxread.c (read_ofile_symtab): Increment symbuf_idx and symnum + when calling process_symbol_pair. + + * symtab.c (sources_info, output_source_filename): + Re-write so output_source_filename takes a first parameter + instead of a next one. + + * dbxread.c (read_dbx_symtab, case N_SO): When incrementing + symbuf_idx, increment symnum also. + + * values.c (set_internalvar_component): Use VALUE_CONTENTS, + not VALUE_CONTENTS_RAW. + + * symmisc.c (free_symtab): Don't free filename (now in symbol_obstack). + + * environ.c (init_environ): Copy entire string, including + terminating '\0'. + + * value.h, values.c: Rename value_lazy to value_fetch_lazy. + values.c (value_of_internalvar): Call value_fetch_lazy. + + * dbxread.c (read_huge_number): Return an error on encountering + a large decimal number. + + * dbxread.c (read_huge_number): Reverse sense of overflow test. + + * valprint.c (val_print, case TYPE_CODE_INT): Check for integers + larger than LONGEST. + + * dbxread.c (read_ofile_symtab): When calling process_one_symbol, + call it with desc and value rather than with bufp->n_{desc,value}. + + * defs.h (LONG_MAX): Define. + + * sun3-dep.c: Declare sys_siglist. + + * infptrace.c: Move include of gdbcore.h after a.out.h + + * Makefile.dist (expread.o, mcheck.o): Remove leading "./" not + leading ".". + + * m-hp300hpux.h [!HPUX_VERSION_5]: Define KERNEL_U_ADDR_HPUX. + infptrace.c [KERNEL_U_ADDR_HPUX] [KERNEL_U_ADDR_BSD]: + Set kernel_u_addr using nlist(). + m-hp300bsd.h: Define KERNEL_U_ADDR_BSD. + +Mon Mar 5 16:52:41 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (read_dbx_symtab): If value of .o symbol is crazy, + don't end psymtab. + + * dbxread.c (read_dbx_symtab): Ignore first of a pair of N_SO + when both appear. + (start_subfile, start_symtab): Extra parameter dirname. + (start_subfile): Use obsavestring, not savestring, for name. + various: Call start_{subfile,symtab} with extra argument. + (end_symtab): Set dirname field in symtab. + (read_ofile_symtab): Call process_symbol_pair on pair of N_SO. + (process_symbol_pair): New function. + symtab.h (symtab): New field dirname. + source.c (open_source_file): New function. + source.c: Use open_source_file instead of openp where appropriate. + + * defs.h (TARGET_CHAR_BIT): Define. + +Sun Mar 4 13:11:48 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (fill_symbuf): Print error messages nicely. + + * Makefile.dist (SFILES): Put standalone.c at end. + + * Makefile.dist (alldeps.mak): Put out backslash after arm-convert.s. + + * symtab.{c,h} (builtin_type_error): New type. + symseg.h (type_code): Add TYPE_CODE_ERROR. + valprint.c (val_print, type_print_base), + values.c (using_struct_return, set_return_value): + Check for and deal with TYPE_CODE_ERROR. + dbxread.c (error_type): New function + (read_type and subroutines): Call error_type instead of error. + + * dbxread.c (read_huge_number): New function. + (read_range_type): Use read_huge_number and check results + to see if it is a large integral type. + + * symmisc.c: Remove symseg stuff. + + * Gould NP1 changes from (or inspired by) chpmjd@gdr.bath.ac.uk + dbxread.c (read_dbx_symtab) [N_NBSTS]: + Treat this and N_NBLCS like N_LCSYM, etc. + (process_one_symbol) [BLOCK_ADDRESS_ABSOLUTE]: New code. + m-npl.h (USE_STRUCT_CONVENTION): Add. + (IGNORE_SYMBOL): Add 0xa4. + (END_OF_TEXT_DEFAULT): Remove. + (STRING_TABLE_OFFSET): don't add sizeof(int). + [!HAVE_VPRINTF]: Define vprintf to be doprnt, not printf. + (BLOCK_ADDRESS_ABSOLUTE): Define. + (BREAKPOINT): Pad to size of machine word. + (SAVED_PC_AFTER_CALL): Remove ` at start of line (!). + (R2_REGNUM): Define. + (SP_REGNUM, FP_REGNUM): Switch definitions. + (REGISTER_U_ADDR): Use FP_REGNUM in place of SP_REGNUM. + (STORE_STRUCT_RETURN, EXTACT_RETURN_VALUE, STORE_RETURN_VALUE, + call function stuff): + Replace bogus definitions with correct ones for NP1. + (CANNOT_EXECUTE_STACK): Define. + (FRAME_LOCALS_ADDRESS): Don't add 80. + (FRAME_FIND_SAVED_REGS): Also get SP. + gould-pinsn.c (findframe): Move framechain declaration outside #if 0. + infptrace.c (write_inferior_memory): Check addr against text_end + and use PT_WRITE_I or PT_WRITE_D as appropriate. + (store_inferior_registers): Don't try to write registers in + CANNOT_STORE_REGISTER. + m-npl.h (CANNOT_STORE_REGISTER): Define. + npl-opcode.h (lil): 0xf8080000 -> 0xf80b0000. + + * munch: Distinguish between BSD and System V nm by actually + seeing what output from nm looks like. + +Fri Mar 2 13:43:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * printcmd.c (print_frame_args): Change highest_offset to point + to next unprinted arg. + + * main.c (main): Print "type help for list of commands" along + with the version. Follow it with a blank line. + +Thu Mar 1 14:49:26 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * valprint.c: Move print_address for function from value_print + to val_print. + +Wed Feb 28 15:06:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist (m-sun4os4.h): Depend on m-sparc.h + + * Makefile.dist (version.c): Depend on Makefile.dist, not Makefile. + + * Makefile.dist: Change MAKEFILES to Makefiles. + + * symtab.h: Declare get_sym_file. + core.c: Include symtab.h. + + * Move signal name stuff from utils.c to signame.c + Move signal name stuff from defs.h to signame.h. + Makefile.dist (SFILES, HFILES, OBS): Add signame.{c,h,o}. + +Mon Feb 26 12:03:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * command.c (add_cmd): Don't call savestring on name. + +Sun Feb 25 15:52:18 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * printcmd.c (print_frame_args): Make highest_offset an int. + New variable args_printed. + (print_frame_nameless_args): Remove parameter end and add num + and first. + (print_frame_args): Change call to print_frame_nameless_args. + +Fri Feb 23 21:40:15 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * stack.c (up_command, down_command): + Only print stack frame if from_tty. + +Thu Feb 22 12:01:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * expread.y: Inlcude value.h and don't cast return value from + lookup_internalvar. + + * infrun.c: Remove code in #ifdef UMAX_PTRACE. + + * values.c (convenience_info): Print in form "$foo = 5". + Don't print "Debugger convenience variables:" before first one. + + * Makefile.dist: Remove ADD_FILES from CLIBS. + (gdb, kdb, xgdb): Put in ADD_FILES as well as CLIBS. + + * m-pyr.h: #if 0 out call dummy stuff. + Put in POP_FRAME which just calls error(). + valops.c: If CALL_DUMMY is not defined, put in dummy call_function + which just prints an error message. + +Tue Feb 20 22:11:40 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c (commands_command): Add arg from_tty. + + * main.c (main): Put if (!setjmp (to_top_level)) around calls + to *_command made in response to command line arguments. + +Mon Feb 19 13:58:28 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * main.c (main): Use getopt_long_only. Move one-character options + to long_options. Remove entries which are just unambiguous + abbreviations of other options. + + * command.h: Add types cmd_types and var_types. + Add fields type, var_type, and var to struct cmd_list_element. + command.c (add_set_cmd, add_set_from_show): New functions. + (add_cmd): Set c->var_type. + (add_abbrev_cmd): Call add_cmd instead of duplicating code. + main.c: Add showlist. + Move parse_binary_operation from main.c to command.c. + command.c (do_setshow_command): New function. + gdbcmd.h: New file. + Makefile.dist: Add gdbcmd.h. + many files: Include gdbcmd.h, use add_set_cmd and add_show_from_set. + Replace info * with show * where appropriate. + utils.c (fputs_filtered): Use UINT_MAX in lines_per_page to mean + no paging. + defs.h: Define UINT_MAX. + infcmd.c (run_command): Use execute_command, not set_args_command. + main.c (execute_command): Call do_setshow_command if necessary. + main.c (show_command, show_history): New functions. + main.c (initialize_main): Call add_prefix_cmd + for show and show history. + + * coffread.c (enter_linenos): Print error if + file_offset < linetab_offset. + +Sun Feb 18 15:37:05 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * convex-dep.c (comm_registers_info): Fix typo. ("argc"->"arg"). + +Wed Feb 14 20:45:14 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * config.gdb: Create Makefile with make. + + * Makefile.dist, config.gdb: Move "srcdir=" line from Makefile.dist + to new file Makefile.srcdir. + + * valprint.c: Include <errno.h>. + + * value.h: Declare value_coerce_function. + + * findvar.c: Add missing " after #include "gdbcore.h + + * main.c (main): Re-write command parsing to use getopt. + On "gdb +help" print options with '+' not '-'. + Makefile.dist: Add getopt. + +Tue Feb 13 00:08:27 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist: Add "srcdir=." + config.gdb: Edit srcdir= rather than adding it to the beginning. + + * pyr-dep.c: Make global_reg_offset, last_frame_offset not static. + Move definition of reg_stack_offset to core.c [REG_STACK_SEGMENT]. + + * config/pyramid: Print message about alloca. + + * breakpoint.c (clear_command): When printing "no breakpoint" + error, only use arg if non-NULL. + + * core.c (read_memory): Rename to read_memory_noerr. + (read_memory): New function which calls read_memory and checks for err. + gdbcore.h: Declare all extern core.c functions. + move myread from core.c to utils.c. + declare it in defs.h. + (read_memory_integer): move from infcmd.c to core.c. + gdbcore.h: Declare it. + Many places: Remove error checking on read_memory, or call + read_memory_noerr instead. Include "gdbcore.h" if calling either. + + * value.h (COERCE_ARRAY): Coerce functions to function pointers. + valops.c (value_coerce_function): New function. + + * core.c, convex-dep.c, arm-dep.c (xfer_core_file): Return EIO + if address out of bounds. + + * m-arm.h, arm-dep.c arm-pinsn.c arm-opcode.h: New files. + dbxread.c, m-convex.h (VARIABLES_INSIDE_BLOCK): Add gcc_p parameter. + Makefile.dist (alldeps.mak): Special case for arm-convert.s. + dbxread.c (define_symbol): Check for local based on it not + being any one of the known deftypes. + values.c (using_struct_return): Use new macro USE_STRUCT_CONVENTION. + + * Makefile.dist, config.gdb: Put in srcdir stuff. + +Mon Feb 12 22:46:16 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * breakpoint.c: Add addr_string and cond_string fields to + struct breakpoint. + (break_command_1): Set them. Use mention (). + (mention): Create with code from break_command_1. + (breakpoint_re_set): New function. + (breakpoint_clear): Remove. + (condition_command): Set cond_string. + (breakpoint_delete): Free cond_string and addr_string. + Declare parse_c_1's type and remove casts to struct expression *. + symmisc.c (free_all_symtabs): Don't call breakpoint_clear. + dbxread.c, coffread.c (reread_symbols): Call breakpoint_re_set, + Include breakpoint.h. + breakpoint.h: New file. + dbxread.c: Move declaration of symmisc.c functions to symtab.h. + +Sun Feb 11 17:29:23 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symtab.c: Make lookup_block_symtab extern. + symtab.h: Declare it. + valops.c (value_of_this): Use it. + +Fri Feb 9 08:59:37 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * config/hp300hpux: Print message telling people to use gcc. + + * value.h: Declare print_floating. + printcmd.c (print_scalar_formatted, case 'f'): Use print_floating. + valprint.c (val_print, case TYPE_CODE_FLT): Use print_floating. + valprint.c (print_floating): Make this function out of is_nan + and the code which was in val_print. + Put parentheses around high & 0xfffff. + Print sign and fraction for NaN's. + Print 17 digits not 16 for doubles. + (is_nan): Remove. + m-news.h, m-sun3.h: Define IEEE_FLOAT. + + * Rename gld-pinsn.c to gould-pinsn.c. + config/{pn,npl}: Change name of gld-pinsn.c + +Tue Feb 6 00:25:36 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * infptrace.c: Define PT_ATTACH if not defined. + m-hp300hpux.h: Define ATTACH_DETACH. + + * main.c (initialize_main): Change alias class to aliases. + + * dbxread.c: Search and destroy references to symsegs. + Also remove some #if 0'd code. + + * core.c: Remove reread_exec. + dbxread.c (reread_symbols): New function. + dbxread.c (symbol_file_command): Set symfile_mtime. + coffread.c: Same. + infcmd.c (run_command): Call reread_symbols not reread_exec. + + * valprint.c (val_print): When printing string after char *, print + it for "" just like any other string. + + * core.c (reread_exec): New procedure. + infcmd.c (run_command): Call reread_exec. + + * coffread.c (symbol_file_command): Add from_tty. + + * dbxread.c (symbol_file_command): Only ask about loading new + symbol table if from_tty. + +Mon Feb 5 02:25:25 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * inflow.c (inferior_died): Call breakpoint_clear_ignore_counts. + + * Makefile.dist (OBS): Remove dbxread.o and coffread.o. + + * config.gdb: Ignore files ending in '#' in config. + + * stack.c (backtrace_command): Add QUIT to get_prev_frame loops. + +Sat Feb 3 22:25:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * Makefile.dist (YACC): Don't use -v. + +Fri Feb 2 19:26:50 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * createtags: Only change .o to .c at end of name. + + * Makefile.dist (alldeps.mak): new target. + (Makefile): add alldeps.mak. + (SOURCES): remove PINSNS. + (TAGFILES: use ALLPARAM. + (gdb.tar): add config/. + + * config.gdb: Check for M_FILE= not #param.h + config/*: Make sure M_FILE= exists with space after M_FILE=. + Makefile.dist (TAGS): Pass M_FILE and DEPFILES. + createtags: Change .o to .c. Remove special tests for dep.c etc. + + * dbxread.c, coffread.c: Don't check COFF_FORMAT and READ_DBX_FORMAT. + Makefile.dist: Move {dbx,coff}read.c from SFILES to ALLDEPFILES. + config/*: add dbxread.o or coffread.o to depfiles. + + * Makefile.dist (depend): Depend on $(SOURCES), not force. + +Thu Feb 1 17:43:54 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * symmisc.c (print_symbol): Print newline after label. + +Wed Jan 31 22:35:38 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (read_addl_syms): Remove code that checks for + _etext. + Move end_of_text_addr into read_dbx_symtab. + (read_dbx_symtab): #if 0 out code which checks for _etext. + +Tue Jan 30 15:40:19 1990 Jim Kingdon (kingdon at albert.ai.mit.edu) + + * Makefile.dist (gdb.tar): Use readline's "make readline.tar" + instead of having a list of readline files. + + * infrun.c (normal_stop): #if 0 out "you have found a bug in sh". + + * munch (-DSYSV): Check for .text at end of name. + Optionally allow extra underscore before initialize. + Remove space between #! and /bin/sh. + + * m-merlin.h: Put in clarifying comments about SHELL_FILE. + Makefile.dist (install): Execute M_INSTALL. + config/merlin: Define M_INSTALL. + +Mon Jan 29 04:32:09 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * inflow.c: Change all references to signal handlers from + int (*)() to void (*)(). + + * main.c: Declare init_signals before use & make it void. + Declare initialize_all_files. + + * Makefile.dist (config.status): New target. + +Sat Jan 27 00:19:50 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * defs.h (enum command_class): Remove comma after last element. + + * Makefile.dist (gdb.tar.Z): Use compress <foo >bar rather + than deleting gdb.tar.Z before starting. + + * dbxread.c (process_one_symbol): Compare context_stack_depth + with !VARIABLES_INSIDE_BLOCK, not VARIABLES_INSIDE_BLOCK. + + * mcheck.c: Put whole file in #if defined MALLOC_RANGE_CHECK. + + * mcheck.c (checkhdr): Call fatal_dump_core not abort. + + * mcheck.c: Copy from malloc distribution. + + * main.c (main): Call init_malloc (). + + * main.c (initialize_signals): Rename to init_signals. + +Fri Jan 26 00:53:23 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * *dep.c: Make core_file_command return void. + + * gdbcore.h [!KERNEL_U_ADDR]: Declare kernel_u_addr. + infptrace.c [!KERNEL_U_ADDR]: Make it extern. + + * altos-dep.c (NBPG, UPAGES): Wrap #define in #if !defined. + + * m-pn.h (GOULD_PN): Define. + *-pinsn.c: Include actual opcode table not just opcode.h + + * main.c [ALIGN_STACK_ON_STARTUP]: New code. + m-i386.h: Define ALIGN_STACK_ON_STARTUP. + + * m-merlin.h (NO_SIGINTERRUPT, SHELL_FILE): Define. + + * Move code from infptrace [USE_PTRACE_GETREGS] to sun3-dep.c. + m-sun{2,3}.h, m-sparc.h: Define FETCH_INFERIOR_REGISTERS. + + * Makefile.dist, config.gdb, config/*: + Re-write to use machine-dependent makefiles instead of cpp. + + * m-hp300hpux.h: Define FETCH_INFERIOR_REGISTERS. + infptrace.c: Put {fetch,store}_inferior_registers inside + #if !defined FETCH_INFERIOR_REGISTERS. + + * Split execcore.c into exec.c and coredep.c. + Move a bunch of stuff from coredep.c and *dep.c to gdbcore.h. + + * infptrace.c ({fetch,store}_inferior_registers): + Use U_REGS_OFFSET to set offset. + m-umax.h: Define U_REGS_OFFSET. + + * m-umax.h: Define PTRACE_{ATTACH,DETACH}. + + * m-i386.h (N_SET_MAGIC): Define. + m-i386gas.h: add #undef N_SET_MAGIC. + +Thu Jan 25 18:39:45 1990 Jim Kingdon (kingdon at mole.ai.mit.edu) + + * m-hp300bsd.h: Remove KERNEL_U_ADDR. + + * infptrace.c [!KERNEL_U_ADDR]: Get address of kernel u area + at runtime. + + * infptrace.c: Replace numbers with PT_KILL, etc. + (store_inferior_registers): Loop for as many words are in the register. + + * infptrace.c [NO_SINGLE_STEP]: Call single_step(). + + * kill_inferior{,_fast}: Declare as returning void. + + * m-sun3.h (USE_PTRACE_GETREGS): Define. + + * execcore.c: Add IS_OBJECT_FILE & related stuff. + + * infptrace.c: Include <sys/ptrace.h>. + [ATTACH_DETACH] [USE_PTRACE_GETREGS]: New code. + + * Split default-dep.c into infptrace.c and execcore.c. + + * valprint.c [IEEE_FLOAT]: Change void * to char *. + + * breakpoint.c: Change printf_filtered(%s) to fputs_filtered. + +Wed Jan 24 00:35:52 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu) + + * dbxread.c (symbol_file_command): When freeing everything, free + the string table too. + + * Makefile.dist (gdb1): add "rm -f gdb1". + + * printcmd.c (print_scalar_formatted): If size is 0, use 'b' + 'h', 'w', or 'g' depending on the type. + + * stack.c (backtrace_command): Read in symbols for frames we'll + print before printing them. + + * valops.c (value_at): Don't print "I/O error" on EIO from + ptrace. Don't print "out of bounds" for any ptrace error + except EIO. + + * valprint.c (type_print_base, case TYPE_CODE_ENUM): + Print "FOO = 5" not "FOO : 5". + + * symtab.{c,h}: Make lookup_misc_func extern. + + * Makefile.dist: Define VERSION in makefile, and generate + version.c automatically. + (gdb.tar): Use gdb-$(VERSION), not dist-gdb. + + * expread.y (yylex): Use lookup_primitive_typename to + cut down on calls to lookup_symbol. + symtab.{c,h} (lookup_primitive_typename): New function. + (lookup_typename): Use it. + + * symtab.{c,h} (check_stub_type): New function. + valprint.c (type_print_base, val_print, type_print_derivation_info), + values.c (allocate_value): Call it. + + * printcmd.c (whereis_command): New function. + symtab.c (lookup_symbol): Add symtab parameter. + various: Pass additional argument to lookup_symbol. + symseg.h (struct symbol): Add line field. + dbxread.c (define_symbol): Set sym->line. + + * dbxread.c (symbol_file_command): Read string table into + malloc'd memory (symfile_string_table) and leave it there. + (psymtab_to_symtab): Use symfile_string_table. + + * utils.c (sig_abbrev): Return NULL if not found. + infrun.c (sig_print_{header,info}): Consolidate duplicated + code from handle_command, signals_info. + (sig_print_info): Just print number if no name from sig_abbrev. + + * Makefile.dist (OTHERS): Add ChangeLog-3.x + + * infrun.c (restore_inferior_status): #if 0 out + "Unable to restore previously selected frame" error message. + + * infrun.c (signals_info, handle_command): Print signal + abbrevs along with numbers. + + * infrun.c (handle_command): Accept symbol signal names. + + * utils.c (sig_{number,abbrev}, init_sig): New functions. + _initialize_utils: Call init_sig for each signal. + defs.h: Declare them. + + * default-dep.c (read_inferior_memory): Check quit_flag in + fetch loop. + + * Changes for lazy fetching (speeds things up for big objects): + value.h (struct value): New field lazy. + VALUE_CONTENTS_RAW, VALUE_LAZY, value_at_lazy: New. + findvar.c (read_var_value): Set lazy instead of fetching. + various: Copy into VALUE_CONTENTS_RAW, not VALUE_CONTENTS. + valops.c: Add value_at_lazy, value_lazy. + various: Call value_at_lazy instead of value_at. + + * symtab.h (LONGEST): Define. + + * m-*.h (LONGEST, BUILTIN_TYPE_LONGEST): Delete (in symtab.h). + + * infrun.c (wait_for_inferior): #if 0 out stop if ABOUT_TO_RETURN + + * version.c: Change version number to 4.0development + +For older changes see ChangeLog-3.x + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/ChangeLog-92 b/contrib/gdb/gdb/ChangeLog-92 new file mode 100644 index 0000000000000..098c13177023d --- /dev/null +++ b/contrib/gdb/gdb/ChangeLog-92 @@ -0,0 +1,6285 @@ +Thu Dec 31 11:06:38 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (BISON): Add comment that when bison is used, it + must include the "-y" option. + * c-exp.y, m2-exp.y (yyrule, yyname, yyss, yyssp, yyvs, yyvsp): + Remove defines to remap non-yacc symbols, thus backing out of + previous recent changes. Standard policy is that non-yacc parser + generators get fixed, rather than adding bug workarounds in gdb + for each new one that pops up. Expand comment to note this. + * c-exp.y, m2-exp.y (YYDEBUG): Revert back to disabled by default. + +Thu Dec 31 09:03:02 1992 Stu Grossman (grossman at cygnus.com) + + * partial-stab.h (near N_BINCL): Remove redundant code in N_BINCL + case. Use code in N_SOL. + + * paread.c: New file that contains all HPPA/HPUX symbol reading + code. + * dbxread.c: Remove almost all HPPA/HPUX symbol reading code. + * (dbx_symfile_init): Use sizeof(long) instead of 4. + * (dbx_symfile_offsets): Make static. + * (pastab_build_psymtabs): New interface routine for paread to + send stabs into dbxread. + * gdb-stabs.h: Remove gobs of HPPA cruft. + +Wed Dec 30 19:47:13 1992 Fred Fish (fnf@cygnus.com) + + * c-exp.y, m2-exp.y (yyrule, yyname): Remap like other yy* names + for byacc. + * ch-exp.y (yyrule, yyname): Remap like other yy* names for byacc. + + * c-exp.y, m2-exp.y (yyreds, yytoks): Remap like other yy* names. + * c-exp.y, m2-exp.y (YYDEBUG): Define if MAINTENANCE_CMDS is defined + and YYDEBUG is not already defined. + * c-exp.y (strncmp): Replace throughout with STREQN, missed + them during the previous replacements. + * printcmd.c (_initialize_printcmd): Update internal documentation + for "set" command to note that the assignment syntax is language + dependent. + * ch-exp.y (yyreds, yytoks): Remap like other yy* names. + * ch-exp.y (YYDEBUG): Define if MAINTENANCE_CMDS is defined + and YYDEBUG is not already defined. + * ch-exp.y (GDB_REGNAME, GDB_LAST, GDB_VARIABLE, GDB_ASSIGNMENT, + single_assignment_action): New terminals and nonterminal for gdb + extensions to chill expression grammer. + * ch-exp.y (match_dollar_tokens): Lexer routine to match all + tokens that start with '$' (register names, convenience vars, etc). + * ch-exp.y (tokentab2): Add GDB_ASSIGNMENT. + * ch-exp.y (yylex): Call match_dollar_tokens. + +Mon Dec 28 15:00:01 1992 Stu Grossman (grossman at cygnus.com) + + * hppah-tdep.c (skip_trampoline_code): Use new macros for + accessing minimal symbol data. + * infcmd.c (read_pc): Use #ifdef, not #if. + * symfile.c (syms_from_objfile): Add CONST to decl for targets. + * tm-hppa.h (FIX_CALL_DUMMY): Use new macros for accessing + minimal symbol data. + + * hppah-tdep.c (frame_saved_pc): Use better test for outermost + frame. Use find_return_regnum to find the caller. + * (find_unwind_entry): New routine to locate stack frame info + associated with a procedure. This looks in the $UNWIND_START$ + section in the SOM file. + * (find_return_regnum): New routine. Uses find_unwind_entry() to + figure out where the caller's return address is stored. + * (find_proc_framesize): New routine. Uses find_unwind_entry() + to figure out the frame size for a procedure. + * (saved_pc_after_call): New routine, moved from tm-hppa.h. + * (init_extra_frame_info): New routine. Corrects PC and FP for + outermost frame if necessary. + * (frame_chain): New routine, moved from tm-hppa.h. + * (skip_trampoline_code): Handle computed function calls (ie: + calls from $$dyncall). + * (unwind_command): Temporary support function to allow user + to control/observe aspects of the unwind (stack frame) info. + * infcmd.c (read_pc): (Temporary), put a hack in to see if the PC + was in a system call, if so, then read the PC from r31. + * tm-hppah.h (SKIP_TRAMPOLINE_CODE, IN_SOLIB_TRAMPOLINE): Deal + with extra arg for skip_trampoline_code(). + * (INIT_EXTRA_FRAME_INFO): Define to point at subr (see above). + * (FRAME_CHAIN, FRAME_CHAIN_VALID): Turn into real subroutines. + * tm-hppa.h (SAVED_PC_AFTER_CALL): Turn into real subroutine. + +Sun Dec 27 17:34:15 1992 Fred Fish (fnf@cygnus.com) + + * dbxread.c (dbx_symfile_init, elfstab_build_psymtabs): + Call new bfd_get_size() and verify that string table is no larger + than the file that is supposed to contain it. + * symfile.c (syms_from_objfile): Only complain about configured + NAMES_HAVE_UNDERSCORE differences between gdb and bfd if the + current target is the default BFD target. + +Sat Dec 26 20:51:41 1992 Fred Fish (fnf@cygnus.com) + + * solib.c (BKPT_AT_MAIN): Change to BKPT_AT_SYMBOL. + * solib.c (bkpt_names): New array of symbol names to try to + use for the "mapping complete" breakpoint. Configurable + define SOLIB_BKPT_NAME is first one to try. + * solib.c (find_solib): Test debug_base for nonzero rather + than just greater than zero. + * solib.c (enable_break): Use bkpt_names to look up address + at which to set "mapping complete" breakpoint. + +Tue Dec 22 20:33:38 1992 Fred Fish (fnf@cygnus.com) + + * defs.h (STRCMP, STREQ, STREQN): New macros. + * defs.h (demangle_and_match): Remove prototype. + * dwarfread.c (STREQ, STREQN): Remove macros, replaced with STREQ + and STREQN defined in defs.h. + * dwarfread.c (set_cu_language): For completely unknown languages, + try to deduce the language from the filename. Retain behavior + that for known languages we don't know how to handle, we use + language_unknown. + * dwarfread.c (enum_type, symthesize_typedef): Initialize language + and demangled name fields in symbol. + * dwarfread.c, mipsread.c, partial-stab.h: For all usages of + ADD_PSYMBOL_TO_LIST, add language and objfile parameters. + * dwarfread.c (new_symbol): Attempt to demangle C++ symbol names + and cache the results in SYMBOL_DEMANGLED_NAME for the symbol. + * elfread.c (STREQ): Remove macro, use STREQ defined in defs.h. + Replace usages throughout. + * elfread.c (demangle.h): Include. + * elfread.c (record_minimal_symbol): Remove prototype and function. + * gdbtypes.h, symtab.h (B_SET, B_CLR, B_TST, B_TYPE, B_BYTES, + B_CLRALL): Moved from symtab.h to gdbtypes.h. + * infcmd.c (jump_command): Remove code to demangle name and add + it to a cleanup list. Now just use SYMBOL_DEMANGLED_NAME. + * minsyms.c (demangle.h): Include. + * minsyms.c (lookup_minimal_symbol): Indent comment to match code. + * minsyms.c (install_minimal_symbols): Attempt to demangle symbol + names as C++ names, and cache them in SYMBOL_DEMANGLED_NAME. + * mipsread.c (psymtab_language): Add static variable. + * stabsread.c (demangle.h): Include. + * stabsread.c (define_symbol): Attempt to demangle C++ symbol + names and cache them in the SYMBOL_DEMANGLED_NAME field. + * stack.c (return_command): Remove explicit demangling of name + and use of cleanups. Just use SYMBOL_DEMANGLED_NAME. + * symfile.c (demangle.h): Include. + * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): Fix + to match macros in symfile.h and allow them to be compiled + if INLINE_ADD_PSYMBOL is not true. + * symfile.h (INLINE_ADD_PSYMBOL): Default to true if not set. + * symfile.h (ADD_PSYMBOL_*): Add language and objfile parameters. + Add code to demangle and cache C++ symbol names. Use macro form + if INLINE_ADD_PSYMBOL is true, otherwise use C function form. + * symmisc.c (add_psymbol_to_list, add_psymbol_addr_to_list): + Remove, also defined in symfile.c, which we already fixed. + * symtab.c (expensive_mangler): Remove prototype and function. + * symtab.c (find_methods): Remove physnames parameter and fix + prototype to match. + * symtab.c (completion_list_add_symbol): Name changed to + completion_list_add_name. + * symtab.c (COMPLETION_LIST_ADD_SYMBOL): New macro, adds both + the normal symbol name and the cached C++ demangled name. + * symtab.c (lookup_demangled_partial_symbol, + lookup_demangled_block_symbol): Remove prototypes and functions. + * symtab.c (lookup_symbol): Remove use of expensive_mangler, + use lookup_block_symbol instead of lookup_demangled_block_symbol. + Remove code to try demangling names and matching them. + * symtab.c (lookup_partial_symbol, lookup_block_symbol): + Fix to try matching the cached demangled name if no match is + found using the regular symbol name. + * symtab.c (find_methods): Remove unused physnames array. + * symtab.c (name_match, NAME_MATCH): Remove function and macro, + replaced with SYMBOL_MATCHES_REGEXP from symtab.h. + * symtab.c (completion_list_add_symbol): Rewrite to use cached + C++ demangled symbol names. + * symtab.h: Much reformatting of structures and such to add + whitespace to make them more readable, and make them more + consistent with other gdb structure definitions. + * symtab.h (general_symbol_info): New struct containing fields + common to all symbols. + * symtab.h (SYMBOL_LANGUAGE, SYMBOL_DEMANGLED_NAME, + SYMBOL_SOURCE_NAME, SYMBOL_LINKAGE_NAME, SYMBOL_MATCHES_NAME, + SYMBOL_MATCHES_REGEXP, MSYMBOL_INFO, MSYMBOL_TYPE): New macros. + * symtab. (struct minimal_symbol, struct partial_symbol, struct + symbol): Use general_symbol_info struct. + * utils.c (demangle_and_match): Remove, no longer used. + * valops.c (demangle.h): Include. + * xcoffexec.c (eq): Remove macro, replace usages with STREQ. + * blockframe.c, breakpoint.c, c-exp.y, c-valprint.c, dbxread.c, + infcmd.c, m2-exp.y, minsyms.c, objfiles.h, solib.c, stack.c, + symmisc.c, symtab.c, valops.c: Replace references to minimal + symbol fields with appropriate macros. + * breakpoint.c, buildsym.c, c-exp.y, c-typeprint.c, c-valprint.c, + coffread.c, command.c, convex-tdep.c, cp-valprint.c, dbxread.c, + demangle.c, elfread.c, energize.c, environ.c, exec.c, + gdbtypes.c, i960-tdep.c, infrun.c, infrun-hacked.c, language.c, + main.c, minsyms.c, mipsread.c, partial-stab.h, remote-es1800.c, + remote-nindy.c, remote-udi.c, rs6000-tdep.c, solib.c, source.c, + sparc-pinsn.c, stabsread.c, standalone.c, state.c, stuff.c, + symfile.c, symmisc.c, symtab.c, symtab.h, tm-sysv4.h, + tm-ultra3.h, values.c, xcoffexec.c, xcoffread.c: Replace strcmp + and strncmp usages with STREQ, STREQN, or STRCMP as appropriate. + * breakpoint.c, buildsym.c, c-typeprint.c, expprint.c, findvar.c, + mipsread.c, printcmd.c, source.c, stabsread.c, stack.c, + symmisc.c, tm-29k.h, valops.c, values.c: Replace SYMBOL_NAME + references with SYMBOL_SOURCE_NAME or SYMBOL_LINKAGE_NAME as + appropriate. + * buildsym.c (start_subfile, patch_subfile_names): Default the + source language to what can be deduced from the filename. + * buildsym.c (end_symtab): Update the source language in the + allocated symtab to match what we have been using. + * buildsym.h (struct subfile): Add a language field. + * c-typeprint.c (c_print_type): Remove code to do explicit + demangling. + * dbxread.c (psymtab_language): Add static variable. + * dbxread.c (start_psymtab): Initialize psymtab_language using + deduce_language_from_filename. + +Mon Dec 21 22:24:33 1992 Fred Fish (fnf@cygnus.com) + + * valprint.c (val_print): Reorganize comment and add note + about dependency on target byte ordering. + * ch-exp.y (value_array_slice): Fix typo. + * ch-valprint.c (chill_val_print): Remove C'ism that arrays of + byte sized ints are assumed to be char strings and printed with + string syntax. In chill, arrays of chars and arrays of + bytes/ubytes are distinquishable, and printed appropriately. + +Mon Dec 21 18:02:35 1992 Stu Grossman (grossman at cygnus.com) + + * tm-hppah.h: #define NEED_TEXT_START_END for target memory + read/write routines for HPUX. + + * hppa-pinsn.c (print_insn): Improve handling of be and ble + branch targets to compute target address using const from previous + instruction if necessary. + * Add `Q' operator to print out bit position field various + instructions. + * hppah-nat.c: #include sys/param.h, and sys/user.h. General + cleanups, use new code from Utah. + * (store_inferior_registers): Update to new code from Utah. + * (initialize_kernel_u_addr): Re-enable decl of struct user u. + * (fetch_register): Clear out priv level when reading PCs. + * hppah-tdep.c: Get rid of gobs of KERNELDEBUG stuff. + * Remove decl of errno, #include wait.h and target.h. + * (frame_saved_pc): Check `flags' pseudo-register to see if we + were inside of a kernel call. If so, then PC is in a different + register. Also, mask out bottom two bits of all PCs so as not to + confuse higher level code. + * (push_dummy_frame): Create from #define in tm-hppa.h. + * (find_dummy_frame_regs): Update from Utah. + * (hp_pop_frame): Create from #define in tm-hppa.h. + * (hp_restore_pc_queue): New, from Utah. + * (hp_push_arguments): Big fixes from Utah. + * (pa_do_registers_info, pa_print_registers): Only print out fp + regs upon request. + * (skip_trampoline_code): New routine to deal with stubs that + live in nowhereland between callers and callees. + * i860-tdep.c: Remove decl of attach_flag. + * infrun.c (wait_for_inferior): Add new macro + INSTRUCTION_NULLIFIED, which can tell if the instruction pointed + at by PC will be nullified. If so, then step the target once more + so as to avoid confusing the user. + * (just before step_over_function:): Use stop_func_start, not + stop_pc when checking for the existance of line number info. + stop_func_start will reflect the proper address of the target + routine, not of the stub that we may be traversing to get there. + * tm-hppa.h: define SKIP_TRAMPOLINE_CODE and IN_SOLIB_TRAMPOLINE + to deal with the stubs that PA compilers sometimes stick between + callers and callees. Also, define FLAGS_REGNUM for access to the + `flags' pseudo-reg. + * (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use + memcpy, not bcopy. + * (CANNOT_STORE_REGISTER): New from Utah. Says that we can't + write gr0, PC regs, and PSW! + * (FRAME_FIND_SAVED_REGS): Bug fixes from Utah. + * (PUSH_DUMMY_FRAME, POP_FRAME): Make into real routines in + hppah-nat.c. + * (CALL_DUMMY, FIX_CALL_DUMMY): Fixes from Utah. + * Define struct unwind_table_entry. + * valops.c (call_function_by_hand): Add another arg to + FIX_CALL_DUMMY (under #ifdef GDB_TARGET_IS_HPPA). Why is this + necessary? + +Mon Dec 21 02:17:57 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * remote-vx.c: remove include of "symfile.h", replace it with "complaints.h" + +Fri Dec 18 10:32:25 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.7.4. + * Makefile.in (SFILES_MAINDIR): Add typeprint.c, c-typeprint.c, + m2-typeprint.c, c-valprint.c cp-valprint.c m2-valprint.c. + * Makefile.in (HFILES): Add valprint.h. + * Makefile.in (OBS): Add typeprint.o, c-typeprint.o, + m2-typeprint.o, c-valprint.o, cp-valprint.o m2-valprint.o. + * typeprint.c, typeprint.h: New files for language independent + type printing functions. + * c-typeprint.c, m2-typeprint.c: New files for language dependent + type printing functions and definitions. + * valprint.h: New include file for language independent value + printing definitions. + * c-valprint.c, cp-valprint.c, m2-valprint.c: New files for language + dependent value printing functions. + * c-exp.y (production ptype): Add range_type variable and use new + create_range_type function. + * c-exp.y (tokentab2, tokentab3), c-lang.c (c_op_print_tab), + infcmd.c (path_var_name), language.c (unk_op_print_tab), + m2-lang.c (m2_op_print_tab): Change from ANSI-obsolescent + "const static" to ANSI-conformant "static const". + * c-exp.y (c_create_fundamental_type): Remove unused nbytes. + * c-exp.y (c_language_defn, cplus_language_defn): Add c_print_type, + and c_val_print. + * c-lang.h (c_print_type, c_val_print): Add prototypes. + * coffread.c (decode_type): Add range_type variable and call to + new create_range_type function. + * complaints.c (complain): Remove unused val variable. + * complaints.c (_initialize_complaints): Make it void. + * convex-tdep.c (value_of_trapped_internalvar): Add range_type + variable and call new create_range_type function. + * defs.h (enum val_prettyprint): Move enum from value.h to here + so we can avoid having to include value.h just for prototypes that + need the enum (thanks ANSI). + * dwarfread.c (struct_type): Local anonymous_size variable is + only used if !BITS_BIG_ENDIAN. + * dwarfread.c (decode_subscript_data_item): Add rangetype + variable and call new create_range_type function. + * elfread.c (elf_symfile_read): Remove unused dbx and text_sect + variables. + * eval.c (evaluate_subexp): Remove unused local variable name + and the statement with no side effects that initializes it. + * expprint.c (print_subexp): Change local_printstr to + LA_PRINT_STRING. + * gdbtypes.c (create_range_type): New function that creates + a range type using code fragments from object file readers as + an example of what has to be initialized. + * gdbtypes.c (create_array_type): Removed index_type, low_bound, + and high_bound parameters, replaced with a single range_type + parameter. Change function body to use passed in range_type + rather than handcrafting one. + * gdbtypes.h (create_range_type): Add prototype. + * gdbtypes.h (create_array_type): Change prototype parameters. + * infrun.c (normal_stop): Remove unused local variables tem and c. + * infrun.c (hook_stop_stub): Return 0 rather than random value. + * language.c (unk_lang_print_type, unk_lang_val_print): Add + stub functions that call error if called. + * language.c (unknown_language_defn, auto_language_defn, + local_language_defn): Add initializers unk_lang_print_type and + unk_lang_val_print. + * language.h (struct language_defn): Reformat for larger + comments, add la_print_type and la_val_print members. Add + LA_PRINT_TYPE and LA_VAL_PRINT macros. Change local_printchar + to LA_PRINT_CHAR and local_printstr to LA_PRINT_STRING. + * m2-lang.c (m2_create_fundamental_type): Remove unused local + variable nbytes. + * m2-lang.c (m2_language_defn): Add initializers m2_print_type + and m2_val_print. + * m2-lang.h (m2_print_type, m2_val_print): Add prototypes. + * main.c (execute_command): Remove unused local variable cmdlines. + * main.c (echo_command), stabsread.c (read_type), printcmd.c + (clear_displays), symmisc.c (block_depth), values.c + (clear_value_history): + Make testing of truth value of assignment result explicit. + * mipsread.c (upgrade_type): Update FIXME to include future use + of create_range_type. + * printcmd.c (ptype_command, ptype_eval, whatis_command, + whatis_exp, maintenance_print_type): Move prototypes and functions + to new typeprint.c. + * printcmd.c (_initialize_printcmd): Move add_com calls for + ptype_command and whatis_command to new typeprint.c. + * ser-bsd.c (serial_open): Remove unused variable sgttyb. + * source.c (find_source_lines): Local variable c only used + when LSEEK_NOT_LINEAR is defined. + * stabsread.c (read_array_type): Use new create_range_type + function. + * stabsread.c (read_range_type): Add new index_type variable and + call new create_range_type function rather than handcrafting + range types. + * symmisc.c (type_print_1): Change usages to LA_PRINT_TYPE. + * symtab.c (typedef_print usages): Use c_typedef_print, renamed. + * symtab.c (type_print_base usages): Use c_type_print_base. + * symtab.c (type_print_varspec_prefix usages): Use + c_type_print_varspec_prefix. + * symtab.c (type_print_method_args usages): Use + cp_type_print_method_args. + * valprint.c: Completely ripped apart and the fragments used + to create c-valprint.c, cp-valprint.c, m2-valprint.c, and + valprint.h. Remaining stuff is language independent. + * value.h (struct fn_field): Forward declare for prototypes. + * value.h (type_print_1): Remove prototype. + * value.h (enum val_prettyprint): Moved to defs.h. + * value.h (typedef_print): Prototype renamed to c_typedef_print. + * value.h (baseclass_offset): Add prototype. + * Makefile.in (SFILES_MAINDIR): Add ch-typeprint.c, ch-valprint.c. + * Makefile.in (OBS): Add ch-typeprint.o, ch-valprint.o. + * ch-typeprint.c: New file for language dependent type printing. + * ch-valprint.c: New file for language dependent value printing. + * ch-exp.y (parse_number): Remove prototype and stub function. + * ch-exp.y (decode_integer_literal): Removed unused digits and + temp variables. + * ch-exp.y (convert_float): Completely ifdef out for now. + * ch-exp.y (tokentab2, tokentab3, tokentab4, tokentab5), + ch-lang.c (chill_op_print_tab): + Change from ANSI-obsolescent "const static" to ANSI-conformant + "static const". + * ch-exp.y (yylex): Add unhandled storage class enumeration + literals to switch statement for completeness. + * ch-lang.c (chill_create_fundamental_types): Remove unused + nbytes variable. Change dummy type to 2 bytes to match int. + Handle FT_VOID types gratuituously added to chill DWARF by + compiler. Change FT_CHAR case to generate an TYPE_CODE_CHAR + type rather than a one byte TYPE_CODE_INT type. + * ch-lang.c (chill_language_defn): Add chill_print_type and + chill_val_print. + * ch-lang.h (chill_print_type, chill_val_print): Add prototypes. + +Thu Dec 17 00:44:57 1992 John Gilmore (gnu@cygnus.com) + + Eliminate uses of NAMES_HAVE_UNDERSCORE, using + bfd_get_symbol_leading_char instead. + + * coffread.c (EXTERNAL_NAME): New macro for removing possible + leading character from names. + (read_coff_symtab): Use BFD's FILE *, don't open a second one. + (process_coff_symbol, coff_read_struct_type, coff_read_enum_type): + Replace NAMES_HAVE_UNDERSCORE with EXTERNAL_NAME. + + * kdb-start.c (main): Remove NAMES_HAVE_UNDERSCORE. + * minsyms.c (install_minimal_symbols): Replace NAMES_HAVE_UNDERSCORE. + Remove SOME_NAMES_HAVE_DOT support (apparently unused). + * partial-stab.h: Replace NAMES_HAVE_UNDERSCORE. + * solib.c: Replace NAMES_HAVE_UNDERSCORE. + * stabsread.h: Remove NAMES_HAVE_UNDERSCORE and HASH_OFFSET. + * symfile.c (syms_from_objfile): Insert debugging check to test + NAMES_HAVE_UNDERSCORE setting against the BFD support. + + * doc/gdbint.texinfo (Host Conditionals): Remove + NAMES_HAVE_UNDERSCORE, SOME_NAMES_HAVE_DOT, document + MEM_FNS_DECLARED. + (Target Conditionals): Remove all of the above. + + * xm-rs6000.h (MEM_FNS_DECLARED): Update comments. + + * coffread.c (read_coff_symtab, C_BLOCK): Use complain() rather + than error() for .bb/.eb. Bug found by Eddie Fung, <efung@cs.uq.oz.au>. + +Tue Dec 15 10:05:56 1992 Ian Lance Taylor (ian@cygnus.com) + + * coffread.c (decode_type): catch negative tagndx fields generated + by SCO 3.2v4 cc. + * exec.c: comment out string following #endif. + * configure.in (i[34]86-*-sco3.2v4*): use host i386sco4. + * xm-i386sco.h: include <sys/types.h> and <sys/dir.h>, required by + <sys/user.h>. + * config/i386sco4.mh: new file; like i386sco.mh, but don't require + gcc, and define const to empty to avoid SCO 3.2v4 cc bug. + +Tue Dec 15 04:14:24 1992 Fred Fish (fnf@cygnus.com) + + * complaints.c: New file, code moved from utils.c. + * complaints.c (complain): Made into a varargs function. + * complaints.h: New file, code moved from symfile.h. + * Makefile.in (SFILES_MAINDIR): Add complaints.c. + * Makefile.in (HFILES): Add complaints.h. + * Makefile.in (OBS): Add complaints.o. + * symfile.c (complaint_root, stop_whining, complaint_series, + complain, clear_complaints, add_show_from_set for stop_whining): + Moved to complaints.c. + * symfile.h (struct complaint, complaint_root decl, complain + prototype, clear_complaints prototype): Moved to complaints.h. + * buildsym.c, coffread.c, dbxread.c, dwarfread.c, elfread.c, + gdbtypes.c, mipsread.c, stbsread.c, symfile.c: Include + complaints.h. Remove casts from arguments to complain(), + which is now a varargs function, and remove unnecessary + placeholder zero args. + * defs.h (begin_line): Add prototype. + * defs.h (vprintf_filtered): Add prototype. + * dwarfread.c (varargs.h): Remove, no longer needed. + * dwarfread.c (dwarfwarn): Remove prototype and function. + * dwarfread.c (complaints): Define a bunch of complaints. + * dwarfread.c (SQUAWK): Remove macro defs, convert all + usages to standard complain() calls. + * utils.c (begin_line): New function that ensures that + whatever gets filter-printed next starts on its own line. + * utils.c (vprintf_filtered): New func, like vfprintf_filtered, + but to stdout (calls vfprintf_filtered internally). + +Tue Dec 15 02:01:00 1992 John Gilmore (gnu@cygnus.com) + + * remote.c: Avoid printf_filtered line limit. Suggested by + Robert R. Henry, <rrh@tera.com>. + * infcmd.c (environment_info): Ditto, for Don Allen <allen@think.com>. + + * main.c (main): Accept --silent as well as --quiet. Change +help + to --help. Suggested by Karl Berry, <karl@cs.umb.edu>. + + * doc/gdbint.texinfo: SWAP_HOST_AND_TARGET => SWAP_TARGET_AND_HOST. + Noticed by Andy Jackson, <arj@cam-orl.co.uk>. + +Mon Dec 14 23:28:15 1992 John Gilmore (gnu@cygnus.com) + + * tm-nindy960.h, remote-nindy.c: Lint. + +Mon Dec 14 18:48:52 1992 Fred Fish (fnf@cygnus.com) + + * gdbtypes.c (create_array_type): Complete rewrite. Now requires + a optional type to decorate as an array type, the type of the + index, and the bounds of the array. Records this additional info + in the array type for use with languages with nonzero array + bounds. + * gdbtypes.h (enum type_code): Update comment for TYPE_CODE_ARRAY + to note that arrays may have bounds. + * gdbtypes.h (create_array_type): Update prototype. + * c-exp.y (ptype production): Adjust for new create_array_type + calling conventions. + * coffread.c (decode_type): Call create_array_type rather than + handcrafting array types. + * convex-tdep.c (value_type): Remove, now use create_array_type. + * convex-tdep.c (value_of_trapped_internalvar): Convert calls to + vector_type into calls to create_array_type. + * dwarfread.c (decode_subscr_data): Name changed to + decode_subscript_data_item throughout. + * dwarfread.c (decode_subscript_data_item): Rewrite to use + create_array_type. Now records index type and range as well. + * dwarfread.c (dwarf_read_array_type): Rewrite as part of + change to use create_array_type. + * dwarfread.c (read_subroutine_type): Test existing user defined + types before decorating them, to ensure they are blank, and + complain about it if they are not. + * dwarfread.c (decode_fund_type): For unrecognized types, always + return some valid type (type integer). If the unrecognized type + cannot be an implementation defined type, complain as well. + * m88k-tdep.c (pushed_size): Update comment for TYPE_CODE_ARRAY. + * m88k-tdep.c (store_param): Update comment for TYPE_CODE_ARRAY. + * mipsread.c (upgrade_type): Add FIXME comment that code to + handcraft arrays should be replaced with call to create_array_type. + * stabsread.c (read_array_type): Replace code to handcraft + array types with call to create_array_type. + * valprint.c (type_print_varspec_prefix): Minor formatting + change, join lines that don't need to be split. + +Mon Dec 14 17:18:42 1992 Stu Grossman (grossman at cygnus.com) + + * convex-xdep.c, hppab-nat.c, infptrace.c: Remove + decl for attach_flag, it now lives in inferior.h. + * hppa-pinsn.c: Reformat opcode tables. Add function prototypes. + Make most functions static. + * hppah-nat.c: General cleanups, remove BSD specific code (since + that all lives in hppab-nat.c). + * hppah-tdep.c (frame_chain_valid), tm-hppa.h (FRAME_CHAIN): + Change sense of test against inside_entry_file(). This fix is + from U. of Utah. + * tm-hppa.h (PUSH_DUMMY_FRAME, POP_FRAME): Use char * for 2nd arg + to read/write_register_bytes(). + * gdbtypes.h: Remove const from decl for cplus_struct_default to + work around PA-GAS assembler bug. Also, add trailing */ to some + comments. + * gdbtypes.c: Remove const from decl for cplus_struct_default. + Same reason as above. + +Wed Dec 9 19:53:25 1992 John Gilmore (gnu@cygnus.com) + + * mipsread.c (parse_symbol): When checking whether a structured + type is an enum, check qualifiers of its first member, as well as + the base type of the member. Bug found and fixed by John M. + Farrell, <farrell@fjord.reo.dec.com>. + + * vx-share/{reg.h,xdr_regs.h,xdr_regs.c}: Remove, unused. + * remote-vx.c: Don't include vx-share/reg.h. + * vx-share/ptrace.h: Reproduce from scratch. + * config/{vxworks68,vxworks960}: Don't include xdr_regs.o. + * Makefile.in: Remove references to removed files, and to removed + 29k-share directories. + +Tue Dec 8 13:30:58 1992 Fred Fish (fnf@cygnus.com) + + * c-lang.c (_initialize_c_language): Name changed from + _initialize_c_exp. + * m2-lang.c (_initialize_m2_language): Name changed from + _initialize_m2_exp. + * m2-lang.c (_initialize_m2_language): Change malloc to xmalloc since + it is no longer inside m2-exp.y, where it was remapped by Makefile. + * c-exp.y, m2-exp.y: Migrate code that has nothing to do with + expression parsing into c-lang.c and m2-lang.c respectively. + * c-lang.c, m2-lang.c: New files, code migrated from c-exp.y and + m2-exp.y respectively. + * c-lang.h, m2-lang.h: New files, internal interfaces between c-* + and m2-* files respectively. + * Makefile.in (SFILES_MAINDIR): Add c-lang.c, m2-lang.c. + * Makefile.in (HFILES): Add c-lang.h, m2-lang.h. + * Makefile.in (OBS): Add c-lang.o, m2-lang.o. + * expression.h (struct block): Forward declaration for prototypes. + * language.h (struct objfile): Forward declaration for prototypes. + * Makefile.in (SFILES_MAINDIR): Add ch-lang.c. + * Makefile.in (HFILES): Add ch-lang.h. + * Makefile.in (OBS): Add ch-lang.o. + * ch-exp.y: Migrate code that has nothing to do with expression + parsing into ch-lang.c. + * ch-lang.c: New file, code migrated from c-exp.y. + * ch-lang.h: New file, internal interface between ch-* files. + * ch-lang.c (_initialize_chill_language): Name changed from + _initialize_chill_exp. + + Changes for Amiga Unix from rhealey@ub.d.umn.edu. + * config/amix.mh (NAT_FILE): Add, set to nm-sysv4.h. + * config/amix.mh (NATDEPFILES): Add. + * config/amix.mh (XDEPFILES): Move procfs.o and fork-child.o + to NATDEPFILES. + + * dwarfread.c (decode_subscr_data): Remove spurious test that + accepted only integer subscript types. We don't do anything + with the type at the moment anyway. + +Fri Dec 4 06:56:56 1992 Fred Fish (fnf@cygnus.com) + + * ch-exp.y (match_character_literal): Fix case where no + match at all is found. + * ch-exp.y (chill_create_fundamental_type): Chill uses fixed + width types. For example, "INT" is always 2 bytes regardless + of the values of any TARGET_*_BIT macros. So use explicit + numeric sizes for the types. + +Thu Dec 3 12:00:06 1992 Fred Fish (fnf@cygnus.com) + + * c-exp.y (c_create_fundamental_type): New function to create + language specific fundamental types for C. + * m2-exp.y (m2_create_fundamental_type): New function to create + language specific fundamental types for Modula 2. + * c-exp.y (c_language_defn, cplus_language_defn): Add + c_create_fundamental_type to language struct initializers. + * m2-exp.y (m2_language_defn): Add m2_create_fundamental_type + to language struct initializers. + * dwarfread.c (expression.h, language.h): Include. + * dwarfread.c (ftypes): New array to hold fundamental types + for current compilation unit. + * dwarfread.c (cu_language_defn): New pointer to language + struct for language of current compilation unit. + * dwarfread.c (dwarf_fundamental_type): New function to + create/lookup fundamental types. + * dwarfread.c (set_cu_language): Initialize cu_language_defn. + * dwarfread.c (throughout): Replace lookup_fundamental_type + with dwarf_fundamental_type. + * dwarfread.c (read_file_scope): Zero out ftypes for each new + compilation unit (may be different language or different objfile). + * gdbtypes.c (lookup_fundamental_type): Move actual type + creations into language specific fundamental type creation + functions and call via create_fundamental_type. Add comment + about this function being obsolescent. + * gdbtypes.h (FT_BYTE, FT_UNSIGNED_BYTE): New types, true byte + sized signed and unsigned integers. + * gdbtypes.h (FT_NUM_MEMBERS): Increment, new types added. + * language.c (language_def): New function to lookup a language + struct given it's enumeration. + * language.h (struct language_defn): Add la_fund_type, a pointer + to a function that creates fundamental types for this language. + * language.h (create_fundamental_type): New macro to create + fundamental types based on the current language. + * language.h (language_def): Add prototype. + * language.c (unk_lang_create_fundamental_type): New function + for initializing language structs, calls error if called. + * language.c (unk_language_defn, auto_language_defn, + local_language_defn): Use unk_lang_create_fundamental_type. + ch-exp.y (chill_create_fundamental_type): New function. + ch-exp.y (chill_language_defn): Add chill_create_fundamental_type. + ch-exp.y (_initialize_chill_exp): BOOL types are only one byte. + +Tue Dec 1 17:07:31 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (CHILL_PRODUCER): Add producer string for + GNU chill. + * dwarfread.c (handle_producer): Test CHILL_PRODUCER as well + as GCC_PRODUCER and GPLUS_PRODUCER. + +Mon Nov 30 18:46:58 1992 Stu Grossman (grossman at cygnus.com) + + * remote-udi.c (udi_wait): Don't stop if TIP says that remote is + still running. + +Mon Nov 30 12:00:25 1992 Fred Fish (fnf@cygnus.com) + + * tm-sun4sol2.h: Add CPLUS_MARKER. Solaris 2.0 requires '.' + rather than '$'. This particular piece of braindamage is + spreading like ooze. It's now infected libiberty, deja-gnu, + gdb, and gcc. + * values.c (baseclass_addr): Use CPLUS_MARKER rather than + hardwired '$' character. + +Sun Nov 29 15:22:42 1992 Fred Fish (fnf@cygnus.com) + + (Changes to break incredibly ugly, unmaintainable 750 line + read_struct_type function up into managable pieces.) + * Makefile.in (VERSION): Bump to 4.7.3. + * stabsread.c (struct field_info): Local struct definition. + * stabsread.c (read_member_functions, read_struct_fields, + read_baseclasses, read_tilde_fields, attach_fn_fields_to_type, + attach_fields_to_type, read_cpp_abbrev): Prototypes and new + functions from fragmented read_struct_type. + * stabsread.c (stabs_general_complaint): Catchall complaint. + * stabsread.c (STABS_CONTINUE): Macro'ize cretinous stabs + symbol name continuation code. Use macro throughout. + * stabsread.c (various places): Replace add-one-to-pointer + with pointer increment. + * stabsread.c (read_type): Retain function local copy of type + descriptor. Rearrange code calling read_struct_type() to match + new conventions. + * stabsread.c (define_symbol): For the sake of dbx, gcc emits + a single blank as the name of nameless enumerations. Recognize + this special case and set nameless flag. + * ch-exp.y (GENERAL_PROCEDURE_NAME, LOCATION_NAME): New + terminal tokens. + * ch-exp.y (access_name): New non-terminal token and + production. + * ch-exp.y (general_procedure_name): Now a terminal token. + * ch-exp.y (location): Expand production. + * ch-exp.y (match_simple_name_string): New function. + * ch-exp.y (yylex): Call match_simple_name_string and return + GENERAL_PROCEDURE_NAME or LOCATION_NAME as appropriate. + +Wed Nov 25 07:17:13 1992 Fred Fish (fnf@cygnus.com) + + * munch: Backslash escape vertical bar characters inside + grep patterns since they have special meaning for some greps. + * parse.c (write_exp_string): Complete rewrite to store string + contants as a leading explicit length, followed by the string data, + followed by a trailing explicit length. + * eval.c (evaluate_subexp), expprint.c (print_subexp), + parse.c (length_of_subexp), parse.c (prefixify_subexp): + Use recorded explicit length of strings in expression elements, + rather than strlen. Adjust code to skip over strings stored in + expression elements, and code to access strings, to account for + new leading explicit size expression element. + * parse.c (length_of_subexp): Test for minimum endpos of 1, not + 0, to avoid negative expression element indices. + * valops.c (search_struct_method): Minor whitespace change. + +Mon Nov 23 11:14:15 1992 Fred Fish (fnf@cygnus.com) + + * c-exp.y (yylex): Add tempbuf, tempbufindex, and tempbufsize, + which together maintain a dynamically expandable static buffer + for the lexer to use when translating C strings to their internal + form (other future uses possible). Fix parsing of C style strings + to do the normal C style input conversions of escaped character + sequences. + * valops.c (value_string): Remove translation of escaped + character sequences, now done in C expression parser. + * language.h (PRINT_LITERAL_FORM): New macro that takes character + and decides if it should be printed in literal form or some other + form, based on it's ASCII value and setting of sevenbit_strings. + * {c-exp.y, m2-exp.y} (emit_char): Use new PRINT_LITERAL_FORM + macro, change indentation style. + * ch-exp.y (chill_printchar): Use new PRINT_LITERAL_FORM macro. + * ch-exp.y (chill_printstr): First cut at real function instead + of error stub. + +Sun Nov 22 16:21:41 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * nindy-share/stop.h: fixed bogus comment-end in copyright message + + * i960-pinsn.c: fixed two calls of fputs_filtered that had 3 arguments + +Fri Nov 20 21:35:57 1992 Fred Fish (fnf@cygnus.com) + + * defs.h (sevenbit_strings): Add declaration. + * defs.h (printchar): Replace with gdb_printchar. + * language.h (language_defn): Add new function pointers + la_printchar and la_printstr, to do language dependent + printing of characters and strings. + * language.h (local_printchar, local_printstr): New macros + to call language dependent functions pointed to by la_printchar + and la_printstr respectively. + * c-exp.y (emit_char, c_printchar, c_printstr): New language + dependent functions for printing characters and strings. + * c-exp.y (c_language_defn, cplus_language_defn): Add + c_printchar and c_printstr. + * command.c (do_setshow_command): Rename printchar use to + gdb_printchar. + * expprint.c (print_subexp): Replace C style string output + with call to local_printstr. + * language.c (unk_lang_printchar, unk_lang_printstr): + New stubs, currently errors. + * language.c (unknown_language_defn, auto_language_defn, + local_language_defn): Add unk_lang_printchar and + unk_lang_printstr. + * m2-exp.y (emit_char, m2_printchar, m2_printstr): New + language dependent functions to print characters and strings. + * m2-exp.y (m2_language_defn): Add m2_printchar and m2_printstr. + * utils.c (printchar): Renamed to gdb_printchar. + * valprint.c (print_string): Remove prototype, function moved + to c-exp.y, where it becomes c_printstr. + * valprint.c (print_max): Made global for reference from the + language dependent printing routines in *-exp.y. + * valprint.c (repeat_count_threshold): New variable with function + of old REPEAT_COUNT_THREHOLD define, but now settable by user. + Change all references to old macro to references to new variable. + * valprint.c (value_print, val_print): Replace calls to + print_string with calls to local_printstr. + * valprint.c (val_print): Replace C style character printing + with call to local_printchar. + * valprint.c (val_print): Add case for TYPE_CODE_CHAR. + * valprint.c (_initialize_valprint): Add add_show_from_set + call for setting up repeat_count_threshold as print variable. + * ch-exp.y (decode_integer_value): New function. + * ch-exp.y (decode_integer_literal): Use decode_integer_value. + * ch-exp.y (chill_printchar, chill_printstr): New language + dependent functions for printing characters and strings. + * ch-exp.y (chill_language_defn): Add chill_printchar and + chill_printstr. + +Thu Nov 19 21:22:21 1992 John Gilmore (gnu@cygnus.com) + + * main.c (main): Print GDB version number in gdb -help; doc pid arg. + Suggested by Marty Leisner, <leisner@eso.mc.xerox.com>. + (print_gdb_version): New arg is stdout or stderr. Callers changed. + +Wed Nov 18 15:05:45 1992 Ian Lance Taylor (ian@cygnus.com) + + * remote-vx.c (vx_kill): just warn if we can't contact the board, + and assume the process has been killed. + +Wed Nov 18 14:39:57 1992 Stu Grossman (grossman at cygnus.com) + + * remote-udi.c (udi_open): Reset vars so that user can re-run + programs without leaving GDB. + * (many routines): Slightly improve error handling. + * (download): Zero out BSS by longs instead of bytes to avoid + timeouts in real hardware. + * 29k-share/udi/udip2soc.c (UDIDisconnect, UDIKill): Indicate + that connection is no longer in use after shutdown() of socket. + This keeps GDB from dying of a SIGPIPE when you issue multiple + `target udi' commands. + +Wed Nov 18 14:27:47 1992 Fred Fish (fnf@cygnus.com) + + * language.h (language_format_info): New structure to bundle + local formatting information. + * language.h (language_defn): Replace individual format info + with language_format_info structs. + * language.h (local_*_format, local_*_format_prefix, + local_*_format_specifier, local_*_format_suffix): New macros + for binary/octal/decimal/hex formats to access info elements. + * c-exp.y (c_language_defn): Update for new format handling. + * m2-exp.y (m2_language_defn): Update for new format handling. + * dbxread.c (language.h): Include for partial-stab.h use. + * mipsread.c (expression.h, language.h): Include for + partial-stab.h use. + * defs.h (local_hex_format, local_hex_format_custom, + local_hex_string, local_hex_string_custom): Move to language.h. + * language.c (local_hex_format_custom, local_hex_string, + local_hex_string_custom, local_octal_format_custom): Use new + format handling. + * language.c (unknown_language_defn, auto_language_defn, + local_language_defn): Update for new format handling. + * printcmd.c (print_scalar_formatted): Use new macros + to access decimal and binary format info for printing. + * c-exp.y (chill_language_defn): Update for new format handling. + * ch-exp.y (CHARACTER_LITERAL): Add support to yylex. + * ch-exp.y (decode_integer_literal): Add function + * ch-exp.y (match_integer_literal): Use decode_integer_literal. + * ch-exp.y (builtin_type_chill_char): Add definition. + * gdbtypes.h (builtin_type_chill_char): Add declaration. + +Tue Nov 17 11:17:06 1992 Ian Lance Taylor (ian@cygnus.com) + + * tm-rs6000.h (BELIEVE_PCC_PROMOTION): Define, since AIX cc gets + it right. + (aix_framedata): added nosavedpc field. + (SAVED_PC_AFTER_CALL): Don't try to optimize; just call + read_register. + (FRAMELESS_FUNCTION_INVOCATION): Pass second argument of 0. + (FRAME_SAVED_PC): If PC not saved, use SAVED_PC_AFTER_CALL. + * rs6000-tdep.c (skip_prologue): Handle gcc generated stfd + instructions as function_frame_info does. Expand special case of + st r31,-4(r1) to be st r31,NUM(r1), since gcc can generate offsets + other than -4. + (pop_frame): Add 4 rather than sizeof (int) to avoid host + dependence. + (function_frame_info): Set frameless if the function has no frame, + and set nosavedpc if the PC was not saved. Handle gcc generated + stfd 31,-4(31); st 31, -12(31) correctly. + (frameless_function_invocation): New second argument pcsaved; if 0 + return whether the function has a frame, if 1 return whether the + function saved PC. + (frame_initial_stack_address): Correct typo: cache registers for + callee_fi, not for fi, (avoids reading garbage memory locations). + +Mon Nov 16 15:58:07 1992 Stu Grossman (grossman at cygnus.com) + + * infrun.c (wait_for_inferior (just before step_over_function + label)): Change test for stepping into subroutine to check for the + presence of line number info. This makes stuff compiled with -g1 + cause GDB to not lose control when stepping. + + * symtab.c (find_pc_line): Improve code per gnu's suggestions. + Improve comments as well. + +Sun Nov 15 09:22:09 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.7.2 + * symtab.c (find_pc_symtab): Fix return of random value + to caller. + * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add dependency on + Makefile since it contains sed patterns used in generation. + Add sed pattern to also delete #include of any malloc.h. + * c-exp.y, expr.c, expression.h, language.c, m2-exp.y, + parser-defs.h, valarith.c, valops.c, value.h: Remap macros and + function names to conform to K&R terminology with respect to + logical and bitwise operators: + UNOP_ZEROP => UNOP_LOGICAL_NOT + UNOP_LOGNOT => UNOP_COMPLEMENT + BINOP_LOGAND => BINOP_BITWISE_AND + BINOP_LOGXOR => BINOP_BITWISE_XOR + BINOP_LOGIOR => BINOP_BITWISE_IOR + BINOP_AND => BINOP_LOGICAL_AND + BINOP_OR => BINOP_LOGICAL_OR + PREC_OR => PREC_LOGICAL_OR + PREC_AND => PREC_LOGICAL_AND + PREC_LOGIOR => PREC_BITWISE_IOR + PREC_LOGXOR => PREC_BITWISE_XOR + PREC_LOGAND => PREC_BITWISE_AND + value_zerop() => value_logical_not() + value_lognot() => value_complement() + * c-exp.y (c_op_print_tab): Add explicit empty terminator. + * m2-exp.y (m2_op_print_tab): Add explicit empty terminator. + * i387-tdep.c (sys/dir.h): Remove, appears to be unnecessary + and is nonexistant in some SVR4 based systems. + * language.c (DEFAULT_ALLOCSIZE): Change from 3 => 4. + * m2-exp.y (number_sign, modblock): Make static, #ifdef out + unused modblock. + * m2-exp.y (ANDAND): Rename to LOGICAL_AND. + * source.c (source_info): Fix minor nits, print "1 line" rather + than "1 lines", and "language is <lang>". + * valarith.c (value_binop): Handle TYPE_CODE_BOOL as well + as TYPE_CODE_INT and TYPE_CODE_FLOAT. + * valprint.c (val_print): Print TYPE_CODE_BOOL type values as + "TRUE" or "FALSE". + * values.c (value_from_longest): Handle TYPE_CODE_BOOL. + * ch-exp.y: New expression parser, for GNU-Chill. + * defs.h (enum language): Add language_chill. + * dwarfread.c (set_cu_language): Add LANG_CHILL case and make + LANG_MODULA2 a recognized language. + * gdbtypes.h (enum_typecode): Note TYPE_CODE_BOOL used for + Chill as well as Modula-2. + * gdbtypes.y (builtin_type_chill_bool, builtin_type_chill_long, + builtin_type_chill_ulong, builtin_type_chill_real): Add. + * language.c (set_language_command): Add chill. + * language.c (binop_result_type, integral_type, character_type, + boolean_type, structured_type, value_true, binop_type_check): + Add language_chill cases. + * language.h (_LANG_chill): Define. + * symfile.c (deduce_language_from_filename): Recognize the + filename extensions ".chill", ".c186", and ".c286" for Chill. + * valprint.c (typedef_print): Add case for language_chill. + * Makefile.in (SFILES_MAINDIR): Add ch-exp.y. + * Makefile.in (YYFILES): Add ch-exp.tab.c. + * Makefile.in (YYOBJ): Add ch-exp.tab.o. + * Makefile.in (saber_gdb): Add unload of ch-exp.y and load + of ch-exp.tab.c. + * Makefile.in (distclean): Add target ch-exp.tab.c. + * Makefile.in (realclean): Add rm of ch-exp.tab.c. + * Makefile.in (ch-exp.tab.o, ch-exp.tab.c): New targets. + * eval.c (evaluate_subexp): Add OP_BOOL case. + * expprint.c (print_subexp): Add OP_BOOL case. + +Fri Nov 13 20:36:28 1992 John Gilmore (gnu@cygnus.com) + + * infcmd.c (set_environment_command): Avoid skipping first + char of env value if an '=' appears in it. Bug report and fix + by Mark Jungerman, <maj@lucid.com>. + +Fri Nov 13 20:24:10 1992 Stu Grossman (grossman at cygnus.com) + + * infcmd.c (step_over_calls): Improve comments. + * symtab.c (find_pc_psymtab): Clean up a bit. + * (find_pc_symtab): Fix comments, clean up code. + * (find_pc_line): General cleanups, efficiency improvements. + Also, don't return garbage when some line info exists, but there + was no good match. + +Thu Nov 5 23:04:38 1992 Rob Ryan (rr2b@andrew.cmu.edu) + + * xcoffexec.c (vmap_symtab): fixed a bug where if a object has no + member, and the stat pointer passed to vmap_symtab was NULL, the + wrong vmap entries would be modified. Fixes behavior where + attempting to load symbols for a module with no member would mess + up already read in symbols. + +Wed Nov 11 17:09:17 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Remove dependancies for 29k-share/dfe/yank.o and + 29k-share/dfe/mini2udi.o. + * config/a29k-udi.mt: Remove yank.o and mini2udi.o. + * alldeps.mak, depend: Update to deal with removal of + aforementioned files. + * remote-udi.c: Major cleanups. Clean up udi_open and drop + requirement for useless 'program' argument. Clean up + udi_create_inferior, and udi_load to call common download() + routine. Create download routine to load remote hosts directly + (with the help of BFD) so that we don't need yank.c and + mini2udi.c. + Fix udi_detach to call UDIDisconnect with + the right arguments. Clean up udi_resume, don't assign tip_error + twice. Clean up udi_wait, straighten out status codes. Make + udi_kill really work. + +Fri Nov 6 10:26:01 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * c-exp.y: separated host/target idea of integer type size, + removed redundant parse rules. (YYSTYPE): added typed_val, removed + UINT and CHAR rules. (parse_number): work out the targetwise type + of a number based upon it's size and qualifiers. (yylex): chars + are now treated the same way as ints. + + * source.c (indentify_source_line): don't core dump if wanted + line is larger than number of lines in source. (can happen when + coff gets confused about #included source). + +Fri Nov 6 03:00:39 1992 John Gilmore (gnu@cygnus.com) + + Fix problems noticed by Allan Steel, <allan@maths.su.oz.au>, + when debugging a program with 100 shared libraries. + + * solib.c (solib_map_sections): Always close the BFD we open. + Free all malloc'd storage we allocate, too, including error cases. + (struct so_list): Remove unused so_bfd member. + (clear_solib): Don't bother closing so_bfd. + + * symfile.c (symfile_bfd_open): Mark newly opened BFD as + cacheable. `So many symbol files, so little file descriptors.' + +Fri Nov 6 00:14:38 1992 John Gilmore (gnu@cygnus.com) + + * m68k-stub.c: Remove ansidecl.h and the few uses of it. + Stubs should stand alone as much as possible. + + * source.c (show_directories): Avoid printf_filtered length prob + pointed out by Jonathan Stone. + + * i960-pinsn.c (MEM_MAX, MEM_SIZ): Set upper limit properly to + avoid accesses beyond end of table. Fix by Lee W. Cooprider, + <Lee_Cooprider@vos.stratus.com>. + +Thu Nov 5 17:33:08 1992 Fred Fish (fnf@cygnus.com) + + * {ser-bsd.c, ser-termios.c} (serial_close): Pass address of + struct, not struct itself. + * serial.h (serial_restore): Fix prototype, takes pointer not + struct. + +Thu Nov 5 17:12:42 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (depend): Add nm.h to the list of things to fixup. + * depend: Redo, to fixup nm.h problems with *-tab.c files. + +Thu Nov 5 00:19:51 1992 John Gilmore (gnu@cygnus.com) + + * i386-stub.c: Remove ansidecl.h and the few uses of it. + Stubs should stand alone as much as possible. + + * README: Add remote-es1800.c and remote-st2000.c to table. + * go32-nat.c: Remove, there is no native go32 support. + * go32-xdep.c: Remove unused fork, fvork, wait, execlp, kill_inferior. + +Wed Nov 4 15:27:31 1992 Stu Grossman (grossman at cygnus.com) + + * inflow.c (pass_signal, set_sigint_trap, clear_sigint_trap): Add + new routines to deal with sending SIGINTs to attached processes + when the user interrupts the controlling GDB. + * inftarg.c (child_wait), procfs.c (procfs_wait): Add calls to + the aforementioned routines when waiting for the attached process. + + * elfread.c, mipsread.c: Include <string.h>. + * i386-stub.c: Include "ansidecl.h" to deal with prototypes. + * serial.h: Add prototype for serial_restore(). + +Wed Nov 4 11:13:25 1992 Ian Lance Taylor (ian@cygnus.com) + + * minsyms.c (lookup_minimal_symbol_by_pc): subtract 1, not 2, from + minimal_symbol_count, because the NULL symbol is not included in + the count. This prevented this function from finding the last + symbol in the table. + +Tue Nov 3 11:29:17 1992 Ian Lance Taylor (ian@cygnus.com) + + * dbxread.c (process_one_symbol): if not defined + (BLOCK_ADDRESS_FUNCTION_RELATIVE), set function_start_offset at + the start of the function, not just after N_FUN. + +Fri Oct 30 16:33:02 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add sed patterns to + remap all malloc's to xmalloc's and all realloc's to xrealloc's. + * c-exp.y, m2-exp.y: Add comment about how malloc/realloc are + remapped to xmalloc/xrealloc, use only malloc/realloc in grammer + file. Remove preprocessor defines that previously did remapping. + +Fri Oct 30 00:58:18 1992 John Gilmore (gnu@cygnus.com) + + * infcmd.c (run_command): Avoid long calls to printf_filtered. + Bug fix courtesy of Alexander Klaiber. + +Tue Oct 27 17:08:45 1992 K. Richard Pixley (rich@cygnus.com) + + hp300 native support (hp300hpux untested). + + * hp300ux-xdep.c: removed. + * xm-hp300bsd.h (REGISTER_U_ADDR): removed. + * xm-hp300hpux.h: updated copyright. + (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): removed. + * nm-hp300bsd.h, nm-hp300hpux.h, hp300ux-nat.c: new files. + * Makefile.in (HFILES): added nm-hp300bsd.h and nm-hp300hpux.h. + * config/hp300bsd.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/hp300bsd.mt (TDEPFILES): removed exec.o. + * config/hp300hpux.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/hp300hpux.mt (TDEPFILES): removed exec.o. + + Vax ultrix native support. + + * nm-vax.h: new file. + * Makefile.in (HFILES): added nm-vax.h. + * config/vaxult.mh (XDEPFILES): infptrace.o inftarg.o fork-child.o + coredep.o corelow.o removed. + (NAT_FILE, NATDEPFILES): new macros. + * xm-vax.h: updated copyright. + (REGISTER_U_ADDR): removed. + + Apollo native support (untested). + + * Makefile.in (HFILES): added nm-apollo68[bv].h. + * a68v-nat.c, nm-apollo68[bv].h: new files. + * xm-apollo68[bv].h (FETCH_INFERIOR_REGISTERS): removed. + * xm-apollo68b.h (PTRACE_IN_WRONG_PLACE): removed. + * a68v-xdep.c: removed. + * config/apollo68[bv].mh (XDEPFILES): removed infptrace.o + inftarg.o fork-child.o a68v-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + + * defs.h: include nm.h. + * coredep.c, infptrace.c, procfs.c, rs6000-nat.c, sparc-nat.c, + sparc-tdep.c, : do not include nm.h. + * doc/gdbint.texinfo: nm.h now included in defs.h. + +Fri Oct 23 04:47:17 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (VERSION): 4.7.1 post release! + + * config/hppahpux.mh (NATDEPFILES): Add hppah-nat.o. + +Fri Oct 23 00:48:08 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): gdb-4.7 release. + * README: Update for gdb-4.7. + +Thu Oct 22 11:24:18 1992 Stu Grossman (grossman at cygnus.com) + + * sparc-tdep.c: include nm.h (for now) so that we get USE_PROC_FS + when necessary. + + * alldeps.mak, depend: Update. + +Thu Oct 22 03:14:36 1992 John Gilmore (gnu@cygnus.com) + + * partial-stab.h ('f', 'F'): Don't reference pst->textlow if pst + is null. + * tm-sun4sol2.h (PROLOGUE_FIRSTLINE_OVERLAP): Remove -- it + causes problems in setting breakpoint in the right place in + functions with `float' args which are passed as doubles. + * xm-vaxbsd.h (MEM_FNS_DECLARED): Avoid erroneous redecl's. + * config/rs6000.mh (NATDEPFILES): Add corelow.o. + +Thu Oct 22 01:01:24 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (HFILES): Add nm-i386sco.h. + * dwarfread.c: include <sys/types.h> for SCO. + * infptrace.c: Don't include ptrace.h under SCO. + * config/i386sco.mh: Use -D_POSIX_SOURCE instead of -posix for + gcc. + * config/i386v.mt: Add exec.o to TDEPFILES. + +Wed Oct 21 19:08:20 1992 Stu Grossman (grossman at cygnus.com) + + * i386v-nat.c: Remove space from front of #endif. + * irix4-nat.c: Remove externs of registers[], include inferior.h + instead. + * mips-nat.c: Explicitly initialize zerobuf to 0! + * mips-tdep.c (init_extra_frame_info): Undo John's last change. + Always setup fci->frame, even if it's non-zero. Too many places + depend upon this behavior (and I have to get a release out the + door)! + * mipsread.c (parse_partial_symbols, psymtab_to_symtab_1): Set + processing_gcc_compilation if we find the embedded stabs marker. + This fixes several bugs with finding the location of short or char + function parameters passed on the stack. + +Wed Oct 21 17:46:07 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Native support for sun4sol2. + + * xm-sysv4.h (USE_PROC_FS, ATTACH_DETACH): removed to nm-sysv4.h. + * nm-sysv4.h: new file. + * Makefile.in (HFILES): added nm-sysv4.h. + * config/sun4sol2.mh (XDEPFILES): removed procfs.o fork-child.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/sun4sol2.mt (TDEPFILES): removed exec.o and solib.o. + +Wed Oct 21 03:51:01 1992 John Gilmore (gnu@cygnus.com) + + * coredep.c: Include "nm.h" to get REGISTER_U_ADDR. + * doc/gdbint.texinfo: Improve REGISTER_U_ADDR and USE_PROC_FS doc. + + * Makefile.in (VERSION): Tick to 4.6.9. + +Tue Oct 20 23:27:56 1992 John Gilmore (gnu@cygnus.com) + + * mipsread.c (UNSAFE_DATA_ADDR): Remove MIPS-host-specific + definition, replace with portable one. + * remote-nindy.c: Lint. + (nindy_wait): Return type is int, result is inferior_pid. + * symmisc.c (dump_psymtab): Only print section_offsets if set. + (initialize_symmisc): Remove empty function. + * tm-spc-noun.h, tm-sun4os4.h, tm-sun4sol2.h (STACK_END_ADDRESS): + Remove obsolete, misspelled macro. + * doc/gdbint.texinfo: Document obsolete STACK_END_ADDR. + (all @node commands): Use new form to avoid nitpicking errors. + * doc/gdbint.texinfo: Document host/native/target split. + +Wed Oct 21 00:14:34 1992 Stu Grossman (grossman at cygnus.com) + + * mips-nat.c (zerobuf): Get rid of const to avoid gcc warnings. + + * xm-mips.h (offsetof): Don't define this if __STDC__. + +Tue Oct 20 21:32:18 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + umax native support (untested). + + * config/umax.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/umax.mt (TDEPFILES): removed exec.o. + * xm-umax.h (U_REGS_OFFSET, ATTACH_DETACH, REGISTER_U_ADDR): + removed to nm-umax.h. + * nm-umax.h: new file. + * Makefile.in (HFILES): added nm-umax.h. + + hppa native support (untested). + + * config/hppahpux.mh, config/hppabsd.mh (XDEPFILES): now empty. + (NAT_FILE, NATDEPFILES): new macros. + * config/hppabsd.mt (TDEPFILES): removed exec.o and hppab-core.o. + * config/hppahpux.mt (TDEPFILES): removed exec.o. + * xm-hppa[bh].h (REGISTER_U_ADDR, U_REGS_OFFSET): removed. + * nm-hppa[bh].h, hppa[bh]-nat.c: new files. + * hppa[bh]-xdep.c: removed. + * hppa[bh]h-tdep.c: do not include ptrace.h. + * Makefile.in (HFILES): added nm-hppa[bh].h. + + * doc/gdbint.texinfo: add PUSH_DUMMY_FRAME, POP_FRAME. + +Tue Oct 20 00:01:46 1992 Stu Grossman (grossman at cygnus.com) + + * mips-nat.c: Straighten out include files. Work around + conflicting defs of JB_xxx syms in <setjmp.h> and <machine/pcb.h> + for Ultrix-4.2. + +Mon Oct 19 15:09:57 1992 Stu Grossman (grossman at cygnus.com) + + * mips-nat.c (fetch_core_registers, register_addr): Copy from + coredep.c, but zero out FP_REGNUM & ZERO_REGNUM so that stack + backtraces from core files work. + * config/decstation.mh, config/irix3.mh: Remove coredep.o. + Functions are now defined in mips-nat.c. + + * tm-irix3.h: Put MIPS_EFI_SYMBOL_NAME in here too. + + * remote-hms.c: Disable all uses of serial_nextbaudrate and + serial_default_name(). + + * remote-hms.c, ser-go32.c, serial.h: Change from + serial_timedreadchar() to new serial_readchar(). + + * Makefile.in (HFILES): Fixup list of nm-*.h files. Add missing ones. + +Mon Oct 19 12:45:23 1992 Per Bothner (bothner@cygnus.com) + + * c-exp.y: Moved handling of 'const' and 'volatile' from + <type> to <typebase>. This removes 2 conflicts. + +Sun Oct 18 00:36:30 1992 Fred Fish (fnf@cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Don't delete watchpoints + from breakpoint table when reseting breakpoints. + +Sat Oct 17 00:59:23 1992 Fred Fish (fnf@cygnus.com) + + Native support cleanup and corefile fixes for i386 SVR4 systems. + + * i386-tdep.c (supply_gregset, fill_gregset, supply_fpregset, + fill_fpregset): Moved to i386v4-nat.c + * i386v4-nat.c, nm-i386v4.h, : New files. + * i386sol2.mh, i386v4.mh, ncr3000.mh (NAT_FILE): Use nm-i386v4.h. + * i386sol2.mh, i386v4.mh, ncr3000.mh (NATDEPFILES): Add corelow.o, + change i386v-nat.o to i386v4-nat.o. + +Fri Oct 16 13:06:08 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Miscellaneous 386 configs updated. + + * config/i386aout.mt (TDEPFILES): removed exec.o. + * config/i386sol2.mh, config/ncr3000.mh, config/i386v4.mh + (XDEPFILES): removed procfs.o fork-child.o i386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/i386aout.mt, config/i386sol2.mt, config/ncr3000.mt, + config/i386v4.mt (TDEPFILES): removed exec.o. + * config/i386v32.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o i386-xdep.o i387-tdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/i386sco.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o i386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + + Native support cleanup for i386bsd (untested). + + * config/i386bsd.mt (NATDEPFILES): exec.o removed. + * config/i386bsd.mh (NATDEPFILES): added exec.o + * tm-i386bsd.h (FLOAT_INFO): removed. + * nm-i386bsd.h (FLOAT_INFO): added. + + Native support for i386v (untested). + + * config/i386v.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o i386-xdep.o i387-tdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/i386v.mt (TDEPFILES): removed exec.o, added i387-tdep.o. + * i386-xdep.c: removed. + * Makefile.in (HFILES): added nm-i386v.h + * i386v-nat.c, nm-i386v.h: new file. + * xm-i386v.h: (REGISTER_U_ADDR, i386_register_u_addr): removed to + nm-i386v.h. + * tm-i386v.h (FLOAT_INFO): removed. + + Native support for linux (untested). + + * config/linux.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o corelow.o i387-tdep.o i386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/linux.mt (TDEPFILES): removed exec.o, added i387-tdep.o. + * Makefile.in (HFILES): added nm-linux.h. + * nm-linux.h: new file. + * xm-linux.h: updated copyright. cleaned up formatting. + (ATTACH_DETACH, U_REGS_OFFSET): removed to nm-linux.h. + + Native support for sun386 (untested). + + * config/sun386.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o sun386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * config/sun386.mt (TDEPFILES): removed exec.o. + * Makefile.in (HFILES): added nm-sun386.h. + * sun386-nat.c, nm-sun386.h: new file. + * sun386-xdep.c: removed. + * xm-sun386.h: updated comment and copyright. + (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): removed to + nm-sun386.h. + + Native support for i386mach (untested). + + * config/i386mach.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o mach386-xdep.o. + (NAT_FILE, NATDEPFILES): new macros. + * Makefile.in (HFILES): added nm-i386mach.h. + * nm-i386mach.h, i386mach-nat.c: new files. + * mach386-xdep.c: removed. + * xm-i386mach.h: updated copyright. + (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): removed to + nm-i386mach.h. + + Native separation for go32 (untested). + + * config/go32.mh (NAT_FILE, NATDEPFILES): new macros. + * go32-nat.c: new file. + * go32-xdep.c (call_ptrace, child_resume, + fetch_inferior_registers, store_inferior_registers, + child_xfer_memory, fetch_core_registers): removed to go32-nat.c. + + Native support for m88k (untested). + + * Makefile.in (HFILES): added nm-m88k.h + * xm-delta88.h, xm-m88k.h (REGISTER_U_ADDR, + FETCH_INFERIOR_REGISTERS): removed. + * config/m88k.mh, config/delta88.mh (XDEPFILES): infptrace.o + inftarg.o fork-child.o m88k-xdep.o removed to NATDEPFILES. + (NAT_FILE, NATDEPFILES): new macros. + * config/m88k.mt, config/delta88.mt (TDEPFILES): removed exec.o. + * m88k-nat.c, nm-m88k.h, nm-delta88.h: new files.o. + * m88k-xdep.c: removed. + +Fri Oct 16 04:16:30 1992 John Gilmore (gnu@cygnus.com) + + * i386b-nat.c: Comment changes. + * nm-i386bsd.h, xm-i386bsd.h: Split native dependent pieces out + into new nm-file. + * config/i386bsd.mh (NAT_FILE): Point to new nm-file. + +Fri Oct 16 03:34:01 1992 John Gilmore (gnu@cygnus.com) + + Avoid longjmp()-catching compilation errors in cross-ports. + + * doc/gdbint.texinfo: Update GET_LONGJMP_TARGET, L_SET doc. + * irix4-nat.c, mips-nat.c (JB_ELEMENT_SIZE, get_longjmp_target): + Move from mips-tdep.c and tm-{irix3,mips}.h. + * mips-nat.c: Remove a bunch of code that was ifdef'd out of + native MIPS ports. + * nm-irix3.h, nm-mips.h (GET_LONGJMP_TARGET): Move from tm-irix3.h + and tm-mips.h. + + * ultra3-nat.c (register_addr): Move from ultra3-xdep.c. + (fetch_core_registers): Fix bfd_seek arguments. + +Fri Oct 16 03:02:28 1992 John Gilmore (gnu@cygnus.com) + + Make core files work again (add back the `core' target). + + * config/decstation.mh, news.mh, sun2os3.mh, sun2os4.mh + (NATDEPFILES): Add corelow.o. + * config/delta88.mt, m88k.mt (TDEPFILES): Remove coredep.o, it's + native dependent. + + * config/3b1.mh, bigmips.mh, hp300bsd.mh, hppabsd.mh, hppahpux.mh, + i386sco.mh, i386v.mh, i386v32.mh, irix3.mh, isi.mh, linux.mh, + littlemips.mh, merlin.mh, news1000.mh, pn.mh, rtbsd.mh, tahoe.mh, + vaxbsd.mh, vaxult.mh (XDEPFILES): Add corelow.o whenever coredep.o + appears. FIXME, these should be moved to NATDEPFILES for native + use only. + +Thu Oct 15 21:53:53 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Ultra3 host/target/native split. (untested). + + * ultra3-xdep.c: updated copyright. Do not include sys/ptrace.h. + (fetch_register, fetch_inferior_registers, + store_inferior_registers, fetch_core_registers): removed to + ultra3-nat.c. + * xm-ultra3.h (FETCH_INFERIOR_REGISTERS, U_REGS_OFFSET): removed + to nm-ultra3.h. + * Makefile.in (HFILES): added nm-ultra3.h. + * nm-ultra3.h, ultra3-nat.c: new files for native support. + * config/ultra3.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o. + (NAT_FILE, NATDEPFILES): new macros for native support. + * config/ultra3.mt (TDEPFILES): exec.o removed. + + * xm-vaxult.h: add MEM_FNS_DECLARED. + +Thu Oct 15 02:59:30 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): Roll to 4.6.8. + (OBS): Put version.o first, so Makefile rebuild happens early. + + * command.h: Publicize prototype for not_just_help_class_command. + * command.c: Remove proto. + * maint.c: Mark "mt" as an abbrev, to avoid duplicated help + output. Move "maint info" from class info to class maintenance, + and improve text. + * infrun.c: Move "stop" to class_obscure, and give it a + function so it will not be seen as a global help topic. FIXME, + it should be possible to set these attributes independently. + + * core.c (core_command): Make nicer error message for no core support. + + Lint around file_ptr's (bfd's off_t's) and bfd_seek. + + * dbxread.c (read_dbx_symtab): Use L_SET as bfd_seek arg. + (elfstab_build_psymtabs): staboffset and stabstroffset args are + file_ptr's. + * dwarfread.c (struct dwfinfo): Convert dbfoff, lnfoff to file_ptr. + (scan_compilation_units): Punt unused filename arg. dbfoff, + lnoffset, and curlnoffset are file_ptr's now. + (dwarf_build_psymtabs): Drop desc and filename args; use + objfile. dbfoff and lnoffset are file_ptr's now. + (read_ofile_symtab): foffset is now file_ptr. Use L_SET in bfd_seek. + * elfread.c (struct elfinfo): dboffset and lnoffset are file_ptr's. + (elf_symfile_read): Skip desc and filename args to + dwarf_build_psymtabs. Pass file_ptr's to elfstab_build_psymtabs. + * gdb-stabs.h: Use file_ptr rather than off_t. + * mipsread.c (fixup_symtab): f_ptr is a file_ptr. Re-enable + compile-time debug check that someone turned off as "unused". + (read_the_mips_symtab): st_filptr is a file_ptr. Fix bfd_seek call. + * symfile.h: Update dwarf_build_psymtabs and + elfstab_build_psymtabs prototypes. + * xcoffread.c (init_stringtab, init_lineno, xcoff_symfile_read): + Use file_ptr offsets. bfd_seeks use L_SET. + +Thu Oct 15 01:27:32 1992 Stu Grossman (grossman at cygnus.com) + + * mips-tdep.c, mipsread.c, tm-mips.h: Get rid of ".gdbinfo." + symbol. #define MIPS_EFI_SYMBOL_NAME instead. Use different + value so that demangler won't be invoked. This greatly speeds up + stepping. + * mips-tdep.c (mips_pop_frame): Rewrite handling of + linked_proc_info so that it properly deallocates the appropriate + item after it is done with it instead of before. + * Don't pass bogus frame pointer to create_new_frame(). Just + leave it as zero so that lower level code will figure out the + correct value. + +Wed Oct 14 18:56:28 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Sony News native support. + + * Makefile.in (HFILES): added nm-news.h. + * nm-news.h: new file. + * config/news.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o to NATDEPFILES. + (NAT_FILE, NATDEPFILES): new macros for native support. + * config/news.mt (TDEPFILES): removed exec.o. + + * remote-vx.c: remove redundant include of sys/time.h. + + * infrun.c: include ctype.h. Otherwise some machines result in + undefined for isdigit. + +Tue Oct 13 01:27:14 1992 John Gilmore (gnu@cygnus.com) + + * configure.in: Convert m68k entries to m68* entries to handle + all the various m68xxx hosts and targets. + * config/news1000.mt: No longer needed, same as news.mt. + +Fri Oct 9 18:54:37 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/sun3os[34].mh (NATDEPFILES): remove duplicate inftarg.o. + +Fri Oct 9 14:20:08 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (HFILES): Add all nm-irix3.h, nm-irix4.h, + nm-sun2.h, nm-mips.h. + + * config/irix3.mh (NATDEPFILES): nat-mips.o => mips-nat.o. + + * Makefile.in (alldeps.mak): Add = sign after NATDEPFILES. + + * config/bigmips.mh config/littlemips.mh: Remove mips-xdep.o. + +Fri Oct 9 08:41:11 1992 Ian Lance Taylor (ian@cygnus.com) + + * xm-hppah.h: if __STDC__ is not defined, define + HPPA_COMPILER_BUG. + symtab.c (decode_line_1): avoid a bug in the HP9000/700 native + compiler; see the comment in the file. + +Fri Oct 9 04:43:43 1992 John Gilmore (gnu@cygnus.com) + + First cut at support for all BSD variants on 386. + + * tm-i386bsd.h, xm-i386bsd.h: New config files. + * i386b-nat.c: New native support file. + * configure.in: Add host and target for i[34]86-*-bsd*. + * config/i386bsd.mh, config/i386bsd.mt: New config files. + +Fri Oct 9 00:31:33 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Sun2 native support (untested). + + * xm-sun2.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS, + REGISTER_U_ADDR): removed to nm-sun2.h. + * nm-sun2.h: new file. + * config/sun2os[34].mh (XDEPFILES): infptrace.o inftarg.o + fork-child.o sun3-xdep.o removed. + (NAT_FILE, NATDEPFILES): new macros. + + Mips native support. Decstation and iris4 have been tested. + Iris3 has not. + + * mips-tdep.c (supply_gregset, fill_gregset, supply_fpregset, + fill_fpregset): removed to irix4-nat.c + * mips-xdep.c: removed. + * irix4-nat.c, mips-nat.c, nm-irix3.h, nm-irix4.h, nm-mips.h: new + files. + * procfs.c: include nm.h. + * xm-irix3.h (U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS): removed. + * xm-irix4.h: bump copyright. + (U_REGS_OFFSET, FETCH_INFERIOR_REGISTERS, USE_PROC_FS, + PROC_NAME_FMT): removed. + * xm-mips.h (FETCH_INFERIOR_REGISTERS): removed. + * config/irix4.mh (XDEPFILES): removed procfs.o fork-child.o. + (NAT_FILE, NATDEPFILES): new macros for native support. + (CC): supply default compiler switches. + * config/irix3.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o coredep.o. + (NAT_FILE, NATDEPFILES): new macros for native support. Note that + irix3 is untested. + * config/decstation.mh (XDEPFILES): removed infptrace.o inftarg.o + fork-child.o mips-xdep.o coredep.o. + (NAT_FILE, NATDEPFILES): new macros for native support. + +Thu Oct 8 23:50:51 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/rs6000.mh (XDEPFILES): removed fork-child.o. + (NATDEPFILES): added fork-child.o + * config/sun3os3.mh (XDEPFILES): removed fork-child.o. + (NATDEPFILES): added fork-child.o + * config/sun3os4.mh (XDEPFILES): removed fork-child.o. + (NATDEPFILES): added fork-child.o + +Thu Oct 8 23:19:25 1992 John Gilmore (gnu@cygnus.com) + + * infcmd.c (path_info): Avoid 250-char limit on printf_filtered, + by using puts_filtered instead. + +Fri Oct 9 00:28:25 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * remote-nindy.c (nindy_load): Replacement version from Steve + Chamberlain, doesn't require forking to run "strip" or "sx". + +Thu Oct 8 18:27:35 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (HFILES): Add nm-*.h files. + +Thu Oct 8 16:27:45 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/sun4os4.mh (XDEPFILES): fork-child.o removed. + (NATDEPFILES): added fork-child.o. + + * doc/gdbint.texinfo: document a few more macros, create new + section for native macros. + +Thu Oct 8 13:52:46 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in alldeps.mak depend: Rip out 29k/udi pending + resolution of copyright issues. + +Wed Oct 7 20:08:53 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (setup-to-dist): Remove -norecursion so that doc + subdir gets configured. + +Wed Oct 7 12:24:01 1992 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (nindy.o): Define "STRIP" as pathname of strip + program. + * nindy-share/nindy.c (coffstrip): Use that pathname, instead of + searching for a "bfd_strip" program. Also, fixed up arguments + passed to that program. + + * tm-nindy960.h (ADDITIONAL_OPTIONS): Use "-ser" rather than "-r", + which is now used for something else. Rewrite description of + associated parameters to match how gdb does it now. + (ADDITIONAL_OPTION_HELP): Fix message accordingly. + + * m68k-pinsn.c (print_insn_arg): Handle new "`" operand type. + +Tue Oct 6 14:47:11 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + NOTICE_SIGNAL_HANDLING_CHANGE macro added to the target vector as + to_notice_signals. + + * inferior.h (proc_signal_handling_change): prototype removed. + * infrun.c (NOTICE_SIGNAL_HANDLING_CHANGE): default removed. + (handle_command): now calls target_notice_signals. + * procfs.c (proc_signal_handling_change): renamed to + procfs_notice_signals. Now static. Add prototype. All callers + changed. + * target.h (struct target_ops): new field, to_notice_signals. + (target_notice_signals): new macro to cover new field. + * target.c (cleanup_target): default to_notice_signals to ignore. + * corelow.c (core_ops), + exec.c (exec_ops), + inftarg.c (child_ops), + procfs.c (procfs_ops), + remote-adapt.c (adapt-ops), + remote-eb.c (eb_ops), + remote-es1800.c (es1800_ops, es1800_child_ops), + remote-hms.c (hms_ops), + remote-mm.c (mm_ops), + remote-nindy.c (nindy_ops), + remote-st2000.c (st2000_ops), + remote-udi.c (udi_ops), + remote-vx.c (vx_ops, vx_run_ops), + remote.c (remote_ops), + target.c (dummy_target), + xcoffexec.c (exec_ops): added static initializer for + to_notice_signals. + * xm-irix4.h, xm-sysv4.h (NOTICE_SIGNAL_HANDLING_CHANGE): removed. + +Tue Oct 6 12:13:08 1992 John Gilmore (gnu@cygnus.com) + + * main.c (define_command): Add forgotten initializer. + +Tue Oct 6 02:23:17 1992 John Gilmore (gnu@cygnus.com) + + * language.c, language.h: Move saved_language out to global + expected_language. Set expected_language when user expectation + changes. + * language.c (language_info): Don't print type/range checking gub. + * main.c (main): Set expected language. + (execute_command): Check against expected language. + * symfile.c (set_initial_language): Set expected language. + + * configure.in, config/i386sol2.{mh,mt}: Preliminary Solaris-x86 conf. + +Fri Sep 4 00:34:30 1992 Per Bothner (bothner@rtl.cygnus.com) + + A bunch of changes mostly to improve debugging of C++ programs. + Specifically, the calling of inferiors methods is improved. + + * value.h: New macros METHOD_PTR_IS_VIRTUAL, + METHOD_PTR_FROM_VOFFSET, METHOD_PTR_TO_VOFFSET to partially + hide the implementation details of pointer-to-method objects. + How to tell if the pointer points to a virtual method is + still very dependent on the particular compiler, but this + should make it easier to find the places to change. + * eval.c (evaluate_subexp [case OP_FUNCALL]), valprint.c + (val_print [case TYPE_CODE_PTR]): Use the new METHOD_PTR_* + macros, instead of a hard-wired-in code that incorrectly + assumed a no-longerused representation of pointer-to-method + values. And otherwise fix the relevant bit-rotted code. + + * valprint.c (type_print_base [case TYPE_CODE_STRUCT]): + If there are both fields and methods, put a space between. + + * stabsread.c (read_struct_type): Fix bug in handling of + GNU C++ anonymous type (indicated by CPLUS_MARKER followed + by '_'). (It used to prematurely exit the loop reading in + the fields, so it would think it should start reading + methods while still in the fields. This could crash gdb + given a gcc that can emit nested type information.) + + * valops.c (search_struct_method): Pass 'this' value by + reference instead of by value. This provides a more + consistent interface through a recursive search where the + "bottom" functions may need to adjust offsets (due to multiple + inheritance). + * valops.c, value.h, values.c: Pass extra parameters to + value_fn_field and value_virtual_fn_field so we can + correctly adjust offset for multiple inheritance. + * eval.c (evaluate_subexp [case OP_FUNCALL]): Simplify + virtual function calls by using value_virtual_fn_field(). + * values.c: New function baseclass_offset, derived from + baseclass_addr (which perhaps can be made obsolete?). + It returns an offset rather than an address. This is a + cleaner interface since it doesn't mess around allocating + new values. + * valops.c (search_struct_method): Use baseclass_offset + rather than baseclass_addr. + +Mon Oct 5 16:02:04 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Re-install 29K/UDI stuff. + * remote-udi.c (udi_resume): Clean up. + * (udi_wait): Rewrite, leave out bugs. + * Add debugging code to print out all register fetches and stores. + * Straighten out target_ops. + * tm-29k.h (DUMMY_FRAME_RSIZE): Pad out to doubleword. + +Mon Oct 5 09:46:44 1992 Ian Lance Taylor (ian@cygnus.com) + + * remote-udi.c (udi_create_inferior): run with no arguments should + not pass the program name as an argument, since the UDI code + already handles that. + (udi_load): get the symbols from prog_name, not arg_string (the + load command should really use arg_string as the program name, not + prog_name, but at least the run command works now). + + * munch: HP9000/300 nm puts an extra space between T and symbol + name. + + * config/irix4.mh: added -lsun to XM_CLIBS to get RPC functions + needed for vxworks targets. + +Fri Oct 2 22:04:42 1992 John Gilmore (gnu@cygnus.com) + + * am29k-tdep.c (_initialize_29k): Make it possible for the + user to set and query the address where function calls into the + inferior write a small scratch routine. `set call_scratch_address' + * inferior.h (PC_IN_CALL_DUMMY): Fix fencepost error. + * remote.c (remote_prepare_to_store): Only fetch regs if they are + not already cached validly. + +Thu Oct 1 14:36:42 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Rs6000 native support. + + * infptrace.c: remove #ifdef USG from around include ptrace.h. + machines without this header should not be compiling this file. + * nm-rs6000.h, rs6000-nat.c: new files for native support. + * rs6000-tdep.c: do not include sys/ptrace.h or sys/reg.h. + * rs6000-xdep.c: removed. all code now in rs6000-nat.c. + * xm-rs6000.h: do not include ptrace.h. + (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to nm-rs6000.h. + * config/rs6000.mh (XDEPFILES): removed rs6000-xdep.o. + infptrace.o and inftarg.o move to NATDEPFIES. + (NAT_FILE, NATDEPFILES): new macro for native support. + + Sun3 native support. + + * config/sun3os3.mh, config/sun3os4.mh (NAT_FILE, NATDEPFILES): + new macros for native support. + (XDEPFILES): moved infptrace.o and inftarg.o to NATDEPFILES, + removed sun3-xdep.o. + * xm-sun3.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to + nm-sun3.h. + * sun3-xdep.c: removed. All code is now in sun3-nat.c. + * sun3-nat.c, nm-sun3.h: new files for native support. + +Thu Oct 1 10:30:54 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (dbsize): New variable to hold size of dwarf info. + * dwarfread.c (dwarf_build_psymtabs): Rename dbsize parameter to + dbfsize and use it to initialize new local file scope dbsize. + * dwarfread.c (read_ofile_symtab): Initialize dbsize and use it. + * dwarfread.c (basicdieinfo): Use dbsize to check for oversize + DIEs as well as the current check for undersize DIEs. This helps + to gracefully detect and reject corrupted DIE information. + +Thu Oct 1 01:57:56 1992 John Gilmore (gnu@cygnus.com) + + Add `command hooks' and a hook for inferior program stopping. + + * command.h (struct cmd_list_element): Remove unused `aux' + field. Add new `hook', `hookee', and `cmd_pointer' fields. + * command.c (add_cmd): Initialize new fields, elim old. + (add_alias_cmd): Clone new fields. + (delete_cmd): Un-hook hookee if we're deleting hook. + (help_cmd): Tell user the command is hooked, if it is. + (lookup_cmd_1): Abbreviations return the original command + instead of themselves, so that hooks on the original cmd will be + run. + * defs.h (enum command_class): Add class_pseudo and comments. + * gdbcmd.h (execute_user_command): Add prototype. + * infrun.c (normal_stop): If the stop command is hooked, + run the hook whenever we stop. + (hook_stop_stub): Stub for catch_errors. + (_initialize_infrun): Set up pseudo "stop" command. + * main.c (execute_user_command): Code extracted from execute_command. + (execute_command): If hooked, run the hook before the command. + (define_command): If defining a new hook, check the command it + is hooking, and warn if none. Install the hook. + * source.c (_initialize_source): "l" is an abbrev for "list". + * doc/gdb.texinfo: Document command hooks. + + * Makefile.in (VERSION): Roll to 4.6.7. + * config/sun4os4.mh: Remove dup inftarg.o from NATDEPFILES. + * infrun.c (breakpoints_inserted): Make it static again. + * tm-symmetry.h (FLOAT_INFO): #if 0 it for cross-ptrace abuse. + +Wed Sep 30 15:33:22 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Native file renaming. + + * nat-sparc.c -> sparc-nat.c + * nat-sun4os4.h -> nm-sun4os4.h + * nat-trash.h -> nm-trash.h + * config/sun4os4.mh: track file renaming. + * configure.in: link to nm.h rather than nat.h. + * infptrace.c: include nm.h rather than nat.h. + +Tue Sep 29 14:35:00 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Host/target/native split for sun4. + + * Makefile.in (TSOBS): removed corelow.o. + * infptrace.c: included nat.h. + * nat-trash.h: temporary header file. This should be removed once + all hosts have the native/host/target split. + * configure.in: add a symlink from nat-trash.h to nat.h if no + other nat file exists for this configuration. + * sparc-tdep.c: no longer include sys/ptrace.h. + * sparc-xdep.c: removed. contents have been moved to nat-sparc.c. + * xm-sparc.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to + nat-sun4os4.h. + * nat-sparc.c, nat-sun4os4.h: new files for sun4 native support. + * config/sun4os4.mh (XDEPFILES): moved infptrace.o and inftarg.o + to NATDEPFILES. removed sparc-xdep.o. + (NATDEPFILES, NAT_FILE): new macros for native support. + + Break the direct connection from core_file_command to any + particular type of core file support. + + * target.h (find_core_target): new prototype. + * target.c (find_core_target): new function. Walks the target + list looking for the core target. + * core.c (core_file_command): replace calls to core_detach and + core_open with find_core_target and direct calls. + +Tue Sep 29 10:19:00 1992 Ian Lance Taylor (ian@cygnus.com) + + * xm-hp300hpux.h: define MEM_FNS_DECLARED; include <sys/ptrace.h> + for infptrace.c. + config/hp300hpux.mh: ALLOCA1 was not defined. + +Mon Sep 28 22:03:41 1992 Stu Grossman (grossman at cygnus.com) + + * breakpoint.c, exec.c, language.c, main.c, printcmd.c, symfile.c, + target.c, valprint.c: Use unfiltered forms of f/printf, et. al. + until we can figure out a better way to do paging. + +Sat Sep 26 02:07:31 1992 John Gilmore (gnu@cygnus.com) + + * findvar.c (supply_register): Add CLEAN_UP_REGISTER_VALUE hook. + * tm-hppa.h (CLEAN_UP_REGISTER_VALUE): Use it. + * hppa-coredep.c: Remove, now that we use the hook. + * config/hppab.mh, config/hppah.mh: Use standard coredep.o. + * hppab-xdep.c, hppah-xdep.c: Remove custom code, use hook. + + * dbxread.c, partial-stab.h: Replace all #ifdef hp9000s800's with + GDB_TARGET_IS_HPPA's. This is a SERIOUS KLUDGE. The code needs to all + be ripped out and reimplemented right (see elfread.c). + * tm-hppa.h (GDB_TARGET_IS_HPPA): Define. + + Rename all HPPA files to fit into unique DOS filenames: + * *hppabsd* => *hppab* + * *hppahpux* => *hppah* + +Sat Sep 26 00:25:15 1992 John Gilmore (gnu@cygnus.com) + + Make the /proc support a target-struct in its own right. + + * Makefile.in: Remove inftarg.[co], since it is now included via + config/*.mh files. + * config/*.mh: Add inftarg.o and fork-child.o to all *.mh that + reference infptrace.o. Add fork-child.o to all *.mh that + reference procfs.o. + + * inferior.h (proc_wait, inferior_proc_init, proc_set_exec_trap): + No longer global functions. + (fork_inferior): New global function from fork-child.c. + * inftarg.c (child_wait): Remove USE_PROC_FS conditional. + (ptrace_me, ptrace_him): New stub functions for fork_inferior(). + (child_create_inferior): Moved to fork-child.c as fork_inferior. + (child_create_inferior): New tiny function that calls fork_inferior. + * fork-child.c: New file, containing fork_inferior, which is + built from slight mods to inftarg.c's child_create_inferior. + + * procfs.c (procfs_ops): Add target vector. + (attach): Rename as static do_attach. + (procfs_create_inferior): New tiny function that calls fork_inferior. + (child_xfer_memory): Rename to static procfs_xfer_memory. + (store_inferior_registers): Rename to static procfs_store_registers. + (inferior_proc_init): Rename to static procfs_init_inferior. + (procfs_attach, procfs_detach, procfs_prepare_to_store, + procfs_files_info, procfs_open, procfs_mourn_inferior, + procfs_can_run): Slightly mangled copies of the corresponding + child_XXX routines from inftarg.c. + (proc_wait): Renamed to static procfs_wait. + (child_resume): Rename to static procfs_resume. + (fetch_inferior_registers): Rename to static procfs_fetch_registers. + (initialize_proc_fs): Rename to initialize_procfs. Set up + procfs_ops, too. + + * putenv.c: index -> strchr. + * regex.c: Always rename bcopy to memcpy, etc. + FIXME: Eventually do the renames rather than use #define's. + * sparc-tdep.c (deferred_stores): Moved from sparc-xdep.c. + Fix bcopy->memcpy. + * sparc-xdep.c: Move deferred_stores to target dependent. + * xm-irix4.h, xm-sysv4.h (CREATE_INFERIOR_HOOK): No longer needed. + +Fri Sep 25 21:59:27 1992 John Gilmore (gnu@cygnus.com) + + Split non-target-dependent code out of target_attach routines. + + * target.h: Comments on target_attach args and results. + * infcmd.c (attach_command): Check for existing execution, call + target_attach, set up terminal status and wait_for_inferior, wait + for the attach status, and do normal_stop. + * inftarg.c (child_attach): Remove target independent stuff. + * remote-adapt.c (adapt_attach): Ditto. + * remote-mm.c (mm_attach): Ditto. + * remote-udi.c (udi_attach): Ditto. + * remote-vx.c (vx_attach): Ditto. + + Cleanup. + + * remote-hms.c (hms_attach): Remove completely, it was useless. + * remote-mm.c, remote-hms.c, remote-udi.c, remote-adapt.c: Remove + commented-out start_remote calls. + * remote-hms.c, remote-adapt.c, remote-mm.c, remote-udi.c: Remove + DENTER and DEXIT macros and their calls. Use a real debugger -- + like gdb -- to see what functions are being called when. + * utils.c (strcmp_iw): Make nonstatic, for lint. + +Fri Sep 25 18:48:20 1992 John Gilmore (gnu@cygnus.com) + + * infrun.c, inftarg.c, inferior.h: Comment and lint cleanups. + +Fri Sep 25 15:13:44 1992 Stu Grossman (grossman at cygnus.com) + + * tm-sparc.h, dbxread.c (read_ofile_symtab): Install Jim Wilson's + fix to differentiate between gcc1 & gcc2 compiled files so that we + can debug calls that pass structs as args correctly. + * symmisc.c (dump_symtab): If block was compiled with gcc, say + so, and what version. + + * remote.c (remote_wait): Make regs be char to avoid picayune + ANSI compiler warnings. + + * energize.h: Move all external struct decls to inside of + __STDC__, add prototype for energize_shell_wait(). + * energize.c (getpty): Clean up, make us really get a controlling + terminal. + * (energize_initialize): Disable SIGIO prior to setting up for + I/O interrupts. Move setsid(), et. al. to getpty(). + * (energize_shell_wait): New routine to wait for things started + via the shell command, uses wait() instead of /dev/proc. + * Also, add prototype for execute_command_1(). + +Fri Sep 25 12:09:33 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * inftarg.c (child_create_inferior, child_attach, + child_mourn_inferior): collect unix child process stratum + functions which live below the target vector into this file to + facilitate host/target/native split. Also, make them static. + * inflow.c (child_mourn_inferior): removed. + * infrun.c (child_create_inferior, child_attach): removed. + (resume): becomes global so that functions below the + target vector can find it. + * inferior.h (resume): add prototype. + (child_mourn_inferior, child_create_inferior, child_attach): + remove prototypes. + + * xcoffexec.c (exec_ops): child_attach and child_create_inferior + replaced with find_default_attach and + find_default_create_inferior. + +Fri Sep 25 10:21:04 1992 Ken Raeburn (raeburn@rtl.cygnus.com) + + * i960-pinsn.c: Use _filtered routines for printing, so symbolic + addresses don't get displayed in the wrong positions. + +Fri Sep 25 09:52:47 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Separate core functions along target vector in preparation for + native support. Functions above vector now live in core.c. Those + below in corelow.c. + + * core.c (solib_add_stub, core_close, core_open, core_detach, + get_core_registers, core_files_info, core_ops): moved to corelow.c + (_initialize_core): removed addition of core_ops target. + * corelow.c: new file. + (solib_add_stub, core_close, core_open, core_detach, + get_core_registers, core_files_info, core_ops): moved from core.c + (_initialize_corelow): new function. + * gdbcore.h (core_open, core_detach): added prototypes. + (core_ops): add forward declaration. + * Makefile.in (SFILES_MAINDIR): add core.c + (OBS): add core.o + (TSOBS): change core.o to corelow.o + +Wed Sep 23 11:14:53 1992 Stu Grossman (grossman at cygnus.com) + + * m68k-tdep.c (m68k_saved_pc_after_call): Use 'GDB_TARGET_IS_SUN3' + instead of 'sun' predefined symbol so that trap analysis code is + enabled only when the TARGET is a sun3. + +Tue Sep 22 17:13:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * tm-i960.h (ext_format_i960): Add top-level declaration. + (REGISTER_CONVERT_TO_{VIRTUAL,RAW}): Don't declare it in nested + blocks, else Sun4 compiler complains. + +Tue Sep 22 00:43:51 1992 John Gilmore (gnu@cygnus.com) + + * mips-pinsn.c (print_insn_arg, case 'B'): Disassemble `break' + instruction's argument. Patch from jonathan@cs.stanford.edu + (Jonathan Stone). + +Mon Sep 21 18:16:30 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + Break the thread of control that implies that a unix child + process will be the default target. + + * target.c (find_default_run_target, find_default_attach, + find_default_create_inferior, return_zero): new functions. + (cleanup_target): Make return_zero the default for to_can_run. + + * exec.c (exec_ops), core.c (core_ops): Replace child_attach and + child_create_inferior references with find_default_XXX instead. + + * target.h (struct target_ops): new field, to_can_run. + (find_default_attach, find_default_create_inferior): new prototypes. + (target_can_run): new macro. + + * Also added a zero (default) to_can_run element to all static + struct target_ops initializations throughout GDB, except: + * inftarg.c (child_ops): Use new child_can_run() to enable child runs. + + * infrun.c (child_create_inferior): Clean up error handling when + no exec file is specified. + (child_attach): Don't require exec file. + +Mon Sep 21 19:43:13 1992 John Gilmore and K. Richard Pixley (gnu@cygnus.com) + + Remove kill_inferior_fast, in favor of target_kill, which goes + through the target vector. + + * inferior.h (kill_inferior_fast): remove declaration. + + * main.c (disconnect): call quit_cover using catch_errors rather + than calling kill_inferior_fast directly. New way goes through + the target vector, handles attached processes, and writes + command history if appropriate. + (quit_cover): new function, wrapper for quit_command. + + * convex-xdep.c, go32-xdep.c, hppabsd-xdep.c, hppahpux-xdep.c, + infptrace.c, procfs.c: Removed all instances of kill_inferior_fast, + inlining them into the local kill_inferior when needed. + +Mon Sep 21 19:23:05 1992 John Gilmore (gnu@cygnus.com) + + * infrun.c (_initialize_infrun): Alias `i handle' == `i signals'. + * stabsread.c (read_struct_type): Simplify complicated expression + for dumb DECstation compiler. + +Mon Sep 21 14:54:35 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68k-pinsn (print_insn_arg, fetch_arg): added support for + operands to memory management instructions, from WRS. + +Sep 20 08:42:12 1992 Fred Fish (fnf@cygnus.com) + + * main.c (main): Back out previous language setting changes. + Replace with simple default to C before processing any init + files. There MUST be a language set, even in the absence of + init files or executables, or expression parsing fails. + +Sat Sep 19 09:52:26 1992 Fred Fish (fnf@cygnus.com) + + * main.c (main): Move code that sets initial language to + symfile.c. Fixup places where command files are processed to + be consistent in setting a default language if none has been + previously set. + * symfile.c (set_initial_language): Add code moved from + main() that sets an initial default language when a new + symbol file is read. + * symfile.c (symbol_file_command): Call set_initial_language. + * symtab.c (find_main_psymtab): Add FIXME comment. + +Wed Sep 16 22:31:55 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * breakpoint.c, sparc-tdep.c: comment changes. + * configure.in: removed target_dependent line. + + * remote-mm.c (mm_attach): change printf to error to prevent + fallthrough bug. + * remote-udi.c (udi_attach): change printf to error to prevent + fallthrough bug. + + * rs6000-tdep.c (push_dummy_frame, pop_dummy_frame): replace + calls to {fetch|store}_inferior_registers with calls to + target_{fetch|store}_registers, for remote-target independence. + +Sat Sep 19 04:23:54 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in: Fix bug I introduced in merging Rich's change. + * infrun.c (child_create_inferior): Use proceed() rather than + doing all the same stuff by hand. + +Thu Sep 17 17:35:37 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in, configure.in: add support for files used only when + configured native, that is, when host = target. + +Wed Sep 16 23:03:23 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * tm-sparc.h, xm-sparc.h: externs and macros relating to deferred + stores are target dependent and were moved from xm to tm. + +Sat Sep 19 03:14:37 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (gdb-all.texi): Build in objdir, not $srcdir. + + * config/decstation.mh: Add MMALLOC_LIB and MMALLOC_DISABLE + overrides, to avoid problem in xdr_bytes with malloc(0) => 0. + +Wed Sep 16 20:04:54 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * target.h (struct target_ops): removed to_convert_to_virtual and + to_convert_from_virtual elements. Initializations removed from + all static initializations. + (target_convert_to_virtual, target_convert_from_virtual): + removed. + (host_convert_to_virtual, host_convert_from_virtual): Removed + forward declarations. + * target.c (cleanup_target): removed default assignments for + to_convert_to_virtual and to_convert_from_virtual. + * inftarg.c (host_convert_to_virtual, host_convert_from_virtual): + removed. + * findvar.c (value_of_register, value_from_register): + target_convert_to_virtual inlined. + * infcmd.c (do_registers_info): target_convert_to_virtual inlined. + * valops.c (value_assign): target_convert_from_virtual inlined. + +Fri Sep 18 02:07:39 1992 John Gilmore (gnu@cygnus.com) + + * main.c (gdb_readline): Avoid printf_filtered, which sets char + position wrong if used for the prompt. + * utils.c (puts_filtered): Comment: NOT a puts() replacement! + + Support for accessing arbitrary MIPS stack frames in memory. + + * blockframe.c (get_prev_frame_info): If INIT_FRAME_PC_FIRST is + set, run it before INIT_EXTRA_FRAME_INFO. + * stack.c (frame_info): If PRINT_EXTRA_FRAME_INFO defined, call it. + + * mips-tdep.c (init_extra_frame_info): Only clobber the `frame' + (FP) value in the frame_info struct if it is zero (as from top of + execution stack). + (setup_arbitrary_frame): Implement FRAME_SPECIFICATION_DYADIC. + + * mips-xdep.c (fetch_inferior_registers): ZERO_REGNUM always + comes back as zero. So does FP_REGNUM, as a trigger for + init_extra_frame_info. + + * tm-mips.h (INIT_FRAME_PC_FIRST): Kludge, FIXME, defined to get + the program counter set before INIT_EXTRA_FRAME_INFO is run. + (INIT_FRAME_PC): Defined to null. + (PRINT_EXTRA_FRAME_INFO): print frame pointer location via symtab. + (FRAME_SPECIFICATION_DYADIC): Ask for two args in frame command. + Briefly explain MIPS stacks in GDB. + +Thu Sep 17 03:49:59 1992 John Gilmore (gnu@cygnus.com) + + * copying.awk, copying.c (show_copying_command, + show_warranty_command): Rename from copying_info, warranty_info, + to match command function conventions. + + * utils.c (prompt_for_continue): Reinitialize more-counts + before printing anything, and again afterward. Fix comments. + (vfprintf_filtered): Eliminate static buffer; use auto buffer, + or alloca() if needed. + + * rs6000-xdep.c: Use correct conditional (IBM6000_TARGET) to + detect native versus cross-host. + +Wed Sep 16 21:57:14 1992 Stu Grossman (grossman at cygnus.com) + + * m68k-tdep.c (sun3_saved_pc_after_call): Only do trap check for + Suns. Rename to m68k_saved_pc_after_call. + * tm-68k-noun.h, tm-sun3.h (SAVED_PC_AFTER_CALL): Use + m68k_saved... instead of sun3_saved... + +Wed Sep 16 17:00:07 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (update-depend, update-alldeps): Split out of + setup-to-dist, for convenience in rebuilding the depend and + alldeps.mak files. + (assorted): Update to catch straggler files when building gdb.tar.Z. + +Tue Sep 15 01:18:50 1992 John Gilmore (gnu@cygnus.com) + + Preliminary cleanup for splitting host/native/target. + + * infptrace.c (child_resume): Don't deal with NO_SINGLE_STEP + here; it is dealt with at a gdb-target-independent level. + * rs6000-tdep.c (single_step): Don't call ptrace, we are a + high toned routine. Fix return type to void. + * tm-rs6000.h (AIX_BUGGY_PTRACE_CALL): Zap, we think we fixed it. + Rich and I believe the "real problem" was that both single_step + and target_resume were issuing PT_CONTINUE calls. This would + cause the second PT_CONTINUE to sometimes fail because the process + was already running. + * infptrace.c (child_resume): Remove AIX_BUGGY_PTRACE_CALL kludge. + +Mon Sep 14 19:20:43 1992 Stu Grossman (grossman at cygnus.com) + + * energize.c (pty_to_kernel): Must check for EAGAIN as + termination condition. + (full_filename): Don't prepend dirname if filename begins with /. + (breakpoint_notify, kernel_dispatch): Deal with DynamicLoad + messages properly!! + (getpty (NCR)): Lotsa bug fixes... + (kernel_dispatch (case StopRType)): Use kill() instead of + killpg() so we can deal with losing systems... + (wait_for_events): Work around NCR select() lossage. It doesn't + zero out readfds when select() returns zero. + (energize_initialize): Use I_SETSIG to get SIGIO interrupts. Use + getcwd() instead of getwd() (NCR getwd() seg faults). + (energize_wait): Use sigaction() for NCR. Their version of signal() + is unreliable by default. + + * procfs.c (proc_wait): Call print_sys_errmsg() if we get an + error from PIOCSWSTOP. + + * breakpoint.c, core.c, exec.c, language.c, main.c, printcmd.c, + symfile.c, target.c, valprint.c: Use _filtered form of *printf. + defs.h, utils.c: Make vfprintf_filtered global. + + * energize.c (send_location): New routine to consolidate all + places where we must notify kernel of where the given pc is. + (cplus_demangle): Put single-quotes around demangled names. + (energize_call_command): Call send_location() after doing up, + down, and frame commands. + +Fri Sep 11 18:28:28 1992 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/gdb.texinfo, doc/gdbinv-m.m4.in, doc/gdbinv-s.m4.in: first + pass at doc for two new remote targets---29K using UDI, and Tandem + ST2000 using STDBUG. + + * doc/all.m4, doc/none.m4: new m4 switch, _ST2000__ + + * doc/all.m4: turn on H8/300 stuff for generic manual + + * doc/gdbinv-s.m4.in: remove text on special procedures to continue + after explicit call to breakpoint() in serial stubs. + +Fri Sep 11 01:34:25 1992 John Gilmore (gnu@sphagnum.cygnus.com) + + * mipsread.c: Clean up some white space. + (parse_symbol): Handle stEnd of stFile. + (parse_partial_symbols): Remove old #if 0'd code. Handle stLocal. + + * mips-xdep.c (REGISTER_PTRACE_ADDR, fetch_inferior_registers, + store_inferior_registers): Replace unexplained numbers + with manifest constants from a DECstation header file. + * xm-mips.h (KERNEL_U_ADDR): Get from <machine/param.h>. + (REGISTER_U_ADDR): Fix up for Ultrix 4.2. + + * tm-tahoe.h, xm-tahoe.h (KERNEL_U_ADDR): Move macro to xm-tahoe.h. + + * stack.c (_initialize_stack): "dow" should be a valid abbreviation + for "down". Suggested by Richard Stallman. + +Thu Sep 10 15:26:07 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * remote-vx.c: Rename realloc for inclusion of rpc/rpc.h, to avoid + redeclaration bug on SunOS 4. + +Wed Sep 9 17:36:53 1992 John Gilmore (gnu@cygnus.com) + + * i386-stub.c, sparc-stub.c (getpacket): Actually check checksums. + * m68k-stub.c: Remove a few extraneous ANSI-isms. + * remote-nindy.c (nindy_prepare_to_store): Only fetch regs if + they aren't already there. + * remote-vx.c (vx_prepare_to_store): Ditto. + * xcoffread.c: Surround forward struct defns with #ifdef __STDC__. + +Wed Sep 9 16:50:22 1992 John Gilmore (gnu@cygnus.com) + + Removed a large number of changes inserted by Per Bothner + for C++ support. These will go back in when they've been + examined. + +Tue Sep 8 21:05:18 1992 Stu Grossman (grossman at cygnus.com) + + * serial.h: Fix prototye for serial_raw(). + * ser-bsd.c, ser-termios.c: Fix args for serial_open() & + serial_write() to match prototypes. + * remote-st2000.c (get_reg_name): Make *p be const. + +Tue Sep 8 17:24:52 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * remote-nindy.c (nindy_fetch_registers): Make return type void, + to agree with target structure field type. + (nindy_store_registers): Ditto. + + * Makefile (OPCODES): New var, pointing to opcodes library. + (CLIBS, CDEPS): Include it. + (saber_gdb): Load opcodes library. + +Tue Sep 8 15:22:06 1992 Stu Grossman (grossman at cygnus.com) + + * a68v-xdep.c (store_inferior_registers): declare as void. + * infptrace.c: HP/Apollos have ptrace.h in the wrong place. + * remote-st2000.c: Massive changes to use new serial package. + Also added 'connect' command to transparantly connect to serial + port. + * ser-termios.c: Big cleanup, use nicer coding conventions. + * ser-bsd.c: New module, serial stuff for BSD systems. + * serial.h: Define struct ttystate properly using HAVE_TERMIO. + * xm-apollo68b.h: #define PTRACE_IN_WRONG_PLACE... + +Fri Sep 4 18:53:57 1992 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * doc/gdb.texinfo: fix shameful error of agreement reported by + jimb@occs.cs.oberlin.edu (Jim Blandy) + * doc/gdb.texinfo: remove old partial discussion of remote serial + protocol (via serial debug stubs) + * doc/gdbinv-m.m4.in, doc/gdbinv-s.m4.in: new section discussing + use of serial debug stubs + +Fri Sep 4 00:34:30 1992 Per Bothner (bothner@rtl.cygnus.com) + + * symfile.h: Declaration of set_demangling_style() moved + here from demangle.h (which is now in ../include). + * i386-xdep.c: Update comment. + +Thu Sep 3 13:44:46 1992 K. Richard Pixley (rich@sendai.cygnus.com) + + * symtab.c (completion_list_add_symbol): restructured to optimize + for time. First clip names that cannot match. Then clip any + names we've already considered. Drop a redundant strncpy. Drop + a redundant malloc and associated free for demangled names. + +Thu Sep 3 09:17:05 1992 Stu Grossman (grossman at cygnus.com) + + * a68v-xdep.c (store_inferior_registers): Define as type void. + * configure.in: Add host m68k-apollo*-bsd*. + * demangle.c (struct demanglers): Use enum instead of constant + value to keep braindamaged HP/Apollo compiler happy. + +Wed Sep 2 20:45:31 1992 Per Bothner (bothner@rtl.cygnus.com) + + * utils.c (strcmp_iw): Add a hack to allow "FOO(ARGS)" to + match "FOO". This allows 'break Foo' to work when Foo is + a mangled C++ function. (See comment before function.) + +Wed Sep 2 13:45:27 1992 John Gilmore (gnu@cygnus.com) + + * config/rs6000.mh (MH_CFLAGS): Circumvent IBM <rpc/rpc.h> bug, + for files in vx-share/*.c. + * xm-rs6000.h (fd_set): Circumvent the rs6000.mh circumvention, + for normal GDB source files. + + * Makefile.in (VERSION): Roll to 4.6.6. + + * tm-vx68.h, tm-es1800.h: Use tm-68k.h rather than tm-sun3.h. + * tm-sun3.h: Remove STACK_END_ADDR, no longer used. + * tm-sun3os4.h: Update comments. + * xm-delta88.h: Remove STACK_END_ADDR. + +Wed Sep 2 01:18:31 1992 John Gilmore (gnu@cygnus.com) + + * Makefile.in (VERSION): Roll to 4.6.5. + + * infrun.c: Lint for recent `handle' changes. + + * ser-termios.c, ser-go32.c: Remove DEFUN crap, clean up. + * serial.h (EXFUN): Remove all uses, convert to PARAMS. + * config/sun4os4.mh: Include ser-termios.o. FIXME, all .mh files + should include a ser-XXX.o module. + + * dbxread.c (elfstab_build_psymtabs): Remove DEFUN crap. + * defs.h, i960-pinsn.c, remote-hms.c: Replace CONST with simple const. + + * configure.in: Map unrecognized sun 68k's, sun sparcs, into + known suns in configure.in, rather than mapping them to unique + config files that happen to duplicate other config files. + * config/sun3.{mh,mt}: Remove (use identical sun3os4.*). + * config/sun4.{mh,mt}: Remove (use identical sun4os4.*). + +Wed Sep 2 00:10:43 1992 John Gilmore (gnu@cygnus.com) + + * configure.in (*-*-sunos*): Use trailing * to match all + sub-variants of SunOS, e.g. sunos4* to match sunos4.1.1. + (sparc-*-sunos3): Remove host & target. Sunos3 never shipped + in production on Sun-4. + ({a29k,i[34]86,i960}-*-elf): Add targets, equivalent to coff. + (m68k-*-{aout,coff,elf}): Add targets, w/new config and tm files. + (sparc-*-{aout,coff,elf}): Add targets, w/new config and tm files. + + * config/m68k-un.mt, config/m68k-noun.mt, config/sparc-un.mt, + config/sparc-noun.mt: New target configs for embedded. + * config/sun4os3.{mh,mt}: Remove, never existed in production. + + * tm-68k-un.h, tm-68k-noun.h, tm-spc-un.h, tm-spc-noun.h: New + target definitions for embedded with and without underlines on + identifiers. + + * tm-sparc.h, tm-sun2.h, tm-sun3.h: Delete NAMES_HAVE_UNDERSCORE: + not a parameter of the CPU, but of the development environment. + * tm-es1800.h, tm-sunos.h, tm-vx68.h: Add NAMES_HAVE_UNDERSCORE. + +Tue Sep 1 17:31:45 1992 John Gilmore (gnu@cygnus.com) + + * breakpoint.c (breakpoint_re_set): Avoid setting source symtab + (which involves reading in main's symtab) if we have no breakpoints. + +Mon Aug 31 13:47:45 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (cu_language): New local variable to record + language for current compilation unit being processed. + * dwarfread.c (set_cu_language): New local function to decode + and record language for current compilation unit being processed. + * dwarfread.c (synthesize_typedef): Add local function to + synthesize a typedef for C++ classes, structs, unions, and + enumerations. + * dwarfread.c (read_structure_scope): Synthesize typedefs + for C++ classes, structs and unions. + * dwarfread.c (read_enumeration): Synthesize typedefs for + C++ enumerations. + * dwarfread.c (read_file_scope): Call set_cu_language to + record language for current compilation unit. After symtab + is built, save this recorded language. + * dwarfread.c (process_dies, add_partial_symbol, struct_type, + scan_partial_symbols, new_symbol): Recognize TAG_class_type. + * dwarfread.c (add_partial_symbol): Synthesize partial symbol + typedefs for C++ classes, structs, unions, and enumerations. + * dwarfread.c (scan_compilation_units): Call set_cu_language + to record language for current compilation unit. + * dwarfread.c (scan_partial_symbols): Call add_enum_psymbol here + for TAG_enumeration_types, rather than in add_partial_symbol. + * dwarfread.c (add_partial_symbol): Combine TAG_enumeration_type + case with class, struct, and union type cases, now that they are + the same. Remove tests for non-NULL name attributes, now done + by callers. + * gdbtypes.h (TYPE_CODE_CLASS): Add type for C++ classes, but + treat as alias for TYPE_CODE_STRUCT for now. + +Sun Aug 30 21:32:17 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: map "gdb" through program_transform_name when + installing. + +Sun Aug 30 21:18:51 1992 Fred Fish (fnf@cygnus.com) + + * {i386-tdep.c, m68k-tdep.c, mips-tdep.c, sparc-tdep.c} + (supply_gregset, fill_gregset, supply_fpregset, fill_fpregset): + Use "regi" for local indexing through register numbers, reserving + "regno" for the name of a specific register passed as an input + parameter. Fix bug propagated through all versions that sometimes + used regno as an index when it should have been regi, thus using + -1 as an index in some cases. + +Sun Aug 30 18:15:17 1992 Per Bothner (bothner@rtl.cygnus.com) + + * cplus-dem.c, demangle.h: Moved to ../libiberty and ../include, + respectively, so same demangler can be used by other programs. + * Makefile.in: Remove demangler stuff. + * Makefile.in (depend): Pass -I../readline (needed for main.c). + * demangle.c (_initialize_demangler): Tell demangler which + CPLUS_MARKER to assume. + +Fri Aug 28 13:13:33 1992 John Gilmore (gnu@cygnus.com) + + RS/6000 portability changes (for hosting cross-debuggers). + + * breakpoint.c (fixup_breakpoints): Re-kludge to IBM6000_TARGET. + * buildsym.c, rs6000-xdep.c, rs6000-tdep.c, tm-rs6000.h, + xcoffexec.c, xcoffread.c: Rename aixcoff to xcoff everywhere. + * printcmd.c (print_frame_args): Remove an RS/6000 dependency. + * stabsread.c (define_symbol): Remove RS/6000 dependencies. + * tm-rs6000.h (ATTACH_DETACH): Remove: host-dependent. + (PTRACE_ATTACH, PTRACE_DETACH): Remove: host-dep. + (NO_SINGLE_STEP): Add, target-dependent. + (loadinfotextindex): Lowercase, remove "aix_". + * xm-rs6000.h: Add <sys/ptrace.h> for infptrace.c. + (NO_SINGLE_STEP): Remove, target-dependent. + * xcoffexec.c (vmap_symtab): Cleanup #if 0'd code. + * xcoffread.c: Only build file if RS/6000 native GDB. + (build_function_symbol): Remove #if 0'd code. + * rs6000-tdep.c: Cleanup. Add static fn protos. + Use CORE_ADDR for addresses throughout. Make void fns void. + (pop_dummy_frame): Add FIXME about bogosity of design here. + (rs6000_struct_return_address): Ditto. + (frameless_function_invocation, frame_get_cache_fsr, + frame_initial_stack_address, xcoff_relocate_symtab, + xcoff_init_loadinfo, free_loadinfo, xcoff_add_toc_to_loadinfo, + add_text_to_loadinfo, find_toc_address): Move from xdep file. + Use CORE_ADDRs. Change identifiers to lowercase. + + * rs6000-xdep.c: Make whole file conditional on native RS/6000, + supplying dummy routines if non-native. Add prototype for + static exec_one_dummy_insn. Move a mess of functions to + rs6000-tdep.c (as above). Remove #if 0'd code. + + * config/rs6000.mh (XDEPFILES): Move xcoffexec.o to target side. + (XM_CLIBS): Add -lm to circumvent AIX 3.2 libc ldexp bug. + * config/rs6000.mt (TDEPFILES): Adopt xcoffexec.o. + + * gdbtypes.h (TYPE_ALLOC): Parenthesize result to avoid problems + for callers. + + * vx-share/README, nindy-share/README: New files describing + how these directories' code is shared, and with whom. + +Thu Aug 27 20:04:56 1992 John Gilmore (gnu@cygnus.com) + + * configure.in (target configurations): Reformat into table. + Remove unsupp. Amigados host and target. Ditto Mach 386 target. + + * tm-altosgas.h, tm-i386v-g.h: Remove ancient coff encap configs. + * config/{altosgas.mt, i386v-g.mt, i386v32-g.mt}: Ditto. + * config/{i386sco.mt,i386v32.mt}: Remove; identical to i386v.mt. + * config/{go32.mt,i960.mt}: Remove; they only printed error msgs. + * config/nindy960.mt: Remove useless MT_CFLAGS setting. + * config/i386aout.mt: Use tm-i386v.h, not tm-i386v-g.h. + + * Makefile.in (config-check): Add command to check whether + configure.in is consistent with config/*. + +Wed Aug 26 21:10:52 1992 John Gilmore (gnu@cygnus.com) + + * configure.in (host configurations): Reformat nested cases into + easy-to-maintain table. + (m68k-altos-*, i386v*): We don't care whether coff encap is used. + config/{altosgas.mh, i386v-g.mh, i386v32-g.mh}: Remove. + +Wed Aug 26 16:02:01 1992 Fred Fish (fnf@cygnus.com) + + * cplus-dem.c: Reorder args to most local functions to make them + follow the consistent pattern of struct work_stuff pointer first, + followed by pointer into string being demangled, followed by + pointer to the string where the result is being stored, followed + by other args. Also generally replace most variables of name + "type" with "mangled" for consistency. They all pointed to the + same string but half were one name and half the other. + * cplus-dem.c (LONGERNAMES): Remove #ifndef's. + * cplus-dem.c (demangle_qualified): Rewrite to clean up and allow + use whenever a qualified name is being demangled. + * cplus-dem.c (do_type): Qualified names are treated similarly + to fundamental types, not as modifiers of fundamental types. + +Mon Aug 24 20:44:38 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Add sparclite as a target. + + * sparc-stub.c (handle_exception): Flush instruction cache just + before returning to the user. (hexToInt): Fix overzealous cleanup. + +Mon Aug 24 11:57:13 1992 Fred Fish (fnf@cygnus.com) + + * infrun.c (handle_command): Rewrite to allow multiple signal + numbers, signal number ranges, and to recognize "all" to mean all + signals except those used by the debugger. + * infrun.c (SET_SIGS, UNSET_SIGS): Macros used in handle_command + to set or reset actions for specific signals. + +Sun Aug 23 17:10:07 1992 Fred Fish (fnf@cygnus.com) + + * coffread.c (decode_type): Call alloc_type to alloc new + types. + * stabsread.c (read_array_type, read_range_type, define_symbol): + Call alloc_type to alloc new types. + * stabsread.c (define_symbol): Move dbl_valu symbol field data + from type_obstack to symbol_obstack. + * stabsread.c (define_symbol): Move typedef_sym from type_obstack + to symbol_obstack. + * gdbtypes.h (TYPE_ALLOC): New macro to allocate space for data + associated with a type, using the same mechanism as was used to + allocate space for the type structure itself. + * coffread.c (patch_type, coff_read_struct_type, + coff_read_enum_type): Use TYPE_ALLOC. + * dwarfread.c (struct_type): Use TYPE_ALLOC. + * gdbtypes.c (create_array_type, check_stub_method, + allocate_cplus_struct_type): Use TYPE_ALLOC. + * mipsread.c (parse_symbol, parse_type): Use TYPE_ALLOC. + * stabsread.c (read_struct_type, read_array_type, read_enum_type, + read_range_type): Use TYPE_ALLOC. + +Sun Aug 23 11:04:08 1992 Fred Fish (fnf@cygnus.com) + + * breakpoint.c (breakpoint_re_set): Select a default source + symtab if one is not currently selected. + * utils.c (query): Call wrap_here before building the output + query string, to turn off wrapping and flush any buffered output. + Otherwise our query may end up in the wrap buffer and never be + seen by the user. + * eval.c (evaluate_subexp): Report error when attempting to + evaluate subscript for types without a target type, rather + than dumping core by using the NULL pointer. + * symfile.c (symbol_file_command): Forget current_source_symtab + and current_source_line when discarding symbol table. + +Sat Aug 22 22:33:20 1992 John Gilmore (gnu@cygnus.com) + + Bug fixes from Andrew Heybey <ath@lcs.mit.edu>. + + * tm-mips.h (REGISTER_VIRTUAL_TYPE): Float regs are float type. + * mips-tdep.c (mips_print_register): Alloc enough space for two regs. + +Fri Aug 21 15:17:03 1992 Stu Grossman (grossman at cygnus.com) + + * remote.c (remote_open): Fix baud rate setting to make -b flag + work. (remote_wait): Change 'T' message parser to deal with new + improved format which allows stub to send an arbitrary bunch of + registers. + * sparc-stub.c: General cleanups. (trap_low, handle_exception): + make all this re-entrant by storing all state on the stack. Clean + up memory error trapping. (computeSignal, set_debug_traps): + make it all table driven. Make a start at a baud rate setting command. + +Wed Aug 19 10:23:27 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68k-pinsn.c: handle new operand type 'r', introduced for cas2. + + * remote-vx.c: redefine malloc to avoid buggy declaration on + RS/6000 <rpc/types.h>. + xm-rs6000.h: include <sys/select.h> to define fd_set for + <rpc/svc.h> on RS/6000. + +Tue Aug 18 14:48:24 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: added FLAGS_TO_PASS variable, and passed it to + recursive invocations of make. Always create installation + directories. + +Mon Aug 17 18:29:58 1992 Per Bothner (bothner@rtl.cygnus.com) + + * m68k-pinsn.c: Minor fix in style of output (don't use + range to indicate floating point control registers). + +Sat Aug 15 02:58:03 1992 John Gilmore (gnu@cygnus.com) + + * m68k-pinsn.c: Surround extended support with #ifdef HAVE_68881. + + * infcmd.c (registers_info): Handle multiple register names. + Changes inspired by Roland McGrath. + +Sat Aug 15 02:28:52 1992 Stu Grossman (grossman at cygnus.com) + + * sparc-stub.c: New file. Mix it with your SPARClite + application, and it will speak GDB remote protocol! + * remote.c (remote_wait): Change 'T' (expedited reply) message to + deal with arbitrary registers. Needed for sparc-stub. + +Fri Aug 14 12:11:25 1992 Fred Fish (fnf@cygnus.com) + + * cplus-dem.c (cplus_markers): Add table for gnu style and + use throughout, in place of compile time constant CPLUS_MARKER. + * cplus-dem.c (ARM_VTABLE_STRING, ARM_VTABLE_STRLEN): Add. + * cplus-dem.c (cfront_special): New function, as suggested + by pfieland@stratus.com. + * cplus-dem.c (forget_types): New function. + * cplus-dem.c (cplus_demangle): Call gnu_special, moved from + demangle_prefix(). + * cplus-dem.c (mop_up): Call forget_types(). + * cplus-dem.c (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING): + Use throughout, instead of checking current_demangling_style. + * cplus-dem.c (demangle_signature): When finding an explicit + start of function args, forget all remembered types for + lucid/cfront style demangling. + * cplus-dem.c (demangle_prefix): In a sequence of two or more + underbar characters, use last pair as the delimiter. Hoist + gnu_special() call up to cplus_demangle(). Call cfront_special() + when appropriate. + * cplus-dem.c (cplus_special): Fix virtual table name demangling + for inherited classes. + * cplus-dem.c (demangle_args): Document quirks of numbered + references to previously seen types. + * dbxread.c (read_ofile_symtab, process_one_symbol): + Use AUTO_DEMANGLING rather than explicitly checking + current_demangling_style. + * demangle.h: Add some comments. + * demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING, + CFRONT_DEMANGLING): New macros. + * dwarfread.c (LCC_PRODUCER): Remove trailing space, which is + not found in the actual producer string produced by lcc. + * dwarfread.c (handle_producer): Use AUTO_DEMANGLING rather + than explicitly checking current_demangling_style. + +Thu Aug 13 11:54:46 1992 John Gilmore (gnu at cygnus.com) + + * breakpoint.c (enable_longjmp_breakpoint, + disable_longjmp_breakpoint, set_longjmp_resume_breakpoint): + Check for duplicate breakpoints at the same address. Bug report + and preliminary fix from Dave Morrison, <drmorris@us.oracle.com>. + +Wed Aug 12 11:14:58 1992 Fred Fish (fnf@cygnus.com) + + * buildsym.c (end_symtab): Document that end_symtab can return + NULL under non-error conditions. + * dwarfread.c (read_file_scope): Guard against dereferencing NULL + returned from end_symtab for empty compilation units. + +Tue Aug 11 02:49:39 1992 John Gilmore (gnu at cygnus.com) + + * am29k-tdep.c: Lint from DECstation compiler. + * mem-break.c: Restore test of BREAKPOINT size that Fred removed. + As the man page says, "Sometimes you just can't get lint to shut + up". That doesn't mean you should blow away the code it won't + shut up about. + * mips-xdep.c: Revise stubbing-out of code until Rich cleans + it up over the next few weeks. Make mips x 29k build. + * tm-29k.h (CALL_DUMMY): Make it work on cross-endian hosts. + (FIX_CALL_DUMMY): Comment in the patching of the breakpoint, + but leave it as a comment because the breakpoint instruction + is not easily accessible at this moment (it's static, and if + we define one here, it goes into every file compiled). + +Mon Aug 10 22:27:19 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.6.3. + * dwarfread.c (scan_partial_symbols): Skip over DIE's within + function scopes when building partial symbol tables. + * objfiles.c (open_existing_mapped_file): Make it clear in + warning message that out of date mapped files are ignored. + * symtab.c (lookup_symtab_1, lookup_symbol): Print compilation + unit source file name in error message. + +Sat Aug 8 23:12:22 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (struct dieinfo): Add has_at_byte_size. + * dwarfread.c (struct_type): In absence of AT_byte_size for + bitfield, use size of object of member's type for the size of + the anonymous object containing the bit field. + * dwarfread.c (completedieinfo): Set has_at_byte_size when + an AT_byte_size attribute is seen. + * mipsread.c (psymtab_to_symtab_1): Fix misspelled cast to + union aux_ext (was aux_ent). + * i386-pinsn.c (print_insn): Cast 2'nd arg to read_memory from + unsigned char* to char*, for Lucid compiler. + * i386-tdep.c (codestream_fill): Fix cast of 2'nd arg to read_memory + to be correct type (from unsigned char* to char*). + * valprint.c (type_print_derivation_info): Minor tweak to placement + of commas in derived class printing. + * xcoffread.c (builtin_type): Fix misspelling in fatal message. + +Fri Aug 7 11:18:23 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * xm-go32.h: Define LSEEK_NOT_LINEAR + * source.c (find_source_lines): if LSEEK_NOT_LINEAR is defined + then work out the lseek positions of newlines by running through + the file and `tell'ing. This makes source file listing work on + OS's where the relationship between physical position in file and + canonical position is indeterminate, eg VMS and DOS. + +Thu Aug 6 10:56:01 1992 Fred Fish (fnf@cygnus.com) + + * stabsread.c: Ensure that all members of all allocated structures + are initialized to known state to avoid hard to find bugs with gdb + using fields containing random data. + * buildsym.c (start_subfile): Compact dirname initialization. + * buildsym.c (patch_subfile_names): New function. + * buildsym.c (end_symtab): Make copy of dirname on symbol obstack. + * buildsym.c (end_symtab): Free all malloc'd subfile fields. + * buildsym.h (patch_subfile_names): Add prototype. + * dbxread.c (process_one_symbol): Call patch_subfile_names. + +Wed Aug 5 01:42:40 1992 John Gilmore (gnu at cygnus.com) + + * remote-udi.c: Update comments. + + * remote.c (getpkt): Only force retransmission ten times; + after that, assume bug in target code, and handle pkt anyway. + +Mon Aug 3 17:06:20 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Add support for apollo 68k under BSD environment. + * xm-apollo68b.h: New file to support above. + +Mon Aug 3 00:25:56 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Recognize i486 host cpu. + * valprint.c (type_print_derivation_info): Print derivation info + in same form as class declarations in source. + * valprint.c (type_print_varspec_suffix): Split arg printing + code out to type_print_args function. + +Sat Aug 1 13:32:58 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (struct dieinfo): Remove obsolete at_visibility, + at_import, at_frame_base. + * dwarfread.c (completedieinfo): Remove cases for obsolete + AT_visibility, AT_import, and AT_frame_base attributes. + * breakpoint.h (BREAKPOINT_MAX): Increase from 10 to 16 for + i860, which can keep up to 4 shadow breakpoints. + * tm-stratus.h (USG): Define. + * tm-stratus.h (TARGET_BYTE_ORDER): Define to BIG_ENDIAN. + * xm-stratus.h (HOST_BYTE_ORDER): Define to BIG_ENDIAN. + * xm-stratus.h (xm-sysv4.h): Include, name changed from xm-svr4.h. + * xm-stratus.h (NO_JOB_CONTROL): Remove define. + * config/stratus.mt (TDEPFILES): Include files available from + stratus that are not yet in release pending receipt of paperwork + at FSF. + * buildsym.c (finish_block): Minor code format change. + * gdbtypes.h (struct field): Add to comments. + * gdbtypes.h (virtual_field_bits): Add to comments. + * objfiles.c (allocate_objfile): Change obstack interface to + match FSF merging efforts. + +Mon Jul 27 21:14:44 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.6.2. + * Makefile.in (SFILES_MAINDIR): Add stabsread.c + * Makefile.in (OBS): Add stabsread.o + * Makefile.in (stabsread.o): Add build rule. + * stabsread.c, stabsread.h: New files. + * buildsym.c: Split out stabs specific support to stabsread.c. + * buildsym.h: Split out stabs specific support to stabsread.h. + * dbxread.c (stabsread.h): Include + * dbxread.c (dbx_new_init): Call stabsread_new_init. + * dbxread.c (dbx_psymtab_to_symtab_1): Call stabsread_init. + * dbxread.c (read_ofile_symtab): Call end_stabs. + * dbxread.c (process_one_symbol): Call end_stabs and start_stabs. + * dbxread.c (elfstab_build_psymtabs): Call stabsread_new_init. + * dwarfread.c (psymtab_to_symtab_1): Call buildsym_init, add + really_free_pendings to cleanups. + * elfread.c (elf_new_init): Call stabsread_new_init. + * gdbtypes.c: Small changes to maintenance commands. + * mipsread.c (stabsread.h): Include. + * mipsread.c (psymtab_to_symtab_1): Call end_stabs. + * xcoffread.c (stabsread.h): Include. + * xcoffread.c (global_stabs): Remove redundant def. + * xcoffread.c (read_xcoff_symtab): Call start_stabs and end_stabs. + +Wed Jul 22 21:39:33 1992 Fred Fish (fnf@cygnus.com) + + * lmode_inferior_valid, lmode_ours_valid: New static vars. + * inflow.c (terminal_init_inferior, terminal_inferior, + terminal_ours_1, initialize_inflow): Record and use state + of lmode_inferior_valid and lmode_ours_valid. + +Wed Jul 22 04:23:03 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * es1800.c: use FREAD|FWRITE rather than _FREAD|_FWRITE. + include <sgtty.h> on USG. (from sef). + + * depend: es1800 dependency needed here. + +Mon Jul 20 21:09:53 1992 Fred Fish (fnf@cygnus.com) + + * buildsym.c (read_struct_type): Initialize structs allocated + with alloca, to avoid using random values from stack later on. + * defs.h (fprintf_filtered): Add prototype. + * gdbtypes.c (check_stub_method): Fix misleading comments. + * gdbtypes.c (print_arg_types, dump_fn_fieldlists): New maint + support functions. + * gdbtypes.c (print_cplus_stuff, recursive_dump_type): Many + small changes to maint support functions. + * gdbtypes.h (cplus_struct_type): Reorganize member ordering + for some fields and expand comments. + * objfiles.c (allocate_objfile): Use new obstack_alloc_arg + macro and track change to obstack_full_begin macro. + * utils.c (fprintfi_filtered): New function. + * valprint.c (type_print_base): Fixup field printing to not + print extraneous lines and not print bogus "no data fields" + messages for C++ classes with no data members. Also use new + fprintfi_filtered function. + +Mon Jul 20 11:25:18 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * configure.in: es1800 ok for 68000 too. + +Sat Jul 18 15:48:58 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: echo error messages to stderr, not stdout + +Fri Jul 17 17:07:24 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognize hppa* instead of hppa + +Fri Jul 17 16:52:04 1992 Stu Grossman (grossman at cygnus.com) + + * energize.c: Second cut at DynamicLoad message handling. + + * energize.c: Relativize pathnames in #include statements. + * (kernel_dispatch): Better error messages for unknown protocol + messages. + * (kernel_dispatch): First cut at DynamicLoad message handling. + + * Makefile.in: Remove -I../readline from all compilations, + include a special case for main.o instead. + +Fri Jul 17 10:14:56 1992 Fred Fish (fnf@cygnus.com) + + * eval.c (evaluate_subexp): Ask lookup_struct_elt_type to call + error if it fails to find a member type, rather than return NULL + and trigger a coredump. + * symtab.c (lookup_symbol, lookup_demangled_block_symbol, + lookup_demangled_partial_symbol,): Ask demangle_and_match to + match on complete demanglings, including argument lists for member + functions, rather than just accepting the first demangling that + matches the class and function name. + * dwarfread.c (read_file_scope): Pass contents of AT_comp_dir + to start_symtab as the directory name. + * dwarfread.c (completedieinfo): Strip off any leading hostname + portion of the AT_comp_dir attribute string. Gdb doesn't know + what to do with them (FIXME). + +Thu Jul 16 13:37:09 1992 Stu Grossman (grossman at cygnus.com) + + * breakpoint.c (commands_command): Simplify code a bit, remove + unnecessary fflush(). + + * Makefile.in (OTHERS): Add gcc.patch. + * partial-stab.h (N_SO): Fix handling of redundant SOs (again...) + +Thu Jul 16 12:07:40 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (LCC_PRODUCER): Change to match current NCR + lcc producer string. + +Thu Jul 16 11:40:55 1992 Stu Grossman (grossman at cygnus.com) + + * WHATS.NEW renamed to NEWS. + +Wed Jul 15 11:37:31 1992 Fred Fish (fnf@cygnus.com) + + * dbxread.c, dwarfread.c: Re-enable experimental code to + automatically select demangling style. + * demangle.c (DEFAULT_DEMANGLING_STYLE): Rename from simply + DEMANGLING_STYLE, to make more descriptive. Revert back to + "auto" as default. Comment use. + * Makefile.in (DEMANGLING_STYLE, DEMANGLE_OPTS): Remove. + * Makefile.in (${DEMANGLER}.o) Remove target and special + compilation rule. + +Tue Jul 14 23:05:14 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.6.1 (post-release versions). + +Tue Jul 14 19:26:54 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in, demangle.c: Change default demangling style to + gnu. + * Makefile.in: Update version to 4.6 !!! + * README, WHATS.NEW: Update for 4.6. + +Tue Jul 14 16:59:46 1992 Ken Raeburn (raeburn@cygnus.com) + + * i960-tdep.c (frame_args_address): If arg pointer can't be found, + use frame address. + + * buildsym.c (read_struct_type): Don't die on TYPE_CODE_UNDEF + nodes as base classes. + +Tue Jul 14 00:12:30 1992 Stu Grossman (grossman at cygnus.com) + + * alldeps.mak, depend: Update. + + * xcoffread.c: Add decl for section_offset to keep prototype happy. + + * Makefile.in (VERSION): 4.5.9. + + * xm-hp300bsd.h: Add decl for strdup(). + * mips-tdep.c (heuristic_proc_desc): Fill in proc start addr in + PDR. Cleanup a few things, fix compilation warnings. + +Mon Jul 13 19:06:54 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (DEMANGLING_STYLE): New define to set default + demangling style for C++. Defaults to "auto". + * Makefile.in (DEMANGLE_OPTS): Use DEMANGLING_STYLE. + * Makefile.in (SFILES_MAINDIR): Add demangle.c + * Makefile.in (OBS): Add demangle.o + * cplus-dem.c (GNU_DEMANGLING, ARM_DEMANGLING, LUCID_DEMANGLING): + Remove compile time decisions about demangling style and replace + with runtime decisions using current_demangling_style. + * cplus-dem.c (main): Expand code included during building of + standalone demangler to recognize demangling style options. + * dbxread.c (demangle.h): Include. + * dbxread.c (read_ofile_symtab, process_one_symbol): Set GNU C++ + demangling style if processing g++ code and current demangling style + is auto (Note: this feature currently disabled.) + * demangle.c: New file, generic demangling control. + * demangle.h (demangling_styles): New enumeration to select one + of several demangling styles. Also define string names for each + style. + * demangle.h (set_demangling_style): Add prototype. + * dwarfread.c (demangle.h): Include. + * dwarfread.c (GPLUS_PRODUCER, LCC_PRODUCER, CFRONT_PRODUCER): + New producer string prefixes to recognize. + * dwarfread.c (handle_producer): Consolidate actions for specific + producers. Set demangling style based on producer string if + current style is auto. (Note: this feature currently disabled.) + * config/ncr3000.mt (DEMANGLE_OPTS): Remove. + +Sat Jul 11 18:23:58 1992 John Gilmore (gnu at cygnus.com) + + * config/sun4sol2.mh: Remove -xs flag, default INSTALL to cp. + +Fri Jul 10 13:58:34 1992 Per Bothner (bothner@rtl.cygnus.com) + + * gdbtypes.c, gdbtypes.h: New function lookup_signed_typename. + * c-exp.y: Call lookup_signed_typename() after seeing + "signed". This handles "signed char" correctly. + * c-exp.y: Recognize (but ignore) 'const' and 'volatile' + keywords before a type specifier. + +Fri Jul 10 10:19:52 1992 Fred Fish (fnf@cygnus.com) + + * command.c (lookup_cmd_1): Clarify descriptive comments. + * gdbcmd.h (maintenanceprintlist): Add declaration. + * main.c (maintenanceprintlist): Add definition. + * main.c (gdb_completer_command_word_break_characters): Add. + * main.c (symbol_completion_function): Switch completer word + break character sets dynamically, based on whether completion is + being done on commands or on something else. + * main.c (initialize_cmd_lists): Init maintenanceprintlist. + * maint.c: Include demangle.h. + * maint.c (maintenance_demangle): New function. + * maint.c (maintenance_print_command): New function. + * maint.c (_initialize_maint_cmds): Reorganize some commands + under new maintenance print subcommand. + +Thu Jul 9 19:05:27 1992 Per Bothner (bothner@rtl.cygnus.com) + + * gdbtypes.c (lookup_struct_elt_type): If the input type is + TYPE_CODE_PTR or TYPE_CODE_REF, dereference it to get the + target type. Otherwise, 'whatis this.field' wouldn't work, + which would be inconsistent, since 'print this.field' works. + * buildsym.c (read_struct_type, read_enum_type): Clear + TYPE_FLAG_STUB flag. + * buildsym.c (cleanup_undefined_types): Don't rely on a + flawed "Reasonable test to see if" a type has been defined + since it was referred to; now we can just see if the + TYPE_FLAG_STUB flag has been cleared. + * valprint.c (print_type_base): Emit public/protected/private + labels for methods as well as fields. Also, indent these labels + 2 spaces instead of 4, for a more conventional "look". + * symtab.c (gdb_mangle_name): Undo Fred's change, unless + GCC_MANGLE_BUG is defined. Also, handle destructors specially. + * gcc.patch: New file. Contains patch for gcc (so people + with gdb-2.2.x won't have to wait for a new gcc release). + +Thu Jul 9 18:44:26 1992 Ken Raeburn (raeburn@cygnus.com) + + * i960-pinsn.c (mem): Variables reg[123] should point to CONST. + (print_addr): Call print_address to show symbolic version as well. + + * remote-vx.c (vx_kill): Don't look for arguments; they aren't + being passed. + (vx_read_register): Declare inferior_fp_regs. Delete code for + copying "inferior_registers" around; the values are already in var + "registers". Use correct size for register set. + + * remote-vx.c (vx_write_register): Don't try writing FP regs; the + target doesn't support it. + (vx_read_register): Don't try reading them either. + + * tm-i960.h (IP_REGNUM): Move to end of non-FP list, since the + VxWorks back end reads them in one contiguous set except for this + one. + (register_names): Change "pc" to "pcw" to avoid confusion printing + "$pc". + * tm-vx960.h (PC_REGNUM): Use RIP_REGNUM, since that's where we + find the PC under VxWorks. + +Wed Jul 8 21:34:30 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (alloc_utype, decode_subscr_data): Call alloc_type + to create new blank types, instead of handcrafting them. + * defs.h (printfi_filtered): Add prototype. + * utils.c (printfi_filtered): New function. + * gdbtypes.c (recursive_dump_type): Use printfi_filtered to + to simplify the code. Other cleanups. + * gdbtypes.c (check_stub_method): Demangle using DMGL_ANSI. + * gdbtypes.h (struct cplus_struct_type): Add comments describing + use of various fields. + * gdbtypes.c (print_bit_vector, print_cplus_stuff): New functions. + * c-exp.y (%token): Add CLASS as a token for C++, add grammar + production that currently treats it exactly the same as STRUCT. + * c-exp.y (yylex): Recognize "class" as token CLASS. + * symtab.c (gdb_mangle_name): Rewrite to match current g++ stabs. + * symtab.c (decode_line_1): Fix to pass quoted args on down to + general symbol handling code. Call cplus_mangle_opname with + DMGL_ANSI. + * symtab.c (decode_line_2): Print demangled function names in + breakpoint menus, instead of just file and line number. + * symtab.c (name_match): Call cplus_demangle with DMGL_ANSI. + * valprint.c (type_print_base): Print "class" for C++ classes, + rather than "struct". Print section labels for public, protected + and private members of C++ classes. + * values.c: Include demangle.h. + * values.c (value_headof): Call cplus_demangle with DMGL_ANSI. + +Wed Jul 8 17:23:07 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (VERSION): Update to 4.5.8. + + Wed Jul 8 00:11:02 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (dbx_symfile_init): Init stab_section_info to NULL to + prevent crashes when examining cross-targets. + * dbxread.c (process_one_symbol): Include directory name when + calling start_subfile for SOL & BINCL symbols. This allows gdb to + find include files, and yacc/lex sources when the cwd doesn't match + that in which the object was compiled. + * objfiles.h (ALL_MSYMBOLS): Don't seg fault when there are no + msymbols. + * symtab.c (lookup_symtab_1): Rewrite. It now handles include + files. + +Tue Jul 7 09:00:42 1992 Fred Fish (fnf@cygnus.com) + + * maint.c (maintenance_command, maintenance_info_command): + Install with allow_unknown as 0 and call help_list to show + list of possibilities when no subcommand is specified. + +Tue Jul 7 00:20:29 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Add m68k-ericsson-*. + * remote-es1800.c, tm-es1800.h, config/es1800.mt: New files. + +Sun Jul 5 17:17:16 1992 Fred Fish (fnf@cygnus.com) + + * maint.c: New file. + * Makefile.in (SFILES_MAINDIR): Add new file maint.c. + * Makefile.in (OBS): Add new file maint.o. + * defs.h (command_class): Add class_maintenance. + * defs.h (MAINTENANCE_CMDS): Default to including maintenance + commands. Allow for them (and other nonessential parts of gdb) + to be selectively left out under special circumstances. + * gdbtypes.c (recursive_dump_type): New function; supports + maintenance print-type command. + * gdbtypes.h (recursive_dump_type, maintenance_print_type): + Add prototypes. + * main.c (maintenancelist, maintenanceinfolist): Add maintenance + command lists. + * main.c (initialize_cmd_lists): Eliminate unnecessary casts on + initializers. Add initializations for setprintlist, showprintlist, + setchecklist, showchecklist, maintenancelist, and maintenanceinfolist. + * printcmd.c (maintenance_print_type): New maintenance cmd. + * valprint.c (setprintlist, showprintlist): Move to main.c, as + implied by comment that all cmd lists are owned by main.c. + * infcmd.c (unsetlist): Move to main.c, as implied by comment + that all cmd lists are owned by main.c. + * language.c (setchecklist, showchecklist): Move to main.c, as + implied by comment that all cmd lists are owned by main.c + * breakpoint.c (enablelist, enablebreaklist, disablelist, cmdlist, + deletelist): Remove redundant declarations (also in gdbcmd.h). + * symmisc.c (printsyms_command): Now maintenance_print_symbols. + * symmisc.c (printmsyms_command): Now maintenance_print_msymbols. + * symmisc.c (printpsyms_command): Now maintenance_print_psymbols. + * symmisc.c (printobjfiles_command): Now maintenance_print_objfiles. + * symtab.h (maintenance_print_symbols, maintenance_print_psymbols, + maintenance_print_msymbols, maintenance_print_objfiles): + Add prototypes. + * symmisc.c (printsyms_command, printpsyms_command, + printmsyms_command, printobjfiles_command): Removed from + _initialize_symmisc. + * main.c (dump_me_command): Moved to maint.c and renamed to + maintenance_dump_me. + * breakpoint.c (all_breakpoints_info): Rename to + maintenance_info_breakpoints. + * breakpoint.c (_initialize_breakpoint): Convert add_info of + all_breakpoints_info to add maintenance_info_breakpoints to the + maintenanceinfolist instead. + main.c (initialize_main): Set up maintenance class commands. + +Sun Jul 5 11:03:53 1992 Stu Grossman (grossman at cygnus.com) + + * energize-patches: Fix minor problems with building energize lib. + + * energize-patches: Change names of all cadillac procedure calls + to be energize procedure calls. Simplify many hooks by moving + tests energize.c. Configure energize, and build it automatically now. + +Sun Jul 5 09:43:28 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.5.7. + * cplus-dem.c (demangle_args): Validate index for previously + seen type to guard against bogus values from malformed manglings. + * valops.c (value_struct_elt_for_reference): Guard against + blindly using NULL return value from lookup_symbol. + +Sun Jul 5 09:46:43 1992 Stu Grossman (grossman at cygnus.com) + + * cadillac.c, cadillac-patches: Rename to energize.c and + energize-patches. Change all routines and variables named + 'cadillac*' to 'energize*'. Create new file called energize.h to + hold all interface declarations. + + * deblib/connection/*: Move all of this stuff into energize/, but + delete unneeded files. + +Sun Jul 5 03:06:39 1992 John Gilmore (gnu at cygnus.com) + + * tm-sysv4.h (NAMES_HAVE_UNDERSCORE): SVR4 systems don't. + + * buildsym.c (finish_block): Fix thinko `inner block' complaints. + * dbxread.c (process_one_symbol): Parse N_OPT "gcc2_compiled.". + * procfs.c (proc_set_exec_trap): Set run-on-last-close flag on + child processes, to avoid dead ones "hanging around" after GDB exits. + (attach): Always stop the process if it needs it. Set RLC flag + when attaching running processes, so it will continue if we detach + it, quit, or are killed. + (detach): Clear faults and set RLC flag to make process run + when we close it. + (open_proc_file): New `mode' argument for O_RDONLY or O_RDWR. + Callers changed. + (info_proc): Open process O_RDONLY, so we can see any process, + even those controlled by debuggers. + * tm-sun4sol2.h (SUN_FIXED_LBRAC_BUG): They did (in Sol 2). + +Sat Jul 4 03:43:38 1992 John Gilmore (gnu at cygnus.com) + + Relocate symbols using an array of section_offsets, rather than a + single `addr' or `offset'. This makes Solaris-2 support work, and + permits better VxWorks (and maybe xcoff) support later. + + * symtab.h (struct section_offsets): New structure for keeping + a set of offsets, rather than a single one. + (struct objfile): Replace addr with section_offsets member. + * symfile.h: Add sym_offsets to struct sym_fns. Conforming changes. + * gdb-stabs.h: New include file with `symbol type specific' + parameters for psymtabs and objfiles. + * Makefile.in (HFILES): Add gdb-stabs.h. + * buildsym.h (start_psymtab, process_one_symbol): Fix prototypes. + * coffread.c: Conforming changes. Fake offset array always 0. + * dbxread.c: Conforming changes. + (struct dbx_symfile_info): Move to gdb-stabs.h. + (start_psymtab): Call elfstab_offset_sections to calculate good + offsets for this source file, based on the ELF symbol table info. + (read_ofile_symtab): Yank N_CATCH, which is dead. + (process_one_symbol, N_CATCH): Yank. + (", N_FUN, N_FNAME, N_FN, N_FN_SEQ, N_SO, N_SOL, N_ENTRY): + Relocate with SECT_OFF_TEXT. + (", N_STSYM, N_LCSYM, N_ROSYM): Grope around in the stab string + to distinguish relocatable from absolute symbols. Then, if not + absolute, do: + (", N_STSYM, N_DSLINE): SECT_OFF_DATA. + (", N_LCSYM, N_BSLINE): SECT_OFF_BSS. + (", N_ROSYM): SECT_OFF_RODATA. + (elfstab_build_psymtabs): Caller has allocated dbx_symfile_info. + (dbx_symfile_offsets): Add to translate addr to offset. + * dwarfread.c: Conforming changes. Single offset currently used. + * elfread.c: Add various complaints about elf/stab stuff. + #include gdb-stabs.h. Conforming changes, using a single offset. + (elf_symtab_read): Record info from BSF_FILE symbols, and local + variables called "Bbss.bss", "Ddata.data", and "Drodata.rodata", + for later use in building psymtabs. + (elf_symfile_read): Allocate dbx_symfile_info here, to keep + the info collected in elf_symtab_read. Cleanup calls free_elfinfo. + (free_elfinfo): New fn, frees all chained stab_section_infos + in an objfile, and zaps the start-of-chain pointer. + (elfstab_offset_sections): New fn, looks in stab_section_info + chain to determine section bases to relocate a psymtab's worth + of symbols, as they are being read. + * mipsread.c: Conforming changes. Stabs-reading will relocate + using one offset. MIPS-reading will not relocate at all. + * partial-stab.h: Relocate different symbol types using different + offsets from section_offsets. + * symfile.c: Conforming changes. + (find_lowest_section): Unused function to use later + to free us from the Tyranny of the Text Section. + (syms_from_objfile): Translate absolute arg ADDR to offsets used + in all lower layers of symbol reading. Call format-specific + sym_offsets function to initialize offsets for high speed symbol + reading. + (symbol_file_add): Call reinit_frame_cache so callers don't have to. + (symbol_file_command, add_symbol_file_command): Callers changed. + * symmisc.c (dump_psymtab): Print new relocation parameters. + * xcoffread.c: Corresponding changes. + + * buildsym.c: Tidy innerblock_complaint and blockvector_complaint. + * main.c (main): Read the $HOME/.gdbinit file before processing + the argv arguments (e.g. reading symbol files or core + files). This allows global parameters to be set, which will apply + during the symbol reading. The ./.gdbinit is still read after + argv processing. + * symtab.c (list_symbols): `i variables' shouldn't show enum values. + * xcoffexec.c: Clean up quote inside comment. + +Fri Jul 3 20:18:26 1992 Fred Fish (fnf@cygnus.com) + + * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c, + core.c, cplus-dem.c, dbxread.c, dwarfread.c, elfread.c, environ.c, + eval.c, findvar.c, gdbtypes.c, hppabsd-tdep.c, hppahpux-tdep.c, + i386-tdep.c, ieee-float.c, infcmd.c, inflow.c, infptrace.c, + infrun.c, m2-exp.y, mipsread.c, objfiles.c, parse.c, procfs.c, + putenv.c, remote-mm.c, remote-vx.c, solib.c, sparc-tdep.c, + sparc-xdep.c, stack.c, symfile.c, symtab.c, symtab.h, target.c, + tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, + values.c, xcoffread.c: + Remove "(void)" casts from function calls where the return value + is ignored, in accordance with GNU coding standards. + +Fri Jul 3 00:00:49 1992 John Gilmore (gnu at cygnus.com) + + * dbxread.c (process_one_symbol): Ignore N_MAIN, N_ENDM for Solaris. + * partial-stab.h: Ignore N_ENDM. + * elfread.c (elf_symtab_read): Ignore symbols that don't have a + CODE or DATA section attachment. This eliminates a lot of random + values from shared libraries, which screw up the ordinary symbols + in the address ranges they happen to overlap. + * buildsym.c (define_symbol): Eliminate special tests + for function types; move into "function" cases in switch statement. + (define_symbol: 'f', 'F', 'P'): Process all parameter types + in case they define new type numbers. But ignore them (FIXME). + ('k', 'B'): Ignore const and volatile if we see them (FIXME). + (read_sun_builtin_type): Add commentary. + +Wed Jul 1 00:47:02 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * xm-rs6000.h: define MEM_FNS_DECLARED + +Tue Jun 30 02:25:10 1992 John Gilmore (gnu at cygnus.com) + + * tm-mips.h (GDB_TARGET_IS_MIPS): Define for mips-xdep.c. + (READ_MIPS_FORMAT, COFF_FORMAT): Remove, unused now. + * mips-xdep.c: Remove most include files (unused, caused errs). + (fetch_core_registers): Use right parameters in dummy fn. + +Mon Jun 29 18:30:57 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (scan_file_globals): Beware the null file. + Fix from Jim Williams. + + * stack.c (return_command): Evaluate expression *before* popping + off the stack frames! Fix inspired by Jim Williams. + (up_silently_command, down_silently_command): No sel frame is error. + + * defs.h (memcpy, memset): Conditionalize decls on + #ifndef MEM_FNS_DECLARED, since DECstation differs. + (alloca): Break out the STDC and non-STDC alloca cases, to make + it work on old preprocessors as well as "picky ANSI" ones. + * xm-mips.h (memcpy, memset): Declare, and set MEM_FNS_DECLARED. + + * mips-tdep.c (heuristic_proc_start): Zero arg produces zero. + * utils.c (fputs_demangled): Rename SLOP since DECstation system + header files define it! + + * tm-29k.h (BREAKPOINT): Allow it to be overridden with -D. + +Mon Jun 29 16:30:25 1992 Fred Fish (fnf@cygnus.com) + + * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c, + symtab.h, tm-i386v4.h, valprint.c, values.c: Lint. + * breakpoint.c, c-exp.y, coffread.c, command.c, environ.c, eval.c, + findvar.c, infcmd.c, infptrace.c, infrun.c, m2-exp.y, parse.c, + putenv.c, solib.c, sparc-xdep.c, symtab.c, tm-i386v.h, tm-sparc.h, + utils.c, valarith.c, valops.c, valprint.c, values.c: + Replace bcopy() use with memcpy(), which is more standard and can + take advantage of gcc's builtin functions for increased performance. + * breakpoint.c, buildsym.c, coffread.c, dbxread.c, i386-tdep.c, + ieee-float.c, infcmd.c, sparc-tdep.c, stack.c, symtab.c, symtab.h, + target.c, values.c: + Replace bzero() use with memset(), which is more standard and can + take advantage of gcc's builtin functions for increased performance. + * i386-tdep.c, main.c, valprint.c: + Replace bcmp() use with memcmp(), which is more standard and can + take advantage of gcc's builtin functions for increased performance. + +Sun Jun 28 13:30:22 1992 Fred Fish (fnf@cygnus.com) + + * remote.c (remote_wait): Fix cast on signal() call. + * defs.h (alloca): More diddling with alloca. Have to ensure + that it has a prototype, so that if alloca is defined as a macro + that takes an arg, the definition is seen as a use of a macro + that takes an arg, to satisfy picky ANSI preprocessors. + +Sat Jun 27 12:12:20 1992 Fred Fish (fnf@cygnus.com) + + * sparc-pinsn.c: Use <string.h> rather than "string.h", for + consistency with all other gdb files. + * cadillac.c: Use <string.h> rather than <strings.h>. + * cadillac.c (kernel_dispatch): Convert rindex usage to strrchr. + * Makefile.in (MAKE): Remove definition for consistency with + other Makefile.in files and to fix problem with recursive makes. + +Fri Jun 26 19:03:23 1992 John Gilmore (gnu at cygnus.com) + + * hppahpux-xdep.c (child_xfer_memory): Avoid PT_WDUSER because it + crashes H-PUX. + +Fri Jun 26 11:09:10 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * source.c (print_source_lines): for DOS interoperability; don't + print CR (013) as ^M. + +Thu Jun 25 15:18:42 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (dbx_symfile_init): Move more code under hp9000s800 + conditional. + * hppabsd-core.c: Don't include "param.h", include <sys/param.h> + instead. + * remote.c (remote_wait): Cast signal to void * to avoid warning + from busted HP compiler. + + * partial-stab.h (N_SO): Rearrange code a little so that all SO + stabs cause end_psymtab to be called. + + * buildsym.c (read_sun_builtin_type): Handle new FCS Sun CC + compiler feature of putting 'c' into basic type descriptors for + all forms of char. + + * procfs.c (child_resume): Work around Solaris (on Sparc) lossage + where there is no place for nPC in prrun struct. + +Thu Jun 25 12:06:00 1992 Fred Fish (fnf@cygnus.com) + + * mipsread.c: Pass NULL name pointer to init_type, not 0. + * gdbtypes.c (init_type): Use copy of typename on type_obstack. + * dwarfread.c (enum_type): Save enum names on type_obstack. + * dwarfread.c (struct_type): Save member name on type_obstack. + * symtab.c (_initialize_symtab): Fix misspelling. + * regex.c (store_jump, insert_jump): Return void. + +Thu Jun 25 04:00:10 1992 John Gilmore (gnu at cygnus.com) + + * defs.h (PARAMS): Move to ../include/ansidecl.h. + (alloca): Declare return type on SPARC, since Sun doesn't. + (*_BYTE_ORDER): Improve comment: *must* be defined. + + * tm-hppa.h: New file, architectural definition of HP PA. + * tm-hppabsd.h, tm-hppahpux.h: Shrink to deltas from tm-hppa.h. + + * am29k-pinsn.c, am29k-tdep.c, copying.awk, copying.c, + hppa-coredep.c, hppa-pinsn.c, hppabsd-core.c, hppabsd-tdep.c, + hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, remote-udi.c, + ser-go32.c, xcoffsolib.c: Remove <stdio.h> which is already in + "defs.h". + + * hppa-coredep.c, hppa-pinsn.c, hppabsd-core.c, hppabsd-tdep.c, + hppabsd-xdep.c, hppahpux-tdep.c, hppahpux-xdep.c, xcoffsolib.c, + xcoffsolib.h, xm-go32.h, xm-hppabsd.h, xm-hppahpux.h: Copyrights. + +Wed Jun 24 12:53:20 1992 John Gilmore (gnu at cygnus.com) + + * printcmd.c (output_command): Thinko. + (x_command): Only set remembered size/format if cmd succeeds. + + * dbxread.c (read_ofile_symtab): Remove N_CATCH special case, + since it is no longer used and burns time for every symbol read. + (process_one_symbol): Treat N_CATCH like default (complain). + +Wed Jun 24 00:26:56 1992 Stu Grossman (grossman at cygnus.com) + + * partial-stab.h (case N_TEXT): Fix fencepost error when + detecting start of new symbol info after reading symtab for a + module with a zero length TEXT segment. + +Tue Jun 23 21:46:26 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.5.6. + * coffread.c (coff_end_symtab): Cast 2nd arg of complain() to + correct type. + * defs.h (NORETURN): Define away for Lucid compiler. + * remote.c (remote_timer, remote_interrupt): Signal handlers + take one int arg. + * ser-termios.c (serial_write, serial_close): Return whatever + value the write/close call returns, rather than falling off end. + * inferior.h (PTRACE_ARG3_TYPE): Third arg to ptrace is int on + more systems than it is "char *". Define PTRACE_ARG3_TYPE to + default to int. + * infptrace.c, hppabsd-xdep.c, hppahpux-xdep.c, i386-xdep.c, + inferior.h (call_ptrace): Use PTRACE_ARG3_TYPE to declare type + of third arg. + * a68v-xdep.c, arm-xdep.c, convex-xdep.c, hp300ux-xdep.c, infrun.c, + m88k-xdep.c, mach386-xdep.c, mips-xdep.c, os68k-xdep.c, pyr-tdep.c, + pyr-xdep.c, rs6000-xdep.c, sparc-xdep.c, sun3-xdep.c, sun386-xdep.c, + symm-xdep.c, ultra3-xdep.c: Use PTRACE_ARG3_TYPE to cast ptrace + argument 3. + * sparc-xdep.c, a68v-xdep.c (fetch_inferior_registers, + store_inferior_registers): Supply missing fourth argument to + ptrace(). + * cadillac.c (kernel_dispatch): Make return type void. + * cadillac.c (iosig): Signal handlers take one int arg. + * valprint.c (val_print_fields): Call fprint_symbol to get + automatic C++ demangling for mangled field names. + +Mon Jun 22 20:18:06 1992 Fred Fish (fnf@cygnus.com) + + * command.c (add_abbrev_prefix_cmd): Fix misspelling in comment. + * dwarfread.c (enum_type): Fix misspelling in comment. + * valprint.c (val_print_fields, cplus_val_print): Minor + adjustment to printing of C++ class structures to more closely + match format for printing C structures, with and without setting + pretty print. + +Mon Jun 22 17:19:02 1992 Per Bothner (bothner@cygnus.com) + + * infrun.c (wait_for_inferior): Don't test for SIGEMT + (which is not a Posix signal) if it isn't defined. + * tm-linux.h, xm-linux.h, config/linux.m[ht], configure.in: + New port to Linux (a free Unix clone for 386 machines). + +Sat Jun 20 19:19:52 1992 John Gilmore (gnu at cygnus.com) + + COFF changes for dealing better with EPI 29K C compiler output. + + * coffread.c (record_minimal_symbol): Pass the minsym type to it. + Callers changed. + (coff_end_symtab): Sort blocks if needed. Complain if misordered. + (read_coff_symtab): Move patch_opaque_types call from + coff_symfile_read. Restrict it to symtabs from this objfile. + (process_coff_symbol: C_TPDEF): Don't put ordinary foward + references on opaque type chain; just let coff_lookup_type handle 'em. + (decode_type): Complain about tagndx values on + non-struct/union/enum types, which the EPI compiler tends to produce. + + * symtab.c (list_symbols): Make minimal symbol variable-finding work. + + * tm-68k.h (FIX_CALL_DUMMY): Avoid alignment and byte order + dependency. + + * elfread.c (elf_symfile_read): Update bfd_elf_find_section + usage to match new prototype. Include libbfd.h to get prototype. + + * source.c (find_source_lines): Handle large st_size fields. + +Sat Jun 20 16:28:39 1992 Fred Fish (fnf@cygnus.com) + + * infcmd.c (jump_command): Use cleanups to avoid memory leaks. + * stack.c (return_command): Use cleanups to avoid memory leaks. + +Fri Jun 19 19:06:41 1992 John Gilmore (gnu at cygnus.com) + + * remote-adapt.c, remote-eb.c, remote-mm.c: Lint. Fix + INT_REGNUM to INTE_REGNUM. + + * tm-29k.h (SDB_REG_TO_REGNUM): Add for EPI 29K C compiler. + +Fri Jun 19 15:30:15 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in, dbxread.c, hppa-coredep.c, hppa-pinsn.c, + hppabsd-core.c, hppabsd-tdep.c, hppabsd-xdep.c, hppahpux-tdep.c, + hppahpux-xdep.c, munch, partial-stab.h, tm-hppabsd.h, + tm-hppahpux.h, xm-hppabsd.h, xm-hppahpux.h: HPPA merge. + + * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Filter out bogus extern + declarations of malloc/realloc/free that are inserted by some + versions of yacc. + * m2-exp.y: Prevent conflicts with TRUE and FALSE tokens by + #undeffing them. + * xm-rs6000.h: Declare malloc/realloc/free appropriately. Yet + another decl of strdup (this really ought to come from libiberty.h!). + +Fri Jun 19 10:28:05 1992 John Gilmore (gnu at cygnus.com) + + * remote.c (getpkt): Error if input exceeds buffer size. + (_initialize_remote): `set remotedebug' enables packet trace. + + * dbxread.c (process_one_symbol:N_FUN): GCC now produces relative + N_SLINE's, etc, just like Sun cc on Solaris2. + + * am29k-tdep.c (read_register_stack, write_register_stack): + Change RSTACK_HIGH_ADDR to rstack_high_address, a user-settable + variable. Add `set' and `show' commands for it. + * doc/gdb.texinfo: Document it. + +Thu Jun 18 19:35:22 1992 Fred Fish (fnf@cygnus.com) + + * valprint.c (type_print_1): Plug memory leak. Print all + C++ syms as demangled, not just functions. + * buildsym.c (read_range_type): When we find a signed char + type, do a lookup of signed char, not plain char. Plain char's + still get looked up as plain char's elsewhere. + +Thu Jun 18 18:59:04 1992 John Gilmore (gnu at cygnus.com) + + * eval.c: Avoid residue-by-zero when evaluating without side effects. + (Bug and fix found by Pierre Willard.) + +Wed Jun 17 13:08:33 1992 Stu Grossman (grossman at cygnus.com) + + * xm-rs6000.h: Fix decls for malloc, realloc, and free. + + * xm-rs6000.h: Add decl for strdup(). + + * tm-rs6000.h: Remove #include of inferior.h. Fixes many + compilation errors. + + * breakpoint.c (enable_command, disable_command): Without args, + should only affect normal breakpoints and watchpoints. + + * m68k-pinsn.c (print_insn_arg): Make register be const. + * xcoffexec.c: Remove ' from comment. + * xm-sun3os4.h: Define MALLOC_INCOMPATIBLE to avoid conflicts + with decls of malloc in c-exp.tab.c (as produced by yacc). + There's got to be a better way to do this... + +Wed Jun 17 11:10:40 1992 Fred Fish (fnf@cygnus.com) + + * partial-stab.h: Convert single rindex use to strrchr. + * mipsread.c, dbxread.c: Remove troublesome inclusion of non- + standard <strings.h> file, now that the only single use of + rindex in the gdb source files is gone. + +Tue Jun 16 22:17:49 1992 Fred Fish (fnf@cygnus.com) + + * mipsread.c: Undo ill effects from including <strings.h>, + which #defines index to be strchr. Unfortunately, index is + a member of a symbol table structure that can't be changed. + * mipsread.c: tm-mips.h includes coff/symconst.h and coff/sym.h, + remove redundant #include's. + +Tue Jun 16 14:15:51 1992 Stu Grossman (grossman at cygnus.com) + + * mipsread.c: #include <strings.h> for rindex(). + +Tue Jun 16 09:01:49 1992 Fred Fish (fnf@cygnus.com) + + * xcoffexec.c (map_vmap): Turn comment into a real C comment. + +Mon Jun 15 18:41:23 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (process_one_symbol), partial-stab.h: Ignore + extraneous SO stabs from busted C++ compilers. + +Mon Jun 15 12:21:45 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.5.5. + * symtab.c (decode_line_1): Until C++ support stabilizes, when + C++ lookups fail, print possibly helpful hint about completion. + * cplus-dem.c (demangle_signature): Fix ARM style demangling + for static data members. + * dbxread.c (dbx_psymtab_to_symtab_1): Fix prototype. + * config/ncr3000.mh (INSTALL): Don't use /usr/ucb/install, + it's broken on ncr3000's. + +Mon Jun 15 07:21:00 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (decode_modified_type): Change type of first arg. + Change 'modifier' to char from unsigned char. Cast single use + that needs to be unsigned char. + * symtab.h (SYMBOL_BASEREG_VALID): Explain disabling. + * utils.c (strdup_demangled): Add function. + * defs.h (strdup_demangled): Add prototype. + * stack.c (return_command): Demangle C++ function names for query. + * infcmd.c (jump_command): Demangle C++ function names for query. + * cplus-dem.c (consume_count): New function and prototype. + * cplus-dem.c (demangle_class, gnu_special, demangle_func_type, + do_type): Replace conversion code with consume_count(). + * cplus-dem.c (gnu_special): Fix demangled of static members. + * source.c (list_command): Print demangled function names + when appropriate. Fix supplied by Peter Schauer. + +Mon Jun 15 01:45:48 1992 John Gilmore (gnu at cygnus.com) + + * sparc-tdep.c: Clean up slightly for Solaris2. + + * buildsym.c (define_symbol): Nameless types are now on several + platforms; generalize them and un-ifdef them to make Solaris 2 + work. + +Sun Jun 14 10:55:51 1992 John Gilmore (gnu at cygnus.com) + + * infcmd.c: Fix typo (reported by Rob Savoye). + * xm-sun4sol2.h (gregset_t): Thinko in register set definition. + * symtab.h: Disable SYMBOL_BASEREG_VALID until it works. + * dbxread.c (dbx_psymtab_to_symtab_1): Renamed from + psymtab_to_symtab_1. Use current psymtab's sym_offset and symbol_size, + rather than the one for the first file in the dependency chain. + + * dbxread.c (end_psymtab): Only reset texthigh if it's not already + set. Don't reset our own texthigh, or dependency-only pst's, in + scanning all the rest of the psymtabs. + (process_one_symbol): Fix comments around N_OBJ, N_OPT, N_UNDF. + + * buildsym.h (N_UNDF): Improve comments. + (N_LSYM, etc): Skip types without names (":T(0,3)=sfoob..."). + +Sat Jun 13 11:16:45 1992 Fred Fish (fnf at cygnus.com) + + * symtab.h (struct symbol): Add aux_value union for preserving + an additional per-symbol value. + * symtab.h (SYMBOL_BASEREG, SYMBOL_BASEREG_VALID): Add defines. + * frame.h (FRAME_GET_BASEREG_VALUE): Provide default definition. + * findvar.c (read_var_value): Use SYMBOL_BASEREG if valid. + * printcmd.c (address_info): Use SYMBOL_BASEREG if valid. + * symmisc.c (print_symbol): Use SYMBOL_BASEREG if valid. + +Sat Jun 13 09:18:46 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * symfile.c (clear_symtab_users_once): Now non-static (for + objfiles.c). + +Fri Jun 12 18:54:40 1992 John Gilmore (gnu at cygnus.com) + + * arm-pinsn.c, i960-pinsn.c, m68k-pinsn.c, mips-pinsn.c, + ns32k-pinsn.c, pyr-pinsn.c, sparc-pinsn.c, tahoe-pinsn.c, + vax-pinsn.c: Remove reg_names decl (now in defs.h). + + Solaris-2 support on SPARC: + + * dbxread.c: Add symbol_size to struct dbx_symfile_info. + Add symbol_size and file offsets to struct symloc. + Add static symbol_table_offset, string_table_offset, + file_string_table_offset, next_file_string_table_offset, + last_function_name. + (add_old_header_file): Convert error() to complain()t. + (dbx_symfile_read): Get symbol size via the objfile. + Also get symbol_table_offset. + (dbx_symfile_init): Record symbol size and count via the objfile. + (dbx_next_symbol_text): Always add file_string_table_offset when + accessing string table. + (read_dbx_symtab): Initialize file_string_table_offset to 0. + (SET_NAMESTRING): Use the offset. + (end_psymtab): Large kludge to determine addresses where source + files start and end (for the psymtab header). + (psymtab_to_symtab_1): Set file_string_table_offset before reading. + Get this, symbol size, and symbol offset, from psymtab. + (read_ofile_symtab): Don't back up one symbol for Solaris2. + Patch up last_source_start_addr if zero in N_SO. + (process_one_symbol): Add variable function_start_offset. + ( "", N_FUN, N_LBRAC, N_RBRAC, N_SLINE): Add ifdef for + BLOCK_ADDRESS_FUNCTION_RELATIVE. + ( "", N_OBJ, N_OPT): Ignore. + (elfstab_build_psymtabs): New function to read stabs out of + an ELF file. + + * Makefile.in: Accept $(BISON) even though we really want $(YACC). + (gdb): use GLOBAL_CFLAGS when linking, too. + * partial-stab.h (N_UNDF): Deal with Sol2 relative stringtab offsets. + (N_OBJ, N_OPT): Ignore. + ('f', 'F'): Save last function name. + + * elfread.c (record_minimal_symbol_and_info): Kludged to put + extra info in the minimal symbol. + (elf_symtab_read): The extra info is the size of an ELF object, + which was kludged to us in the `udata' field of the BFD symbol. + Gag me with a crowbar... + (elf_symfile_read): Keep track of both the absolute load address, + and the offset between load addr and symbols. Handle STABS as + well as DWARF sections, passing the absolute load address to + elfstab_build_psymtabs. + + * symfile.h: Prototype elfstab_build_psymtabs. + * symfile.c: Add almost-OK debug versions of add_psymbol_*to_list. + + * xm-sysv4.h: Add <limits.h> to avoid conflicting defns in defs.h. + + * buildsym.h: Add processing_acc_compilation flag. + * buildsym.c (read_sun_builtin_type, read_sun_floating_type): New. + (define_symbol): Skip arg types in function entries. Resolve + overloaded 'P' which acc uses for prototypes of functions called + by this file. + (read_type: 'b', 'r'): Handle Solaris2 builtin types. + + * minsyms.c (prim_record_minimal_symbol_and_info): Hack to + save size of ELF symbols. FIXME. + * tm-sun4os5.h: Rename to tm-sun4sol2.h. Update defines for Sol2. + * xm-sun4os5.h: Rename to xm-sun4sol2.h. Hack more defines. + + * configure.in: Solaris config is sparc-sun-solaris2. + * config/sun4os5.m[ht]: Rename to config/sun4sol2.m[ht]; new xm, tm. + + * objfiles.c (free_objfile): Eliminate storage leaks. Contributed + by <Peter.Schauer@regent.e-technik.tu-muenchen.dbp.de>. + * symfile.c (symfile_bfd_open): Comment where name is freed. + * symmisc.c (extend_psymbol_list): Comment where list is freed. + +Fri Jun 12 08:24:36 1992 Fred Fish (fnf at cygnus.com) + + * expprint.c (print_subexp): Add missing ']'. + * defs.h (reg_names): Fix declaration to match that in infcmd.c + * stack.c (reg_names): Delete redundant (and inconsistent) decl. + * WHATS.NEW: Point out improved C++ function name handling. + * gdbtypes.c (lookup_fundamental_type): For now, use the same + type names for both implicitly and explicitly signed integral + types. See comment in the source code. + +Thu Jun 11 12:31:50 1992 John Gilmore (gnu at cygnus.com) + + Two `long long' fixes from Robert R. Henry (rrh@dino.tera.com): + * defs.h (longest_to_int): Avoid void arm of ?: in error case. + * expprint.c (print_subexp): Fix printing of register names. + +Thu Jun 11 01:33:40 1992 John Gilmore (gnu at cygnus.com) + + * inferior.h (register_valid): Declare. + * remote-udi.c, rs6000-xdep.c, sparc-xdep.c, tm-rs6000.h: Remove decl. + * objfiles.h (ALL_OBJFILE_{SYMTABS,PSYMTABS,MSYMBOLS}): Add + macros for traversing the data structures in a single objfile. + * tm-m88k.h, tm-sparc.h (REGISTER_NAMES): Remove extra semicolon. + * tm-i960.h (REGISTER_NAMES): Cosmetic change. + * infcmd.c: Lint. + +Tue Jun 9 17:19:45 1992 Fred Fish (fnf at cygnus.com) + + * c-exp.y, m2-exp.y: Move remapping defines for malloc and + realloc. Add remapping defines for {yyss, yyssp, yyvs, yyvsp}. + * config/{amix.mh, i386v4.mh, ncr3000.mh, stratus.mh, + sun4os5.mh}: Add definition for INSTALL using /usr/ucb/install. + +Tue Jun 9 16:29:19 1992 Stu Grossman (grossman at cygnus.com) + + * depend: rebuild to account for remote-st2000.c. + * remote-st2000.c: Almost works now. + * tm-st2000.h: Need to turn on HAVE_68881, else things won't compile. + +Mon Jun 8 23:05:51 1992 Fred Fish (fnf@cygnus.com) + + * c-exp.y (yylex): Recognize single-quoted strings that specify + tokens with embedded whitespace, such as C++ demangled names. + * defs.h (demangle_and_match, strcmp_iw, skip_quoted): Prototypes. + * main.c (gdb_completer_quote_characters): Add global variable. + * main.c (symbol_completion_function): Total rewrite for C++ + demangled name handling. + * main.c (skip_quoted): New function. + * main.c (main): Set rl_completer_quote_characters. + * symmisc.c (dump_symtab): Print source language for symtab. + * symtab.c (expensive_mangler): Add prototype and function. + * symtab.c (completion_list_add_symbol): Total rewrite for new + C++ demangled name handling. + * symtab.c (lookup_symbol): Check for demangled C++ symbol first, + other changes for demangled C++ symbol handling. + * symtab.c (lookup_demangled_block_symbol): Use demangle_and_match. + * symtab.c (lookup_demangled_partial_symbol): Use demangle_and_match. + * symtab.c (decode_line_1): Recognize C++ demangled names on input. + * symtab.c (completion_list_add_symbol): Total rewrite for new + C++ demangled name handling. + * symtab.c (expensive_mangler): New function. + * utils.c (strcmp_iw, demangle_and_match): New functions. + * xcoffread.c (aixcoff_symfile_read): Fix prototype. + +Mon Jun 8 21:59:08 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Roll VERSION to 4.5.4. + * Makefile.in, config/*.mh, config/*.mt: Rename TM_CFLAGS + to MT_CFLAGS, XM_CFLAGS to MH_CFLAGS to match file names. + * config/sun4os5.mh: Add MH_CFLAGS=-xs to save debug info. + +Mon Jun 8 14:17:42 1992 Stu Grossman (grossman at cygnus.com) + + * alldeps.mak: Rebuild to account for new files. + * config/st2000.mt: Use tm-st2000.h, not tm-68k.h. + * tm-st2000.h: New file. + * configure.in: Tandem debug monitor (st2000) support. + * remote-st2000.c, config/st2000.mt: ditto. + +Fri Jun 5 11:51:01 1992 John Gilmore (gnu at cygnus.com) + + * blockframe.c (inside_entry_file, inside_main_func, + inside_entry_func): Return 0 if no symbols; avoid crashing. + +Wed Jun 3 17:48:04 1992 John Gilmore (gnu@cygnus.com) + + * xcoffread.c (read_xcoff_symtab): Set c_sclass from n_sclass + without masking, since it is signed and will later be compared + against signed quantities. The right fix is probably to make + it all unsigned, but this is a small, safe fix for this release. + FIXME -- make the real change sometime soon. + +Mon Jun 1 16:16:12 1992 Michael Tiemann (tiemann@cygnus.com) + + * remote-vx.c (vx_load_command,add_symbol_stub): Default READNOW + parameter in call to `symbol_file_add' to 0. + + * xm-sun4os4.h (MALLOC_INCOMPATIBLE): Define it. + +Sun May 31 06:38:27 1992 Michael Tiemann (tiemann@cygnus.com) + + * configure.in: Handle -m680[01234]0-wrs. + +Fri May 29 22:16:02 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * m68k-pinsn.c (print_insn_arg): Pass &EXT_FORMAT_68881 to + `ieee_extended_to_double'. + +Wed May 27 09:27:57 1992 John Gilmore (gnu at cygnus.com) + + * valops.c (value_assign): Lint, by Pierre Willard. + +Tue May 19 19:38:10 1992 John Gilmore (gnu at cygnus.com) + + * coredep.c (fetch_core_registers): Remove premature warning, + which triggers on DECstation even though all regs are accessible. + + * m68k-pinsn.c (print_insn_arg): Use new macros to get + sign-extension of instruction fields even on unsigned-char hosts. + Bug found by Fred J Roeber, fjr@sgfb.ssd.ray.com. + + 88K changes inspired by Ted Lemon (uunet!lupine!mellon): + * tm-m88k.h, tm-umax.h: Avoid sizeof() in REGISTER_xxx macros, + since they define the target, not the host. + * m88k-pinsn.c: Fix typo. + +Thu May 14 01:16:48 1992 John Gilmore (gnu at cygnus.com) + + * valarith.c (value_zerop): -0.0 is still zero. + * eval.c (evaluate_subexp): Avoid NaN anomalies in float compares. + Patches by Paul Eggert <eggert@twinsun.com>. + +Mon May 18 13:53:51 1992 Stu Grossman (grossman at cygnus.com) + + * alldeps.mak, depend: re-make to account for ser-*.c. + +Sun May 17 16:51:20 1992 Fred Fish (fnf@cygnus.com) + + * inflow.c (new_tty): Temporarily ignore SIGTTOU when + disconnecting from controlling terminal, to avoid gdb hanging + on SVR4. Fixes bug reported by Oliver Okrongli. + * procfs.c (PROC_NAME_FMT): Change format to match default used + by system, as suggested by Oliver Okrongli. + * tm-68k.h (FRAME_FIND_SAVED_REGS): Apply missing parentheses + bug fix from Brent Townshend (bst%tt@cam.ORG). + * c-exp.y (nonempty_typelist): Fix memory overrun bug reported + by turlais@rechser.total.fr. + * dwarfread.c (decode_subscr_data): Fix bug in calculation of + length of non-zero lowerbound arrays. Bug fix from Peggy Fieland. + * objfiles.h (unlink_objfile): Add prototype. + * objfiles.c (unlink_objfile): Add function. + * objfiles.c (free_objfile): Call unlink_objfile. + * objfiles.c (allocate_objfile): Call unlink_objfile on newly + remapped objfiles. Bug reported by hahn@sunshine.labs.tek.com. + Also, discard old possibly bogus sf struct. + * symfile.c (symbol_file_add): Call init_entry_point_info() and + find_sym_fns() for remapped symbol files, in case of any changes + since the last mapping. + +Wed May 13 18:28:20 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * findvar.c (read_relative_register_raw_bytes): use the raw size + of a register to bcopy, rather than the host's sizeof(CORE_ADDR). + +Tue May 12 17:44:39 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + Changes to support GDB running on DOS using GO32 and H8 support + + * defs.h: if xm.h doesn't define FOPEN_RB, include "fopen-same.h", + allowing hosts with different text and binary file formats to + work. + * coffread.c (read_coff_symtab): changed calling convention and + operation - now it opens its own file with FOPEN_RB rather than + duping and fdopening the provided handle. + * dbxread.c, cplus-dem.c: #include mangling. + * exec.c: If O_BINARY isn't defined, set it to 0, call openp for + binary files oring in the right bit. + * utils.c, terminal.h, inflow.c: hackery because dos doesn't have terminals. + * remote-hms.c: cleanup to use the new remote serial stuff + * serial.h, ser-termios.c, ser-go32.c: newfiles to provide host + independent remote terminal I/O. + * remote.c: if DONT_USE_REMOTE not defined, then don't use it. + * source.c (openp): fix off by one problem removing / - can now + open a source file in the root directory with DOS. + * values.c (value_as_pointer): remove bogus address bits from + long. (unpack_long): unpack into unsigned long/short if pointer. + +Tue May 12 14:15:48 1992 Stu Grossman (grossman at cygnus.com) + + * infrun.c (child_attach): Don't allow gdb to attach to itself. + It gets permanently stuck in many OSes. + * breakpoint.c, infcmd.c, infrun.c, utils.c: Change many printfs + to printf_filtered. + * breakpoint.c: Improve help text for info breakpoints. + +Mon May 11 14:17:18 1992 John Gilmore (gnu at cygnus.com) + + * README: Add pointer to internals doc, and describe reading + info files. + * utils.c (print_sys_errmsg): Use stderr. Reported by Pierre Willard. + * symtab.c (output_source_filename): Remove old glop for wrapping + lines, use wrap_here. Reported by Pierre Willard (pierre@la.tce.com). + +Thu May 7 11:45:03 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: version.c should depend on Makefile, not Makefile.in. + * munch: Add sort -u to avoid duplications. + * symtab.c (lookup_symbol): Improve Stu's fix of 22 April. + Improved fix by hahn@sunshine.labs.tek.com (Doug Hahn). + +Mon May 11 13:27:46 1992 Fred Fish (fnf@cygnus.com) + + * cplus-dem.c (demangle_signature): Recognize misplaced '_' to + avoid infinite loops while demangling bogus mangled names. + * valprint.c (type_print_base): Minor fix for GNU style guide + conformance. + +Sat May 9 18:02:17 1992 Fred Fish (fnf at fishpond) + + * Makefile.in (VERSION): Bump to 4.5.3 + * Makefile.in (DEMANGLE_OPTS): Remove obsolete -Dnounderscore + * Makefile.in (demangle): New target to create standalone + demangler with same code and options as internal demangler. + * cplus-dem.c: Massive restructuring, rewriting, cleanups, etc + to support ARM style and Lucid style demangling, improve + maintainability, fix several demangling bugs. More changes + to follow. + * defs.h (strstr): Add ANSI compatible prototype. + * valprint.c (type_print_1): Demangle using ansi option. + * config/ncr3000.mt (DEMANGLE_OPTS): Remove -Dnounderscore. + +Sat May 9 14:47:28 1992 Stu Grossman (grossman at cygnus.com) + + * xcoffexec.c (vmap_exec): Don't assume .text and .data are the + first two sections. + +Fri May 8 11:42:15 1992 Per Bothner (bothner@rtl.cygnus.com) + + * mipsread.c (parse_procedure): Return rather than using + uninitialized variable 'b'. + +Fri May 8 07:48:27 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in, remote-udi.c, remote-vx.c, 29k-share/dfe/mini2udi.c, + 29k-share/dfe/yank.c, vx-share/xdr_ptrace.c, vx-share/xdr_regs.c: + Remove -I29k-share, -Ivx-share from Makefile.in. Make #includes + relative to each source file. + +Fri May 8 07:48:27 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: propogate INSTALL, INSTALL_DATA, INSTALL_PROGRAM on + recursions. + +Thu May 7 10:00:52 1992 Stu Grossman (grossman at cygnus.com) + + * am29k-pinsn.c: Use new opcode table in "opcode/a29k.h". + * am29k-tdep.c: Update to latest code from AMD. + (get_saved_register) don't crap out if no frame. + * remote-udi.c: Set/clear inferior_pid as appropriate. + (udi_open) call target_preopen, don't close fd 0!!!, clean up + error handling. Fixup end-of-debugging messages. + (udi_fetch_registers) clean up big time, mainly don't multiply + register_valid indices by 4, and use proper Offset when reading + gr96-gr127. (udi_store_registers) general cleanup. + (fetch_register) cleanup, simplify. (regnum_to_srnum) + INT_REGNUM->INTE_REGNUM. + * tm-29k.h: Upgrade to latest code from AMD. + * 29k-share/udi/udip2soc.c: Get rid of useless errmsg_m macro. + (UDIConnect) Clean up error processing (like, don't do exit() if + execlp fails), make code restartable, make more attractive. + (UDIStop) Use SIGINT instead of SIGUSR1, as isstip won't stop + otherwise. + +Wed May 6 14:34:18 1992 Per Bothner (bothner@rtl.cygnus.com) + + * tm-irix3.h: Re-define CPLUS_MARKER to '.'. + * xm-rs6000.h, tm-rs6000.h: Move re-definition of CPLUS_MARKER + from former to latter. + +Wed May 6 14:12:35 1992 Fred Fish (fnf@cygnus.com) + + * cplus-dem.c (do_args): Handle void args the same as others. + * objfiles.c (free_objfile): Only try to unmap files when + reusable objfiles are supported. + * valprint.c (type_print_varspec_suffix): Add parameter that + specifies if C++ demangling included function arguments. Use + it to suppress printing extra pair of ()'s. + * valprint.c (type_print_1): Fix problem with printing demangled + C++ function types where demangled type includes the function + args. + +Tue May 5 11:10:27 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (DEMANGLER): Define and default to cplus-dem. + Allows selection of C++ demangler to be a configuration option + until multiple demanglers are supported. + * demangle.h: New include file for extended demangler support. + * breakpoint.c, gdbtypes.c, printcmd.c, stack.c, symtab.c, + utils.c, valprint.c: Include "demangle.h" and change all calls + to cplus_demangle() or fputs_demangled() to use individual + demangling options. + * valprint.c (type_print_1): Change options to cplus_demangle + to print demangled function args. Still broken, but now less so. + * cplus-dem.c: Include demangle.h, reorganize and update some + comments to reflect reality. + * cplus-dem.c (cplus_demangle, cplus_mangle_opname): Change + second arg from fixed integer to bit based multiple options. + * cplus-dem.c (optable): Reformat and replace ansi members with + bit based options. + * cplus-dem.c (do_type): Fix bug with parsing missing return type. + +Mon May 4 22:26:59 1992 John Gilmore (gnu at cygnus.com) + + * values.c (set_internalvar): Force evaluation of lazy values. + Bug reported by RMS. + +Sun May 3 15:47:45 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Bump to 4.5.2. + * Makefile.in (DEMANGLE_OPTS): Add, default to -Dnounderscore. + * configure.in: Simplify ncr3000 gdb_host logic, add gdb_target. + * dwarfread.c (struct_type): Apply fix from Peggy Fieland for + proper handling of bit fields. + * gdbtypes.h (struct type): Clarify use of field.bitpos. + * symtab.h: Fix couple of misspellings in comments. + * value.h (struct value): Clarify use of bitpos. + * value.h (unpack_field_as_long): Change prototype, returns + LONGEST. + * values.c (unpack_field_as_long): Change return type to LONGEST, + sign extend unpacked fields that are signed, other rewriting. + * config/ncr3000.mt: New target config file. + +Fri May 1 01:53:26 1992 John Gilmore (gnu at cygnus.com) + + * utils.c (printchar): Print 0x7F and 0x80-0x9F in \nnn notation + even when printing 8-bit characters. + + * gdbtypes.c (make_{reference,pointer,function}_type): New + functions which handle overwriting of forward-referenced types + for stabs file reading. + (lookup_{reference,pointer,function}_type): These just call + the make_*_type functions with a null storage alloc parameter. + * gdbtypes.h (make_{reference,pointer,function}_type): Declare. + * xcoffread.c (smash_to_pointer_type): Remove, no longer used. + + * buildsym.c (dbx_lookup_type): Zero result for (-1,-1) arg. + (dbx_alloc_type): Make it easier to understand. No funct change. + (define_symbol: 't'): Don't put the typedef name into the name of + the struct, union, or enum. Bugfix. + (read_type: '*', '&', 'f'): Add comments. Use make_XXX_type + routines to properly handle overwriting preallocated types so that + forward references will work. + (read_enum_type): Force enum values to file scope, due to bug in + Sun compiler output. FIXME, fix later. + + Remove unused header_file_prev_index mechanism. It was already + obsolete in gdb-3.5. These comments appeared in 3.5: + /* This code was used before I knew about the instance codes. + My first hypothesis is that it is not necessary now + that instance codes are handled. */ + * dbxread.c (add_new_header_file): Remove header_file_prev_index. + * buildsym.h: Remove it and prev_index that saves it. + * buildsym.c (push_subfile, pop_subfile, start_symtab): Remove it. + + * solib.c (special_symbol_handling): When called from core files, + must set up debug_addr. Don't print error messages, just return. + * symmisc.c (print_symbol): Less ascii diarrhea for enums, please. + +Wed Apr 29 15:26:51 1992 Per Bothner (bothner@rtl.cygnus.com) + + * cplus-dem.c: Allow nested class names (as in + Foo::Bar::method()). + Allow the cleaner cfront style of nested class names + (Q2_3Foo3Bar as well as Q23Foo3Bar). + Make cplus_demangle re-entrant by removing use of global + variables. Instead, place all shared variables in a + stack-allocated structure, and pass around its address. + +Fri Apr 24 07:41:19 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (make-proto-gdb-1): 1st cut at packaging + 29k-share/* subdirs... + + * remote-udi.c (udi_insert/remove_breakpoint): Completely + rewrite, only leave out the bugs. + + * Makefile.in: Add 29k/UDI support. Improve depend. + * alldeps.mak, configure.in, depend: Add 29k/UDI support. + + * am29k-tdep.c: Update to use new calling conventions, and misc + symbol elements. + + * m68k-pinsn.c (print_insn_arg): Make branch offsets be signed. + +Thu Apr 23 18:43:17 1992 Fred Fish (fnf@cygnus.com) + + * tm-29k.h: Set DECR_PC_AFTER_BREAK to 0, as 29ks have nice + breakpoint instructions that leave PC pointing at the right place. + + * core.c (core_open): Call warning() to print warnings. + +Wed Apr 22 09:55:42 1992 Stu Grossman (grossman at cygnus.com) + + * symtab.c (lookup_symbol): Need to check if msymbol->name is + NULL, as ALL_MSYMBOLS will never return a NULL msymbol pointer. + This prevents a crash when trying to lookup the value of a + non-existent symbol. + +Wed Apr 22 09:42:15 1992 Fred Fish (fnf@cygnus.com) + + * signame.c, signame.h: Remove, replaced by strsignal.c in + libiberty. + * i960-tdep.c, infrun.c, mach386-xdep.c, procfs.c, sparc-tdep.c, + sun386-xdep.c: Remove include of signame.h + * Makefile.in (SFILES_MAINDIR): Remove signame.c + * Makefile.in (HFILES): Remove signame.h + * Makefile.in (OBS): Remove signame.o + * defs.h (safe_strerror, safe_strsignal, strerrno, strsigno, + errno_max, signo_max, strtoerrno, strtosigno, strsignal, + psignal, perror): Add prototypes. + * defs.h, xm-apollo68v.h, xm-ultra3.h (SYS_SIGLIST_MISSING): + Remove define. + * depend: Manually remove signame.[cho] references. + * convex-tdep.c (subsig_name): Replace use of sys_siglist with + strsignal. + * convex-xdep.c (core_file_command): Replace use of sys_siglist + with safe_strsignal. + * core.c (core_open): Replace use of sys_siglist with + safe_strsignal. + * core.c (memory_error): Replace use of sys_errlist with + safe_strerror. + * i960-tdep.c (print_fault): Replace use of sys_siglist with + safe_strsignal. + * infcmd.c (program_info): Replace use of sys_siglist with + safe_strsignal. + * infrun.c (signal_stop, signal_print, signal_program): + Allocate dynamically based on dynamic determination of number + of signals to support. + * infrun.c (child_create_inferior): Replace use of sys_errlist + with safe_strerror. + * infrun.c (wait_for_inferior): Replace use of sys_siglist with + safe_strsignal. + * infrun.c (sig_print_info): Replace use of sig_abbrev with + strsigno and sys_siglist with safe_strsignal. + * infrun.c (handle_command): Call signo_max to find number of + signals. Replace sig_number with strtosigno and sig_abbrev with + strsigno. + * infrun.c (signals_info): Replace sig_number with strtosigno. + * infrun.c (_initialize_infrun): Call signo_max to find number of + signals. Dynamically allocate signal_{stop,print,program}. + * procfs.c (errno_table): Remove, now in libiberty/strerror.c. + * procfs.c (errnoname): Add function and prototype. + * procfs.c (info_proc_siginfo): Call errnoname, replace use + of sys_siglist with safe_strsignal. + * procfs.c (info_proc_stop, info_proc_signals): Replace use of + sys_siglist with safe_strsignal. + * procfs.c (info_proc_stop): Call errnoname. + * procfs.c (signalname): Replace sig_abbrev with strsigno. + * stuff.c (main, get_offset): Replace use of sys_errlist with + strerror. + * sun386-xdep.c (core_file_command): Replace use of sys_siglist + with safe_strsignal. + * umax-xdep.c (core_file_command): Replace use of sys_siglist + with safe_strsignal. + * utils.c (safe_strerror, safe_strsignal): Add functions that + call strerror and strsignal respectively, and deal with NULL + returns. + * utils.c (perror_with_name, print_sys_errmsg): Replace use of + sys_errlist with safe_strerror. + * valprint.c (val_print): Replace use of sys_errlist with + safe_strerror. + +Tue Apr 21 12:00:47 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: rework CFLAGS so that they can be set from the + command line to make. CFLAGS -> INTERNAL_CFLAGS. + USER_CFLAGS -> CFLAGS. Remove MINUS_G. Default CFLAGS to -g. + Pass CFLAGS on recusions. + +Fri Apr 17 19:25:57 1992 Fred Fish (fnf@cygnus.com) + + * gdbtypes.h, c-exp.y, m2-exp.y, mipsread.c, gdbtypes.c: Back + out of change on 4/14/92 and remove TYPE_FLAG_FUND_TYPE. It was + overkill for the problem it solved. + * valprint.c (type_print_base): Remove TYPE_FLAG_FUND_TYPE test + and default to simply printing type names as appropriate. + * main.c (main): Remove one of the leading newlines from + warning_pre_print initialization. + * objfiles.c (open_existing_mapped_file): Add function and + prototype. + * objfiles.c (open_mapped_file): Rewrite to use new function + open_existing_mapped_file. + +Thu Apr 16 23:50:12 1992 John Gilmore (gnu at cygnus.com) + + * sun3-xdep.c (fetch_core_registers): Lint. + * tm-sun3.h: Prototype lint. + * value.h: Typo. + +Thu Apr 16 19:56:50 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (TARGET_FT_POINTER_SIZE, TARGET_FT_LONG_SIZE): + Define using TARGET_PTR_BIT and TARGET_LONG_BIT for now. + * objfiles.c: Cast calls to close() with unused returns to void. + * objfiles.c (allocate_objfile): Initialize objfile's mmfd, free + old objfile's name before updating it. + * objfiles.c (free_objfile): Major rewrite for mapped objfiles. + * objfiles.h (objfile struct): Add mmfd member. + * symfile.c (syms_from_objfile): Move some code to + new_symfile_objfile. + * symfile.c (new_symfile_objfile): Add new function, common code + from syms_from_objfile. + * symfile.c (symbol_file_add): Call new_symfile_objfile for both + mapped and unmapped symbol files. + * symfile.c (symbol_file_command): Print "No symbol file now" + message, ala exec_file_command for the exec file. + * symfile.h (new_symfile_objfile): Add prototype. + * xcoffexec.c (map_vmap): Add call to new_symfile_objfile. + * xcoffsolib.c (solib_add): Add call to new_symfile_objfile. + +Thu Apr 16 18:26:34 1992 Per Bothner (bothner@cygnus.com) + + * rs6000-pinsn.c: New version from IBM (Metin). + * m2-exp.y: Re-write string initializers ("<>" => {'<', '>'}) + to avoid warnings from some compilers. + +Tue Apr 14 22:33:55 1992 Fred Fish (fnf@cygnus.com) + + * gdbtypes.h (FT_FIXED_DECIMAL, FT_FLOAT_DECIMAL): Add defines. + * gdbtypes.h (TYPE_FLAG_FUND_TYPE): Add define for bit in a + type's flag word that marks it as a fundamental type. + * c-exp.y (_initialize_c_exp): Add TYPE_FLAG_FUND_TYPE bit to + flags argument for all calls to init_type(). + * m2-exp.y (_initialize_m2_exp): Add TYPE_FLAG_FUND_TYPE bit to + flags argument for all calls to init_type(). Also remove + dependency on host sizes for ints, floats, etc. + * mipsread.c (_initialize_mipsread): Add TYPE_FLAG_FUND_TYPE bit to + flags argument for all calls to init_type(). Also remove + dependency on host sizes for ints, floats, etc. + * gdbtypes.c (lookup_fundamental_type): Add TYPE_FLAG_FUND_TYPE + bit to flags argument for all calls to init_type(). Add types + FT_FIXED_DECIMAL and FT_FLOAT_DECIMAL. + * valprint.c (unsigned_type_table, signed_type_table, + float_type_table): Remove. + * valprint.c (type_print_base): Test new TYPE_FLAG_FUND_TYPE + bit when printing fundamental types, and print the actual name + for such types, rather than inventing one. Remove code that + invented fundamental type names. + * valprint.c (_initialize_valprint): Remove initializations + for now removed unsigned_type_table, signed_type_table, and + float_type_table. + +Tue Apr 14 14:30:46 1992 Stu Grossman (grossman at cygnus.com) + + * remote-vx.c, vx-share/xdr_ptrace.c, vx-share/xdr_ptrace.h, + vx-share/xdr_rdb.h: Update for new remote protocol under VxWorks + 5.0.2. + +Mon Apr 13 20:59:21 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (target_to_host): New function similar to previous + swapin function. + * dwarfread.c (SWAPIN, swapin): Remove macro and support function. + Extensive changes to convert all previous usages to use new + target_to_host() function. + * dwarfread.c (struct dieinfo): Change types of most integral + members to be unsigned. + +Mon Apr 13 15:59:10 1992 John Gilmore (gnu at cygnus.com) + + * WHATS.NEW: Revise -mapped doc. + +Sat Apr 11 23:14:36 1992 John Gilmore (gnu at cygnus.com) + + * mipsread.c (parse_partial_symbols): Complain when sh->index is + too high or when skipping `forwards' moves us backwards. + (parse_type): Print mis-guessed tag name in complaint. + (parse_external): Eliminate cur_stab and obscure top_stack clobbers. + (parse_procedure): Do not attempt to create symbols; just fill in + the SYMBOL_VALUE field of a .gdbinfo. symbol if we can find one. + (psymtab_to_symtab_1): Split up `stabs' from `native ecoff' code + for clarity. Set top_stack before calling parse_external. In + stabs, sort symbols before calling parse_procedure. + * mipsread.c: Lint. + * symmisc.c (std_in, std_out, std_err): Add vars to access std + FILE *'s when debugging GDB (e.g. as args to dump_symtab). + * Makefile.in: Remove stage* targets. Avoid echo on recursive + makes. Eliminate doc/Makefile from tar.Z file if doc/Makefile.in + exists. + +Fri Apr 10 23:47:37 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in (VERSION): Set to 4.5.1. + * xcoffread.c (NO_TYPEDEFS): Fix typo in commented-out #define. + * sparc-tdep.c (supply_gregset, fill_gregset, supply_fpregset, + fill_gregset): New functions for SVR4 /proc support. + * mipsread.c: Cleanup. Add more complaints for unhandled cases. + Remove new symbol types and such to ../include/coff/symconst.h. + (parse_symbol): Simplify code for parsing struct/enum/unions. + (parse_type): Handle `long long' types. + (upgrade_type): Handle `const' qualifier. + (parse_partial_symbols): fix indentation, clean a bit. + +Fri Apr 10 22:41:03 1992 Fred Fish (fnf@cygnus.com) + + * dwarfread.c (SWAPIN,swapin): New macro and function to call to + copy in data from raw read buffers, calling bfd byteswapping + routines as appropriate. Use to replace most existing memcpy + calls. + * dwarfread.c (basicdieinfo, completedieinfo): Add objfile arg. + * configure.in: Recognize new ncr3000 config. + * config/ncr3000.mh: New config file. + +Fri Apr 10 08:30:58 1992 Stu Grossman (grossman at cygnus.com) + + GDB-4.5 release! + + * README: Update for release. + * Makefile.in: Update version to 4.5. + * WHATS.NEW: The obvious. + + * depend: Generate new depend file for this release. + + * Makefile.in (depend): Fix dependancy generation so that it does + not include gcc 'fixincluded' files, which are usually in a system + specific location. + +Thu Apr 9 13:35:00 1992 Per Bothner (bothner@rtl.cygnus.com) + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik). + * buildsym.c (#ifdef RS6000_TARGET): Don't create unnecessary + symbols for nameless types. And, handle `R' (register parameter + type) for AIX. (an extension to existing stabstring grammar). + * rs6000-xdep.c: Fix typo (= should have been ==). + +Thu Apr 9 12:10:06 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: version=4.4.88, add xm-vax.h to HFILES. + +Thu Apr 9 02:29:03 1992 John Gilmore (gnu at cygnus.com) + + * xm-sun4os5.h (DO_DEFERRED_STORES, CLEAR_DEFERRED_STORES): Zap. + * signame.c (SIGWAITING, SIGLWP): Add. + +Tue Apr 7 16:34:07 1992 Per Bothner (bothner@cygnus.com) + + * xm-i386mach.h: add decls for errno and strdup(). + + * breakpoint.c (breakpoint_1): Add (int) casts for enums + used in array index context (otherwise, some compilers barf). + +Tue Apr 7 08:45:46 1992 Stu Grossman (grossman at cygnus.com) + + * m68k-tdep.c, tm-sun3.h: #ifdef around get_longjmp_target(). + Change def of SAVED_PC_AFTER_CALL to call routine to see if we are + in a system call, and provide better backtrace if so. + + * Makefile.in (HFILES): Add xcoffsolib.h. + * rs6k-opcode.h: Move to ../include/opcode/rs6k.h. + * rs6000-pinsn.c: #include "opcode/rs6k.h" + + * mipsread.c (read_mips_symtab, read_the_mips_symtab, + mipscoff_symfile_read): Convert to BFD to do file I/O. + + * symfile.c: #include <ctype.h> to get proper def if isspace(). + + * i386-tdep.c (get_longjmp_target): #ifdef GET_LONGJMP_TARGET. + +Mon Apr 6 17:25:45 1992 Per Bothner (bothner@cygnus.com) + + * mipsread.c: Create a .gdbinfo pseudo-symbol for each + function also when parsing embedded stabs. + +Mon Apr 6 15:25:03 1992 Stu Grossman (grossman at cygnus.com) + + * mipsread.c: Fix more declarations. + + * mipsread.c: Fix many invocations of complain. Use enum + type_code where appropriate. + + * xm-vaxult.h: Add decl for strdup(). + + * Makefile.in: Add dependancies for xm-vaxbsd.h and xm-vaxult.h + for xm-vax.h. + +Fri Apr 3 17:41:29 1992 Stu Grossman (grossman at cygnus.com) + + * buildsym.h, dbxread.c, mipsread.c: Add objfile arg to + process_one_symbol. + +Fri Apr 3 12:17:14 1992 Per Bothner (bothner@cygnus.com) + + * munch: Must pre-pend "_" to "initialize" for SYSV style nm. + * tm-rs6000.h, xcoffexec.c, xcoffread.c, xm-rs6000.h: + Merge in more patches for rs6000 from Metin Ozisik. + * utils.c: Fix typo in comment. + +Fri Apr 3 11:23:03 1992 Fred Fish (fnf@cygnus.com) + + * procfs.c (procinfo struct): Add nopass_next_sigstop member. + * procfs.c (attach): Set nopass_next_sigstop if attached + process is forcibly stopped. + * procfs.c (child_resume): Use nopass_next_sigstop to suppress + resending SIGSTOP to attached process on first resume. + +Fri Apr 3 01:37:26 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (SFILES_MAINDIR): add mipsread.c + +Thu Apr 2 20:20:54 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in (OBS): Compile mipsread.c for all targets now. + (VERSION): Bump to 4.4.85. + * mipsread.c: Update for new include files. Lint. + * tm-irix3.h, tm-mips.h: Use new include files for ECOFF symtab. + * config/{bigmips.mt, littlemips.mt, irix3.mt, decstation.mt}: + Don't need to bring in mipsread.o specially any more. + +Thu Apr 2 19:38:31 1992 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (fixup_sigtramp): Also look for _sigtramp as a real + routine (for Irix-4.x). Make many funcs static and void. + * mips-tdep.c (mips-frame-chain): Clean up, simplify. + * (init_extra_frame_info): Don't trash cached value of frame + pointer register. This fixes backtracing through routines that use + alloca(). Generally clean up declarations of functions, and use + typedefs and macros to reference data structures as appropriate. + * tm-irix3.h, tm-mips.h (EXTRA_FRAME_INFO): use proper type for + proc_desc element. + +Thu Apr 2 09:47:11 1992 Fred Fish (fnf@cygnus.com) + + * values.c (unpack_long): Fix unpacking error for signed chars + on hosts where the default character type is unsigned. + * procfs.c (pr_flag_table, pr_why_table): Add some entries + for newer SVR4 variants. + * procfs.c (proc_set_exec_trap): Reorder tests for ioctl's that + turn off trace inherit-on-fork flag to favor latest SVR4 method. + * procfs.c (mappingflags): Add support for MA_PHYS + +Thu Apr 2 00:55:56 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (read_struct_type): Avoid coredump when C++ + abbreviated type name is messed up. Reported by Joe Buck. + FIXME, we need to determine whether GDB or GCC needs to be + smarter to correctly locate this type name. + + * c-exp.y, coffread.c, command.c, command.h, copying.awk, + dbxread.c, gdbtypes.c, infcmd.c, inferior.h, infrun.c, + m2-exp.y, printcmd.c, remote.c, solib.c, source.c, stack.c, + symtab.c, tm-sun4os4.h, tm-sun4os5.h, values.c: Lint. + * symfile.c (add_symbol_file_command): Initialize mapped/readnow. + +Wed Apr 1 11:39:52 1992 Fred Fish (fnf@cygnus.com) + + * breakpoint.h (bpdisp, bptype): Remove trailing comma. + * symtab.h (current_source_symtab): Make extern + * symtab.h (current_source_line): Make extern + * inferior.h: Move all procfs.c prototypes to one place, add + prototype for proc_signal_handling_change. Add prototypes for + signal_stop_state, signal_print_state, and signal_pass_state. + * inferior.h (stop_soon_quietly): Make extern + * inferior.h (attach_flag): Make extern + * infrun.c (NOTICE_SIGNAL_HANDLING_CHANGE): Default is null. + * infrun.c (signal_stop_state, signal_print_state, + signal_pass_state): New functions to query specific signal + handling flags. + * infrun.c (handle_command): Minor error message change, add + NOTICE_SIGNAL_HANDLING_CHANGE. + * procfs.c (open_proc_file): Remove iris specific reset of + inherit-on-fork flag, moved to proc_set_exec_trap(). + * procfs.c (proc_set_exec_trap): Add SVR4 and iris code + to reset inherit-on-fork flag, bash comment to GNU form. + * procfs.c (proc_base_address, set_proc_siginfo, + fetch_core_registers): Conform to code style. + * procfs.c (signame.h): Include. + * procfs.c (MAX_SYSCALLS, syscall_table[], init_syscalltable(), + syscallname(), info_proc_syscalls()): New macros, tables, and + functions to organize and report system call information. + * procfs.c (saved_fltset, saved_trace, saved_sighold, + saved_exitset, saved_entryset): Add to procinfo struct. + * procfs.c (struct trans): Add. + * procfs.c (pr_flag_table, pr_why_table, faults_table, + siginfo_table, errno_table): Tables to translate numeric values + to symbolic names and short descriptions. + * procfs.c (signalname, info_proc_signals): Add function and + prototype. + * procfs.c (proc_info): Now info_proc. + * procfs.c (proc_info_address_map): Now info_proc_mappings. + * procfs.c (info_proc_flags, info_proc_stop, info_proc_siginfo, + info_proc_faults, lookupname, lookupdesc, sigcodename, + sigcodedesc): New functions. + * procfs.c (proc_signal_handling_change): New function to set + the trace flags based on the state of gdb's signal handling flags. + * procfs.c (inferior_proc_init): Call proc_signal_handling_change + and remove code to do PIOCSTRACE ioctl. + * procfs.c (attach, detach): Preserve and restore process flags + using saved_* fields in procinfo struct. + * procfs.c (attach): Call proc_signal_handling_change. + * procfs.c (info_proc): Major rework to expand "info proc" cmd. + * procfs.c (proc_desc): Update for latest changes. + * xm-irix4.h (CREATE_INFERIOR_HOOK): Protect by USE_PROC_FS. + * xm-irix4.h (NOTICE_SIGNAL_HANDLING_CHANGE): Add definition. + * xm-sysv4.h (NOTICE_SIGNAL_HANDLING_CHANGE): Add definition. + +Tue Mar 31 18:38:28 1992 Fred Fish (fnf@cygnus.com) + + * procfs.c (set_proc_siginfo): Add prototype and new function. + * procfs.c (detach, child_resume): Call set_proc_siginfo to set + up inferior siginfo struct. + * elfread.c (elf_symfile_read): Compute the relocation amount + by subtracting off the address of the ".text" section. + * solib.c: Add pointer to ".text" section to so_list struct. + * solib.c (solib_map_sections): Initialize pointer to ".text" + section in so_list struct. + * solib.c (symbol_add_stub): Pass base address of ".text" + section to symbol_file_add, rather than the load address of + the shared library. On SunOS they are the same. On SVR4 they + are not. + +Tue Mar 31 17:48:15 1992 Stu Grossman (grossman at cygnus.com) + + * mipsread.c (parse_procedure): PDR.isym should get pointer to + function name, not .gdbinfo. symbol. + +Tue Mar 31 17:05:04 1992 John Gilmore (gnu at cygnus.com) + + * breakpoint.c (breakpoint_1): Fix prototype, this time for sure! + +Tue Mar 31 11:01:06 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (VERSION): 4.4.8 + + * procfs.c (open_proc_file): Disable inherit-on-fork flag so that + commands in .cshrc/.profile won't get traced. + +Tue Mar 31 08:11:58 1992 John Gilmore (gnu at cygnus.com) + + * elfread.c (elf_symtab_read): Use xmalloc, not bfd_xmalloc. + * exec.c (build_section_table): Don't abort if no sections. + * sparc-tdep.c (single_step): Lint. + * utils.c (mrealloc): Handle realloc (0, size) case here. + +Mon Mar 30 16:50:43 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (alldeps.mak): Config files are now *.m[ht] as + opposed to m[ht]-*! + + * config/irix4.mh: Don't use coredep.o. It doesn't work with procfs. + + * mipsread.c (parse_symbol, parse_procedure): Re-do the way that + .gdbinfo. symbols are created. Move creation from parse_procedure + to parse_symbol, where it is fairly easy to grow the symtab. This + also fixes a symtab trashing bug on all mips-based systems. + * (got_numargs, lookup_numargs, free_numargs): Delete. Not + needed anymore. + * tm-mips.h, tm-iris3.h, mips-tdep.c, mipsread.c: Re-do struct + mips_extra_func_info, and all the PROC_xxx macros that look at it. + +Mon Mar 30 14:17:53 1992 Per Bothner (bothner@cygnus.com) + + * c-exp.y: Add missing return type to yyparse() prototype. + +Sat Mar 28 22:22:06 1992 John Gilmore (gnu at cygnus.com) + + Create and use macros for iterating on symtabs, psymtabs, msymbols. + + * minsyms.c (iterate_over_msymbols): Remove; clunky and slow. + * symfile.h, symtab.h (iterate_over_msymbols): Remove prototype + * coffread.c (coff_symfile_read): iterate_over_symtabs => ALL_SYMTABS. + (patch_opaque_types): Avoid dummy args and result. + * objfiles.c (have_partial_symbols, have_full_symbols, + have_minimal_symbols): explicit iteration => ALL_OBJFILES; simplify. + (iterate_over_objfiles, iterate_over_symtabs, + iterate_over_psymtabs): Remove, clunky and slow. + * objfiles.h: Replace iterate_over_* prototypes with ALL_SYMTABS, + ALL_PSYMTABS, and ALL_MSYMBOLS macros. + * symmisc.c (dump_symtab, dump_psymtab, dump_msymbols, + dump_objfile): Remove dummy args and results. Move filename + comparisons to callers. + (printsyms_command, printpsyms_command, printmsyms_command, + printobjfiles_command): iterate_over_* => ALL_*. Compare filenames. + * symtab.c (lookup_symtab_1, lookup_symtab, lookup_partial_symtab, + lookup_symbol, find_main_psymtab, find_pc_symtab, sources_info, + list_symbols, make_symbol_completion_list): Replace explicit + iteration with ALL_SYMTABS, ALL_PSYMTABS, or ALL_MSYMBOLS. + Eliminate Dijkstra flag crap, break out of loops with gotos. + (lookup_symtab_1): Protect '/' tests from short filenames. + (cplus_mangled_symbol): Move inline into lookup_symbol. + * xcoffexec.c (relocate_objfile_msymbols): Remove poor hack. + (relocate_minimal_symbol): Move inline to vmap_symtab. + (vmap_symtab): Replace iteration with ALL_OBJFILES, + iterate_over_msymbols with ALL_MSYMBOLS. + + Misc cleanup prior to release. + + * Makefile.in (VERSION): Roll to 4.4.7. + (HFILES): Add call-cmds.h. + * call-cmds.h: New header for command fns called by other files. + * breakpoint.c (watchpoints_info): Remove, same as breakpoints_info. + (breakpoint_1): Remove unused type arg. Change callers. + + * dwarfread.c (dwarf_build_psymtabs): Remove mainline test. + * mipsread.c (compare_symtabs, compare_psymtabs): Remove, unused. + * mipsread.c: Add prototypes for all static functions. + + * symmisc.c (dump_symtab_lines, dump_symtabs, dump_last_symtab, + dump_blockvector, dump_block, dump_addrchass, dump_namespace, + dump_symbol, dump_type, dump_linetable, dump_strtbl): Remove, unused. + * xcoffread.c (dump_symtab_lines, dump_symtabs, dump_last_symtab, + dump_blockvector, dump_block, dump_addrchass, dump_namespace, + dump_symbol, dump_type, dump_linetable, dump_strtbl): Remove 2nd + unused copy! + + * buildsym.c (define_symbol): Handle global register variables + (from Pierre Willard). Complain if register numbers are too large. + * target.c (nomemory): Now that higher levels examine errno, give EIO. + * tm-sparc.h: Don't #include <sun4/reg.h>. + * sparc-tdep.c (sparc_frame_chain, frame_saved_pc): Remove + dependency on <sun4/reg.h>. Start to handle cross-byte-order. + + * language.h: Avoid forward enum declaration. + * configure.in, tm-sun4os5.h, xm-sun4os5.h, config/sun4os5.mh, + config/sun4os5.mt: New host and target. + * defs.h (errno): #include <errno.h> rather than assuming int. + From Pierre Willard. + + * breakpoint.c, breakpoint.h, buildsym.c, coffread.c, cplus-dem.c, + dbxread.c, dwarfread.c, elfread.c, infcmd.c, infrun.c, inftarg.c, + language.c, main.c, mem-break.c, mips-tdep.c, mipsread.c, + partial-stab.h, remote.c, saber.suppress, symfile.c, symtab.c, + valops.c, valprint.c, xcoffread.c, c-exp.y, m2-exp.y, blockframe.c, + command.c, core.c, exec.c, gdbtypes.h, parse.c, printcmd.c, solib.c, + sparc-xdep.c, utils.c, value.h, values.c: Lint. + +Sat Mar 28 02:43:26 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (read_range_type): Avoid int overflow by using unsigned. + * dbxread.c (dbx_symfile_init): Remove bogus `lvalue cast'. + * language.h (enum exp_opcode): Avoid forward enum def. + * main.c (define_command, user_defined_command): Lint. + * mem-break.c, xcoffread.c: Lint. + * solib.c: Only #include <a.out.h> on SunOS, not SVR4. + +Sun Mar 29 14:16:22 1992 Per Bothner (bothner@cygnus.com) + + * Merged in latest RS6000 diffs from Metin G. Ozisik. + * xcoffsolib.c, xcoffsolib.h: New files, from Metin. + * Various files: Changed #ifdef IBM6000 to IBM6000_HOST + or IBM6000_TARGET as (approximately) appropriate. + +Sat Mar 28 13:00:10 1992 Fred Fish (fnf@cygnus.com) + + * objfiles.h (OBJF_SYMS): Define flag bit for objfile flags. + * symfile.c (symbol_file_add): Use OBJF_SYMS to decide whether + or not to try reading symbols from a mapped objfile. Plugs memory + leak due to shared libraries generating no psymtabs or symtabs. + +Fri Mar 27 15:44:55 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (MAX_OF_C_TYPE, MIN_OF_C_TYPE): Unused, remove. + * copying.awk: Lint. Make stronger warning at top of copying.c. + * elfread.c (elf_symtab_read): Eliminate check of mainline. + * gdbtypes.c (smash_to_*): Remove FIXME comments. + (lookup_pointer_type): Add FIXME comment. + * main.c (set_history_size_command): Disallow negative size. + * partial-stab.h: Update copyright. + * rs6000-tdep.c (skip_trampoline_code): Better comments. + +Wed Mar 25 10:45:38 1992 John Gilmore (gnu at cygnus.com) + + * main.c (set_history_size_command): Negative size is error. + (Reported by Peggy Fieland.) + +Thu Mar 26 17:01:18 1992 Fred Fish (fnf@cygnus.com) + + * coffread.c (coff_symfile_init): Update comment. + * dbxread.c (DBX_SYMFILE_INFO, DBX_TEXT_SECT, DBX_SYMCOUNT, + DBX_STRINGTAB, DBX_STRINGTAB_SIZE, DBX_SYMTAB_OFFSET): Define + macros to access the dbx specific objfile information. + * dbxread.c (symfile_string_table, symfile_string_table_size): + Remove these local variables. + * dbxread.c (read_ofile_symtab, psymtab_to_symtab_1, + read_dbx_symtab): Remove the stringtab and stringtab_size params + from the function prototypes, the function definition, and the + function calls. These are now available via DBX_STRINGTAB and + DBX_STRINGTAB_SIZE using the objfile pointer. + * dbxread.c (dbx_symfile_read): Relocate addr before using as + an arg to read_dbx_symtab. + * dbxread.c (dbx_symfile_read): Remove code that free'd the + stringtab and the dbx specific per-objfile private info. + * dbxread.c (init_psymbol_list): Remove symbol count from passed + args in prototype, function definition, and function calls. It is + now available via the DBX_SYMCOUNT macro using the objfile + pointer. + * dbxread.c (dbx_symfile_read, dbx_symfile_init): Remove the + local instance of struct dbx_symfile_info and replace with DBX_* + macros. + * dbxread.c (dbx_symfile_read): Remove init's of now deleted + symfile_string_table and symfile_string_table_size. + * dbxread.c (dbx_symfile_finish): Remove now obsolete free of + symfile_string_table. + * dbxread.c (init_psymbol_list): Use DBX_SYMCOUNT. + * dbxread.c (dbx_psymtab_to_symtab): Remove local stringtab and + stringtab size variables. Remove all code that used to reread + the stringtab. + * objfiles.c (allocate_objfile): Move calls to init_malloc() + to prior to any calls to mmalloc for the objfile specific heap. + * utils.c (init_malloc): Document the requirement that for each + heap for which corruption checking is desired, that init_mmalloc + must be called prior to any mmalloc calls on the heap. + +Thu Mar 26 13:20:06 1992 Per Bothner (bothner@cygnus.com) + + * rs6000-pinsn.c: Make dis-assembly output more like + other targets: Don't print instruction in hex before + the assembly; use print_address to print out jump + destinations. + +Wed Mar 25 16:52:35 1992 Per Bothner (bothner@cygnus.com) + + * c-exp.y, gdbtypes.h: Add builtin_type_signed_char. + * cplus-dem.c: Support "Sc" meaning "signed char". + +Wed Mar 25 15:21:44 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: fix iris/iris3. + +Wed Mar 25 14:55:48 1992 Per Bothner (bothner@cygnus.com) + + * command.c, main.c (various places): Use ctype.h macros + (such as isupper(x)), instead of hard-wiring in ASCII-isms + (such as (x >= 'A' && x <= 'Z')). + (There are still more of these in other files.) + * main.c (defined_command): Lower-case the user's + new command before entering it. Needed because + command lookup is case-insensitive (and also lower-cases). + (Based on Metin's earlier patch.) + +Tue Mar 24 23:27:01 1992 K. Richard Pixley (rich@cygnus.com) + + * config/irix4.mh: new file. + +Tue Mar 24 14:17:48 1992 Stu Grossman (grossman@cygnus.com) + + * infcmd.c (step_1): Call disable_longjmp_breakpoint at the right + time. + + * xm-mips.h: Declare strdup for ultrix. + + * mipsread.c (fixup_sigtramp): Make sure that current_objfile is setup + when calling new_symbol. + * mips-tdep.c (mips_frame_chain): Use symfile_objfile instead of + current_objfile. + +Tue Mar 24 13:26:25 1992 Per Bothner (bothner@rtl.cygnus.com) + + * config/rs6000.mh: Update (for Fred's new mmalloc) + flags to disable use of GNU malloc/mmalloc. + * munch: Change SYSV rule to allow .text before the label, + as well as after, to work for AIX. + * gdbtypes.h: Minor clarifiction. + +Tue Mar 24 07:26:19 1992 Michael Tiemann (tiemann@cygnus.com) + + * buildsym.c (read_struct_type): Handle cretinous dbx symbol name + continuation in yet another place (between method declarations). + +Mon Mar 23 23:01:41 1992 Stu Grossman (grossman at cygnus.com) + + * mips-tdep.c: include symfile.h and objfiles.h to fix + compilation errors. + +Mon Mar 23 15:49:14 1992 Per Bothner (bothner@cygnus.com) + + * valops.c (value_struct_elt_for_reference): Added 'offset' + parameter to handle multiple inheritance. + * eval.c, value.h: Update accordingly. + +Fri Mar 20 17:43:27 1992 Fred Fish (fnf@cygnus.com) + + * objfiles.h: New file + * Makefile.in (HFILES): Add objfiles.h + * blockframe.c: Remove entry_scope_lowpc, entry_scope_highpc, + main_scope_lowpc, main_scope_highpc. + * blockframe.c, buildsym.c, coffread.c, dbxread.c, dwarfread.c, + elfread.c, gdbtypes.h, minsyms.c, mipsread.c, objfiles.c, solib.c, + source.c, symfile.c, symmisc.c, symtab.c, target.c, xcoffexec.c, + xcoffread.c, : Include objfiles.h. + * tm-29k.h, tm-i386v.h, tm-merlin.h, tm-rs6000.h, tm-sun386.h, + tm-symmetry.h, tm-tahoe.h, tm-umax.h, tm-vax.h, m88k-tdep.c, + mips-tdep.c (FRAME_CHAIN): Renamed outside_startup_file to + inside_entry_file() and logic changed appropriately. + * blockframe.c (outside_startup_file): Renamed to + inside_entry_file() and logic changed appropriately. + * blockframe.c (inside_main_scope): Renamed to inside_main_func() + and logic changed to use per-objfile specific fields. + * blockframe.c (inside_entry_scope): Renamed to + inside_entry_func() and logic changed to use per-objfile specific + fields. + * blockframe.c, buildsym.h, coffread.c, dwarfread.c, mipsread.c, + symfile.c, mips-tdep.c (startup_file_start, startup_file_end): + Remove extern decls. + * symfile.c, symfile.h (entry_point): Remove extern decl. + * coffread.c (coff_symfile_init): Common entry point init code + moved to symfiles.c, call init_entry_point_info(). + * coffread.c (complete_symtab): Use new per-objfile entry info. + * mip-tdep.c (mips_frame_chain): Use new per-objfile entry info. + * mipsread.c (parse_partial_symbols): Use new per-objfile entry + info. + * dbxread.c (read_dbx_symtab): Use new per-objfile entry info. + * defs.h (inside_entry_scope, outside_startup_file, + inside_main_scope): Prototypes changed for renames to + inside_entry_func, inside_entry_file, inside_main_func, + respectively. + * symfile.c (syms_from_objfile): Common entry point init code + moved to init_entry_point_info() and call init_entry_point_info(). + * symfile.h (init_entry_point_info): Include prototype. + * xcoffread.c (aixcoff_symfile_init): Common entry point init code + moved to symfiles.c and call init_entry_point_info(). + * dwarfread.c (entry_scope_lowpc, entry_scope_highpc, + main_scope_lowpc, main_scope_highpc): Remove extern decls. + * dwarfread.c (read_func_scope, read_file_scope): Use new per- + objfile entry info. + * frame.h (FRAME_CHAIN_VALID): Provide default definition that + works for the majority of targets. + * tm-68k.h, tm-convex.h, tm-h8300.h, tm-i386v.h, tm-irix3.h, + tm-merlin.h, tm-mips.h, tm-pyr.h, tm-rs6000.h, tm-sparc.h, + tm-sun386.h, tm-tahoe.h, tm-umax.h, tm-vax.h (FRAME_CHAIN_VALID): + Use default definition in frame.h. + * frame.h (selected_frame_level): Make decl extern. + * objfiles.c, symfile.c (current_objfile): Moved to objfiles.c + * objfiles.c, symfile.c (symfile_objfile): Moved to objfiles.c + * partial-stab.h: Use new per-objfile entry info. + * symfile.h (struct objfile): Removed, moved to objfiles.h. + * symfile.h, objfiles.h (allocate_objfile, free_objfile, + free_all_objfiles, iterate_over_objfiles, iterate_over_symtabs, + iterate_over_psymtabs, have_partial_symbols, have_full_symbols, + have_minimal_symbols): Prototypes moved to objfiles.h. + * symfile.h, objfiles.h (ALL_OBJFILES, ALL_OBJFILES_SAFE): + Macros moved to objfiles.h. + * tm-h8300.h, tm-i386v4.h (FRAME_CHAIN_VALID_ALTERNATE): Define. + +Thu Mar 19 18:49:45 1992 Per Bothner (bothner@cygnus.com) + + More C++ improvements (pointers to members, qualified names). + * c-exp.y: Support exp.type::name and exp->type::name + syntaxes. (Unfortunately, doesn't work for static members.) + * c-exp.y, eval.c: Make type::~type work better. + * eval.c (evaluate_subexp: OP_SCOPE): Replace use of + value_static_field by value_struct_elt_for_reference. + * eval.c (evaluate_subexp): Merge code for STRUCTOP_MEMBER + and STRUCTOP_MPTR; cast arg1 to domain-type of arg2. + * eval.c (evaluate_subexp): Remove special case for UNOP_ADDR + for OP_SCOPE operand; no point in it now that we use lazy + reading of values, and use "reference to member" objects. + * gdbtypes.h: Clarify comment. + * valops.c: Change value_struct_elt_for_address to return + a reference (or variable), rather than a pointer. Change + the name to value_struct_elt_for_reference to reflect this. + Returning a reference instead of a address provides a + generalization, since we can use the routine for both + class::name as well as &class::name. + Also, recurse to handle multiple inheritance properly. + * valprint.c: Moved code to print pointer-to-members + to new function point_class_member. This allows a + "reference-to-member" to be printed using the same code. + * valprint.c (type_print_varspec_prefix): Avoid printing + "struct " for domains of class-member types. + * valops.c (search_struct_field): Inline code for simplified + version of value_static_field (which can then be deleted). + * value.h: Rename value_struct_elt_for_address to + value_struct_elt_for_reference. Delete value_static_field. + * values.c: Remove no longer used function value_static_field. + +Thu Mar 19 13:54:11 1992 Fred Fish (fnf@cygnus.com) + + * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c, + elfread.c (coff_symfile_finish): Add function, prototype, and + add to the xxxx_sym_fns struct for each file type. Also reformat + the xxxx_sym_fns vector to a standard format and add comments. + * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c, + elfread.c (xxx_symfile_new_init, xxx_symfile_init, xxx_symfile_read): + Pass pointer to struct objfile rather than pointer to sym_fns. + Change references inside each function accordingly. Allocate any + symbol file specific info in the per-objfile memory region. + * dbxread.c (free_and_init_header_files): Break function into + free_header_files(), called from dbx_symfile_finish(), and + init_header_files(), called from dbx_new_init(). + * dbxread.c (dbx_new_init): Move deallocation things to new + dbx_symfile_finish function. + * elfread.c (elf_new_init): Call buildsym_new_init(). + * objfiles.c (free_objfile): Call the appropriate symfile_finish() + routine for the objfile before deallocating other stuff. + * sparc-tdep.c (get_longjmp_target): Cast target_read_memory arg. + * symfile.h: Move struct sym_fns to before struct objfile def. + Add sym_finish function pointer and change prototypes of other + function pointers to reflect passing struct objfile pointer rather + than struct sym_fns pointer. + * symfile.c: Remove now obsolete symtab_fns pointer. + * symfile.c (symfile_init): Renamed to find_sym_fns, and now only + locates the correct sym_fns struct for the given objfile. + * symfile.c (syms_from_objfile, symbol_file_add): Restructured + for better support of mapped symbol tables. + * symfile.c (symbol_file_command): Remove obsolete code using + symfile_fns. + * symfile.h: Remove duplicate declarations for symfile_objfile, + entry_point, and object_files. + * target.c (target_info): Compare symfile_objfile to NULL. + * xcoffread.c (aixcoff_new_init): Move deallocation stuff to + aixcoff_symfile_finish(). + +Wed Mar 18 18:22:46 1992 Fred Fish (fnf@cygnus.com) + + * infrun.c (IN_SOLIB_TRAMPOLINE): Add default definition. + * infrun.c (wait_for_inferior): Use IN_SOLIB_TRAMPOLINE. + * tm-sysv4.h (IN_SOLIB_TRAMPOLINE): Add SVR4 definition. + +Wed Mar 18 15:51:15 1992 Per Bothner (bothner@cygnus.com) + + Some improvements to g++ debugging. + * symtab.c (list_symbols): demangle before pattern matching. + * symtab.c: Other fixes to improve handing of operators. + * valprint.c (type_print_base): Fix test for constructor. + * values.c (value_static_field): Allow evaluation of + CLASS::METHOD, returning a function pointer. + +Wed Mar 18 08:39:52 1992 Fred Fish (fnf@cygnus.com) + + * Makefile.in (VERSION): Roll 4.4.6. + * exec.c (exec_file_command): Add code to ignore optional args + passed in by file_command() for use in symbol_file_command(). + * main.c (main): Document -mapped and -readnow in help summary. + * objfiles.c (open_mapped_file): Cosmetic change, arg renamed. + * objfiles.c (allocate_objfile): Filename arg removed. Changes + to get filename from bfd with bfd_get_filename(). Test mapto + against 0, not NULL. Use mstrsave() to make copy of filename. + * remote-mm.c (mm_load): Symbol_file_add() takes an additional + arg. + * remote-vx.c (vx_load_command, add_symbol_stub): + Symbol_file_add() takes an additional arg. + * solib.c (symbol_add_stub): Symbol_file_add() takes an + additional arg. + * symfile.c (symfile_open): Renamed to symfile_bfd_open and + changed to return a bfd not an objfile pointer. + * symfile.c (syms_from_objfile): Eliminate local copy of bfd. + * symfile.c (symbol_file_add): Takes an additional arg (readnow). + Change to eliminate local bfd and use symfile_bfd_open() plus + allocate_objfile(). Add code to implement readnow option. + * symfile.c (symbol_file_command): Changes to option handling, + readnow functionality moved to symbol_file_add(). + * symfile.c (symfile_init): Eliminate local copy of bfd. + * symfile.c (add_symbol_file_command): Changes to parse mapped + and readnow options. + * symfile.h (allocate_objfile): Arg removed from prototype. + * symtab.h (symbol_file_add): Arg added to prototype. + * xcoffexec.c (map_vmap): Allocate_objfile() takes an additional + arg. + +Sat Mar 14 16:38:47 1992 Fred Fish (fnf@cygnus.com) + + * gmalloc.c, gmalloc.h mcheck.c mmap-alloc.c mmap-sbrk.c mtrace.c, + mtrace.awk, state.c, state.h: Removed. + * .gdbinit: Add ../malloc, ../libiberty, and ../bfd to list of + directories searched for source files. + * Makefile.in (GNU_MALLOC, MALLOC_CFLAGS, MALLOCSRC): Removed + * Makefile.in (MMALLOC_DIR, MMALLOC_DEP, MMALLOC_LIB, + MMALLOC_DISABLE, MMALLOC_CHECK, MMALLOC_CFLAGS): Add + * Makefile.in (CFLAGS): Replace MALLOC_CFLAGS with MMALLOC_CFLAGS. + * Makefile.in (CLIBS, CDEPS): Add MMALLOC_LIB + * Makefile.in (ADD_FILES, ADD_DEPS): Remove GNU_MALLOC. + * Makefile.in (SFILES_MAINDIR): Remove stat.c mmap-alloc.c, mmap- + sbrk.c + * Makefile.in (HFILES): Remove state.h + * Makefile.in (POSSLIBS_MAINDIR): Remove MALLOCSRC. + * Makefile.in (OBS): Remove state.o mmap-alloc.o mmap-sbrk.o + * Makefile.in (saber_gdb): Remove mcheck, mtrace. Add MMALLOC_DIR. + * Makefile.in (clean): Remove all object files. + * c-exp.y: Define malloc to xmalloc and realloc to xrealloc. + * cplus-dem.c: Remove prototypes definitions that are now done in + def.h. + * dbxread.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * defs.h: Remove prototypes for mmap_* functions. Add prototypes + for xmmalloc, xmrealloc, mfree, mmcheck, mmtrace, mmalloc_attach, + mmalloc_detach, mmalloc_setkey, msavestring, and mstrsave, nomem. + * depend: Remove dependencies for state.o, state.h. + * dwarfread.c: Add declaration for warning_pre_print. + * dwarfread.c (dwarfwarn): Use warning_pre_print. + * dwarfread.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * gdbtypes.c (lookup_fundamental_type): Fix init_type calls to + use supplied objfile. + * i386-xdep.c (print_387_status): Change to use warning() rather + than printfs. + * i387-tdep.c (print_387_control_word): Change to use warning() + rather than printfs. + * infrun.c (wait_for_inferior): Remove unreachable abort() call + that some compilers grumble about. + * language.c (throughout): Add declaration for warning_pre_print + and using warning() instead of printfs. + * m2-exp.y: Define malloc to xmalloc and realloc to xrealloc. + * main.c (main): Add declaration for warning_pre_print and set it + similarly to error_pre_print. Add declarations for + mapped_symbol_files and readnow_symbol_files. Add appropriate + definitions to long_options[]. + * minsyms.c: Trivial fix to comment. + * objfiles.c (allocate_objfile): Substantially rewritten for + using mapped symbol files. + * objfiles.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * objfiles.c (open_mapped_file, mapped_to_address): Add functions. + * source.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * source.c (open_source_file): Use mstrsave to save file name in + mapped symbol region for objfile. + * symfile.c: Remove include for state.h. + include to local form. + * symfile.c (symbol_file_add_digested): Remove. + * symfile.c (symbol_file_add): Substantially rewritten for mapped + symbol files. + * symfile.h: Remove malloc/xrealloc/xmalloc/xrealloc/free members + from objfile structure. Add malloc descriptor pointer (md). + * symfile.h (OBJF_DUMPABLE): Changed name to OBJF_MAPPED. + * symm-xdep.c (print_fpu_status): Use warning() rather than + printfs. + * symmisc.c (free_symtab_block): Now takes and uses current + objfile pointer. + * symmisc.c (throughout): Change from using per-objfile + xmalloc/xrealloc/free functions to xmmalloc/xmrealloc/mfree. + * symtab.c (cplus_mangled_symbol): Cast return value to avoid + Sun compiler grumblings when PTR is char *. + * symtab.c (lookup_symbol): Cast return value of iterate_over_ + msymbols() to correct pointer type. + * utils.c (warning_pre_print): Initialize to "\nwarning: ". + * utils.c (fatal, fatal_dump_core): Ensure that the fatal + error always starts on a line of it's own. + * utils.c (init_malloc, malloc_botch, xmalloc, xrealloc): + Rewrite for new mapped malloc package use. + * utils.c (mmalloc, mrealloc, mfree): Stubs for configurations + that don't want to use the mapped malloc package; pass arguments + on to traditional malloc package functions. + * utils.c (nomem): Add for fatal virtual memory exhausted aborts. + * utils.c (xmmalloc, xmrealloc, xmalloc, xrealloc): Like mmalloc, + mrealloc, malloc, and realloc but get fatal error if runs out + of memory. + * utils.c (msavestring, mstrsave): Save a string in a specific + mapped malloc region. + * utils.c (print_spaces): Use xmalloc to get the buffer. + * xm-amix.h, xm-i386v4.h, xm-sun3os4.h, xm-sun4os4.h: Add defines + for MMAP_BASE_ADDRESS and MMAP_INCREMENT. + * config/i386v4.mh: Insignificant reorganization. + +Sat Mar 14 11:44:47 1992 Fred Fish (fnf@cygnus.com) + + * xcoffread.c: Only enable compilation of debugging functions + if IBM6000 is defined. Fails to compile otherwise. + +Fri Mar 13 15:51:11 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: pass MAKEINFO down on info. + +Fri Mar 13 12:56:36 1992 John Gilmore (gnu at cygnus.com) + + * mipsread.c (mipscoff_symfile_read): Eliminate a lot of + useless code, including an lseek to an uninitialized variable. + Reported by Jim Williams <jimbo@wrs.com>. + +Thu Mar 12 11:56:46 1992 Per Bothner (bothner@cygnus.com) + + Merged in patches from metin@ibmpa.awdpa.ibm.com (Metin G. + Ozisik) (dated Fri, 6 Mar 92 17:51) for the rs6000. + * minsyms.c, symfile.c: Changes that may be generally + applicable, but are #ifdef IBM6000 for now. + * rs6000-xdep.c: Fixed typo in comment. + * rs6000-tdep.c: Non-substatial changes. + * xoffread.c: The main change here is addition of some + debugging functions. + * xoffexec.c: More changes. + + * xcoffread.c: Fixed two too-few-parameters bugs. + + * solib.h, infrun.c, tm-rs6000.h: Add a PID parameter + to SOLIB_CREATE_INFERIOR_HOOK macro. + +Sun Mar 8 21:17:48 1992 Fred Fish (fnf@cygnus.com) + + * symfile.h: Add prototype for iterate_over_msymbols(). + * symtab.c (cplus_mangled_symbol): Add function. + * symtab.c (lookup_symbol): Call cplus_mangled_symbol via + iterate_over_msymbols to find demangled C++ symbol. + * xcoffexec.c (relocate_minimal_symbol): Return meaningful + value to iterate_over_msymbols(). + * xcoffexec.c (vmap_symtab): Ignore return from iterate_over_ + msymbols(). + +Fri Mar 6 21:59:34 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added check target. + +Thu Mar 5 23:56:01 1992 John Gilmore (gnu at cygnus.com) + + * ecoff.c: Move to ../bfd/coff-msym.c. + * config/mt-*mips: Remove ecoff.o from the configuration. + * remote.c (): Add newline to initial +. + (remote_resume): Mention how to cope with signals. + (remote_interrupt): Add debug msg. + (remote-wait): Implement new 'T' reply, which includes + status, PC, and FP all in a single short message. + (putpkt): Add further debugging of packet acks. + * mipsread.c (fixup_symtab): Also swap RFD's. + (parse_partial_symbols): Avoid bug on unknown symbol types. + * Makefile.in (VERSION): Roll to 4.4.5. + * mips-tdep.c (heuristic_proc_start): Avoid long delays + for remote MIPS by limiting heuristic to 200 byte search. + (heuristic_proc_desc): Byte-swapping. + (mips_print_register): Cope with failure of + read_relative_register_raw_bytes. Byte-swap integers for + printing. + * mips-pinsn.c (print_insn): Byte-swap instruction. + +Thu Mar 5 12:32:09 1992 Stu Grossman (grossman at cygnus.com) + + * config.sub configure.in config/mh-irix4 + gdb/configure.in gdb/mips-tdep.c gdb/mipsread.c + gdb/procfs.c gdb/signame.h gdb/tm-irix3.h gdb/tm-mips.h + gdb/xm-irix4.h gdb/config/mt-irix3 + gdb/config/mh-irix4 texinfo/configure.in: Port to SGI Irix-4.x. + +Wed Mar 4 11:56:42 1992 Fred Fish (fnf@cygnus.com) + + * defs.h, utils.c: xrealloc takes PTR as first arg. + * defs.h: Reword confusing comment about ANSI prototypes. + * defs.h: Some minor whitespace changes. + * infrun.c (wait_for_inferior): Compare int tmp to int 0, + not NULL, which can be (void *). + * tm-amix.h, tm-i386v4.h: Add defines for setjmp/longjmp handling. + * tm-i386v.h (SP_ARG0): Define + * xm-sysv4.h: Back out of change for missing prototypes. + * i386-tdep.c (get_longjmp_target): Add function. + +Wed Mar 4 05:46:11 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: install man page too. + +Tue Mar 3 15:11:52 1992 Michael Tiemann (tiemann@cygnus.com) + + * All GDB files that #include defs.h: Removed stdio.h. + (defs.h): #include stdio.h. + +Mon Mar 2 23:00:12 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * gdbtypes.c (lookup_pointer_type): initialize the TYPE_LENGTH of + a ptype to reflect the setting of TARGET_PTR_BIT. Set the + TYPE_FLAGS of a ptype to TYPE_FLAG_UNSIGNED. + * tm-h8300.h, h8300-tdep.c, remote-hms.c: personal checkpoint + * printcmd.c (print_address): if ADDR_BITS_REMOVE is defined, use + it before printing out the hex shape of an address. + +Sun Mar 1 17:41:09 1992 Per Bothner (bothner@cygnus.com) + + * rs6000-xdep.c (frame_initial_stack_address): Move + code to set frame->cache_fsr into new separate function + frame_get_cacahe_fsr. This allows fixing a fatal error. + * xcoffexec.c: Turn previously suppressed error + message back on, after cleaning up BFD. + + * breakpoint.c (breakpoint_re_set): Removed (at least for now) + printing of blank line, since it cases printing of an + extra blank line. Is this intended? It does mess up + gdb test suite. + * defs.h: Put back declarations of malloc and realloc, + but protected by #ifndef MALLOC_INCOMPATIBLE. + * objfiles.c: Undo previous change: Use malloc/realloc + for objfile malloc/realloc fields (but add a cast). + * xcoffexec.c: Suppress an error message (for now). + +Sat Feb 29 14:43:02 1992 Per Bothner (bothner@cygnus.com) + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Fri, 21 Feb 92 13:14:54 -0800] + * buildsym.c: Use smash_to_pointer_type() to handle forward type + references. + * xcoffread.c: Modifications to C_DECL storage class handling, and + introduction of an old smash_to_pointer_type() routine. + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 20 Feb 92 13:57:16 -0800] + * rs6000-xdep.c, rs6000-tdep.c, tm-rs6000.h: function_frame_info() + parameters have been modified. + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 20 Feb 92 10:10:05 -0800] + * rs6000-tdep.c: Before Feb 5 92, register_valid[] array was not used, + and fetch_inferior_registers() always fetched all the registers + resulting valid register values at hand all the time. Pushing a dummy + frame did not require validating all register values first. After + putting the above mechanism into action, we didn't have valid registers + values always ready. Thus, all registers need to be fetched before + pushing a dummy frame now. + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 13 Feb 92 16:22:44 -0800] + * rs6000-xdep.c: frame_initial_stack_address() function to calculate + the starting address (actual frame address) of a frame. + * rs6000-tdep.c: modifications to function_frame_info() to see if + function reserves a frame pointer register (alloca register) + * tm-rs6000.h: EXTRA_FRAME_INFO, FRAME_ARGS_ADDRESS and + FRAME_LOCALS_ADDRESS has been updated to support debugging of + functions with alloca() calls. + +Sun Mar 1 13:13:39 1992 Fred Fish (fnf@cygnus.com) + + * xm-sysv4.h: Provide definitions/prototypes for host environment + functions for which no definitions or prototypes are provided in + any currently included gdb or host environment header files. + For SVR4, this currently includes malloc and realloc, which cannot + be portably prototyped in any gdb include file. + +Sat Feb 29 14:43:02 1992 Per Bothner (bothner@cygnus.com) + + * buildsym.h: Remove obsolete variable file_stabs. + + * Makefile.in: Move place where configure merges in host- + and target-dependent fragments later, so the latter + can override (say) GNU_MALLOC. + * config/mh-rs6000: Use system malloc. Otherwise, I + ended up with *two* incompatible versions of malloc + (functions in libc would call the malloc in libc). + I assume this is a shared library problem. + + * remote.c: Fix (presumed) typo. + * objfiles.c: Use xmalloc/xrealloc instead of + malloc/realloc (since the latter are no longer declared). + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 6 Feb 1992 10:22:02 -0800] + * rs6000-xdep.c: Improvements to fetch_inferior_registers() to + handle individual registers. + * tm-rs6000.h: Fix SAVED_PC_AFTER_CALL macro to handle pc value + correctly in case it wasn't cached yet. (A problem showed up + after fetching individual registers.) + * buildsym.c: Disable type_synonym_name's type name overwriting + in cases it is unnecesary. rs6000 portation doesn't use + type_synonym_name, and it used to nullify type names + * xcoffread.c: to handle g++'s typename abbreviation, fill in a + type's name as soon as space for that type is allocated. + * xcoffread.c: ignore a section's lineno information if it is + not `.text'. (In rs6000 bfd portation integration, skipping over + `.pad' sections are ignored since it was in machine independent + part of the code. Thus, a problem of fake sections with invalid + lineno information arised.) + + Changes from metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik) + [Mail dated Thu, 6 Feb 1992 13:26:22 -0800] + * rs6000-tdep.c: make function_frame_info() work whether or not + reading from a core file. + * tm-rs6000.h: Implementation of FRAME_FIND_SAVED_REGS macro. + + * infrun.c. main.c, printcmd.c. symtab.c: + More changes from IBM for rs6000. + + +Thu Feb 27 22:57:19 1992 Per Bothner (bothner@cygnus.com) + + * rs6k-opcode.h, tm-rs6000.h, xm-rs6000.h, rs6000-tdep.c, + rs6000-xdep.c, xcoffexec.c, xcoffread.c: + Merge in changes (mostly from IBM) for RS6000. + * breakpoint.c, buildsym.c, infptrace.c, stack.c, symtab.c: + More changes from IBM for RS6000. These are in machine- + independent code, and probably could do with some cleaning + up. The most questionable of these are #ifdef IBM6000. + * infrun.c, sparc-tdep.c: Pass a parameter (signal number) + to single_step() (for consistency with rs6000 and i860). + * utils.c: Allow the 1st arg to xrealloc to be NULL + (in which case do malloc). This removes the need for + some tests in xcoff code (and perhaps other places?). + * coffread.c: Removed variables last_source_file, + type_vector, and type_vector_length as these are now + defined by buildsym.[ch]. + * defs.h: Remove prototypes for malloc and realloc, since + these should only be used to implement xmalloc and xrealloc, + and they conflict with <stdlib.h> in AIX - where they + return void* even when __STDC__ isn't defined. Sigh. + * munch: Recognize *initialize* in data as well as text + (AIX uses data). Also, incorporate a patch from Garrett + Wollman <wollman@uvm-gen.uvm.edu> to make the sed script + much more sensible, by only trying to match the name of + the initialize_foo function, and not the junk before it. + +Thu Feb 27 20:07:43 1992 Stu Grossman (grossman at cygnus.com) + + * breakpoint.c (breakpoint_re_set_one): Don't reset breakpoint + unless symbol table indicates that something has changed. + +Thu Feb 27 11:48:47 1992 John Gilmore (gnu at cygnus.com) + + * remote.c: Make it work for embedded MIPS. Increase buffer + size, and use throughout. Round buffer size up if too many regs. + Support baud rate setting and try for an 8-bit path. If + interrupted while waiting for target, send a ^C down the wire. + Avoid single-byte reads. + * tm-mips.h: Add more embedded-system registers to REGISTER_NAMES + and NUM_REGS. + * mips-xdep.h: Avoid the embedded regs when on Unix. + + * mipsread.c: Byte-swap the symbol table structures, using + routines from ecoff.c, to read a symbol table written in any + of the four possible byte orders. + * configure.in (mips-big-* target): Same as Sony News. + * config/mt-bigmips, config/mt-littlemips: Add ecoff.o. + * ecoff.c: New file for symbol swapping routines. + +Thu Feb 27 09:26:38 1992 Stu Grossman (grossman at cygnus.com) + + * breakpoint.c (all_breakpoints_info, breakpoint_1): Add 'info + all-breakpoints' command. + * (get_number): Allow users to enter negative breakpoint numbers. + * (breakpoint_1): Reformat display of 'info break' to show new + fields. + * (create_longjmp_breakpoint, breakpoint_re_set, + breakpoint_re_set_one, enable/disable_longjmp_breakpoint), + symfile.c (syms_from_objfile): Re-do + insertion of longjmp breakpoints. Move all code into + breakpoint_re_set, and call that instead of + create_longjmp_breakpoint in symfile.c. + +Thu Feb 27 06:11:05 1992 John Gilmore (gnu at cygnus.com) + + * breakpoint.h (ALL_BREAKPOINTS_SAFE): Add. + * breakpoint.c (breakpoint_re_set): Use ALL_BREAKPOINTS_SAFE. + * symtab.c (find_pc_symtab): Handle having no objfiles. + * infcmd.c: Fix comment. + * objfiles.c (free_all_objfiles): Add. + * symfile.h (ALL_OBJFILES, ALL_OBJFILES_SAFE): Add. + * symfile.c (symbol_file_command): free all objfiles when + specifying a new symbol file. + (reread_symbols): Stat the file name, don't fstat the descriptor. + +Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + +Tue Feb 25 19:31:19 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (end_psymtab): Delete empty psymtabs. + * symfile.c (allocate_psymtab): Recycle empty psymtabs. + * symfile.h (struct objfile): Add free_psymtabs. + +Sat Feb 22 02:00:32 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in (VERSION): Roll to gdb-4.4.4. + + * symfile.c (symbol_file_command): strcmp => !strcmp. + * breakpoint.h: Move prototypes to follow enum definition they need. + * breakpoint.c, infrun.c: Lint. + * printcmd.c: Use `enum enable' rather than `enum + display_status'. + * mipsread.c: First pass at making it compile with the new + objfile changes. Probably seriously broken still, but it + compiles. FIXME. + +Sat Feb 22 00:56:39 1992 Stu Grossman (grossman at cygnus.com) + + * infrun.c, infcmd.c, breakpoint.c, main.c, symfile.c, + breakpoint.h, tm-sun4os4.h, tm-sparc.h, sparc-tdep.c, tm-mips.h, + mips-tdep.h, tm-sun3.h, tm-68k.h, m68k-tdep.h: Add support for + stepping (and nexting) through longjmp(). Also, cleanup + breakpoint handling quite a bit by creating explicit breakpoint + types instead of using magic breakpoint numbers. + Makefile.in: Update version to 4.4.3 + +Sat Feb 22 00:08:50 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c, dwarfread.c, gdbtypes.c, inflow.c, main.c, + minsyms.c, printcmd.c, remote.c, saber.suppress: Saberlint. + * symmisc.c, xcoffread.c: Move debug functions to symmisc.c. + + * xm-sun3os4.h, xm-sun4os4.h: Enable HAVE_MMAP. + + * minsyms.c (install_minimal_symbols): Add bunches to any + existing minsyms in the objfile. Avoid extra mallocation + by working directly in the obstack. Remove ignored `mainline' parm. + * coffread.c, dbxread.c, elfread.c, mipsread.c, solib.c, symtab.h, + xcoffread.c: Change all callers. + * FIXME: We should be able to eliminate MAINLINE from all the + symbol readers now, with a small bit of work. + + * valops.c, value.h: Lint. + * remote-vx.c: Add missing break; statement. Bugfix by + Michael Sclafani, <sclafani@src.dec.com>. + +Fri Feb 21 17:29:54 1992 Fred Fish (fnf at cygnus.com) + + * Makefile.in (VERSION): Update version to 4.4.2 + * Makefile.in (SFILES_MAINDIR): Add gdbtypes.c, state.c, objfiles.c, + minsyms.c, mmap-alloc.c, mmap-sbrk.c + * Makefile.in (HFILES): Add gdbtypes.h, state.h, solib.h + * Makefile.in (OBS): Add gdbtypes.o, state.o, objfiles.o, minsyms.o, + mmap-alloc.o, mmap-sbrk.o + + * altos-xdep.c: Minor whitespace change. + * am29k-tdep.c (examine_prologue): Convert from misc function vector + use to new minimal symbol table use. + * arm-xdep.c (fetch_inferior_registers): Document unused argument. + * arm-xdep.c (store_inferior_registers): Returns void. + * blockframe.c (get_pc_function_start, find_pc_partial_function): + Convert from misc function vector use to new minimal symbol table use. + Remove find_pc_misc_function(). Ifdef out block_innermost_frame(). + * breakpoint.c: Add prototypes for local functions. + * breakpoint.c (catch_command_1): Change to static and remove unused + local "pc". + * breakpoint.c (map_breakpoint_numbers): Prototype arg "function". + * breakpoint.h: Change function decls to prototype form. + * buildsym.c: Add prototypes for local functions. + * buildsym.c: Moved hashname() function here from dbxread.c. + * buildsym.c (dbx_lookup_type): Cast args to xrealloc(). + * buildsym.c: Remove dbx_create_type(), uses changed to alloc_type(). + * buildsym.c (dbx_alloc_type): Change to static. + * buildsym.c (finish_block): Add objfile parameter. + * buildsym.c (misc): Change symbol_obstack to objfile version. + * buildsym.c (make_blockvector): Change to static. + * buildsym.c (start_subfile): Use strdup instead of obsavestring. + * buildsym.c (compare_line_numbers): Change to static, args are const, + cast args when used. + * buildsym.c (start_symtab): Inline new_object_header_files() call. + * buildsym.c (patch_block_stabs): Moved to this file from xcoffread + and made static. Add objfile parameter. + * buildsym.c (end_symtab): Simplify code using line table size. + Realloc the linetable on the objfile symbol_obstack and copy there. + * buildsym.c (scan_file_globals): Convert from misc function vector + use to new minimal symbol use. + * buildsym.c (define_symbol): Add objfile parameter. Make sure + strings get allocated in objfile's symbol_obstack. Convert references + to builtin types to lookup_fundamental_type(). + * buildsym.c (read_type): Make static, add objfile parameter, convert + references to buildin types to lookup_fundamental_type(). + * buildsym.c (read_struct_type): Add objfile parameter. + * buildsym.c (read_array_type): Make static, add objfile parameter. + * buildsym.c (read_enum_type): Make static, add objfile parameter. + * buildsym.c (read_huge_number): Make static. + * buildsym.c (read_range_type): Make static, add objfile parameter, + convert references to buildin types to lookup_fundamental_type (). + * buildsym.c (read_args): Make static, add objfile parameter. + * buildsym.h: Convert function decl's to prototype form. + * c-exp.y: Add prototypes for local functions, convert uses of misc + function vector to minimal symbol table. Reformat all builtin type + initializations and pass a NULL objfile to init_type() for them. + * coffread.c: Change context_stack ref's to coff_context_stack, + add local function prototypes. Cast uses of xrealloc arg 1. + * coffread.c (coff_alloc_type): Call alloc_type instead of hand- + crafting a new type. + * coffread.c (add_symbol_to_list): Change to coff_add_symbol_to_list. + * coffread.c (finish_block): Change name to coff_finish_block. + * coffread.c (make_blockvector): Add and use objfile parameter. + * coffread.c (record_line): Change name to coff_record_line. + * coffread.c (start_symtab): Change name to coff_start_symtab. + * coffread.c (end_symtab): Change name to coff_end_symtab. + * coffread.c (record_misc_function): Change name to record_minimal_ + symbol and change to minimal symbol table use from misc func tbl. + * coffread.c (coff_symfile_read): Convert from misc function vector + use to minimal symbol table use. + * coffread.c (hashname): Remove; use common version in buildsym.c. + * coffread.c (decode_base_type): Change references to builtin types + to calls to lookup_fundamental_type(). + * coffread.c (read_struct_type): Change name to coff_read_struct_type. + * coffread.c (read_enum_type): Change name to coff_read_enum_type. + * command.c: Add prototypes for local functions. + * command.c (add_cmd): Prototype the 'fun' parameter and use the + appropriate member of the function union for that type. + * command.c (add_abbrev_cmd): Prototype the 'fun' parameter and + ifdef out the function since it isn't currently used. + * command.c (add_alias_cmd): Pass correct function type to add_cmd. + * command.c (add_prefix_cmd): Prototype the 'fun' parameter. + * command.c (add_abbrev_prefix_cmd): Prototype the 'fun' parameter. + * command.c (help_cmd): Compare function pointer to NULL. + * command.c (help_cmd_list): Compare function pointer to NULL. + * command.c (lookup_cmd_1): Use correct member of function union. + * command.c (undef_cmd_error): Make static. + * command.c (complete_on_cmdlist): Use correct member of func union. + * command.c (do_setshow_command): Use correct member of func union. + * command.c (shell_escape): Convert rindex use to strrchr. + * command.h (COMMAND_H): Define if already included. + * command.h (cmd_list_element struct): Change 'function' to a union + and prototype args. Prototype completer function. + * command.h: Convert decl's to prototype form. + * convex-xdep.c (store_inferior_registers): Returns void. + * copying.c: Prototype local functions. + * coredep.c: Minor whitespace change. + * cplus-dem.c: Remove hack to use BSD equivalents of mem* and str*. + * cplus-dem.c: Prototype local functions. + * dbxread.c (hashname): Remove; moved to buildsym.c. + * dbxread.c (free_and_init_header_files): Make static. + * dbxread.c: Add prototypes for local functions. + * dbxread.c (new_object_header_files): Remove; inlined usages. + * dbxread.c (xrealloc usages): Cast args. + * dbxread.c (record_misc_function): Change to record_minimal_symbol + and change usages accordingly. + * dbxread.c (static_psymbols usages): Change to use per-objfile copy. + * dbxread.c (xmalloc usages): Use per-objfile copy when appropriate. + * dbxread.c (dbx_next_symbol_text): Make static. + * dbxread.c (init_psymbol_list): Convert to use per-objfile data. + * dbxread.c (init_bincl_list): Add and use objfile parameter. + * dbxread.c (free_bincl_list): Add and use objfile parameter. + * dbxread.c (compare_psymbols): Remove; use common symfile.c version. + * dbxread.c (end_psymtab): Convert to use per-objfile data. + * dwarfread.c (DEFUN/EXFUN): Remove all usages. Use PARAMS for + prototypes. + * dwarfread.c (record_misc_function): Change name to record_minimal_ + symbol and use minimal symbol table throughout. + * dwarfread.c (compare_psymbols): Remove; use common symtab.c version. + * dwarfread.c: Convert all references to builtin types to use the new + lookup_fundamental_type function. + * dwarfread.c (read_enumeration): Add and use objfile parameter. + * elfread.c (DEFUN/EXFUN): Remove all usages. Use PARAMS for proto- + types. + * elfread.c (record_misc_function): Convert to use record_minimal_ + symbol. + * elfread.c (elf_symtab_read): Add objfile parameter. + * eval.c: Add prototypes for local functions and move some decls + around to accomodate prototypes. + * expprint.c: Add prototypes for local functions. Change references + to misc function vector to minimal symbol table. + * findvar.c (read_memory usages): Cast args. + * gdbtypes.h: New file, type info from symfile.h and symtab.h. + * gmalloc.c: Use NOARGS where prototypes used hardwired void. + * gmalloc.c (BLOCKSIZE): Constant to be shifted is unsigned. + * gmalloc.h: Use NOARGS where prototypes used hardwired void. + * gould-xdep.c: Minor whitespace change. + * hp300ux-xdep.c (fetch_inferior_registers): Remove unused regno var. + * hp300ux-xdep.c (store_inferior_registers): Returns void. + * hp300ux-xdep.c (fetch_core_registers): Takes unused arg reg_addr. + * i386-stub.c: Add prototypes, change "volatile" to NORETURN. + * i386-tdep.c: Add prototypes for local functions. + * i386-tdep.c (codestream_fill, codestream_seek, codestream_read, + i386_get_frame_setup, i386_skip_prologue): Explicitly declare params + that defaulted to int. + * i386-tdep.c (i386_follow_jump, i386_frame_find_saved_regs, + i386_push_dummy_frame): Returns void. + * i386-xdep.c (i386_register_u_addr): Declare params that default to + int and explicitly declare return type as int. + * i387-tdep.c: Minor formatting changes. + * i960-tdep.c (leafproc_return): Convert from misc function vector + use to minimal symbol table use. + * infcmd.c: Add prototypes for local functions. + * infcmd.c (continue_command, until_next_command, until_command, + path_info, path_command): Make static. + * infcmd.c (step_1, until_next_command): Convert from misc func + vector to minimal symbol table use. + * inflow.c: Add prototypes for local functions. + * infptrace.c (store_inferior_registers): Returns void, not int. + * language.c (_initialize_language): Use proper member of function + union. + * m2-exp.y: Add prototypes for local functions, convert misc function + vector uses to minimal symbol table uses. + * m2-exp.y (make_qualname, yyerror): Make static. + * m2-exp.y (_initialize_m2_exp): Call init_types with NULL objfile. + * m68k-pinsn.c: Add prototypes for local functions. + * m68k-pinsn.c (print_insn): Cast args to read_memory. + * m68k-pinsn.c (fetch_arg): Make parameter 'code' and int. + * m68k-stub.c: Add prototypes. + * m88k-pinsn.c (sprint_address): Convert from misc function vector + use to minimal symbol table use. + * m88k-xdep.c (fetch_inferior_registers): Takes an unused parameter. + * m88k-xdep.c (store_inferior_registers): Returns void. + * mach386-xdep.c (fetch_inferior_registers): Takes an unused param. + * mach386-xdep.c (store_inferior_registers): Returns void. + * mach386-xdep.c (fetch_core_registers): Takes an unused parameter. + * main.c: Add prototypes for local functions. + * main.c (return_to_top_level): Is type NORETURN (volatile). Cast + longjmp() result to (NORETURN void). + * main.c (catch_errors): Prototype the 'func' parameter. + * main.c (disconnect, stop_sig, do_nothin, float_handler): + Takes an unused arg. + * main.c (execute_command): Call the right member of the func union. + * main.c (command_loop_marker, symbol_completion_function, + command_loop): Make static. + * main.c (command_line_input): Make linelength unsigned, cast arg + to command_line_input(). + * main.c (add_info, add_com): Prototype the 'fun' parameter. + * main.c (initialize_main): Call right member of function union. + * mcheck.c (NOARGS): Change hardwired void in prototypes to NOARGS. + * mem-break.c: Include symtab.h + * mips-xdep.c (fetch_inferior_registers): Takes unused param. + * mips-xdep.c (store_inferior_registers): Returns void. + * mipsread.c (mipscoff_symfile_read): Change from misc function vector + use to minimal symbol table use. + * mipsread.c (symbol_obstack usages): Convert all to use per-objfile + version. + * mipsread.c (make_type): Remove, convert usages to init_type. + * mipsread.c (_initialize_mipsread): Call init_type with NULL objfile. + * nindy-tdep.c (nindy_frame_chain_valid): Convert from misc function + vector use to minimal symbol table use. + * parse.c: Add prototypes for local functions. + * parse.c (xrealloc usages): Cast args. + * parse.c (prefixify_expression, length_of_subexp): Make static. + * parser-defs.h (PARSER_DEFS_H): Define when first included. + * parser-defs.h: Convert function decls to prototype form. + * partial-stab.h: Convert from misc function vector use to new minimal + symbol table use. + * partial-stab.h (global_psymbols, static_psymbols usages): Reference + the per-objfile copies. + * printcmd.c: Add prototypes for local functions. Move some struct + definitions around to accomodate prototypes. + * printcmd.c (decode_format): Make static, change args oformat and + osize to int from char. + * printcmd.c (print_formatted): Change 'format' and 'size' to int. + * printcmd.c (print_scalar_formatted): Change arg 'format' to int. + * printcmd.c (print_address_symbolic): Convert from misc function + vector use to minimal symbol table use. + * printcmd.c (address_info): Convert from misc function vector use + to minimal symbol table use. + * printcmd.c (delete_display, enable_display, disable_display_command): + Make static. + * procfs.c (EXFUN/DEFUN): Remove all usages, convert to PARAMS. + * procfs.c (fetch_core_registers): Add unused param reg_addr. + * pyr-xdep.c (fetch_inferior_registers): Add unused param regno. + * pyr-xdep.c (store_inferior_registers): Returns void. + * remote-mm.c (mm_load): symbol_file_add return value unused. + * remote-nindy.c: Minor format change. + * remote-vx.c (vx_load_command): symbol_file_add result unused. + * rs6000-xdep.c (fetch_inferior_registers): Add unused param regno. + * rs6000-xdep.c (store_inferior_registers): Returns void. + * rs6000-xdep.c (fetch_core_registers): add unused param reg_addr + * rs6000-xdep.c (aixcoff_relocate_symtab): Convert from misc function + vector use to minimal symbol table use. + * solib.c: Add prototypes for local functions. + * solib.c (solib_add_common_symbols, locate_base): Convert from misc + function vector use to minimal symbol table use. + * solib.c (EXFUN/DEFUN): Remove all usages, convert to PARAMS. + * solib.c (find_solib, shared_library_command): Make static + * solib.c (read_memory, write_memory usages): Cast args. + * solib.c (special_symbol_handling): Add function + * source.c: Add prototypes for local functions. + * source.c (select_source_symtab): Convert to scan objfiles. + * source.c (open_source_file): Make static. + * source.c (xrealloc usages): Cast args. + * source.c (source_line_charpos): ifdef out, unused. + * source.c (get_filename_and_charpos): Make static. + * stack.c: Add prototypes for local functions. + * stack.c (print_frame_info, frame_info): Convert from misc function + vector use to minimal symbol table use. + * symfile.c: Add prototypes for local functions. + * symfile.c (compare_symbols): Make args const PTR's. + * symfile.c (compare_psymbols, sort_pst_symbols) add. + * symfile.c (sort_all_symtab_syms): Scan objfile list. + * symfile.c (obsavestring): Add objfile parameter. + * symfile.c (init_misc_bunches, prim_record_misc_function, + compare_misc_functions, discard_misc_bunches, condense_misc_bunches, + sort_misc_function_vector, compact_misc_function_vector): Remove + * symfile.c (symbol_file_add_digested): Add function. + * symfile.c (symbol_file_add): Returns struct objfile *. + * symfile.c (symbol_file_command): Modify for state file use. + * symfile.c (symfile_open): Add parameter "dumpable". + * symfile.c (allocate_objfile, free_objfile): Moved to objfiles.c + * symfile.c (load_command, add_symbol_file_command): Make static. + * symfile.c (fill_in_vptr_fieldno): Moved to gdbtypes.c + * symfile.c (rindex usages): Converted to strrchr. + * symfile.c (allocate_psymtab): New + * symfile.c (free_named_symtabs): Ifdef out code that needs to be + converted to minimal symbol table usage, but no obvious conversion. + * symfile.c (free_all_symtabs): Remove. + * symfile.c (_initialize_symfile): Use per-objfile info. + * symfile.h: Rework the objfile structure to add per-objfile data + objects (psymbol_obstack, symbol_obstack, type_obstack, + global_psymbols, static_psymbols, msymbols, minimal_symbol_count, + fundamental_types, malloc, realloc, free, xmalloc, xrealloc, etc). + Add prototypes to function declarations. + * symm-tdep.c (symmetry_extract_return_value): Convert from misc + function vector usage to minimal symbol table usage. + * symmisc.c (DEV_TTY): Define if not defined. + * symmisc.c: Add local function prototypes. + * symmisc.c (dump_objfile, dump_msymbols, dump-symtab, print_syms, + printpsyms_command, print_objfiles, print_objfiles_command): + Rework to use iterate_over_* + * symtab.c: Add prototypes for local functions. + * symtab.c (lookup_symtab_1): Convert to look through objfiles. + * symtab.c (lookup_partial_symtab): Scan through objfiles. + * symtab.c (lookup_primitive_typename, lookup_typename, lookup_ + unsigned_typename, lookup_struct, lookup_union, lookup_enum, + lookup_template_type, lookup_struct_elt_type, lookup_pointer_type, + lookup_reference_type, lookup_member_type, allocate_stub_method, + check_stub_method, create_array_type, smash_to_member_type,): + Moved to gdbtypes.c + * symtab.c (lookup_symbol): Some args are const. + * symtab.h: All type related defs and structs moved to gdbtypes.h + * symtab.h: Convert decls to prototypes. + * target.c (noprocess): Make static. + * target.h: Change decl's to prototypes. + * tm-sunos.h: (CLEAR_SOLIB, SOLIB_ADD, SOLIB_CREATE_INFERIOR_HOOK, + DISABLE_UNSETTABLE_BREAK) Moved to solib.h. + * utils.c (_initialize_utils): Use correct member of function union. + * valarith.c: include gdbtypes.h + * valops.c: include gdbtypes.h, add prototypes for local functions. + * valops.c (value_push, value_arg_push, find_function_addr): + Make static. + * valops.c (value_string): Convert from misc function vector use + to minimal symbol table use. + * valops.c (check_field_in): Make arg const. + * valprint.c: Add prototypes for local functions. + * valprint.c (print_string): Make static + * valprint.c (value_print, val_print_fields, val_print): Make arg int. + * values.c: Add prototypes for local functions. + * values.c (value_headof): Convert from misc function vector to + minimal symbol table. + * xcoffexec.c: Add prototypes for local functions. + * xcoffexec.c (exec_close, file_command, add_to_section_table): + Make static. + * xcoffexec.c (relocate_minimal_symbol): Add. + * xcoffread.c (patch_block_stabs): Moved to buildsyms.c. + * xcoffread.c: Add prototypes for local functions. + * xcoffread.c (sort_syms): Convert to scan objfiles. + * xcoffread.c (read_xcoff_symtab): Make static. + * xcoffread.c (various): Replace references to builtin types with + calls to lookup_fundamental_type. Replace references to symbol_obstack + and psymbol_obstack with pointers to the per-objfile copies. + * xcoffread.c (dump_linetable, dump_type, dump_symbol, dump_namespace, + dump_block, dump_blockvector, dump_last_symtab, dump_symtabs): + Make static. + * xcoffread.c (init_stringtab): Add objfile parameter. + * gdbtypes.c: New file + * minsyms.c: New file + * mmap-alloc.c: New file + * mmap-sbrk.c: New file + * objfiles.c: New file + * state.c: New file + * state.h: New file + +Fri Feb 21 17:29:54 1992 John Gilmore (gnu at cygnus.com) + + * Check in Fred Fish's changes in these modules. Fred + will make ChangeLog entries for all of them. Update VERSION + to 4.4.2. + +Thu Feb 20 18:10:17 1992 Fred Fish (fnf at cygnus.com) + + * tm-sparc.h, tm-sysv4.h, solib.h: Move shared lib definitions + into solib.h. + * sparc-pinsn.c, sparc-tdep.c, standalonec, sun3-xdep.c, + sun386-xdep.c, symm-xdep.c, target.c, ultra3-xdep.c, utils.c, + value.h: Prototypes for static functions; lint. + * gdbtypes.h: Empty file to ease transition. + +Thu Feb 20 16:43:13 1992 Fred Fish (fnf at cygnus.com) + + * environ.h, expression.h, frame.h, gdbcmd.h, gdbcore.h, + inferior.h, language.h, signame.h, target.h, terminal.h, + tm-68k.h, tm-i386v.h, tm-sparc.h, tm-sun386.h, tm-symmetry.h, + xm-i386v.h, xm-sparc.h: Prototypes for all external functions. + Lint. + * core.c, exec.c, infrun.c, inftarg.c, language.c, remote.c, + signame.c, sparc-xdep.c: Prototypes for all static functions. + Lint. + * core.c, eval.c, exec.c, inftarg.c, remote-adapt.c, remote-eb.c, + remote-hms.c, remote-mm.c, remote-nindy.c, remote-vx.c, remote.c, + target.c, target.h, valarith.c, valops.c, value.h, xcoffexec.c: + Remove to_call_function and target_call_function, since it + always calls the same thing (call_function_by_hand). + * core.c, exec.c, solib.c: Rename target_ops sections => + to_sections, etc. + * infcmd.c, inflow.c, infptrace.c, infrun.c, main.c, target.c, + target.h: target_kill takes no args. + * language.c (language_info): Scaffolding to allow briefer + messages when the current language changes. FIXME. + * xm-amix.h, xm-i386v4.h, xm-stratus.h: Define NORETURN to avoid + complaints about volatile functions. + * xm-sysv4.h (HAVE_MMAP): Define. + +Thu Feb 20 09:04:18 1992 Fred Fish (fnf at cygnus.com) + + * defs.h: Include ansidecl.h and PARAMS macro. Use PARAMS + to make prototypes for all functions declared here. + * cplus-dem.c: Avoid declaring xmalloc and xrealloc. + * c-exp.y: Rename SIGNED, OR, and AND to avoid conflict. + * environ.c: Include <stdio.h> before defs.h. Minor cleanup. + * ieee-float.h: Use PARAMS for prototypes; make some params const. + * ieee-float.c, valarith.c: Include <stdio.h>. Lint. b*=>mem*. + * m2-exp.y: Remove unused CONST; Rename OR and AND. + * utils.c: Avoid declaring malloc and realloc. Lint. + (request_quit): Accept signal-number parameter. + +Mon Feb 17 07:13:27 1992 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (process_dies): Add case to handle TAG_pointer_type + DIE's. Add new function read_tag_pointer_type() to read them. + + * dwarfread.c (dwarf_read_array_type, read_subroutine_type): + When creating a new user defined type, check to see if a partial + type already exists, and if so, bash it to fit. + +Fri Feb 14 19:00:17 1992 John Gilmore (gnu at cygnus.com) + + * coffread.c (decode_base_type): Pass long, not union. + Fix by Eric Valette, ev@chorus.fr. + +Thu Feb 13 17:14:28 1992 Fred Fish (fnf at cygnus.com) + + * elfread.c (elf_symtab_read): Fix code to correctly track + changes in bfd for absolute symbols. + +Thu Feb 13 12:43:29 1992 Stu Grossman (grossman at cygnus.com) + + * xm-vaxbsd.h: Close off comment. + +Thu Feb 13 07:45:19 1992 Fred Fish (fnf at cygnus.com) + + * xm-sysv4.h: Define NEED_POSIX_SETPGID. + +Fri Feb 7 11:51:12 1992 Per Bothner (bothner at cygnus.com) + + * mips-tdep.c (mips_print_registers): Print correct register + number for double pseudo-registers. + +Fri Feb 7 07:56:05 1992 John Gilmore (gnu at cygnus.com) + + * buildsym.c (read_struct_type): Avoid double-bump of parse ptr + in the op$::OPERATOR. case. From Steven McCanne, + <mccanne@horse.ee.lbl.gov>. + + * exec.c (set_section_name): Pass arg to exec_files_info; + only call it if interactive. From Francis Kauth <fk@tv.tv.tek.com>. + +Thu Feb 6 17:41:32 1992 John Gilmore (gnu at cygnus.com) + + * main.c (print_gdb_version): Copyright msg: only this year. + (cd_command): Avoid changing current_directory on error. + +Thu Feb 6 15:14:01 1992 Per Bothner (bothner at cygnus.com) + + * mipsread.c (parse_partial_symbols): Handle dependencies + between partial symbol tables (when not doing stabs-in-ecoff). + (This used to be handled by parse_fdr, but parse_fdr was + incompatible with handling stabs-in-ecoff, so the code + was re-written to not use parse_fdr. Unfortunately, + the logic to handle dependencies was overlooked.) + +Thu Feb 6 11:51:39 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffread.c (read_enum_type): Use the size of a target int when + describing enum. + * defs.h: added new #define for TARGET_PTR_BIT, defaults to size + of target int. + * h8300-tdep.c, remote-hms.c, tm-h8300.h: too many changes to count + * symtab.c (lookup_reference_type, lookup_ptr_type): use + TARGET_PTR_BIT to determine size of a pointer + * values.c (unpack_long): when unpacking a REF or a PTR don't + assume the size of the type. + +Wed Feb 5 22:29:59 1992 John Gilmore (gnu at cygnus.com) + + * mipsread.c (parse_symbol): Avoid clobbering enum pointer when + looking at its members. Improve guess between struct and union, + only assuming union if multiple members have offsets of zero. + +Tue Feb 4 18:05:44 1992 Per Bothner (bothner at cygnus.com) + + * mipsread.c: Use (FP0_REGNUM-32) instead of magic number 6. + (This is just for clarity - and one day permitting us to + change FP0_REGNUM from 38 to 32, which would make more sense.) + * tm-mips.h: Added STAB_REG_TO_REGNUM macro, so that + register numbers in stabs-in-ecoff get handled correctly. + +Sat Feb 1 04:45:10 1992 Stu Grossman (grossman at cygnus.com) + + * xm-vax.h, xm-vaxult.h, xm-vaxbsd.h, config/mh-vaxult, + config/mh-vaxbsd, configure.in: Split up config stuff for Vaxen + into BSD and Ultrix. + +Sat Feb 1 04:39:41 1992 John Gilmore (gnu at cygnus.com) + + * dbxread.c (dbx_symfile_init): Call malloc, not xmalloc. + +Sat Feb 1 04:15:41 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in: Increment version to 4.4.1. + * main.c (print_gdb_version): Update copyright notice. + +Sat Feb 1 01:43:11 1992 Per Bothner (bothner at cygnus.com) + + * mipsread.c: Prepend "struct " to the names of structure + types, and similarly for enums and unions. (This used + to be done, but got lost in the re-write to "guess" the + difference between enum/struct/union.) + Also, guess that a tag is an enum if the first member + has type btNil. + +Fri Jan 31 21:45:51 1992 Stu Grossman (grossman at cygnus.com) + + * xm-vax.h: #ifndef ultrix around #include of endian.h and + limits.h (sigh). + +Fri Jan 31 00:05:01 1992 John Gilmore (gnu at cygnus.com) + + * Projects: Patching executables is done. + * Makefile.in (VERSION): Roll to gdb-4.4. + * README, WHATS.NEW: Update for gdb-4.4. + + * symfile.c (reread_symbols): Whenever we reread one object + file's symbols, we must restart the scan, because the object_files + chain has been permuted. + + * exec.c (exec_files_info): Split out into print_section_info. + Print BFD filename of each section if it's not the default one. + * core.c (core_files_info): Call print_section_info. + + * xm-vax.h: Include a few system header files whose definitions + must precede defs.h. + * language.c, language.h: Make some things const. + * expression.h, main.c: const spreads like ooze. + + * mem-break.c (break_insn, break_insn_size): Use unsigned chars, + since BREAKPOINT values can be >0x80. + +Thu Jan 30 17:21:14 1992 Stu Grossman (grossman at cygnus.com) + + * infrun.c, xm-i386sco.h: SCO needs to use setpgid(). + +Thu Jan 30 01:04:23 1992 John Gilmore (gnu at cygnus.com) + + * sparc-pinsn.c: Remove kludge for preferring architectures. + Remove #ifdef's for SORT_NEEDED. We need to sort the table, now + and forever. Add `add' instruction to the set that get checked + for a preceding `sethi' in order to print an absolute address. + Corresponding changes in ../include/opcode/sparc.h needed + to eliminate garbage instructions. + +Wed Jan 29 19:24:34 1992 Per Bothner (bothner at cygnus.com) + + * mipsread.c (parse_partial_symbols): Make sure partial + symbols are created for external symbols (as used to be + the case). This is a bit of a pain with the mips-coff. + It uses a table which points to all of the external + symbols belonging to a particular FDR or psymtab. + Once we've generated this table, we might as well save + it, and then use it in psymtab_to_symtab_1 to find + the symbols to pass to parse_external(). + * symfile.c, symfile.c: New function start_psymtab_common + to share the common parts of allocating a new psymtab + for dbxread, mipsread (and later dwarfread). Its code + was pulled out from start_psymtab in dbxread.c. + * dbxread.c (start_psymtab): Use start_psymtab_common(). + + * valprint.c (val_print): If there is an error when trying + to print a string, check to see if there really is a problem + by reading just one character. If that works, assume + things are ok. + +Wed Jan 29 18:58:43 1992 Stu Grossman (grossman at cygnus.com) + + * sparc-pinsn.c (compare_opcodes): Make it prefer v6, v7, + cypress, v8 mnemonics in that order. + +Tue Jan 28 17:32:13 1992 Per Bothner (bothner at cygnus.com) + + * sparc-pinsn.c: Put the qsort() back in. + +Mon Jan 27 18:51:03 1992 John Gilmore (gnu at cygnus.com) + + * findvar.c (read_register, write_register): Handle machines + where REGISTER_TYPE is not the same size as "int". + + Handle debug symbols in dynamically loaded (relocated) code: + + * dbxread.c (read_ofile_symtab): Fix up N_CATCH better. Pass + offset to process_one_symbol. + (process_one_symbol): Take new offset parameter. Add it into + appropriate symbol types to relocate symbols to loaded addresses. + Handle all possible symbol types, and complain() about types that + we don't expect to see. + * mipsread.c (psymtab_to_symtab_1): Pass offset of zero to + process_one_symbol (FIXME, should pass real offset). + + Misc bugfixes: + + * breakpoint.c (resolve_sal_pc): Split out code to resolve a + sal's PC value. + (set_breakpoint, break_command_1, until_break_command, + catch_command_1, breakpoint_re_set_one): Use it. + * symtab.h (resolve_sal_pc): Declare. + * infcmd.c (jump_command): Use resolve_sal_pc. + + * source.c (list_command): Shorten "FILE, line N" to "FILE:N". + + * putenv.c (putenv): Avoid unportably casting pointers to unsigneds. + + * c-exp.y (yylex): `this' and `template' are only tokens in C++. + + * xm-convex.h, xm-hp300bsd.h, xm-isi.h, xm-merlin.h, xm-news.h, + xm-np1.h, xm-pn.h, xm-pyr.h, xm-rtbsd.h, xm-symmetry.h, xm-umax.h: + Remove MISSING_VPRINTF declaration, and superfluous "kgdb" defines. + +Mon Jan 27 15:46:21 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c (process_one_symbol): Make a first cut at handling + symbol tables generated by Sun's acc. (#ifdef'd out, FIXME.) + + * symtab.c (find_pc_line): Fix stepping into and out of #included + files. + +Mon Jan 27 13:00:55 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (OPCODES): Remove OPCODES defs and refs. There is + no longer any need to copy ../include/opcode/* into gdb. + +Mon Jan 27 12:30:38 1992 John Gilmore (gnu at cygnus.com) + + * ChangeLog, ChangeLog-9091: Split ChangeLog at 1992. + +Sun Jan 26 19:05:40 1992 Per Bothner (bothner at cygnus.com) + + * valprint.c (type_print_base, type_print_method_args): + Print C++ constructor methods without bogus "return type." + +Sat Jan 25 15:57:59 1992 Fred Fish (fnf at cygnus.com) + + * infptrace.c (child_xfer_memory): Parameter "target" should + be a pointer to a structure, not the entire structure. + +Fri Jan 24 01:30:27 1992 Fred Fish (fnf at cygnus.com) + + * depend: Convert the couple of references to ansidecl.h that + used the local gdb version to use the ../include version. + +Thu Jan 23 22:24:43 1992 Fred Fish (fnf at cygnus.com) + + * procfs.c + (child_xfer_memory): Takes pointer to a struct, not entire struct. + (inferior_proc_init): Fix non-ANSI version of args. + (attach): Call print_sys_errmsg with correct number of args. + (mappingflags): Make static, does not need to be global. + + * i386-tdep.c (i386_frame_num_args): Takes a pointer to a struct + not the entire struct itself. + + * valops.c (value_assign): Cast some args to modify_field() and + {read,write}_register_bytes() correctly. + + * ansidecl.h: Removed, is duplicate of ../include/ansidecl.h + + * Makefile.in (MALLOCSRC): Removed reference to removed local + copy of ansidecl.h. + + * dwarfread.c (list_in_scope): Needs an initial value, use file + scope. + +Mon Jan 20 19:06:28 1992 Stu Grossman (grossman at cygnus.com) + + * main.c (main): Make option_index local to keep new getopt happy. + main.c, solib.c, Makefile.in: Update copyright notices. + +Mon Jan 20 08:54:00 1992 Michael Tiemann (tiemann at cygnus.com) + + * cplus-dem.c (cplus_demangle): Correctly demangle destructors. + +Sat Jan 18 17:17:45 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (HFILES): Add partial-stab.h. + +Sat Jan 18 16:45:01 1992 Fred Fish (fnf at cygnus.com) + + * config/mh-stratus, config/mt-stratus, tm-stratus.h, xm-stratus.h: + New files for stratus. Not complete enough to actually build + on the Stratus machine; that awaits copyright assignment for + i860 changes. + + * Makefile.in (USER_CFLAGS): Add macro specifically reserved + for getting custom flags into CFLAGS when doing makes. + + * configure.in: Add config information for stratus. + +Thu Jan 16 00:51:46 1992 Fred Fish (fnf at cygnus.com) + + * dbxread.c (process_one_symbol): Pass address of structure + to complain(), rather than the whole structure. + +Wed Jan 15 09:56:16 1992 Fred Fish (fnf at cygnus.com) + + * solib.c (solib_add_common_symbols): Only compile in when not + using SVR4 style shared libraries. + +Tue Jan 14 22:34:00 1992 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (locval): Add offreg flag to indicate location + values that are computed off a base register. + + * dwarfread.c (new_symbol): Rework TAG_global_variable and + TAG_local_variable cases to account for static variables + within function scopes. + +Tue Jan 14 12:28:52 1992 Stu Grossman (grossman at cygnus.com) + + * inflow.c: remove #include <sys/dir.h>. Not necessary, and + doesn't exist on some systems. + + * infrun.c (wait_for_inferior!!!!): Prevent gdb from hanging when + nexting over recursive function calls. + + * target.c (target_read_string): Create this routine to read null + terminated strings from the target. It deals with running off the + end of memory elegantly as well. solib.c (find_solib): Use + target_read_string() to avoid problems with running off the end of + memory. + + * inflow.c (child_terminal_info): #ifdef TIOCPGRP around lines + that reference pgrp_inferior. + +Mon Jan 13 14:57:11 1992 Per Bothner (bothner at cygnus.com) + + * tm-mips.h: Removed BLOCK_ADDRESS_ABSOLUTE, now that + mips-tfile has been hacked to act more "traditionally." + * dbxread.c: Fixed typo in comment. + +Sun Jan 12 13:08:36 1992 Per Bothner (bothner at cygnus.com) + + * mips-tdep.c (mips_skip_prologue): Add some number of + 'sw' instructions before 'addiu' adjusts the stack. + +Fri Jan 10 13:47:06 1992 Fred Fish (fnf at cygnus.com) + + * dwarfread.c (start_symtab, end_symtab, scopecount, openscope, + freescope, buildblock closescope, record_line, add_symbol_to_list, + gatherblocks, make_blockvector): Extensive changes to switch + to generic symbol table building code in buildsym.c. Remove + scope tree structures and functions, symbol table building + functions, and lots of other small changes. + + * dwarfread.c: Add new macros GCC_PRODUCER and STREQN. Remove + GCC_COMPILED_FLAG_SYMBOL and GCC2_COMPILED_FLAG_SYMBOL. + +Tue Jan 7 13:09:57 1992 Stu Grossman (grossman at cygnus.com) + + * buildsym.c (cleanup_undefined_types): Add support for enums. + This fixes the 'GDB internal error. cleanup_undefined_types with + bad type' problem. + +Sun Jan 5 09:47:50 1992 Stu Grossman (grossman at cygnus.com) + + * dbxread.c: detect gcc2 compilations. + +Thu Jan 2 15:07:41 1992 John Gilmore (gnu at cygnus.com) + + * sparc-pinsn.c: Rename bitfields that overlap with macro names + in ../include/opcode/sparc.h. + +Wed Jan 1 04:29:00 1992 Fred Fish (fnf at cygnus.com) + + * Makefile.in: Change tm-svr4.h to tm-sysv4.h. Change xm-svr4.h + to xm-sysv4.h. Split OPCODE_DIR into OPCODE_DIR1 and OPCODE_DIR2 + to reflect actual locations of opcode files, so TAGS target will + be buildable. + + * i386-tdep.c: Change an erroneous 'm68k' reference to 'i386'. + + * i386-tdep.c (supply_fpregset, fill_fpregset): Remove m68k + code. + + * m68k-tdep.c (supply_fpregset, fill_fpregset): Fix array + dereferencing to access the correct elements. + + * valops.c (value_addr): Declare return type of external func + value_copy(). + + * xcoffread.c: Undefine next_symbol_text before redefining it. + +For older changes see ChangeLog-9091 + +Local Variables: +mode: indented-text +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/contrib/gdb/gdb/a29k-tdep.c b/contrib/gdb/gdb/a29k-tdep.c new file mode 100644 index 0000000000000..1ef7971606c2c --- /dev/null +++ b/contrib/gdb/gdb/a29k-tdep.c @@ -0,0 +1,1028 @@ +/* Target-machine dependent code for the AMD 29000 + Copyright 1990, 1991, 1992, 1993, 1994, 1995 + Free Software Foundation, Inc. + Contributed by Cygnus Support. Written by Jim Kingdon. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "gdbcore.h" +#include "frame.h" +#include "value.h" +#include "symtab.h" +#include "inferior.h" +#include "gdbcmd.h" + +/* If all these bits in an instruction word are zero, it is a "tag word" + which precedes a function entry point and gives stack traceback info. + This used to be defined as 0xff000000, but that treated 0x00000deb as + a tag word, while it is really used as a breakpoint. */ +#define TAGWORD_ZERO_MASK 0xff00f800 + +extern CORE_ADDR text_start; /* FIXME, kludge... */ + +/* The user-settable top of the register stack in virtual memory. We + won't attempt to access any stored registers above this address, if set + nonzero. */ + +static CORE_ADDR rstack_high_address = UINT_MAX; + +/* Structure to hold cached info about function prologues. */ + +struct prologue_info +{ + CORE_ADDR pc; /* First addr after fn prologue */ + unsigned rsize, msize; /* register stack frame size, mem stack ditto */ + unsigned mfp_used : 1; /* memory frame pointer used */ + unsigned rsize_valid : 1; /* Validity bits for the above */ + unsigned msize_valid : 1; + unsigned mfp_valid : 1; +}; + +/* Examine the prologue of a function which starts at PC. Return + the first addess past the prologue. If MSIZE is non-NULL, then + set *MSIZE to the memory stack frame size. If RSIZE is non-NULL, + then set *RSIZE to the register stack frame size (not including + incoming arguments and the return address & frame pointer stored + with them). If no prologue is found, *RSIZE is set to zero. + If no prologue is found, or a prologue which doesn't involve + allocating a memory stack frame, then set *MSIZE to zero. + + Note that both msize and rsize are in bytes. This is not consistent + with the _User's Manual_ with respect to rsize, but it is much more + convenient. + + If MFP_USED is non-NULL, *MFP_USED is set to nonzero if a memory + frame pointer is being used. */ + +CORE_ADDR +examine_prologue (pc, rsize, msize, mfp_used) + CORE_ADDR pc; + unsigned *msize; + unsigned *rsize; + int *mfp_used; +{ + long insn; + CORE_ADDR p = pc; + struct minimal_symbol *msymbol = lookup_minimal_symbol_by_pc (pc); + struct prologue_info *mi = 0; + + if (msymbol != NULL) + mi = (struct prologue_info *) msymbol -> info; + + if (mi != 0) + { + int valid = 1; + if (rsize != NULL) + { + *rsize = mi->rsize; + valid &= mi->rsize_valid; + } + if (msize != NULL) + { + *msize = mi->msize; + valid &= mi->msize_valid; + } + if (mfp_used != NULL) + { + *mfp_used = mi->mfp_used; + valid &= mi->mfp_valid; + } + if (valid) + return mi->pc; + } + + if (rsize != NULL) + *rsize = 0; + if (msize != NULL) + *msize = 0; + if (mfp_used != NULL) + *mfp_used = 0; + + /* Prologue must start with subtracting a constant from gr1. + Normally this is sub gr1,gr1,<rsize * 4>. */ + insn = read_memory_integer (p, 4); + if ((insn & 0xffffff00) != 0x25010100) + { + /* If the frame is large, instead of a single instruction it + might be a pair of instructions: + const <reg>, <rsize * 4> + sub gr1,gr1,<reg> + */ + int reg; + /* Possible value for rsize. */ + unsigned int rsize0; + + if ((insn & 0xff000000) != 0x03000000) + { + p = pc; + goto done; + } + reg = (insn >> 8) & 0xff; + rsize0 = (((insn >> 8) & 0xff00) | (insn & 0xff)); + p += 4; + insn = read_memory_integer (p, 4); + if ((insn & 0xffffff00) != 0x24010100 + || (insn & 0xff) != reg) + { + p = pc; + goto done; + } + if (rsize != NULL) + *rsize = rsize0; + } + else + { + if (rsize != NULL) + *rsize = (insn & 0xff); + } + p += 4; + + /* Next instruction ought to be asgeu V_SPILL,gr1,rab. + * We don't check the vector number to allow for kernel debugging. The + * kernel will use a different trap number. + * If this insn is missing, we just keep going; Metaware R2.3u compiler + * generates prologue that intermixes initializations and puts the asgeu + * way down. + */ + insn = read_memory_integer (p, 4); + if ((insn & 0xff00ffff) == (0x5e000100|RAB_HW_REGNUM)) + { + p += 4; + } + + /* Next instruction usually sets the frame pointer (lr1) by adding + <size * 4> from gr1. However, this can (and high C does) be + deferred until anytime before the first function call. So it is + OK if we don't see anything which sets lr1. + To allow for alternate register sets (gcc -mkernel-registers) the msp + register number is a compile time constant. */ + + /* Normally this is just add lr1,gr1,<size * 4>. */ + insn = read_memory_integer (p, 4); + if ((insn & 0xffffff00) == 0x15810100) + p += 4; + else + { + /* However, for large frames it can be + const <reg>, <size *4> + add lr1,gr1,<reg> + */ + int reg; + CORE_ADDR q; + + if ((insn & 0xff000000) == 0x03000000) + { + reg = (insn >> 8) & 0xff; + q = p + 4; + insn = read_memory_integer (q, 4); + if ((insn & 0xffffff00) == 0x14810100 + && (insn & 0xff) == reg) + p = q; + } + } + + /* Next comes "add lr{<rsize-1>},msp,0", but only if a memory + frame pointer is in use. We just check for add lr<anything>,msp,0; + we don't check this rsize against the first instruction, and + we don't check that the trace-back tag indicates a memory frame pointer + is in use. + To allow for alternate register sets (gcc -mkernel-registers) the msp + register number is a compile time constant. + + The recommended instruction is actually "sll lr<whatever>,msp,0". + We check for that, too. Originally Jim Kingdon's code seemed + to be looking for a "sub" instruction here, but the mask was set + up to lose all the time. */ + insn = read_memory_integer (p, 4); + if (((insn & 0xff80ffff) == (0x15800000|(MSP_HW_REGNUM<<8))) /* add */ + || ((insn & 0xff80ffff) == (0x81800000|(MSP_HW_REGNUM<<8)))) /* sll */ + { + p += 4; + if (mfp_used != NULL) + *mfp_used = 1; + } + + /* Next comes a subtraction from msp to allocate a memory frame, + but only if a memory frame is + being used. We don't check msize against the trace-back tag. + + To allow for alternate register sets (gcc -mkernel-registers) the msp + register number is a compile time constant. + + Normally this is just + sub msp,msp,<msize> + */ + insn = read_memory_integer (p, 4); + if ((insn & 0xffffff00) == + (0x25000000|(MSP_HW_REGNUM<<16)|(MSP_HW_REGNUM<<8))) + { + p += 4; + if (msize != NULL) + *msize = insn & 0xff; + } + else + { + /* For large frames, instead of a single instruction it might + be + + const <reg>, <msize> + consth <reg>, <msize> ; optional + sub msp,msp,<reg> + */ + int reg; + unsigned msize0; + CORE_ADDR q = p; + + if ((insn & 0xff000000) == 0x03000000) + { + reg = (insn >> 8) & 0xff; + msize0 = ((insn >> 8) & 0xff00) | (insn & 0xff); + q += 4; + insn = read_memory_integer (q, 4); + /* Check for consth. */ + if ((insn & 0xff000000) == 0x02000000 + && (insn & 0x0000ff00) == reg) + { + msize0 |= (insn << 8) & 0xff000000; + msize0 |= (insn << 16) & 0x00ff0000; + q += 4; + insn = read_memory_integer (q, 4); + } + /* Check for sub msp,msp,<reg>. */ + if ((insn & 0xffffff00) == + (0x24000000|(MSP_HW_REGNUM<<16)|(MSP_HW_REGNUM<<8)) + && (insn & 0xff) == reg) + { + p = q + 4; + if (msize != NULL) + *msize = msize0; + } + } + } + + /* Next instruction might be asgeu V_SPILL,gr1,rab. + * We don't check the vector number to allow for kernel debugging. The + * kernel will use a different trap number. + * Metaware R2.3u compiler + * generates prologue that intermixes initializations and puts the asgeu + * way down after everything else. + */ + insn = read_memory_integer (p, 4); + if ((insn & 0xff00ffff) == (0x5e000100|RAB_HW_REGNUM)) + { + p += 4; + } + + done: + if (msymbol != NULL) + { + if (mi == 0) + { + /* Add a new cache entry. */ + mi = (struct prologue_info *)xmalloc (sizeof (struct prologue_info)); + msymbol -> info = (char *)mi; + mi->rsize_valid = 0; + mi->msize_valid = 0; + mi->mfp_valid = 0; + } + /* else, cache entry exists, but info is incomplete. */ + mi->pc = p; + if (rsize != NULL) + { + mi->rsize = *rsize; + mi->rsize_valid = 1; + } + if (msize != NULL) + { + mi->msize = *msize; + mi->msize_valid = 1; + } + if (mfp_used != NULL) + { + mi->mfp_used = *mfp_used; + mi->mfp_valid = 1; + } + } + return p; +} + +/* Advance PC across any function entry prologue instructions + to reach some "real" code. */ + +CORE_ADDR +skip_prologue (pc) + CORE_ADDR pc; +{ + return examine_prologue (pc, NULL, NULL, NULL); +} + +/* + * Examine the one or two word tag at the beginning of a function. + * The tag word is expect to be at 'p', if it is not there, we fail + * by returning 0. The documentation for the tag word was taken from + * page 7-15 of the 29050 User's Manual. We are assuming that the + * m bit is in bit 22 of the tag word, which seems to be the agreed upon + * convention today (1/15/92). + * msize is return in bytes. + */ + +static int /* 0/1 - failure/success of finding the tag word */ +examine_tag (p, is_trans, argcount, msize, mfp_used) + CORE_ADDR p; + int *is_trans; + int *argcount; + unsigned *msize; + int *mfp_used; +{ + unsigned int tag1, tag2; + + tag1 = read_memory_integer (p, 4); + if ((tag1 & TAGWORD_ZERO_MASK) != 0) /* Not a tag word */ + return 0; + if (tag1 & (1<<23)) /* A two word tag */ + { + tag2 = read_memory_integer (p-4, 4); + if (msize) + *msize = tag2 * 2; + } + else /* A one word tag */ + { + if (msize) + *msize = tag1 & 0x7ff; + } + if (is_trans) + *is_trans = ((tag1 & (1<<21)) ? 1 : 0); + /* Note that this includes the frame pointer and the return address + register, so the actual number of registers of arguments is two less. + argcount can be zero, however, sometimes, for strange assembler + routines. */ + if (argcount) + *argcount = (tag1 >> 16) & 0x1f; + if (mfp_used) + *mfp_used = ((tag1 & (1<<22)) ? 1 : 0); + return 1; +} + +/* Initialize the frame. In addition to setting "extra" frame info, + we also set ->frame because we use it in a nonstandard way, and ->pc + because we need to know it to get the other stuff. See the diagram + of stacks and the frame cache in tm-a29k.h for more detail. */ + +static void +init_frame_info (innermost_frame, frame) + int innermost_frame; + struct frame_info *frame; +{ + CORE_ADDR p; + long insn; + unsigned rsize; + unsigned msize; + int mfp_used, trans; + struct symbol *func; + + p = frame->pc; + + if (innermost_frame) + frame->frame = read_register (GR1_REGNUM); + else + frame->frame = frame->next->frame + frame->next->rsize; + +#if 0 /* CALL_DUMMY_LOCATION == ON_STACK */ + This wont work; +#else + if (PC_IN_CALL_DUMMY (p, 0, 0)) +#endif + { + frame->rsize = DUMMY_FRAME_RSIZE; + /* This doesn't matter since we never try to get locals or args + from a dummy frame. */ + frame->msize = 0; + /* Dummy frames always use a memory frame pointer. */ + frame->saved_msp = + read_register_stack_integer (frame->frame + DUMMY_FRAME_RSIZE - 4, 4); + frame->flags |= (TRANSPARENT|MFP_USED); + return; + } + + func = find_pc_function (p); + if (func != NULL) + p = BLOCK_START (SYMBOL_BLOCK_VALUE (func)); + else + { + /* Search backward to find the trace-back tag. However, + do not trace back beyond the start of the text segment + (just as a sanity check to avoid going into never-never land). */ +#if 1 + while (p >= text_start + && ((insn = read_memory_integer (p, 4)) & TAGWORD_ZERO_MASK) != 0) + p -= 4; +#else /* 0 */ + char pat[4] = {0, 0, 0, 0}; + char mask[4]; + char insn_raw[4]; + store_unsigned_integer (mask, 4, TAGWORD_ZERO_MASK); + /* Enable this once target_search is enabled and tested. */ + target_search (4, pat, mask, p, -4, text_start, p+1, &p, &insn_raw); + insn = extract_unsigned_integer (insn_raw, 4); +#endif /* 0 */ + + if (p < text_start) + { + /* Couldn't find the trace-back tag. + Something strange is going on. */ + frame->saved_msp = 0; + frame->rsize = 0; + frame->msize = 0; + frame->flags = TRANSPARENT; + return; + } + else + /* Advance to the first word of the function, i.e. the word + after the trace-back tag. */ + p += 4; + } + + /* We've found the start of the function. + Try looking for a tag word that indicates whether there is a + memory frame pointer and what the memory stack allocation is. + If one doesn't exist, try using a more exhaustive search of + the prologue. */ + + if (examine_tag(p-4,&trans,(int *)NULL,&msize,&mfp_used)) /* Found good tag */ + examine_prologue (p, &rsize, 0, 0); + else /* No tag try prologue */ + examine_prologue (p, &rsize, &msize, &mfp_used); + + frame->rsize = rsize; + frame->msize = msize; + frame->flags = 0; + if (mfp_used) + frame->flags |= MFP_USED; + if (trans) + frame->flags |= TRANSPARENT; + if (innermost_frame) + { + frame->saved_msp = read_register (MSP_REGNUM) + msize; + } + else + { + if (mfp_used) + frame->saved_msp = + read_register_stack_integer (frame->frame + rsize - 4, 4); + else + frame->saved_msp = frame->next->saved_msp + msize; + } +} + +void +init_extra_frame_info (frame) + struct frame_info *frame; +{ + if (frame->next == 0) + /* Assume innermost frame. May produce strange results for "info frame" + but there isn't any way to tell the difference. */ + init_frame_info (1, frame); + else { + /* We're in get_prev_frame_info. + Take care of everything in init_frame_pc. */ + ; + } +} + +void +init_frame_pc (fromleaf, frame) + int fromleaf; + struct frame_info *frame; +{ + frame->pc = (fromleaf ? SAVED_PC_AFTER_CALL (frame->next) : + frame->next ? FRAME_SAVED_PC (frame->next) : read_pc ()); + init_frame_info (fromleaf, frame); +} + +/* Local variables (i.e. LOC_LOCAL) are on the memory stack, with their + offsets being relative to the memory stack pointer (high C) or + saved_msp (gcc). */ + +CORE_ADDR +frame_locals_address (fi) + struct frame_info *fi; +{ + if (fi->flags & MFP_USED) + return fi->saved_msp; + else + return fi->saved_msp - fi->msize; +} + +/* Routines for reading the register stack. The caller gets to treat + the register stack as a uniform stack in memory, from address $gr1 + straight through $rfb and beyond. */ + +/* Analogous to read_memory except the length is understood to be 4. + Also, myaddr can be NULL (meaning don't bother to read), and + if actual_mem_addr is non-NULL, store there the address that it + was fetched from (or if from a register the offset within + registers). Set *LVAL to lval_memory or lval_register, depending + on where it came from. The contents written into MYADDR are in + target format. */ +void +read_register_stack (memaddr, myaddr, actual_mem_addr, lval) + CORE_ADDR memaddr; + char *myaddr; + CORE_ADDR *actual_mem_addr; + enum lval_type *lval; +{ + long rfb = read_register (RFB_REGNUM); + long rsp = read_register (RSP_REGNUM); + + /* If we don't do this 'info register' stops in the middle. */ + if (memaddr >= rstack_high_address) + { + /* a bogus value */ + static char val[] = {~0, ~0, ~0, ~0}; + /* It's in a local register, but off the end of the stack. */ + int regnum = (memaddr - rsp) / 4 + LR0_REGNUM; + if (myaddr != NULL) + { + /* Provide bogusness */ + memcpy (myaddr, val, 4); + } + supply_register(regnum, val); /* More bogusness */ + if (lval != NULL) + *lval = lval_register; + if (actual_mem_addr != NULL) + *actual_mem_addr = REGISTER_BYTE (regnum); + } + /* If it's in the part of the register stack that's in real registers, + get the value from the registers. If it's anywhere else in memory + (e.g. in another thread's saved stack), skip this part and get + it from real live memory. */ + else if (memaddr < rfb && memaddr >= rsp) + { + /* It's in a register. */ + int regnum = (memaddr - rsp) / 4 + LR0_REGNUM; + if (regnum > LR0_REGNUM + 127) + error ("Attempt to read register stack out of range."); + if (myaddr != NULL) + read_register_gen (regnum, myaddr); + if (lval != NULL) + *lval = lval_register; + if (actual_mem_addr != NULL) + *actual_mem_addr = REGISTER_BYTE (regnum); + } + else + { + /* It's in the memory portion of the register stack. */ + if (myaddr != NULL) + read_memory (memaddr, myaddr, 4); + if (lval != NULL) + *lval = lval_memory; + if (actual_mem_addr != NULL) + *actual_mem_addr = memaddr; + } +} + +/* Analogous to read_memory_integer + except the length is understood to be 4. */ +long +read_register_stack_integer (memaddr, len) + CORE_ADDR memaddr; + int len; +{ + char buf[4]; + read_register_stack (memaddr, buf, NULL, NULL); + return extract_signed_integer (buf, 4); +} + +/* Copy 4 bytes from GDB memory at MYADDR into inferior memory + at MEMADDR and put the actual address written into in + *ACTUAL_MEM_ADDR. */ +static void +write_register_stack (memaddr, myaddr, actual_mem_addr) + CORE_ADDR memaddr; + char *myaddr; + CORE_ADDR *actual_mem_addr; +{ + long rfb = read_register (RFB_REGNUM); + long rsp = read_register (RSP_REGNUM); + /* If we don't do this 'info register' stops in the middle. */ + if (memaddr >= rstack_high_address) + { + /* It's in a register, but off the end of the stack. */ + if (actual_mem_addr != NULL) + *actual_mem_addr = 0; + } + else if (memaddr < rfb) + { + /* It's in a register. */ + int regnum = (memaddr - rsp) / 4 + LR0_REGNUM; + if (regnum < LR0_REGNUM || regnum > LR0_REGNUM + 127) + error ("Attempt to read register stack out of range."); + if (myaddr != NULL) + write_register (regnum, *(long *)myaddr); + if (actual_mem_addr != NULL) + *actual_mem_addr = 0; + } + else + { + /* It's in the memory portion of the register stack. */ + if (myaddr != NULL) + write_memory (memaddr, myaddr, 4); + if (actual_mem_addr != NULL) + *actual_mem_addr = memaddr; + } +} + +/* Find register number REGNUM relative to FRAME and put its + (raw) contents in *RAW_BUFFER. Set *OPTIMIZED if the variable + was optimized out (and thus can't be fetched). If the variable + was fetched from memory, set *ADDRP to where it was fetched from, + otherwise it was fetched from a register. + + The argument RAW_BUFFER must point to aligned memory. */ + +void +get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lvalp) + char *raw_buffer; + int *optimized; + CORE_ADDR *addrp; + struct frame_info *frame; + int regnum; + enum lval_type *lvalp; +{ + struct frame_info *fi; + CORE_ADDR addr; + enum lval_type lval; + + if (!target_has_registers) + error ("No registers."); + + /* Probably now redundant with the target_has_registers check. */ + if (frame == 0) + return; + + /* Once something has a register number, it doesn't get optimized out. */ + if (optimized != NULL) + *optimized = 0; + if (regnum == RSP_REGNUM) + { + if (raw_buffer != NULL) + { + store_address (raw_buffer, REGISTER_RAW_SIZE (regnum), frame->frame); + } + if (lvalp != NULL) + *lvalp = not_lval; + return; + } + else if (regnum == PC_REGNUM) + { + if (raw_buffer != NULL) + { + store_address (raw_buffer, REGISTER_RAW_SIZE (regnum), frame->pc); + } + + /* Not sure we have to do this. */ + if (lvalp != NULL) + *lvalp = not_lval; + + return; + } + else if (regnum == MSP_REGNUM) + { + if (raw_buffer != NULL) + { + if (frame->next != NULL) + { + store_address (raw_buffer, REGISTER_RAW_SIZE (regnum), + frame->next->saved_msp); + } + else + read_register_gen (MSP_REGNUM, raw_buffer); + } + /* The value may have been computed, not fetched. */ + if (lvalp != NULL) + *lvalp = not_lval; + return; + } + else if (regnum < LR0_REGNUM || regnum >= LR0_REGNUM + 128) + { + /* These registers are not saved over procedure calls, + so just print out the current values. */ + if (raw_buffer != NULL) + read_register_gen (regnum, raw_buffer); + if (lvalp != NULL) + *lvalp = lval_register; + if (addrp != NULL) + *addrp = REGISTER_BYTE (regnum); + return; + } + + addr = frame->frame + (regnum - LR0_REGNUM) * 4; + if (raw_buffer != NULL) + read_register_stack (addr, raw_buffer, &addr, &lval); + if (lvalp != NULL) + *lvalp = lval; + if (addrp != NULL) + *addrp = addr; +} + + +/* Discard from the stack the innermost frame, + restoring all saved registers. */ + +void +pop_frame () +{ + struct frame_info *frame = get_current_frame (); + CORE_ADDR rfb = read_register (RFB_REGNUM); + CORE_ADDR gr1 = frame->frame + frame->rsize; + CORE_ADDR lr1; + CORE_ADDR original_lr0; + int must_fix_lr0 = 0; + int i; + + /* If popping a dummy frame, need to restore registers. */ + if (PC_IN_CALL_DUMMY (read_register (PC_REGNUM), + read_register (SP_REGNUM), + FRAME_FP (frame))) + { + int lrnum = LR0_REGNUM + DUMMY_ARG/4; + for (i = 0; i < DUMMY_SAVE_SR128; ++i) + write_register (SR_REGNUM (i + 128),read_register (lrnum++)); + for (i = 0; i < DUMMY_SAVE_SR160; ++i) + write_register (SR_REGNUM(i+160), read_register (lrnum++)); + for (i = 0; i < DUMMY_SAVE_GREGS; ++i) + write_register (RETURN_REGNUM + i, read_register (lrnum++)); + /* Restore the PCs and prepare to restore LR0. */ + write_register(PC_REGNUM, read_register (lrnum++)); + write_register(NPC_REGNUM, read_register (lrnum++)); + write_register(PC2_REGNUM, read_register (lrnum++)); + original_lr0 = read_register (lrnum++); + must_fix_lr0 = 1; + } + + /* Restore the memory stack pointer. */ + write_register (MSP_REGNUM, frame->saved_msp); + /* Restore the register stack pointer. */ + write_register (GR1_REGNUM, gr1); + + /* If we popped a dummy frame, restore lr0 now that gr1 has been restored. */ + if (must_fix_lr0) + write_register (LR0_REGNUM, original_lr0); + + /* Check whether we need to fill registers. */ + lr1 = read_register (LR0_REGNUM + 1); + if (lr1 > rfb) + { + /* Fill. */ + int num_bytes = lr1 - rfb; + int i; + long word; + + write_register (RAB_REGNUM, read_register (RAB_REGNUM) + num_bytes); + write_register (RFB_REGNUM, lr1); + for (i = 0; i < num_bytes; i += 4) + { + /* Note: word is in host byte order. */ + word = read_memory_integer (rfb + i, 4); + write_register (LR0_REGNUM + ((rfb - gr1) % 0x80) + i / 4, word); + } + } + flush_cached_frames (); +} + +/* Push an empty stack frame, to record the current PC, etc. */ + +void +push_dummy_frame () +{ + long w; + CORE_ADDR rab, gr1; + CORE_ADDR msp = read_register (MSP_REGNUM); + int lrnum, i; + CORE_ADDR original_lr0; + + /* Read original lr0 before changing gr1. This order isn't really needed + since GDB happens to have a snapshot of all the regs and doesn't toss + it when gr1 is changed. But it's The Right Thing To Do. */ + original_lr0 = read_register (LR0_REGNUM); + + /* Allocate the new frame. */ + gr1 = read_register (GR1_REGNUM) - DUMMY_FRAME_RSIZE; + write_register (GR1_REGNUM, gr1); + +#ifdef VXWORKS_TARGET + /* We force re-reading all registers to get the new local registers set + after gr1 has been modified. This fix is due to the lack of single + register read/write operation in the RPC interface between VxGDB and + VxWorks. This really must be changed ! */ + + vx_read_register (-1); + +#endif /* VXWORK_TARGET */ + + rab = read_register (RAB_REGNUM); + if (gr1 < rab) + { + /* We need to spill registers. */ + int num_bytes = rab - gr1; + CORE_ADDR rfb = read_register (RFB_REGNUM); + int i; + long word; + + write_register (RFB_REGNUM, rfb - num_bytes); + write_register (RAB_REGNUM, gr1); + for (i = 0; i < num_bytes; i += 4) + { + /* Note: word is in target byte order. */ + read_register_gen (LR0_REGNUM + i / 4, (char *) &word); + write_memory (rfb - num_bytes + i, (char *) &word, 4); + } + } + + /* There are no arguments in to the dummy frame, so we don't need + more than rsize plus the return address and lr1. */ + write_register (LR0_REGNUM + 1, gr1 + DUMMY_FRAME_RSIZE + 2 * 4); + + /* Set the memory frame pointer. */ + write_register (LR0_REGNUM + DUMMY_FRAME_RSIZE / 4 - 1, msp); + + /* Allocate arg_slop. */ + write_register (MSP_REGNUM, msp - 16 * 4); + + /* Save registers. */ + lrnum = LR0_REGNUM + DUMMY_ARG/4; + for (i = 0; i < DUMMY_SAVE_SR128; ++i) + write_register (lrnum++, read_register (SR_REGNUM (i + 128))); + for (i = 0; i < DUMMY_SAVE_SR160; ++i) + write_register (lrnum++, read_register (SR_REGNUM (i + 160))); + for (i = 0; i < DUMMY_SAVE_GREGS; ++i) + write_register (lrnum++, read_register (RETURN_REGNUM + i)); + /* Save the PCs and LR0. */ + write_register (lrnum++, read_register (PC_REGNUM)); + write_register (lrnum++, read_register (NPC_REGNUM)); + write_register (lrnum++, read_register (PC2_REGNUM)); + + /* Why are we saving LR0? What would clobber it? (the dummy frame should + be below it on the register stack, no?). */ + write_register (lrnum++, original_lr0); +} + + + +/* + This routine takes three arguments and makes the cached frames look + as if these arguments defined a frame on the cache. This allows the + rest of `info frame' to extract the important arguments without much + difficulty. Since an individual frame on the 29K is determined by + three values (FP, PC, and MSP), we really need all three to do a + good job. */ + +struct frame_info * +setup_arbitrary_frame (argc, argv) + int argc; + CORE_ADDR *argv; +{ + struct frame_info *frame; + + if (argc != 3) + error ("AMD 29k frame specifications require three arguments: rsp pc msp"); + + frame = create_new_frame (argv[0], argv[1]); + + if (!frame) + fatal ("internal: create_new_frame returned invalid frame id"); + + /* Creating a new frame munges the `frame' value from the current + GR1, so we restore it again here. FIXME, untangle all this + 29K frame stuff... */ + frame->frame = argv[0]; + + /* Our MSP is in argv[2]. It'd be intelligent if we could just + save this value in the FRAME. But the way it's set up (FIXME), + we must save our caller's MSP. We compute that by adding our + memory stack frame size to our MSP. */ + frame->saved_msp = argv[2] + frame->msize; + + return frame; +} + +int +gdb_print_insn_a29k (memaddr, info) + bfd_vma memaddr; + disassemble_info *info; +{ + if (TARGET_BYTE_ORDER == BIG_ENDIAN) + return print_insn_big_a29k (memaddr, info); + else + return print_insn_little_a29k (memaddr, info); +} + +enum a29k_processor_types processor_type = a29k_unknown; + +void +a29k_get_processor_type () +{ + unsigned int cfg_reg = (unsigned int) read_register (CFG_REGNUM); + + /* Most of these don't have freeze mode. */ + processor_type = a29k_no_freeze_mode; + + switch ((cfg_reg >> 28) & 0xf) + { + case 0: + fprintf_filtered (gdb_stderr, "Remote debugging an Am29000"); + break; + case 1: + fprintf_filtered (gdb_stderr, "Remote debugging an Am29005"); + break; + case 2: + fprintf_filtered (gdb_stderr, "Remote debugging an Am29050"); + processor_type = a29k_freeze_mode; + break; + case 3: + fprintf_filtered (gdb_stderr, "Remote debugging an Am29035"); + break; + case 4: + fprintf_filtered (gdb_stderr, "Remote debugging an Am29030"); + break; + case 5: + fprintf_filtered (gdb_stderr, "Remote debugging an Am2920*"); + break; + case 6: + fprintf_filtered (gdb_stderr, "Remote debugging an Am2924*"); + break; + case 7: + fprintf_filtered (gdb_stderr, "Remote debugging an Am29040"); + break; + default: + fprintf_filtered (gdb_stderr, "Remote debugging an unknown Am29k\n"); + /* Don't bother to print the revision. */ + return; + } + fprintf_filtered (gdb_stderr, " revision %c\n", 'A' + ((cfg_reg >> 24) & 0x0f)); +} + +#ifdef GET_LONGJMP_TARGET +/* Figure out where the longjmp will land. We expect that we have just entered + longjmp and haven't yet setup the stack frame, so the args are still in the + output regs. lr2 (LR2_REGNUM) points at the jmp_buf structure from which we + extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. + This routine returns true on success */ + +int +get_longjmp_target(pc) + CORE_ADDR *pc; +{ + CORE_ADDR jb_addr; + char buf[sizeof(CORE_ADDR)]; + + jb_addr = read_register(LR2_REGNUM); + + if (target_read_memory(jb_addr + JB_PC * JB_ELEMENT_SIZE, (char *) buf, + sizeof(CORE_ADDR))) + return 0; + + *pc = extract_address ((PTR) buf, sizeof(CORE_ADDR)); + return 1; +} +#endif /* GET_LONGJMP_TARGET */ + +void +_initialize_a29k_tdep () +{ + extern CORE_ADDR text_end; + + tm_print_insn = gdb_print_insn_a29k; + + /* FIXME, there should be a way to make a CORE_ADDR variable settable. */ + add_show_from_set + (add_set_cmd ("rstack_high_address", class_support, var_uinteger, + (char *)&rstack_high_address, + "Set top address in memory of the register stack.\n\ +Attempts to access registers saved above this address will be ignored\n\ +or will produce the value -1.", &setlist), + &showlist); + + /* FIXME, there should be a way to make a CORE_ADDR variable settable. */ + add_show_from_set + (add_set_cmd ("call_scratch_address", class_support, var_uinteger, + (char *)&text_end, +"Set address in memory where small amounts of RAM can be used\n\ +when making function calls into the inferior.", &setlist), + &showlist); +} diff --git a/contrib/gdb/gdb/a68v-nat.c b/contrib/gdb/gdb/a68v-nat.c new file mode 100644 index 0000000000000..95bb3c83716bb --- /dev/null +++ b/contrib/gdb/gdb/a68v-nat.c @@ -0,0 +1,123 @@ +/* Host-dependent code for Apollo-68ks for GDB, the GNU debugger. + Copyright 1986, 1987, 1989, 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" + +#ifndef _ISP__M68K +#define _ISP__M68K 1 +#endif + +#include <ptrace.h> + +extern int errno; + +void +fetch_inferior_registers (ignored) + int ignored; +{ + struct ptrace_$data_regs_m68k inferior_registers; + struct ptrace_$floating_regs_m68k inferior_fp_registers; + struct ptrace_$control_regs_m68k inferior_control_registers; + extern char registers[]; + + ptrace_$init_control(&inferior_control_registers); + inferior_fp_registers.size = sizeof(inferior_fp_registers); + + registers_fetched (); + + ptrace (PTRACE_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_registers, + ptrace_$data_set, + (PTRACE_ARG3_TYPE) &inferior_registers, + ptrace_$data_set); + + ptrace (PTRACE_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers, + ptrace_$floating_set_m68k, + (PTRACE_ARG3_TYPE) &inferior_fp_registers, + ptrace_$floating_set_m68k); + + ptrace (PTRACE_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_control_registers, + ptrace_$control_set_m68k, + (PTRACE_ARG3_TYPE) &inferior_control_registers, + ptrace_$control_set_m68k); + + bcopy (&inferior_registers, registers, 16 * 4); + bcopy (&inferior_fp_registers, ®isters[REGISTER_BYTE (FP0_REGNUM)], + sizeof inferior_fp_registers.regs); + *(int *)®isters[REGISTER_BYTE (PS_REGNUM)] = inferior_control_registers.sr; + *(int *)®isters[REGISTER_BYTE (PC_REGNUM)] = inferior_control_registers.pc; +} + +/* Store our register values back into the inferior. + If REGNO is -1, do this for all registers. + Otherwise, REGNO specifies which register (so we can save time). */ + +void +store_inferior_registers (regno) + int regno; +{ + struct ptrace_$data_regs_m68k inferior_registers; + struct ptrace_$floating_regs_m68k inferior_fp_registers; + struct ptrace_$control_regs_m68k inferior_control_registers; + extern char registers[]; + + ptrace_$init_control(&inferior_control_registers); + inferior_fp_registers.size = sizeof(inferior_fp_registers); + + ptrace (PTRACE_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers, + ptrace_$floating_set_m68k, + (PTRACE_ARG3_TYPE) &inferior_fp_registers, + ptrace_$floating_set_m68k); + + ptrace (PTRACE_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_control_registers, + ptrace_$control_set_m68k, + (PTRACE_ARG3_TYPE) &inferior_control_registers, + ptrace_$control_set_m68k); + + bcopy (registers, &inferior_registers, sizeof(inferior_registers)); + + bcopy (®isters[REGISTER_BYTE (FP0_REGNUM)], inferior_fp_registers.regs, + sizeof inferior_fp_registers.regs); + + inferior_control_registers.sr = *(int *)®isters[REGISTER_BYTE (PS_REGNUM)]; + inferior_control_registers.pc = *(int *)®isters[REGISTER_BYTE (PC_REGNUM)]; + + ptrace (PTRACE_SETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_registers, + ptrace_$data_set_m68k, + (PTRACE_ARG3_TYPE) &inferior_registers, + ptrace_$data_set_m68k); + + ptrace (PTRACE_SETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers, + ptrace_$floating_set_m68k, + (PTRACE_ARG3_TYPE) &inferior_fp_registers, + ptrace_$floating_set_m68k); + + ptrace (PTRACE_SETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_control_registers, + ptrace_$control_set_m68k, + (PTRACE_ARG3_TYPE) &inferior_control_registers, + ptrace_$control_set_m68k); +} diff --git a/contrib/gdb/gdb/altos-xdep.c b/contrib/gdb/gdb/altos-xdep.c new file mode 100644 index 0000000000000..e7b652c18369d --- /dev/null +++ b/contrib/gdb/gdb/altos-xdep.c @@ -0,0 +1,164 @@ +/* Low level interface to ptrace, for GDB when running under m68k SVR2 Unix + on Altos 3068. Report bugs to Jyrki Kuoppala <jkp@cs.hut.fi> + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "frame.h" +#include "inferior.h" + +#ifdef USG +#include <sys/types.h> +#endif + +#include <sys/param.h> +#include <sys/dir.h> +#include <signal.h> +#include <sys/ioctl.h> +#include <fcntl.h> +#ifdef USG +#include <sys/page.h> +#ifdef ALTOS +#include <sys/net.h> +#include <errno.h> +#endif +#endif + +#include "gdbcore.h" +#include <sys/user.h> /* After a.out.h */ +#include <sys/file.h> +#include "gdb_stat.h" + + +/* Work with core dump and executable files, for GDB. + This code would be in corefile.c if it weren't machine-dependent. */ + +void +core_file_command (filename, from_tty) + char *filename; + int from_tty; +{ + int val; + extern char registers[]; + + /* Discard all vestiges of any previous core file + and mark data and stack spaces as empty. */ + + if (corefile) + free (corefile); + corefile = 0; + + if (corechan >= 0) + close (corechan); + corechan = -1; + + data_start = 0; + data_end = 0; + stack_start = STACK_END_ADDR; + stack_end = STACK_END_ADDR; + + /* Now, if a new core file was specified, open it and digest it. */ + + if (filename) + { + filename = tilde_expand (filename); + make_cleanup (free, filename); + + if (have_inferior_p ()) + error ("To look at a core file, you must kill the program with \"kill\"."); + corechan = open (filename, O_RDONLY, 0); + if (corechan < 0) + perror_with_name (filename); + /* 4.2-style (and perhaps also sysV-style) core dump file. */ + { + struct user u; + + unsigned int reg_offset; + + val = myread (corechan, &u, sizeof u); + if (val < 0) + perror_with_name ("Not a core file: reading upage"); + if (val != sizeof u) + error ("Not a core file: could only read %d bytes", val); + data_start = exec_data_start; + +#if !defined (NBPG) +#define NBPG NBPP +#endif +#if !defined (UPAGES) +#define UPAGES USIZE +#endif + + data_end = data_start + NBPG * u.u_dsize; + stack_start = stack_end - NBPG * u.u_ssize; + data_offset = NBPG * UPAGES + exec_data_start % NBPG /* Not sure about this //jkp */; + stack_offset = NBPG * (UPAGES + u.u_dsize); + + /* Some machines put an absolute address in here and some put + the offset in the upage of the regs. */ + reg_offset = (int) u.u_state; + if (reg_offset > NBPG * UPAGES) + reg_offset -= KERNEL_U_ADDR; + + memcpy (&core_aouthdr, &u.u_exdata, sizeof (AOUTHDR)); + printf_unfiltered ("Core file is from \"%s\".\n", u.u_comm); + + /* I don't know where to find this info. + So, for now, mark it as not available. */ + N_SET_MAGIC (core_aouthdr, 0); + + /* Read the register values out of the core file and store + them where `read_register' will find them. */ + + { + register int regno; + + for (regno = 0; regno < NUM_REGS; regno++) + { + char buf[MAX_REGISTER_RAW_SIZE]; + + val = lseek (corechan, register_addr (regno, reg_offset), 0); + if (val < 0 + || (val = myread (corechan, buf, sizeof buf)) < 0) + { + char * buffer = (char *) alloca (strlen (reg_names[regno]) + + 30); + strcpy (buffer, "Reading register "); + strcat (buffer, reg_names[regno]); + + perror_with_name (buffer); + } + + supply_register (regno, buf); + } + } + } + if (filename[0] == '/') + corefile = savestring (filename, strlen (filename)); + else + { + corefile = concat (current_directory, "/", filename, NULL); + } + + flush_cached_frames (); + select_frame (get_current_frame (), 0); + validate_files (); + } + else if (from_tty) + printf_unfiltered ("No core file now.\n"); +} diff --git a/contrib/gdb/gdb/config/a29k/a29k-kern.mt b/contrib/gdb/gdb/config/a29k/a29k-kern.mt new file mode 100644 index 0000000000000..f1a2e521b0bec --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/a29k-kern.mt @@ -0,0 +1,13 @@ +# Target: Remote AMD 29000 that runs Unix kernel on NYU Ultra3 processor board + +# This builds a gdb that should run on a host (we use sun3os4) that +# then communicates over the serial line to either an Adapt or MiniMon, +# for use in debugging Unix kernels. +# As compared to ordinary remote 29K debugging, this changes the register +# numbering a bit, to hold kernel regs, and adds support for looking at +# the upage. + +TDEPFILES= a29k-tdep.o remote-mm.o remote-adapt.o +TM_FILE= tm-ultra3.h + +MT_CFLAGS = -DKERNEL_DEBUGGING -DNO_HIF_SUPPORT diff --git a/contrib/gdb/gdb/config/a29k/a29k-udi.mt b/contrib/gdb/gdb/config/a29k/a29k-udi.mt new file mode 100644 index 0000000000000..6d5d27b701dd9 --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/a29k-udi.mt @@ -0,0 +1,8 @@ +# Target: AMD 29000 on EB29K board over a serial line +TDEPFILES= a29k-tdep.o remote-udi.o udip2soc.o udr.o udi2go32.o +TM_FILE= tm-a29k.h + +# Disable standard remote support. +REMOTE_OBS= + +MT_CFLAGS = $(HOST_IPC) diff --git a/contrib/gdb/gdb/config/a29k/a29k.mt b/contrib/gdb/gdb/config/a29k/a29k.mt new file mode 100644 index 0000000000000..a3f5910b18fe0 --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/a29k.mt @@ -0,0 +1,5 @@ +# Target: AMD 29000 +TDEPFILES= a29k-tdep.o remote-eb.o remote-adapt.o +TM_FILE= tm-a29k.h + +MT_CFLAGS = -DNO_HIF_SUPPORT diff --git a/contrib/gdb/gdb/config/a29k/nm-ultra3.h b/contrib/gdb/gdb/config/a29k/nm-ultra3.h new file mode 100644 index 0000000000000..a3bc47452c4bd --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/nm-ultra3.h @@ -0,0 +1,26 @@ +/* Host definitions for GDB running on an a29k NYU Ultracomputer + Copyright (C) 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc. + Contributed by David Wood (wood@lab.ultra.nyu.edu). + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* If we ever *do* end up using the standard fetch_inferior_registers, + this is the right value for U_REGS_OFFSET. */ +#define U_REGS_OFFSET 0 + +/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */ +#define FETCH_INFERIOR_REGISTERS diff --git a/contrib/gdb/gdb/config/a29k/tm-a29k.h b/contrib/gdb/gdb/config/a29k/tm-a29k.h new file mode 100644 index 0000000000000..24a3e08a79783 --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/tm-a29k.h @@ -0,0 +1,708 @@ +/* Parameters for target machine AMD 29000, for GDB, the GNU debugger. + Copyright 1990, 1991, 1993, 1994 Free Software Foundation, Inc. + Contributed by Cygnus Support. Written by Jim Kingdon. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Parameters for an EB29K (a board which plugs into a PC and is + accessed through EBMON software running on the PC, which we + use as we'd use a remote stub (see remote-eb.c). + + If gdb is ported to other a29k machines/systems, the + machine/system-specific parts should be removed from this file (a + la tm-m68k.h). */ + +/* Byte order is configurable, but this machine runs big-endian. */ +#define TARGET_BYTE_ORDER BIG_ENDIAN + +/* Floating point uses IEEE representations. */ +#define IEEE_FLOAT + +/* Recognize our magic number. */ +#define BADMAG(x) ((x).f_magic != 0572) + +/* Offset from address of function to start of its code. + Zero on most machines. */ + +#define FUNCTION_START_OFFSET 0 + +/* Advance PC across any function entry prologue instructions + to reach some "real" code. */ + +#define SKIP_PROLOGUE(pc) \ + { pc = skip_prologue (pc); } +CORE_ADDR skip_prologue (); + +/* Immediately after a function call, return the saved pc. + Can't go through the frames for this because on some machines + the new frame is not set up until the new function executes + some instructions. */ + +#define SAVED_PC_AFTER_CALL(frame) ((frame->flags & TRANSPARENT) \ + ? read_register (TPC_REGNUM) \ + : read_register (LR0_REGNUM)) + +/* Stack grows downward. */ + +#define INNER_THAN < + +/* Stack must be aligned on 32-bit word boundaries. */ +#define STACK_ALIGN(ADDR) (((ADDR) + 3) & ~3) + +/* Sequence of bytes for breakpoint instruction. */ +/* ASNEQ 0x50, gr1, gr1 + The trap number 0x50 is chosen arbitrarily. + We let the command line (or previously included files) override this + setting. */ +#ifndef BREAKPOINT +#if TARGET_BYTE_ORDER == BIG_ENDIAN +#define BREAKPOINT {0x72, 0x50, 0x01, 0x01} +#else /* Target is little-endian. */ +#define BREAKPOINT {0x01, 0x01, 0x50, 0x72} +#endif /* Target is little-endian. */ +#endif /* BREAKPOINT */ + +/* Amount PC must be decremented by after a breakpoint. + This is often the number of bytes in BREAKPOINT + but not always. */ + +#define DECR_PC_AFTER_BREAK 0 + +/* Nonzero if instruction at PC is a return instruction. + On the a29k, this is a "jmpi l0" instruction. */ + +#define ABOUT_TO_RETURN(pc) \ + ((read_memory_integer (pc, 4) & 0xff0000ff) == 0xc0000080) + +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ + +#define REGISTER_SIZE 4 + +/* Allow the register declarations here to be overridden for remote + kernel debugging. */ +#if !defined (REGISTER_NAMES) + +/* Number of machine registers */ + +#define NUM_REGS 205 + +/* Initializer for an array of names of registers. + There should be NUM_REGS strings in this initializer. + + FIXME, add floating point registers and support here. + + Also note that this list does not attempt to deal with kernel + debugging (in which the first 32 registers are gr64-gr95). */ + +#define REGISTER_NAMES \ +{"gr96", "gr97", "gr98", "gr99", "gr100", "gr101", "gr102", "gr103", "gr104", \ + "gr105", "gr106", "gr107", "gr108", "gr109", "gr110", "gr111", "gr112", \ + "gr113", "gr114", "gr115", "gr116", "gr117", "gr118", "gr119", "gr120", \ + "gr121", "gr122", "gr123", "gr124", "gr125", "gr126", "gr127", \ + "lr0", "lr1", "lr2", "lr3", "lr4", "lr5", "lr6", "lr7", "lr8", "lr9", \ + "lr10", "lr11", "lr12", "lr13", "lr14", "lr15", "lr16", "lr17", "lr18", \ + "lr19", "lr20", "lr21", "lr22", "lr23", "lr24", "lr25", "lr26", "lr27", \ + "lr28", "lr29", "lr30", "lr31", "lr32", "lr33", "lr34", "lr35", "lr36", \ + "lr37", "lr38", "lr39", "lr40", "lr41", "lr42", "lr43", "lr44", "lr45", \ + "lr46", "lr47", "lr48", "lr49", "lr50", "lr51", "lr52", "lr53", "lr54", \ + "lr55", "lr56", "lr57", "lr58", "lr59", "lr60", "lr61", "lr62", "lr63", \ + "lr64", "lr65", "lr66", "lr67", "lr68", "lr69", "lr70", "lr71", "lr72", \ + "lr73", "lr74", "lr75", "lr76", "lr77", "lr78", "lr79", "lr80", "lr81", \ + "lr82", "lr83", "lr84", "lr85", "lr86", "lr87", "lr88", "lr89", "lr90", \ + "lr91", "lr92", "lr93", "lr94", "lr95", "lr96", "lr97", "lr98", "lr99", \ + "lr100", "lr101", "lr102", "lr103", "lr104", "lr105", "lr106", "lr107", \ + "lr108", "lr109", "lr110", "lr111", "lr112", "lr113", "lr114", "lr115", \ + "lr116", "lr117", "lr118", "lr119", "lr120", "lr121", "lr122", "lr123", \ + "lr124", "lr125", "lr126", "lr127", \ + "AI0", "AI1", "AI2", "AI3", "AI4", "AI5", "AI6", "AI7", "AI8", "AI9", \ + "AI10", "AI11", "AI12", "AI13", "AI14", "AI15", "FP", \ + "bp", "fc", "cr", "q", \ + "vab", "ops", "cps", "cfg", "cha", "chd", "chc", "rbp", "tmc", "tmr", \ + "pc0", "pc1", "pc2", "mmu", "lru", "fpe", "inte", "fps", "exo", "gr1", \ + "alu", "ipc", "ipa", "ipb" } + +/* + * Converts an sdb register number to an internal gdb register number. + * Currently under epi, gr96->0...gr127->31...lr0->32...lr127->159, or... + * gr64->0...gr95->31, lr0->32...lr127->159. + */ +#define SDB_REG_TO_REGNUM(value) \ + (((value) >= 96 && (value) <= 127) ? ((value) - 96) : \ + ((value) >= 128 && (value) <= 255) ? ((value) - 128 + LR0_REGNUM) : \ + (value)) + +/* + * Provide the processor register numbers of some registers that are + * expected/written in instructions that might change under different + * register sets. Namely, gcc can compile (-mkernel-registers) so that + * it uses gr64-gr95 in stead of gr96-gr127. + */ +#define MSP_HW_REGNUM 125 /* gr125 */ +#define RAB_HW_REGNUM 126 /* gr126 */ + +/* Convert Processor Special register #x to REGISTER_NAMES register # */ +#define SR_REGNUM(x) \ + ((x) < 15 ? VAB_REGNUM + (x) \ + : (x) >= 128 && (x) < 131 ? IPC_REGNUM + (x) - 128 \ + : (x) == 131 ? Q_REGNUM \ + : (x) == 132 ? ALU_REGNUM \ + : (x) >= 133 && (x) < 136 ? BP_REGNUM + (x) - 133 \ + : (x) >= 160 && (x) < 163 ? FPE_REGNUM + (x) - 160 \ + : (x) == 164 ? EXO_REGNUM \ + : (error ("Internal error in SR_REGNUM"), 0)) +#define GR96_REGNUM 0 + +/* Define the return register separately, so it can be overridden for + kernel procedure calling conventions. */ +#define RETURN_REGNUM GR96_REGNUM +#define GR1_REGNUM 200 +/* This needs to be the memory stack pointer, not the register stack pointer, + to make call_function work right. */ +#define SP_REGNUM MSP_REGNUM +#define FP_REGNUM 33 /* lr1 */ + +/* Return register for transparent calling convention (gr122). */ +#define TPC_REGNUM (122 - 96 + GR96_REGNUM) + +/* Large Return Pointer (gr123). */ +#define LRP_REGNUM (123 - 96 + GR96_REGNUM) + +/* Static link pointer (gr124). */ +#define SLP_REGNUM (124 - 96 + GR96_REGNUM) + +/* Memory Stack Pointer (gr125). */ +#define MSP_REGNUM (125 - 96 + GR96_REGNUM) + +/* Register allocate bound (gr126). */ +#define RAB_REGNUM (126 - 96 + GR96_REGNUM) + +/* Register Free Bound (gr127). */ +#define RFB_REGNUM (127 - 96 + GR96_REGNUM) + +/* Register Stack Pointer. */ +#define RSP_REGNUM GR1_REGNUM +#define LR0_REGNUM 32 +#define BP_REGNUM 177 +#define FC_REGNUM 178 +#define CR_REGNUM 179 +#define Q_REGNUM 180 +#define VAB_REGNUM 181 +#define OPS_REGNUM (VAB_REGNUM + 1) +#define CPS_REGNUM (VAB_REGNUM + 2) +#define CFG_REGNUM (VAB_REGNUM + 3) +#define CHA_REGNUM (VAB_REGNUM + 4) +#define CHD_REGNUM (VAB_REGNUM + 5) +#define CHC_REGNUM (VAB_REGNUM + 6) +#define RBP_REGNUM (VAB_REGNUM + 7) +#define TMC_REGNUM (VAB_REGNUM + 8) +#define TMR_REGNUM (VAB_REGNUM + 9) +#define NPC_REGNUM (VAB_REGNUM + 10) /* pc0 */ +#define PC_REGNUM (VAB_REGNUM + 11) /* pc1 */ +#define PC2_REGNUM (VAB_REGNUM + 12) +#define MMU_REGNUM (VAB_REGNUM + 13) +#define LRU_REGNUM (VAB_REGNUM + 14) +#define FPE_REGNUM (VAB_REGNUM + 15) +#define INTE_REGNUM (VAB_REGNUM + 16) +#define FPS_REGNUM (VAB_REGNUM + 17) +#define EXO_REGNUM (VAB_REGNUM + 18) +/* gr1 is defined above as 200 = VAB_REGNUM + 19 */ +#define ALU_REGNUM (VAB_REGNUM + 20) +#define PS_REGNUM ALU_REGNUM +#define IPC_REGNUM (VAB_REGNUM + 21) +#define IPA_REGNUM (VAB_REGNUM + 22) +#define IPB_REGNUM (VAB_REGNUM + 23) + +#endif /* !defined(REGISTER_NAMES) */ + +/* Total amount of space needed to store our copies of the machine's + register state, the array `registers'. */ +#define REGISTER_BYTES (NUM_REGS * 4) + +/* Index within `registers' of the first byte of the space for + register N. */ +#define REGISTER_BYTE(N) ((N)*4) + +/* Number of bytes of storage in the actual machine representation + for register N. */ + +/* All regs are 4 bytes. */ + +#define REGISTER_RAW_SIZE(N) (4) + +/* Number of bytes of storage in the program's representation + for register N. */ + +/* All regs are 4 bytes. */ + +#define REGISTER_VIRTUAL_SIZE(N) (4) + +/* Largest value REGISTER_RAW_SIZE can have. */ + +#define MAX_REGISTER_RAW_SIZE (4) + +/* Largest value REGISTER_VIRTUAL_SIZE can have. */ + +#define MAX_REGISTER_VIRTUAL_SIZE (4) + +/* Return the GDB type object for the "standard" data type + of data in register N. */ + +#define REGISTER_VIRTUAL_TYPE(N) \ + (((N) == PC_REGNUM || (N) == LRP_REGNUM || (N) == SLP_REGNUM \ + || (N) == MSP_REGNUM || (N) == RAB_REGNUM || (N) == RFB_REGNUM \ + || (N) == GR1_REGNUM || (N) == FP_REGNUM || (N) == LR0_REGNUM \ + || (N) == NPC_REGNUM || (N) == PC2_REGNUM) \ + ? lookup_pointer_type (builtin_type_void) : builtin_type_int) + +/* Store the address of the place in which to copy the structure the + subroutine will return. This is called from call_function. */ +/* On the a29k the LRP points to the part of the structure beyond the first + 16 words. */ +#define STORE_STRUCT_RETURN(ADDR, SP) \ + write_register (LRP_REGNUM, (ADDR) + 16 * 4); + +/* Should call_function allocate stack space for a struct return? */ +/* On the a29k objects over 16 words require the caller to allocate space. */ +#define USE_STRUCT_CONVENTION(gcc_p, type) (TYPE_LENGTH (type) > 16 * 4) + +/* Extract from an array REGBUF containing the (raw) register state + a function return value of type TYPE, and copy that, in virtual format, + into VALBUF. */ + +#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ + { \ + int reg_length = TYPE_LENGTH (TYPE); \ + if (reg_length > 16 * 4) \ + { \ + reg_length = 16 * 4; \ + read_memory (*((int *)(REGBUF) + LRP_REGNUM), (VALBUF) + 16 * 4, \ + TYPE_LENGTH (TYPE) - 16 * 4); \ + } \ + memcpy ((VALBUF), ((int *)(REGBUF))+RETURN_REGNUM, reg_length); \ + } + +/* Write into appropriate registers a function return value + of type TYPE, given in virtual format. */ + +#define STORE_RETURN_VALUE(TYPE,VALBUF) \ + { \ + int reg_length = TYPE_LENGTH (TYPE); \ + if (reg_length > 16 * 4) \ + { \ + reg_length = 16 * 4; \ + write_memory (read_register (LRP_REGNUM), \ + (char *)(VALBUF) + 16 * 4, \ + TYPE_LENGTH (TYPE) - 16 * 4); \ + } \ + write_register_bytes (REGISTER_BYTE (RETURN_REGNUM), (char *)(VALBUF), \ + TYPE_LENGTH (TYPE)); \ + } + +/* The a29k user's guide documents well what the stacks look like. + But what isn't so clear there is how this interracts with the + symbols, or with GDB. + In the following saved_msp, saved memory stack pointer (which functions + as a memory frame pointer), means either + a register containing the memory frame pointer or, in the case of + functions with fixed size memory frames (i.e. those who don't use + alloca()), the result of the calculation msp + msize. + + LOC_ARG, LOC_LOCAL - For GCC, these are relative to saved_msp. + For high C, these are relative to msp (making alloca impossible). + LOC_REGISTER, LOC_REGPARM - The register number is the number at the + time the function is running (after the prologue), or in the case + of LOC_REGPARM, may be a register number in the range 160-175. + + The compilers do things like store an argument into memory, and then put out + a LOC_ARG for it, or put it into global registers and put out a + LOC_REGPARM. Thus is it important to execute the first line of + code (i.e. the line of the open brace, i.e. the prologue) of a function + before trying to print arguments or anything. + + The following diagram attempts to depict what is going on in memory + (see also the _a29k user's guide_) and also how that interacts with + GDB frames. We arbitrarily pick fci->frame to point the same place + as the register stack pointer; since we set it ourself in + INIT_EXTRA_FRAME_INFO, and access it only through the FRAME_* + macros, it doesn't really matter exactly how we + do it. However, note that FRAME_FP is used in two ways in GDB: + (1) as a "magic cookie" which uniquely identifies frames (even over + calls to the inferior), (2) (in PC_IN_CALL_DUMMY [ON_STACK]) + as the value of SP_REGNUM before the dummy frame was pushed. These + two meanings would be incompatible for the a29k if we defined + CALL_DUMMY_LOCATION == ON_STACK (but we don't, so don't worry about it). + Also note that "lr1" below, while called a frame pointer + in the user's guide, has only one function: To determine whether + registers need to be filled in the function epilogue. + + Consider the code: + < call bar> + loc1: . . . + bar: sub gr1,gr1,rsize_b + . . . + add mfp,msp,0 + sub msp,msp,msize_b + . . . + < call foo > + loc2: . . . + foo: sub gr1,gr1,rsize_f + . . . + add mfp,msp,0 + sub msp,msp,msize_f + . . . + loc3: < suppose the inferior stops here > + + memory stack register stack + | | |____________| + | | |____loc1____| + +------->|___________| | | ^ + | | ^ | | locals_b | | + | | | | |____________| | + | | | | | | | rsize_b + | | | msize_b | | args_to_f | | + | | | | |____________| | + | | | | |____lr1_____| V + | | V | |____loc2____|<----------------+ + | +--->|___________|<---------mfp | ^ | + | | | ^ | | locals_f | | | + | | | | msize_f | |____________| | | + | | | | | | | | rsize_f | + | | | V | | args | | | + | | |___________|<msp |____________| | | + | | |_____lr1____| V | + | | |___garbage__| <- gr1 <----+ | + | | | | + | | | | + | | pc=loc3 | | + | | | | + | | | | + | | frame cache | | + | | |_________________| | | + | | |rsize=rsize_b | | | + | | |msize=msize_b | | | + +---|--------saved_msp | | | + | |frame------------------------------------|---+ + | |pc=loc2 | | + | |_________________| | + | |rsize=rsize_f | | + | |msize=msize_f | | + +--------saved_msp | | + |frame------------------------------------+ + |pc=loc3 | + |_________________| + + So, is that sufficiently confusing? Welcome to the 29000. + Notes: + * The frame for foo uses a memory frame pointer but the frame for + bar does not. In the latter case the saved_msp is + computed by adding msize to the saved_msp of the + next frame. + * msize is in the frame cache only for high C's sake. */ + +void read_register_stack (); +long read_register_stack_integer (); + +#define EXTRA_FRAME_INFO \ + CORE_ADDR saved_msp; \ + unsigned int rsize; \ + unsigned int msize; \ + unsigned char flags; + +/* Bits for flags in EXTRA_FRAME_INFO */ +#define TRANSPARENT 0x1 /* This is a transparent frame */ +#define MFP_USED 0x2 /* A memory frame pointer is used */ + +/* Because INIT_FRAME_PC gets passed fromleaf, that's where we init + not only ->pc and ->frame, but all the extra stuff, when called from + get_prev_frame_info, that is. */ +#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) init_extra_frame_info(fci) +void init_extra_frame_info (); + +#define INIT_FRAME_PC(fromleaf, fci) init_frame_pc(fromleaf, fci) +void init_frame_pc (); + + +/* FRAME_CHAIN takes a FRAME + and produces the frame's chain-pointer. + + However, if FRAME_CHAIN_VALID returns zero, + it means the given frame is the outermost one and has no caller. */ + +/* On the a29k, the nominal address of a frame is the address on the + register stack of the return address (the one next to the incoming + arguments, not down at the bottom so nominal address == stack pointer). + + GDB expects "nominal address" to equal contents of FP_REGNUM, + at least when it comes time to create the innermost frame. + However, that doesn't work for us, so when creating the innermost + frame we set ->frame ourselves in INIT_EXTRA_FRAME_INFO. */ + +/* These are mostly dummies for the a29k because INIT_FRAME_PC + sets prev->frame instead. */ +/* If rsize is zero, we must be at end of stack (or otherwise hosed). + If we don't check rsize, we loop forever if we see rsize == 0. */ +#define FRAME_CHAIN(thisframe) \ + ((thisframe)->rsize == 0 \ + ? 0 \ + : (thisframe)->frame + (thisframe)->rsize) + +/* Determine if the frame has a 'previous' and back-traceable frame. */ +#define FRAME_IS_UNCHAINED(frame) ((frame)->flags & TRANSPARENT) + +/* Find the previous frame of a transparent routine. + * For now lets not try and trace through a transparent routine (we might + * have to assume that all transparent routines are traps). + */ +#define FIND_PREV_UNCHAINED_FRAME(frame) 0 + +/* Define other aspects of the stack frame. */ + +/* A macro that tells us whether the function invocation represented + by FI does not have a frame on the stack associated with it. If it + does not, FRAMELESS is set to 1, else 0. */ +#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \ + (FRAMELESS) = frameless_look_for_prologue(FI) + +/* Saved pc (i.e. return address). */ +#define FRAME_SAVED_PC(fraim) \ + (read_register_stack_integer ((fraim)->frame + (fraim)->rsize, 4)) + +/* Local variables (i.e. LOC_LOCAL) are on the memory stack, with their + offsets being relative to the memory stack pointer (high C) or + saved_msp (gcc). */ + +#define FRAME_LOCALS_ADDRESS(fi) frame_locals_address (fi) +extern CORE_ADDR frame_locals_address (); + +/* Return number of args passed to a frame. + Can return -1, meaning no way to tell. */ +/* We tried going to the effort of finding the tags word and getting + the argcount field from it, to support debugging assembler code. + Problem was, the "argcount" field never did hold the argument + count. */ +#define FRAME_NUM_ARGS(numargs, fi) ((numargs) = -1) + +#define FRAME_ARGS_ADDRESS(fi) FRAME_LOCALS_ADDRESS (fi) + +/* Return number of bytes at start of arglist that are not really args. */ + +#define FRAME_ARGS_SKIP 0 + +/* Provide our own get_saved_register. HAVE_REGISTER_WINDOWS is insufficient + because registers get renumbered on the a29k without getting saved. */ + +#define GET_SAVED_REGISTER + +/* Call function stuff. */ + +/* The dummy frame looks like this (see also the general frame picture + above): + + register stack + + | | frame for function + | locals_sproc | executing at time + |________________| of call_function. + | | We must not disturb + | args_out_sproc | it. + memory stack |________________| + |____lr1_sproc___|<-+ + | | |__retaddr_sproc_| | <-- gr1 (at start) + |____________|<-msp 0 <-----------mfp_dummy_____| | + | | (at start) | save regs | | + | arg_slop | | pc0,pc1 | | + | | | pc2,lr0 sproc | | + | (16 words) | | gr96-gr124 | | + |____________|<-msp 1--after | sr160-sr162 | | + | | PUSH_DUMMY_FRAME| sr128-sr135 | | + | struct ret | |________________| | + | 17+ | | | | + |____________|<- lrp | args_out_dummy | | + | struct ret | | (16 words) | | + | 16 | |________________| | + | (16 words) | |____lr1_dummy___|--+ + |____________|<- msp 2--after |_retaddr_dummy__|<- gr1 after + | | struct ret | | PUSH_DUMMY_FRAME + | margs17+ | area allocated | locals_inf | + | | |________________| called + |____________|<- msp 4--when | | function's + | | inf called | args_out_inf | frame (set up + | margs16 | |________________| by called + | (16 words) | |_____lr1_inf____| function). + |____________|<- msp 3--after | . | + | | args pushed | . | + | | | . | + | | + + arg_slop: This area is so that when the call dummy adds 16 words to + the msp, it won't end up larger than mfp_dummy (it is needed in the + case where margs and struct_ret do not add up to at least 16 words). + struct ret: This area is allocated by GDB if the return value is more + than 16 words. struct ret_16 is not used on the a29k. + margs: Pushed by GDB. The call dummy copies the first 16 words to + args_out_dummy. + retaddr_sproc: Contains the PC at the time we call the function. + set by PUSH_DUMMY_FRAME and read by POP_FRAME. + retaddr_dummy: This points to a breakpoint instruction in the dummy. */ + +/* Rsize for dummy frame, in bytes. */ + +/* Bytes for outgoing args, lr1, and retaddr. */ +#define DUMMY_ARG (2 * 4 + 16 * 4) + +/* Number of special registers (sr128-) to save. */ +#define DUMMY_SAVE_SR128 8 +/* Number of special registers (sr160-) to save. */ +#define DUMMY_SAVE_SR160 3 +/* Number of general (gr96- or gr64-) registers to save. */ +#define DUMMY_SAVE_GREGS 29 + +#define DUMMY_FRAME_RSIZE \ +(4 /* mfp_dummy */ \ + + 4 * 4 /* pc0, pc1, pc2, lr0 */ \ + + DUMMY_SAVE_GREGS * 4 \ + + DUMMY_SAVE_SR160 * 4 \ + + DUMMY_SAVE_SR128 * 4 \ + + DUMMY_ARG \ + + 4 /* pad to doubleword */ ) + +/* Push an empty stack frame, to record the current PC, etc. */ + +#define PUSH_DUMMY_FRAME push_dummy_frame() +extern void push_dummy_frame (); + +/* Discard from the stack the innermost frame, + restoring all saved registers. */ + +#define POP_FRAME pop_frame() +extern void pop_frame (); + +/* This sequence of words is the instructions + mtsrim cr, 15 + loadm 0, 0, lr2, msp ; load first 16 words of arguments into registers + add msp, msp, 16 * 4 ; point to the remaining arguments + CONST_INSN: + const lr0,inf ; (replaced by half of target addr) + consth lr0,inf ; (replaced by other half of target addr) + calli lr0, lr0 + aseq 0x40,gr1,gr1 ; nop + BREAKPT_INSN: + asneq 0x50,gr1,gr1 ; breakpoint (replaced by local breakpoint insn) + */ + +#if TARGET_BYTE_ORDER == HOST_BYTE_ORDER +#define BS(const) const +#else +#define BS(const) (((const) & 0xff) << 24) | \ + (((const) & 0xff00) << 8) | \ + (((const) & 0xff0000) >> 8) | \ + (((const) & 0xff000000) >> 24) +#endif + +/* Position of the "const" and blkt instructions within CALL_DUMMY in bytes. */ +#define CONST_INSN (3 * 4) +#define BREAKPT_INSN (7 * 4) +#define CALL_DUMMY { \ + BS(0x0400870f),\ + BS(0x36008200|(MSP_HW_REGNUM)), \ + BS(0x15000040|(MSP_HW_REGNUM<<8)|(MSP_HW_REGNUM<<16)), \ + BS(0x03ff80ff), \ + BS(0x02ff80ff), \ + BS(0xc8008080), \ + BS(0x70400101), \ + BS(0x72500101)} +#define CALL_DUMMY_LENGTH (8 * 4) + +#define CALL_DUMMY_START_OFFSET 0 /* Start execution at beginning of dummy */ + +/* Helper macro for FIX_CALL_DUMMY. WORDP is a long * which points to a + word in target byte order; bits 0-7 and 16-23 of *WORDP are replaced with + bits 0-7 and 8-15 of DATA (which is in host byte order). */ + +#if TARGET_BYTE_ORDER == BIG_ENDIAN +#define STUFF_I16(WORDP, DATA) \ + { \ + *((char *)(WORDP) + 3) = ((DATA) & 0xff);\ + *((char *)(WORDP) + 1) = (((DATA) >> 8) & 0xff);\ + } +#else /* Target is little endian. */ +#define STUFF_I16(WORDP, DATA) \ + { + *(char *)(WORDP) = ((DATA) & 0xff); + *((char *)(WORDP) + 2) = (((DATA) >> 8) & 0xff); + } +#endif /* Target is little endian. */ + +/* Insert the specified number of args and function address + into a call sequence of the above form stored at DUMMYNAME. */ + +/* Currently this stuffs in the address of the function that we are calling. + Since different a29k systems use different breakpoint instructions, it + also stuffs BREAKPOINT in the right place (to avoid having to + duplicate CALL_DUMMY in each tm-*.h file). */ + +#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \ + {\ + STUFF_I16((char *)dummyname + CONST_INSN, fun); \ + STUFF_I16((char *)dummyname + CONST_INSN + 4, fun >> 16); \ + /* FIXME memcpy ((char *)(dummyname) + BREAKPT_INSN, break_insn, 4); */ \ + } + +/* a29k architecture has separate data & instruction memories -- wired to + different pins on the chip -- and can't execute the data memory. + Also, there should be space after text_end; + we won't get a SIGSEGV or scribble on data space. */ + +#define CALL_DUMMY_LOCATION AFTER_TEXT_END + +/* Because of this, we need (as a kludge) to know the addresses of the + text section. */ + +#define NEED_TEXT_START_END + +/* How to translate register numbers in the .stab's into gdb's internal register + numbers. We don't translate them, but we warn if an invalid register + number is seen. Note that FIXME, we use the value "sym" as an implicit + argument in printing the error message. It happens to be available where + this macro is used. (This macro definition appeared in a late revision + of gdb-3.91.6 and is not well tested. Also, it should be a "complaint".) */ + +#define STAB_REG_TO_REGNUM(num) \ + (((num) > LR0_REGNUM + 127) \ + ? fprintf(stderr, \ + "Invalid register number %d in symbol table entry for %s\n", \ + (num), SYMBOL_SOURCE_NAME (sym)), (num) \ + : (num)) + +extern enum a29k_processor_types { + a29k_unknown, + + /* Bit 0x400 of the CPS does *not* identify freeze mode, i.e. 29000, + 29030, etc. */ + a29k_no_freeze_mode, + + /* Bit 0x400 of the CPS does identify freeze mode, i.e. 29050. */ + a29k_freeze_mode +} processor_type; + +/* We need three arguments for a general frame specification for the + "frame" or "info frame" command. */ + +#define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv) +extern struct frame_info *setup_arbitrary_frame PARAMS ((int, CORE_ADDR *)); diff --git a/contrib/gdb/gdb/config/a29k/tm-ultra3.h b/contrib/gdb/gdb/config/a29k/tm-ultra3.h new file mode 100644 index 0000000000000..8b96210e475ea --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/tm-ultra3.h @@ -0,0 +1,226 @@ +/* Parameters for NYU Ultracomputer 29000 target, for GDB, the GNU debugger. + Copyright 1990, 1991 Free Software Foundation, Inc. + Contributed by David Wood @ New York University (wood@nyu.edu). + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* This file includes tm-a29k.h, but predefines REGISTER_NAMES and + related macros. The file supports a a29k running our flavor of + Unix on our Ultra3 PE Boards. */ + +/* Byte order is configurable, but this machine runs big-endian. */ +#define TARGET_BYTE_ORDER BIG_ENDIAN + +/* Initializer for an array of names of registers. + There should be NUM_REGS strings in this initializer. + */ +#define NUM_REGS (EXO_REGNUM + 1) + +#define REGISTER_NAMES { \ + "gr1", \ + "gr64", "gr65", "gr66", "gr67", "gr68", "gr69", "gr70", "gr71", "gr72", \ + "gr73", "gr74", "gr75", "gr76", "gr77", "gr78", "gr79", "gr80", "gr81", \ + "gr82", "gr83", "gr84", "gr85", "gr86", "gr87", "gr88", "gr89", "gr90", \ + "gr91", "gr92", "gr93", "gr94", "gr95", \ + "gr96", "gr97", "gr98", "gr99", "gr100", "gr101", "gr102", "gr103", "gr104", \ + "gr105", "gr106", "gr107", "gr108", "gr109", "gr110", "gr111", "gr112", \ + "gr113", "gr114", "gr115", "gr116", "gr117", "gr118", "gr119", "gr120", \ + "gr121", "gr122", "gr123", "gr124", "gr125", "gr126", "gr127", \ + "lr0", "lr1", "lr2", "lr3", "lr4", "lr5", "lr6", "lr7", "lr8", "lr9", \ + "lr10", "lr11", "lr12", "lr13", "lr14", "lr15", "lr16", "lr17", "lr18", \ + "lr19", "lr20", "lr21", "lr22", "lr23", "lr24", "lr25", "lr26", "lr27", \ + "lr28", "lr29", "lr30", "lr31", "lr32", "lr33", "lr34", "lr35", "lr36", \ + "lr37", "lr38", "lr39", "lr40", "lr41", "lr42", "lr43", "lr44", "lr45", \ + "lr46", "lr47", "lr48", "lr49", "lr50", "lr51", "lr52", "lr53", "lr54", \ + "lr55", "lr56", "lr57", "lr58", "lr59", "lr60", "lr61", "lr62", "lr63", \ + "lr64", "lr65", "lr66", "lr67", "lr68", "lr69", "lr70", "lr71", "lr72", \ + "lr73", "lr74", "lr75", "lr76", "lr77", "lr78", "lr79", "lr80", "lr81", \ + "lr82", "lr83", "lr84", "lr85", "lr86", "lr87", "lr88", "lr89", "lr90", \ + "lr91", "lr92", "lr93", "lr94", "lr95", "lr96", "lr97", "lr98", "lr99", \ + "lr100", "lr101", "lr102", "lr103", "lr104", "lr105", "lr106", "lr107", \ + "lr108", "lr109", "lr110", "lr111", "lr112", "lr113", "lr114", "lr115", \ + "lr116", "lr117", "lr118", "lr119", "lr120", "lr121", "lr122", "lr123", \ + "lr124", "lr125", "lr126", "lr127", \ + "vab", "ops", "cps", "cfg", "cha", "chd", "chc", "rbp", "tmc", "tmr", \ + "pc0", "pc1", "pc2", "mmu", "lru", \ + "ipc", "ipa", "ipb", "q", "alu", "bp", "fc", "cr", \ + "fpe", "int", "fps", "exo" } + + +#ifdef KERNEL_DEBUGGING +# define PADDR_U_REGNUM 22 /* gr86 */ +# define RETURN_REGNUM GR64_REGNUM +#else +# define RETURN_REGNUM GR96_REGNUM +#endif /* KERNEL_DEBUGGING */ + + +/* Should rename all GR96_REGNUM to RETURN_REGNUM */ +#define GR1_REGNUM (0) +#define GR64_REGNUM 1 +#define GR96_REGNUM (GR64_REGNUM + 32) +/* This needs to be the memory stack pointer, not the register stack pointer, + to make call_function work right. */ +#define SP_REGNUM MSP_REGNUM + +#define FP_REGNUM (LR0_REGNUM + 1) /* lr1 */ +/* Large Return Pointer */ +#define LRP_REGNUM (123 - 96 + RETURN_REGNUM) +/* Static link pointer */ +#define SLP_REGNUM (124 - 96 + RETURN_REGNUM) +/* Memory Stack Pointer. */ +#define MSP_REGNUM (125 - 96 + RETURN_REGNUM) +/* Register allocate bound. */ +#define RAB_REGNUM (126 - 96 + RETURN_REGNUM) +/* Register Free Bound. */ +#define RFB_REGNUM (127 - 96 + RETURN_REGNUM) +/* Register Stack Pointer. */ +#define RSP_REGNUM GR1_REGNUM +#define LR0_REGNUM ( 32 + GR96_REGNUM) + +/* Protected Special registers */ +#define VAB_REGNUM (LR0_REGNUM + 128) +#define OPS_REGNUM (VAB_REGNUM + 1) +#define CPS_REGNUM (VAB_REGNUM + 2) +#define CFG_REGNUM (VAB_REGNUM + 3) +#define CHA_REGNUM (VAB_REGNUM + 4) +#define CHD_REGNUM (VAB_REGNUM + 5) +#define CHC_REGNUM (VAB_REGNUM + 6) +#define RBP_REGNUM (VAB_REGNUM + 7) +#define TMC_REGNUM (VAB_REGNUM + 8) +#define TMR_REGNUM (VAB_REGNUM + 9) +#define NPC_REGNUM (VAB_REGNUM + 10) /* pc0 */ +#define PC_REGNUM (VAB_REGNUM + 11) /* pc1 */ +#define PC2_REGNUM (VAB_REGNUM + 12) /* pc2 */ +#define MMU_REGNUM (VAB_REGNUM + 13) +#define LRU_REGNUM (VAB_REGNUM + 14) + /* Register sequence gap */ +/* Unprotected Special registers */ +#define IPC_REGNUM (LRU_REGNUM + 1) +#define IPA_REGNUM (IPC_REGNUM + 1) +#define IPB_REGNUM (IPC_REGNUM + 2) +#define Q_REGNUM (IPC_REGNUM + 3) +#define ALU_REGNUM (IPC_REGNUM + 4) +#define PS_REGNUM ALU_REGNUM +#define BP_REGNUM (IPC_REGNUM + 5) +#define FC_REGNUM (IPC_REGNUM + 6) +#define CR_REGNUM (IPC_REGNUM + 7) + /* Register sequence gap */ +#define FPE_REGNUM (CR_REGNUM + 1) +#define INT_REGNUM (FPE_REGNUM + 1) +#define FPS_REGNUM (FPE_REGNUM + 2) + /* Register sequence gap */ +#define EXO_REGNUM (FPS_REGNUM + 1) + +/* Special register #x. */ +#define SR_REGNUM(x) \ + ((x) < 15 ? VAB_REGNUM + (x) \ + : (x) >= 128 && (x) < 136 ? IPC_REGNUM + (x-128) \ + : (x) >= 160 && (x) < 163 ? FPE_REGNUM + (x-160) \ + : (x) == 164 ? EXO_REGNUM \ + : (error ("Internal error in SR_REGNUM"), 0)) + +#ifndef KERNEL_DEBUGGING +/* + * This macro defines the register numbers (from REGISTER_NAMES) that + * are effectively unavailable to the user through ptrace(). It allows + * us to include the whole register set in REGISTER_NAMES (inorder to + * better support remote debugging). If it is used in + * fetch/store_inferior_registers() gdb will not complain about I/O errors + * on fetching these registers. If all registers in REGISTER_NAMES + * are available, then return false (0). + */ +#define CANNOT_STORE_REGISTER(regno) \ + (((regno)>=GR64_REGNUM && (regno)<GR64_REGNUM+32) || \ + ((regno)==VAB_REGNUM) || \ + ((regno)==OPS_REGNUM) || \ + ((regno)>=CFG_REGNUM && (regno)<=TMR_REGNUM) || \ + ((regno)==MMU_REGNUM) || \ + ((regno)==LRU_REGNUM) || \ + ((regno)>=ALU_REGNUM) || \ + ((regno)==CR_REGNUM) || \ + ((regno)==EXO_REGNUM)) +#define CANNOT_FETCH_REGISTER(regno) CANNOT_STORE_REGISTER(regno) +#endif /* KERNEL_DEBUGGING */ + +/* + * Converts an sdb register number to an internal gdb register number. + * Currently under gcc, gr96->0...gr128->31...lr0->32...lr127->159, or... + * gr64->0...gr95->31, lr0->32...lr127->159. + */ +#define SDB_REG_TO_REGNUM(value) (((value)<32) ? ((value)+RETURN_REGNUM) : \ + ((value)-32+LR0_REGNUM)) + +#ifdef KERNEL_DEBUGGING + /* ublock virtual address as defined in our sys/param.h */ + /* FIXME: Should get this from sys/param.h */ +# define UVADDR ((32*0x100000)-8192) +#endif + +/* + * Are we in sigtramp(), needed in infrun.c. Specific to ultra3, because + * we take off the leading '_'. + */ +#if !defined(KERNEL_DEBUGGING) +#ifdef SYM1 +# define IN_SIGTRAMP(pc, name) (name && STREQ ("sigtramp", name)) +#else + Need to define IN_SIGTRAMP() for sym2. +#endif +#endif /* !KERNEL_DEBUGGING */ + +#include "a29k/tm-a29k.h" + +/**** The following are definitions that override those in tm-a29k.h ****/ + +/* This sequence of words is the instructions + mtsrim cr, 15 + loadm 0, 0, lr2, msp ; load first 16 words of arguments into registers + add msp, msp, 16 * 4 ; point to the remaining arguments + CONST_INSN: + const gr96,inf + consth gr96,inf + calli lr0, gr96 + aseq 0x40,gr1,gr1 ; nop + asneq 0x50,gr1,gr1 ; breakpoint + When KERNEL_DEBUGGIN is defined, msp -> gr93, gr96 -> gr64, + 7d -> 5d, 60 -> 40 + */ + +/* Position of the "const" instruction within CALL_DUMMY in bytes. */ +#undef CALL_DUMMY +#if TARGET_BYTE_ORDER == HOST_BYTE_ORDER +#ifdef KERNEL_DEBUGGING /* gr96 -> gr64 */ +# define CALL_DUMMY {0x0400870f, 0x3600825d, 0x155d5d40, 0x03ff40ff, \ + 0x02ff40ff, 0xc8008040, 0x70400101, 0x72500101} +#else +# define CALL_DUMMY {0x0400870f, 0x3600827d, 0x157d7d40, 0x03ff60ff, \ + 0x02ff60ff, 0xc8008060, 0x70400101, 0x72500101} +#endif /* KERNEL_DEBUGGING */ +#else /* Byte order differs. */ + you lose +#endif /* Byte order differs. */ + +#if !defined(KERNEL_DEBUGGING) +# ifdef SYM1 +# undef DECR_PC_AFTER_BREAK +# define DECR_PC_AFTER_BREAK 0 /* Sym1 kernel does the decrement */ +# else + ->"ULTRA3 running other than sym1 OS"!; +# endif +#endif /* !KERNEL_DEBUGGING */ + diff --git a/contrib/gdb/gdb/config/a29k/tm-vx29k.h b/contrib/gdb/gdb/config/a29k/tm-vx29k.h new file mode 100644 index 0000000000000..d85d9b2f0ce21 --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/tm-vx29k.h @@ -0,0 +1,233 @@ +/* Target machine description for VxWorks on the 29k, for GDB, the GNU debugger. + Copyright 1994 Free Software Foundation, Inc. + Contributed by Cygnus Support. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "a29k/tm-a29k.h" + +#define GDBINIT_FILENAME ".vxgdbinit" + +#define DEFAULT_PROMPT "(vxgdb) " + +/* Number of registers in a ptrace_getregs call. */ + +#define VX_NUM_REGS (NUM_REGS) + +/* Number of registers in a ptrace_getfpregs call. */ + +/* #define VX_SIZE_FPREGS */ + +/* This is almost certainly the wrong place for this: */ +#define LR2_REGNUM 34 + + +/* Vxworks has its own CALL_DUMMY since it manages breakpoints in the kernel */ + +#undef CALL_DUMMY + +/* Replace the breakpoint instruction in the CALL_DUMMY with a nop. + For Vxworks, the breakpoint is set and deleted by calls to + CALL_DUMMY_BREAK_SET and CALL_DUMMY_BREAK_DELETE. */ + +#if TARGET_BYTE_ORDER == HOST_BYTE_ORDER +#define CALL_DUMMY {0x0400870f,\ + 0x36008200|(MSP_HW_REGNUM), \ + 0x15000040|(MSP_HW_REGNUM<<8)|(MSP_HW_REGNUM<<16), \ + 0x03ff80ff, 0x02ff80ff, 0xc8008080, 0x70400101, 0x70400101} +#else /* Byte order differs. */ +#define CALL_DUMMY {0x0f870004,\ + 0x00820036|(MSP_HW_REGNUM << 24), \ + 0x40000015|(MSP_HW_REGNUM<<8)|(MSP_HW_REGNUM<<16), \ + 0xff80ff03, 0xff80ff02, 0x808000c8, 0x01014070, 0x01014070} +#endif /* Byte order differs. */ + + +/* For the basic CALL_DUMMY definitions, see "tm-29k.h." We use the + same CALL_DUMMY code, but define FIX_CALL_DUMMY (and related macros) + locally to handle remote debugging of VxWorks targets. The difference + is in the setting and clearing of the breakpoint at the end of the + CALL_DUMMY code fragment; under VxWorks, we can't simply insert a + breakpoint instruction into the code, since that would interfere with + the breakpoint management mechanism on the target. + Note that CALL_DUMMY is a piece of code that is used to call any C function + thru VxGDB */ + +/* The offset of the instruction within the CALL_DUMMY code where we + want the inferior to stop after the function call has completed. + call_function_by_hand () sets a breakpoint here (via CALL_DUMMY_BREAK_SET), + which POP_FRAME later deletes (via CALL_DUMMY_BREAK_DELETE). */ + +#define CALL_DUMMY_STOP_OFFSET (7 * 4) + +/* The offset of the first instruction of the CALL_DUMMY code fragment + relative to the frame pointer for a dummy frame. This is equal to + the size of the CALL_DUMMY plus the arg_slop area size (see the diagram + in "tm-29k.h"). */ +/* PAD : the arg_slop area size doesn't appear to me to be useful since, the + call dummy code no longer modify the msp. See below. This must be checked. */ + +#define CALL_DUMMY_OFFSET_IN_FRAME (CALL_DUMMY_LENGTH + 16 * 4) + +/* Insert the specified number of args and function address + into a CALL_DUMMY sequence stored at DUMMYNAME, replace the third + instruction (add msp, msp, 16*4) with a nop, and leave the final nop. + We can't keep using a CALL_DUMMY that modify the msp since, for VxWorks, + CALL_DUMMY is stored in the Memory Stack. Adding 16 words to the msp + would then make possible for the inferior to overwrite the CALL_DUMMY code, + thus creating a lot of trouble when exiting the inferior to come back in + a CALL_DUMMY code that no longer exists... Furthermore, ESF are also stored + from the msp in the memory stack. If msp is set higher than the dummy code, + an ESF may clobber this code. */ + +#if TARGET_BYTE_ORDER == BIG_ENDIAN +#define NOP_INSTR 0x70400101 +#else /* Target is little endian */ +#define NOP_INSTR 0x01014070 +#endif + +#undef FIX_CALL_DUMMY +#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \ + { \ + *(int *)((char *)dummyname + 8) = NOP_INSTR; \ + STUFF_I16((char *)dummyname + CONST_INSN, fun); \ + STUFF_I16((char *)dummyname + CONST_INSN + 4, fun >> 16); \ + } + +/* For VxWorks, CALL_DUMMY must be stored in the stack of the task that is + being debugged and executed "in the context of" this task */ + +#undef CALL_DUMMY_LOCATION +#define CALL_DUMMY_LOCATION ON_STACK + +/* Set or delete a breakpoint at the location within a CALL_DUMMY code + fragment where we want the target program to stop after the function + call is complete. CALL_DUMMY_ADDR is the address of the first + instruction in the CALL_DUMMY. DUMMY_FRAME_ADDR is the value of the + frame pointer in the dummy frame. + + NOTE: in the both of the following definitions, we take advantage of + knowledge of the implementation of the target breakpoint operation, + in that we pass a null pointer as the second argument. It seems + reasonable to assume that any target requiring the use of + CALL_DUMMY_BREAK_{SET,DELETE} will not store the breakpoint + shadow contents in GDB; in any case, this assumption is vaild + for all VxWorks-related targets. */ + +#define CALL_DUMMY_BREAK_SET(call_dummy_addr) \ + target_insert_breakpoint ((call_dummy_addr) + CALL_DUMMY_STOP_OFFSET, \ + (char *) 0) + +#define CALL_DUMMY_BREAK_DELETE(dummy_frame_addr) \ + target_remove_breakpoint ((dummy_frame_addr) - (CALL_DUMMY_OFFSET_IN_FRAME \ + - CALL_DUMMY_STOP_OFFSET), \ + (char *) 0) + +/* Return nonzero if the pc is executing within a CALL_DUMMY frame. */ + +#define PC_IN_CALL_DUMMY(pc, sp, frame_address) \ + ((pc) >= (sp) \ + && (pc) <= (sp) + CALL_DUMMY_OFFSET_IN_FRAME + CALL_DUMMY_LENGTH) + +/* Defining this prevents us from trying to pass a structure-valued argument + to a function called via the CALL_DUMMY mechanism. This is not handled + properly in call_function_by_hand (), and the fix might require re-writing + the CALL_DUMMY handling for all targets (at least, a clean solution + would probably require this). Arguably, this should go in "tm-29k.h" + rather than here. */ + +#define STRUCT_VAL_ARGS_UNSUPPORTED + +#define BKPT_OFFSET (7 * 4) +#define BKPT_INSTR 0x72500101 + +#undef FIX_CALL_DUMMY +#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \ + {\ + STUFF_I16((char *)dummyname + CONST_INSN, fun);\ + STUFF_I16((char *)dummyname + CONST_INSN + 4, fun >> 16);\ + *(int *)((char *)dummyname + BKPT_OFFSET) = BKPT_INSTR;\ + } + + +/* Offsets into jmp_buf. They are derived from VxWorks' REG_SET struct + (see VxWorks' setjmp.h). Note that Sun2, Sun3 and SunOS4 and VxWorks have + different REG_SET structs, hence different layouts for the jmp_buf struct. + Only JB_PC is needed for getting the saved PC value. */ + +#define JB_ELEMENT_SIZE 4 /* size of each element in jmp_buf */ +#define JB_PC 3 /* offset of pc (pc1) in jmp_buf */ + +/* Figure out where the longjmp will land. We expect that we have just entered + longjmp and haven't yet setup the stack frame, so the args are still in the + output regs. lr2 (LR2_REGNUM) points at the jmp_buf structure from which we + extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. + This routine returns true on success */ + +#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) +extern int get_longjmp_target PARAMS ((CORE_ADDR *)); + +/* VxWorks adjusts the PC after a breakpoint has been hit. */ + +#undef DECR_PC_AFTER_BREAK +#define DECR_PC_AFTER_BREAK 0 + +/* Do whatever promotions are appropriate on a value being returned + from a function. VAL is the user-supplied value, and FUNC_TYPE + is the return type of the function if known, else 0. + + For the Am29k, as far as I understand, if the function return type is known, + cast the value to that type; otherwise, ensure that integer return values + fill all of gr96. + + This definition really belongs in "tm-29k.h", since it applies + to most Am29K-based systems; but once moved into that file, it might + need to be redefined for all Am29K-based targets that also redefine + STORE_RETURN_VALUE. For now, to be safe, we define it here. */ + +#define PROMOTE_RETURN_VALUE(val, func_type) \ + do { \ + if (func_type) \ + val = value_cast (func_type, val); \ + if ((TYPE_CODE (VALUE_TYPE (val)) == TYPE_CODE_INT \ + || TYPE_CODE (VALUE_TYPE (val)) == TYPE_CODE_ENUM) \ + && TYPE_LENGTH (VALUE_TYPE (val)) < REGISTER_RAW_SIZE (0)) \ + val = value_cast (builtin_type_int, val); \ + } while (0) + +#define SPECIAL_FRAME_CHAIN_FP get_fp_contents +#undef FRAME_CHAIN_VALID +#define FRAME_CHAIN_VALID(chain, thisframe) \ + (SPECIAL_FRAME_CHAIN_FP (chain, thisframe)) + +extern int SPECIAL_FRAME_CHAIN_FP (); + +extern CORE_ADDR frame_saved_call_site (); + +#undef PREPARE_TO_INIT_FRAME_INFO +#define PREPARE_TO_INIT_FRAME_INFO(fci) do { \ + long current_msp = read_register (MSP_REGNUM); \ + if (PC_IN_CALL_DUMMY (fci->pc, current_msp, 0)) \ + { \ + fci->rsize = DUMMY_FRAME_RSIZE; \ + fci->msize = 0; \ + fci->saved_msp = \ + read_register_stack_integer (fci->frame + DUMMY_FRAME_RSIZE - 4, 4); \ + fci->flags |= (TRANSPARENT|MFP_USED); \ + return; \ + } \ + } while (0) diff --git a/contrib/gdb/gdb/config/a29k/ultra3.mh b/contrib/gdb/gdb/config/a29k/ultra3.mh new file mode 100644 index 0000000000000..2f211c5226b80 --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/ultra3.mh @@ -0,0 +1,13 @@ +# Host: NYU Ultracomputer (AMD 29000 running Unix) + +CC=u3cc + +XM_FILE= xm-ultra3.h +XDEPFILES= ultra3-xdep.o + +MH_CFLAGS = -DSYM1 +XM_CLIBS = -lsysv -ljobs -ltermlib + +NAT_FILE= nm-ultra3.h +NATDEPFILES= infptrace.o inftarg.o fork-child.o ultra3-nat.o + diff --git a/contrib/gdb/gdb/config/a29k/ultra3.mt b/contrib/gdb/gdb/config/a29k/ultra3.mt new file mode 100644 index 0000000000000..1f5fd2f12e4a1 --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/ultra3.mt @@ -0,0 +1,6 @@ +# Target: AMD 29000 running Unix on New York University processor board +TDEPFILES= a29k-tdep.o +TM_FILE= tm-ultra3.h + +# SYM1 is some OS they have. +MT_CFLAGS = -DSYM1 diff --git a/contrib/gdb/gdb/config/a29k/vx29k.mt b/contrib/gdb/gdb/config/a29k/vx29k.mt new file mode 100644 index 0000000000000..4d6f5cc1e4bbb --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/vx29k.mt @@ -0,0 +1,4 @@ +# Target: AMD 29k running VxWorks +TDEPFILES= a29k-tdep.o remote-vx.o remote-vx29k.o xdr_ld.o xdr_ptrace.o xdr_rdb.o +TM_FILE= tm-vx29k.h +MT_CFLAGS = -DNO_HIF_SUPPORT diff --git a/contrib/gdb/gdb/config/a29k/xm-ultra3.h b/contrib/gdb/gdb/config/a29k/xm-ultra3.h new file mode 100644 index 0000000000000..ec0b1081cf2d3 --- /dev/null +++ b/contrib/gdb/gdb/config/a29k/xm-ultra3.h @@ -0,0 +1,52 @@ +/* Host definitions for GDB running on an a29k NYU Ultracomputer + Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc. + Contributed by David Wood (wood@lab.ultra.nyu.edu). + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Here at NYU we have what we call an ULTRA3 PE board. So + ifdefs for ULTRA3 are my doing. At this point in time, + I don't know of any other Unixi running on the a29k. */ + +#define HOST_BYTE_ORDER BIG_ENDIAN + +#define HAVE_WAIT_STRUCT + +#ifndef L_SET +# define L_SET 0 /* set the seek pointer */ +# define L_INCR 1 /* increment the seek pointer */ +# define L_XTND 2 /* extend the file size */ +#endif + +#ifndef O_RDONLY +# define O_RDONLY 0 +# define O_WRONLY 1 +# define O_RDWR 2 +#endif + +#ifndef F_OK +# define R_OK 4 +# define W_OK 2 +# define X_OK 1 +# define F_OK 0 +#endif + +/* System doesn't provide siginterrupt(). */ +#define NO_SIGINTERRUPT + +/* System uses a `short' to hold a process group ID. */ +#define SHORT_PGRP diff --git a/contrib/gdb/gdb/config/mips/bigmips.mt b/contrib/gdb/gdb/config/mips/bigmips.mt new file mode 100644 index 0000000000000..38f03f2f8e410 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/bigmips.mt @@ -0,0 +1,3 @@ +# Target: Big-endian MIPS machine such as Sony News +TDEPFILES= mips-tdep.o +TM_FILE= tm-bigmips.h diff --git a/contrib/gdb/gdb/config/mips/bigmips64.mt b/contrib/gdb/gdb/config/mips/bigmips64.mt new file mode 100644 index 0000000000000..fcb7b21dae576 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/bigmips64.mt @@ -0,0 +1,3 @@ +# Target: Big-endian MIPS machine such as Sony News +TDEPFILES= mips-tdep.o +TM_FILE= tm-bigmips64.h diff --git a/contrib/gdb/gdb/config/mips/decstation.mh b/contrib/gdb/gdb/config/mips/decstation.mh new file mode 100644 index 0000000000000..dc55b5b87db86 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/decstation.mh @@ -0,0 +1,11 @@ +# Host: Little-endian MIPS machine such as DECstation. +XDEPFILES= +XM_FILE= xm-mips.h +NAT_FILE= nm-mips.h +NATDEPFILES= infptrace.o inftarg.o corelow.o mips-nat.o fork-child.o + +# We can't use MMALLOC because the DECstation RPC library can't cope +# with a malloc(0) that returns 0. Besides, it's useless on a machine +# without a real mmap(). +MMALLOC = +MMALLOC_DISABLE = -DNO_MMALLOC diff --git a/contrib/gdb/gdb/config/mips/decstation.mt b/contrib/gdb/gdb/config/mips/decstation.mt new file mode 100644 index 0000000000000..19847224d2f29 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/decstation.mt @@ -0,0 +1,3 @@ +# Target: Little-endian MIPS machine such as DECstation. +TDEPFILES= mips-tdep.o +TM_FILE= tm-mips.h diff --git a/contrib/gdb/gdb/config/mips/embed.mt b/contrib/gdb/gdb/config/mips/embed.mt new file mode 100644 index 0000000000000..7f57a4864c91f --- /dev/null +++ b/contrib/gdb/gdb/config/mips/embed.mt @@ -0,0 +1,3 @@ +# Target: Big-endian mips board, typically an IDT. +TDEPFILES= mips-tdep.o remote-mips.o remote-array.o +TM_FILE= tm-embed.h diff --git a/contrib/gdb/gdb/config/mips/embed64.mt b/contrib/gdb/gdb/config/mips/embed64.mt new file mode 100644 index 0000000000000..273d33bdaae08 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/embed64.mt @@ -0,0 +1,3 @@ +# Target: Big-endian mips board, typically an IDT. +TDEPFILES= mips-tdep.o remote-mips.o remote-array.o +TM_FILE= tm-embed64.h diff --git a/contrib/gdb/gdb/config/mips/embedl.mt b/contrib/gdb/gdb/config/mips/embedl.mt new file mode 100644 index 0000000000000..867b1fe5def96 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/embedl.mt @@ -0,0 +1,3 @@ +# Target: Big-endian mips board, typically an IDT. +TDEPFILES= mips-tdep.o remote-mips.o remote-array.o +TM_FILE= tm-embedl.h diff --git a/contrib/gdb/gdb/config/mips/embedl64.mt b/contrib/gdb/gdb/config/mips/embedl64.mt new file mode 100644 index 0000000000000..89e3f9378a239 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/embedl64.mt @@ -0,0 +1,3 @@ +# Target: Big-endian mips board, typically an IDT. +TDEPFILES= mips-tdep.o remote-mips.o remote-array.o +TM_FILE= tm-embedl64.h diff --git a/contrib/gdb/gdb/config/mips/irix3.mh b/contrib/gdb/gdb/config/mips/irix3.mh new file mode 100644 index 0000000000000..311d697cb58cd --- /dev/null +++ b/contrib/gdb/gdb/config/mips/irix3.mh @@ -0,0 +1,6 @@ +# Host: SGI Iris running irix 3.x +XDEPFILES= +XM_FILE= xm-irix3.h +NAT_FILE= nm-irix3.h +NATDEPFILES= fork-child.o corelow.o infptrace.o inftarg.o mips-nat.o +XM_CLIBS=-lbsd diff --git a/contrib/gdb/gdb/config/mips/irix3.mt b/contrib/gdb/gdb/config/mips/irix3.mt new file mode 100644 index 0000000000000..b3fa4dda384a0 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/irix3.mt @@ -0,0 +1,3 @@ +# Target: MIPS SGI running Irix 3 +TDEPFILES= mips-tdep.o +TM_FILE= tm-irix3.h diff --git a/contrib/gdb/gdb/config/mips/irix4.mh b/contrib/gdb/gdb/config/mips/irix4.mh new file mode 100644 index 0000000000000..68511e6b9a43b --- /dev/null +++ b/contrib/gdb/gdb/config/mips/irix4.mh @@ -0,0 +1,8 @@ +# Host: SGI Iris running irix 4.x +XDEPFILES= ser-tcp.o +XM_FILE= xm-irix4.h +NAT_FILE= nm-irix4.h +NATDEPFILES= fork-child.o procfs.o irix4-nat.o corelow.o +XM_CLIBS=-lbsd -lsun +# use cc in K&R mode, bump up some static compiler tables. +CC = cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh1100 diff --git a/contrib/gdb/gdb/config/mips/irix5.mh b/contrib/gdb/gdb/config/mips/irix5.mh new file mode 100644 index 0000000000000..0e276864800ac --- /dev/null +++ b/contrib/gdb/gdb/config/mips/irix5.mh @@ -0,0 +1,6 @@ +# Host: SGI Iris running irix 5.x +XDEPFILES= ser-tcp.o +XM_FILE= xm-irix5.h +NAT_FILE= nm-irix5.h +NATDEPFILES= fork-child.o procfs.o irix5-nat.o corelow.o +XM_CLIBS=-lbsd -lsun diff --git a/contrib/gdb/gdb/config/mips/irix5.mt b/contrib/gdb/gdb/config/mips/irix5.mt new file mode 100644 index 0000000000000..5b17bcdf1dd1a --- /dev/null +++ b/contrib/gdb/gdb/config/mips/irix5.mt @@ -0,0 +1,3 @@ +# Target: MIPS SGI running Irix 5 +TDEPFILES= mips-tdep.o +TM_FILE= tm-irix5.h diff --git a/contrib/gdb/gdb/config/mips/littlemips.mh b/contrib/gdb/gdb/config/mips/littlemips.mh new file mode 100644 index 0000000000000..103919d230e74 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/littlemips.mh @@ -0,0 +1,3 @@ +# Host: Little-endian MIPS machine such as DECstation. +XDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o core-aout.o +XM_FILE= xm-mips.h diff --git a/contrib/gdb/gdb/config/mips/littlemips.mt b/contrib/gdb/gdb/config/mips/littlemips.mt new file mode 100644 index 0000000000000..19847224d2f29 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/littlemips.mt @@ -0,0 +1,3 @@ +# Target: Little-endian MIPS machine such as DECstation. +TDEPFILES= mips-tdep.o +TM_FILE= tm-mips.h diff --git a/contrib/gdb/gdb/config/mips/mipsel64.mt b/contrib/gdb/gdb/config/mips/mipsel64.mt new file mode 100644 index 0000000000000..0187c24aaad35 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/mipsel64.mt @@ -0,0 +1,3 @@ +# Target: Little-endian MIPS machine such as DECstation. +TDEPFILES= mips-tdep.o +TM_FILE= tm-mips64.h diff --git a/contrib/gdb/gdb/config/mips/mipsm3.mh b/contrib/gdb/gdb/config/mips/mipsm3.mh new file mode 100644 index 0000000000000..77279bd8237ac --- /dev/null +++ b/contrib/gdb/gdb/config/mips/mipsm3.mh @@ -0,0 +1,11 @@ +# Host: Little endian MIPS machine such as pmax +# running Mach 3.0 operating system + +XDEPFILES= core-aout.o +NATDEPFILES= mipsm3-nat.o m3-nat.o +XM_FILE= xm-mipsm3.h +NAT_FILE= ../nm-m3.h + +# Don't use the mmalloc library in Mach 3. +MMALLOC = +MMALLOC_DISABLE = -DNO_MMALLOC diff --git a/contrib/gdb/gdb/config/mips/mipsm3.mt b/contrib/gdb/gdb/config/mips/mipsm3.mt new file mode 100644 index 0000000000000..d122be1004e27 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/mipsm3.mt @@ -0,0 +1,4 @@ +# Target: Little-endian MIPS machine such as pmax +# running Mach 3.0 operating system +TDEPFILES= mips-tdep.o mipsread.o +TM_FILE= tm-mipsm3.h diff --git a/contrib/gdb/gdb/config/mips/mipsv4.mh b/contrib/gdb/gdb/config/mips/mipsv4.mh new file mode 100644 index 0000000000000..87cb7e4239326 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/mipsv4.mh @@ -0,0 +1,4 @@ +# Host: Mips running SVR4 +XM_FILE= xm-mipsv4.h +NAT_FILE= ../nm-sysv4.h +NATDEPFILES= fork-child.o procfs.o mipsv4-nat.o corelow.o core-regset.o solib.o diff --git a/contrib/gdb/gdb/config/mips/mipsv4.mt b/contrib/gdb/gdb/config/mips/mipsv4.mt new file mode 100644 index 0000000000000..6d3b47d024a69 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/mipsv4.mt @@ -0,0 +1,3 @@ +# Target: MIPS running SVR4 +TDEPFILES= mips-tdep.o +TM_FILE= tm-mipsv4.h diff --git a/contrib/gdb/gdb/config/mips/news-mips.mh b/contrib/gdb/gdb/config/mips/news-mips.mh new file mode 100644 index 0000000000000..620fbaad7c0c6 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/news-mips.mh @@ -0,0 +1,4 @@ +# Host: Big-endian MIPS machine such as Sony News +NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o mips-nat.o +XM_FILE= xm-news-mips.h +NAT_FILE= nm-news-mips.h diff --git a/contrib/gdb/gdb/config/mips/nm-irix3.h b/contrib/gdb/gdb/config/mips/nm-irix3.h new file mode 100644 index 0000000000000..4df2da3129b58 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/nm-irix3.h @@ -0,0 +1,36 @@ +/* Definitions for SGI irix3 native support. + Copyright 1991, 1992 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Don't need special routines for Irix v3 -- we can use infptrace.c */ +#undef FETCH_INFERIOR_REGISTERS + +#define U_REGS_OFFSET 0 + +/* Figure out where the longjmp will land. We expect that we have just entered + longjmp and haven't yet setup the stack frame, so the args are still in the + argument regs. a0 (CALL_ARG0) points at the jmp_buf structure from which we + extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. + This routine returns true on success */ + +#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) + +/* Is this really true or is this just a leftover from a DECstation + config file? */ + +#define ONE_PROCESS_WRITETEXT diff --git a/contrib/gdb/gdb/config/mips/nm-irix4.h b/contrib/gdb/gdb/config/mips/nm-irix4.h new file mode 100644 index 0000000000000..78b88dfe76233 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/nm-irix4.h @@ -0,0 +1,56 @@ +/* Definitions for native support of irix4. + +Copyright (C) 1991, 1992 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* + * Let's use /debug instead of all this dangerous mucking about + * with ptrace(), which seems *extremely* fragile, anyway. + */ +#define USE_PROC_FS +#define PROC_NAME_FMT "/debug/%d" + +/* Don't need special routines for the SGI -- we can use infptrace.c */ +#undef FETCH_INFERIOR_REGISTERS + +#define U_REGS_OFFSET 0 + +/* Is this really true or is this just a leftover from a DECstation + config file? */ + +#define ONE_PROCESS_WRITETEXT + +#define TARGET_HAS_HARDWARE_WATCHPOINTS + +/* Temporary new watchpoint stuff */ +#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \ + ((type) == bp_hardware_watchpoint) + +/* When a hardware watchpoint fires off the PC will be left at the + instruction which caused the watchpoint. It will be necessary for + GDB to step over the watchpoint. */ + +#define STOPPED_BY_WATCHPOINT(W) \ + procfs_stopped_by_watchpoint(inferior_pid) + +#define HAVE_NONSTEPPABLE_WATCHPOINT + +/* Use these macros for watchpoint insertion/deletion. */ +/* type can be 0: write watch, 1: read watch, 2: access watch (read/write) */ +#define target_insert_watchpoint(addr, len, type) procfs_set_watchpoint (inferior_pid, addr, len, 2) +#define target_remove_watchpoint(addr, len, type) procfs_set_watchpoint (inferior_pid, addr, 0, 0) diff --git a/contrib/gdb/gdb/config/mips/nm-irix5.h b/contrib/gdb/gdb/config/mips/nm-irix5.h new file mode 100644 index 0000000000000..e35e8666e0903 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/nm-irix5.h @@ -0,0 +1,41 @@ +/* Definitions for native support of irix5. + +Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "nm-sysv4.h" + +#define TARGET_HAS_HARDWARE_WATCHPOINTS + +/* Temporary new watchpoint stuff */ +#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \ + ((type) == bp_hardware_watchpoint) + +/* When a hardware watchpoint fires off the PC will be left at the + instruction which caused the watchpoint. It will be necessary for + GDB to step over the watchpoint. */ + +#define STOPPED_BY_WATCHPOINT(W) \ + procfs_stopped_by_watchpoint(inferior_pid) + +#define HAVE_NONSTEPPABLE_WATCHPOINT + +/* Use these macros for watchpoint insertion/deletion. */ +/* type can be 0: write watch, 1: read watch, 2: access watch (read/write) */ +#define target_insert_watchpoint(addr, len, type) procfs_set_watchpoint (inferior_pid, addr, len, 2) +#define target_remove_watchpoint(addr, len, type) procfs_set_watchpoint (inferior_pid, addr, 0, 0) diff --git a/contrib/gdb/gdb/config/mips/nm-mips.h b/contrib/gdb/gdb/config/mips/nm-mips.h new file mode 100644 index 0000000000000..0f49e34246687 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/nm-mips.h @@ -0,0 +1,31 @@ +/* Native definitions for GDB on DECstations, Sony News. and MIPS Riscos systems + Copyright (C) 1986, 1987, 1989, 1992 Free Software Foundation, Inc. + Contributed by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin + and by Alessandro Forin(af@cs.cmu.edu) at CMU + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */ +#define FETCH_INFERIOR_REGISTERS + +/* Figure out where the longjmp will land. We expect that we have just entered + longjmp and haven't yet setup the stack frame, so the args are still in the + argument regs. a0 (CALL_ARG0) points at the jmp_buf structure from which we + extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. + This routine returns true on success */ + +#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) diff --git a/contrib/gdb/gdb/config/mips/nm-news-mips.h b/contrib/gdb/gdb/config/mips/nm-news-mips.h new file mode 100644 index 0000000000000..1ab63ba2b121c --- /dev/null +++ b/contrib/gdb/gdb/config/mips/nm-news-mips.h @@ -0,0 +1,42 @@ +/* Definitions to make GDB run on a mips box under 4.3bsd. + Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc. + Contributed by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin + and by Alessandro Forin(af@cs.cmu.edu) at CMU + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef NM_NEWS_MIPS_H +#define NM_NEWS_MIPS_H 1 + +/* Needed for RISC NEWS core files. */ +#include <machine/machparam.h> +#include <sys/types.h> +#define KERNEL_U_ADDR UADDR + +#define REGISTER_U_ADDR(addr, blockend, regno) \ + if (regno < 38) addr = (NBPG*UPAGES) + (regno - 38)*sizeof(int);\ + else addr = 0; /* ..somewhere in the pcb */ + +/* Kernel is a bit tenacious about sharing text segments, disallowing bpts. */ +#define ONE_PROCESS_WRITETEXT + +#include "mips/nm-mips.h" + +/* Apparently not in <sys/types.h> */ +typedef int pid_t; + +#endif /* NM_NEWS_MIPS_H */ diff --git a/contrib/gdb/gdb/config/mips/nm-riscos.h b/contrib/gdb/gdb/config/mips/nm-riscos.h new file mode 100644 index 0000000000000..2d54345582743 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/nm-riscos.h @@ -0,0 +1,59 @@ +/* This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* MIPS running RISC/os 4.52C. */ + +#define PCB_OFFSET(FIELD) ((int)&((struct user*)0)->u_pcb.FIELD) + +/* RISC/os 5.0 defines this in machparam.h. */ +#include <bsd43/machine/machparam.h> +#define NBPG BSD43_NBPG +#define UPAGES BSD43_UPAGES + +/* Where is this used? I don't see any uses in mips-nat.c, and I don't think + the uses in infptrace.c are used if FETCH_INFERIOR_REGISTERS is defined. + Does the compiler react badly to "extern CORE_ADDR kernel_u_addr" (even + if never referenced)? */ +#define KERNEL_U_ADDR BSD43_UADDR + +#define REGISTER_U_ADDR(addr, blockend, regno) \ + if (regno < FP0_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*((regno)+EF_AT-1); \ + else if (regno < PC_REGNUM) \ + addr = PCB_OFFSET(pcb_fpregs[0]) + 4*(regno-FP0_REGNUM); \ + else if (regno == PS_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_SR; \ + else if (regno == BADVADDR_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_BADVADDR; \ + else if (regno == LO_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_MDLO; \ + else if (regno == HI_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_MDHI; \ + else if (regno == CAUSE_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_CAUSE; \ + else if (regno == PC_REGNUM) \ + addr = UPAGES*NBPG-EF_SIZE+4*EF_EPC; \ + else if (regno < FCRCS_REGNUM) \ + addr = PCB_OFFSET(pcb_fpregs[0]) + 4*(regno-FP0_REGNUM); \ + else if (regno == FCRCS_REGNUM) \ + addr = PCB_OFFSET(pcb_fpc_csr); \ + else if (regno == FCRIR_REGNUM) \ + addr = PCB_OFFSET(pcb_fpc_eir); \ + else \ + addr = 0; + +#include "mips/nm-mips.h" + +/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */ +#define FETCH_INFERIOR_REGISTERS diff --git a/contrib/gdb/gdb/config/mips/riscos.mh b/contrib/gdb/gdb/config/mips/riscos.mh new file mode 100644 index 0000000000000..6a3192f382b60 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/riscos.mh @@ -0,0 +1,16 @@ +# Host: MIPS running RISC/os + +XM_FILE= xm-riscos.h + +NAT_FILE= nm-riscos.h +NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o mips-nat.o + +MH_CFLAGS=-Wf,-XNh10000 + +# ptrace(2) apparently has problems in the BSD environment. No workaround is +# known except to select the sysv environment. Could we use /proc instead? +# These "sysv environments" and "bsd environments" often end up being a pain. +# +# This is not part of CFLAGS because perhaps not all C compilers have this +# option. +CC= cc -systype sysv diff --git a/contrib/gdb/gdb/config/mips/tm-bigmips.h b/contrib/gdb/gdb/config/mips/tm-bigmips.h new file mode 100644 index 0000000000000..0669c268967d3 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-bigmips.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1990 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGET_BYTE_ORDER BIG_ENDIAN + +#include "mips/tm-mips.h" diff --git a/contrib/gdb/gdb/config/mips/tm-bigmips64.h b/contrib/gdb/gdb/config/mips/tm-bigmips64.h new file mode 100644 index 0000000000000..3d49d4ddf91c8 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-bigmips64.h @@ -0,0 +1,23 @@ +/* Target machine parameters for MIPS r4000 + Copyright 1994 Free Software Foundation, Inc. + Contributed by Ian Lance Taylor (ian@cygnus.com) + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGET_BYTE_ORDER BIG_ENDIAN + +#include "mips/tm-mips64.h" diff --git a/contrib/gdb/gdb/config/mips/tm-embed.h b/contrib/gdb/gdb/config/mips/tm-embed.h new file mode 100644 index 0000000000000..b5de9e1d2d614 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-embed.h @@ -0,0 +1,25 @@ +/* Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGET_BYTE_ORDER_SELECTABLE + +#include "mips/tm-bigmips.h" + +#undef DEFAULT_MIPS_TYPE +#define DEFAULT_MIPS_TYPE "r3051" + diff --git a/contrib/gdb/gdb/config/mips/tm-embed64.h b/contrib/gdb/gdb/config/mips/tm-embed64.h new file mode 100644 index 0000000000000..63296bb6c3df0 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-embed64.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGET_BYTE_ORDER_SELECTABLE + +#include "mips/tm-bigmips64.h" diff --git a/contrib/gdb/gdb/config/mips/tm-embedl.h b/contrib/gdb/gdb/config/mips/tm-embedl.h new file mode 100644 index 0000000000000..361c9f9282216 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-embedl.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGET_BYTE_ORDER_SELECTABLE + +#include "mips/tm-mips.h" diff --git a/contrib/gdb/gdb/config/mips/tm-embedl64.h b/contrib/gdb/gdb/config/mips/tm-embedl64.h new file mode 100644 index 0000000000000..112ddd4fa3e9b --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-embedl64.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGET_BYTE_ORDER_SELECTABLE + +#include "mips/tm-mips64.h" diff --git a/contrib/gdb/gdb/config/mips/tm-irix3.h b/contrib/gdb/gdb/config/mips/tm-irix3.h new file mode 100644 index 0000000000000..7e8e53eb326c3 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-irix3.h @@ -0,0 +1,81 @@ +/* Target machine description for SGI Iris under Irix, for GDB. + Copyright 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "mips/tm-bigmips.h" + +/* SGI's assembler doesn't grok dollar signs in identifiers. + So we use dots instead. This item must be coordinated with G++. */ +#undef CPLUS_MARKER +#define CPLUS_MARKER '.' + +/* Redefine register numbers for SGI. */ + +#undef NUM_REGS +#undef REGISTER_NAMES +#undef FP0_REGNUM +#undef PC_REGNUM +#undef PS_REGNUM +#undef HI_REGNUM +#undef LO_REGNUM +#undef CAUSE_REGNUM +#undef BADVADDR_REGNUM +#undef FCRCS_REGNUM +#undef FCRIR_REGNUM + +/* Number of machine registers */ + +#define NUM_REGS 71 + +/* Initializer for an array of names of registers. + There should be NUM_REGS strings in this initializer. */ + +#define REGISTER_NAMES \ + { "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", \ + "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", \ + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", \ + "t8", "t9", "k0", "k1", "gp", "sp", "fp", "ra", \ + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",\ + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",\ + "pc", "cause", "bad", "hi", "lo", "fsr", "fir" \ + } + +/* Register numbers of various important registers. + Note that some of these values are "real" register numbers, + and correspond to the general registers of the machine, + and some are "phony" register numbers which are too large + to be actual register numbers as far as the user is concerned + but do serve to get the desired values when passed to read_register. */ + +#define FP0_REGNUM 32 /* Floating point register 0 (single float) */ +#define PC_REGNUM 64 /* Contains program counter */ +#define CAUSE_REGNUM 65 /* describes last exception */ +#define BADVADDR_REGNUM 66 /* bad vaddr for addressing exception */ +#define HI_REGNUM 67 /* Multiple/divide temp */ +#define LO_REGNUM 68 /* ... */ +#define FCRCS_REGNUM 69 /* FP control/status */ +#define FCRIR_REGNUM 70 /* FP implementation/revision */ + +/* Offsets for register values in _sigtramp frame. + sigcontext is immediately above the _sigtramp frame on Irix. */ +#define SIGFRAME_BASE 0x0 +#define SIGFRAME_PC_OFF (SIGFRAME_BASE + 2 * 4) +#define SIGFRAME_REGSAVE_OFF (SIGFRAME_BASE + 3 * 4) +#define SIGFRAME_FPREGSAVE_OFF (SIGFRAME_BASE + 3 * 4 + 32 * 4 + 4) diff --git a/contrib/gdb/gdb/config/mips/tm-irix5.h b/contrib/gdb/gdb/config/mips/tm-irix5.h new file mode 100644 index 0000000000000..638a658655a43 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-irix5.h @@ -0,0 +1,47 @@ +/* Target machine description for SGI Iris under Irix 5, for GDB. + Copyright 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "mips/tm-irix3.h" + +#define FORCE_LONG_LONG + +/* When calling functions on Irix 5 (or any MIPS SVR4 ABI compliant + platform) $25 must hold the function address. Dest_Reg is a macro + used in CALL_DUMMY in tm-mips.h. */ +#undef Dest_Reg +#define Dest_Reg 25 + +/* The signal handler trampoline is called _sigtramp. */ +#undef IN_SIGTRAMP +#define IN_SIGTRAMP(pc, name) ((name) && STREQ ("_sigtramp", name)) + +/* Irix 5 saves a full 64 bits for each register. We skip 2 * 4 to + get to the saved PC (the register mask and status register are both + 32 bits) and then another 4 to get to the lower 32 bits. We skip + the same 4 bytes, plus the 8 bytes for the PC to get to the + registers, and add another 4 to get to the lower 32 bits. We skip + 8 bytes per register. */ +#undef SIGFRAME_PC_OFF +#define SIGFRAME_PC_OFF (SIGFRAME_BASE + 2 * 4 + 4) +#undef SIGFRAME_REGSAVE_OFF +#define SIGFRAME_REGSAVE_OFF (SIGFRAME_BASE + 2 * 4 + 8 + 4) +#undef SIGFRAME_FPREGSAVE_OFF +#define SIGFRAME_FPREGSAVE_OFF (SIGFRAME_BASE + 2 * 4 + 8 + 32 * 8 + 4) +#define SIGFRAME_REG_SIZE 8 + diff --git a/contrib/gdb/gdb/config/mips/tm-mips.h b/contrib/gdb/gdb/config/mips/tm-mips.h new file mode 100644 index 0000000000000..499750f714902 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-mips.h @@ -0,0 +1,512 @@ +/* Definitions to make GDB run on a mips box under 4.3bsd. + Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995 + Free Software Foundation, Inc. + Contributed by Per Bothner (bothner@cs.wisc.edu) at U.Wisconsin + and by Alessandro Forin (af@cs.cmu.edu) at CMU.. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include <bfd.h> +#include "coff/sym.h" /* Needed for PDR below. */ +#include "coff/symconst.h" + +#if !defined (TARGET_BYTE_ORDER) +#define TARGET_BYTE_ORDER LITTLE_ENDIAN +#endif + +#if !defined (GDB_TARGET_IS_MIPS64) +#define GDB_TARGET_IS_MIPS64 0 +#endif + +#if !defined (TARGET_MONITOR_PROMPT) +#define TARGET_MONITOR_PROMPT "<IDT>" +#endif + +/* Floating point is IEEE compliant */ +#define IEEE_FLOAT + +/* Some MIPS boards are provided both with and without a floating + point coprocessor. The MIPS R4650 chip has only single precision + floating point. We provide a user settable variable to tell gdb + what type of floating point to use. */ + +enum mips_fpu_type +{ + MIPS_FPU_DOUBLE, /* Full double precision floating point. */ + MIPS_FPU_SINGLE, /* Single precision floating point (R4650). */ + MIPS_FPU_NONE /* No floating point. */ +}; + +extern enum mips_fpu_type mips_fpu; + +/* The name of the usual type of MIPS processor that is in the target + system. */ + +#define DEFAULT_MIPS_TYPE "generic" + +/* Offset from address of function to start of its code. + Zero on most machines. */ + +#define FUNCTION_START_OFFSET 0 + +/* Advance PC across any function entry prologue instructions + to reach some "real" code. */ + +#define SKIP_PROLOGUE(pc) pc = mips_skip_prologue (pc, 0) +extern CORE_ADDR mips_skip_prologue PARAMS ((CORE_ADDR addr, int lenient)); + +/* Return non-zero if PC points to an instruction which will cause a step + to execute both the instruction at PC and an instruction at PC+4. */ +#define STEP_SKIPS_DELAY(pc) (mips_step_skips_delay (pc)) + +/* Immediately after a function call, return the saved pc. + Can't always go through the frames for this because on some machines + the new frame is not set up until the new function executes + some instructions. */ + +#define SAVED_PC_AFTER_CALL(frame) read_register(RA_REGNUM) + +/* Are we currently handling a signal */ + +extern int in_sigtramp PARAMS ((CORE_ADDR, char *)); +#define IN_SIGTRAMP(pc, name) in_sigtramp(pc, name) + +/* Stack grows downward. */ + +#define INNER_THAN < + +#define BIG_ENDIAN 4321 +#if TARGET_BYTE_ORDER == BIG_ENDIAN +#define BREAKPOINT {0, 0x5, 0, 0xd} +#else +#define BREAKPOINT {0xd, 0, 0x5, 0} +#endif + +/* Amount PC must be decremented by after a breakpoint. + This is often the number of bytes in BREAKPOINT + but not always. */ + +#define DECR_PC_AFTER_BREAK 0 + +/* Nonzero if instruction at PC is a return instruction. "j ra" on mips. */ + +#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 4) == 0x3e00008) + +/* Say how long (ordinary) registers are. This is a piece of bogosity + used in push_word and a few other places; REGISTER_RAW_SIZE is the + real way to know how big a register is. */ + +#define REGISTER_SIZE 4 + +/* The size of a register. This is predefined in tm-mips64.h. We + can't use REGISTER_SIZE because that is used for various other + things. */ + +#ifndef MIPS_REGSIZE +#define MIPS_REGSIZE 4 +#endif + +/* Number of machine registers */ + +#define NUM_REGS 90 + +/* Initializer for an array of names of registers. + There should be NUM_REGS strings in this initializer. */ + +#define REGISTER_NAMES \ + { "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", \ + "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", \ + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", \ + "t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra", \ + "sr", "lo", "hi", "bad", "cause","pc", \ + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",\ + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",\ + "fsr", "fir", "fp", "", \ + "", "", "", "", "", "", "", "", \ + "", "", "", "", "", "", "", "", \ + } + +/* Register numbers of various important registers. + Note that some of these values are "real" register numbers, + and correspond to the general registers of the machine, + and some are "phony" register numbers which are too large + to be actual register numbers as far as the user is concerned + but do serve to get the desired values when passed to read_register. */ + +#define ZERO_REGNUM 0 /* read-only register, always 0 */ +#define V0_REGNUM 2 /* Function integer return value */ +#define A0_REGNUM 4 /* Loc of first arg during a subr call */ +#define SP_REGNUM 29 /* Contains address of top of stack */ +#define RA_REGNUM 31 /* Contains return address value */ +#define PS_REGNUM 32 /* Contains processor status */ +#define HI_REGNUM 34 /* Multiple/divide temp */ +#define LO_REGNUM 33 /* ... */ +#define BADVADDR_REGNUM 35 /* bad vaddr for addressing exception */ +#define CAUSE_REGNUM 36 /* describes last exception */ +#define PC_REGNUM 37 /* Contains program counter */ +#define FP0_REGNUM 38 /* Floating point register 0 (single float) */ +#define FCRCS_REGNUM 70 /* FP control/status */ +#define FCRIR_REGNUM 71 /* FP implementation/revision */ +#define FP_REGNUM 72 /* Pseudo register that contains true address of executing stack frame */ +#define UNUSED_REGNUM 73 /* Never used, FIXME */ +#define FIRST_EMBED_REGNUM 74 /* First CP0 register for embedded use */ +#define PRID_REGNUM 89 /* Processor ID */ +#define LAST_EMBED_REGNUM 89 /* Last one */ + +/* Define DO_REGISTERS_INFO() to do machine-specific formatting + of register dumps. */ + +#define DO_REGISTERS_INFO(_regnum, fp) mips_do_registers_info(_regnum, fp) + +/* Total amount of space needed to store our copies of the machine's + register state, the array `registers'. */ + +#define REGISTER_BYTES (NUM_REGS*MIPS_REGSIZE) + +/* Index within `registers' of the first byte of the space for + register N. */ + +#define REGISTER_BYTE(N) ((N) * MIPS_REGSIZE) + +/* Number of bytes of storage in the actual machine representation + for register N. On mips, all regs are the same size. */ + +#define REGISTER_RAW_SIZE(N) MIPS_REGSIZE + +/* Number of bytes of storage in the program's representation + for register N. On mips, all regs are the same size. */ + +#define REGISTER_VIRTUAL_SIZE(N) MIPS_REGSIZE + +/* Largest value REGISTER_RAW_SIZE can have. */ + +#define MAX_REGISTER_RAW_SIZE 8 + +/* Largest value REGISTER_VIRTUAL_SIZE can have. */ + +#define MAX_REGISTER_VIRTUAL_SIZE 8 + +/* Return the GDB type object for the "standard" data type + of data in register N. */ + +#ifndef REGISTER_VIRTUAL_TYPE +#define REGISTER_VIRTUAL_TYPE(N) \ + (((N) >= FP0_REGNUM && (N) < FP0_REGNUM+32) \ + ? builtin_type_float : builtin_type_int) +#endif + +#if HOST_BYTE_ORDER == BIG_ENDIAN +/* All mips targets store doubles in a register pair with the least + significant register in the lower numbered register. + If the host is big endian, double register values need conversion between + memory and register formats. */ + +#define REGISTER_CONVERT_TO_TYPE(n, type, buffer) \ + do {if ((n) >= FP0_REGNUM && (n) < FP0_REGNUM + 32 && \ + TYPE_CODE(type) == TYPE_CODE_FLT && TYPE_LENGTH(type) == 8) { \ + char __temp[4]; \ + memcpy (__temp, ((char *)(buffer))+4, 4); \ + memcpy (((char *)(buffer))+4, (buffer), 4); \ + memcpy (((char *)(buffer)), __temp, 4); }} while (0) + +#define REGISTER_CONVERT_FROM_TYPE(n, type, buffer) \ + do {if ((n) >= FP0_REGNUM && (n) < FP0_REGNUM + 32 && \ + TYPE_CODE(type) == TYPE_CODE_FLT && TYPE_LENGTH(type) == 8) { \ + char __temp[4]; \ + memcpy (__temp, ((char *)(buffer))+4, 4); \ + memcpy (((char *)(buffer))+4, (buffer), 4); \ + memcpy (((char *)(buffer)), __temp, 4); }} while (0) +#endif + +/* Store the address of the place in which to copy the structure the + subroutine will return. Handled by mips_push_arguments. */ + +#define STORE_STRUCT_RETURN(addr, sp) /**/ + +/* Extract from an array REGBUF containing the (raw) register state + a function return value of type TYPE, and copy that, in virtual format, + into VALBUF. XXX floats */ + +#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ + mips_extract_return_value(TYPE, REGBUF, VALBUF) + +/* Write into appropriate registers a function return value + of type TYPE, given in virtual format. */ + +#define STORE_RETURN_VALUE(TYPE,VALBUF) \ + mips_store_return_value(TYPE, VALBUF) + +/* Extract from an array REGBUF containing the (raw) register state + the address in which a function should return its structure value, + as a CORE_ADDR (or an expression that can be used as one). */ +/* The address is passed in a0 upon entry to the function, but when + the function exits, the compiler has copied the value to v0. This + convention is specified by the System V ABI, so I think we can rely + on it. */ + +#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \ + (extract_address (REGBUF + REGISTER_BYTE (V0_REGNUM), \ + REGISTER_RAW_SIZE (V0_REGNUM))) + +/* Structures are returned by ref in extra arg0 */ +#define USE_STRUCT_CONVENTION(gcc_p, type) 1 + + +/* Describe the pointer in each stack frame to the previous stack frame + (its caller). */ + +/* FRAME_CHAIN takes a frame's nominal address + and produces the frame's chain-pointer. */ + +#define FRAME_CHAIN(thisframe) (CORE_ADDR) mips_frame_chain (thisframe) + +/* Define other aspects of the stack frame. */ + + +/* A macro that tells us whether the function invocation represented + by FI does not have a frame on the stack associated with it. If it + does not, FRAMELESS is set to 1, else 0. */ +/* We handle this differently for mips, and maybe we should not */ + +#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) {(FRAMELESS) = 0;} + +/* Saved Pc. */ + +#define FRAME_SAVED_PC(FRAME) (mips_frame_saved_pc(FRAME)) + +#define FRAME_ARGS_ADDRESS(fi) (fi)->frame + +#define FRAME_LOCALS_ADDRESS(fi) (fi)->frame + +/* Return number of args passed to a frame. + Can return -1, meaning no way to tell. */ + +#define FRAME_NUM_ARGS(num, fi) (num = mips_frame_num_args(fi)) + +/* Return number of bytes at start of arglist that are not really args. */ + +#define FRAME_ARGS_SKIP 0 + +/* Put here the code to store, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. */ + +#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \ + do { \ + if ((frame_info)->saved_regs == NULL) \ + mips_find_saved_regs (frame_info); \ + (frame_saved_regs) = *(frame_info)->saved_regs; \ + (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame; \ + } while (0) + + +/* Things needed for making the inferior call functions. */ + +/* Stack has strict alignment. However, use PUSH_ARGUMENTS + to take care of it. */ +/*#define STACK_ALIGN(addr) (((addr)+3)&~3)*/ + +#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \ + sp = mips_push_arguments(nargs, args, sp, struct_return, struct_addr) + +/* Push an empty stack frame, to record the current PC, etc. */ + +#define PUSH_DUMMY_FRAME mips_push_dummy_frame() + +/* Discard from the stack the innermost frame, restoring all registers. */ + +#define POP_FRAME mips_pop_frame() + +#define MK_OP(op,rs,rt,offset) (((op)<<26)|((rs)<<21)|((rt)<<16)|(offset)) +#ifndef OP_LDFPR +#define OP_LDFPR 061 /* lwc1 */ +#endif +#ifndef OP_LDGPR +#define OP_LDGPR 043 /* lw */ +#endif +#define CALL_DUMMY_SIZE (16*4) +#define Dest_Reg 2 +#define CALL_DUMMY {\ + MK_OP(0,RA_REGNUM,0,8), /* jr $ra # Fake ABOUT_TO_RETURN ...*/\ + 0, /* nop # ... to stop raw backtrace*/\ + 0x27bd0000, /* addu sp,?0 # Pseudo prologue */\ +/* Start here; reload FP regs, then GP regs: */\ + MK_OP(OP_LDFPR,SP_REGNUM,12,0 ), /* l[wd]c1 $f12,0(sp) */\ + MK_OP(OP_LDFPR,SP_REGNUM,13, MIPS_REGSIZE), /* l[wd]c1 $f13,{4,8}(sp) */\ + MK_OP(OP_LDFPR,SP_REGNUM,14,2*MIPS_REGSIZE), /* l[wd]c1 $f14,{8,16}(sp) */\ + MK_OP(OP_LDFPR,SP_REGNUM,15,3*MIPS_REGSIZE), /* l[wd]c1 $f15,{12,24}(sp) */\ + MK_OP(OP_LDGPR,SP_REGNUM, 4,0 ), /* l[wd] $r4,0(sp) */\ + MK_OP(OP_LDGPR,SP_REGNUM, 5, MIPS_REGSIZE), /* l[wd] $r5,{4,8}(sp) */\ + MK_OP(OP_LDGPR,SP_REGNUM, 6,2*MIPS_REGSIZE), /* l[wd] $r6,{8,16}(sp) */\ + MK_OP(OP_LDGPR,SP_REGNUM, 7,3*MIPS_REGSIZE), /* l[wd] $r7,{12,24}(sp) */\ + (017<<26)| (Dest_Reg << 16), /* lui $r31,<target upper 16 bits>*/\ + MK_OP(13,Dest_Reg,Dest_Reg,0), /* ori $r31,$r31,<lower 16 bits>*/ \ + (Dest_Reg<<21) | (31<<11) | 9, /* jalr $r31 */\ + MK_OP(OP_LDGPR,SP_REGNUM, 7,3*MIPS_REGSIZE), /* l[wd] $r7,{12,24}(sp) */\ + 0x5000d, /* bpt */\ +} + +#define CALL_DUMMY_START_OFFSET 12 + +#define CALL_DUMMY_BREAKPOINT_OFFSET (CALL_DUMMY_START_OFFSET + (12 * 4)) + +/* Insert the specified number of args and function address + into a call sequence of the above form stored at DUMMYNAME. */ + +/* For big endian mips machines we need to switch the order of the + words with a floating-point value (it was already coerced to a double + by mips_push_arguments). */ +#define FIX_CALL_DUMMY(dummyname, start_sp, fun, nargs, args, rettype, gcc_p) \ + do \ + { \ + store_unsigned_integer \ + (dummyname + 11 * 4, 4, \ + (extract_unsigned_integer (dummyname + 11 * 4, 4) \ + | (((fun) >> 16) & 0xffff))); \ + store_unsigned_integer \ + (dummyname + 12 * 4, 4, \ + (extract_unsigned_integer (dummyname + 12 * 4, 4) \ + | ((fun) & 0xffff))); \ + if (mips_fpu == MIPS_FPU_NONE) \ + { \ + store_unsigned_integer (dummyname + 3 * 4, 4, \ + (unsigned LONGEST) 0); \ + store_unsigned_integer (dummyname + 4 * 4, 4, \ + (unsigned LONGEST) 0); \ + store_unsigned_integer (dummyname + 5 * 4, 4, \ + (unsigned LONGEST) 0); \ + store_unsigned_integer (dummyname + 6 * 4, 4, \ + (unsigned LONGEST) 0); \ + } \ + else if (mips_fpu == MIPS_FPU_SINGLE) \ + { \ + /* This isn't right. mips_push_arguments will call \ + value_arg_coerce, which will convert all float arguments \ + to doubles. If the function prototype is float, though, \ + it will be expecting a float argument in a float \ + register. */ \ + store_unsigned_integer (dummyname + 4 * 4, 4, \ + (unsigned LONGEST) 0); \ + store_unsigned_integer (dummyname + 6 * 4, 4, \ + (unsigned LONGEST) 0); \ + } \ + else if (TARGET_BYTE_ORDER == BIG_ENDIAN \ + && ! GDB_TARGET_IS_MIPS64) \ + { \ + if (nargs > 0 \ + && TYPE_CODE (VALUE_TYPE (args[0])) == TYPE_CODE_FLT) \ + { \ + if (TYPE_LENGTH (VALUE_TYPE (args[0])) > 8) \ + error ("floating point value too large to pass to function");\ + store_unsigned_integer \ + (dummyname + 3 * 4, 4, MK_OP (OP_LDFPR, SP_REGNUM, 12, 4));\ + store_unsigned_integer \ + (dummyname + 4 * 4, 4, MK_OP (OP_LDFPR, SP_REGNUM, 13, 0));\ + } \ + if (nargs > 1 \ + && TYPE_CODE (VALUE_TYPE (args[1])) == TYPE_CODE_FLT) \ + { \ + if (TYPE_LENGTH (VALUE_TYPE (args[1])) > 8) \ + error ("floating point value too large to pass to function");\ + store_unsigned_integer \ + (dummyname + 5 * 4, 4, MK_OP (OP_LDFPR, SP_REGNUM, 14, 12));\ + store_unsigned_integer \ + (dummyname + 6 * 4, 4, MK_OP (OP_LDFPR, SP_REGNUM, 15, 8));\ + } \ + } \ + } \ + while (0) + +/* There's a mess in stack frame creation. See comments in blockframe.c + near reference to INIT_FRAME_PC_FIRST. */ + +#define INIT_FRAME_PC(fromleaf, prev) /* nada */ + +#define INIT_FRAME_PC_FIRST(fromleaf, prev) \ + (prev)->pc = ((fromleaf) ? SAVED_PC_AFTER_CALL ((prev)->next) : \ + (prev)->next ? FRAME_SAVED_PC ((prev)->next) : read_pc ()); + +/* Special symbol found in blocks associated with routines. We can hang + mips_extra_func_info_t's off of this. */ + +#define MIPS_EFI_SYMBOL_NAME "__GDB_EFI_INFO__" + +/* Specific information about a procedure. + This overlays the MIPS's PDR records, + mipsread.c (ab)uses this to save memory */ + +typedef struct mips_extra_func_info { + long numargs; /* number of args to procedure (was iopt) */ + PDR pdr; /* Procedure descriptor record */ +} *mips_extra_func_info_t; + +#define EXTRA_FRAME_INFO \ + mips_extra_func_info_t proc_desc; \ + int num_args;\ + struct frame_saved_regs *saved_regs; + +#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) init_extra_frame_info(fci) + +#define PRINT_EXTRA_FRAME_INFO(fi) \ + { \ + if (fi && fi->proc_desc && fi->proc_desc->pdr.framereg < NUM_REGS) \ + printf_filtered (" frame pointer is at %s+%d\n", \ + reg_names[fi->proc_desc->pdr.framereg], \ + fi->proc_desc->pdr.frameoffset); \ + } + +/* It takes two values to specify a frame on the MIPS. + + In fact, the *PC* is the primary value that sets up a frame. The + PC is looked up to see what function it's in; symbol information + from that function tells us which register is the frame pointer + base, and what offset from there is the "virtual frame pointer". + (This is usually an offset from SP.) On most non-MIPS machines, + the primary value is the SP, and the PC, if needed, disambiguates + multiple functions with the same SP. But on the MIPS we can't do + that since the PC is not stored in the same part of the frame every + time. This does not seem to be a very clever way to set up frames, + but there is nothing we can do about that). */ + +#define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv) +extern struct frame_info *setup_arbitrary_frame PARAMS ((int, CORE_ADDR *)); + +/* Convert a dbx stab register number (from `r' declaration) to a gdb REGNUM */ + +#define STAB_REG_TO_REGNUM(num) ((num) < 32 ? (num) : (num)+FP0_REGNUM-38) + +/* Convert a ecoff register number to a gdb REGNUM */ + +#define ECOFF_REG_TO_REGNUM(num) ((num) < 32 ? (num) : (num)+FP0_REGNUM-32) + +/* If the current gcc for for this target does not produce correct debugging + information for float parameters, both prototyped and unprototyped, then + define this macro. This forces gdb to always assume that floats are + passed as doubles and then converted in the callee. + + For the mips chip, it appears that the debug info marks the parameters as + floats regardless of whether the function is prototyped, but the actual + values are passed as doubles for the non-prototyped case and floats for + the prototyped case. Thus we choose to make the non-prototyped case work + for C and break the prototyped case, since the non-prototyped case is + probably much more common. (FIXME). */ + +#define COERCE_FLOAT_TO_DOUBLE (current_language -> la_language == language_c) diff --git a/contrib/gdb/gdb/config/mips/tm-mips64.h b/contrib/gdb/gdb/config/mips/tm-mips64.h new file mode 100644 index 0000000000000..4265ab658d528 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-mips64.h @@ -0,0 +1,39 @@ +/* Target machine parameters for MIPS r4000 + Copyright 1994 Free Software Foundation, Inc. + Contributed by Ian Lance Taylor (ian@cygnus.com) + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define GDB_TARGET_IS_MIPS64 1 + +/* force LONGEST to be long long in gdb */ +#define FORCE_LONG_LONG + +/* Use eight byte registers. */ +#define MIPS_REGSIZE 8 + +/* define 8 byte register type */ +#define REGISTER_VIRTUAL_TYPE(N) \ + (((N) >= FP0_REGNUM && (N) < FP0_REGNUM+32) \ + ? builtin_type_double : builtin_type_long_long) \ + +/* Load double words in CALL_DUMMY. */ +#define OP_LDFPR 065 /* ldc1 */ +#define OP_LDGPR 067 /* ld */ + +/* Get the basic MIPS definitions. */ +#include "tm-mips.h" diff --git a/contrib/gdb/gdb/config/mips/tm-mipsm3.h b/contrib/gdb/gdb/config/mips/tm-mipsm3.h new file mode 100644 index 0000000000000..22057b4fad77a --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-mipsm3.h @@ -0,0 +1,71 @@ +/* Definitions to make GDB run on a mips box under Mach 3.0 + Copyright (C) 1992 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Mach specific definitions for little endian mips (e.g. pmax) + * running Mach 3.0 + * + * Author: Jukka Virtanen <jtv@hut.fi> + */ + +/* Include common definitions for Mach3 systems */ +#include "nm-m3.h" + +/* Define offsets to access CPROC stack when it does not have + * a kernel thread. + */ + +/* From mk/user/threads/mips/csw.s */ +#define SAVED_FP (12*4) +#define SAVED_PC (13*4) +#define SAVED_BYTES (14*4) + +/* Using these, define our offsets to items strored in + * cproc_switch in csw.s + */ +#define MACHINE_CPROC_SP_OFFSET SAVED_BYTES +#define MACHINE_CPROC_PC_OFFSET SAVED_PC +#define MACHINE_CPROC_FP_OFFSET SAVED_FP + +/* Thread flavors used in setting the Trace state. + * + * In <mach/machine/thread_status.h> + */ +#define TRACE_FLAVOR MIPS_EXC_STATE +#define TRACE_FLAVOR_SIZE MIPS_EXC_STATE_COUNT +#define TRACE_SET(x,state) ((struct mips_exc_state *)state)->cause = EXC_SST; +#define TRACE_CLEAR(x,state) 0 + +/* Mach supports attach/detach */ +#define ATTACH_DETACH 1 + +#include "mips/tm-mips.h" + +/* Address of end of user stack space. + * for MACH, see <machine/vmparam.h> + */ +#undef STACK_END_ADDR +#define STACK_END_ADDR USRSTACK + +/* Don't output r?? names for registers, since they + * can't be used as reg names anyway + */ +#define NUMERIC_REG_NAMES + +/* Output registers in tabular format */ +#define TABULAR_REGISTER_OUTPUT diff --git a/contrib/gdb/gdb/config/mips/tm-mipsv4.h b/contrib/gdb/gdb/config/mips/tm-mipsv4.h new file mode 100644 index 0000000000000..1a4a070b2aa71 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-mipsv4.h @@ -0,0 +1,45 @@ +/* Target machine description for MIPS running SVR4, for GDB. + Copyright 1994, 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "mips/tm-bigmips.h" +#include "tm-sysv4.h" + +/* When calling functions on a MIPS SVR4 ABI compliant platform + $25 must hold the function address. Dest_Reg is a macro + used in CALL_DUMMY in tm-mips.h. */ +#undef Dest_Reg +#define Dest_Reg 25 + +/* The signal handler trampoline is called _sigtramp. */ +#undef IN_SIGTRAMP +#define IN_SIGTRAMP(pc, name) ((name) && STREQ ("_sigtramp", name)) + +/* On entry to the signal handler trampoline, an ucontext is already + pushed on the stack. We can get at the saved registers via the + mcontext which is contained within the ucontext. */ +#define SIGFRAME_BASE 0 +#define SIGFRAME_REGSAVE_OFF (SIGFRAME_BASE + 40) +#define SIGFRAME_PC_OFF (SIGFRAME_BASE + 40 + 35 * 4) +#define SIGFRAME_FPREGSAVE_OFF (SIGFRAME_BASE + 40 + 36 * 4) + +/* Use the alternate method of determining valid frame chains. */ +#define FRAME_CHAIN_VALID_ALTERNATE + +/* Convert a DWARF register number to a gdb REGNUM. */ +#define DWARF_REG_TO_REGNUM(num) ((num) < 32 ? (num) : (num)+FP0_REGNUM-32) diff --git a/contrib/gdb/gdb/config/mips/tm-vr4300.h b/contrib/gdb/gdb/config/mips/tm-vr4300.h new file mode 100644 index 0000000000000..201174ae2c60a --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-vr4300.h @@ -0,0 +1,25 @@ +/* Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGET_BYTE_ORDER_SELECTABLE +#define TARGET_MONITOR_PROMPT "<RISQ> " + +/* Hack to allow 64bit register reads, from 32bit BFD world */ +#define CC_HAS_LONG_LONG 1 + +#include "mips/tm-bigmips64.h" diff --git a/contrib/gdb/gdb/config/mips/tm-vr4300el.h b/contrib/gdb/gdb/config/mips/tm-vr4300el.h new file mode 100644 index 0000000000000..3148f9f492eca --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-vr4300el.h @@ -0,0 +1,25 @@ +/* Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGET_BYTE_ORDER_SELECTABLE +#define TARGET_MONITOR_PROMPT "<RISQ> " + +/* Hack to allow 64bit register reads, from 32bit BFD world */ +#define CC_HAS_LONG_LONG 1 + +#include "mips/tm-mips64.h" diff --git a/contrib/gdb/gdb/config/mips/tm-vxmips.h b/contrib/gdb/gdb/config/mips/tm-vxmips.h new file mode 100644 index 0000000000000..392a929c20005 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/tm-vxmips.h @@ -0,0 +1,31 @@ +/* Target machine description for VxWorks MIPS's, for GDB, the GNU debugger. + Copyright 1996 Free Software Foundation, Inc. + Contributed by Cygnus Support. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define GDBINIT_FILENAME ".vxgdbinit" + +#define DEFAULT_PROMPT "(vxgdb) " + +#include "mips/tm-mips.h" + +/* FIXME: These are almost certainly wrong. */ + +/* Number of registers in a ptrace_getregs call. */ + +#define VX_NUM_REGS (NUM_REGS) diff --git a/contrib/gdb/gdb/config/mips/vr4300.mt b/contrib/gdb/gdb/config/mips/vr4300.mt new file mode 100644 index 0000000000000..22cb25eb4259a --- /dev/null +++ b/contrib/gdb/gdb/config/mips/vr4300.mt @@ -0,0 +1,5 @@ +# Target: Big-endian SIM monitor board. +TDEPFILES= mips-tdep.o remote-mips.o +TM_FILE= tm-vr4300.h +SIM_OBS = remote-sim.o +SIM = ../sim/mips/libsim.a diff --git a/contrib/gdb/gdb/config/mips/vr4300el.mt b/contrib/gdb/gdb/config/mips/vr4300el.mt new file mode 100644 index 0000000000000..9ba2a24d4672b --- /dev/null +++ b/contrib/gdb/gdb/config/mips/vr4300el.mt @@ -0,0 +1,3 @@ +# Target: Little-endian SIM monitor board. +TDEPFILES= mips-tdep.o remote-mips.o +TM_FILE= tm-vr4300el.h diff --git a/contrib/gdb/gdb/config/mips/vxmips.mt b/contrib/gdb/gdb/config/mips/vxmips.mt new file mode 100644 index 0000000000000..a20cf96ab726a --- /dev/null +++ b/contrib/gdb/gdb/config/mips/vxmips.mt @@ -0,0 +1,3 @@ +# Target: MIPS running VxWorks +TDEPFILES= mips-tdep.o remote-vx.o remote-vxmips.o xdr_ld.o xdr_ptrace.o xdr_rdb.o +TM_FILE= tm-vxmips.h diff --git a/contrib/gdb/gdb/config/mips/xm-irix3.h b/contrib/gdb/gdb/config/mips/xm-irix3.h new file mode 100644 index 0000000000000..d096594c6be03 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/xm-irix3.h @@ -0,0 +1,31 @@ +/* Copyright (C) 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* This is for the iris. */ + +#define HAVE_TERMIO + +#define HOST_BYTE_ORDER BIG_ENDIAN + +/* Override register locations in upage for SGI machines */ +#undef REGISTER_U_ADDR +#define REGISTER_U_ADDR(addr, blockend, regno) \ + if (regno < PC_REGNUM) \ + addr = regno; \ + else \ + addr = regno + NSIG_HNDLRS; /* Skip over signal handlers */ diff --git a/contrib/gdb/gdb/config/mips/xm-irix4.h b/contrib/gdb/gdb/config/mips/xm-irix4.h new file mode 100644 index 0000000000000..14d21f04fea6d --- /dev/null +++ b/contrib/gdb/gdb/config/mips/xm-irix4.h @@ -0,0 +1,33 @@ +/* Definitions for irix4 hosting support. + +Copyright (C) 1991, 1992 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* This is for the iris. */ + +#include "mips/xm-irix3.h" + +#define BROKEN_SIGINFO_H /* <sys/siginfo.h> si_pid & si_uid are bogus */ + +/* Irix 4.0.1 and later have termios. Not sure about earlier versions. */ +#undef HAVE_TERMIO +#define HAVE_TERMIOS + +/* This enables reliable signals (and the associated setjmp/longjmp), and gives + bsdish prototypes for getpgrp/setpgrg/setgroups and initgroups. */ +#define _BSD_COMPAT diff --git a/contrib/gdb/gdb/config/mips/xm-irix5.h b/contrib/gdb/gdb/config/mips/xm-irix5.h new file mode 100644 index 0000000000000..c3d339b1f5e37 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/xm-irix5.h @@ -0,0 +1,37 @@ +/* Definitions for irix5 hosting support. + +Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "xm-sysv4.h" + +#define CC_HAS_LONG_LONG 1 +#define PRINTF_HAS_LONG_LONG 1 +#define HOST_BYTE_ORDER BIG_ENDIAN + +/* Override register locations in upage for SGI machines */ +#undef REGISTER_U_ADDR +#define REGISTER_U_ADDR(addr, blockend, regno) \ + if (regno < PC_REGNUM) \ + addr = regno; \ + else \ + addr = regno + NSIG_HNDLRS; /* Skip over signal handlers */ + +/* This enables reliable signals (and the associated setjmp/longjmp), and gives + bsdish prototypes for getpgrp/setpgrg/setgroups and initgroups. */ +#define _BSD_COMPAT diff --git a/contrib/gdb/gdb/config/mips/xm-mips.h b/contrib/gdb/gdb/config/mips/xm-mips.h new file mode 100644 index 0000000000000..b90d03e8d7df9 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/xm-mips.h @@ -0,0 +1,60 @@ +/* Definitions to make GDB run on a mips box under 4.3bsd. + Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc. + Contributed by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin + and by Alessandro Forin(af@cs.cmu.edu) at CMU + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#if !defined (HOST_BYTE_ORDER) +#define HOST_BYTE_ORDER LITTLE_ENDIAN +#endif + +#ifdef ultrix +/* Needed for DECstation core files. */ +#include <machine/param.h> +#define KERNEL_U_ADDR UADDR +#endif + +#ifdef ultrix +extern char *strdup(); +#endif + +#if ! defined (__STDC__) && ! defined (offsetof) +# define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER) +#endif + +/* Only used for core files on DECstations. + First four registers at u.u_ar0 are saved arguments, and + there is no r0 saved. Float registers are saved + in u_pcb.pcb_fpregs, not relative to u.u_ar0. */ + +#define REGISTER_U_ADDR(addr, blockend, regno) \ + { \ + if (regno < FP0_REGNUM) \ + addr = blockend + sizeof(int) * (4 + regno - 1); \ + else \ + addr = offsetof (struct user, u_pcb.pcb_fpregs[0]) + \ + sizeof (int) * (regno - FP0_REGNUM); \ + } + +/* Kernel is a bit tenacious about sharing text segments, disallowing bpts. */ +#define ONE_PROCESS_WRITETEXT + +/* HAVE_SGTTY also works, last we tried. + + But we have termios, at least as of Ultrix 4.2A, so use it. */ +#define HAVE_TERMIOS diff --git a/contrib/gdb/gdb/config/mips/xm-mipsm3.h b/contrib/gdb/gdb/config/mips/xm-mipsm3.h new file mode 100644 index 0000000000000..6a5a73cd83347 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/xm-mipsm3.h @@ -0,0 +1,32 @@ +/* Definitions to make GDB run on a mips box under 4.3bsd. + Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc. + Contributed by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin + and by Alessandro Forin(af@cs.cmu.edu) at CMU + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#if !defined (HOST_BYTE_ORDER) +#define HOST_BYTE_ORDER LITTLE_ENDIAN +#endif + +#define KERNEL_U_ADDR 0 /* Not needed. */ + +/* Only used for core files on DECstations. */ + +#define REGISTER_U_ADDR(addr, blockend, regno) \ + if (regno < 38) addr = (NBPG*UPAGES) + (regno - 38)*sizeof(int);\ + else addr = 0; /* ..somewhere in the pcb */ diff --git a/contrib/gdb/gdb/config/mips/xm-mipsv4.h b/contrib/gdb/gdb/config/mips/xm-mipsv4.h new file mode 100644 index 0000000000000..d80ba433e293e --- /dev/null +++ b/contrib/gdb/gdb/config/mips/xm-mipsv4.h @@ -0,0 +1,23 @@ +/* Definitions for MIPS running SVR4 hosting support. + +Copyright (C) 1994 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "xm-sysv4.h" + +#define HOST_BYTE_ORDER BIG_ENDIAN diff --git a/contrib/gdb/gdb/config/mips/xm-news-mips.h b/contrib/gdb/gdb/config/mips/xm-news-mips.h new file mode 100644 index 0000000000000..06aac1ad3b784 --- /dev/null +++ b/contrib/gdb/gdb/config/mips/xm-news-mips.h @@ -0,0 +1,24 @@ +/* Definitions to make GDB run on a mips box under 4.3bsd. + Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc. + Contributed by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin + and by Alessandro Forin(af@cs.cmu.edu) at CMU + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#if !defined (HOST_BYTE_ORDER) +#define HOST_BYTE_ORDER BIG_ENDIAN +#endif diff --git a/contrib/gdb/gdb/config/mips/xm-riscos.h b/contrib/gdb/gdb/config/mips/xm-riscos.h new file mode 100644 index 0000000000000..467f32ac11bed --- /dev/null +++ b/contrib/gdb/gdb/config/mips/xm-riscos.h @@ -0,0 +1,28 @@ +/* Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define HAVE_TERMIO + +#if !defined (HOST_BYTE_ORDER) +#define HOST_BYTE_ORDER BIG_ENDIAN +#endif + +#define USG 1 + +/* setjmp.h requires uid_t. */ +#include <sys/types.h> diff --git a/contrib/gdb/gdb/config/none/nm-none.h b/contrib/gdb/gdb/config/none/nm-none.h new file mode 100644 index 0000000000000..9d630f36e4ea2 --- /dev/null +++ b/contrib/gdb/gdb/config/none/nm-none.h @@ -0,0 +1,18 @@ +/* Defines needed when configuring for "none". + Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ diff --git a/contrib/gdb/gdb/config/none/none.mh b/contrib/gdb/gdb/config/none/none.mh new file mode 100644 index 0000000000000..33d5e4a3768ee --- /dev/null +++ b/contrib/gdb/gdb/config/none/none.mh @@ -0,0 +1,5 @@ +# Host: "no target". This can be used to build you +# a Makefile that only runs administrative commands like 'clean', +# 'gdb.tar.Z', etc. +NAT_FILE= nm-none.h +XM_FILE= xm-none.h diff --git a/contrib/gdb/gdb/config/none/none.mt b/contrib/gdb/gdb/config/none/none.mt new file mode 100644 index 0000000000000..300e2dcd05fd2 --- /dev/null +++ b/contrib/gdb/gdb/config/none/none.mt @@ -0,0 +1,4 @@ +# Target: "no target". +# This can be used to build you a Makefile that only runs administrative +# commands like 'clean', 'gdb.tar.Z', etc. +TM_FILE= tm-none.h diff --git a/contrib/gdb/gdb/config/none/tm-none.h b/contrib/gdb/gdb/config/none/tm-none.h new file mode 100644 index 0000000000000..7f7e7d88c9201 --- /dev/null +++ b/contrib/gdb/gdb/config/none/tm-none.h @@ -0,0 +1,23 @@ +/* Defines needed when configuring for "none". + Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* This define is needed so that "gcc -MM" doesn't get errors and fail on + source files that use the value of INNER_THAN in preprocessor lines. */ + +#define INNER_THAN < diff --git a/contrib/gdb/gdb/config/none/xm-none.h b/contrib/gdb/gdb/config/none/xm-none.h new file mode 100644 index 0000000000000..9d630f36e4ea2 --- /dev/null +++ b/contrib/gdb/gdb/config/none/xm-none.h @@ -0,0 +1,18 @@ +/* Defines needed when configuring for "none". + Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ diff --git a/contrib/gdb/gdb/config/sh/sh.mt b/contrib/gdb/gdb/config/sh/sh.mt new file mode 100644 index 0000000000000..71d6083b80ab8 --- /dev/null +++ b/contrib/gdb/gdb/config/sh/sh.mt @@ -0,0 +1,6 @@ +# Target: Hitachi Super-H with ICE and simulator +TDEPFILES= sh-tdep.o monitor.o sh3-rom.o remote-e7000.o ser-e7kpc.o dsrec.o +TM_FILE= tm-sh.h + +SIM_OBS = remote-sim.o +SIM = ../sim/sh/libsim.a -lm diff --git a/contrib/gdb/gdb/config/sh/stub.c b/contrib/gdb/gdb/config/sh/stub.c new file mode 100644 index 0000000000000..86c3f0b5876a8 --- /dev/null +++ b/contrib/gdb/gdb/config/sh/stub.c @@ -0,0 +1,1553 @@ +/* sh-stub.c -- debugging stub for the Hitachi-SH. + + NOTE!! This code has to be compiled with optimization, otherwise the + function inlining which generates the exception handlers won't work. + +*/ + +/* This is originally based on an m68k software stub written by Glenn + Engel at HP, but has changed quite a bit. + + Modifications for the SH by Ben Lee and Steve Chamberlain + +*/ + +/**************************************************************************** + + THIS SOFTWARE IS NOT COPYRIGHTED + + HP offers the following for use in the public domain. HP makes no + warranty with regard to the software or it's performance and the + user accepts the software "AS IS" with all faults. + + HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD + TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +****************************************************************************/ + + +/* Remote communication protocol. + + A debug packet whose contents are <data> + is encapsulated for transmission in the form: + + $ <data> # CSUM1 CSUM2 + + <data> must be ASCII alphanumeric and cannot include characters + '$' or '#'. If <data> starts with two characters followed by + ':', then the existing stubs interpret this as a sequence number. + + CSUM1 and CSUM2 are ascii hex representation of an 8-bit + checksum of <data>, the most significant nibble is sent first. + the hex digits 0-9,a-f are used. + + Receiver responds with: + + + - if CSUM is correct and ready for next packet + - - if CSUM is incorrect + + <data> is as follows: + All values are encoded in ascii hex digits. + + Request Packet + + read registers g + reply XX....X Each byte of register data + is described by two hex digits. + Registers are in the internal order + for GDB, and the bytes in a register + are in the same order the machine uses. + or ENN for an error. + + write regs GXX..XX Each byte of register data + is described by two hex digits. + reply OK for success + ENN for an error + + write reg Pn...=r... Write register n... with value r..., + which contains two hex digits for each + byte in the register (target byte + order). + reply OK for success + ENN for an error + (not supported by all stubs). + + read mem mAA..AA,LLLL AA..AA is address, LLLL is length. + reply XX..XX XX..XX is mem contents + Can be fewer bytes than requested + if able to read only part of the data. + or ENN NN is errno + + write mem MAA..AA,LLLL:XX..XX + AA..AA is address, + LLLL is number of bytes, + XX..XX is data + reply OK for success + ENN for an error (this includes the case + where only part of the data was + written). + + cont cAA..AA AA..AA is address to resume + If AA..AA is omitted, + resume at same address. + + step sAA..AA AA..AA is address to resume + If AA..AA is omitted, + resume at same address. + + last signal ? Reply the current reason for stopping. + This is the same reply as is generated + for step or cont : SAA where AA is the + signal number. + + There is no immediate reply to step or cont. + The reply comes when the machine stops. + It is SAA AA is the "signal number" + + or... TAAn...:r...;n:r...;n...:r...; + AA = signal number + n... = register number + r... = register contents + or... WAA The process exited, and AA is + the exit status. This is only + applicable for certains sorts of + targets. + kill request k + + toggle debug d toggle debug flag (see 386 & 68k stubs) + reset r reset -- see sparc stub. + reserved <other> On other requests, the stub should + ignore the request and send an empty + response ($#<checksum>). This way + we can extend the protocol and GDB + can tell whether the stub it is + talking to uses the old or the new. + search tAA:PP,MM Search backwards starting at address + AA for a match with pattern PP and + mask MM. PP and MM are 4 bytes. + Not supported by all stubs. + + general query qXXXX Request info about XXXX. + general set QXXXX=yyyy Set value of XXXX to yyyy. + query sect offs qOffsets Get section offsets. Reply is + Text=xxx;Data=yyy;Bss=zzz + console output Otext Send text to stdout. Only comes from + remote target. + + Responses can be run-length encoded to save space. A '*' means that + the next character is an ASCII encoding giving a repeat count which + stands for that many repititions of the character preceding the '*'. + The encoding is n+29, yielding a printable character where n >=3 + (which is where rle starts to win). Don't use an n > 126. + + So + "0* " means the same as "0000". */ + +#include <string.h> +#include <setjmp.h> + + + +#define COND_BR_MASK 0xff00 +#define UCOND_DBR_MASK 0xe000 +#define UCOND_RBR_MASK 0xf0df +#define TRAPA_MASK 0xff00 + +#define COND_DISP 0x00ff +#define UCOND_DISP 0x0fff +#define UCOND_REG 0x0f00 + +#define BF_INSTR 0x8b00 +#define BT_INSTR 0x8900 +#define BRA_INSTR 0xa000 +#define BSR_INSTR 0xb000 +#define JMP_INSTR 0x402b +#define JSR_INSTR 0x400b +#define RTS_INSTR 0x000b +#define RTE_INSTR 0x002b +#define TRAPA_INSTR 0xc300 + +#define SSTEP_INSTR 0xc3ff + +#define T_BIT_MASK 0x0001 +/* + * BUFMAX defines the maximum number of characters in inbound/outbound + * buffers at least NUMREGBYTES*2 are needed for register packets + */ +#define BUFMAX 1024 + +/* + * Number of bytes for registers + */ +#define NUMREGBYTES 112 /* 92 */ + +/* + * typedef + */ +typedef void (*Function) (); + +/* + * Forward declarations + */ + +static int hex (char); +static char *mem2hex (char *, char *, int); +static char *hex2mem (char *, char *, int); +static int hexToInt (char **, int *); +static void getpacket (char *); +static void putpacket (char *); +static void handle_buserror (void); +static int computeSignal (int exceptionVector); +static void handle_exception (int exceptionVector); +void init_serial(); + + +int putDebugChar (char); +char getDebugChar (void); + +/* These are in the file but in asm statements so the compiler can't see them */ +void catch_exception_4 (void); +void catch_exception_6 (void); +void catch_exception_9 (void); +void catch_exception_10 (void); +void catch_exception_11 (void); +void catch_exception_32 (void); +void catch_exception_33 (void); +void catch_exception_255 (void); + + + +#define catch_exception_random catch_exception_255 /* Treat all odd ones like 255 */ + +void breakpoint (void); + + +#define init_stack_size 8*1024 /* if you change this you should also modify BINIT */ +#define stub_stack_size 8*1024 + +int init_stack[init_stack_size] __attribute__ ((section ("stack"))) = {0}; +int stub_stack[stub_stack_size] __attribute__ ((section ("stack"))) = {0}; + +typedef struct + { + void (*func_cold) (); + int *stack_cold; + void (*func_warm) (); + int *stack_warm; + void (*(handler[256 - 4])) (); + } +vec_type; + + +void INIT (); +void BINIT (); + +/* When you link take care that this is at address 0 - + or wherever your vbr points */ + +#define CPU_BUS_ERROR_VEC 9 +#define DMA_BUS_ERROR_VEC 10 +#define NMI_VEC 11 +#define INVALID_INSN_VEC 4 +#define INVALID_SLOT_VEC 6 +#define TRAP_VEC 32 +#define IO_VEC 33 +#define USER_VEC 255 + + +#define BCR (*(volatile short *)(0x05FFFFA0)) /* Bus control register */ +#define BAS (0x800) /* Byte access select */ +#define WCR1 (*(volatile short *)(0x05ffffA2)) /* Wait state control register */ + +const vec_type vectable = +{ + &BINIT, /* 0: Power-on reset PC */ + init_stack + init_stack_size, /* 1: Power-on reset SP */ + &BINIT, /* 2: Manual reset PC */ + init_stack + init_stack_size, /* 3: Manual reset SP */ +{ + &catch_exception_4, /* 4: General invalid instruction */ + &catch_exception_random, /* 5: Reserved for system */ + &catch_exception_6, /* 6: Invalid slot instruction */ + &catch_exception_random, /* 7: Reserved for system */ + &catch_exception_random, /* 8: Reserved for system */ + &catch_exception_9, /* 9: CPU bus error */ + &catch_exception_10, /* 10: DMA bus error */ + &catch_exception_11, /* 11: NMI */ + &catch_exception_random, /* 12: User break */ + &catch_exception_random, /* 13: Reserved for system */ + &catch_exception_random, /* 14: Reserved for system */ + &catch_exception_random, /* 15: Reserved for system */ + &catch_exception_random, /* 16: Reserved for system */ + &catch_exception_random, /* 17: Reserved for system */ + &catch_exception_random, /* 18: Reserved for system */ + &catch_exception_random, /* 19: Reserved for system */ + &catch_exception_random, /* 20: Reserved for system */ + &catch_exception_random, /* 21: Reserved for system */ + &catch_exception_random, /* 22: Reserved for system */ + &catch_exception_random, /* 23: Reserved for system */ + &catch_exception_random, /* 24: Reserved for system */ + &catch_exception_random, /* 25: Reserved for system */ + &catch_exception_random, /* 26: Reserved for system */ + &catch_exception_random, /* 27: Reserved for system */ + &catch_exception_random, /* 28: Reserved for system */ + &catch_exception_random, /* 29: Reserved for system */ + &catch_exception_random, /* 30: Reserved for system */ + &catch_exception_random, /* 31: Reserved for system */ + &catch_exception_32, /* 32: Trap instr (user vectors) */ + &catch_exception_33, /* 33: Trap instr (user vectors) */ + &catch_exception_random, /* 34: Trap instr (user vectors) */ + &catch_exception_random, /* 35: Trap instr (user vectors) */ + &catch_exception_random, /* 36: Trap instr (user vectors) */ + &catch_exception_random, /* 37: Trap instr (user vectors) */ + &catch_exception_random, /* 38: Trap instr (user vectors) */ + &catch_exception_random, /* 39: Trap instr (user vectors) */ + &catch_exception_random, /* 40: Trap instr (user vectors) */ + &catch_exception_random, /* 41: Trap instr (user vectors) */ + &catch_exception_random, /* 42: Trap instr (user vectors) */ + &catch_exception_random, /* 43: Trap instr (user vectors) */ + &catch_exception_random, /* 44: Trap instr (user vectors) */ + &catch_exception_random, /* 45: Trap instr (user vectors) */ + &catch_exception_random, /* 46: Trap instr (user vectors) */ + &catch_exception_random, /* 47: Trap instr (user vectors) */ + &catch_exception_random, /* 48: Trap instr (user vectors) */ + &catch_exception_random, /* 49: Trap instr (user vectors) */ + &catch_exception_random, /* 50: Trap instr (user vectors) */ + &catch_exception_random, /* 51: Trap instr (user vectors) */ + &catch_exception_random, /* 52: Trap instr (user vectors) */ + &catch_exception_random, /* 53: Trap instr (user vectors) */ + &catch_exception_random, /* 54: Trap instr (user vectors) */ + &catch_exception_random, /* 55: Trap instr (user vectors) */ + &catch_exception_random, /* 56: Trap instr (user vectors) */ + &catch_exception_random, /* 57: Trap instr (user vectors) */ + &catch_exception_random, /* 58: Trap instr (user vectors) */ + &catch_exception_random, /* 59: Trap instr (user vectors) */ + &catch_exception_random, /* 60: Trap instr (user vectors) */ + &catch_exception_random, /* 61: Trap instr (user vectors) */ + &catch_exception_random, /* 62: Trap instr (user vectors) */ + &catch_exception_random, /* 63: Trap instr (user vectors) */ + &catch_exception_random, /* 64: IRQ0 */ + &catch_exception_random, /* 65: IRQ1 */ + &catch_exception_random, /* 66: IRQ2 */ + &catch_exception_random, /* 67: IRQ3 */ + &catch_exception_random, /* 68: IRQ4 */ + &catch_exception_random, /* 69: IRQ5 */ + &catch_exception_random, /* 70: IRQ6 */ + &catch_exception_random, /* 71: IRQ7 */ + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_random, + &catch_exception_255}}; + + +char in_nmi; /* Set when handling an NMI, so we don't reenter */ +int dofault; /* Non zero, bus errors will raise exception */ + +int *stub_sp; + +/* debug > 0 prints ill-formed commands in valid packets & checksum errors */ +int remote_debug; + +/* jump buffer used for setjmp/longjmp */ +jmp_buf remcomEnv; + +enum regnames + { + R0, R1, R2, R3, R4, R5, R6, R7, + R8, R9, R10, R11, R12, R13, R14, + R15, PC, PR, GBR, VBR, MACH, MACL, SR, + TICKS, STALLS, CYCLES, INSTS, PLR + }; + +typedef struct + { + short *memAddr; + short oldInstr; + } +stepData; + +int registers[NUMREGBYTES / 4]; +stepData instrBuffer; +char stepped; +static const char hexchars[] = "0123456789abcdef"; +char remcomInBuffer[BUFMAX]; +char remcomOutBuffer[BUFMAX]; + +char highhex(int x) +{ + return hexchars[(x >> 4) & 0xf]; +} + +char lowhex(int x) +{ + return hexchars[x & 0xf]; +} + +/* + * Assembly macros + */ + +#define BREAKPOINT() asm("trapa #0x20"::); + + +/* + * Routines to handle hex data + */ + +static int +hex (char ch) +{ + if ((ch >= 'a') && (ch <= 'f')) + return (ch - 'a' + 10); + if ((ch >= '0') && (ch <= '9')) + return (ch - '0'); + if ((ch >= 'A') && (ch <= 'F')) + return (ch - 'A' + 10); + return (-1); +} + +/* convert the memory, pointed to by mem into hex, placing result in buf */ +/* return a pointer to the last char put in buf (null) */ +static char * +mem2hex (char *mem, char *buf, int count) +{ + int i; + int ch; + for (i = 0; i < count; i++) + { + ch = *mem++; + *buf++ = highhex (ch); + *buf++ = lowhex (ch); + } + *buf = 0; + return (buf); +} + +/* convert the hex array pointed to by buf into binary, to be placed in mem */ +/* return a pointer to the character after the last byte written */ + +static char * +hex2mem (char *buf, char *mem, int count) +{ + int i; + unsigned char ch; + for (i = 0; i < count; i++) + { + ch = hex (*buf++) << 4; + ch = ch + hex (*buf++); + *mem++ = ch; + } + return (mem); +} + +/**********************************************/ +/* WHILE WE FIND NICE HEX CHARS, BUILD AN INT */ +/* RETURN NUMBER OF CHARS PROCESSED */ +/**********************************************/ +static int +hexToInt (char **ptr, int *intValue) +{ + int numChars = 0; + int hexValue; + + *intValue = 0; + + while (**ptr) + { + hexValue = hex (**ptr); + if (hexValue >= 0) + { + *intValue = (*intValue << 4) | hexValue; + numChars++; + } + else + break; + + (*ptr)++; + } + + return (numChars); +} + +/* + * Routines to get and put packets + */ + +/* scan for the sequence $<data>#<checksum> */ + +static +void +getpacket (char *buffer) +{ + unsigned char checksum; + unsigned char xmitcsum; + int i; + int count; + char ch; + do + { + /* wait around for the start character, ignore all other characters */ + while ((ch = getDebugChar ()) != '$'); + checksum = 0; + xmitcsum = -1; + + count = 0; + + /* now, read until a # or end of buffer is found */ + while (count < BUFMAX) + { + ch = getDebugChar (); + if (ch == '#') + break; + checksum = checksum + ch; + buffer[count] = ch; + count = count + 1; + } + buffer[count] = 0; + + if (ch == '#') + { + xmitcsum = hex (getDebugChar ()) << 4; + xmitcsum += hex (getDebugChar ()); + if (checksum != xmitcsum) + putDebugChar ('-'); /* failed checksum */ + else + { + putDebugChar ('+'); /* successful transfer */ + /* if a sequence char is present, reply the sequence ID */ + if (buffer[2] == ':') + { + putDebugChar (buffer[0]); + putDebugChar (buffer[1]); + /* remove sequence chars from buffer */ + count = strlen (buffer); + for (i = 3; i <= count; i++) + buffer[i - 3] = buffer[i]; + } + } + } + } + while (checksum != xmitcsum); + +} + + +/* send the packet in buffer. The host get's one chance to read it. + This routine does not wait for a positive acknowledge. */ + +static void +putpacket (register char *buffer) +{ + register int checksum; + register int count; + + /* $<packet info>#<checksum>. */ + do + { + char *src = buffer; + putDebugChar ('$'); + checksum = 0; + + while (*src) + { + int runlen; + + /* Do run length encoding */ + for (runlen = 0; runlen < 100; runlen ++) + { + if (src[0] != src[runlen]) + { + if (runlen > 3) + { + int encode; + /* Got a useful amount */ + putDebugChar (*src); + checksum += *src; + putDebugChar ('*'); + checksum += '*'; + checksum += (encode = runlen + ' ' - 4); + putDebugChar (encode); + src += runlen; + } + else + { + putDebugChar (*src); + checksum += *src; + src++; + } + break; + } + } + } + + + putDebugChar ('#'); + putDebugChar (highhex(checksum)); + putDebugChar (lowhex(checksum)); + } + while (getDebugChar() != '+'); + +} + + +/* a bus error has occurred, perform a longjmp + to return execution and allow handling of the error */ + +void +handle_buserror (void) +{ + longjmp (remcomEnv, 1); +} + +/* + * this function takes the SH-1 exception number and attempts to + * translate this number into a unix compatible signal value + */ +static int +computeSignal (int exceptionVector) +{ + int sigval; + switch (exceptionVector) + { + case INVALID_INSN_VEC: + sigval = 4; + break; + case INVALID_SLOT_VEC: + sigval = 4; + break; + case CPU_BUS_ERROR_VEC: + sigval = 10; + break; + case DMA_BUS_ERROR_VEC: + sigval = 10; + break; + case NMI_VEC: + sigval = 2; + break; + + case TRAP_VEC: + case USER_VEC: + sigval = 5; + break; + + default: + sigval = 7; /* "software generated"*/ + break; + } + return (sigval); +} + +void +doSStep (void) +{ + short *instrMem; + int displacement; + int reg; + unsigned short opcode; + + instrMem = (short *) registers[PC]; + + opcode = *instrMem; + stepped = 1; + + if ((opcode & COND_BR_MASK) == BT_INSTR) + { + if (registers[SR] & T_BIT_MASK) + { + displacement = (opcode & COND_DISP) << 1; + if (displacement & 0x80) + displacement |= 0xffffff00; + /* + * Remember PC points to second instr. + * after PC of branch ... so add 4 + */ + instrMem = (short *) (registers[PC] + displacement + 4); + } + else + instrMem += 1; + } + else if ((opcode & COND_BR_MASK) == BF_INSTR) + { + if (registers[SR] & T_BIT_MASK) + instrMem += 1; + else + { + displacement = (opcode & COND_DISP) << 1; + if (displacement & 0x80) + displacement |= 0xffffff00; + /* + * Remember PC points to second instr. + * after PC of branch ... so add 4 + */ + instrMem = (short *) (registers[PC] + displacement + 4); + } + } + else if ((opcode & UCOND_DBR_MASK) == BRA_INSTR) + { + displacement = (opcode & UCOND_DISP) << 1; + if (displacement & 0x0800) + displacement |= 0xfffff000; + + /* + * Remember PC points to second instr. + * after PC of branch ... so add 4 + */ + instrMem = (short *) (registers[PC] + displacement + 4); + } + else if ((opcode & UCOND_RBR_MASK) == JSR_INSTR) + { + reg = (char) ((opcode & UCOND_REG) >> 8); + + instrMem = (short *) registers[reg]; + } + else if (opcode == RTS_INSTR) + instrMem = (short *) registers[PR]; + else if (opcode == RTE_INSTR) + instrMem = (short *) registers[15]; + else if ((opcode & TRAPA_MASK) == TRAPA_INSTR) + instrMem = (short *) ((opcode & ~TRAPA_MASK) << 2); + else + instrMem += 1; + + instrBuffer.memAddr = instrMem; + instrBuffer.oldInstr = *instrMem; + *instrMem = SSTEP_INSTR; +} + +void +undoSStep (void) +{ + /* + If we single stepped, + restore the old instruction! +*/ + if (stepped) + { short *instrMem; + instrMem = instrBuffer.memAddr; + *instrMem = instrBuffer.oldInstr; + } + stepped = 0; +} + +/* +This function does all exception handling. It only does two things - +it figures out why it was called and tells gdb, and then it reacts +to gdb's requests. + +When in the monitor mode we talk a human on the serial line rather than gdb. + +*/ + + +void +gdb_handle_exception (int exceptionVector) +{ + int sigval; + int addr, length; + char *ptr; + + /* reply to host that an exception has occurred */ + sigval = computeSignal (exceptionVector); + remcomOutBuffer[0] = 'S'; + remcomOutBuffer[1] = highhex(sigval); + remcomOutBuffer[2] = lowhex (sigval); + remcomOutBuffer[3] = 0; + + putpacket (remcomOutBuffer); + + /* + * exception 255 indicates a software trap + * inserted in place of code ... so back up + * PC by one instruction, since this instruction + * will later be replaced by its original one! + */ + if (exceptionVector == 0xff + || exceptionVector == 0x20) + registers[PC] -= 2; + + /* + * Do the thangs needed to undo + * any stepping we may have done! + */ + undoSStep (); + + while (1) + { + remcomOutBuffer[0] = 0; + getpacket (remcomInBuffer); + + switch (remcomInBuffer[0]) + { + case '?': + remcomOutBuffer[0] = 'S'; + remcomOutBuffer[1] = highhex (sigval); + remcomOutBuffer[2] = lowhex (sigval); + remcomOutBuffer[3] = 0; + break; + case 'd': + remote_debug = !(remote_debug); /* toggle debug flag */ + break; + case 'g': /* return the value of the CPU registers */ + mem2hex ((char *) registers, remcomOutBuffer, NUMREGBYTES); + break; + case 'G': /* set the value of the CPU registers - return OK */ + hex2mem (&remcomInBuffer[1], (char *) registers, NUMREGBYTES); + strcpy (remcomOutBuffer, "OK"); + break; + + /* mAA..AA,LLLL Read LLLL bytes at address AA..AA */ + case 'm': + if (setjmp (remcomEnv) == 0) + { + dofault = 0; + /* TRY, TO READ %x,%x. IF SUCCEED, SET PTR = 0 */ + ptr = &remcomInBuffer[1]; + if (hexToInt (&ptr, &addr)) + if (*(ptr++) == ',') + if (hexToInt (&ptr, &length)) + { + ptr = 0; + mem2hex ((char *) addr, remcomOutBuffer, length); + } + if (ptr) + strcpy (remcomOutBuffer, "E01"); + } + else + strcpy (remcomOutBuffer, "E03"); + + /* restore handler for bus error */ + dofault = 1; + break; + + /* MAA..AA,LLLL: Write LLLL bytes at address AA.AA return OK */ + case 'M': + if (setjmp (remcomEnv) == 0) + { + dofault = 0; + + /* TRY, TO READ '%x,%x:'. IF SUCCEED, SET PTR = 0 */ + ptr = &remcomInBuffer[1]; + if (hexToInt (&ptr, &addr)) + if (*(ptr++) == ',') + if (hexToInt (&ptr, &length)) + if (*(ptr++) == ':') + { + hex2mem (ptr, (char *) addr, length); + ptr = 0; + strcpy (remcomOutBuffer, "OK"); + } + if (ptr) + strcpy (remcomOutBuffer, "E02"); + } + else + strcpy (remcomOutBuffer, "E03"); + + /* restore handler for bus error */ + dofault = 1; + break; + + /* cAA..AA Continue at address AA..AA(optional) */ + /* sAA..AA Step one instruction from AA..AA(optional) */ + case 'c': + case 's': + { + /* tRY, to read optional parameter, pc unchanged if no parm */ + ptr = &remcomInBuffer[1]; + if (hexToInt (&ptr, &addr)) + registers[PC] = addr; + + if (remcomInBuffer[0] == 's') + doSStep (); + } + return; + break; + + /* kill the program */ + case 'k': /* do nothing */ + break; + } /* switch */ + + /* reply to the request */ + putpacket (remcomOutBuffer); + } +} + + +#define GDBCOOKIE 0x5ac +static int ingdbmode; +/* We've had an exception - choose to go into the monitor or + the gdb stub */ +void handle_exception(int exceptionVector) +{ +#ifdef MONITOR + if (ingdbmode != GDBCOOKIE) + monitor_handle_exception (exceptionVector); + else +#endif + gdb_handle_exception (exceptionVector); + +} + +void +gdb_mode() +{ + ingdbmode = GDBCOOKIE; + breakpoint(); +} +/* This function will generate a breakpoint exception. It is used at the + beginning of a program to sync up with a debugger and can be used + otherwise as a quick means to stop program execution and "break" into + the debugger. */ + +void +breakpoint (void) +{ + BREAKPOINT (); +} + +asm ("_BINIT: mov.l L1,r15"); +asm ("bra _INIT"); +asm ("nop"); +asm ("L1: .long _init_stack + 8*1024*4"); +void +INIT (void) +{ + /* First turn on the ram */ + WCR1 = 0; /* Never sample wait */ + BCR = BAS; /* use lowbyte/high byte */ + + init_serial(); + +#ifdef MONITOR + reset_hook (); +#endif + + + in_nmi = 0; + dofault = 1; + stepped = 0; + + stub_sp = stub_stack + stub_stack_size; + breakpoint (); + + while (1) + ; +} + + +static void sr() +{ + + + /* Calling Reset does the same as pressing the button */ + asm (".global _Reset + .global _WarmReset +_Reset: +_WarmReset: + mov.l L_sp,r15 + bra _INIT + nop + .align 2 +L_sp: .long _init_stack + 8000"); + + asm("saveRegisters: + mov.l @(L_reg, pc), r0 + mov.l @r15+, r1 ! pop R0 + mov.l r2, @(0x08, r0) ! save R2 + mov.l r1, @r0 ! save R0 + mov.l @r15+, r1 ! pop R1 + mov.l r3, @(0x0c, r0) ! save R3 + mov.l r1, @(0x04, r0) ! save R1 + mov.l r4, @(0x10, r0) ! save R4 + mov.l r5, @(0x14, r0) ! save R5 + mov.l r6, @(0x18, r0) ! save R6 + mov.l r7, @(0x1c, r0) ! save R7 + mov.l r8, @(0x20, r0) ! save R8 + mov.l r9, @(0x24, r0) ! save R9 + mov.l r10, @(0x28, r0) ! save R10 + mov.l r11, @(0x2c, r0) ! save R11 + mov.l r12, @(0x30, r0) ! save R12 + mov.l r13, @(0x34, r0) ! save R13 + mov.l r14, @(0x38, r0) ! save R14 + mov.l @r15+, r4 ! save arg to handleException + add #8, r15 ! hide PC/SR values on stack + mov.l r15, @(0x3c, r0) ! save R15 + add #-8, r15 ! save still needs old SP value + add #92, r0 ! readjust register pointer + mov r15, r2 + add #4, r2 + mov.l @r2, r2 ! R2 has SR + mov.l @r15, r1 ! R1 has PC + mov.l r2, @-r0 ! save SR + sts.l macl, @-r0 ! save MACL + sts.l mach, @-r0 ! save MACH + stc.l vbr, @-r0 ! save VBR + stc.l gbr, @-r0 ! save GBR + sts.l pr, @-r0 ! save PR + mov.l @(L_stubstack, pc), r2 + mov.l @(L_hdl_except, pc), r3 + mov.l @r2, r15 + jsr @r3 + mov.l r1, @-r0 ! save PC + mov.l @(L_stubstack, pc), r0 + mov.l @(L_reg, pc), r1 + bra restoreRegisters + mov.l r15, @r0 ! save __stub_stack + + .align 2 +L_reg: + .long _registers +L_stubstack: + .long _stub_sp +L_hdl_except: + .long _handle_exception"); + +} + +static void rr() +{ +asm(" + .align 2 + .global _resume +_resume: + mov r4,r1 +restoreRegisters: + add #8, r1 ! skip to R2 + mov.l @r1+, r2 ! restore R2 + mov.l @r1+, r3 ! restore R3 + mov.l @r1+, r4 ! restore R4 + mov.l @r1+, r5 ! restore R5 + mov.l @r1+, r6 ! restore R6 + mov.l @r1+, r7 ! restore R7 + mov.l @r1+, r8 ! restore R8 + mov.l @r1+, r9 ! restore R9 + mov.l @r1+, r10 ! restore R10 + mov.l @r1+, r11 ! restore R11 + mov.l @r1+, r12 ! restore R12 + mov.l @r1+, r13 ! restore R13 + mov.l @r1+, r14 ! restore R14 + mov.l @r1+, r15 ! restore programs stack + mov.l @r1+, r0 + add #-8, r15 ! uncover PC/SR on stack + mov.l r0, @r15 ! restore PC onto stack + lds.l @r1+, pr ! restore PR + ldc.l @r1+, gbr ! restore GBR + ldc.l @r1+, vbr ! restore VBR + lds.l @r1+, mach ! restore MACH + lds.l @r1+, macl ! restore MACL + mov.l @r1, r0 + add #-88, r1 ! readjust reg pointer to R1 + mov.l r0, @(4, r15) ! restore SR onto stack+4 + mov.l r2, @-r15 + mov.l L_in_nmi, r0 + mov #0, r2 + mov.b r2, @r0 + mov.l @r15+, r2 + mov.l @r1+, r0 ! restore R0 + rte + mov.l @r1, r1 ! restore R1 + +"); +} + + +static __inline__ void code_for_catch_exception(int n) +{ + asm(" .globl _catch_exception_%O0" : : "i" (n) ); + asm(" _catch_exception_%O0:" :: "i" (n) ); + + asm(" add #-4, r15 ! reserve spot on stack "); + asm(" mov.l r1, @-r15 ! push R1 "); + + if (n == NMI_VEC) + { + /* Special case for NMI - make sure that they don't nest */ + asm(" mov.l r0, @-r15 ! push R0"); + asm(" mov.l L_in_nmi, r0"); + asm(" tas.b @r0 ! Fend off against addtnl NMIs"); + asm(" bt noNMI"); + asm(" mov.l @r15+, r0"); + asm(" mov.l @r15+, r1"); + asm(" add #4, r15"); + asm(" rte"); + asm(" nop"); + asm(".align 2"); + asm("L_in_nmi: .long _in_nmi"); + asm("noNMI:"); + } + else + { + + if (n == CPU_BUS_ERROR_VEC) + { + /* Exception 9 (bus errors) are disasbleable - so that you + can probe memory and get zero instead of a fault. + Because the vector table may be in ROM we don't revector + the interrupt like all the other stubs, we check in here + */ + asm("mov.l L_dofault,r1"); + asm("mov.l @r1,r1"); + asm("tst r1,r1"); + asm("bf faultaway"); + asm("bsr _handle_buserror"); + asm(".align 2"); + asm("L_dofault: .long _dofault"); + asm("faultaway:"); + } + asm(" mov #15<<4, r1 "); + asm(" ldc r1, sr ! disable interrupts "); + asm(" mov.l r0, @-r15 ! push R0 "); + } + + /* Prepare for saving context, we've already pushed r0 and r1, stick exception number + into the frame */ + asm(" mov r15, r0 "); + asm(" add #8, r0 "); + asm(" mov %0,r1" :: "i" (n) ); + asm(" extu.b r1,r1 "); + asm(" bra saveRegisters ! save register values "); + asm(" mov.l r1, @r0 ! save exception # "); +} + + +static void +exceptions() +{ + code_for_catch_exception (CPU_BUS_ERROR_VEC); + code_for_catch_exception (DMA_BUS_ERROR_VEC); + code_for_catch_exception (INVALID_INSN_VEC); + code_for_catch_exception (INVALID_SLOT_VEC); + code_for_catch_exception (NMI_VEC); + code_for_catch_exception (TRAP_VEC); + code_for_catch_exception (USER_VEC); + code_for_catch_exception (IO_VEC); +} + + + + + + +/* Support for Serial I/O using on chip uart */ + +#define SMR0 (*(volatile char *)(0x05FFFEC0)) /* Channel 0 serial mode register */ +#define BRR0 (*(volatile char *)(0x05FFFEC1)) /* Channel 0 bit rate register */ +#define SCR0 (*(volatile char *)(0x05FFFEC2)) /* Channel 0 serial control register */ +#define TDR0 (*(volatile char *)(0x05FFFEC3)) /* Channel 0 transmit data register */ +#define SSR0 (*(volatile char *)(0x05FFFEC4)) /* Channel 0 serial status register */ +#define RDR0 (*(volatile char *)(0x05FFFEC5)) /* Channel 0 receive data register */ + +#define SMR1 (*(volatile char *)(0x05FFFEC8)) /* Channel 1 serial mode register */ +#define BRR1 (*(volatile char *)(0x05FFFEC9)) /* Channel 1 bit rate register */ +#define SCR1 (*(volatile char *)(0x05FFFECA)) /* Channel 1 serial control register */ +#define TDR1 (*(volatile char *)(0x05FFFECB)) /* Channel 1 transmit data register */ +#define SSR1 (*(volatile char *)(0x05FFFECC)) /* Channel 1 serial status register */ +#define RDR1 (*(volatile char *)(0x05FFFECD)) /* Channel 1 receive data register */ + +/* + * Serial mode register bits + */ + +#define SYNC_MODE 0x80 +#define SEVEN_BIT_DATA 0x40 +#define PARITY_ON 0x20 +#define ODD_PARITY 0x10 +#define STOP_BITS_2 0x08 +#define ENABLE_MULTIP 0x04 +#define PHI_64 0x03 +#define PHI_16 0x02 +#define PHI_4 0x01 + +/* + * Serial control register bits + */ +#define SCI_TIE 0x80 /* Transmit interrupt enable */ +#define SCI_RIE 0x40 /* Receive interrupt enable */ +#define SCI_TE 0x20 /* Transmit enable */ +#define SCI_RE 0x10 /* Receive enable */ +#define SCI_MPIE 0x08 /* Multiprocessor interrupt enable */ +#define SCI_TEIE 0x04 /* Transmit end interrupt enable */ +#define SCI_CKE1 0x02 /* Clock enable 1 */ +#define SCI_CKE0 0x01 /* Clock enable 0 */ + +/* + * Serial status register bits + */ +#define SCI_TDRE 0x80 /* Transmit data register empty */ +#define SCI_RDRF 0x40 /* Receive data register full */ +#define SCI_ORER 0x20 /* Overrun error */ +#define SCI_FER 0x10 /* Framing error */ +#define SCI_PER 0x08 /* Parity error */ +#define SCI_TEND 0x04 /* Transmit end */ +#define SCI_MPB 0x02 /* Multiprocessor bit */ +#define SCI_MPBT 0x01 /* Multiprocessor bit transfer */ + + +/* + * Port B IO Register (PBIOR) + */ +#define PBIOR (*(volatile char *)(0x05FFFFC6)) +#define PB15IOR 0x8000 +#define PB14IOR 0x4000 +#define PB13IOR 0x2000 +#define PB12IOR 0x1000 +#define PB11IOR 0x0800 +#define PB10IOR 0x0400 +#define PB9IOR 0x0200 +#define PB8IOR 0x0100 +#define PB7IOR 0x0080 +#define PB6IOR 0x0040 +#define PB5IOR 0x0020 +#define PB4IOR 0x0010 +#define PB3IOR 0x0008 +#define PB2IOR 0x0004 +#define PB1IOR 0x0002 +#define PB0IOR 0x0001 + +/* + * Port B Control Register (PBCR1) + */ +#define PBCR1 (*(volatile short *)(0x05FFFFCC)) +#define PB15MD1 0x8000 +#define PB15MD0 0x4000 +#define PB14MD1 0x2000 +#define PB14MD0 0x1000 +#define PB13MD1 0x0800 +#define PB13MD0 0x0400 +#define PB12MD1 0x0200 +#define PB12MD0 0x0100 +#define PB11MD1 0x0080 +#define PB11MD0 0x0040 +#define PB10MD1 0x0020 +#define PB10MD0 0x0010 +#define PB9MD1 0x0008 +#define PB9MD0 0x0004 +#define PB8MD1 0x0002 +#define PB8MD0 0x0001 + +#define PB15MD PB15MD1|PB14MD0 +#define PB14MD PB14MD1|PB14MD0 +#define PB13MD PB13MD1|PB13MD0 +#define PB12MD PB12MD1|PB12MD0 +#define PB11MD PB11MD1|PB11MD0 +#define PB10MD PB10MD1|PB10MD0 +#define PB9MD PB9MD1|PB9MD0 +#define PB8MD PB8MD1|PB8MD0 + +#define PB_TXD1 PB11MD1 +#define PB_RXD1 PB10MD1 +#define PB_TXD0 PB9MD1 +#define PB_RXD0 PB8MD1 + +/* + * Port B Control Register (PBCR2) + */ +#define PBCR2 0x05FFFFCE +#define PB7MD1 0x8000 +#define PB7MD0 0x4000 +#define PB6MD1 0x2000 +#define PB6MD0 0x1000 +#define PB5MD1 0x0800 +#define PB5MD0 0x0400 +#define PB4MD1 0x0200 +#define PB4MD0 0x0100 +#define PB3MD1 0x0080 +#define PB3MD0 0x0040 +#define PB2MD1 0x0020 +#define PB2MD0 0x0010 +#define PB1MD1 0x0008 +#define PB1MD0 0x0004 +#define PB0MD1 0x0002 +#define PB0MD0 0x0001 + +#define PB7MD PB7MD1|PB7MD0 +#define PB6MD PB6MD1|PB6MD0 +#define PB5MD PB5MD1|PB5MD0 +#define PB4MD PB4MD1|PB4MD0 +#define PB3MD PB3MD1|PB3MD0 +#define PB2MD PB2MD1|PB2MD0 +#define PB1MD PB1MD1|PB1MD0 +#define PB0MD PB0MD1|PB0MD0 + + +#ifdef MHZ +#define BPS 32 * 9600 * MHZ / ( BAUD * 10) +#else +#define BPS 32 /* 9600 for 10 Mhz */ +#endif + +char getDebugChar (void); +int putDebugChar (char); +void handleError (char theSSR); + +void +nop () +{ + +} +void +init_serial() +{ + int i; + + /* Clear TE and RE in Channel 1's SCR */ + SCR1 &= ~(SCI_TE | SCI_RE); + + /* Set communication to be async, 8-bit data, no parity, 1 stop bit and use internal clock */ + + SMR1 = 0; + BRR1 = BPS; + + SCR1 &= ~(SCI_CKE1 | SCI_CKE0); + + /* let the hardware settle */ + + for (i = 0; i < 1000; i++) + nop (); + + /* Turn on in and out */ + SCR1 |= SCI_RE | SCI_TE; + + /* Set the PFC to make RXD1 (pin PB8) an input pin and TXD1 (pin PB9) an output pin */ + PBCR1 &= ~(PB_TXD1 | PB_RXD1); + PBCR1 |= PB_TXD1 | PB_RXD1; +} + + +int +getDebugCharReady (void) +{ + char mySSR; + mySSR = SSR1 & ( SCI_PER | SCI_FER | SCI_ORER ); + if ( mySSR ) + handleError ( mySSR ); + return SSR1 & SCI_RDRF ; +} + +char +getDebugChar (void) +{ + char ch; + char mySSR; + + while ( ! getDebugCharReady()) + ; + + ch = RDR1; + SSR1 &= ~SCI_RDRF; + + mySSR = SSR1 & (SCI_PER | SCI_FER | SCI_ORER); + + if (mySSR) + handleError (mySSR); + + return ch; +} + +int +putDebugCharReady() +{ + return (SSR1 & SCI_TDRE); +} + +int +putDebugChar (char ch) +{ + while (!putDebugCharReady()) + ; + + /* + * Write data into TDR and clear TDRE + */ + TDR1 = ch; + SSR1 &= ~SCI_TDRE; + return 1; +} + +void +handleError (char theSSR) +{ + SSR1 &= ~(SCI_ORER | SCI_PER | SCI_FER); +} + diff --git a/contrib/gdb/gdb/config/sh/tm-sh.h b/contrib/gdb/gdb/config/sh/tm-sh.h new file mode 100644 index 0000000000000..0a57192bec989 --- /dev/null +++ b/contrib/gdb/gdb/config/sh/tm-sh.h @@ -0,0 +1,239 @@ +/* Target-specific definition for a Hitachi Super-H. + Copyright (C) 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Contributed by Steve Chamberlain sac@cygnus.com */ + +#define GDB_TARGET_IS_SH + +#define IEEE_FLOAT 1 + +/* Define the bit, byte, and word ordering of the machine. */ + +#define TARGET_BYTE_ORDER_SELECTABLE + + +/* Offset from address of function to start of its code. + Zero on most machines. */ + +#define FUNCTION_START_OFFSET 0 + +/* Advance PC across any function entry prologue instructions + to reach some "real" code. */ + +extern CORE_ADDR sh_skip_prologue (); +#define SKIP_PROLOGUE(ip) \ + {(ip) = sh_skip_prologue(ip);} + + +/* Immediately after a function call, return the saved pc. + Can't always go through the frames for this because on some machines + the new frame is not set up until the new function executes + some instructions. + + The return address is the value saved in the PR register + 4 */ + +#define SAVED_PC_AFTER_CALL(frame) \ + (ADDR_BITS_REMOVE(read_register(PR_REGNUM))) + +/* Stack grows downward. */ + +#define INNER_THAN < + +/* Illegal instruction - used by the simulator for breakpoint + detection */ + +#define BREAKPOINT {0xc3, 0xc3} /* 0xc3c3 is trapa #c3, and it works in big + and little endian modes */ +#define REMOTE_BREAKPOINT { 0xc3, 0x20} + +/* If your kernel resets the pc after the trap happens you may need to + define this before including this file. */ +#define DECR_PC_AFTER_BREAK 0 + +/* Nonzero if instruction at PC is a return instruction. */ +#define ABOUT_TO_RETURN(pc) (read_memory_integer(pc,2) == 0x000b) + +/* Say how long registers are. */ +#define REGISTER_TYPE long + +/* Say how much memory is needed to store a copy of the register set */ +#define REGISTER_BYTES (NUM_REGS*4) + +/* Index within `registers' of the first byte of the space for + register N. */ + +#define REGISTER_BYTE(N) ((N)*4) + +/* Number of bytes of storage in the actual machine representation + for register N. */ + +#define REGISTER_RAW_SIZE(N) 4 + +#define REGISTER_VIRTUAL_SIZE(N) 4 + +/* Largest value REGISTER_RAW_SIZE can have. */ + +#define MAX_REGISTER_RAW_SIZE 4 + +/* Largest value REGISTER_VIRTUAL_SIZE can have. */ + +#define MAX_REGISTER_VIRTUAL_SIZE 4 + +/* Return the GDB type object for the "standard" data type + of data in register N. */ + +#define REGISTER_VIRTUAL_TYPE(N) \ + ((((N) >= FP0_REGNUM && (N) < FP15_REGNUM) \ + || (N) == FPUL_REGNUM) \ + ? builtin_type_float : builtin_type_int) + +/* Initializer for an array of names of registers. + Entries beyond the first NUM_REGS are ignored. */ + +#define REGISTER_NAMES \ + {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \ + "r8", "r9", "r10","r11","r12", "r13", "r14","r15",\ + "pc", "pr", "gbr","vbr","mach","macl","sr", \ + "fpul","fpscr", \ + "fr0", "fr1", "fr2", "fr3", "fr4", "fr5", "fr6", "fr7", \ + "fr8", "fr9", "fr10","fr11","fr12","fr13","fr14","fr15",\ + "r0b0", "r1b0", "r2b0", "r3b0", "r4b0", "r5b0", "r6b0", "r7b0", \ + "r0b1", "r1b1", "r2b1", "r3b1", "r4b1", "r5b1", "r6b1", "r7b1" \ + } + +#define NUM_REGS 57 + +/* Register numbers of various important registers. + Note that some of these values are "real" register numbers, + and correspond to the general registers of the machine, + and some are "phony" register numbers which are too large + to be actual register numbers as far as the user is concerned + but do serve to get the desired values when passed to read_register. */ + +#define R0_REGNUM 0 +#define FP_REGNUM 14 +#define SP_REGNUM 15 +#define PC_REGNUM 16 +#define PR_REGNUM 17 +#define GBR_REGNUM 18 +#define VBR_REGNUM 19 +#define MACH_REGNUM 20 +#define MACL_REGNUM 21 +#define SR_REGNUM 22 +#define NUM_REALREGS 23 +#define FPUL_REGNUM 23 +#define FP0_REGNUM 25 +#define FP15_REGNUM 41 +#undef NUM_REALREGS +#define NUM_REALREGS 57 + +/* Store the address of the place in which to copy the structure the + subroutine will return. This is called from call_function. + + We store structs through a pointer passed in R4 */ + +#define STORE_STRUCT_RETURN(ADDR, SP) \ + { write_register (4, (ADDR)); } + +/* Extract from an array REGBUF containing the (raw) register state + a function return value of type TYPE, and copy that, in virtual format, + into VALBUF. */ + +#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ + memcpy (VALBUF, (char *)(REGBUF), TYPE_LENGTH(TYPE)) + + +/* Write into appropriate registers a function return value + of type TYPE, given in virtual format. + + Things always get returned in R4/R5 */ + +#define STORE_RETURN_VALUE(TYPE,VALBUF) \ + write_register_bytes (REGISTER_BYTE(4), VALBUF, TYPE_LENGTH (TYPE)) + + +/* Extract from an array REGBUF containing the (raw) register state + the address in which a function should return its structure value, + as a CORE_ADDR (or an expression that can be used as one). */ + +#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(CORE_ADDR *)(REGBUF)) + + +/* Define other aspects of the stack frame. + we keep a copy of the worked out return pc lying around, since it + is a useful bit of info */ + +#define EXTRA_FRAME_INFO \ + CORE_ADDR return_pc; \ + int leaf_function; \ + int f_offset; + +#define INIT_EXTRA_FRAME_INFO(fromleaf, fi) \ + init_extra_frame_info(fromleaf, fi) + +/* A macro that tells us whether the function invocation represented + by FI does not have a frame on the stack associated with it. If it + does not, FRAMELESS is set to 1, else 0. */ + +#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \ + (FRAMELESS) = frameless_look_for_prologue(FI) + +#define FRAME_CHAIN(FRAME) sh_frame_chain(FRAME) +#define FRAME_SAVED_PC(FRAME) ((FRAME)->return_pc) +#define FRAME_ARGS_ADDRESS(fi) (fi)->frame +#define FRAME_LOCALS_ADDRESS(fi) (fi)->frame + +/* Set VAL to the number of args passed to frame described by FI. + Can set VAL to -1, meaning no way to tell. */ + +/* We can't tell how many args there are */ + +#define FRAME_NUM_ARGS(val,fi) (val = -1) + +/* Return number of bytes at start of arglist that are not really args. */ + +#define FRAME_ARGS_SKIP 0 + +/* Put here the code to store, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. */ + +#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \ + frame_find_saved_regs(frame_info, &(frame_saved_regs)) + +#define NAMES_HAVE_UNDERSCORE + +typedef unsigned short INSN_WORD; + +#define ADDR_BITS_REMOVE(addr) ((addr)) + +#define CALL_DUMMY_LENGTH 10 + +/* Discard from the stack the innermost frame, + restoring all saved registers. */ + +#define POP_FRAME pop_frame(); + + +#define NOP {0x20, 0x0b} + +#define REGISTER_SIZE 4 + diff --git a/contrib/gdb/gdb/convex-tdep.c b/contrib/gdb/gdb/convex-tdep.c new file mode 100644 index 0000000000000..1cc4736575039 --- /dev/null +++ b/contrib/gdb/gdb/convex-tdep.c @@ -0,0 +1,1223 @@ +/* Convex stuff for GDB. + Copyright (C) 1990, 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "command.h" +#include "symtab.h" +#include "value.h" +#include "frame.h" +#include "inferior.h" +#include "wait.h" + +#include <signal.h> +#include <fcntl.h> + +#include "gdbcore.h" +#include <sys/param.h> +#include <sys/dir.h> +#include <sys/user.h> +#include <sys/ioctl.h> +#include <sys/pcntl.h> +#include <sys/thread.h> +#include <sys/proc.h> +#include <sys/file.h> +#include "gdb_stat.h" +#include <sys/mman.h> + +#include "gdbcmd.h" + +exec_file_command (filename, from_tty) + char *filename; + int from_tty; +{ + int val; + int n; + struct stat st_exec; + + /* Eliminate all traces of old exec file. + Mark text segment as empty. */ + + if (execfile) + free (execfile); + execfile = 0; + data_start = 0; + data_end = 0; + text_start = 0; + text_end = 0; + exec_data_start = 0; + exec_data_end = 0; + if (execchan >= 0) + close (execchan); + execchan = -1; + + n_exec = 0; + + /* Now open and digest the file the user requested, if any. */ + + if (filename) + { + filename = tilde_expand (filename); + make_cleanup (free, filename); + + execchan = openp (getenv ("PATH"), 1, filename, O_RDONLY, 0, + &execfile); + if (execchan < 0) + perror_with_name (filename); + + if (myread (execchan, &filehdr, sizeof filehdr) < 0) + perror_with_name (filename); + + if (! IS_SOFF_MAGIC (filehdr.h_magic)) + error ("%s: not an executable file.", filename); + + if (myread (execchan, &opthdr, filehdr.h_opthdr) <= 0) + perror_with_name (filename); + + /* Read through the section headers. + For text, data, etc, record an entry in the exec file map. + Record text_start and text_end. */ + + lseek (execchan, (long) filehdr.h_scnptr, 0); + + for (n = 0; n < filehdr.h_nscns; n++) + { + if (myread (execchan, &scnhdr, sizeof scnhdr) < 0) + perror_with_name (filename); + + if ((scnhdr.s_flags & S_TYPMASK) >= S_TEXT + && (scnhdr.s_flags & S_TYPMASK) <= S_COMON) + { + exec_map[n_exec].mem_addr = scnhdr.s_vaddr; + exec_map[n_exec].mem_end = scnhdr.s_vaddr + scnhdr.s_size; + exec_map[n_exec].file_addr = scnhdr.s_scnptr; + exec_map[n_exec].type = scnhdr.s_flags & S_TYPMASK; + n_exec++; + + if ((scnhdr.s_flags & S_TYPMASK) == S_TEXT) + { + text_start = scnhdr.s_vaddr; + text_end = scnhdr.s_vaddr + scnhdr.s_size; + } + } + } + + fstat (execchan, &st_exec); + exec_mtime = st_exec.st_mtime; + + validate_files (); + } + else if (from_tty) + printf_filtered ("No exec file now.\n"); + + /* Tell display code (if any) about the changed file name. */ + if (exec_file_display_hook) + (*exec_file_display_hook) (filename); +} + +#if 0 +/* Read data from SOFF exec or core file. + Return 0 on success, EIO if address out of bounds. */ + +int +xfer_core_file (memaddr, myaddr, len) + CORE_ADDR memaddr; + char *myaddr; + int len; +{ + register int i; + register int n; + register int val; + int xferchan; + char **xferfile; + int fileptr; + int returnval = 0; + + while (len > 0) + { + xferfile = 0; + xferchan = 0; + + /* Determine which file the next bunch of addresses reside in, + and where in the file. Set the file's read/write pointer + to point at the proper place for the desired address + and set xferfile and xferchan for the correct file. + If desired address is nonexistent, leave them zero. + i is set to the number of bytes that can be handled + along with the next address. */ + + i = len; + + for (n = 0; n < n_core; n++) + { + if (memaddr >= core_map[n].mem_addr && memaddr < core_map[n].mem_end + && (core_map[n].thread == -1 + || core_map[n].thread == inferior_thread)) + { + i = min (len, core_map[n].mem_end - memaddr); + fileptr = core_map[n].file_addr + memaddr - core_map[n].mem_addr; + if (core_map[n].file_addr) + { + xferfile = &corefile; + xferchan = corechan; + } + break; + } + else if (core_map[n].mem_addr >= memaddr + && core_map[n].mem_addr < memaddr + i) + i = core_map[n].mem_addr - memaddr; + } + + if (!xferfile) + for (n = 0; n < n_exec; n++) + { + if (memaddr >= exec_map[n].mem_addr + && memaddr < exec_map[n].mem_end) + { + i = min (len, exec_map[n].mem_end - memaddr); + fileptr = exec_map[n].file_addr + memaddr + - exec_map[n].mem_addr; + if (exec_map[n].file_addr) + { + xferfile = &execfile; + xferchan = execchan; + } + break; + } + else if (exec_map[n].mem_addr >= memaddr + && exec_map[n].mem_addr < memaddr + i) + i = exec_map[n].mem_addr - memaddr; + } + + /* Now we know which file to use. + Set up its pointer and transfer the data. */ + if (xferfile) + { + if (*xferfile == 0) + if (xferfile == &execfile) + error ("No program file to examine."); + else + error ("No core dump file or running program to examine."); + val = lseek (xferchan, fileptr, 0); + if (val < 0) + perror_with_name (*xferfile); + val = myread (xferchan, myaddr, i); + if (val < 0) + perror_with_name (*xferfile); + } + /* If this address is for nonexistent memory, + read zeros if reading, or do nothing if writing. */ + else + { + memset (myaddr, '\0', i); + returnval = EIO; + } + + memaddr += i; + myaddr += i; + len -= i; + } + return returnval; +} +#endif + +/* Here from info files command to print an address map. */ + +print_maps () +{ + struct pmap ptrs[200]; + int n; + + /* ID strings for core and executable file sections */ + + static char *idstr[] = + { + "0", "text", "data", "tdata", "bss", "tbss", + "common", "ttext", "ctx", "tctx", "10", "11", "12", + }; + + for (n = 0; n < n_core; n++) + { + core_map[n].which = 0; + ptrs[n] = core_map[n]; + } + for (n = 0; n < n_exec; n++) + { + exec_map[n].which = 1; + ptrs[n_core+n] = exec_map[n]; + } + + qsort (ptrs, n_core + n_exec, sizeof *ptrs, ptr_cmp); + + for (n = 0; n < n_core + n_exec; n++) + { + struct pmap *p = &ptrs[n]; + if (n > 0) + { + if (p->mem_addr < ptrs[n-1].mem_end) + p->mem_addr = ptrs[n-1].mem_end; + if (p->mem_addr >= p->mem_end) + continue; + } + printf_filtered ("%08x .. %08x %-6s %s\n", + p->mem_addr, p->mem_end, idstr[p->type], + p->which ? execfile : corefile); + } +} + +/* Compare routine to put file sections in order. + Sort into increasing order on address, and put core file sections + before exec file sections if both files contain the same addresses. */ + +static ptr_cmp (a, b) + struct pmap *a, *b; +{ + if (a->mem_addr != b->mem_addr) return a->mem_addr - b->mem_addr; + return a->which - b->which; +} + +/* Trapped internal variables are used to handle special registers. + A trapped i.v. calls a hook here every time it is dereferenced, + to provide a new value for the variable, and it calls a hook here + when a new value is assigned, to do something with the value. + + The vector registers are $vl, $vs, $vm, $vN, $VN (N in 0..7). + The communication registers are $cN, $CN (N in 0..63). + They not handled as regular registers because it's expensive to + read them, and their size varies, and they have too many names. */ + + +/* Return 1 if NAME is a trapped internal variable, else 0. */ + +int +is_trapped_internalvar (name) + char *name; +{ + if ((name[0] == 'c' || name[0] == 'C') + && name[1] >= '0' && name[1] <= '9' + && (name[2] == '\0' + || (name[2] >= '0' && name[2] <= '9' + && name[3] == '\0' && name[1] != '0')) + && atoi (&name[1]) < 64) return 1; + + if ((name[0] == 'v' || name[0] == 'V') + && (((name[1] & -8) == '0' && name[2] == '\0') + || STREQ (name, "vl") + || STREQ (name, "vs") + || STREQ (name, "vm"))) + return 1; + else return 0; +} + +/* Return the value of trapped internal variable VAR */ + +value +value_of_trapped_internalvar (var) + struct internalvar *var; +{ + char *name = var->name; + value val; + struct type *type; + struct type *range_type; + long len = *read_vector_register (VL_REGNUM); + if (len <= 0 || len > 128) len = 128; + + if (STREQ (name, "vl")) + { + val = value_from_longest (builtin_type_int, + (LONGEST) *read_vector_register_1 (VL_REGNUM)); + } + else if (STREQ (name, "vs")) + { + val = value_from_longest (builtin_type_int, + (LONGEST) *read_vector_register_1 (VS_REGNUM)); + } + else if (STREQ (name, "vm")) + { + long vm[4]; + long i, *p; + memcpy (vm, read_vector_register_1 (VM_REGNUM), sizeof vm); + range_type = + create_range_type ((struct type *) NULL, builtin_type_int, 0, len - 1); + type = + create_array_type ((struct type *) NULL, builtin_type_int, range_type); + val = allocate_value (type); + p = (long *) VALUE_CONTENTS (val); + for (i = 0; i < len; i++) + *p++ = !! (vm[3 - (i >> 5)] & (1 << (i & 037))); + } + else if (name[0] == 'V') + { + range_type = + create_range_type ((struct type *) NULL, builtin_type_int 0, len - 1); + type = + create_array_type ((struct type *) NULL, builtin_type_long_long, + range_type); + val = allocate_value (type); + memcpy (VALUE_CONTENTS (val), + read_vector_register_1 (name[1] - '0'), + TYPE_LENGTH (type)); + } + else if (name[0] == 'v') + { + long *p1, *p2; + range_type = + create_range_type ((struct type *) NULL, builtin_type_int 0, len - 1); + type = + create_array_type ((struct type *) NULL, builtin_type_long, + range_type); + val = allocate_value (type); + p1 = read_vector_register_1 (name[1] - '0'); + p2 = (long *) VALUE_CONTENTS (val); + while (--len >= 0) {p1++; *p2++ = *p1++;} + } + + else if (name[0] == 'c') + val = value_from_longest (builtin_type_int, + read_comm_register (atoi (&name[1]))); + else if (name[0] == 'C') + val = value_from_longest (builtin_type_long_long, + read_comm_register (atoi (&name[1]))); + + VALUE_LVAL (val) = lval_internalvar; + VALUE_INTERNALVAR (val) = var; + return val; +} + +/* Handle a new value assigned to a trapped internal variable */ + +void +set_trapped_internalvar (var, val, bitpos, bitsize, offset) + struct internalvar *var; + value val; + int bitpos, bitsize, offset; +{ + char *name = var->name; + long long newval = value_as_long (val); + + if (STREQ (name, "vl")) + write_vector_register (VL_REGNUM, 0, newval); + else if (STREQ (name, "vs")) + write_vector_register (VS_REGNUM, 0, newval); + else if (name[0] == 'c' || name[0] == 'C') + write_comm_register (atoi (&name[1]), newval); + else if (STREQ (name, "vm")) + error ("can't assign to $vm"); + else + { + offset /= bitsize / 8; + write_vector_register (name[1] - '0', offset, newval); + } +} + +/* Print an integer value when no format was specified. gdb normally + prints these values in decimal, but the the leading 0x80000000 of + pointers produces intolerable 10-digit negative numbers. + If it looks like an address, print it in hex instead. */ + +decout (stream, type, val) + FILE *stream; + struct type *type; + LONGEST val; +{ + long lv = val; + + switch (output_radix) + { + case 0: + if ((lv == val || (unsigned) lv == val) + && ((lv & 0xf0000000) == 0x80000000 + || ((lv & 0xf0000000) == 0xf0000000 && lv < STACK_END_ADDR))) + { + fprintf_filtered (stream, "%#x", lv); + return; + } + + case 10: + fprintf_filtered (stream, TYPE_UNSIGNED (type) ? "%llu" : "%lld", val); + return; + + case 8: + if (TYPE_LENGTH (type) <= sizeof lv) + fprintf_filtered (stream, "%#o", lv); + else + fprintf_filtered (stream, "%#llo", val); + return; + + case 16: + if (TYPE_LENGTH (type) <= sizeof lv) + fprintf_filtered (stream, "%#x", lv); + else + fprintf_filtered (stream, "%#llx", val); + return; + } +} + +/* Change the default output radix to 10 or 16, or set it to 0 (heuristic). + This command is mostly obsolete now that the print command allows + formats to apply to aggregates, but is still handy occasionally. */ + +static void +set_base_command (arg) + char *arg; +{ + int new_radix; + + if (!arg) + output_radix = 0; + else + { + new_radix = atoi (arg); + if (new_radix != 10 && new_radix != 16 && new_radix != 8) + error ("base must be 8, 10 or 16, or null"); + else output_radix = new_radix; + } +} + +/* Turn pipelining on or off in the inferior. */ + +static void +set_pipelining_command (arg) + char *arg; +{ + if (!arg) + { + sequential = !sequential; + printf_filtered ("%s\n", sequential ? "off" : "on"); + } + else if (STREQ (arg, "on")) + sequential = 0; + else if (STREQ (arg, "off")) + sequential = 1; + else error ("valid args are `on', to allow instructions to overlap, or\n\ +`off', to prevent it and thereby pinpoint exceptions."); +} + +/* Enable, disable, or force parallel execution in the inferior. */ + +static void +set_parallel_command (arg) + char *arg; +{ + struct rlimit rl; + int prevparallel = parallel; + + if (!strncmp (arg, "fixed", strlen (arg))) + parallel = 2; + else if (STREQ (arg, "on")) + parallel = 1; + else if (STREQ (arg, "off")) + parallel = 0; + else error ("valid args are `on', to allow multiple threads, or\n\ +`fixed', to force multiple threads, or\n\ +`off', to run with one thread only."); + + if ((prevparallel == 0) != (parallel == 0) && inferior_pid) + printf_filtered ("will take effect at next run.\n"); + + getrlimit (RLIMIT_CONCUR, &rl); + rl.rlim_cur = parallel ? rl.rlim_max : 1; + setrlimit (RLIMIT_CONCUR, &rl); + + if (inferior_pid) + set_fixed_scheduling (inferior_pid, parallel == 2); +} + +/* Add a new name for an existing command. */ + +static void +alias_command (arg) + char *arg; +{ + static char *aliaserr = "usage is `alias NEW OLD', no args allowed"; + char *newname = arg; + struct cmd_list_element *new, *old; + + if (!arg) + error_no_arg ("newname oldname"); + + new = lookup_cmd (&arg, cmdlist, "", -1); + if (new && !strncmp (newname, new->name, strlen (new->name))) + { + newname = new->name; + if (!(*arg == '-' + || (*arg >= 'a' && *arg <= 'z') + || (*arg >= 'A' && *arg <= 'Z') + || (*arg >= '0' && *arg <= '9'))) + error (aliaserr); + } + else + { + arg = newname; + while (*arg == '-' + || (*arg >= 'a' && *arg <= 'z') + || (*arg >= 'A' && *arg <= 'Z') + || (*arg >= '0' && *arg <= '9')) + arg++; + if (*arg != ' ' && *arg != '\t') + error (aliaserr); + *arg = '\0'; + arg++; + } + + old = lookup_cmd (&arg, cmdlist, "", 0); + + if (*arg != '\0') + error (aliaserr); + + if (new && !strncmp (newname, new->name, strlen (new->name))) + { + char *tem; + if (new->class == (int) class_user || new->class == (int) class_alias) + tem = "Redefine command \"%s\"? "; + else + tem = "Really redefine built-in command \"%s\"? "; + if (!query (tem, new->name)) + error ("Command \"%s\" not redefined.", new->name); + } + + add_com (newname, class_alias, old->function, old->doc); +} + + + +/* Print the current thread number, and any threads with signals in the + queue. */ + +thread_info () +{ + struct threadpid *p; + + if (have_inferior_p ()) + { + ps.pi_buffer = (char *) &comm_registers; + ps.pi_nbytes = sizeof comm_registers; + ps.pi_offset = 0; + ps.pi_thread = inferior_thread; + ioctl (inferior_fd, PIXRDCREGS, &ps); + } + + /* FIXME: stop_signal is from target.h but stop_sigcode is a + convex-specific thing. */ + printf_filtered ("Current thread %d stopped with signal %d.%d (%s).\n", + inferior_thread, stop_signal, stop_sigcode, + subsig_name (stop_signal, stop_sigcode)); + + for (p = signal_stack; p->pid; p--) + printf_filtered ("Thread %d stopped with signal %d.%d (%s).\n", + p->thread, p->signo, p->subsig, + subsig_name (p->signo, p->subsig)); + + if (iscrlbit (comm_registers.crctl.lbits.cc, 64+13)) + printf_filtered ("New thread start pc %#x\n", + (long) (comm_registers.crreg.pcpsw >> 32)); +} + +/* Return string describing a signal.subcode number */ + +static char * +subsig_name (signo, subcode) + int signo, subcode; +{ + static char *subsig4[] = { + "error exit", "privileged instruction", "unknown", + "unknown", "undefined opcode", + 0}; + static char *subsig5[] = {0, + "breakpoint", "single step", "fork trap", "exec trap", "pfork trap", + "join trap", "idle trap", "last thread", "wfork trap", + "process breakpoint", "trap instruction", + 0}; + static char *subsig8[] = {0, + "int overflow", "int divide check", "float overflow", + "float divide check", "float underflow", "reserved operand", + "sqrt error", "exp error", "ln error", "sin error", "cos error", + 0}; + static char *subsig10[] = {0, + "invalid inward ring address", "invalid outward ring call", + "invalid inward ring return", "invalid syscall gate", + "invalid rtn frame length", "invalid comm reg address", + "invalid trap gate", + 0}; + static char *subsig11[] = {0, + "read access denied", "write access denied", "execute access denied", + "segment descriptor fault", "page table fault", "data reference fault", + "i/o access denied", "levt pte invalid", + 0}; + + static char **subsig_list[] = + {0, 0, 0, 0, subsig4, subsig5, 0, 0, subsig8, 0, subsig10, subsig11, 0}; + + int i; + char *p; + + if ((p = strsignal (signo)) == NULL) + p = "unknown"; + if (signo >= (sizeof subsig_list / sizeof *subsig_list) + || !subsig_list[signo]) + return p; + for (i = 1; subsig_list[signo][i]; i++) + if (i == subcode) + return subsig_list[signo][subcode]; + return p; +} + + +/* Print a compact display of thread status, essentially x/i $pc + for all active threads. */ + +static void +threadstat () +{ + int t; + + for (t = 0; t < n_threads; t++) + if (thread_state[t] == PI_TALIVE) + { + printf_filtered ("%d%c %08x%c %d.%d ", t, + (t == inferior_thread ? '*' : ' '), thread_pc[t], + (thread_is_in_kernel[t] ? '#' : ' '), + thread_signal[t], thread_sigcode[t]); + print_insn (thread_pc[t], stdout); + printf_filtered ("\n"); + } +} + +/* Change the current thread to ARG. */ + +set_thread_command (arg) + char *arg; +{ + int thread; + + if (!arg) + { + threadstat (); + return; + } + + thread = parse_and_eval_address (arg); + + if (thread < 0 || thread > n_threads || thread_state[thread] != PI_TALIVE) + error ("no such thread."); + + select_thread (thread); + + stop_pc = read_pc (); + flush_cached_frames (); + select_frame (get_current_frame (), 0); + print_stack_frame (selected_frame, selected_frame_level, -1); +} + +/* Here on CONT command; gdb's dispatch address is changed to come here. + Set global variable ALL_CONTINUE to tell resume() that it should + start up all threads, and that a thread switch will not blow gdb's + mind. */ + +static void +convex_cont_command (proc_count_exp, from_tty) + char *proc_count_exp; + int from_tty; +{ + all_continue = 1; + cont_command (proc_count_exp, from_tty); +} + +/* Here on 1CONT command. Resume only the current thread. */ + +one_cont_command (proc_count_exp, from_tty) + char *proc_count_exp; + int from_tty; +{ + cont_command (proc_count_exp, from_tty); +} + +/* Print the contents and lock bits of all communication registers, + or just register ARG if ARG is a communication register, + or the 3-word resource structure in memory at address ARG. */ + +comm_registers_info (arg) + char *arg; +{ + int i, regnum; + + if (arg) + { + if (sscanf (arg, "$c%d", ®num) == 1) { + ; + } else if (sscanf (arg, "$C%d", ®num) == 1) { + ; + } else { + regnum = parse_and_eval_address (arg); + if (regnum > 0) + regnum &= ~0x8000; + } + + if (regnum >= 64) + error ("%s: invalid register name.", arg); + + /* if we got a (user) address, examine the resource struct there */ + + if (regnum < 0) + { + static int buf[3]; + read_memory (regnum, buf, sizeof buf); + printf_filtered ("%08x %08x%08x%s\n", regnum, buf[1], buf[2], + buf[0] & 0xff ? " locked" : ""); + return; + } + } + + ps.pi_buffer = (char *) &comm_registers; + ps.pi_nbytes = sizeof comm_registers; + ps.pi_offset = 0; + ps.pi_thread = inferior_thread; + ioctl (inferior_fd, PIXRDCREGS, &ps); + + for (i = 0; i < 64; i++) + if (!arg || i == regnum) + printf_filtered ("%2d 0x8%03x %016llx%s\n", i, i, + comm_registers.crreg.r4[i], + (iscrlbit (comm_registers.crctl.lbits.cc, i) + ? " locked" : "")); +} + +/* Print the psw */ + +static void +psw_info (arg) + char *arg; +{ + struct pswbit + { + int bit; + int pos; + char *text; + }; + + static struct pswbit pswbit[] = + { + { 0x80000000, -1, "A carry" }, + { 0x40000000, -1, "A integer overflow" }, + { 0x20000000, -1, "A zero divide" }, + { 0x10000000, -1, "Integer overflow enable" }, + { 0x08000000, -1, "Trace" }, + { 0x06000000, 25, "Frame length" }, + { 0x01000000, -1, "Sequential" }, + { 0x00800000, -1, "S carry" }, + { 0x00400000, -1, "S integer overflow" }, + { 0x00200000, -1, "S zero divide" }, + { 0x00100000, -1, "Zero divide enable" }, + { 0x00080000, -1, "Floating underflow" }, + { 0x00040000, -1, "Floating overflow" }, + { 0x00020000, -1, "Floating reserved operand" }, + { 0x00010000, -1, "Floating zero divide" }, + { 0x00008000, -1, "Floating error enable" }, + { 0x00004000, -1, "Floating underflow enable" }, + { 0x00002000, -1, "IEEE" }, + { 0x00001000, -1, "Sequential stores" }, + { 0x00000800, -1, "Intrinsic error" }, + { 0x00000400, -1, "Intrinsic error enable" }, + { 0x00000200, -1, "Trace thread creates" }, + { 0x00000100, -1, "Thread init trap" }, + { 0x000000e0, 5, "Reserved" }, + { 0x0000001f, 0, "Intrinsic error code" }, + {0, 0, 0}, + }; + + long psw; + struct pswbit *p; + + if (arg) + psw = parse_and_eval_address (arg); + else + psw = read_register (PS_REGNUM); + + for (p = pswbit; p->bit; p++) + { + if (p->pos < 0) + printf_filtered ("%08x %s %s\n", p->bit, + (psw & p->bit) ? "yes" : "no ", p->text); + else + printf_filtered ("%08x %3d %s\n", p->bit, + (psw & p->bit) >> p->pos, p->text); + } +} + +#include "symtab.h" + +/* reg (fmt_field, inst_field) -- + the {first,second,third} operand of instruction as fmt_field = [ijk] + gets the value of the field from the [ijk] position of the instruction */ + +#define reg(a,b) ((char (*)[3])(op[fmt->a]))[inst.f0.b] + +/* lit (fmt_field) -- field [ijk] is a literal (PSW, VL, eg) */ + +#define lit(i) op[fmt->i] + +/* aj[j] -- name for A register j */ + +#define aj ((char (*)[3])(op[A])) + +union inst { + struct { + unsigned : 7; + unsigned i : 3; + unsigned j : 3; + unsigned k : 3; + unsigned : 16; + unsigned : 32; + } f0; + struct { + unsigned : 8; + unsigned indir : 1; + unsigned len : 1; + unsigned j : 3; + unsigned k : 3; + unsigned : 16; + unsigned : 32; + } f1; + unsigned char byte[8]; + unsigned short half[4]; + char signed_byte[8]; + short signed_half[4]; +}; + +struct opform { + int mask; /* opcode mask */ + int shift; /* opcode align */ + struct formstr *formstr[3]; /* ST, E0, E1 */ +}; + +struct formstr { + unsigned lop:8, rop:5; /* opcode */ + unsigned fmt:5; /* inst format */ + unsigned i:5, j:5, k:2; /* operand formats */ +}; + +#include "opcode/convex.h" + +CONST unsigned char formdecode [] = { + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, + 4,4,4,4,4,4,4,4,5,5,5,5,6,6,7,8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +}; + +CONST struct opform opdecode[] = { + 0x7e00, 9, format0, e0_format0, e1_format0, + 0x3f00, 8, format1, e0_format1, e1_format1, + 0x1fc0, 6, format2, e0_format2, e1_format2, + 0x0fc0, 6, format3, e0_format3, e1_format3, + 0x0700, 8, format4, e0_format4, e1_format4, + 0x03c0, 6, format5, e0_format5, e1_format5, + 0x01f8, 3, format6, e0_format6, e1_format6, + 0x00f8, 3, format7, e0_format7, e1_format7, + 0x0000, 0, formatx, formatx, formatx, + 0x0f80, 7, formatx, formatx, formatx, + 0x0f80, 7, formatx, formatx, formatx, +}; + +/* Print the instruction at address MEMADDR in debugged memory, + on STREAM. Returns length of the instruction, in bytes. */ + +int +convex_print_insn (memaddr, stream) + CORE_ADDR memaddr; + FILE *stream; +{ + union inst inst; + struct formstr *fmt; + register int format, op1, pfx; + int l; + + read_memory (memaddr, &inst, sizeof inst); + + /* Remove and note prefix, if present */ + + pfx = inst.half[0]; + if ((pfx & 0xfff0) == 0x7ef0) + { + pfx = ((pfx >> 3) & 1) + 1; + *(long long *) &inst = *(long long *) &inst.half[1]; + } + else pfx = 0; + + /* Split opcode into format.op1 and look up in appropriate table */ + + format = formdecode[inst.byte[0]]; + op1 = (inst.half[0] & opdecode[format].mask) >> opdecode[format].shift; + if (format == 9) + { + if (pfx) + fmt = formatx; + else if (inst.f1.j == 0) + fmt = &format1a[op1]; + else if (inst.f1.j == 1) + fmt = &format1b[op1]; + else + fmt = formatx; + } + else + fmt = &opdecode[format].formstr[pfx][op1]; + + /* Print it */ + + if (fmt->fmt == xxx) + { + /* noninstruction */ + fprintf (stream, "0x%04x", pfx ? pfx : inst.half[0]); + return 2; + } + + if (pfx) + pfx = 2; + + fprintf (stream, "%s%s%s", lop[fmt->lop], rop[fmt->rop], + &" "[strlen(lop[fmt->lop]) + strlen(rop[fmt->rop])]); + + switch (fmt->fmt) + { + case rrr: /* three register */ + fprintf (stream, "%s,%s,%s", reg(i,i), reg(j,j), reg(k,k)); + return pfx + 2; + + case rr: /* two register */ + fprintf (stream, "%s,%s", reg(i,j), reg(j,k)); + return pfx + 2; + + case rxr: /* two register, reversed i and j fields */ + fprintf (stream, "%s,%s", reg(i,k), reg(j,j)); + return pfx + 2; + + case r: /* one register */ + fprintf (stream, "%s", reg(i,k)); + return pfx + 2; + + case nops: /* no operands */ + return pfx + 2; + + case nr: /* short immediate, one register */ + fprintf (stream, "#%d,%s", inst.f0.j, reg(i,k)); + return pfx + 2; + + case pcrel: /* pc relative */ + print_address (memaddr + 2 * inst.signed_byte[1], stream); + return pfx + 2; + + case lr: /* literal, one register */ + fprintf (stream, "%s,%s", lit(i), reg(j,k)); + return pfx + 2; + + case rxl: /* one register, literal */ + fprintf (stream, "%s,%s", reg(i,k), lit(j)); + return pfx + 2; + + case rlr: /* register, literal, register */ + fprintf (stream, "%s,%s,%s", reg(i,j), lit(j), reg(k,k)); + return pfx + 2; + + case rrl: /* register, register, literal */ + fprintf (stream, "%s,%s,%s", reg(i,j), reg(j,k), lit(k)); + return pfx + 2; + + case iml: /* immediate, literal */ + if (inst.f1.len) + { + fprintf (stream, "#%#x,%s", + (inst.signed_half[1] << 16) + inst.half[2], lit(i)); + return pfx + 6; + } + else + { + fprintf (stream, "#%d,%s", inst.signed_half[1], lit(i)); + return pfx + 4; + } + + case imr: /* immediate, register */ + if (inst.f1.len) + { + fprintf (stream, "#%#x,%s", + (inst.signed_half[1] << 16) + inst.half[2], reg(i,k)); + return pfx + 6; + } + else + { + fprintf (stream, "#%d,%s", inst.signed_half[1], reg(i,k)); + return pfx + 4; + } + + case a1r: /* memory, register */ + l = print_effa (inst, stream); + fprintf (stream, ",%s", reg(i,k)); + return pfx + l; + + case a1l: /* memory, literal */ + l = print_effa (inst, stream); + fprintf (stream, ",%s", lit(i)); + return pfx + l; + + case a2r: /* register, memory */ + fprintf (stream, "%s,", reg(i,k)); + return pfx + print_effa (inst, stream); + + case a2l: /* literal, memory */ + fprintf (stream, "%s,", lit(i)); + return pfx + print_effa (inst, stream); + + case a3: /* memory */ + return pfx + print_effa (inst, stream); + + case a4: /* system call */ + l = 29; goto a4a5; + case a5: /* trap */ + l = 27; + a4a5: + if (inst.f1.len) + { + unsigned int m = (inst.signed_half[1] << 16) + inst.half[2]; + fprintf (stream, "#%d,#%d", m >> l, m & (-1 >> (32-l))); + return pfx + 6; + } + else + { + unsigned int m = inst.signed_half[1]; + fprintf (stream, "#%d,#%d", m >> l, m & (-1 >> (32-l))); + return pfx + 4; + } + } +} + + +/* print effective address @nnn(aj), return instruction length */ + +int print_effa (inst, stream) + union inst inst; + FILE *stream; +{ + int n, l; + + if (inst.f1.len) + { + n = (inst.signed_half[1] << 16) + inst.half[2]; + l = 6; + } + else + { + n = inst.signed_half[1]; + l = 4; + } + + if (inst.f1.indir) + printf ("@"); + + if (!inst.f1.j) + { + print_address (n, stream); + return l; + } + + fprintf (stream, (n & 0xf0000000) == 0x80000000 ? "%#x(%s)" : "%d(%s)", + n, aj[inst.f1.j]); + + return l; +} + + +void +_initialize_convex_dep () +{ + add_com ("alias", class_support, alias_command, + "Add a new name for an existing command."); + + add_cmd ("base", class_vars, set_base_command, + "Change the integer output radix to 8, 10 or 16\n\ +or use just `set base' with no args to return to the ad-hoc default,\n\ +which is 16 for integers that look like addresses, 10 otherwise.", + &setlist); + + add_cmd ("pipeline", class_run, set_pipelining_command, + "Enable or disable overlapped execution of instructions.\n\ +With `set pipe off', exceptions are reported with\n\ +$pc pointing at the instruction after the faulting one.\n\ +The default is `set pipe on', which runs faster.", + &setlist); + + add_cmd ("parallel", class_run, set_parallel_command, + "Enable or disable multi-threaded execution of parallel code.\n\ +`set parallel off' means run the program on a single CPU.\n\ +`set parallel fixed' means run the program with all CPUs assigned to it.\n\ +`set parallel on' means run the program on any CPUs that are available.", + &setlist); + + add_com ("1cont", class_run, one_cont_command, + "Continue the program, activating only the current thread.\n\ +Args are the same as the `cont' command."); + + add_com ("thread", class_run, set_thread_command, + "Change the current thread, the one under scrutiny and control.\n\ +With no arg, show the active threads, the current one marked with *."); + + add_info ("threads", thread_info, + "List status of active threads."); + + add_info ("comm-registers", comm_registers_info, + "List communication registers and their contents.\n\ +A communication register name as argument means describe only that register.\n\ +An address as argument means describe the resource structure at that address.\n\ +`Locked' means that the register has been sent to but not yet received from."); + + add_info ("psw", psw_info, + "Display $ps, the processor status word, bit by bit.\n\ +An argument means display that value's interpretation as a psw."); + + add_cmd ("convex", no_class, 0, "Convex-specific commands.\n\ +32-bit registers $pc $ps $sp $ap $fp $a1-5 $s0-7 $v0-7 $vl $vs $vm $c0-63\n\ +64-bit registers $S0-7 $V0-7 $C0-63\n\ +\n\ +info threads display info on stopped threads waiting to signal\n\ +thread display list of active threads\n\ +thread N select thread N (its registers, stack, memory, etc.)\n\ +step, next, etc step selected thread only\n\ +1cont continue selected thread only\n\ +cont continue all threads\n\ +info comm-registers display contents of comm register(s) or a resource struct\n\ +info psw display processor status word $ps\n\ +set base N change integer radix used by `print' without a format\n\ +set pipeline off exceptions are precise, $pc points after the faulting insn\n\ +set pipeline on normal mode, $pc is somewhere ahead of faulting insn\n\ +set parallel off program runs on a single CPU\n\ +set parallel fixed all CPUs are assigned to the program\n\ +set parallel on normal mode, parallel execution on random available CPUs\n\ +", + &cmdlist); + +} diff --git a/contrib/gdb/gdb/convex-xdep.c b/contrib/gdb/gdb/convex-xdep.c new file mode 100644 index 0000000000000..9a3d99552ede7 --- /dev/null +++ b/contrib/gdb/gdb/convex-xdep.c @@ -0,0 +1,966 @@ +/* Convex host-dependent code for GDB. + Copyright 1990, 1991, 1992 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "command.h" +#include "symtab.h" +#include "value.h" +#include "frame.h" +#include "inferior.h" +#include "wait.h" + +#include <signal.h> +#include <fcntl.h> +#include "gdbcore.h" + +#include <sys/param.h> +#include <sys/dir.h> +#include <sys/user.h> +#include <sys/ioctl.h> +#include <sys/pcntl.h> +#include <sys/thread.h> +#include <sys/proc.h> +#include <sys/file.h> +#include "gdb_stat.h" +#include <sys/mman.h> + +#include <convex/vmparam.h> +#include <convex/filehdr.h> +#include <convex/opthdr.h> +#include <convex/scnhdr.h> +#include <convex/core.h> + +/* Per-thread data, read from the inferior at each stop and written + back at each resume. */ + +/* Number of active threads. + Tables are valid for thread numbers less than this. */ + +static int n_threads; + +#define MAXTHREADS 8 + +/* Thread state. The remaining data is valid only if this is PI_TALIVE. */ + +static int thread_state[MAXTHREADS]; + +/* Stop pc, signal, signal subcode */ + +static int thread_pc[MAXTHREADS]; +static int thread_signal[MAXTHREADS]; +static int thread_sigcode[MAXTHREADS]; + +/* Thread registers. + If thread is selected, the regs are in registers[] instead. */ + +static char thread_regs[MAXTHREADS][REGISTER_BYTES]; + +/* 1 if the top frame on the thread's stack was a context frame, + meaning that the kernel is up to something and we should not + touch the thread at all except to resume it. */ + +static char thread_is_in_kernel[MAXTHREADS]; + +/* The currently selected thread's number. */ + +static int inferior_thread; + +/* Inferior process's file handle and a process control block + to feed args to ioctl with. */ + +static int inferior_fd; +static struct pcntl ps; + +/* SOFF file headers for exec or core file. */ + +static FILEHDR filehdr; +static OPTHDR opthdr; +static SCNHDR scnhdr; + +/* Address maps constructed from section headers of exec and core files. + Defines process address -> file address translation. */ + +struct pmap +{ + long mem_addr; /* process start address */ + long mem_end; /* process end+1 address */ + long file_addr; /* file start address */ + long thread; /* -1 shared; 0,1,... thread-local */ + long type; /* S_TEXT S_DATA S_BSS S_TBSS etc */ + long which; /* used to sort map for info files */ +}; + +static int n_exec, n_core; +static struct pmap exec_map[100]; +static struct pmap core_map[100]; + +/* Offsets in the core file of core_context and core_tcontext blocks. */ + +static int context_offset; +static int tcontext_offset[MAXTHREADS]; + +/* Core file control blocks. */ + +static struct core_context_v70 c; +static struct core_tcontext_v70 tc; +static struct user u; +static thread_t th; +static proc_t pr; + +/* The registers of the currently selected thread. */ + +extern char registers[REGISTER_BYTES]; + +/* Vector and communication registers from core dump or from inferior. + These are read on demand, ie, not normally valid. */ + +static struct vecst vector_registers; +static struct creg_ctx comm_registers; + +/* Flag, set on a vanilla CONT command and cleared when the inferior + is continued. */ + +static int all_continue; + +/* Flag, set when the inferior is continued by a vanilla CONT command, + cleared if it is continued for any other purpose. */ + +static int thread_switch_ok; + +/* Stack of signals recieved from threads but not yet delivered to gdb. */ + +struct threadpid +{ + int pid; + int thread; + int signo; + int subsig; + int pc; +}; + +static struct threadpid signal_stack_bot[100]; +static struct threadpid *signal_stack = signal_stack_bot; + +/* How to detect empty stack -- bottom frame is all zero. */ + +#define signal_stack_is_empty() (signal_stack->pid == 0) + +/* Mode controlled by SET PIPE command, controls the psw SEQ bit + which forces each instruction to complete before the next one starts. */ + +static int sequential = 0; + +/* Mode controlled by the SET PARALLEL command. Values are: + 0 concurrency limit 1 thread, dynamic scheduling + 1 no concurrency limit, dynamic scheduling + 2 no concurrency limit, fixed scheduling */ + +static int parallel = 1; + +/* Mode controlled by SET BASE command, output radix for unformatted + integer typeout, as in argument lists, aggregates, and so on. + Zero means guess whether it's an address (hex) or not (decimal). */ + +static int output_radix = 0; + +/* Signal subcode at last thread stop. */ + +static int stop_sigcode; + +/* Hack, see wait() below. */ + +static int exec_trap_timer; + +#include "gdbcmd.h" + +static struct type *vector_type (); +static long *read_vector_register (); +static long *read_vector_register_1 (); +static void write_vector_register (); +static unsigned LONGEST read_comm_register (); +static void write_comm_register (); +static void convex_cont_command (); +static void thread_continue (); +static void select_thread (); +static void scan_stack (); +static void set_fixed_scheduling (); +static char *subsig_name (); +static void psw_info (); +static sig_noop (); +static ptr_cmp (); + + +/* Execute ptrace. Convex V7 replaced ptrace with pattach. + Allow ptrace (0) as a no-op. */ + +int +call_ptrace (request, pid, procaddr, buf) + int request, pid; + PTRACE_ARG3_TYPE procaddr; + int buf; +{ + if (request == 0) + return; + error ("no ptrace"); +} + +/* Replacement for system execle routine. + Convert it to an equivalent exect, which pattach insists on. */ + +execle (name, argv) + char *name, *argv; +{ + char ***envp = (char ***) &argv; + while (*envp++) ; + + signal (SIGTRAP, sig_noop); + exect (name, &argv, *envp); +} + +/* Stupid handler for stupid trace trap that otherwise causes + startup to stupidly hang. */ + +static sig_noop () +{} + +/* Read registers from inferior into registers[] array. + For convex, they are already there, read in when the inferior stops. */ + +void +fetch_inferior_registers (regno) + int regno; +{ +} + +/* Store our register values back into the inferior. + For Convex, do this only once, right before resuming inferior. */ + +void +store_inferior_registers (regno) + int regno; +{ +} + +/* Copy LEN bytes from inferior's memory starting at MEMADDR + to debugger memory starting at MYADDR. + On failure (cannot read from inferior, usually because address is out + of bounds) returns the value of errno. */ + +int +read_inferior_memory (memaddr, myaddr, len) + CORE_ADDR memaddr; + char *myaddr; + int len; +{ + errno = 0; + while (len > 0) + { + /* little-known undocumented max request size */ + int i = (len < 12288) ? len : 12288; + + lseek (inferior_fd, memaddr, 0); + read (inferior_fd, myaddr, i); + + memaddr += i; + myaddr += i; + len -= i; + } + if (errno) + memset (myaddr, '\0', len); + return errno; +} + +/* Copy LEN bytes of data from debugger memory at MYADDR + to inferior's memory at MEMADDR. + Returns errno on failure (cannot write the inferior) */ + +int +write_inferior_memory (memaddr, myaddr, len) + CORE_ADDR memaddr; + char *myaddr; + int len; +{ + errno = 0; + lseek (inferior_fd, memaddr, 0); + write (inferior_fd, myaddr, len); + return errno; +} + +/* Here from create_inferior when the inferior process has been created + and started up. We must do a pattach to grab it for debugging. + + Also, intercept the CONT command by altering its dispatch address. */ +/* FIXME: This used to be called from a macro CREATE_INFERIOR_HOOK. + But now init_trace_fun is in the same place. So re-write this to + use the init_trace_fun (making convex a debugging target). */ + +create_inferior_hook (pid) + int pid; +{ + static char cont[] = "cont"; + static char cont1[] = "c"; + char *linep = cont; + char *linep1 = cont1; + char **line = &linep; + char **line1 = &linep1; + struct cmd_list_element *c; + + c = lookup_cmd (line, cmdlist, "", 0); + c->function = convex_cont_command; + c = lookup_cmd (line1, cmdlist, "", 0); + c->function = convex_cont_command; + + inferior_fd = pattach (pid, O_EXCL); + if (inferior_fd < 0) + perror_with_name ("pattach"); + inferior_thread = 0; + set_fixed_scheduling (pid, parallel == 2); +} + +/* Attach process PID for debugging. */ + +attach (pid) + int pid; +{ + int fd = pattach (pid, O_EXCL); + if (fd < 0) + perror_with_name ("pattach"); + attach_flag = 1; + /* wait for strange kernel reverberations to go away */ + sleep (1); + + setpgrp (pid, pid); + + inferior_fd = fd; + inferior_thread = 0; + return pid; +} + +/* Stop debugging the process whose number is PID + and continue it with signal number SIGNAL. + SIGNAL = 0 means just continue it. */ + +void +detach (signal) + int signal; +{ + signal_stack = signal_stack_bot; + thread_continue (-1, 0, signal); + ioctl (inferior_fd, PIXDETACH, &ps); + close (inferior_fd); + inferior_fd = 0; + attach_flag = 0; +} + +/* Kill off the inferior process. */ + +kill_inferior () +{ + if (inferior_pid == 0) + return; + ioctl (inferior_fd, PIXTERMINATE, 0); + wait (0); + target_mourn_inferior (); +} + +/* Read vector register REG, and return a pointer to the value. */ + +static long * +read_vector_register (reg) + int reg; +{ + if (have_inferior_p ()) + { + errno = 0; + ps.pi_buffer = (char *) &vector_registers; + ps.pi_nbytes = sizeof vector_registers; + ps.pi_offset = 0; + ps.pi_thread = inferior_thread; + ioctl (inferior_fd, PIXRDVREGS, &ps); + if (errno) + memset (&vector_registers, '\0', sizeof vector_registers); + } + else if (corechan >= 0) + { + lseek (corechan, tcontext_offset[inferior_thread], 0); + if (myread (corechan, &tc, sizeof tc) < 0) + perror_with_name (corefile); + lseek (corechan, tc.core_thread_p, 0); + if (myread (corechan, &th, sizeof th) < 0) + perror_with_name (corefile); + lseek (corechan, tc.core_vregs_p, 0); + if (myread (corechan, &vector_registers, 16*128) < 0) + perror_with_name (corefile); + vector_registers.vm[0] = th.t_vect_ctx.vc_vm[0]; + vector_registers.vm[1] = th.t_vect_ctx.vc_vm[1]; + vector_registers.vls = th.t_vect_ctx.vc_vls; + } + + return read_vector_register_1 (reg); +} + +/* Return a pointer to vector register REG, which must already have been + fetched from the inferior or core file. */ + +static long * +read_vector_register_1 (reg) + int reg; +{ + switch (reg) + { + case VM_REGNUM: + return (long *) vector_registers.vm; + case VS_REGNUM: + return (long *) &vector_registers.vls; + case VL_REGNUM: + return 1 + (long *) &vector_registers.vls; + default: + return (long *) &vector_registers.vr[reg]; + } +} + +/* Write vector register REG, element ELEMENT, new value VAL. + NB: must use read-modify-write on the entire vector state, + since pattach does not do offsetted writes correctly. */ + +static void +write_vector_register (reg, element, val) + int reg, element; + unsigned LONGEST val; +{ + if (have_inferior_p ()) + { + errno = 0; + ps.pi_thread = inferior_thread; + ps.pi_offset = 0; + ps.pi_buffer = (char *) &vector_registers; + ps.pi_nbytes = sizeof vector_registers; + + ioctl (inferior_fd, PIXRDVREGS, &ps); + + switch (reg) + { + case VL_REGNUM: + vector_registers.vls = + (vector_registers.vls & 0xffffffff00000000LL) + + (unsigned long) val; + break; + + case VS_REGNUM: + vector_registers.vls = + (val << 32) + (unsigned long) vector_registers.vls; + break; + + default: + vector_registers.vr[reg].el[element] = val; + break; + } + + ioctl (inferior_fd, PIXWRVREGS, &ps); + + if (errno) + perror_with_name ("writing vector register"); + } +} + +/* Return the contents of communication register NUM. */ + +static unsigned LONGEST +read_comm_register (num) + int num; +{ + if (have_inferior_p ()) + { + ps.pi_buffer = (char *) &comm_registers; + ps.pi_nbytes = sizeof comm_registers; + ps.pi_offset = 0; + ps.pi_thread = inferior_thread; + ioctl (inferior_fd, PIXRDCREGS, &ps); + } + return comm_registers.crreg.r4[num]; +} + +/* Store a new value VAL into communication register NUM. + NB: Must use read-modify-write on the whole comm register set + since pattach does not do offsetted writes correctly. */ + +static void +write_comm_register (num, val) + int num; + unsigned LONGEST val; +{ + if (have_inferior_p ()) + { + ps.pi_buffer = (char *) &comm_registers; + ps.pi_nbytes = sizeof comm_registers; + ps.pi_offset = 0; + ps.pi_thread = inferior_thread; + ioctl (inferior_fd, PIXRDCREGS, &ps); + comm_registers.crreg.r4[num] = val; + ioctl (inferior_fd, PIXWRCREGS, &ps); + } +} + +/* Resume execution of the inferior process. + If STEP is nonzero, single-step it. + If SIGNAL is nonzero, give it that signal. */ + +void +resume (step, signal) + int step; + int signal; +{ + errno = 0; + if (step || signal) + thread_continue (inferior_thread, step, signal); + else + thread_continue (-1, 0, 0); +} + +/* Maybe resume some threads. + THREAD is which thread to resume, or -1 to resume them all. + STEP and SIGNAL are as in resume. + + Global variable ALL_CONTINUE is set when we are here to do a + `cont' command; otherwise we may be doing `finish' or a call or + something else that will not tolerate an automatic thread switch. + + If there are stopped threads waiting to deliver signals, and + ALL_CONTINUE, do not actually resume anything. gdb will do a wait + and see one of the stopped threads in the queue. */ + +static void +thread_continue (thread, step, signal) + int thread, step, signal; +{ + int n; + + /* If we are to continue all threads, but not for the CONTINUE command, + pay no attention and continue only the selected thread. */ + + if (thread < 0 && ! all_continue) + thread = inferior_thread; + + /* If we are not stepping, we have now executed the continue part + of a CONTINUE command. */ + + if (! step) + all_continue = 0; + + /* Allow wait() to switch threads if this is an all-out continue. */ + + thread_switch_ok = thread < 0; + + /* If there are threads queued up, don't resume. */ + + if (thread_switch_ok && ! signal_stack_is_empty ()) + return; + + /* OK, do it. */ + + for (n = 0; n < n_threads; n++) + if (thread_state[n] == PI_TALIVE) + { + select_thread (n); + + if ((thread < 0 || n == thread) && ! thread_is_in_kernel[n]) + { + /* Blam the trace bits in the stack's saved psws to match + the desired step mode. This is required so that + single-stepping a return doesn't restore a psw with a + clear trace bit and fly away, and conversely, + proceeding through a return in a routine that was + stepped into doesn't cause a phantom break by restoring + a psw with the trace bit set. */ + scan_stack (PSW_T_BIT, step); + scan_stack (PSW_S_BIT, sequential); + } + + ps.pi_buffer = registers; + ps.pi_nbytes = REGISTER_BYTES; + ps.pi_offset = 0; + ps.pi_thread = n; + if (! thread_is_in_kernel[n]) + if (ioctl (inferior_fd, PIXWRREGS, &ps)) + perror_with_name ("PIXWRREGS"); + + if (thread < 0 || n == thread) + { + ps.pi_pc = 1; + ps.pi_signo = signal; + if (ioctl (inferior_fd, step ? PIXSTEP : PIXCONTINUE, &ps) < 0) + perror_with_name ("PIXCONTINUE"); + } + } + + if (ioctl (inferior_fd, PIXRUN, &ps) < 0) + perror_with_name ("PIXRUN"); +} + +/* Replacement for system wait routine. + + The system wait returns with one or more threads stopped by + signals. Put stopped threads on a stack and return them one by + one, so that it appears that wait returns one thread at a time. + + Global variable THREAD_SWITCH_OK is set when gdb can tolerate wait + returning a new thread. If it is false, then only one thread is + running; we will do a real wait, the thread will do something, and + we will return that. */ + +pid_t +wait (w) + union wait *w; +{ + int pid; + + if (!w) + return wait3 (0, 0, 0); + + /* Do a real wait if we were told to, or if there are no queued threads. */ + + if (! thread_switch_ok || signal_stack_is_empty ()) + { + int thread; + + pid = wait3 (w, 0, 0); + + if (!WIFSTOPPED (*w) || pid != inferior_pid) + return pid; + + /* The inferior has done something and stopped. Read in all the + threads' registers, and queue up any signals that happened. */ + + if (ioctl (inferior_fd, PIXGETTHCOUNT, &ps) < 0) + perror_with_name ("PIXGETTHCOUNT"); + + n_threads = ps.pi_othdcnt; + for (thread = 0; thread < n_threads; thread++) + { + ps.pi_thread = thread; + if (ioctl (inferior_fd, PIXGETSUBCODE, &ps) < 0) + perror_with_name ("PIXGETSUBCODE"); + thread_state[thread] = ps.pi_otstate; + + if (ps.pi_otstate == PI_TALIVE) + { + select_thread (thread); + ps.pi_buffer = registers; + ps.pi_nbytes = REGISTER_BYTES; + ps.pi_offset = 0; + ps.pi_thread = thread; + if (ioctl (inferior_fd, PIXRDREGS, &ps) < 0) + perror_with_name ("PIXRDREGS"); + + registers_fetched (); + + thread_pc[thread] = read_pc (); + thread_signal[thread] = ps.pi_osigno; + thread_sigcode[thread] = ps.pi_osigcode; + + /* If the thread's stack has a context frame + on top, something fucked is going on. I do not + know what, but do I know this: the only thing you + can do with such a thread is continue it. */ + + thread_is_in_kernel[thread] = + ((read_register (PS_REGNUM) >> 25) & 3) == 0; + + /* Signals push an extended frame and then fault + with a ridiculous pc. Pop the frame. */ + + if (thread_pc[thread] > STACK_END_ADDR) + { + POP_FRAME; + if (is_break_pc (thread_pc[thread])) + thread_pc[thread] = read_pc () - 2; + else + thread_pc[thread] = read_pc (); + write_register (PC_REGNUM, thread_pc[thread]); + } + + if (ps.pi_osigno || ps.pi_osigcode) + { + signal_stack++; + signal_stack->pid = pid; + signal_stack->thread = thread; + signal_stack->signo = thread_signal[thread]; + signal_stack->subsig = thread_sigcode[thread]; + signal_stack->pc = thread_pc[thread]; + } + + /* The following hackery is caused by a unix 7.1 feature: + the inferior's fixed scheduling mode is cleared when + it execs the shell (since the shell is not a parallel + program). So, note the 5.4 trap we get when + the shell does its exec, then catch the 5.0 trap + that occurs when the debuggee starts, and set fixed + scheduling mode properly. */ + + if (ps.pi_osigno == 5 && ps.pi_osigcode == 4) + exec_trap_timer = 1; + else + exec_trap_timer--; + + if (ps.pi_osigno == 5 && exec_trap_timer == 0) + set_fixed_scheduling (pid, parallel == 2); + } + } + + if (signal_stack_is_empty ()) + error ("no active threads?!"); + } + + /* Select the thread that stopped, and return *w saying why. */ + + select_thread (signal_stack->thread); + + FIXME: need to convert from host sig. + stop_signal = signal_stack->signo; + stop_sigcode = signal_stack->subsig; + + WSETSTOP (*w, signal_stack->signo); + w->w_thread = signal_stack->thread; + return (signal_stack--)->pid; +} + +/* Select thread THREAD -- its registers, stack, per-thread memory. + This is the only routine that may assign to inferior_thread + or thread_regs[]. */ + +static void +select_thread (thread) + int thread; +{ + if (thread == inferior_thread) + return; + + memcpy (thread_regs[inferior_thread], registers, REGISTER_BYTES); + ps.pi_thread = inferior_thread = thread; + if (have_inferior_p ()) + ioctl (inferior_fd, PISETRWTID, &ps); + memcpy (registers, thread_regs[thread], REGISTER_BYTES); +} + +/* Routine to set or clear a psw bit in the psw and also all psws + saved on the stack. Quits when we get to a frame in which the + saved psw is correct. */ + +static void +scan_stack (bit, val) + long bit, val; +{ + long ps = read_register (PS_REGNUM); + long fp; + if (val ? !(ps & bit) : (ps & bit)) + { + ps ^= bit; + write_register (PS_REGNUM, ps); + + fp = read_register (FP_REGNUM); + while (fp & 0x80000000) + { + ps = read_memory_integer (fp + 4, 4); + if (val ? (ps & bit) : !(ps & bit)) + break; + ps ^= bit; + write_memory (fp + 4, &ps, 4); + fp = read_memory_integer (fp + 8, 4); + } + } +} + +/* Set fixed scheduling (alliant mode) of process PID to ARG (0 or 1). */ + +static void +set_fixed_scheduling (pid, arg) + int arg; +{ + struct pattributes pattr; + getpattr (pid, &pattr); + pattr.pattr_pfixed = arg; + setpattr (pid, &pattr); +} + +void +core_file_command (filename, from_tty) + char *filename; + int from_tty; +{ + int n; + + /* Discard all vestiges of any previous core file + and mark data and stack spaces as empty. */ + + if (corefile) + free (corefile); + corefile = 0; + + if (corechan >= 0) + close (corechan); + corechan = -1; + + data_start = 0; + data_end = 0; + stack_start = STACK_END_ADDR; + stack_end = STACK_END_ADDR; + n_core = 0; + + /* Now, if a new core file was specified, open it and digest it. */ + + if (filename) + { + filename = tilde_expand (filename); + make_cleanup (free, filename); + + if (have_inferior_p ()) + error ("To look at a core file, you must kill the program with \"kill\"."); + corechan = open (filename, O_RDONLY, 0); + if (corechan < 0) + perror_with_name (filename); + + if (myread (corechan, &filehdr, sizeof filehdr) < 0) + perror_with_name (filename); + + if (!IS_CORE_SOFF_MAGIC (filehdr.h_magic)) + error ("%s: not a core file.\n", filename); + + if (myread (corechan, &opthdr, filehdr.h_opthdr) < 0) + perror_with_name (filename); + + /* Read through the section headers. + For text, data, etc, record an entry in the core file map. + For context and tcontext, record the file address of + the context blocks. */ + + lseek (corechan, (long) filehdr.h_scnptr, 0); + + n_threads = 0; + for (n = 0; n < filehdr.h_nscns; n++) + { + if (myread (corechan, &scnhdr, sizeof scnhdr) < 0) + perror_with_name (filename); + if ((scnhdr.s_flags & S_TYPMASK) >= S_TEXT + && (scnhdr.s_flags & S_TYPMASK) <= S_COMON) + { + core_map[n_core].mem_addr = scnhdr.s_vaddr; + core_map[n_core].mem_end = scnhdr.s_vaddr + scnhdr.s_size; + core_map[n_core].file_addr = scnhdr.s_scnptr; + core_map[n_core].type = scnhdr.s_flags & S_TYPMASK; + if (core_map[n_core].type != S_TBSS + && core_map[n_core].type != S_TDATA + && core_map[n_core].type != S_TTEXT) + core_map[n_core].thread = -1; + else if (n_core == 0 + || core_map[n_core-1].mem_addr != scnhdr.s_vaddr) + core_map[n_core].thread = 0; + else + core_map[n_core].thread = core_map[n_core-1].thread + 1; + n_core++; + } + else if ((scnhdr.s_flags & S_TYPMASK) == S_CONTEXT) + context_offset = scnhdr.s_scnptr; + else if ((scnhdr.s_flags & S_TYPMASK) == S_TCONTEXT) + tcontext_offset[n_threads++] = scnhdr.s_scnptr; + } + + /* Read the context block, struct user, struct proc, + and the comm regs. */ + + lseek (corechan, context_offset, 0); + if (myread (corechan, &c, sizeof c) < 0) + perror_with_name (filename); + lseek (corechan, c.core_user_p, 0); + if (myread (corechan, &u, sizeof u) < 0) + perror_with_name (filename); + lseek (corechan, c.core_proc_p, 0); + if (myread (corechan, &pr, sizeof pr) < 0) + perror_with_name (filename); + comm_registers = pr.p_creg; + + /* Core file apparently is really there. Make it really exist + for xfer_core_file so we can do read_memory on it. */ + + if (filename[0] == '/') + corefile = savestring (filename, strlen (filename)); + else + corefile = concat (current_directory, "/", filename, NULL); + + printf_filtered ("Program %s ", u.u_comm); + + /* Read the thread registers and fill in the thread_xxx[] data. */ + + for (n = 0; n < n_threads; n++) + { + select_thread (n); + + lseek (corechan, tcontext_offset[n], 0); + if (myread (corechan, &tc, sizeof tc) < 0) + perror_with_name (corefile); + lseek (corechan, tc.core_thread_p, 0); + if (myread (corechan, &th, sizeof th) < 0) + perror_with_name (corefile); + + lseek (corechan, tc.core_syscall_context_p, 0); + if (myread (corechan, registers, REGISTER_BYTES) < 0) + perror_with_name (corefile); + + thread_signal[n] = th.t_cursig; + thread_sigcode[n] = th.t_code; + thread_state[n] = th.t_state; + thread_pc[n] = read_pc (); + + if (thread_pc[n] > STACK_END_ADDR) + { + POP_FRAME; + if (is_break_pc (thread_pc[n])) + thread_pc[n] = read_pc () - 2; + else + thread_pc[n] = read_pc (); + write_register (PC_REGNUM, thread_pc[n]); + } + + printf_filtered ("thread %d received signal %d, %s\n", + n, thread_signal[n], + safe_strsignal (thread_signal[n])); + } + + /* Select an interesting thread -- also-rans died with SIGKILL, + so find one that didn't. */ + + for (n = 0; n < n_threads; n++) + if (thread_signal[n] != 0 && thread_signal[n] != SIGKILL) + { + select_thread (n); + stop_signal = thread_signal[n]; + stop_sigcode = thread_sigcode[n]; + break; + } + + core_aouthdr.a_magic = 0; + + flush_cached_frames (); + select_frame (get_current_frame (), 0); + validate_files (); + + print_stack_frame (selected_frame, selected_frame_level, -1); + } + else if (from_tty) + printf_filtered ("No core file now.\n"); +} diff --git a/contrib/gdb/gdb/delta68-nat.c b/contrib/gdb/gdb/delta68-nat.c new file mode 100644 index 0000000000000..5502263d9f684 --- /dev/null +++ b/contrib/gdb/gdb/delta68-nat.c @@ -0,0 +1,79 @@ +/* Functions specific to running gdb native on a Motorola Delta Series sysV68. + Copyright (C) 1993, Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include <sys/signal.h> /* for MAXSIG in sys/user.h */ +#include <sys/types.h> /* for ushort in sys/dir.h */ +#include <sys/dir.h> /* for struct direct in sys/user.h */ +#include <sys/user.h> + +#include <nlist.h> + +#if !defined (offsetof) +#define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER) +#endif + +/* Return the address in the core dump or inferior of register REGNO. + BLOCKEND is the address of the end of the user structure. */ + +unsigned int +register_addr (regno, blockend) + int regno; + int blockend; +{ + static int sysv68reg[] = + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, 15, 16 }; + + if (regno >= 0 && regno < sizeof(sysv68reg) / sizeof(sysv68reg[0])) + return blockend + sysv68reg[regno] * 4; + else if (regno < FPC_REGNUM) + return offsetof (struct user, u_fpu.regs.reg[regno - FP0_REGNUM][0]); + else if (regno == FPC_REGNUM) + return offsetof (struct user, u_fpu.regs.control); + else if (regno == FPS_REGNUM) + return offsetof (struct user, u_fpu.regs.status); + else if (regno == FPI_REGNUM) + return offsetof (struct user, u_fpu.regs.iaddr); + else + { + fprintf_unfiltered (gdb_stderr, "\ +Internal error: invalid register number %d in REGISTER_U_ADDR\n", + regno); + return blockend; + } +} + +CORE_ADDR kernel_u_addr; + +/* Read the value of the u area from the kernel. */ +void +_initialize_delta68_nat () +{ + struct nlist nl[2]; + + nl[0].n_name = "u"; + nl[1].n_name = NULL; + if (nlist ("/sysV68", nl) == 0 && nl[0].n_scnum != 0) + kernel_u_addr = nl[0].n_value; + else + { + perror ("Cannot get kernel u area address"); + exit (1); + } +} diff --git a/contrib/gdb/gdb/dpx2-nat.c b/contrib/gdb/gdb/dpx2-nat.c new file mode 100644 index 0000000000000..21dc13571746e --- /dev/null +++ b/contrib/gdb/gdb/dpx2-nat.c @@ -0,0 +1,83 @@ +/* DPX2 host interface. + Copyright (C) 1988, 1989, 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "gdbcore.h" + +#include "gdb_string.h" +#include <sys/types.h> +#include <sys/param.h> +#include <sys/dir.h> +#include <signal.h> +#include <sys/user.h> +#include <sys/reg.h> +#include <sys/utsname.h> + + +/* this table must line up with REGISTER_NAMES in tm-68k.h */ +/* symbols like 'A0' come from <sys/reg.h> */ +static int regmap[] = +{ + R0, R1, R2, R3, R4, R5, R6, R7, + A0, A1, A2, A3, A4, A5, A6, SP, + PS, PC, + FP0, FP1, FP2, FP3, FP4, FP5, FP6, FP7, + FP_CR, FP_SR, FP_IAR +}; + +/* blockend is the value of u.u_ar0, and points to the + * place where D0 is stored + */ + +int +dpx2_register_u_addr (blockend, regnum) + int blockend; + int regnum; +{ + if (regnum < FP0_REGNUM) + return (blockend + 4 * regmap[regnum]); + else + return (int) &(((struct user *)0)->u_fpstate[regmap[regnum]]); +} + +/* This is the amount to subtract from u.u_ar0 + to get the offset in the core file of the register values. + Unfortunately this is not provided in the system header files. + To make matters worse, this value also differs between + the dpx/2200 and dpx/2300 models and nlist is not available on the dpx2. + We use utsname() to decide on which model we are running. + FIXME: This breaks cross examination of core files (it would not be hard + to check whether u.u_ar0 is between 0x7fff5000 and 0x7fffc000 and if so + use 0x7fff5000 and if not use 0x7fffc000. FIXME). */ + +#define KERNEL_U_ADDR_200 0x7fff5000 +#define KERNEL_U_ADDR_300 0x7fffc000 + +CORE_ADDR kernel_u_addr; + +void +_initialize_dpx2_nat () +{ + struct utsname uts; + + if (uname (&uts) == 0 && strcmp (uts.machine, "DPX/2200") == 0) + kernel_u_addr = KERNEL_U_ADDR_200; + else + kernel_u_addr = KERNEL_U_ADDR_300; +} diff --git a/contrib/gdb/gdb/dsrec.c b/contrib/gdb/gdb/dsrec.c new file mode 100644 index 0000000000000..3105ba244012d --- /dev/null +++ b/contrib/gdb/gdb/dsrec.c @@ -0,0 +1,254 @@ +/* S-record download support for GDB, the GNU debugger. + Copyright 1995, 1996 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "serial.h" +#include "srec.h" + +extern int remote_debug; + +static int make_srec PARAMS ((char *srec, CORE_ADDR targ_addr, bfd *abfd, + asection *sect, int sectoff, int *maxrecsize, + int flags)); + +/* Download an executable by converting it to S records. DESC is a serial_t + to send the data to. FILE is the name of the file to be loaded. + MAXRECSIZE is the length in chars of the largest S-record the host can + accomodate. This is measured from the starting `S' to the last char of the + checksum. FLAGS is various random flags, and HASHMARK is non-zero to cause + a `#' to be printed out for each record loaded. */ + +void +load_srec (desc, file, maxrecsize, flags, hashmark) + serial_t desc; + const char *file; + int maxrecsize; + int flags; + int hashmark; +{ + bfd *abfd; + asection *s; + char *srec; + int i; + int reclen; + + srec = (char *)alloca (maxrecsize + 1); + + abfd = bfd_openr (file, 0); + if (!abfd) + { + printf_filtered ("Unable to open file %s\n", file); + return; + } + + if (bfd_check_format (abfd, bfd_object) == 0) + { + printf_filtered ("File is not an object file\n"); + return; + } + + for (s = abfd->sections; s; s = s->next) + if (s->flags & SEC_LOAD) + { + int numbytes; + + printf_filtered ("%s\t: 0x%4x .. 0x%4x ", s->name, s->vma, + s->vma + s->_raw_size); + gdb_flush (gdb_stdout); + + for (i = 0; i < s->_raw_size; i += numbytes) + { + reclen = maxrecsize; + numbytes = make_srec (srec, s->vma + i, abfd, s, i, &reclen, + flags); + + if (remote_debug) + fprintf_unfiltered (gdb_stderr, "%.*s\\r\n", reclen-1, srec); + SERIAL_WRITE (desc, srec, reclen); + + if (hashmark) + { + putchar_unfiltered ('#'); + gdb_flush (gdb_stdout); + } + } /* Per-packet (or S-record) loop */ + + putchar_unfiltered ('\n'); + } /* Loadable sections */ + + if (hashmark) + putchar_unfiltered ('\n'); + + /* Write a type 7 terminator record. no data for a type 7, and there + is no data, so len is 0. */ + + reclen = maxrecsize; + make_srec (srec, abfd->start_address, NULL, NULL, 0, &reclen, flags); + + if (remote_debug) + fprintf_unfiltered (gdb_stderr, "%.*s\\r\n", reclen-1, srec); + SERIAL_WRITE (desc, srec, reclen); + + SERIAL_WRITE (desc, "\r\r", 2); /* Some monitors need these to wake up */ + + SERIAL_FLUSH_INPUT (desc); +} + +/* + * make_srec -- make an srecord. This writes each line, one at a + * time, each with it's own header and trailer line. + * An srecord looks like this: + * + * byte count-+ address + * start ---+ | | data +- checksum + * | | | | + * S01000006F6B692D746573742E73726563E4 + * S315000448600000000000000000FC00005900000000E9 + * S31A0004000023C1400037DE00F023604000377B009020825000348D + * S30B0004485A0000000000004E + * S70500040000F6 + * + * S<type><length><address><data><checksum> + * + * Where + * - length + * is the number of bytes following upto the checksum. Note that + * this is not the number of chars following, since it takes two + * chars to represent a byte. + * - type + * is one of: + * 0) header record + * 1) two byte address data record + * 2) three byte address data record + * 3) four byte address data record + * 7) four byte address termination record + * 8) three byte address termination record + * 9) two byte address termination record + * + * - address + * is the start address of the data following, or in the case of + * a termination record, the start address of the image + * - data + * is the data. + * - checksum + * is the sum of all the raw byte data in the record, from the length + * upwards, modulo 256 and subtracted from 255. + * + * This routine returns the length of the S-record. + * + */ + +static int +make_srec (srec, targ_addr, abfd, sect, sectoff, maxrecsize, flags) + char *srec; + CORE_ADDR targ_addr; + bfd *abfd; + asection *sect; + int sectoff; + int *maxrecsize; + int flags; +{ + unsigned char checksum; + int tmp; + const static char hextab[] = "0123456789ABCDEF"; + const static char data_code_table[] = "xx123"; + const static char term_code_table[] = "xx987"; + const static char *formats[] = {NULL, NULL, "S%c%02X%04X", "S%c%02X%06X", + "S%c%02X%08X"}; + char const *code_table; + int addr_size; + int payload_size; + int type_code; + char *binbuf; + char *p; + + if (sect) + { + tmp = flags; /* Data record */ + code_table = data_code_table; + binbuf = alloca (*maxrecsize/2); + } + else + { + tmp = flags >> SREC_TERM_SHIFT; /* Term record */ + code_table = term_code_table; + } + + if (tmp & SREC_4_BYTE_ADDR && targ_addr > 0xffffff) + addr_size = 4; + else if (tmp & SREC_3_BYTE_ADDR && targ_addr > 0xffff) + addr_size = 3; + else if (tmp & SREC_2_BYTE_ADDR && targ_addr > 0xff) + addr_size = 2; + else + fatal ("make_srec: Bad address (0x%x), or bad flags (0x%x).", targ_addr, + flags); + +/* Now that we know the address size, we can figure out how much data this + record can hold. */ + + if (sect) + { + payload_size = (*maxrecsize - (1 + 1 + 2 + addr_size * 2 + 2)) / 2; + payload_size = min (payload_size, sect->_raw_size - sectoff); + + bfd_get_section_contents (abfd, sect, binbuf, sectoff, payload_size); + } + else + payload_size = 0; /* Term packets have no payload */ + +/* Output the header. */ + + sprintf (srec, formats[addr_size], code_table[addr_size], + addr_size + payload_size + 1, targ_addr); + +/* Note that the checksum is calculated on the raw data, not the hexified + data. It includes the length, address and the data portions of the + packet. */ + + checksum = 0; + + checksum += (payload_size + addr_size + 1 /* Packet length */ + + (targ_addr & 0xff) /* Address... */ + + ((targ_addr >> 8) & 0xff) + + ((targ_addr >> 16) & 0xff) + + ((targ_addr >> 24) & 0xff)); + + p = srec + 1 + 1 + 2 + addr_size * 2; + + /* build the srecord */ + for (tmp = 0; tmp < payload_size; tmp++) + { + unsigned char k; + + k = binbuf[tmp]; + *p++ = hextab [k >> 4]; + *p++ = hextab [k & 0xf]; + checksum += k; + } + + checksum = ~checksum; + + *p++ = hextab[checksum >> 4]; + *p++ = hextab[checksum & 0xf]; + *p++ = '\r'; + + *maxrecsize = p - srec; + return payload_size; +} diff --git a/contrib/gdb/gdb/dst.h b/contrib/gdb/gdb/dst.h new file mode 100644 index 0000000000000..252a3a86b8b10 --- /dev/null +++ b/contrib/gdb/gdb/dst.h @@ -0,0 +1,1659 @@ +/* <apollo/dst.h> */ +/* Apollo object module DST (debug symbol table) description */ + +#ifndef apollo_dst_h +#define apollo_dst_h + +#if defined(apollo) && !defined(__GNUC__) +#define ALIGNED1 __attribute( (aligned(1)) ) +#else +/* Remove attribute directives from non-Apollo code: */ +#define ALIGNED1 /* nil */ +#endif + + + +/* Identification of this version of the debug symbol table. Producers of the + debug symbol table must write these values into the version number field of + the compilation unit record in .blocks . +*/ +#define dst_version_major 1 +#define dst_version_minor 3 + + +/* +** Enumeration of debug record types appearing in .blocks and .symbols ... +*/ +typedef enum + { + dst_typ_pad, /* 0 */ + dst_typ_comp_unit, /* 1 */ + dst_typ_section_tab, /* 2 */ + dst_typ_file_tab, /* 3 */ + dst_typ_block, /* 4 */ + dst_typ_5, + dst_typ_var, + dst_typ_pointer, /* 7 */ + dst_typ_array, /* 8 */ + dst_typ_subrange, /* 9 */ + dst_typ_set, /* 10 */ + dst_typ_implicit_enum, /* 11 */ + dst_typ_explicit_enum, /* 12 */ + dst_typ_short_rec, /* 13 */ + dst_typ_old_record, + dst_typ_short_union, /* 15 */ + dst_typ_old_union, + dst_typ_file, /* 17 */ + dst_typ_offset, /* 18 */ + dst_typ_alias, /* 19 */ + dst_typ_signature, /* 20 */ + dst_typ_21, + dst_typ_old_label, /* 22 */ + dst_typ_scope, /* 23 */ + dst_typ_end_scope, /* 24 */ + dst_typ_25, + dst_typ_26, + dst_typ_string_tab, /* 27 */ + dst_typ_global_name_tab, /* 28 */ + dst_typ_forward, /* 29 */ + dst_typ_aux_size, /* 30 */ + dst_typ_aux_align, /* 31 */ + dst_typ_aux_field_size, /* 32 */ + dst_typ_aux_field_off, /* 33 */ + dst_typ_aux_field_align, /* 34 */ + dst_typ_aux_qual, /* 35 */ + dst_typ_aux_var_bound, /* 36 */ + dst_typ_extension, /* 37 */ + dst_typ_string, /* 38 */ + dst_typ_old_entry, + dst_typ_const, /* 40 */ + dst_typ_reference, /* 41 */ + dst_typ_record, /* 42 */ + dst_typ_union, /* 43 */ + dst_typ_aux_type_deriv, /* 44 */ + dst_typ_locpool, /* 45 */ + dst_typ_variable, /* 46 */ + dst_typ_label, /* 47 */ + dst_typ_entry, /* 48 */ + dst_typ_aux_lifetime, /* 49 */ + dst_typ_aux_ptr_base, /* 50 */ + dst_typ_aux_src_range, /* 51 */ + dst_typ_aux_reg_val, /* 52 */ + dst_typ_aux_unit_names, /* 53 */ + dst_typ_aux_sect_info, /* 54 */ + dst_typ_END_OF_ENUM + } + dst_rec_type_t; + + +/* +** Dummy bounds for variably dimensioned arrays: +*/ +#define dst_dummy_array_size 100 + + +/* +** Reference to another item in the symbol table. +** +** The value of a dst_rel_offset_t is the relative offset from the start of the +** referencing record to the start of the referenced record, string, etc. +** +** The value of a NIL dst_rel_offset_t is zero. +*/ + +typedef long dst_rel_offset_t ALIGNED1; + + +/* FIXME: Here and many places we make assumptions about sizes of host + data types, structure layout, etc. Only needs to be fixed if we care + about cross-debugging, though. */ + +/* +** Section-relative reference. +** +** The section index field is an index into the local compilation unit's +** section table (see dst_rec_section_tab_t)--NOT into the object module +** section table! +** +** The sect_offset field is the offset in bytes into the section. +** +** A NIL dst_sect_ref_t has a sect_index field of zero. Indexes originate +** at one. +*/ + +typedef struct + { + unsigned short sect_index; + unsigned long sect_offset ALIGNED1; + } + dst_sect_ref_t; + +#define dst_sect_index_nil 0 +#define dst_sect_index_origin 1 + + +/* +** Source location descriptor. +** +** The file_index field is an index into the local compilation unit's +** file table (see dst_rec_file_tab_t). +** +** A NIL dst_src_loc_t has a file_index field of zero. Indexes originate +** at one. +*/ + +typedef struct + { + boolean reserved : 1; /* reserved for future use */ + int file_index : 11; /* index into .blocks source file list */ + int line_number : 20; /* source line number */ + } + dst_src_loc_t; + +#define dst_file_index_nil 0 +#define dst_file_index_origin 1 + + +/* +** Standard (primitive) type codes. +*/ + +typedef enum + { + dst_non_std_type, + dst_int8_type, /* 8 bit integer */ + dst_int16_type, /* 16 bit integer */ + dst_int32_type, /* 32 bit integer */ + dst_uint8_type, /* 8 bit unsigned integer */ + dst_uint16_type, /* 16 bit unsigned integer */ + dst_uint32_type, /* 32 bit unsigned integer */ + dst_real32_type, /* single precision ieee floatining point */ + dst_real64_type, /* double precision ieee floatining point */ + dst_complex_type, /* single precision complex */ + dst_dcomplex_type, /* double precision complex */ + dst_bool8_type, /* boolean =logical*1 */ + dst_bool16_type, /* boolean =logical*2 */ + dst_bool32_type, /* boolean =logical*4 */ + dst_char_type, /* 8 bit ascii character */ + dst_string_type, /* string of 8 bit ascii characters */ + dst_ptr_type, /* univ_pointer */ + dst_set_type, /* generic 256 bit set */ + dst_proc_type, /* generic procedure (signature not specified) */ + dst_func_type, /* generic function (signature not specified) */ + dst_void_type, /* c void type */ + dst_uchar_type, /* c unsigned char */ + dst_std_type_END_OF_ENUM + } + dst_std_type_t; + + +/* +** General data type descriptor +** +** If the user_defined_type bit is clear, then the type is a standard type, and +** the remaining bits contain the dst_std_type_t of the type. If the bit is +** set, then the type is defined in a separate dst record, which is referenced +** by the remaining bits as a dst_rel_offset_t. +*/ + +typedef union + { + struct + { + boolean user_defined_type : 1; /* tag field */ + int must_be_zero : 23; /* 23 bits of pad */ + dst_std_type_t dtc : 8; /* 8 bit primitive data */ + } + std_type; + + struct + { + boolean user_defined_type : 1; /* tag field */ + int doffset : 31; /* offset to type record */ + } + user_type; + } + dst_type_t ALIGNED1; + +/* The user_type.doffset field is a 31-bit signed value. Some versions of C + do not support signed bit fields. The following macro will extract that + field as a signed value: +*/ +#define dst_user_type_offset(type_rec) \ + ( ((int) ((type_rec).user_type.doffset << 1)) >> 1 ) + + +/*================================================*/ +/*========== RECORDS IN .blocks SECTION ==========*/ +/*================================================*/ + +/*----------------------- + COMPILATION UNIT record + ----------------------- + This must be the first record in each .blocks section. + Provides a set of information describing the output of a single compilation + and pointers to additional information for the compilation unit. +*/ + +typedef enum + { + dst_pc_code_locs, /* ranges in loc strings are pc ranges */ + dst_comp_unit_END_OF_ENUM + } + dst_comp_unit_flag_t; + +typedef enum + { + dst_lang_unk, /* unknown language */ + dst_lang_pas, /* Pascal */ + dst_lang_ftn, /* FORTRAN */ + dst_lang_c, /* C */ + dst_lang_mod2, /* Modula-2 */ + dst_lang_asm_m68k, /* 68K assembly language */ + dst_lang_asm_a88k, /* AT assembly language */ + dst_lang_ada, /* Ada */ + dst_lang_cxx, /* C++ */ + dst_lang_END_OF_ENUM + } + dst_lang_type_t; + +typedef struct + { + struct + { + unsigned char major_part; /* = dst_version_major */ + unsigned char minor_part; /* = dst_version_minor */ + } + version; /* version of dst */ + unsigned short flags; /* mask of dst_comp_unit_flag_t */ + unsigned short lang_type; /* source language */ + unsigned short number_of_blocks; /* number of blocks records */ + dst_rel_offset_t root_block_offset; /* offset to root block (module?) */ + dst_rel_offset_t section_table /* offset to section table record */; + dst_rel_offset_t file_table; /* offset to file table record */ + unsigned long data_size; /* total size of .blocks data */ + } + dst_rec_comp_unit_t ALIGNED1; + + +/*-------------------- + SECTION TABLE record + -------------------- + There must be one section table associated with each compilation unit. + Other debug records refer to sections via their index in this table. The + section base addresses in the table are virtual addresses of the sections, + relocated by the linker. +*/ + +typedef struct + { + unsigned short number_of_sections; /* size of array: */ + unsigned long section_base[dst_dummy_array_size] ALIGNED1; + } + dst_rec_section_tab_t ALIGNED1; + + +/*----------------- + FILE TABLE record + ----------------- + There must be one file table associated with each compilation unit describing + the source (and include) files used by each compilation unit. Other debug + records refer to files via their index in this table. The first entry is the + primary source file. +*/ + +typedef struct + { + long dtm; /* time last modified (time_$clock_t) */ + dst_rel_offset_t noffset; /* offset to name string for source file */ + } + dst_file_desc_t; + +typedef struct + { + unsigned short number_of_files; /* size of array: */ + dst_file_desc_t files[dst_dummy_array_size] ALIGNED1; + } + dst_rec_file_tab_t ALIGNED1; + + +/*----------------- + NAME TABLE record + ----------------- + A name table record may appear as an auxiliary record to the file table, + providing additional qualification of the file indexes for languages that + need it (i.e. Ada). Name table entries parallel file table entries of the + same file index. +*/ + +typedef struct + { + unsigned short number_of_names; /* size of array: */ + dst_rel_offset_t names[dst_dummy_array_size] ALIGNED1; + } + dst_rec_name_tab_t ALIGNED1; + + +/*-------------- + BLOCK record + -------------- + Describes a lexical program block--a procedure, function, module, etc. +*/ + +/* Block types. These may be used in any way desired by the compiler writers. + The debugger uses them only to give a description to the user of the type of + a block. The debugger makes no other assumptions about the meaning of any + of these. For example, the fact that a block is executable (e.g., program) + or not (e.g., module) is expressed in block attributes (see below), not + guessed at from the block type. +*/ +typedef enum + { + dst_block_module, /* some pascal = modula = ada types */ + dst_block_program, + dst_block_procedure, + dst_block_function, /* C function */ + dst_block_subroutine, /* some fortran block types */ + dst_block_block_data, + dst_block_stmt_function, + dst_block_package, /* a few particular to Ada */ + dst_block_package_body, + dst_block_subunit, + dst_block_task, + dst_block_file, /* a C outer scope? */ + dst_block_class, /* C++ or Simula */ + dst_block_END_OF_ENUM + } + dst_block_type_t; + +/* Block attributes. This is the information used by the debugger to represent + the semantics of blocks. +*/ +typedef enum + { + dst_block_main_entry, /* the block's entry point is a main entry into + the compilation unit */ + dst_block_executable, /* the block has an entry point */ + dst_block_attr_END_OF_ENUM + } + dst_block_attr_t; + +/* Code range. Each block has associated with it one or more code ranges. An + individual code range is identified by a range of source (possibly nil) and + a range of executable code. For example, a block which has its executable + code spread over multiple sections will have one code range per section. +*/ +typedef struct + { + unsigned long code_size; /* size of executable code (in bytes ) */ + dst_sect_ref_t code_start; /* starting address of executable code */ + dst_sect_ref_t lines_start; /* start of line number tables */ + } + dst_code_range_t; + +typedef struct + { + dst_block_type_t block_type : 8; + unsigned short flags : 8; /* mask of dst_block_attr_t flags */ + dst_rel_offset_t sibling_block_off; /* offset to next sibling block */ + dst_rel_offset_t child_block_off; /* offset to first contained block */ + dst_rel_offset_t noffset; /* offset to block name string */ + dst_sect_ref_t symbols_start; /* start of debug symbols */ + unsigned short n_of_code_ranges; /* size of array... */ + dst_code_range_t code_ranges[dst_dummy_array_size] ALIGNED1; + } + dst_rec_block_t ALIGNED1; + + +/*-------------------------- + AUX SECT INFO TABLE record + -------------------------- + Appears as an auxiliary to a block record. Expands code range information + by providing references into additional, language-dependent sections for + information related to specific code ranges of the block. Sect info table + entries parallel code range array entries of the same index. +*/ + +typedef struct + { + unsigned char tag; /* currently can only be zero */ + unsigned char number_of_refs; /* size of array: */ + dst_sect_ref_t refs[dst_dummy_array_size] ALIGNED1; + } + dst_rec_sect_info_tab_t ALIGNED1; + +/*=================================================*/ +/*========== RECORDS IN .symbols SECTION ==========*/ +/*=================================================*/ + +/*----------------- + CONSTANT record + ----------------- + Describes a symbolic constant. +*/ + +typedef struct + { + float r; /* real part */ + float i; /* imaginary part */ + } + dst_complex_t; + +typedef struct + { + double dr; /* real part */ + double di; /* imaginary part */ + } + dst_double_complex_t; + +/* The following record provides a way of describing constant values with + non-standard type and no limit on size. +*/ +typedef union + { + char char_data[dst_dummy_array_size]; + short int_data [dst_dummy_array_size]; + long long_data[dst_dummy_array_size]; + } + dst_big_kon_t; + +/* Representation of the value of a general constant. +*/ +typedef struct + { + unsigned short length; /* size of constant value (bytes) */ + + union + { + unsigned short kon_int8; + short kon_int16; + long kon_int32 ALIGNED1; + float kon_real ALIGNED1; + double kon_dbl ALIGNED1; + dst_complex_t kon_cplx ALIGNED1; + dst_double_complex_t kon_dcplx ALIGNED1; + char kon_char; + dst_big_kon_t kon ALIGNED1; + } + val; /* value data of constant */ + } + dst_const_t ALIGNED1; + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of const definition */ + dst_type_t type_desc; /* type of this (manifest) constant */ + dst_const_t value; + } + dst_rec_const_t ALIGNED1; + +/*---------------- + VARIABLE record + ---------------- + Describes a program variable. +*/ + +/* Variable attributes. These define certain variable semantics to the + debugger. +*/ +typedef enum + { + dst_var_attr_read_only, /* is read-only (a program literal) */ + dst_var_attr_volatile, /* same as compiler's VOLATILE attribute */ + dst_var_attr_global, /* is a global definition or reference */ + dst_var_attr_compiler_gen, /* is compiler-generated */ + dst_var_attr_static, /* has static location */ + dst_var_attr_END_OF_ENUM + } + dst_var_attr_t; + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_rel_offset_t loffset; /* offset to loc string */ + dst_src_loc_t src_loc; /* file/line of variable definition */ + dst_type_t type_desc; /* type descriptor */ + unsigned short attributes; /* mask of dst_var_attr_t flags */ + } + dst_rec_variable_t ALIGNED1; + + +/*---------------- + old VAR record + ----------------- + Used by older compilers to describe a variable +*/ + +typedef enum + { + dst_var_loc_unknown, /* Actually defined as "unknown" */ + dst_var_loc_abs, /* Absolute address */ + dst_var_loc_sect_off, /* Absolute address as a section offset */ + dst_var_loc_ind_sect_off, /* An indexed section offset ???? */ + dst_var_loc_reg, /* register */ + dst_var_loc_reg_rel, /* register relative - usually fp */ + dst_var_loc_ind_reg_rel, /* Indexed register relative */ + dst_var_loc_ftn_ptr_based, /* Fortran pointer based */ + dst_var_loc_pc_rel, /* PC relative. Really. */ + dst_var_loc_external, /* External */ + dst_var_loc_END_OF_ENUM + } + dst_var_loc_t; + +/* Locations come in two versions. The sort, and the long. The difference + * between the short and the long is the addition of a statement number + * field to the start andend of the range of the long, and and unkown + * purpose field in the middle. Also, loc_type and loc_index aren't + * bitfields in the long version. + */ + +typedef struct + { + unsigned short loc_type : 4; + unsigned short loc_index : 12; + long location; + short start_line; /* start_line and end_line? */ + short end_line; /* I'm guessing here. */ + } dst_var_loc_short_t; + +typedef struct + { + unsigned short loc_type; + unsigned short loc_index; + long location; + short unknown; /* Always 0003 or 3b3c. Why? */ + short start_statement; + short start_line; + short end_statement; + short end_line; + } dst_var_loc_long_t; + + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of description */ + dst_type_t type_desc; /* Type description */ + unsigned short attributes; /* mask of dst_var_attr_t flags */ + unsigned short no_of_locs : 15;/* Number of locations */ + unsigned short short_locs : 1; /* True if short locations. */ + union + { + dst_var_loc_short_t shorts[dst_dummy_array_size]; + dst_var_loc_long_t longs[dst_dummy_array_size]; + } locs; + } dst_rec_var_t; + +/*---------------- + old LABEL record + ----------------- + Used by older compilers to describe a label +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of description */ + char location[12]; /* location string */ + } + dst_rec_old_label_t ALIGNED1; + +/*---------------- + POINTER record + ---------------- + Describes a pointer type. +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to the name string for this type */ + dst_src_loc_t src_loc; /* file/line of definition */ + dst_type_t type_desc; /* base type of this pointer */ + } + dst_rec_pointer_t ALIGNED1; + + +/*------------- + ARRAY record + ------------- + Describes an array type. + + Multidimensional arrays are described with a number of dst_rec_array_t + records, one per array dimension, each linked to the next through the + elem_type_desc.doffset field. Each record must have its multi_dim flag + set. + + If column_major is true (as with FORTRAN arrays) then the last array bound in + the declaration is the first array index in memory, which is the opposite of + the usual case (as with Pascal and C arrays). + + Variable array bounds are described by auxiliary records; if aux_var_bound + records are present, the lo_bound and hi_bound fields of this record are + ignored by the debugger. + + span_comp identifies one of the language-dependent ways in which the distance + between successive array elements (span) is calculated. + dst_use_span_field -- the span is the value of span field. + dst_compute_from_prev -- the span is the size of the previous dimension. + dst_compute_from_next -- the span is the size of the next dimension. + In the latter two cases, the span field contains an amount of padding to add + to the size of the appropriate dimension to calculate the span. +*/ + +typedef enum + { + dst_use_span_field, + dst_compute_from_prev, + dst_compute_from_next, + dst_span_comp_END_OF_ENUM + } + dst_span_comp_t; + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of definition */ + dst_type_t elem_type_desc; /* array element type */ + dst_type_t indx_type_desc; /* array index type */ + long lo_bound; /* lower bound of index */ + long hi_bound; /* upper bound of index */ + unsigned long span; /* see above */ + unsigned long size; /* total array size (bytes) */ + boolean multi_dim : 1; + boolean is_packed : 1; /* true if packed array */ + boolean is_signed : 1; /* true if packed elements are signed */ + dst_span_comp_t span_comp : 2; /* how to compute span */ + boolean column_major : 1; + unsigned short reserved : 2; /* must be zero */ + unsigned short elem_size : 8; /* element size if packed (bits) */ + } + dst_rec_array_t ALIGNED1; + + +/*----------------- + SUBRANGE record + ----------------- + Describes a subrange type. +*/ + +/* Variable subrange bounds are described by auxiliary records; if aux_var_bound + records are present, the lo_bound and hi_bound fields of this record are + ignored by the debugger. +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of subrange definition */ + dst_type_t type_desc; /* parent type */ + long lo_bound; /* lower bound of subrange */ + long hi_bound; /* upper bound of subrange */ + unsigned short size; /* storage size (bytes) */ + } + dst_rec_subrange_t ALIGNED1; + + +/*--------------- + STRING record + --------------- + Describes a string type. +*/ + +/* Variable subrange bounds are described by auxiliary records; if aux_var_bound + records are present, the lo_bound and hi_bound fields of this record are + ignored by the debugger. +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of string definition */ + dst_type_t elem_type_desc; /* element type */ + dst_type_t indx_type_desc; /* index type */ + long lo_bound; /* lower bound */ + long hi_bound; /* upper bound */ + unsigned long size; /* total string size (bytes) if fixed */ + } + dst_rec_string_t ALIGNED1; + + +/*--------------- + SET record + --------------- + Describes a set type. +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of definition */ + dst_type_t type_desc; /* element type */ + unsigned short nbits; /* number of bits in set */ + unsigned short size; /* storage size (bytes) */ + } + dst_rec_set_t ALIGNED1; + + +/*----------------------------- + IMPLICIT ENUMERATION record + ----------------------------- + Describes an enumeration type with implicit element values = 0, 1, 2, ... + (Pascal-style). +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of definition */ + unsigned short nelems; /* number of elements in enumeration */ + unsigned short size; /* storage size (bytes) */ + /* offsets to name strings of elements 0, 1, 2, ... */ + dst_rel_offset_t elem_noffsets[dst_dummy_array_size]; + } + dst_rec_implicit_enum_t ALIGNED1; + + +/*----------------------------- + EXPLICIT ENUMERATION record + ----------------------------- + Describes an enumeration type with explicitly assigned element values + (C-style). +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to element name string */ + long value; /* element value */ + } + dst_enum_elem_t; + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of definition */ + unsigned short nelems; /* number of elements in enumeration */ + unsigned short size; /* storage size (bytes) */ + /* name/value pairs, one describing each enumeration value: */ + dst_enum_elem_t elems[dst_dummy_array_size]; + } + dst_rec_explicit_enum_t ALIGNED1; + + +/*----------------------- + RECORD / UNION record + ----------------------- + Describes a record (struct) or union. + + If the record is larger than 2**16 bytes then an attached aux record + specifies its size. Also, if the record is stored in short form then + attached records specify field offsets larger than 2**16 bytes. + + Whether the fields[] array or sfields[] array is used is selected by + the dst_rec_type_t of the overall dst record. +*/ + +/* + Record field descriptor, short form. This form handles only fields which + are an even number of bytes long, located some number of bytes from the + start of the record. +*/ +typedef struct + { + dst_rel_offset_t noffset; /* offset to field name string */ + dst_type_t type_desc; /* field type */ + unsigned short foffset; /* field offset from start of record (bytes) */ + } + dst_short_field_t ALIGNED1; + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_type_t type_desc; /* field type */ + unsigned short foffset; /* byte offset */ + unsigned short is_packed : 1; /* True if field is packed */ + unsigned short bit_offset : 6; /* Bit offset */ + unsigned short size : 6; /* Size in bits */ + unsigned short sign : 1; /* True if signed */ + unsigned short pad : 2; /* Padding. Must be 0 */ + } + dst_old_field_t ALIGNED1; + +/* Tag enumeration for long record field descriptor: +*/ +typedef enum + { + dst_field_byte, + dst_field_bit, + dst_field_loc, + dst_field_END_OF_ENUM + } + dst_field_format_t; + +/* + Record field descriptor, long form. The format of the field information + is identified by the format_tag, which contains one of the above values. + The field_byte variant is equivalent to the short form of field descriptor. + The field_bit variant handles fields which are any number of bits long, + located some number of bits from the start of the record. The field_loc + variant allows the location of the field to be described by a general loc + string. +*/ +typedef struct + { + dst_rel_offset_t noffset; /* offset to name of field */ + dst_type_t type_desc; /* type of field */ + union + { + struct { + dst_field_format_t format_tag: 2; /* dst_field_byte */ + unsigned long offset: 30; /* offset of field in bytes */ + } + field_byte ALIGNED1; + struct { + dst_field_format_t format_tag: 2; /* dst_field_bit */ + unsigned long nbits: 6; /* bit size of field */ + unsigned long is_signed: 1; /* signed/unsigned attribute */ + unsigned long bit_offset: 3; /* bit offset from byte boundary */ + int pad: 4; /* must be zero */ + unsigned short byte_offset; /* offset of byte boundary */ + } + field_bit ALIGNED1; + struct { + dst_field_format_t format_tag: 2; /* dst_field_loc */ + int loffset: 30; /* dst_rel_offset_t to loc string */ + } + field_loc ALIGNED1; + } + f ALIGNED1; + } + dst_field_t; + +/* The field_loc.loffset field is a 30-bit signed value. Some versions of C do + not support signed bit fields. The following macro will extract that field + as a signed value: +*/ +#define dst_field_loffset(field_rec) \ + ( ((int) ((field_rec).f.field_loc.loffset << 2)) >> 2 ) + + +typedef struct + { + dst_rel_offset_t noffset; /* offset to record name string */ + dst_src_loc_t src_loc; /* file/line where this record is defined */ + unsigned short size; /* storage size (bytes) */ + unsigned short nfields; /* number of fields in this record */ + union + { + dst_field_t fields[dst_dummy_array_size]; + dst_short_field_t sfields[dst_dummy_array_size]; + dst_old_field_t ofields[dst_dummy_array_size]; + } + f; /* array of fields */ + } + dst_rec_record_t ALIGNED1; + + +/*------------- + FILE record + ------------- + Describes a file type. +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line where type was defined */ + dst_type_t type_desc; /* file element type */ + } + dst_rec_file_t ALIGNED1; + + +/*--------------- + OFFSET record + --------------- + Describes a Pascal offset type. + (This type, an undocumented Domain Pascal extension, is currently not + supported by the debugger) +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to the name string */ + dst_src_loc_t src_loc; /* file/line of definition */ + dst_type_t area_type_desc; /* area type */ + dst_type_t base_type_desc; /* base type */ + long lo_bound; /* low bound of the offset range */ + long hi_bound; /* high bound of the offset range */ + long bias; /* bias */ + unsigned short scale; /* scale factor */ + unsigned short size; /* storage size (bytes) */ + } + dst_rec_offset_t ALIGNED1; + + +/*-------------- + ALIAS record + -------------- + Describes a type alias (e.g., typedef). +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of definition */ + dst_type_t type_desc; /* parent type */ + } + dst_rec_alias_t ALIGNED1; + + +/*------------------ + SIGNATURE record + ------------------ + Describes a procedure/function type. +*/ + +/* Enumeration of argument semantics. Note that most are mutually + exclusive. +*/ +typedef enum + { + dst_arg_attr_val, /* passed by value */ + dst_arg_attr_ref, /* passed by reference */ + dst_arg_attr_name, /* passed by name */ + dst_arg_attr_in, /* readable in the callee */ + dst_arg_attr_out, /* writable in the callee */ + dst_arg_attr_hidden, /* not visible in the caller */ + dst_arg_attr_END_OF_ENUM + } + dst_arg_attr_t; + +/* Argument descriptor. Actually points to a variable record for most of the + information. +*/ +typedef struct + { + dst_rel_offset_t var_offset; /* offset to variable record */ + unsigned short attributes; /* a mask of dst_arg_attr_t flags */ + } + dst_arg_t ALIGNED1; + +typedef struct + { + dst_rel_offset_t noffset; /* offset to name string */ + dst_src_loc_t src_loc; /* file/line of function definition */ + dst_rel_offset_t result; /* offset to function result variable record */ + unsigned short nargs; /* number of arguments */ + dst_arg_t args[dst_dummy_array_size]; + } + dst_rec_signature_t ALIGNED1; + +/*-------------- + SCOPE record + -------------- + Obsolete. Use the new ENTRY type instead. + Old compilers may put this in as the first entry in a function, + terminated by an end of scope entry. +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* Name offset */ + dst_src_loc_t start_line; /* Starting line */ + dst_src_loc_t end_line; /* Ending line */ + } + dst_rec_scope_t ALIGNED1; + +/*-------------- + ENTRY record + -------------- + Describes a procedure/function entry point. An entry record is to a + signature record roughly as a variable record is to a type descriptor record. + + The entry_number field is keyed to the entry numbers in .lines -- the + debugger locates the code location of an entry by searching the line + number table for an entry numbered with the value of entry_number. The + main entry is numbered zero. +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to entry name string */ + dst_rel_offset_t loffset; /* where to jump to call this entry */ + dst_src_loc_t src_loc; /* file/line of definition */ + dst_rel_offset_t sig_desc; /* offset to signature descriptor */ + unsigned int entry_number: 8; + int pad: 8; /* must be zero */ + } + dst_rec_entry_t ALIGNED1; + +/*----------------------- + Old format ENTRY record + ----------------------- + Supposedly obsolete but still used by some compilers. + */ + +typedef struct + { + dst_rel_offset_t noffset; /* Offset to entry name string */ + dst_src_loc_t src_loc; /* Location in source */ + dst_rel_offset_t sig_desc; /* Signature description */ + char unknown[36]; + } + dst_rec_old_entry_t ALIGNED1; + +/*-------------- + LABEL record + -------------- + Describes a program label. +*/ + +typedef struct + { + dst_rel_offset_t noffset; /* offset to label string */ + dst_rel_offset_t loffset; /* offset to loc string */ + dst_src_loc_t src_loc; /* file/line of definition */ + } + dst_rec_label_t ALIGNED1; + + +/*----------------------- + AUXILIARY SIZE record + ----------------------- + May appear in the auxiliary record list of any type or variable record to + modify the default size of the type or variable. +*/ + +typedef struct + { + unsigned long size; /* size (bytes) */ + } + dst_rec_aux_size_t ALIGNED1; + + +/*----------------------- + AUXILIARY ALIGN record + ----------------------- + May appear in the auxiliary record list of any type or variable record to + modify the default alignment of the type or variable. +*/ + +typedef struct + { + unsigned short alignment; /* # of low order zero bits */ + } + dst_rec_aux_align_t ALIGNED1; + + +/*----------------------------- + AUXILIARY FIELD SIZE record + ----------------------------- + May appear in the auxiliary record list of any RECORD/UNION record to + modify the default size of a field. +*/ + +typedef struct + { + unsigned short field_no; /* field number */ + unsigned long size; /* size (bits) */ + } + dst_rec_aux_field_size_t ALIGNED1; + + + +/*----------------------------- + AUXILIARY FIELD OFFSET record + ----------------------------- + May appear in the auxiliary record list of any RECORD/UNION record to + specify a field offset larger than 2**16. +*/ + +typedef struct + { + unsigned short field_no; /* field number */ + unsigned long foffset; /* offset */ + } + dst_rec_aux_field_off_t ALIGNED1; + + +/*----------------------------- + AUXILIARY FIELD ALIGN record + ----------------------------- + May appear in the auxiliary record list of any RECORD/UNION record to + modify the default alignment of a field. +*/ + +typedef struct + { + unsigned short field_no; /* field number */ + unsigned short alignment; /* number of low order zero bits */ + } + dst_rec_aux_field_align_t ALIGNED1; + + +/*---------------------------- + AUXILIARY VAR BOUND record + ---------------------------- + May appear in the auxiliary record list of any ARRAY, SUBRANGE or STRING + record to describe a variable bound for the range of the type. +*/ + +typedef enum + { + dst_low_bound, /* the low bound is variable */ + dst_high_bound, /* the high bound is variable */ + dst_var_bound_END_OF_ENUM + } + dst_var_bound_t; + +typedef struct + { + unsigned short which; /* which bound */ + dst_rel_offset_t voffset ALIGNED1; /* variable that defines bound */ + } + dst_rec_aux_var_bound_t ALIGNED1; + + +/*---------------------------------- + AUXILIARY TYPE DERIVATION record + ---------------------------------- + May appear in the auxiliary record list of any RECORD/UNION record to denote + class inheritance of that type from a parent type. + + Inheritance implies that it is possible to convert the inheritor type to the + inherited type, retaining those fields which were inherited. To allow this, + orig_field_no, a field number into the record type, is provided. If + orig_is_pointer is false, then the start of the inherited record is located + at the location of the field indexed by orig_field_no. If orig_is_pointer + is true, then it is located at the address contained in the field indexed + by orig_field_no (assumed to be a pointer). +*/ + +typedef struct + { + dst_type_t parent_type; /* reference to inherited type */ + unsigned short orig_field_no; + boolean orig_is_pointer: 1; + int unused: 15; /* must be zero */ + } + dst_rec_aux_type_deriv_t ALIGNED1; + + +/*------------------------------------ + AUXILIARY VARIABLE LIFETIME record + ------------------------------------ + May appear in the auxiliary record list of a VARIABLE record to add location + information for an additional variable lifetime. +*/ + +typedef struct + { + dst_rel_offset_t loffset; + } + dst_rec_aux_lifetime_t ALIGNED1; + + +/*------------------------------- + AUXILIARY POINTER BASE record + ------------------------------- + May appear in the auxiliary record list of a VARIABLE record to provide a + pointer base to substitute for references to any such bases in the location + string of the variable. A pointer base is another VARIABLE record. When + the variable is evaluated by the debugger, it uses the current value of the + pointer base variable in computing its location. + + This is useful for representing FORTRAN pointer-based variables. +*/ + +typedef struct + { + dst_rel_offset_t voffset; + } + dst_rec_aux_ptr_base_t ALIGNED1; + + +/*--------------------------------- + AUXILIARY REGISTER VALUE record + --------------------------------- + May appear in the auxiliary record list of an ENTRY record to specify + a register that must be set to a specific value before jumping to the entry + point in a debugger "call". The debugger must set the debuggee register, + specified by the register code, to the value of the *address* to which the + location string resolves. If the address is register-relative, then the + call cannot be made unless the current stack frame is the lexical parent + of the entry. An example of this is when a (Pascal) nested procedure + contains references to its parent's variables, which it accesses through + a static link register. The static link register must be set to some + address relative to the parent's stack base register. +*/ + +typedef struct + { + unsigned short reg; /* identifies register to set (isp enum) */ + dst_rel_offset_t loffset; /* references a location string */ + } + dst_rec_aux_reg_val_t ALIGNED1; + + +/*==========================================================*/ +/*========== RECORDS USED IN .blocks AND .symbols ==========*/ +/*==========================================================*/ + +/*--------------------- + STRING TABLE record + --------------------- + A string table record contains any number of null-terminated, variable length + strings. The length field gives the size in bytes of the text field, which + can be any size. + + The global name table shares this format. This record appears in the + .blocks section. Each string in the table identifies a global defined in + the current compilation unit. + + The loc pool record shares this format as well. Loc strings are described + elsewhere. +*/ + +typedef struct + { + unsigned long length; + char text[dst_dummy_array_size]; + } + dst_rec_string_tab_t ALIGNED1; + + +/*----------------------- + AUXILIARY QUAL record + ----------------------- + May appear in the auxiliary record list of any BLOCK, VARIABLE, or type record + to provide it with a fully-qualified, language-dependent name. +*/ + +typedef struct + { + dst_rel_offset_t lang_qual_name; + } + dst_rec_aux_qual_t ALIGNED1; + + +/*---------------- + FORWARD record + ---------------- + Reference to a record somewhere else. This allows identical definitions in + different scopes to share data. +*/ + +typedef struct + { + dst_rel_offset_t rec_off; + } + dst_rec_forward_t ALIGNED1; + + +/*------------------------------- + AUXILIARY SOURCE RANGE record + ------------------------------- + May appear in the auxiliary record list of any BLOCK record to specify a + range of source lines over which the block is active. +*/ + +typedef struct + { + dst_src_loc_t first_line; /* first source line */ + dst_src_loc_t last_line; /* last source line */ + } + dst_rec_aux_src_range_t ALIGNED1; + + +/*------------------ + EXTENSION record + ------------------ + Provision for "foreign" records, such as might be generated by a non-Apollo + compiler. Apollo software will ignore these. +*/ + +typedef struct + { + unsigned short rec_size; /* record size (bytes) */ + unsigned short ext_type; /* defined by whoever generates it */ + unsigned short ext_data; /* place-holder for arbitrary amount of data */ + } + dst_rec_extension_t ALIGNED1; + + +/* +** DEBUG SYMBOL record -- The wrapper for all .blocks and .symbols records. +** +** This record ties together all previous .blocks and .symbols records +** together in a union with a common header. The rec_type field of the +** header identifies the record type. The rec_flags field currently only +** defines auxiliary record lists. +** +** If a record carries with it a non-null auxiliary record list, its +** dst_flag_has_aux_recs flag is set, and each of the records that follow +** it are treated as its auxiliary records, until the end of the compilation +** unit or scope is reached, or until an auxiliary record with its +** dst_flag_last_aux_rec flag set is reached. +*/ + +typedef enum + { + dst_flag_has_aux_recs, + dst_flag_last_aux_rec, + dst_rec_flag_END_OF_ENUM + } + dst_rec_flags_t; + +typedef struct + { + dst_rec_type_t rec_type : 8; /* record type */ + int rec_flags: 8; /* mask of dst_rec_flags_t */ + union /* switched on rec_type field above */ + { + /* dst_typ_pad requires no additional fields */ + dst_rec_comp_unit_t comp_unit_; + dst_rec_section_tab_t section_tab_; + dst_rec_file_tab_t file_tab_; + dst_rec_block_t block_; + dst_rec_var_t var_; + dst_rec_pointer_t pointer_; + dst_rec_array_t array_; + dst_rec_subrange_t subrange_; + dst_rec_set_t set_; + dst_rec_implicit_enum_t implicit_enum_; + dst_rec_explicit_enum_t explicit_enum_; + /* dst_typ_short_{rec,union} are represented by 'rec' (below) */ + dst_rec_file_t file_; + dst_rec_offset_t offset_; + dst_rec_alias_t alias_; + dst_rec_signature_t signature_; + dst_rec_old_label_t old_label_; + dst_rec_scope_t scope_; + /* dst_typ_end_scope requires no additional fields */ + dst_rec_string_tab_t string_tab_; + /* dst_typ_global_name_tab is represented by 'string_tab' (above) */ + dst_rec_forward_t forward_; + dst_rec_aux_size_t aux_size_; + dst_rec_aux_align_t aux_align_; + dst_rec_aux_field_size_t aux_field_size_; + dst_rec_aux_field_off_t aux_field_off_; + dst_rec_aux_field_align_t aux_field_align_; + dst_rec_aux_qual_t aux_qual_; + dst_rec_aux_var_bound_t aux_var_bound_; + dst_rec_extension_t extension_; + dst_rec_string_t string_; + dst_rec_const_t const_; + /* dst_typ_reference is represented by 'pointer' (above) */ + dst_rec_record_t record_; + /* dst_typ_union is represented by 'record' (above) */ + dst_rec_aux_type_deriv_t aux_type_deriv_; + /* dst_typ_locpool is represented by 'string_tab' (above) */ + dst_rec_variable_t variable_; + dst_rec_label_t label_; + dst_rec_entry_t entry_; + dst_rec_aux_lifetime_t aux_lifetime_; + dst_rec_aux_ptr_base_t aux_ptr_base_; + dst_rec_aux_src_range_t aux_src_range_; + dst_rec_aux_reg_val_t aux_reg_val_; + dst_rec_name_tab_t aux_unit_names_; + dst_rec_sect_info_tab_t aux_sect_info_; + } + rec_data ALIGNED1; + } + dst_rec_t, *dst_rec_ptr_t; + + +/*===============================================*/ +/*========== .lines SECTION DEFINITIONS =========*/ +/*===============================================*/ +/* + The .lines section contains a sequence of line number tables. There is no + record structure within the section. The start of the table for a routine + is pointed to by the block record, and the end of the table is signaled by + an escape code. + + A line number table is a sequence of bytes. The default entry contains a line + number delta (-7..+7) in the high 4 bits and a pc delta (0..15) in the low 4 + bits. Special cases, including when one or both of the values is too large + to fit in 4 bits and other special cases are handled through escape entries. + Escape entries are identified by the value 0x8 in the high 4 bits. The low 4 + bits are occupied by a function code. Some escape entries are followed by + additional arguments, which may be bytes, words, or longwords. This data is + not aligned. + + The initial PC offset, file number and line number are zero. Normally, the + table begins with a dst_ln_file escape which establishes the initial file + and line number. All PC deltas are unsigned (thus the table is ordered by + increasing PC); line number deltas are signed. The table ends with a + dst_ln_end escape, which is followed by a final table entry whose PC delta + gives the code size of the last statement. + + Escape Semantic + --------- ------------------------------------------------------------ + file Changes file state. The current source file remains constant + until another file escape. Though the line number state is + also updated by a file escape, a file escape does NOT + constitute a line table entry. + + statement Alters the statement number of the next table entry. By + default, all table entries refer to the first statement on a + line. Statement number one is the second statement, and so on. + + entry Identifies the next table entry as the position of an entry + point for the current block. The PC position should follow + any procedure prologue code. An argument specifies the entry + number, which is keyed to the entry number of the corresponding + .symbols ENTRY record. + + exit Identifies the next table entry as the last position within + the current block before a procedure epiloge and subsequent + procedure exit. + + gap By default, the executable code corresponding to a table entry + is assumed to extend to the beginning of the next table entry. + If this is not the case--there is a "hole" in the table--then + a gap escape should follow the first table entry to specify + where the code for that entry ends. +*/ + +#define dst_ln_escape_flag -8 + +/* + Escape function codes: +*/ +typedef enum + { + dst_ln_pad, /* pad byte */ + dst_ln_file, /* file escape. Next 4 bytes are a dst_src_loc_t */ + dst_ln_dln1_dpc1, /* 1 byte line delta, 1 byte pc delta */ + dst_ln_dln2_dpc2, /* 2 bytes line delta, 2 bytes pc delta */ + dst_ln_ln4_pc4, /* 4 bytes ABSOLUTE line number, 4 bytes ABSOLUTE pc */ + dst_ln_dln1_dpc0, /* 1 byte line delta, pc delta = 0 */ + dst_ln_ln_off_1, /* statement escape, stmt # = 1 (2nd stmt on line) */ + dst_ln_ln_off, /* statement escape, stmt # = next byte */ + dst_ln_entry, /* entry escape, next byte is entry number */ + dst_ln_exit, /* exit escape */ + dst_ln_stmt_end, /* gap escape, 4 bytes pc delta */ + dst_ln_escape_11, /* reserved */ + dst_ln_escape_12, /* reserved */ + dst_ln_escape_13, /* reserved */ + dst_ln_nxt_byte, /* next byte contains the real escape code */ + dst_ln_end, /* end escape, final entry follows */ + dst_ln_escape_END_OF_ENUM + } + dst_ln_escape_t; + +/* + Line number table entry +*/ +typedef union + { + struct + { + unsigned int ln_delta : 4; /* 4 bit line number delta */ + unsigned int pc_delta : 4; /* 4 bit pc delta */ + } + delta; + + struct + { + unsigned int esc_flag : 4; /* alias for ln_delta */ + dst_ln_escape_t esc_code : 4; /* escape function code */ + } + esc; + + char sdata; /* signed data byte */ + unsigned char udata; /* unsigned data byte */ + } + dst_ln_entry_t, + *dst_ln_entry_ptr_t, + dst_ln_table_t[dst_dummy_array_size]; + +/* The following macro will extract the ln_delta field as a signed value: +*/ +#define dst_ln_ln_delta(ln_rec) \ + ( ((short) ((ln_rec).delta.ln_delta << 12)) >> 12 ) + + + + +typedef struct dst_sec_struct { + char *buffer; + long position; + long size; + long base; +} dst_sec; + + +/* Macros for access to the data */ + +#define DST_comp_unit(x) ((x)->rec_data.comp_unit_) +#define DST_section_tab(x) ((x)->rec_data.section_tab_) +#define DST_file_tab(x) ((x)->rec_data.file_tab_) +#define DST_block(x) ((x)->rec_data.block_) +#define DST_var(x) ((x)->rec_data.var_) +#define DST_pointer(x) ((x)->rec_data.pointer_) +#define DST_array(x) ((x)->rec_data.array_) +#define DST_subrange(x) ((x)->rec_data.subrange_) +#define DST_set(x) ((x)->rec_data.set_) +#define DST_implicit_enum(x) ((x)->rec_data.implicit_enum_) +#define DST_explicit_enum(x) ((x)->rec_data.explicit_enum_) +#define DST_short_rec(x) ((x)->rec_data.record_) +#define DST_short_union(x) ((x)->rec_data.record_) +#define DST_file(x) ((x)->rec_data.file_) +#define DST_offset(x) ((x)->rec_data.offset_) +#define DST_alias(x) ((x)->rec_data.alias_) +#define DST_signature(x) ((x)->rec_data.signature_) +#define DST_old_label(x) ((x)->rec_data.old_label_) +#define DST_scope(x) ((x)->rec_data.scope_) +#define DST_string_tab(x) ((x)->rec_data.string_tab_) +#define DST_global_name_tab(x) ((x)->rec_data.string_tab_) +#define DST_forward(x) ((x)->rec_data.forward_) +#define DST_aux_size(x) ((x)->rec_data.aux_size_) +#define DST_aux_align(x) ((x)->rec_data.aux_align_) +#define DST_aux_field_size(x) ((x)->rec_data.aux_field_size_) +#define DST_aux_field_off(x) ((x)->rec_data.aux_field_off_) +#define DST_aux_field_align(x) ((x)->rec_data.aux_field_align_) +#define DST_aux_qual(x) ((x)->rec_data.aux_qual_) +#define DST_aux_var_bound(x) ((x)->rec_data.aux_var_bound_) +#define DST_extension(x) ((x)->rec_data.extension_) +#define DST_string(x) ((x)->rec_data.string_) +#define DST_const(x) ((x)->rec_data.const_) +#define DST_reference(x) ((x)->rec_data.pointer_) +#define DST_record(x) ((x)->rec_data.record_) +#define DST_union(x) ((x)->rec_data.record_) +#define DST_aux_type_deriv(x) ((x)->rec_data.aux_type_deriv_) +#define DST_locpool(x) ((x)->rec_data.string_tab_) +#define DST_variable(x) ((x)->rec_data.variable_) +#define DST_label(x) ((x)->rec_data.label_) +#define DST_entry(x) ((x)->rec_data.entry_) +#define DST_aux_lifetime(x) ((x)->rec_data.aux_lifetime_) +#define DST_aux_ptr_base(x) ((x)->rec_data.aux_ptr_base_) +#define DST_aux_src_range(x) ((x)->rec_data.aux_src_range_) +#define DST_aux_reg_val(x) ((x)->rec_data.aux_reg_val_) +#define DST_aux_unit_names(x) ((x)->rec_data.aux_unit_names_) +#define DST_aux_sect_info(x) ((x)->rec_data.aux_sect_info_) + + +/* + * Type codes for loc strings. I'm not entirely certain about all of + * these, but they seem to work. + * troy@cbme.unsw.EDU.AU + * If you find a variable whose location can't be decoded, you should + * find out it's code using "dstdump -s filename". It will record an + * entry for the variable, and give a text representation of what + * the locstring means. Before that explaination there will be a + * number. In the LOCSTRING table, that number will appear before + * the start of the location string. Location string codes are + * five bit codes with a 3 bit argument. Check the high 5 bits of + * the one byte code, and figure out where it goes in here. + * Then figure out exactly what the meaning is and code it in + * dstread.c + * + * Note that ranged locs mean that the variable is in different locations + * depending on the current PC. We ignore these because (a) gcc can't handle + * them, and (b), If you don't use high levels of optimisation they won't + * occur. + */ +typedef enum +{ + dst_lsc_end, /* End of string */ + dst_lsc_indirect, /* Indirect through previous. Arg == 6 */ + /* Or register ax (x=arg) */ + dst_lsc_dreg, /* register dx (x=arg) */ + dst_lsc_03, + dst_lsc_section, /* Section (arg+1) */ + dst_lsc_05, + dst_lsc_06, + dst_lsc_add, /* Add (arg+1)*2 */ + dst_lsc_sub, /* Subtract (arg+1)*2 */ + dst_lsc_09, + dst_lsc_0a, + dst_lsc_sec_byte, /* Section of next byte+1 */ + dst_lsc_add_byte, /* Add next byte (arg == 5) or next word + * (arg == 6) + */ + dst_lsc_sub_byte, /* Subtract next byte. (arg == 1) or next + * word (arg == 6 ?) + */ + dst_lsc_sbreg, /* Stack base register (frame pointer). Arg==0*/ + dst_lsc_0f, + dst_lsc_ranged, /* location is pc dependent */ + dst_lsc_11, + dst_lsc_12, + dst_lsc_13, + dst_lsc_14, + dst_lsc_15, + dst_lsc_16, + dst_lsc_17, + dst_lsc_18, + dst_lsc_19, + dst_lsc_1a, + dst_lsc_1b, + dst_lsc_1c, + dst_lsc_1d, + dst_lsc_1e, + dst_lsc_1f +} dst_loc_string_code_t; + +/* If the following occurs after an addition/subtraction, that addition + * or subtraction should be multiplied by 256. It's a complete byte, not + * a code. + */ + +#define dst_multiply_256 ((char) 0x73) + +typedef struct +{ + char code : 5; + char arg : 3; +} dst_loc_header_t ALIGNED1; + +typedef union +{ + dst_loc_header_t header; + char data; +} dst_loc_entry_t ALIGNED1; + +#undef ALIGNED1 +#endif /* apollo_dst_h */ diff --git a/contrib/gdb/gdb/dstread.c b/contrib/gdb/gdb/dstread.c new file mode 100644 index 0000000000000..16b02f5771d6c --- /dev/null +++ b/contrib/gdb/gdb/dstread.c @@ -0,0 +1,1730 @@ +/* Read apollo DST symbol tables and convert to internal format, for GDB. + Contributed by Troy Rollo, University of NSW (troy@cbme.unsw.edu.au). + Copyright 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "symtab.h" +#include "gdbtypes.h" +#include "breakpoint.h" +#include "bfd.h" +#include "symfile.h" +#include "objfiles.h" +#include "buildsym.h" +#include "obstack.h" + +#include "gdb_string.h" + +#include "dst.h" + +CORE_ADDR cur_src_start_addr, cur_src_end_addr; +dst_sec blocks_info, lines_info, symbols_info; + +/* Vector of line number information. */ + +static struct linetable *line_vector; + +/* Index of next entry to go in line_vector_index. */ + +static int line_vector_index; + +/* Last line number recorded in the line vector. */ + +static int prev_line_number; + +/* Number of elements allocated for line_vector currently. */ + +static int line_vector_length; + +static struct blockvector * +make_blockvector PARAMS ((struct objfile *)); + +static int +init_dst_sections PARAMS ((int)); + +static void +read_dst_symtab PARAMS ((struct objfile *)); + +static void +find_dst_sections PARAMS ((bfd *, sec_ptr, PTR)); + +static void +dst_symfile_init PARAMS ((struct objfile *)); + +static void +dst_new_init PARAMS ((struct objfile *)); + +static void +dst_symfile_read PARAMS ((struct objfile *, struct section_offsets *, int)); + +static void +dst_symfile_finish PARAMS ((struct objfile *)); + +static void +record_minimal_symbol PARAMS ((char *, CORE_ADDR, enum minimal_symbol_type, + struct objfile *)); + +static void +dst_end_symtab PARAMS ((struct objfile *)); + +static void +complete_symtab PARAMS ((char *, CORE_ADDR, unsigned int)); + +static void +dst_start_symtab PARAMS ((void)); + +static void +dst_record_line PARAMS ((int, CORE_ADDR)); + +static struct blockvector * +make_blockvector (objfile) + struct objfile *objfile; +{ + register struct pending_block *next, *next1; + register struct blockvector *blockvector; + register int i; + + /* Count the length of the list of blocks. */ + + for (next = pending_blocks, i = 0; next; next = next->next, i++); + + blockvector = (struct blockvector *) + obstack_alloc (&objfile->symbol_obstack, sizeof (struct blockvector) + (i - 1) * sizeof (struct block *)); + + /* Copy the blocks into the blockvector. + This is done in reverse order, which happens to put + the blocks into the proper order (ascending starting address). + */ + + BLOCKVECTOR_NBLOCKS (blockvector) = i; + for (next = pending_blocks; next; next = next->next) + BLOCKVECTOR_BLOCK (blockvector, --i) = next->block; + + /* Now free the links of the list, and empty the list. */ + + for (next = pending_blocks; next; next = next1) + { + next1 = next->next; + free ((PTR)next); + } + pending_blocks = 0; + + return blockvector; +} + +/* Manage the vector of line numbers. */ +/* FIXME: Use record_line instead. */ + +static void +dst_record_line (line, pc) + int line; + CORE_ADDR pc; +{ + struct linetable_entry *e; + /* Make sure line vector is big enough. */ + + if (line_vector_index + 2 >= line_vector_length) + { + line_vector_length *= 2; + line_vector = (struct linetable *) + xrealloc ((char *) line_vector, sizeof (struct linetable) + + (line_vector_length + * sizeof (struct linetable_entry))); + } + + e = line_vector->item + line_vector_index++; + e->line = line; e->pc = pc; +} + +/* Start a new symtab for a new source file. + It indicates the start of data for one original source file. */ +/* FIXME: use start_symtab, like coffread.c now does. */ + +static void +dst_start_symtab () +{ + /* Initialize the source file line number information for this file. */ + + if (line_vector) /* Unlikely, but maybe possible? */ + free ((PTR)line_vector); + line_vector_index = 0; + line_vector_length = 1000; + prev_line_number = -2; /* Force first line number to be explicit */ + line_vector = (struct linetable *) + xmalloc (sizeof (struct linetable) + + line_vector_length * sizeof (struct linetable_entry)); +} + +/* Save the vital information from when starting to read a file, + for use when closing off the current file. + NAME is the file name the symbols came from, START_ADDR is the first + text address for the file, and SIZE is the number of bytes of text. */ + +static void +complete_symtab (name, start_addr, size) + char *name; + CORE_ADDR start_addr; + unsigned int size; +{ + last_source_file = savestring (name, strlen (name)); + cur_src_start_addr = start_addr; + cur_src_end_addr = start_addr + size; + + if (current_objfile -> ei.entry_point >= cur_src_start_addr && + current_objfile -> ei.entry_point < cur_src_end_addr) + { + current_objfile -> ei.entry_file_lowpc = cur_src_start_addr; + current_objfile -> ei.entry_file_highpc = cur_src_end_addr; + } +} + +/* Finish the symbol definitions for one main source file, + close off all the lexical contexts for that file + (creating struct block's for them), then make the + struct symtab for that file and put it in the list of all such. */ +/* FIXME: Use end_symtab, like coffread.c now does. */ + +static void +dst_end_symtab (objfile) + struct objfile *objfile; +{ + register struct symtab *symtab; + register struct blockvector *blockvector; + register struct linetable *lv; + + /* Create the blockvector that points to all the file's blocks. */ + + blockvector = make_blockvector (objfile); + + /* Now create the symtab object for this source file. */ + symtab = allocate_symtab (last_source_file, objfile); + + /* Fill in its components. */ + symtab->blockvector = blockvector; + symtab->free_code = free_linetable; + symtab->free_ptr = 0; + symtab->filename = last_source_file; + symtab->dirname = NULL; + lv = line_vector; + lv->nitems = line_vector_index; + symtab->linetable = (struct linetable *) + xrealloc ((char *) lv, (sizeof (struct linetable) + + lv->nitems * sizeof (struct linetable_entry))); + + free_named_symtabs (symtab->filename); + + /* Reinitialize for beginning of new file. */ + line_vector = 0; + line_vector_length = -1; + last_source_file = NULL; +} + +static void +record_minimal_symbol (name, address, type, objfile) + char *name; + CORE_ADDR address; + enum minimal_symbol_type type; + struct objfile *objfile; +{ + prim_record_minimal_symbol (savestring (name, strlen (name)), + address, + type, + objfile); +} + +/* dst_symfile_init () + is the dst-specific initialization routine for reading symbols. + + We will only be called if this is a DST or DST-like file. + BFD handles figuring out the format of the file, and code in symtab.c + uses BFD's determination to vector to us. + + The ultimate result is a new symtab (or, FIXME, eventually a psymtab). */ + +static void +dst_symfile_init (objfile) + struct objfile *objfile; +{ + asection *section; + bfd *abfd = objfile->obfd; + + init_entry_point_info (objfile); + +} + +/* This function is called for every section; it finds the outer limits + of the line table (minimum and maximum file offset) so that the + mainline code can read the whole thing for efficiency. */ + +/* ARGSUSED */ +static void +find_dst_sections (abfd, asect, vpinfo) + bfd *abfd; + sec_ptr asect; + PTR vpinfo; +{ + int size, count; + long base; + file_ptr offset, maxoff; + dst_sec *section; + +/* WARNING WILL ROBINSON! ACCESSING BFD-PRIVATE DATA HERE! FIXME! */ + size = asect->_raw_size; + offset = asect->filepos; + base = asect->vma; +/* End of warning */ + + section = NULL; + if (!strcmp(asect->name, ".blocks")) + section = &blocks_info; + else if (!strcmp(asect->name, ".lines")) + section = &lines_info; + else if (!strcmp(asect->name, ".symbols")) + section = &symbols_info; + if (!section) + return; + section->size = size; + section->position = offset; + section->base = base; +} + + +/* The BFD for this file -- only good while we're actively reading + symbols into a psymtab or a symtab. */ + +static bfd *symfile_bfd; + +/* Read a symbol file, after initialization by dst_symfile_init. */ +/* FIXME! Addr and Mainline are not used yet -- this will not work for + shared libraries or add_file! */ + +/* ARGSUSED */ +static void +dst_symfile_read (objfile, section_offsets, mainline) + struct objfile *objfile; + struct section_offsets *section_offsets; + int mainline; +{ + bfd *abfd = objfile->obfd; + char *name = bfd_get_filename (abfd); + int desc; + register int val; + int num_symbols; + int symtab_offset; + int stringtab_offset; + + symfile_bfd = abfd; /* Kludge for swap routines */ + +/* WARNING WILL ROBINSON! ACCESSING BFD-PRIVATE DATA HERE! FIXME! */ + desc = fileno ((GDB_FILE *)(abfd->iostream)); /* File descriptor */ + + /* Read the line number table, all at once. */ + bfd_map_over_sections (abfd, find_dst_sections, (PTR)NULL); + + val = init_dst_sections (desc); + if (val < 0) + error ("\"%s\": error reading debugging symbol tables\n", name); + + init_minimal_symbol_collection (); + make_cleanup (discard_minimal_symbols, 0); + + /* Now that the executable file is positioned at symbol table, + process it and define symbols accordingly. */ + + read_dst_symtab (objfile); + + /* Sort symbols alphabetically within each block. */ + + { + struct symtab *s; + for (s = objfile -> symtabs; s != NULL; s = s -> next) + { + sort_symtab_syms (s); + } + } + + /* Install any minimal symbols that have been collected as the current + minimal symbols for this objfile. */ + + install_minimal_symbols (objfile); +} + +static void +dst_new_init (ignore) + struct objfile *ignore; +{ + /* Nothin' to do */ +} + +/* Perform any local cleanups required when we are done with a particular + objfile. I.E, we are in the process of discarding all symbol information + for an objfile, freeing up all memory held for it, and unlinking the + objfile struct from the global list of known objfiles. */ + +static void +dst_symfile_finish (objfile) + struct objfile *objfile; +{ + /* Nothing to do */ +} + + +/* Get the next line number from the DST. Returns 0 when we hit an + * end directive or cannot continue for any other reason. + * + * Note that ordinary pc deltas are multiplied by two. Apparently + * this is what was really intended. + */ +static int +get_dst_line(buffer, pc) + signed char **buffer; + long *pc; +{ + static last_pc = 0; + static long last_line = 0; + static int last_file = 0; + dst_ln_entry_ptr_t entry; + int size; + dst_src_loc_t *src_loc; + + if (*pc != -1) + { + last_pc = *pc; + *pc = -1; + } + entry = (dst_ln_entry_ptr_t) *buffer; + + while (dst_ln_ln_delta(*entry) == dst_ln_escape_flag) + { + switch(entry->esc.esc_code) + { + case dst_ln_pad: + size = 1; /* pad byte */ + break; + case dst_ln_file: + /* file escape. Next 4 bytes are a dst_src_loc_t */ + size = 5; + src_loc = (dst_src_loc_t *) (*buffer + 1); + last_line = src_loc->line_number; + last_file = src_loc->file_index; + break; + case dst_ln_dln1_dpc1: + /* 1 byte line delta, 1 byte pc delta */ + last_line += (*buffer)[1]; + last_pc += 2 * (unsigned char) (*buffer)[2]; + dst_record_line(last_line, last_pc); + size = 3; + break; + case dst_ln_dln2_dpc2: + /* 2 bytes line delta, 2 bytes pc delta */ + last_line += *(short *) (*buffer + 1); + last_pc += 2 * (*(short *) (*buffer + 3)); + size = 5; + dst_record_line(last_line, last_pc); + break; + case dst_ln_ln4_pc4: + /* 4 bytes ABSOLUTE line number, 4 bytes ABSOLUTE pc */ + last_line = *(unsigned long *) (*buffer + 1); + last_pc = *(unsigned long *) (*buffer + 5); + size = 9; + dst_record_line(last_line, last_pc); + break; + case dst_ln_dln1_dpc0: + /* 1 byte line delta, pc delta = 0 */ + size = 2; + last_line+= (*buffer)[1]; + break; + case dst_ln_ln_off_1: + /* statement escape, stmt # = 1 (2nd stmt on line) */ + size = 1; + break; + case dst_ln_ln_off: + /* statement escape, stmt # = next byte */ + size = 2; + break; + case dst_ln_entry: + /* entry escape, next byte is entry number */ + size = 2; + break; + case dst_ln_exit: + /* exit escape */ + size = 1; + break; + case dst_ln_stmt_end: + /* gap escape, 4 bytes pc delta */ + size = 5; + /* last_pc += 2 * (*(long *) (*buffer + 1)); */ + /* Apparently this isn't supposed to actually modify + * the pc value. Totally weird. + */ + break; + case dst_ln_escape_11: + case dst_ln_escape_12: + case dst_ln_escape_13: + size = 1; + break; + case dst_ln_nxt_byte: + /* This shouldn't happen. If it does, we're SOL */ + return 0; + break; + case dst_ln_end: + /* end escape, final entry follows */ + return 0; + } + *buffer += (size < 0) ? -size : size; + entry = (dst_ln_entry_ptr_t) *buffer; + } + last_line += dst_ln_ln_delta(*entry); + last_pc += entry->delta.pc_delta * 2; + (*buffer)++; + dst_record_line(last_line, last_pc); + return 1; +} + +static void +enter_all_lines(buffer, address) + char *buffer; + long address; +{ + if (buffer) + while (get_dst_line(&buffer, &address)); +} + +static int +get_dst_entry(buffer, ret_entry) + char *buffer; + dst_rec_ptr_t *ret_entry; +{ + int size; + dst_rec_ptr_t entry; + static int last_type; + int ar_size; + static unsigned lu3; + + entry = (dst_rec_ptr_t) buffer; + switch(entry->rec_type) + { + case dst_typ_pad: + size = 0; + break; + case dst_typ_comp_unit: + size = sizeof(DST_comp_unit(entry)); + break; + case dst_typ_section_tab: + size = sizeof(DST_section_tab(entry)) + + ((int) DST_section_tab(entry).number_of_sections + - dst_dummy_array_size) * sizeof(long); + break; + case dst_typ_file_tab: + size = sizeof(DST_file_tab(entry)) + + ((int) DST_file_tab(entry).number_of_files + - dst_dummy_array_size) * sizeof(dst_file_desc_t); + break; + case dst_typ_block: + size = sizeof(DST_block(entry)) + + ((int) DST_block(entry).n_of_code_ranges + - dst_dummy_array_size) * sizeof(dst_code_range_t); + break; + case dst_typ_5: + size = -1; + break; + case dst_typ_var: + size = sizeof(DST_var(entry)) - + sizeof(dst_var_loc_long_t) * dst_dummy_array_size + + DST_var(entry).no_of_locs * + ( DST_var(entry).short_locs ? + sizeof(dst_var_loc_short_t): + sizeof(dst_var_loc_long_t)); + break; + case dst_typ_pointer: + size = sizeof(DST_pointer(entry)); + break; + case dst_typ_array: + size = sizeof(DST_array(entry)); + break; + case dst_typ_subrange: + size = sizeof(DST_subrange(entry)); + break; + case dst_typ_set: + size = sizeof(DST_set(entry)); + break; + case dst_typ_implicit_enum: + size = sizeof(DST_implicit_enum(entry)) + + ((int) DST_implicit_enum(entry).nelems + - dst_dummy_array_size) * sizeof(dst_rel_offset_t); + break; + case dst_typ_explicit_enum: + size = sizeof(DST_explicit_enum(entry)) + + ((int) DST_explicit_enum(entry).nelems + - dst_dummy_array_size) * sizeof(dst_enum_elem_t); + break; + case dst_typ_short_rec: + size = sizeof(DST_short_rec(entry)) + + DST_short_rec(entry).nfields * sizeof(dst_short_field_t) + - dst_dummy_array_size * sizeof(dst_field_t); + break; + case dst_typ_short_union: + size = sizeof(DST_short_union(entry)) + + DST_short_union(entry).nfields * sizeof(dst_short_field_t) + - dst_dummy_array_size * sizeof(dst_field_t); + break; + case dst_typ_file: + size = sizeof(DST_file(entry)); + break; + case dst_typ_offset: + size = sizeof(DST_offset(entry)); + break; + case dst_typ_alias: + size = sizeof(DST_alias(entry)); + break; + case dst_typ_signature: + size = sizeof(DST_signature(entry)) + + ((int) DST_signature(entry).nargs - + dst_dummy_array_size) * sizeof(dst_arg_t); + break; + case dst_typ_21: + size = -1; + break; + case dst_typ_old_label: + size = sizeof(DST_old_label(entry)); + break; + case dst_typ_scope: + size = sizeof(DST_scope(entry)); + break; + case dst_typ_end_scope: + size = 0; + break; + case dst_typ_25: + case dst_typ_26: + size = -1; + break; + case dst_typ_string_tab: + case dst_typ_global_name_tab: + size = sizeof(DST_string_tab(entry)) + + DST_string_tab(entry).length + - dst_dummy_array_size; + break; + case dst_typ_forward: + size = sizeof(DST_forward(entry)); + get_dst_entry((char *) entry + DST_forward(entry).rec_off, &entry); + break; + case dst_typ_aux_size: + size = sizeof(DST_aux_size(entry)); + break; + case dst_typ_aux_align: + size = sizeof(DST_aux_align(entry)); + break; + case dst_typ_aux_field_size: + size = sizeof(DST_aux_field_size(entry)); + break; + case dst_typ_aux_field_off: + size = sizeof(DST_aux_field_off(entry)); + break; + case dst_typ_aux_field_align: + size = sizeof(DST_aux_field_align(entry)); + break; + case dst_typ_aux_qual: + size = sizeof(DST_aux_qual(entry)); + break; + case dst_typ_aux_var_bound: + size = sizeof(DST_aux_var_bound(entry)); + break; + case dst_typ_extension: + size = DST_extension(entry).rec_size; + break; + case dst_typ_string: + size = sizeof(DST_string(entry)); + break; + case dst_typ_old_entry: + size = 48; /* Obsolete entry type */ + break; + case dst_typ_const: + size = sizeof(DST_const(entry)) + + DST_const(entry).value.length + - sizeof(DST_const(entry).value.val); + break; + case dst_typ_reference: + size = sizeof(DST_reference(entry)); + break; + case dst_typ_old_record: + case dst_typ_old_union: + case dst_typ_record: + case dst_typ_union: + size = sizeof(DST_record(entry)) + + ((int) DST_record(entry).nfields + - dst_dummy_array_size) * sizeof(dst_field_t); + break; + case dst_typ_aux_type_deriv: + size = sizeof(DST_aux_type_deriv(entry)); + break; + case dst_typ_locpool: + size = sizeof(DST_locpool(entry)) + + ((int) DST_locpool(entry).length - + dst_dummy_array_size); + break; + case dst_typ_variable: + size = sizeof(DST_variable(entry)); + break; + case dst_typ_label: + size = sizeof(DST_label(entry)); + break; + case dst_typ_entry: + size = sizeof(DST_entry(entry)); + break; + case dst_typ_aux_lifetime: + size = sizeof(DST_aux_lifetime(entry)); + break; + case dst_typ_aux_ptr_base: + size = sizeof(DST_aux_ptr_base(entry)); + break; + case dst_typ_aux_src_range: + size = sizeof(DST_aux_src_range(entry)); + break; + case dst_typ_aux_reg_val: + size = sizeof(DST_aux_reg_val(entry)); + break; + case dst_typ_aux_unit_names: + size = sizeof(DST_aux_unit_names(entry)) + + ((int) DST_aux_unit_names(entry).number_of_names + - dst_dummy_array_size) * sizeof(dst_rel_offset_t); + break; + case dst_typ_aux_sect_info: + size = sizeof(DST_aux_sect_info(entry)) + + ((int) DST_aux_sect_info(entry).number_of_refs + - dst_dummy_array_size) * sizeof(dst_sect_ref_t); + break; + default: + size = -1; + break; + } + if (size == -1) + { + fprintf_unfiltered(gdb_stderr, "Warning: unexpected DST entry type (%d) found\nLast valid entry was of type: %d\n", + (int) entry->rec_type, + last_type); + fprintf_unfiltered(gdb_stderr, "Last unknown_3 value: %d\n", lu3); + size = 0; + } + else + last_type = entry->rec_type; + if (size & 1) /* Align on a word boundary */ + size++; + size += 2; + *ret_entry = entry; + return size; +} + +static int next_dst_entry(buffer, entry, table) + char **buffer; + dst_rec_ptr_t *entry; + dst_sec *table; +{ + if (*buffer - table->buffer >= table->size) + { + *entry = NULL; + return 0; + } + *buffer += get_dst_entry(*buffer, entry); + return 1; +} + +#define NEXT_BLK(a, b) next_dst_entry(a, b, &blocks_info) +#define NEXT_SYM(a, b) next_dst_entry(a, b, &symbols_info) +#define DST_OFFSET(a, b) ((char *) (a) + (b)) + +static dst_rec_ptr_t section_table = NULL; + +char * +get_sec_ref(ref) + dst_sect_ref_t *ref; +{ + dst_sec *section = NULL; + long offset; + + if (!section_table || !ref->sect_index) + return NULL; + offset = DST_section_tab(section_table).section_base[ref->sect_index-1] + + ref->sect_offset; + if (offset >= blocks_info.base && + offset < blocks_info.base + blocks_info.size) + section = &blocks_info; + else if (offset >= symbols_info.base && + offset < symbols_info.base + symbols_info.size) + section = &symbols_info; + else if (offset >= lines_info.base && + offset < lines_info.base + lines_info.size) + section = &lines_info; + if (!section) + return NULL; + return section->buffer + (offset - section->base); +} + +CORE_ADDR +dst_get_addr(int section, long offset) +{ + if (!section_table || !section) + return 0; + return DST_section_tab(section_table).section_base[section-1] + offset; +} + +CORE_ADDR +dst_sym_addr(ref) + dst_sect_ref_t *ref; +{ + if (!section_table || !ref->sect_index) + return 0; + return DST_section_tab(section_table).section_base[ref->sect_index-1] + + ref->sect_offset; +} + +static struct type * +create_new_type(objfile) + struct objfile *objfile; +{ + struct type *type; + + type = (struct type *) + obstack_alloc (&objfile->symbol_obstack, sizeof (struct type)); + memset(type, 0, sizeof(struct type)); + return type; +} + +static struct symbol * +create_new_symbol(objfile, name) + struct objfile *objfile; + char *name; +{ + struct symbol *sym = (struct symbol *) + obstack_alloc (&objfile->symbol_obstack, sizeof (struct symbol)); + memset (sym, 0, sizeof (struct symbol)); + SYMBOL_NAME (sym) = obstack_copy0 (&objfile->symbol_obstack, + name, strlen (name)); + SYMBOL_VALUE (sym) = 0; + SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE; + + SYMBOL_CLASS (sym) = LOC_BLOCK; + return sym; +}; + +static struct type * +decode_dst_type PARAMS ((struct objfile *, dst_rec_ptr_t)); + +static struct type * +decode_type_desc(objfile, type_desc, base) + struct objfile *objfile; + dst_type_t *type_desc; + dst_rec_ptr_t base; +{ + struct type *type; + dst_rec_ptr_t entry; + if (type_desc->std_type.user_defined_type) + { + entry = (dst_rec_ptr_t) DST_OFFSET(base, + dst_user_type_offset(*type_desc)); + type = decode_dst_type(objfile, entry); + } + else + { + switch(type_desc->std_type.dtc) + { + case dst_int8_type: + type = builtin_type_signed_char; + break; + case dst_int16_type: + type = builtin_type_short; + break; + case dst_int32_type: + type = builtin_type_long; + break; + case dst_uint8_type: + type = builtin_type_unsigned_char; + break; + case dst_uint16_type: + type = builtin_type_unsigned_short; + break; + case dst_uint32_type: + type = builtin_type_unsigned_long; + break; + case dst_real32_type: + type = builtin_type_float; + break; + case dst_real64_type: + type = builtin_type_double; + break; + case dst_complex_type: + type = builtin_type_complex; + break; + case dst_dcomplex_type: + type = builtin_type_double_complex; + break; + case dst_bool8_type: + type = builtin_type_char; + break; + case dst_bool16_type: + type = builtin_type_short; + break; + case dst_bool32_type: + type = builtin_type_long; + break; + case dst_char_type: + type = builtin_type_char; + break; + /* The next few are more complex. I will take care + * of them properly at a later point. + */ + case dst_string_type: + type = builtin_type_void; + break; + case dst_ptr_type: + type = builtin_type_void; + break; + case dst_set_type: + type = builtin_type_void; + break; + case dst_proc_type: + type = builtin_type_void; + break; + case dst_func_type: + type = builtin_type_void; + break; + /* Back tto some ordinary ones */ + case dst_void_type: + type = builtin_type_void; + break; + case dst_uchar_type: + type = builtin_type_unsigned_char; + break; + default: + type = builtin_type_void; + break; + } + } + return type; +} + +struct structure_list + { + struct structure_list *next; + struct type *type; + }; + +static struct structure_list *struct_list = NULL; + +static struct type * +find_dst_structure(name) + char *name; +{ + struct structure_list *element; + + for (element = struct_list; element; element = element->next) + if (!strcmp(name, TYPE_NAME(element->type))) + return element->type; + return NULL; +} + + +static struct type * +decode_dst_structure(objfile, entry, code, version) + struct objfile *objfile; + dst_rec_ptr_t entry; + int code; + int version; +{ + struct type *type, *child_type; + char *struct_name; + char *name, *field_name; + int i; + int fieldoffset, fieldsize; + dst_type_t type_desc; + struct structure_list *element; + + struct_name = DST_OFFSET(entry, DST_record(entry).noffset); + name = concat( (code == TYPE_CODE_UNION)?"union ":"struct ", + struct_name, NULL); + type = find_dst_structure(name); + if (type) + { + free((PTR) name); + return type; + } + type = create_new_type(objfile); + TYPE_NAME(type) = obstack_copy0 (&objfile->symbol_obstack, + name, strlen(name)); + free((PTR) name); + TYPE_CODE(type) = code; + TYPE_LENGTH(type) = DST_record(entry).size; + TYPE_NFIELDS(type) = DST_record(entry).nfields; + TYPE_FIELDS(type) = (struct field *) + obstack_alloc (&objfile->symbol_obstack, sizeof (struct field) * + DST_record(entry).nfields); + fieldoffset = fieldsize = 0; + INIT_CPLUS_SPECIFIC(type); + element = (struct structure_list *) + xmalloc(sizeof(struct structure_list)); + element->type = type; + element->next = struct_list; + struct_list = element; + for (i = 0; i < DST_record(entry).nfields; i++) + { + switch (version) + { + case 2: + field_name = DST_OFFSET(entry, + DST_record(entry).f.ofields[i].noffset); + fieldoffset = DST_record(entry).f.ofields[i].foffset*8 + + DST_record(entry).f.ofields[i].bit_offset; + fieldsize = DST_record(entry).f.ofields[i].size; + type_desc = DST_record(entry).f.ofields[i].type_desc; + break; + case 1: + field_name = DST_OFFSET(entry, + DST_record(entry).f.fields[i].noffset); + type_desc = DST_record(entry).f.fields[i].type_desc; + switch(DST_record(entry).f.fields[i].f.field_loc.format_tag) + { + case dst_field_byte: + fieldoffset = DST_record(entry).f. + fields[i].f.field_byte.offset * 8; + fieldsize = -1; + break; + case dst_field_bit: + fieldoffset = DST_record(entry).f. + fields[i].f.field_bit.byte_offset * 8 + + DST_record(entry).f. + fields[i].f.field_bit.bit_offset; + fieldsize = DST_record(entry).f. + fields[i].f.field_bit.nbits; + break; + case dst_field_loc: + fieldoffset += fieldsize; + fieldsize = -1; + break; + } + break; + case 0: + field_name = DST_OFFSET(entry, + DST_record(entry).f.sfields[i].noffset); + fieldoffset = DST_record(entry).f.sfields[i].foffset; + type_desc = DST_record(entry).f.sfields[i].type_desc; + if (i < DST_record(entry).nfields - 1) + fieldsize = DST_record(entry).f.sfields[i+1].foffset; + else + fieldsize = DST_record(entry).size; + fieldsize -= fieldoffset; + fieldoffset *= 8; + fieldsize *= 8; + } + TYPE_FIELDS(type)[i].name = + obstack_copy0 (&objfile->symbol_obstack, + field_name, strlen(field_name)); + TYPE_FIELDS(type)[i].type = decode_type_desc(objfile, + &type_desc, + entry); + if (fieldsize == -1) + fieldsize = TYPE_LENGTH(TYPE_FIELDS(type)[i].type) * + 8; + TYPE_FIELDS(type)[i].bitsize = fieldsize; + TYPE_FIELDS(type)[i].bitpos = fieldoffset; + } + return type; +} + +static struct type * +decode_dst_type(objfile, entry) + struct objfile *objfile; + dst_rec_ptr_t entry; +{ + struct type *child_type, *type, *range_type, *index_type; + + switch(entry->rec_type) + { + case dst_typ_var: + return decode_type_desc(objfile, + &DST_var(entry).type_desc, + entry); + break; + case dst_typ_variable: + return decode_type_desc(objfile, + &DST_variable(entry).type_desc, + entry); + break; + case dst_typ_short_rec: + return decode_dst_structure(objfile, entry, TYPE_CODE_STRUCT,0); + case dst_typ_short_union: + return decode_dst_structure(objfile, entry, TYPE_CODE_UNION, 0); + case dst_typ_union: + return decode_dst_structure(objfile, entry, TYPE_CODE_UNION, 1); + case dst_typ_record: + return decode_dst_structure(objfile, entry, TYPE_CODE_STRUCT,1); + case dst_typ_old_union: + return decode_dst_structure(objfile, entry, TYPE_CODE_UNION, 2); + case dst_typ_old_record: + return decode_dst_structure(objfile, entry, TYPE_CODE_STRUCT,2); + case dst_typ_pointer: + return make_pointer_type( + decode_type_desc(objfile, + &DST_pointer(entry).type_desc, + entry), + NULL); + case dst_typ_array: + child_type = decode_type_desc(objfile, + &DST_pointer(entry).type_desc, + entry); + index_type = lookup_fundamental_type(objfile, + FT_INTEGER); + range_type = create_range_type ((struct type *) NULL, + index_type, DST_array(entry).lo_bound, + DST_array(entry).hi_bound); + return create_array_type ((struct type *) NULL, child_type, + range_type); + case dst_typ_alias: + return decode_type_desc(objfile, + &DST_alias(entry).type_desc, + entry); + default: + return builtin_type_int; + } +} + +struct symbol_list { + struct symbol_list *next; + struct symbol *symbol; +}; + +static struct symbol_list *dst_global_symbols = NULL; +static int total_globals = 0; + +static void +decode_dst_locstring(locstr, sym) + char *locstr; + struct symbol *sym; +{ + dst_loc_entry_t *entry, *next_entry; + CORE_ADDR temp; + int count = 0; + + while(1) + { + if (count++ == 100) + { + fprintf_unfiltered(gdb_stderr, "Error reading locstring\n"); + break; + } + entry = (dst_loc_entry_t *) locstr; + next_entry = (dst_loc_entry_t *) (locstr + 1); + switch (entry->header.code) + { + case dst_lsc_end: /* End of string */ + return; + case dst_lsc_indirect:/* Indirect through previous. Arg == 6 */ + /* Or register ax x == arg */ + if (entry->header.arg < 6) + { + SYMBOL_CLASS(sym) = LOC_REGISTER; + SYMBOL_VALUE(sym) = entry->header.arg + 8; + } + /* We predict indirects */ + locstr++; + break; + case dst_lsc_dreg: + SYMBOL_CLASS(sym) = LOC_REGISTER; + SYMBOL_VALUE(sym) = entry->header.arg; + locstr++; + break; + case dst_lsc_section:/* Section (arg+1) */ + SYMBOL_VALUE(sym) = dst_get_addr(entry->header.arg+1, 0); + locstr++; + break; + case dst_lsc_sec_byte: /* Section (next_byte+1) */ + SYMBOL_VALUE(sym) = dst_get_addr(locstr[1]+1, 0); + locstr+=2; + break; + case dst_lsc_add: /* Add (arg+1)*2 */ + case dst_lsc_sub: /* Subtract (arg+1)*2 */ + temp = (entry->header.arg + 1) * 2; + locstr++; + if (*locstr == dst_multiply_256) + { + temp <<= 8; + locstr++; + } + switch(entry->header.code) + { + case dst_lsc_add: + if (SYMBOL_CLASS(sym) == LOC_LOCAL) + SYMBOL_CLASS(sym) = LOC_ARG; + SYMBOL_VALUE(sym) += temp; + break; + case dst_lsc_sub: + SYMBOL_VALUE(sym) -= temp; + break; + } + break; + case dst_lsc_add_byte: + case dst_lsc_sub_byte: + switch (entry->header.arg & 0x03) + { + case 1: + temp = (unsigned char) locstr[1]; + locstr += 2; + break; + case 2: + temp = * (unsigned short *) (locstr + 1); + locstr += 3; + break; + case 3: + temp = * (unsigned long *) (locstr + 1); + locstr += 5; + break; + } + if (*locstr == dst_multiply_256) + { + temp <<= 8; + locstr++; + } + switch(entry->header.code) + { + case dst_lsc_add_byte: + if (SYMBOL_CLASS(sym) == LOC_LOCAL) + SYMBOL_CLASS(sym) = LOC_ARG; + SYMBOL_VALUE(sym) += temp; + break; + case dst_lsc_sub_byte: + SYMBOL_VALUE(sym) -= temp; + break; + } + break; + case dst_lsc_sbreg: /* Stack base register (frame pointer). Arg==0*/ + if (next_entry->header.code != dst_lsc_indirect) + { + SYMBOL_VALUE(sym) = 0; + SYMBOL_CLASS(sym) = LOC_STATIC; + return; + } + SYMBOL_VALUE(sym) = 0; + SYMBOL_CLASS(sym) = LOC_LOCAL; + locstr++; + break; + default: + SYMBOL_VALUE(sym) = 0; + SYMBOL_CLASS(sym) = LOC_STATIC; + return; + } + } +} + +static struct symbol_list * +process_dst_symbols(objfile, entry, name, nsyms_ret) + struct objfile *objfile; + dst_rec_ptr_t entry; + char *name; + int *nsyms_ret; +{ + struct symbol_list *list = NULL, *element; + struct symbol *sym; + char *symname; + int nsyms = 0; + char *location; + long line; + dst_type_t symtype; + struct type *type; + dst_var_attr_t attr; + dst_var_loc_t loc_type; + unsigned loc_index; + long loc_value; + + if (!entry) + { + *nsyms_ret = 0; + return NULL; + } + location = (char *) entry; + while (NEXT_SYM(&location, &entry) && + entry->rec_type != dst_typ_end_scope) + { + if (entry->rec_type == dst_typ_var) + { + if (DST_var(entry).short_locs) + { + loc_type = DST_var(entry).locs.shorts[0].loc_type; + loc_index = DST_var(entry).locs.shorts[0].loc_index; + loc_value = DST_var(entry).locs.shorts[0].location; + } + else + { + loc_type = DST_var(entry).locs.longs[0].loc_type; + loc_index = DST_var(entry).locs.longs[0].loc_index; + loc_value = DST_var(entry).locs.longs[0].location; + } + if (loc_type == dst_var_loc_external) + continue; + symname = DST_OFFSET(entry, DST_var(entry).noffset); + line = DST_var(entry).src_loc.line_number; + symtype = DST_var(entry).type_desc; + attr = DST_var(entry).attributes; + } + else if (entry->rec_type == dst_typ_variable) + { + symname = DST_OFFSET(entry, + DST_variable(entry).noffset); + line = DST_variable(entry).src_loc.line_number; + symtype = DST_variable(entry).type_desc; + attr = DST_variable(entry).attributes; + } + else + { + continue; + } + if (symname && name && !strcmp(symname, name)) + /* It's the function return value */ + continue; + sym = create_new_symbol(objfile, symname); + + if ((attr & (1<<dst_var_attr_global)) || + (attr & (1<<dst_var_attr_static))) + SYMBOL_CLASS(sym) = LOC_STATIC; + else + SYMBOL_CLASS(sym) = LOC_LOCAL; + SYMBOL_LINE(sym) = line; + SYMBOL_TYPE(sym) = decode_type_desc(objfile, &symtype, + entry); + SYMBOL_VALUE(sym) = 0; + switch (entry->rec_type) + { + case dst_typ_var: + switch(loc_type) + { + case dst_var_loc_abs: + SYMBOL_VALUE_ADDRESS(sym) = loc_value; + break; + case dst_var_loc_sect_off: + case dst_var_loc_ind_sect_off: /* What is this? */ + SYMBOL_VALUE_ADDRESS(sym) = dst_get_addr( + loc_index, + loc_value); + break; + case dst_var_loc_ind_reg_rel: /* What is this? */ + case dst_var_loc_reg_rel: + /* If it isn't fp relative, specify the + * register it's relative to. + */ + if (loc_index) + { + sym->aux_value.basereg = loc_index; + } + SYMBOL_VALUE(sym) = loc_value; + if (loc_value > 0 && + SYMBOL_CLASS(sym) == LOC_BASEREG) + SYMBOL_CLASS(sym) = LOC_BASEREG_ARG; + break; + case dst_var_loc_reg: + SYMBOL_VALUE(sym) = loc_index; + SYMBOL_CLASS(sym) = LOC_REGISTER; + break; + } + break; + case dst_typ_variable: + /* External variable..... don't try to interpret + * its nonexistant locstring. + */ + if (DST_variable(entry).loffset == -1) + continue; + decode_dst_locstring(DST_OFFSET(entry, + DST_variable(entry).loffset), + sym); + } + element = (struct symbol_list *) + xmalloc(sizeof(struct symbol_list)); + + if (attr & (1<<dst_var_attr_global)) + { + element->next = dst_global_symbols; + dst_global_symbols = element; + total_globals++; + } + else + { + element->next = list; + list = element; + nsyms++; + } + element->symbol = sym; + } + *nsyms_ret = nsyms; + return list; +} + + +static struct symbol * +process_dst_function(objfile, entry, name, address) + struct objfile *objfile; + dst_rec_ptr_t entry; + char *name; + CORE_ADDR address; +{ + struct symbol *sym; + struct type *type, *ftype; + dst_rec_ptr_t sym_entry, typ_entry; + char *location; + struct symbol_list *element; + + type = builtin_type_int; + sym = create_new_symbol(objfile, name); + SYMBOL_CLASS(sym) = LOC_BLOCK; + + if (entry) + { + location = (char *) entry; + do + { + NEXT_SYM(&location, &sym_entry); + } while (sym_entry && sym_entry->rec_type != dst_typ_signature); + + if (sym_entry) + { + SYMBOL_LINE(sym) = + DST_signature(sym_entry).src_loc.line_number; + if (DST_signature(sym_entry).result) + { + typ_entry = (dst_rec_ptr_t) + DST_OFFSET(sym_entry, + DST_signature(sym_entry).result); + type = decode_dst_type(objfile, typ_entry); + } + } + } + + if (!type->function_type) + { + ftype = create_new_type(objfile); + type->function_type = ftype; + ftype->target_type = type; + ftype->code = TYPE_CODE_FUNC; + } + SYMBOL_TYPE(sym) = type->function_type; + + /* Now add ourselves to the global symbols list */ + element = (struct symbol_list *) + xmalloc(sizeof(struct symbol_list)); + + element->next = dst_global_symbols; + dst_global_symbols = element; + total_globals++; + element->symbol = sym; + + return sym; +} + +static struct block * +process_dst_block(objfile, entry) + struct objfile *objfile; + dst_rec_ptr_t entry; +{ + struct block *block; + struct symbol *function = NULL; + CORE_ADDR address; + long size; + char *name; + dst_rec_ptr_t child_entry, symbol_entry; + struct block *child_block; + int total_symbols = 0; + struct pending_block *pblock; + char fake_name[20]; + static long fake_seq = 0; + struct symbol_list *symlist, *nextsym; + int symnum; + + if (DST_block(entry).noffset) + name = DST_OFFSET(entry, DST_block(entry).noffset); + else + name = NULL; + if (DST_block(entry).n_of_code_ranges) + { + address = dst_sym_addr( + &DST_block(entry).code_ranges[0].code_start); + size = DST_block(entry).code_ranges[0].code_size; + } + else + { + address = -1; + size = 0; + } + symbol_entry = (dst_rec_ptr_t) get_sec_ref(&DST_block(entry).symbols_start); + switch(DST_block(entry).block_type) + { + /* These are all really functions. Even the "program" type. + * This is because the Apollo OS was written in Pascal, and + * in Pascal, the main procedure is described as the Program. + * Cute, huh? + */ + case dst_block_procedure: + case dst_block_function: + case dst_block_subroutine: + case dst_block_program: + record_minimal_symbol(name, address, mst_text, objfile); + function = process_dst_function( + objfile, + symbol_entry, + name, + address); + enter_all_lines(get_sec_ref(&DST_block(entry).code_ranges[0].lines_start), address); + break; + case dst_block_block_data: + break; + + default: + /* GDB has to call it something, and the module name + * won't cut it + */ + sprintf(fake_name, "block_%08lx", fake_seq++); + function = process_dst_function( + objfile, NULL, fake_name, address); + break; + } + symlist = process_dst_symbols(objfile, symbol_entry, + name, &total_symbols); + block = (struct block *) + obstack_alloc (&objfile->symbol_obstack, + sizeof (struct block) + + (total_symbols - 1) * sizeof (struct symbol *)); + + symnum = 0; + while (symlist) + { + nextsym = symlist->next; + + block->sym[symnum] = symlist->symbol; + + free((PTR) symlist); + symlist = nextsym; + symnum++; + } + BLOCK_NSYMS (block) = total_symbols; + BLOCK_START (block) = address; + BLOCK_END (block) = address + size; + BLOCK_SUPERBLOCK (block) = 0; + if (function) + { + SYMBOL_BLOCK_VALUE (function) = block; + BLOCK_FUNCTION (block) = function; + } + else + BLOCK_FUNCTION (block) = 0; + + pblock = (struct pending_block *) + xmalloc (sizeof (struct pending_block)); + pblock->block = block; + pblock->next = pending_blocks; + pending_blocks = pblock; + if (DST_block(entry).child_block_off) + { + child_entry = (dst_rec_ptr_t) DST_OFFSET(entry, + DST_block(entry).child_block_off); + while (child_entry) + { + child_block = process_dst_block(objfile, child_entry); + if (child_block) + { + if (BLOCK_START(child_block) < + BLOCK_START(block) || + BLOCK_START(block) == -1) + BLOCK_START(block) = + BLOCK_START(child_block); + if (BLOCK_END(child_block) > + BLOCK_END(block) || + BLOCK_END(block) == -1) + BLOCK_END(block) = + BLOCK_END(child_block); + BLOCK_SUPERBLOCK (child_block) = block; + } + if (DST_block(child_entry).sibling_block_off) + child_entry = (dst_rec_ptr_t) DST_OFFSET( + child_entry, + DST_block(child_entry).sibling_block_off); + else + child_entry = NULL; + } + } + return block; +} + + +static void +read_dst_symtab (objfile) + struct objfile *objfile; +{ + char *buffer; + dst_rec_ptr_t entry, file_table, root_block; + char *source_file; + struct block *block, *global_block; + struct pending_block *pblock; + int symnum; + struct symbol_list *nextsym; + int module_num = 0; + struct structure_list *element; + + current_objfile = objfile; + buffer = blocks_info.buffer; + while (NEXT_BLK(&buffer, &entry)) + { + if (entry->rec_type == dst_typ_comp_unit) + { + file_table = (dst_rec_ptr_t) DST_OFFSET(entry, + DST_comp_unit(entry).file_table); + section_table = (dst_rec_ptr_t) DST_OFFSET(entry, + DST_comp_unit(entry).section_table); + root_block = (dst_rec_ptr_t) DST_OFFSET(entry, + DST_comp_unit(entry).root_block_offset); + source_file = DST_OFFSET(file_table, + DST_file_tab(file_table).files[0].noffset); + /* Point buffer to the start of the next comp_unit */ + buffer = DST_OFFSET(entry, + DST_comp_unit(entry).data_size); + dst_start_symtab(); + + pblock = (struct pending_block *) + xmalloc (sizeof (struct pending_block)); + pblock->next = NULL; + pending_blocks = pblock; + + block = process_dst_block(objfile, root_block); + + global_block = (struct block *) + obstack_alloc (&objfile->symbol_obstack, + sizeof (struct block) + + (total_globals - 1) * + sizeof (struct symbol *)); + BLOCK_NSYMS(global_block) = total_globals; + for (symnum = 0; symnum < total_globals; symnum++) + { + nextsym = dst_global_symbols->next; + + global_block->sym[symnum] = + dst_global_symbols->symbol; + + free((PTR) dst_global_symbols); + dst_global_symbols = nextsym; + } + dst_global_symbols = NULL; + total_globals = 0; + BLOCK_FUNCTION(global_block) = 0; + BLOCK_START(global_block) = BLOCK_START(block); + BLOCK_END(global_block) = BLOCK_END(block); + BLOCK_SUPERBLOCK(global_block) = 0; + BLOCK_SUPERBLOCK(block) = global_block; + pblock->block = global_block; + + complete_symtab(source_file, + BLOCK_START(block), + BLOCK_END(block) - BLOCK_START(block)); + module_num++; + dst_end_symtab(objfile); + } + } + if (module_num) + record_minimal_symbol("<end_of_program>", + BLOCK_END(block), mst_text, objfile); + /* One more faked symbol to make sure nothing can ever run off the + * end of the symbol table. This one represents the end of the + * text space. It used to be (CORE_ADDR) -1 (effectively the highest + * int possible), but some parts of gdb treated it as a signed + * number and failed comparisons. We could equally use 7fffffff, + * but no functions are ever mapped to an address higher than + * 40000000 + */ + record_minimal_symbol("<end_of_text>", + (CORE_ADDR) 0x40000000, + mst_text, objfile); + while (struct_list) + { + element = struct_list; + struct_list = element->next; + free((PTR) element); + } +} + + +/* Support for line number handling */ +static char *linetab = NULL; +static long linetab_offset; +static unsigned long linetab_size; + +/* Read in all the line numbers for fast lookups later. Leave them in + external (unswapped) format in memory; we'll swap them as we enter + them into GDB's data structures. */ +static int +init_one_section(chan, secinfo) + int chan; + dst_sec *secinfo; +{ + if (secinfo->size == 0 + || lseek(chan, secinfo->position, 0) == -1 + || (secinfo->buffer = xmalloc(secinfo->size)) == NULL + || myread(chan, secinfo->buffer, secinfo->size) == -1) + return 0; + else + return 1; +} + +static int +init_dst_sections (chan) + int chan; +{ + + if (!init_one_section(chan, &blocks_info) || + !init_one_section(chan, &lines_info) || + !init_one_section(chan, &symbols_info)) + return -1; + else + return 0; +} + +/* Fake up support for relocating symbol addresses. FIXME. */ + +struct section_offsets dst_symfile_faker = {0}; + +struct section_offsets * +dst_symfile_offsets (objfile, addr) + struct objfile *objfile; + CORE_ADDR addr; +{ + objfile->num_sections = 1; + return &dst_symfile_faker; +} + +/* Register our ability to parse symbols for DST BFD files */ + +static struct sym_fns dst_sym_fns = +{ + /* FIXME: Can this be integrated with coffread.c? If not, should it be + a separate flavour like ecoff? */ + (enum bfd_flavour)-2, + + dst_new_init, /* sym_new_init: init anything gbl to entire symtab */ + dst_symfile_init, /* sym_init: read initial info, setup for sym_read() */ + dst_symfile_read, /* sym_read: read a symbol file into symtab */ + dst_symfile_finish, /* sym_finish: finished with file, cleanup */ + dst_symfile_offsets, /* sym_offsets: xlate external to internal form */ + NULL /* next: pointer to next struct sym_fns */ +}; + +void +_initialize_dstread () +{ + add_symtab_fns(&dst_sym_fns); +} diff --git a/contrib/gdb/gdb/gould-tdep.c b/contrib/gdb/gdb/gould-tdep.c new file mode 100644 index 0000000000000..79575e087c5d9 --- /dev/null +++ b/contrib/gdb/gdb/gould-tdep.c @@ -0,0 +1,291 @@ +/* GOULD RISC target-dependent code for GDB, the GNU debugger. + Copyright 1986, 1987, 1989, 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "symtab.h" +#include "frame.h" +#include "gdbcore.h" +#if defined GOULD_PN +#include "opcode/pn.h" +#else +#include "opcode/np1.h" +#endif + +/* GOULD RISC instructions are never longer than this many bytes. */ +#define MAXLEN 4 + +/* Number of elements in the opcode table. */ +#define NOPCODES (sizeof gld_opcodes / sizeof gld_opcodes[0]) + + +/* Print the GOULD instruction at address MEMADDR in debugged memory, + on STREAM. Returns length of the instruction, in bytes. */ + +int +gould_print_insn (memaddr, stream) + CORE_ADDR memaddr; + FILE *stream; +{ + unsigned char buffer[MAXLEN]; + register int i; + register char *d; + register int bestmask; + unsigned best; + int temp, index, bestlen; + + read_memory (memaddr, buffer, MAXLEN); + + bestmask = 0; + index = -1; + best = 0xffffffff; + for (i = 0; i < NOPCODES; i++) + { + register unsigned int opcode = gld_opcodes[i].opcode; + register unsigned int mask = gld_opcodes[i].mask; + register unsigned int len = gld_opcodes[i].length; + register unsigned int test; + + /* Get possible opcode bytes into integer */ + test = buffer[0] << 24; + test |= buffer[1] << 16; + test |= buffer[2] << 8; + test |= buffer[3]; + + /* Mask with opcode and see if match */ + if ((opcode & mask) == (test & mask)) + { + /* See if second or third match */ + if (index >= 0) + { + /* Take new one if it looks good */ + if (bestlen == MAXLEN && len == MAXLEN) + { + /* See if lower bits matched */ + if (((bestmask & 3) == 0) && + ((mask & 3) != 0)) + { + bestmask = mask; + bestlen = len; + best = test; + index = i; + } + } + } + else + { + /* First match, save it */ + bestmask = mask; + bestlen = len; + best = test; + index = i; + } + } + } + + /* Handle undefined instructions. */ + if (index < 0) + { + fprintf (stream, "undefined 0%o",(buffer[0]<<8)+buffer[1]); + return 2; + } + + /* Print instruction name */ + fprintf (stream, "%-12s", gld_opcodes[index].name); + + /* Adjust if short instruction */ + if (gld_opcodes[index].length < 4) + { + best >>= 16; + i = 0; + } + else + { + i = 16; + } + + /* Dump out instruction arguments */ + for (d = gld_opcodes[index].args; *d; ++d) + { + switch (*d) + { + case 'f': + fprintf (stream, "%d", (best >> (7 + i)) & 7); + break; + case 'r': + fprintf (stream, "r%d", (best >> (7 + i)) & 7); + break; + case 'R': + fprintf (stream, "r%d", (best >> (4 + i)) & 7); + break; + case 'b': + fprintf (stream, "b%d", (best >> (7 + i)) & 7); + break; + case 'B': + fprintf (stream, "b%d", (best >> (4 + i)) & 7); + break; + case 'v': + fprintf (stream, "b%d", (best >> (7 + i)) & 7); + break; + case 'V': + fprintf (stream, "b%d", (best >> (4 + i)) & 7); + break; + case 'X': + temp = (best >> 20) & 7; + if (temp) + fprintf (stream, "r%d", temp); + else + putc ('0', stream); + break; + case 'A': + temp = (best >> 16) & 7; + if (temp) + fprintf (stream, "(b%d)", temp); + break; + case 'S': + fprintf (stream, "#%d", best & 0x1f); + break; + case 'I': + fprintf (stream, "#%x", best & 0xffff); + break; + case 'O': + fprintf (stream, "%x", best & 0xffff); + break; + case 'h': + fprintf (stream, "%d", best & 0xfffe); + break; + case 'd': + fprintf (stream, "%d", best & 0xfffc); + break; + case 'T': + fprintf (stream, "%d", (best >> 8) & 0xff); + break; + case 'N': + fprintf (stream, "%d", best & 0xff); + break; + default: + putc (*d, stream); + break; + } + } + + /* Return length of instruction */ + return (gld_opcodes[index].length); +} + +/* + * Find the number of arguments to a function. + */ +findarg(frame) + struct frame_info *frame; +{ + register struct symbol *func; + register unsigned pc; + +#ifdef notdef + /* find starting address of frame function */ + pc = get_pc_function_start (frame->pc); + + /* find function symbol info */ + func = find_pc_function (pc); + + /* call blockframe code to look for match */ + if (func != NULL) + return (func->value.block->nsyms / sizeof(int)); +#endif + + return (-1); +} + +/* + * In the case of the NPL, the frame's norminal address is Br2 and the + * previous routines frame is up the stack X bytes. Finding out what + * 'X' is can be tricky. + * + * 1.) stored in the code function header xA(Br1). + * 2.) must be careful of recurssion. + */ +CORE_ADDR +findframe(thisframe) + struct frame_info *thisframe; +{ + register CORE_ADDR pointer; + CORE_ADDR framechain(); +#if 0 + struct frame_info *frame; + + /* Setup toplevel frame structure */ + frame->pc = read_pc(); + frame->next_frame = 0; + frame->frame = read_register (SP_REGNUM); /* Br2 */ + + /* Search for this frame (start at current Br2) */ + do + { + pointer = framechain(frame); + frame->next_frame = frame->frame; + frame->frame = pointer; + frame->pc = FRAME_SAVED_PC(frame); + } + while (frame->next_frame != thisframe); +#endif + + pointer = framechain (thisframe); + + /* stop gap for now, end at __base3 */ + if (thisframe->pc == 0) + return 0; + + return pointer; +} + +/* + * Gdb front-end and internal framechain routine. + * Go back up stack one level. Tricky... + */ +CORE_ADDR +framechain(frame) + register struct frame_info *frame; +{ + register CORE_ADDR func, prevsp; + register unsigned value; + + /* Get real function start address from internal frame address */ + func = get_pc_function_start(frame->pc); + + /* If no stack given, read register Br1 "(sp)" */ + if (!frame->frame) + prevsp = read_register (SP_REGNUM); + else + prevsp = frame->frame; + + /* Check function header, case #2 */ + value = read_memory_integer (func, 4); + if (value) + { + /* 32bit call push value stored in function header */ + prevsp += value; + } + else + { + /* read half-word from suabr at start of function */ + prevsp += read_memory_integer (func + 10, 2); + } + + return (prevsp); +} diff --git a/contrib/gdb/gdb/gould-xdep.c b/contrib/gdb/gdb/gould-xdep.c new file mode 100644 index 0000000000000..bf2c33a1aa191 --- /dev/null +++ b/contrib/gdb/gdb/gould-xdep.c @@ -0,0 +1,130 @@ +/* Low level interface to ptrace, for GDB when running under Unix. + Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "frame.h" +#include "inferior.h" + +#include <sys/param.h> +#include <sys/dir.h> +#include <signal.h> +#include <sys/user.h> +#include <sys/ioctl.h> +#include <fcntl.h> + +#include "gdbcore.h" + +#include <sys/file.h> +#include "gdb_stat.h" + + +/* Work with core dump and executable files, for GDB. + This code would be in corefile.c if it weren't machine-dependent. */ + +void +core_file_command (filename, from_tty) + char *filename; + int from_tty; +{ + int val; + extern char registers[]; + + /* Discard all vestiges of any previous core file + and mark data and stack spaces as empty. */ + + if (corefile) + free (corefile); + corefile = 0; + + if (corechan >= 0) + close (corechan); + corechan = -1; + + data_start = 0; + data_end = 0; + stack_start = STACK_END_ADDR; + stack_end = STACK_END_ADDR; + + /* Now, if a new core file was specified, open it and digest it. */ + + if (filename) + { + filename = tilde_expand (filename); + make_cleanup (free, filename); + + if (have_inferior_p ()) + error ("To look at a core file, you must kill the program with \"kill\"."); + corechan = open (filename, O_RDONLY, 0); + if (corechan < 0) + perror_with_name (filename); + /* 4.2-style (and perhaps also sysV-style) core dump file. */ + { + struct user u; + int reg_offset; + + val = myread (corechan, &u, sizeof u); + if (val < 0) + perror_with_name (filename); + data_start = exec_data_start; + + data_end = data_start + NBPG * u.u_dsize; + stack_start = stack_end - NBPG * u.u_ssize; + data_offset = NBPG * UPAGES; + stack_offset = NBPG * (UPAGES + u.u_dsize); + reg_offset = (int) u.u_ar0 - KERNEL_U_ADDR; + + /* I don't know where to find this info. + So, for now, mark it as not available. */ + core_aouthdr.a_magic = 0; + + /* Read the register values out of the core file and store + them where `read_register' will find them. */ + + { + register int regno; + + for (regno = 0; regno < NUM_REGS; regno++) + { + char buf[MAX_REGISTER_RAW_SIZE]; + + val = lseek (corechan, register_addr (regno, reg_offset), 0); + if (val < 0) + perror_with_name (filename); + + val = myread (corechan, buf, sizeof buf); + if (val < 0) + perror_with_name (filename); + supply_register (regno, buf); + } + } + } + if (filename[0] == '/') + corefile = savestring (filename, strlen (filename)); + else + { + corefile = concat (current_directory, "/", filename, NULL); + } + + flush_cached_frames (); + select_frame (get_current_frame (), 0); + validate_files (); + } + else if (from_tty) + printf ("No core file now.\n"); +} diff --git a/contrib/gdb/gdb/h8300-tdep.c b/contrib/gdb/gdb/h8300-tdep.c new file mode 100644 index 0000000000000..954e25816349b --- /dev/null +++ b/contrib/gdb/gdb/h8300-tdep.c @@ -0,0 +1,478 @@ +/* Target-machine dependent code for Hitachi H8/300, for GDB. + Copyright (C) 1988, 1990, 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* + Contributed by Steve Chamberlain + sac@cygnus.com + */ + +#include "defs.h" +#include "frame.h" +#include "obstack.h" +#include "symtab.h" +#include "dis-asm.h" +#include "gdbcmd.h" +#include "gdbtypes.h" + +#undef NUM_REGS +#define NUM_REGS 11 + +#define UNSIGNED_SHORT(X) ((X) & 0xffff) + +/* an easy to debug H8 stack frame looks like: +0x6df6 push r6 +0x0d76 mov.w r7,r6 +0x6dfn push reg +0x7905 nnnn mov.w #n,r5 or 0x1b87 subs #2,sp +0x1957 sub.w r5,sp + + */ + +#define IS_PUSH(x) ((x & 0xff00)==0x6d00) +#define IS_PUSH_FP(x) (x == 0x6df6) +#define IS_MOVE_FP(x) (x == 0x0d76) +#define IS_MOV_SP_FP(x) (x == 0x0d76) +#define IS_SUB2_SP(x) (x==0x1b87) +#define IS_MOVK_R5(x) (x==0x7905) +#define IS_SUB_R5SP(x) (x==0x1957) + +static CORE_ADDR examine_prologue (); + +void frame_find_saved_regs (); +CORE_ADDR +h8300_skip_prologue (start_pc) + CORE_ADDR start_pc; +{ + short int w; + + w = read_memory_unsigned_integer (start_pc, 2); + /* Skip past all push insns */ + while (IS_PUSH_FP (w)) + { + start_pc += 2; + w = read_memory_unsigned_integer (start_pc, 2); + } + + /* Skip past a move to FP */ + if (IS_MOVE_FP (w)) + { + start_pc += 2; + w = read_memory_unsigned_integer (start_pc, 2); + } + + /* Skip the stack adjust */ + + if (IS_MOVK_R5 (w)) + { + start_pc += 2; + w = read_memory_unsigned_integer (start_pc, 2); + } + if (IS_SUB_R5SP (w)) + { + start_pc += 2; + w = read_memory_unsigned_integer (start_pc, 2); + } + while (IS_SUB2_SP (w)) + { + start_pc += 2; + w = read_memory_unsigned_integer (start_pc, 2); + } + + return start_pc; +} + +int +gdb_print_insn_h8300 (memaddr, info) + bfd_vma memaddr; + disassemble_info *info; +{ + if (h8300hmode) + return print_insn_h8300h (memaddr, info); + else + return print_insn_h8300 (memaddr, info); +} + +/* Given a GDB frame, determine the address of the calling function's frame. + This will be used to create a new GDB frame struct, and then + INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. + + For us, the frame address is its stack pointer value, so we look up + the function prologue to determine the caller's sp value, and return it. */ + +CORE_ADDR +h8300_frame_chain (thisframe) + struct frame_info *thisframe; +{ + frame_find_saved_regs (thisframe, (struct frame_saved_regs *) 0); + return thisframe->fsr->regs[SP_REGNUM]; +} + +/* Put here the code to store, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. + + We cache the result of doing this in the frame_cache_obstack, since + it is fairly expensive. */ + +void +frame_find_saved_regs (fi, fsr) + struct frame_info *fi; + struct frame_saved_regs *fsr; +{ + register CORE_ADDR next_addr; + register CORE_ADDR *saved_regs; + register int regnum; + register struct frame_saved_regs *cache_fsr; + extern struct obstack frame_cache_obstack; + CORE_ADDR ip; + struct symtab_and_line sal; + CORE_ADDR limit; + + if (!fi->fsr) + { + cache_fsr = (struct frame_saved_regs *) + obstack_alloc (&frame_cache_obstack, + sizeof (struct frame_saved_regs)); + memset (cache_fsr, '\0', sizeof (struct frame_saved_regs)); + + fi->fsr = cache_fsr; + + /* Find the start and end of the function prologue. If the PC + is in the function prologue, we only consider the part that + has executed already. */ + + ip = get_pc_function_start (fi->pc); + sal = find_pc_line (ip, 0); + limit = (sal.end && sal.end < fi->pc) ? sal.end : fi->pc; + + /* This will fill in fields in *fi as well as in cache_fsr. */ + examine_prologue (ip, limit, fi->frame, cache_fsr, fi); + } + + if (fsr) + *fsr = *fi->fsr; +} + +/* Fetch the instruction at ADDR, returning 0 if ADDR is beyond LIM or + is not the address of a valid instruction, the address of the next + instruction beyond ADDR otherwise. *PWORD1 receives the first word + of the instruction.*/ + +CORE_ADDR +NEXT_PROLOGUE_INSN (addr, lim, pword1) + CORE_ADDR addr; + CORE_ADDR lim; + INSN_WORD *pword1; +{ + char buf[2]; + if (addr < lim + 8) + { + read_memory (addr, buf, 2); + *pword1 = extract_signed_integer (buf, 2); + + return addr + 2; + } + return 0; +} + +/* Examine the prologue of a function. `ip' points to the first instruction. + `limit' is the limit of the prologue (e.g. the addr of the first + linenumber, or perhaps the program counter if we're stepping through). + `frame_sp' is the stack pointer value in use in this frame. + `fsr' is a pointer to a frame_saved_regs structure into which we put + info about the registers saved by this frame. + `fi' is a struct frame_info pointer; we fill in various fields in it + to reflect the offsets of the arg pointer and the locals pointer. */ + +static CORE_ADDR +examine_prologue (ip, limit, after_prolog_fp, fsr, fi) + register CORE_ADDR ip; + register CORE_ADDR limit; + CORE_ADDR after_prolog_fp; + struct frame_saved_regs *fsr; + struct frame_info *fi; +{ + register CORE_ADDR next_ip; + int r; + int i; + int have_fp = 0; + register int src; + register struct pic_prologue_code *pcode; + INSN_WORD insn_word; + int size, offset; + /* Number of things pushed onto stack, starts at 2/4, 'cause the + PC is already there */ + unsigned int reg_save_depth = h8300hmode ? 4 : 2; + + unsigned int auto_depth = 0; /* Number of bytes of autos */ + + char in_frame[11]; /* One for each reg */ + + memset (in_frame, 1, 11); + for (r = 0; r < 8; r++) + { + fsr->regs[r] = 0; + } + if (after_prolog_fp == 0) + { + after_prolog_fp = read_register (SP_REGNUM); + } + if (ip == 0 || ip & (h8300hmode ? ~0xffff : ~0xffff)) + return 0; + + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn_word); + + /* Skip over any fp push instructions */ + fsr->regs[6] = after_prolog_fp; + while (next_ip && IS_PUSH_FP (insn_word)) + { + ip = next_ip; + + in_frame[insn_word & 0x7] = reg_save_depth; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn_word); + reg_save_depth += 2; + } + + /* Is this a move into the fp */ + if (next_ip && IS_MOV_SP_FP (insn_word)) + { + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn_word); + have_fp = 1; + } + + /* Skip over any stack adjustment, happens either with a number of + sub#2,sp or a mov #x,r5 sub r5,sp */ + + if (next_ip && IS_SUB2_SP (insn_word)) + { + while (next_ip && IS_SUB2_SP (insn_word)) + { + auto_depth += 2; + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn_word); + } + } + else + { + if (next_ip && IS_MOVK_R5 (insn_word)) + { + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn_word); + auto_depth += insn_word; + + next_ip = NEXT_PROLOGUE_INSN (next_ip, limit, &insn_word); + auto_depth += insn_word; + } + } + /* Work out which regs are stored where */ + while (next_ip && IS_PUSH (insn_word)) + { + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn_word); + fsr->regs[r] = after_prolog_fp + auto_depth; + auto_depth += 2; + } + + /* The args are always reffed based from the stack pointer */ + fi->args_pointer = after_prolog_fp; + /* Locals are always reffed based from the fp */ + fi->locals_pointer = after_prolog_fp; + /* The PC is at a known place */ + fi->from_pc = read_memory_unsigned_integer (after_prolog_fp + 2, BINWORD); + + /* Rememeber any others too */ + in_frame[PC_REGNUM] = 0; + + if (have_fp) + /* We keep the old FP in the SP spot */ + fsr->regs[SP_REGNUM] = read_memory_unsigned_integer (fsr->regs[6], BINWORD); + else + fsr->regs[SP_REGNUM] = after_prolog_fp + auto_depth; + + return (ip); +} + +void +init_extra_frame_info (fromleaf, fi) + int fromleaf; + struct frame_info *fi; +{ + fi->fsr = 0; /* Not yet allocated */ + fi->args_pointer = 0; /* Unknown */ + fi->locals_pointer = 0; /* Unknown */ + fi->from_pc = 0; +} + +/* Return the saved PC from this frame. + + If the frame has a memory copy of SRP_REGNUM, use that. If not, + just use the register SRP_REGNUM itself. */ + +CORE_ADDR +frame_saved_pc (frame) + struct frame_info *frame; +{ + return frame->from_pc; +} + +CORE_ADDR +frame_locals_address (fi) + struct frame_info *fi; +{ + if (!fi->locals_pointer) + { + struct frame_saved_regs ignore; + + get_frame_saved_regs (fi, &ignore); + + } + return fi->locals_pointer; +} + +/* Return the address of the argument block for the frame + described by FI. Returns 0 if the address is unknown. */ + +CORE_ADDR +frame_args_address (fi) + struct frame_info *fi; +{ + if (!fi->args_pointer) + { + struct frame_saved_regs ignore; + + get_frame_saved_regs (fi, &ignore); + + } + + return fi->args_pointer; +} + +void +h8300_pop_frame () +{ + unsigned regnum; + struct frame_saved_regs fsr; + struct frame_info *frame = get_current_frame (); + + get_frame_saved_regs (frame, &fsr); + + for (regnum = 0; regnum < 8; regnum++) + { + if (fsr.regs[regnum]) + write_register (regnum, read_memory_integer(fsr.regs[regnum]), BINWORD); + + flush_cached_frames (); + } +} + + +struct cmd_list_element *setmemorylist; + +static void +h8300_command(args, from_tty) +{ + extern int h8300hmode; + h8300hmode = 0; +} + +static void +h8300h_command(args, from_tty) +{ + extern int h8300hmode; + h8300hmode = 1; +} + +static void +set_machine (args, from_tty) + char *args; + int from_tty; +{ + printf_unfiltered ("\"set machine\" must be followed by h8300 or h8300h.\n"); + help_list (setmemorylist, "set memory ", -1, gdb_stdout); +} + +void +_initialize_h8300m () +{ + add_prefix_cmd ("machine", no_class, set_machine, + "set the machine type", &setmemorylist, "set machine ", 0, + &setlist); + + add_cmd ("h8300", class_support, h8300_command, + "Set machine to be H8/300.", &setmemorylist); + + add_cmd ("h8300h", class_support, h8300h_command, + "Set machine to be H8/300H.", &setmemorylist); +} + + + +void +print_register_hook (regno) +{ + if (regno == 8) + { + /* CCR register */ + int C, Z, N, V; + unsigned char b[4]; + unsigned char l; + read_relative_register_raw_bytes (regno, b); + l = b[REGISTER_VIRTUAL_SIZE(8) -1]; + printf_unfiltered ("\t"); + printf_unfiltered ("I-%d - ", (l & 0x80) != 0); + printf_unfiltered ("H-%d - ", (l & 0x20) != 0); + N = (l & 0x8) != 0; + Z = (l & 0x4) != 0; + V = (l & 0x2) != 0; + C = (l & 0x1) != 0; + printf_unfiltered ("N-%d ", N); + printf_unfiltered ("Z-%d ", Z); + printf_unfiltered ("V-%d ", V); + printf_unfiltered ("C-%d ", C); + if ((C | Z) == 0) + printf_unfiltered ("u> "); + if ((C | Z) == 1) + printf_unfiltered ("u<= "); + if ((C == 0)) + printf_unfiltered ("u>= "); + if (C == 1) + printf_unfiltered ("u< "); + if (Z == 0) + printf_unfiltered ("!= "); + if (Z == 1) + printf_unfiltered ("== "); + if ((N ^ V) == 0) + printf_unfiltered (">= "); + if ((N ^ V) == 1) + printf_unfiltered ("< "); + if ((Z | (N ^ V)) == 0) + printf_unfiltered ("> "); + if ((Z | (N ^ V)) == 1) + printf_unfiltered ("<= "); + } +} + +void +_initialize_h8300_tdep () +{ + tm_print_insn = gdb_print_insn_h8300; +} diff --git a/contrib/gdb/gdb/h8500-tdep.c b/contrib/gdb/gdb/h8500-tdep.c new file mode 100644 index 0000000000000..38a4859d0d3de --- /dev/null +++ b/contrib/gdb/gdb/h8500-tdep.c @@ -0,0 +1,678 @@ +/* Target-dependent code for Hitachi H8/500, for GDB. + Copyright 1993, 1994, 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* + Contributed by Steve Chamberlain + sac@cygnus.com + */ + +#include "defs.h" +#include "frame.h" +#include "obstack.h" +#include "symtab.h" +#include "gdbtypes.h" +#include "gdbcmd.h" +#include "value.h" +#include "dis-asm.h" +#include "gdbcore.h" + +#define UNSIGNED_SHORT(X) ((X) & 0xffff) + +static int code_size = 2; + +static int data_size = 2; + +/* Shape of an H8/500 frame : + + arg-n + .. + arg-2 + arg-1 + return address <2 or 4 bytes> + old fp <2 bytes> + auto-n + .. + auto-1 + saved registers + +*/ + +/* an easy to debug H8 stack frame looks like: +0x6df6 push r6 +0x0d76 mov.w r7,r6 +0x6dfn push reg +0x7905 nnnn mov.w #n,r5 or 0x1b87 subs #2,sp +0x1957 sub.w r5,sp + + */ + +#define IS_PUSH(x) (((x) & 0xff00)==0x6d00) +#define IS_LINK_8(x) ((x) == 0x17) +#define IS_LINK_16(x) ((x) == 0x1f) +#define IS_MOVE_FP(x) ((x) == 0x0d76) +#define IS_MOV_SP_FP(x) ((x) == 0x0d76) +#define IS_SUB2_SP(x) ((x) == 0x1b87) +#define IS_MOVK_R5(x) ((x) == 0x7905) +#define IS_SUB_R5SP(x) ((x) == 0x1957) + +#define LINK_8 0x17 +#define LINK_16 0x1f + +int minimum_mode = 1; + +CORE_ADDR +h8500_skip_prologue (start_pc) + CORE_ADDR start_pc; +{ + short int w; + + w = read_memory_integer (start_pc, 1); + if (w == LINK_8) + { + start_pc += 2; + w = read_memory_integer (start_pc, 1); + } + + if (w == LINK_16) + { + start_pc += 3; + w = read_memory_integer (start_pc, 2); + } + + return start_pc; +} + +/* Given a GDB frame, determine the address of the calling function's frame. + This will be used to create a new GDB frame struct, and then + INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. + + For us, the frame address is its stack pointer value, so we look up + the function prologue to determine the caller's sp value, and return it. */ + +CORE_ADDR +h8500_frame_chain (thisframe) + struct frame_info *thisframe; +{ + if (!inside_entry_file (thisframe->pc)) + return (read_memory_integer (FRAME_FP (thisframe), PTR_SIZE)); + else + return 0; +} + +/* Fetch the instruction at ADDR, returning 0 if ADDR is beyond LIM or + is not the address of a valid instruction, the address of the next + instruction beyond ADDR otherwise. *PWORD1 receives the first word + of the instruction.*/ + +CORE_ADDR +NEXT_PROLOGUE_INSN (addr, lim, pword1) + CORE_ADDR addr; + CORE_ADDR lim; + char *pword1; +{ + if (addr < lim + 8) + { + read_memory (addr, pword1, 1); + read_memory (addr, pword1 + 1, 1); + return 1; + } + return 0; +} + +/* Examine the prologue of a function. `ip' points to the first + instruction. `limit' is the limit of the prologue (e.g. the addr + of the first linenumber, or perhaps the program counter if we're + stepping through). `frame_sp' is the stack pointer value in use in + this frame. `fsr' is a pointer to a frame_saved_regs structure + into which we put info about the registers saved by this frame. + `fi' is a struct frame_info pointer; we fill in various fields in + it to reflect the offsets of the arg pointer and the locals + pointer. */ + +/* Return the saved PC from this frame. */ + +CORE_ADDR +frame_saved_pc (frame) + struct frame_info *frame; +{ + return read_memory_integer (FRAME_FP (frame) + 2, PTR_SIZE); +} + +void +h8500_pop_frame () +{ + unsigned regnum; + struct frame_saved_regs fsr; + struct frame_info *frame = get_current_frame (); + + get_frame_saved_regs (frame, &fsr); + + for (regnum = 0; regnum < 8; regnum++) + { + if (fsr.regs[regnum]) + write_register (regnum, read_memory_short (fsr.regs[regnum])); + + flush_cached_frames (); + } +} + +void +print_register_hook (regno) + int regno; +{ + if (regno == CCR_REGNUM) + { + /* CCR register */ + + int C, Z, N, V; + unsigned char b[2]; + unsigned char l; + + read_relative_register_raw_bytes (regno, b); + l = b[1]; + printf_unfiltered ("\t"); + printf_unfiltered ("I-%d - ", (l & 0x80) != 0); + N = (l & 0x8) != 0; + Z = (l & 0x4) != 0; + V = (l & 0x2) != 0; + C = (l & 0x1) != 0; + printf_unfiltered ("N-%d ", N); + printf_unfiltered ("Z-%d ", Z); + printf_unfiltered ("V-%d ", V); + printf_unfiltered ("C-%d ", C); + if ((C | Z) == 0) + printf_unfiltered ("u> "); + if ((C | Z) == 1) + printf_unfiltered ("u<= "); + if ((C == 0)) + printf_unfiltered ("u>= "); + if (C == 1) + printf_unfiltered ("u< "); + if (Z == 0) + printf_unfiltered ("!= "); + if (Z == 1) + printf_unfiltered ("== "); + if ((N ^ V) == 0) + printf_unfiltered (">= "); + if ((N ^ V) == 1) + printf_unfiltered ("< "); + if ((Z | (N ^ V)) == 0) + printf_unfiltered ("> "); + if ((Z | (N ^ V)) == 1) + printf_unfiltered ("<= "); + } +} + +int +h8500_register_size (regno) + int regno; +{ + switch (regno) + { + case SEG_C_REGNUM: + case SEG_D_REGNUM: + case SEG_E_REGNUM: + case SEG_T_REGNUM: + return 1; + case R0_REGNUM: + case R1_REGNUM: + case R2_REGNUM: + case R3_REGNUM: + case R4_REGNUM: + case R5_REGNUM: + case R6_REGNUM: + case R7_REGNUM: + case CCR_REGNUM: + return 2; + + case PR0_REGNUM: + case PR1_REGNUM: + case PR2_REGNUM: + case PR3_REGNUM: + case PR4_REGNUM: + case PR5_REGNUM: + case PR6_REGNUM: + case PR7_REGNUM: + case PC_REGNUM: + return 4; + default: + abort (); + } +} + +struct type * +h8500_register_virtual_type (regno) + int regno; +{ + switch (regno) + { + case SEG_C_REGNUM: + case SEG_E_REGNUM: + case SEG_D_REGNUM: + case SEG_T_REGNUM: + return builtin_type_unsigned_char; + case R0_REGNUM: + case R1_REGNUM: + case R2_REGNUM: + case R3_REGNUM: + case R4_REGNUM: + case R5_REGNUM: + case R6_REGNUM: + case R7_REGNUM: + case CCR_REGNUM: + return builtin_type_unsigned_short; + case PR0_REGNUM: + case PR1_REGNUM: + case PR2_REGNUM: + case PR3_REGNUM: + case PR4_REGNUM: + case PR5_REGNUM: + case PR6_REGNUM: + case PR7_REGNUM: + case PC_REGNUM: + return builtin_type_unsigned_long; + default: + abort (); + } +} + +/* Put here the code to store, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. */ + +void +frame_find_saved_regs (frame_info, frame_saved_regs) + struct frame_info *frame_info; + struct frame_saved_regs *frame_saved_regs; +{ + register int regnum; + register int regmask; + register CORE_ADDR next_addr; + register CORE_ADDR pc; + unsigned char thebyte; + + memset (frame_saved_regs, '\0', sizeof *frame_saved_regs); + + if ((frame_info)->pc >= (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM * 4 - 4 + && (frame_info)->pc <= (frame_info)->frame) + { + next_addr = (frame_info)->frame; + pc = (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM * 4 - 4; + } + else + { + pc = get_pc_function_start ((frame_info)->pc); + /* Verify we have a link a6 instruction next; + if not we lose. If we win, find the address above the saved + regs using the amount of storage from the link instruction. + */ + + thebyte = read_memory_integer (pc, 1); + if (0x1f == thebyte) + next_addr = (frame_info)->frame + read_memory_integer (pc += 1, 2), pc += 2; + else if (0x17 == thebyte) + next_addr = (frame_info)->frame + read_memory_integer (pc += 1, 1), pc += 1; + else + goto lose; +#if 0 + /* FIXME steve */ + /* If have an add:g.waddal #-n, sp next, adjust next_addr. */ + if ((0x0c0177777 & read_memory_integer (pc, 2)) == 0157774) + next_addr += read_memory_integer (pc += 2, 4), pc += 4; +#endif + } + + thebyte = read_memory_integer (pc, 1); + if (thebyte == 0x12) + { + /* Got stm */ + pc++; + regmask = read_memory_integer (pc, 1); + pc++; + for (regnum = 0; regnum < 8; regnum++, regmask >>= 1) + { + if (regmask & 1) + { + (frame_saved_regs)->regs[regnum] = (next_addr += 2) - 2; + } + } + thebyte = read_memory_integer (pc, 1); + } + /* Maybe got a load of pushes */ + while (thebyte == 0xbf) + { + pc++; + regnum = read_memory_integer (pc, 1) & 0x7; + pc++; + (frame_saved_regs)->regs[regnum] = (next_addr += 2) - 2; + thebyte = read_memory_integer (pc, 1); + } + +lose:; + + /* Remember the address of the frame pointer */ + (frame_saved_regs)->regs[FP_REGNUM] = (frame_info)->frame; + + /* This is where the old sp is hidden */ + (frame_saved_regs)->regs[SP_REGNUM] = (frame_info)->frame; + + /* And the PC - remember the pushed FP is always two bytes long */ + (frame_saved_regs)->regs[PC_REGNUM] = (frame_info)->frame + 2; +} + +CORE_ADDR +saved_pc_after_call () +{ + int x; + int a = read_register (SP_REGNUM); + + x = read_memory_integer (a, code_size); + if (code_size == 2) + { + /* Stick current code segement onto top */ + x &= 0xffff; + x |= read_register (SEG_C_REGNUM) << 16; + } + x &= 0xffffff; + return x; +} + +#if 0 /* never called */ +/* Nonzero if instruction at PC is a return instruction. */ + +int +about_to_return (pc) + CORE_ADDR pc; +{ + int b1 = read_memory_integer (pc, 1); + + switch (b1) + { + case 0x14: /* rtd #8 */ + case 0x1c: /* rtd #16 */ + case 0x19: /* rts */ + case 0x1a: /* rte */ + return 1; + case 0x11: + { + int b2 = read_memory_integer (pc + 1, 1); + switch (b2) + { + case 0x18: /* prts */ + case 0x14: /* prtd #8 */ + case 0x16: /* prtd #16 */ + return 1; + } + } + } + return 0; +} +#endif + +void +h8500_set_pointer_size (newsize) + int newsize; +{ + static int oldsize = 0; + + if (oldsize != newsize) + { + printf_unfiltered ("pointer size set to %d bits\n", newsize); + oldsize = newsize; + if (newsize == 32) + { + minimum_mode = 0; + } + else + { + minimum_mode = 1; + } + _initialize_gdbtypes (); + } +} + +static void +big_command () +{ + h8500_set_pointer_size (32); + code_size = 4; + data_size = 4; +} + +static void +medium_command () +{ + h8500_set_pointer_size (32); + code_size = 4; + data_size = 2; +} + +static void +compact_command () +{ + h8500_set_pointer_size (32); + code_size = 2; + data_size = 4; +} + +static void +small_command () +{ + h8500_set_pointer_size (16); + code_size = 2; + data_size = 2; +} + +static struct cmd_list_element *setmemorylist; + +static void +set_memory (args, from_tty) + char *args; + int from_tty; +{ + printf_unfiltered ("\"set memory\" must be followed by the name of a memory subcommand.\n"); + help_list (setmemorylist, "set memory ", -1, gdb_stdout); +} + +/* See if variable name is ppc or pr[0-7] */ + +int +h8500_is_trapped_internalvar (name) + char *name; +{ + if (name[0] != 'p') + return 0; + + if (strcmp (name + 1, "pc") == 0) + return 1; + + if (name[1] == 'r' + && name[2] >= '0' + && name[2] <= '7' + && name[3] == '\000') + return 1; + else + return 0; +} + +value_ptr +h8500_value_of_trapped_internalvar (var) + struct internalvar *var; +{ + LONGEST regval; + unsigned char regbuf[4]; + int page_regnum, regnum; + + regnum = var->name[2] == 'c' ? PC_REGNUM : var->name[2] - '0'; + + switch (var->name[2]) + { + case 'c': + page_regnum = SEG_C_REGNUM; + break; + case '0': + case '1': + case '2': + case '3': + page_regnum = SEG_D_REGNUM; + break; + case '4': + case '5': + page_regnum = SEG_E_REGNUM; + break; + case '6': + case '7': + page_regnum = SEG_T_REGNUM; + break; + } + + get_saved_register (regbuf, NULL, NULL, selected_frame, page_regnum, NULL); + regval = regbuf[0] << 16; + + get_saved_register (regbuf, NULL, NULL, selected_frame, regnum, NULL); + regval |= regbuf[0] << 8 | regbuf[1]; /* XXX host/target byte order */ + + free (var->value); /* Free up old value */ + + var->value = value_from_longest (builtin_type_unsigned_long, regval); + release_value (var->value); /* Unchain new value */ + + VALUE_LVAL (var->value) = lval_internalvar; + VALUE_INTERNALVAR (var->value) = var; + return var->value; +} + +void +h8500_set_trapped_internalvar (var, newval, bitpos, bitsize, offset) + struct internalvar *var; + int offset, bitpos, bitsize; + value_ptr newval; +{ + char *page_regnum, *regnum; + char expression[100]; + unsigned new_regval; + struct type *type; + enum type_code newval_type_code; + + type = check_typedef (VALUE_TYPE (newval)); + newval_type_code = TYPE_CODE (type); + + if ((newval_type_code != TYPE_CODE_INT + && newval_type_code != TYPE_CODE_PTR) + || TYPE_LENGTH (type) != sizeof (new_regval)) + error ("Illegal type (%s) for assignment to $%s\n", + TYPE_NAME (VALUE_TYPE (newval)), var->name); + + new_regval = *(long *) VALUE_CONTENTS_RAW (newval); + + regnum = var->name + 1; + + switch (var->name[2]) + { + case 'c': + page_regnum = "cp"; + break; + case '0': + case '1': + case '2': + case '3': + page_regnum = "dp"; + break; + case '4': + case '5': + page_regnum = "ep"; + break; + case '6': + case '7': + page_regnum = "tp"; + break; + } + + sprintf (expression, "$%s=%d", page_regnum, new_regval >> 16); + parse_and_eval (expression); + + sprintf (expression, "$%s=%d", regnum, new_regval & 0xffff); + parse_and_eval (expression); +} + +CORE_ADDR +h8500_read_sp () +{ + return read_register (PR7_REGNUM); +} + +void +h8500_write_sp (v) + CORE_ADDR v; +{ + write_register (PR7_REGNUM, v); +} + +CORE_ADDR +h8500_read_pc (pid) + int pid; +{ + return read_register (PC_REGNUM); +} + +void +h8500_write_pc (v, pid) + CORE_ADDR v; + int pid; +{ + write_register (PC_REGNUM, v); +} + +CORE_ADDR +h8500_read_fp () +{ + return read_register (PR6_REGNUM); +} + +void +h8500_write_fp (v) + CORE_ADDR v; +{ + write_register (PR6_REGNUM, v); +} + +void +_initialize_h8500_tdep () +{ + tm_print_insn = print_insn_h8500; + + add_prefix_cmd ("memory", no_class, set_memory, + "set the memory model", &setmemorylist, "set memory ", 0, + &setlist); + + add_cmd ("small", class_support, small_command, + "Set small memory model. (16 bit code, 16 bit data)", &setmemorylist); + + add_cmd ("big", class_support, big_command, + "Set big memory model. (32 bit code, 32 bit data)", &setmemorylist); + + add_cmd ("medium", class_support, medium_command, + "Set medium memory model. (32 bit code, 16 bit data)", &setmemorylist); + + add_cmd ("compact", class_support, compact_command, + "Set compact memory model. (16 bit code, 32 bit data)", &setmemorylist); + +} diff --git a/contrib/gdb/gdb/hp300ux-nat.c b/contrib/gdb/gdb/hp300ux-nat.c new file mode 100644 index 0000000000000..e1641f9fe11ba --- /dev/null +++ b/contrib/gdb/gdb/hp300ux-nat.c @@ -0,0 +1,214 @@ +/* HP/UX native interface for HP 300's, for GDB when running under Unix. + Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "frame.h" +#include "inferior.h" + +/* Defining this means some system include files define some extra stuff. */ +#define WOPR +#include <sys/param.h> +#include <signal.h> +#include <sys/user.h> +#include <fcntl.h> + +#include <sys/ptrace.h> +#include <sys/reg.h> +#include <sys/trap.h> + +#include <sys/file.h> + +/* Get kernel_u_addr using HPUX-style nlist(). */ +CORE_ADDR kernel_u_addr; + +struct hpnlist { + char * n_name; + long n_value; + unsigned char n_type; + unsigned char n_length; + short n_almod; + short n_unused; +}; +static struct hpnlist nl[] = {{ "_u", -1, }, { (char *) 0, }}; + +/* read the value of the u area from the hp-ux kernel */ +void +_initialize_hp300ux_nat () +{ +#ifndef HPUX_VERSION_5 + nlist ("/hp-ux", nl); + kernel_u_addr = nl[0].n_value; +#else /* HPUX version 5. */ + kernel_u_addr = (CORE_ADDR) 0x0097900; +#endif +} + +#define INFERIOR_AR0(u) \ + ((ptrace \ + (PT_RUAREA, inferior_pid, \ + (PTRACE_ARG3_TYPE) ((char *) &u.u_ar0 - (char *) &u), 0, 0)) \ + - kernel_u_addr) + +static void +fetch_inferior_register (regno, regaddr) + register int regno; + register unsigned int regaddr; +{ +#ifndef HPUX_VERSION_5 + if (regno == PS_REGNUM) + { + union { int i; short s[2]; } ps_val; + int regval; + + ps_val.i = (ptrace (PT_RUAREA, inferior_pid, (PTRACE_ARG3_TYPE) regaddr, + 0, 0)); + regval = ps_val.s[0]; + supply_register (regno, (char *)®val); + } + else +#endif /* not HPUX_VERSION_5 */ + { + char buf[MAX_REGISTER_RAW_SIZE]; + register int i; + + for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int)) + { + *(int *) &buf[i] = ptrace (PT_RUAREA, inferior_pid, + (PTRACE_ARG3_TYPE) regaddr, 0, 0); + regaddr += sizeof (int); + } + supply_register (regno, buf); + } + return; +} + +static void +store_inferior_register_1 (regno, regaddr, val) + int regno; + unsigned int regaddr; + int val; +{ + errno = 0; + ptrace (PT_WUAREA, inferior_pid, (PTRACE_ARG3_TYPE) regaddr, val, 0); +#if 0 + /* HP-UX randomly sets errno to non-zero for regno == 25. + However, the value is correctly written, so ignore errno. */ + if (errno != 0) + { + char string_buf[64]; + + sprintf (string_buf, "writing register number %d", regno); + perror_with_name (string_buf); + } +#endif + return; +} + +static void +store_inferior_register (regno, regaddr) + register int regno; + register unsigned int regaddr; +{ +#ifndef HPUX_VERSION_5 + if (regno == PS_REGNUM) + { + union { int i; short s[2]; } ps_val; + + ps_val.i = (ptrace (PT_RUAREA, inferior_pid, (PTRACE_ARG3_TYPE) regaddr, + 0, 0)); + ps_val.s[0] = (read_register (regno)); + store_inferior_register_1 (regno, regaddr, ps_val.i); + } + else +#endif /* not HPUX_VERSION_5 */ + { + char buf[MAX_REGISTER_RAW_SIZE]; + register int i; + extern char registers[]; + + for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int)) + { + store_inferior_register_1 + (regno, regaddr, + (*(int *) ®isters[(REGISTER_BYTE (regno)) + i])); + regaddr += sizeof (int); + } + } + return; +} + +void +fetch_inferior_registers (regno) + int regno; +{ + struct user u; + register unsigned int ar0_offset; + + ar0_offset = (INFERIOR_AR0 (u)); + if (regno == -1) + { + for (regno = 0; (regno < FP0_REGNUM); regno++) + fetch_inferior_register (regno, (REGISTER_ADDR (ar0_offset, regno))); + for (; (regno < NUM_REGS); regno++) + fetch_inferior_register (regno, (FP_REGISTER_ADDR (u, regno))); + } + else + fetch_inferior_register (regno, + (regno < FP0_REGNUM + ? REGISTER_ADDR (ar0_offset, regno) + : FP_REGISTER_ADDR (u, regno))); +} + +/* Store our register values back into the inferior. + If REGNO is -1, do this for all registers. + Otherwise, REGNO specifies which register (so we can save time). */ + +void +store_inferior_registers (regno) + register int regno; +{ + struct user u; + register unsigned int ar0_offset; + extern char registers[]; + + if (regno >= FP0_REGNUM) + { + store_inferior_register (regno, (FP_REGISTER_ADDR (u, regno))); + return; + } + + ar0_offset = (INFERIOR_AR0 (u)); + if (regno >= 0) + { + store_inferior_register (regno, (REGISTER_ADDR (ar0_offset, regno))); + return; + } + + for (regno = 0; (regno < FP0_REGNUM); regno++) + store_inferior_register (regno, (REGISTER_ADDR (ar0_offset, regno))); + for (; (regno < NUM_REGS); regno++) + store_inferior_register (regno, (FP_REGISTER_ADDR (u, regno))); + return; +} + +int +getpagesize () +{ + return 4096; +} diff --git a/contrib/gdb/gdb/hppa-tdep.c b/contrib/gdb/gdb/hppa-tdep.c new file mode 100644 index 0000000000000..efc8081cf0a2e --- /dev/null +++ b/contrib/gdb/gdb/hppa-tdep.c @@ -0,0 +1,2823 @@ +/* Target-dependent code for the HP PA architecture, for GDB. + Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996 + Free Software Foundation, Inc. + + Contributed by the Center for Software Science at the + University of Utah (pa-gdb-bugs@cs.utah.edu). + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "frame.h" +#include "inferior.h" +#include "value.h" + +/* For argument passing to the inferior */ +#include "symtab.h" + +#ifdef USG +#include <sys/types.h> +#endif + +#include <sys/param.h> +#include <signal.h> + +#ifdef COFF_ENCAPSULATE +#include "a.out.encap.h" +#else +#endif +#ifndef N_SET_MAGIC +#define N_SET_MAGIC(exec, val) ((exec).a_magic = (val)) +#endif + +/*#include <sys/user.h> After a.out.h */ +#include <sys/file.h> +#include "gdb_stat.h" +#include "wait.h" + +#include "gdbcore.h" +#include "gdbcmd.h" +#include "target.h" +#include "symfile.h" +#include "objfiles.h" + +static int restore_pc_queue PARAMS ((struct frame_saved_regs *)); + +static int hppa_alignof PARAMS ((struct type *)); + +CORE_ADDR frame_saved_pc PARAMS ((struct frame_info *)); + +static int prologue_inst_adjust_sp PARAMS ((unsigned long)); + +static int is_branch PARAMS ((unsigned long)); + +static int inst_saves_gr PARAMS ((unsigned long)); + +static int inst_saves_fr PARAMS ((unsigned long)); + +static int pc_in_interrupt_handler PARAMS ((CORE_ADDR)); + +static int pc_in_linker_stub PARAMS ((CORE_ADDR)); + +static int compare_unwind_entries PARAMS ((const void *, const void *)); + +static void read_unwind_info PARAMS ((struct objfile *)); + +static void internalize_unwinds PARAMS ((struct objfile *, + struct unwind_table_entry *, + asection *, unsigned int, + unsigned int, CORE_ADDR)); +static void pa_print_registers PARAMS ((char *, int, int)); +static void pa_print_fp_reg PARAMS ((int)); + + +/* Routines to extract various sized constants out of hppa + instructions. */ + +/* This assumes that no garbage lies outside of the lower bits of + value. */ + +int +sign_extend (val, bits) + unsigned val, bits; +{ + return (int)(val >> bits - 1 ? (-1 << bits) | val : val); +} + +/* For many immediate values the sign bit is the low bit! */ + +int +low_sign_extend (val, bits) + unsigned val, bits; +{ + return (int)((val & 0x1 ? (-1 << (bits - 1)) : 0) | val >> 1); +} +/* extract the immediate field from a ld{bhw}s instruction */ + +unsigned +get_field (val, from, to) + unsigned val, from, to; +{ + val = val >> 31 - to; + return val & ((1 << 32 - from) - 1); +} + +unsigned +set_field (val, from, to, new_val) + unsigned *val, from, to; +{ + unsigned mask = ~((1 << (to - from + 1)) << (31 - from)); + return *val = *val & mask | (new_val << (31 - from)); +} + +/* extract a 3-bit space register number from a be, ble, mtsp or mfsp */ + +extract_3 (word) + unsigned word; +{ + return GET_FIELD (word, 18, 18) << 2 | GET_FIELD (word, 16, 17); +} + +extract_5_load (word) + unsigned word; +{ + return low_sign_extend (word >> 16 & MASK_5, 5); +} + +/* extract the immediate field from a st{bhw}s instruction */ + +int +extract_5_store (word) + unsigned word; +{ + return low_sign_extend (word & MASK_5, 5); +} + +/* extract the immediate field from a break instruction */ + +unsigned +extract_5r_store (word) + unsigned word; +{ + return (word & MASK_5); +} + +/* extract the immediate field from a {sr}sm instruction */ + +unsigned +extract_5R_store (word) + unsigned word; +{ + return (word >> 16 & MASK_5); +} + +/* extract an 11 bit immediate field */ + +int +extract_11 (word) + unsigned word; +{ + return low_sign_extend (word & MASK_11, 11); +} + +/* extract a 14 bit immediate field */ + +int +extract_14 (word) + unsigned word; +{ + return low_sign_extend (word & MASK_14, 14); +} + +/* deposit a 14 bit constant in a word */ + +unsigned +deposit_14 (opnd, word) + int opnd; + unsigned word; +{ + unsigned sign = (opnd < 0 ? 1 : 0); + + return word | ((unsigned)opnd << 1 & MASK_14) | sign; +} + +/* extract a 21 bit constant */ + +int +extract_21 (word) + unsigned word; +{ + int val; + + word &= MASK_21; + word <<= 11; + val = GET_FIELD (word, 20, 20); + val <<= 11; + val |= GET_FIELD (word, 9, 19); + val <<= 2; + val |= GET_FIELD (word, 5, 6); + val <<= 5; + val |= GET_FIELD (word, 0, 4); + val <<= 2; + val |= GET_FIELD (word, 7, 8); + return sign_extend (val, 21) << 11; +} + +/* deposit a 21 bit constant in a word. Although 21 bit constants are + usually the top 21 bits of a 32 bit constant, we assume that only + the low 21 bits of opnd are relevant */ + +unsigned +deposit_21 (opnd, word) + unsigned opnd, word; +{ + unsigned val = 0; + + val |= GET_FIELD (opnd, 11 + 14, 11 + 18); + val <<= 2; + val |= GET_FIELD (opnd, 11 + 12, 11 + 13); + val <<= 2; + val |= GET_FIELD (opnd, 11 + 19, 11 + 20); + val <<= 11; + val |= GET_FIELD (opnd, 11 + 1, 11 + 11); + val <<= 1; + val |= GET_FIELD (opnd, 11 + 0, 11 + 0); + return word | val; +} + +/* extract a 12 bit constant from branch instructions */ + +int +extract_12 (word) + unsigned word; +{ + return sign_extend (GET_FIELD (word, 19, 28) | + GET_FIELD (word, 29, 29) << 10 | + (word & 0x1) << 11, 12) << 2; +} + +/* Deposit a 17 bit constant in an instruction (like bl). */ + +unsigned int +deposit_17 (opnd, word) + unsigned opnd, word; +{ + word |= GET_FIELD (opnd, 15 + 0, 15 + 0); /* w */ + word |= GET_FIELD (opnd, 15 + 1, 15 + 5) << 16; /* w1 */ + word |= GET_FIELD (opnd, 15 + 6, 15 + 6) << 2; /* w2[10] */ + word |= GET_FIELD (opnd, 15 + 7, 15 + 16) << 3; /* w2[0..9] */ + + return word; +} + +/* extract a 17 bit constant from branch instructions, returning the + 19 bit signed value. */ + +int +extract_17 (word) + unsigned word; +{ + return sign_extend (GET_FIELD (word, 19, 28) | + GET_FIELD (word, 29, 29) << 10 | + GET_FIELD (word, 11, 15) << 11 | + (word & 0x1) << 16, 17) << 2; +} + + +/* Compare the start address for two unwind entries returning 1 if + the first address is larger than the second, -1 if the second is + larger than the first, and zero if they are equal. */ + +static int +compare_unwind_entries (arg1, arg2) + const void *arg1; + const void *arg2; +{ + const struct unwind_table_entry *a = arg1; + const struct unwind_table_entry *b = arg2; + + if (a->region_start > b->region_start) + return 1; + else if (a->region_start < b->region_start) + return -1; + else + return 0; +} + +static void +internalize_unwinds (objfile, table, section, entries, size, text_offset) + struct objfile *objfile; + struct unwind_table_entry *table; + asection *section; + unsigned int entries, size; + CORE_ADDR text_offset; +{ + /* We will read the unwind entries into temporary memory, then + fill in the actual unwind table. */ + if (size > 0) + { + unsigned long tmp; + unsigned i; + char *buf = alloca (size); + + bfd_get_section_contents (objfile->obfd, section, buf, 0, size); + + /* Now internalize the information being careful to handle host/target + endian issues. */ + for (i = 0; i < entries; i++) + { + table[i].region_start = bfd_get_32 (objfile->obfd, + (bfd_byte *)buf); + table[i].region_start += text_offset; + buf += 4; + table[i].region_end = bfd_get_32 (objfile->obfd, (bfd_byte *)buf); + table[i].region_end += text_offset; + buf += 4; + tmp = bfd_get_32 (objfile->obfd, (bfd_byte *)buf); + buf += 4; + table[i].Cannot_unwind = (tmp >> 31) & 0x1; + table[i].Millicode = (tmp >> 30) & 0x1; + table[i].Millicode_save_sr0 = (tmp >> 29) & 0x1; + table[i].Region_description = (tmp >> 27) & 0x3; + table[i].reserved1 = (tmp >> 26) & 0x1; + table[i].Entry_SR = (tmp >> 25) & 0x1; + table[i].Entry_FR = (tmp >> 21) & 0xf; + table[i].Entry_GR = (tmp >> 16) & 0x1f; + table[i].Args_stored = (tmp >> 15) & 0x1; + table[i].Variable_Frame = (tmp >> 14) & 0x1; + table[i].Separate_Package_Body = (tmp >> 13) & 0x1; + table[i].Frame_Extension_Millicode = (tmp >> 12 ) & 0x1; + table[i].Stack_Overflow_Check = (tmp >> 11) & 0x1; + table[i].Two_Instruction_SP_Increment = (tmp >> 10) & 0x1; + table[i].Ada_Region = (tmp >> 9) & 0x1; + table[i].reserved2 = (tmp >> 5) & 0xf; + table[i].Save_SP = (tmp >> 4) & 0x1; + table[i].Save_RP = (tmp >> 3) & 0x1; + table[i].Save_MRP_in_frame = (tmp >> 2) & 0x1; + table[i].extn_ptr_defined = (tmp >> 1) & 0x1; + table[i].Cleanup_defined = tmp & 0x1; + tmp = bfd_get_32 (objfile->obfd, (bfd_byte *)buf); + buf += 4; + table[i].MPE_XL_interrupt_marker = (tmp >> 31) & 0x1; + table[i].HP_UX_interrupt_marker = (tmp >> 30) & 0x1; + table[i].Large_frame = (tmp >> 29) & 0x1; + table[i].reserved4 = (tmp >> 27) & 0x3; + table[i].Total_frame_size = tmp & 0x7ffffff; + } + } +} + +/* Read in the backtrace information stored in the `$UNWIND_START$' section of + the object file. This info is used mainly by find_unwind_entry() to find + out the stack frame size and frame pointer used by procedures. We put + everything on the psymbol obstack in the objfile so that it automatically + gets freed when the objfile is destroyed. */ + +static void +read_unwind_info (objfile) + struct objfile *objfile; +{ + asection *unwind_sec, *elf_unwind_sec, *stub_unwind_sec; + unsigned unwind_size, elf_unwind_size, stub_unwind_size, total_size; + unsigned index, unwind_entries, elf_unwind_entries; + unsigned stub_entries, total_entries; + CORE_ADDR text_offset; + struct obj_unwind_info *ui; + + text_offset = ANOFFSET (objfile->section_offsets, 0); + ui = (struct obj_unwind_info *)obstack_alloc (&objfile->psymbol_obstack, + sizeof (struct obj_unwind_info)); + + ui->table = NULL; + ui->cache = NULL; + ui->last = -1; + + /* Get hooks to all unwind sections. Note there is no linker-stub unwind + section in ELF at the moment. */ + unwind_sec = bfd_get_section_by_name (objfile->obfd, "$UNWIND_START$"); + elf_unwind_sec = bfd_get_section_by_name (objfile->obfd, ".PARISC.unwind"); + stub_unwind_sec = bfd_get_section_by_name (objfile->obfd, "$UNWIND_END$"); + + /* Get sizes and unwind counts for all sections. */ + if (unwind_sec) + { + unwind_size = bfd_section_size (objfile->obfd, unwind_sec); + unwind_entries = unwind_size / UNWIND_ENTRY_SIZE; + } + else + { + unwind_size = 0; + unwind_entries = 0; + } + + if (elf_unwind_sec) + { + elf_unwind_size = bfd_section_size (objfile->obfd, elf_unwind_sec); + elf_unwind_entries = elf_unwind_size / UNWIND_ENTRY_SIZE; + } + else + { + elf_unwind_size = 0; + elf_unwind_entries = 0; + } + + if (stub_unwind_sec) + { + stub_unwind_size = bfd_section_size (objfile->obfd, stub_unwind_sec); + stub_entries = stub_unwind_size / STUB_UNWIND_ENTRY_SIZE; + } + else + { + stub_unwind_size = 0; + stub_entries = 0; + } + + /* Compute total number of unwind entries and their total size. */ + total_entries = unwind_entries + elf_unwind_entries + stub_entries; + total_size = total_entries * sizeof (struct unwind_table_entry); + + /* Allocate memory for the unwind table. */ + ui->table = obstack_alloc (&objfile->psymbol_obstack, total_size); + ui->last = total_entries - 1; + + /* Internalize the standard unwind entries. */ + index = 0; + internalize_unwinds (objfile, &ui->table[index], unwind_sec, + unwind_entries, unwind_size, text_offset); + index += unwind_entries; + internalize_unwinds (objfile, &ui->table[index], elf_unwind_sec, + elf_unwind_entries, elf_unwind_size, text_offset); + index += elf_unwind_entries; + + /* Now internalize the stub unwind entries. */ + if (stub_unwind_size > 0) + { + unsigned int i; + char *buf = alloca (stub_unwind_size); + + /* Read in the stub unwind entries. */ + bfd_get_section_contents (objfile->obfd, stub_unwind_sec, buf, + 0, stub_unwind_size); + + /* Now convert them into regular unwind entries. */ + for (i = 0; i < stub_entries; i++, index++) + { + /* Clear out the next unwind entry. */ + memset (&ui->table[index], 0, sizeof (struct unwind_table_entry)); + + /* Convert offset & size into region_start and region_end. + Stuff away the stub type into "reserved" fields. */ + ui->table[index].region_start = bfd_get_32 (objfile->obfd, + (bfd_byte *) buf); + ui->table[index].region_start += text_offset; + buf += 4; + ui->table[index].stub_type = bfd_get_8 (objfile->obfd, + (bfd_byte *) buf); + buf += 2; + ui->table[index].region_end + = ui->table[index].region_start + 4 * + (bfd_get_16 (objfile->obfd, (bfd_byte *) buf) - 1); + buf += 2; + } + + } + + /* Unwind table needs to be kept sorted. */ + qsort (ui->table, total_entries, sizeof (struct unwind_table_entry), + compare_unwind_entries); + + /* Keep a pointer to the unwind information. */ + objfile->obj_private = (PTR) ui; +} + +/* Lookup the unwind (stack backtrace) info for the given PC. We search all + of the objfiles seeking the unwind table entry for this PC. Each objfile + contains a sorted list of struct unwind_table_entry. Since we do a binary + search of the unwind tables, we depend upon them to be sorted. */ + +struct unwind_table_entry * +find_unwind_entry(pc) + CORE_ADDR pc; +{ + int first, middle, last; + struct objfile *objfile; + + ALL_OBJFILES (objfile) + { + struct obj_unwind_info *ui; + + ui = OBJ_UNWIND_INFO (objfile); + + if (!ui) + { + read_unwind_info (objfile); + ui = OBJ_UNWIND_INFO (objfile); + } + + /* First, check the cache */ + + if (ui->cache + && pc >= ui->cache->region_start + && pc <= ui->cache->region_end) + return ui->cache; + + /* Not in the cache, do a binary search */ + + first = 0; + last = ui->last; + + while (first <= last) + { + middle = (first + last) / 2; + if (pc >= ui->table[middle].region_start + && pc <= ui->table[middle].region_end) + { + ui->cache = &ui->table[middle]; + return &ui->table[middle]; + } + + if (pc < ui->table[middle].region_start) + last = middle - 1; + else + first = middle + 1; + } + } /* ALL_OBJFILES() */ + return NULL; +} + +/* Return the adjustment necessary to make for addresses on the stack + as presented by hpread.c. + + This is necessary because of the stack direction on the PA and the + bizarre way in which someone (?) decided they wanted to handle + frame pointerless code in GDB. */ +int +hpread_adjust_stack_address (func_addr) + CORE_ADDR func_addr; +{ + struct unwind_table_entry *u; + + u = find_unwind_entry (func_addr); + if (!u) + return 0; + else + return u->Total_frame_size << 3; +} + +/* Called to determine if PC is in an interrupt handler of some + kind. */ + +static int +pc_in_interrupt_handler (pc) + CORE_ADDR pc; +{ + struct unwind_table_entry *u; + struct minimal_symbol *msym_us; + + u = find_unwind_entry (pc); + if (!u) + return 0; + + /* Oh joys. HPUX sets the interrupt bit for _sigreturn even though + its frame isn't a pure interrupt frame. Deal with this. */ + msym_us = lookup_minimal_symbol_by_pc (pc); + + return u->HP_UX_interrupt_marker && !IN_SIGTRAMP (pc, SYMBOL_NAME (msym_us)); +} + +/* Called when no unwind descriptor was found for PC. Returns 1 if it + appears that PC is in a linker stub. */ + +static int +pc_in_linker_stub (pc) + CORE_ADDR pc; +{ + int found_magic_instruction = 0; + int i; + char buf[4]; + + /* If unable to read memory, assume pc is not in a linker stub. */ + if (target_read_memory (pc, buf, 4) != 0) + return 0; + + /* We are looking for something like + + ; $$dyncall jams RP into this special spot in the frame (RP') + ; before calling the "call stub" + ldw -18(sp),rp + + ldsid (rp),r1 ; Get space associated with RP into r1 + mtsp r1,sp ; Move it into space register 0 + be,n 0(sr0),rp) ; back to your regularly scheduled program + */ + + /* Maximum known linker stub size is 4 instructions. Search forward + from the given PC, then backward. */ + for (i = 0; i < 4; i++) + { + /* If we hit something with an unwind, stop searching this direction. */ + + if (find_unwind_entry (pc + i * 4) != 0) + break; + + /* Check for ldsid (rp),r1 which is the magic instruction for a + return from a cross-space function call. */ + if (read_memory_integer (pc + i * 4, 4) == 0x004010a1) + { + found_magic_instruction = 1; + break; + } + /* Add code to handle long call/branch and argument relocation stubs + here. */ + } + + if (found_magic_instruction != 0) + return 1; + + /* Now look backward. */ + for (i = 0; i < 4; i++) + { + /* If we hit something with an unwind, stop searching this direction. */ + + if (find_unwind_entry (pc - i * 4) != 0) + break; + + /* Check for ldsid (rp),r1 which is the magic instruction for a + return from a cross-space function call. */ + if (read_memory_integer (pc - i * 4, 4) == 0x004010a1) + { + found_magic_instruction = 1; + break; + } + /* Add code to handle long call/branch and argument relocation stubs + here. */ + } + return found_magic_instruction; +} + +static int +find_return_regnum(pc) + CORE_ADDR pc; +{ + struct unwind_table_entry *u; + + u = find_unwind_entry (pc); + + if (!u) + return RP_REGNUM; + + if (u->Millicode) + return 31; + + return RP_REGNUM; +} + +/* Return size of frame, or -1 if we should use a frame pointer. */ +int +find_proc_framesize (pc) + CORE_ADDR pc; +{ + struct unwind_table_entry *u; + struct minimal_symbol *msym_us; + + u = find_unwind_entry (pc); + + if (!u) + { + if (pc_in_linker_stub (pc)) + /* Linker stubs have a zero size frame. */ + return 0; + else + return -1; + } + + msym_us = lookup_minimal_symbol_by_pc (pc); + + /* If Save_SP is set, and we're not in an interrupt or signal caller, + then we have a frame pointer. Use it. */ + if (u->Save_SP && !pc_in_interrupt_handler (pc) + && !IN_SIGTRAMP (pc, SYMBOL_NAME (msym_us))) + return -1; + + return u->Total_frame_size << 3; +} + +/* Return offset from sp at which rp is saved, or 0 if not saved. */ +static int rp_saved PARAMS ((CORE_ADDR)); + +static int +rp_saved (pc) + CORE_ADDR pc; +{ + struct unwind_table_entry *u; + + u = find_unwind_entry (pc); + + if (!u) + { + if (pc_in_linker_stub (pc)) + /* This is the so-called RP'. */ + return -24; + else + return 0; + } + + if (u->Save_RP) + return -20; + else if (u->stub_type != 0) + { + switch (u->stub_type) + { + case EXPORT: + case IMPORT: + return -24; + case PARAMETER_RELOCATION: + return -8; + default: + return 0; + } + } + else + return 0; +} + +int +frameless_function_invocation (frame) + struct frame_info *frame; +{ + struct unwind_table_entry *u; + + u = find_unwind_entry (frame->pc); + + if (u == 0) + return 0; + + return (u->Total_frame_size == 0 && u->stub_type == 0); +} + +CORE_ADDR +saved_pc_after_call (frame) + struct frame_info *frame; +{ + int ret_regnum; + CORE_ADDR pc; + struct unwind_table_entry *u; + + ret_regnum = find_return_regnum (get_frame_pc (frame)); + pc = read_register (ret_regnum) & ~0x3; + + /* If PC is in a linker stub, then we need to dig the address + the stub will return to out of the stack. */ + u = find_unwind_entry (pc); + if (u && u->stub_type != 0) + return frame_saved_pc (frame); + else + return pc; +} + +CORE_ADDR +frame_saved_pc (frame) + struct frame_info *frame; +{ + CORE_ADDR pc = get_frame_pc (frame); + struct unwind_table_entry *u; + + /* BSD, HPUX & OSF1 all lay out the hardware state in the same manner + at the base of the frame in an interrupt handler. Registers within + are saved in the exact same order as GDB numbers registers. How + convienent. */ + if (pc_in_interrupt_handler (pc)) + return read_memory_integer (frame->frame + PC_REGNUM * 4, 4) & ~0x3; + +#ifdef FRAME_SAVED_PC_IN_SIGTRAMP + /* Deal with signal handler caller frames too. */ + if (frame->signal_handler_caller) + { + CORE_ADDR rp; + FRAME_SAVED_PC_IN_SIGTRAMP (frame, &rp); + return rp & ~0x3; + } +#endif + + if (frameless_function_invocation (frame)) + { + int ret_regnum; + + ret_regnum = find_return_regnum (pc); + + /* If the next frame is an interrupt frame or a signal + handler caller, then we need to look in the saved + register area to get the return pointer (the values + in the registers may not correspond to anything useful). */ + if (frame->next + && (frame->next->signal_handler_caller + || pc_in_interrupt_handler (frame->next->pc))) + { + struct frame_saved_regs saved_regs; + + get_frame_saved_regs (frame->next, &saved_regs); + if (read_memory_integer (saved_regs.regs[FLAGS_REGNUM], 4) & 0x2) + { + pc = read_memory_integer (saved_regs.regs[31], 4) & ~0x3; + + /* Syscalls are really two frames. The syscall stub itself + with a return pointer in %rp and the kernel call with + a return pointer in %r31. We return the %rp variant + if %r31 is the same as frame->pc. */ + if (pc == frame->pc) + pc = read_memory_integer (saved_regs.regs[RP_REGNUM], 4) & ~0x3; + } + else + pc = read_memory_integer (saved_regs.regs[RP_REGNUM], 4) & ~0x3; + } + else + pc = read_register (ret_regnum) & ~0x3; + } + else + { + int rp_offset; + +restart: + rp_offset = rp_saved (pc); + /* Similar to code in frameless function case. If the next + frame is a signal or interrupt handler, then dig the right + information out of the saved register info. */ + if (rp_offset == 0 + && frame->next + && (frame->next->signal_handler_caller + || pc_in_interrupt_handler (frame->next->pc))) + { + struct frame_saved_regs saved_regs; + + get_frame_saved_regs (frame->next, &saved_regs); + if (read_memory_integer (saved_regs.regs[FLAGS_REGNUM], 4) & 0x2) + { + pc = read_memory_integer (saved_regs.regs[31], 4) & ~0x3; + + /* Syscalls are really two frames. The syscall stub itself + with a return pointer in %rp and the kernel call with + a return pointer in %r31. We return the %rp variant + if %r31 is the same as frame->pc. */ + if (pc == frame->pc) + pc = read_memory_integer (saved_regs.regs[RP_REGNUM], 4) & ~0x3; + } + else + pc = read_memory_integer (saved_regs.regs[RP_REGNUM], 4) & ~0x3; + } + else if (rp_offset == 0) + pc = read_register (RP_REGNUM) & ~0x3; + else + pc = read_memory_integer (frame->frame + rp_offset, 4) & ~0x3; + } + + /* If PC is inside a linker stub, then dig out the address the stub + will return to. + + Don't do this for long branch stubs. Why? For some unknown reason + _start is marked as a long branch stub in hpux10. */ + u = find_unwind_entry (pc); + if (u && u->stub_type != 0 + && u->stub_type != LONG_BRANCH) + { + unsigned int insn; + + /* If this is a dynamic executable, and we're in a signal handler, + then the call chain will eventually point us into the stub for + _sigreturn. Unlike most cases, we'll be pointed to the branch + to the real sigreturn rather than the code after the real branch!. + + Else, try to dig the address the stub will return to in the normal + fashion. */ + insn = read_memory_integer (pc, 4); + if ((insn & 0xfc00e000) == 0xe8000000) + return (pc + extract_17 (insn) + 8) & ~0x3; + else + goto restart; + } + + return pc; +} + +/* We need to correct the PC and the FP for the outermost frame when we are + in a system call. */ + +void +init_extra_frame_info (fromleaf, frame) + int fromleaf; + struct frame_info *frame; +{ + int flags; + int framesize; + + if (frame->next && !fromleaf) + return; + + /* If the next frame represents a frameless function invocation + then we have to do some adjustments that are normally done by + FRAME_CHAIN. (FRAME_CHAIN is not called in this case.) */ + if (fromleaf) + { + /* Find the framesize of *this* frame without peeking at the PC + in the current frame structure (it isn't set yet). */ + framesize = find_proc_framesize (FRAME_SAVED_PC (get_next_frame (frame))); + + /* Now adjust our base frame accordingly. If we have a frame pointer + use it, else subtract the size of this frame from the current + frame. (we always want frame->frame to point at the lowest address + in the frame). */ + if (framesize == -1) + frame->frame = read_register (FP_REGNUM); + else + frame->frame -= framesize; + return; + } + + flags = read_register (FLAGS_REGNUM); + if (flags & 2) /* In system call? */ + frame->pc = read_register (31) & ~0x3; + + /* The outermost frame is always derived from PC-framesize + + One might think frameless innermost frames should have + a frame->frame that is the same as the parent's frame->frame. + That is wrong; frame->frame in that case should be the *high* + address of the parent's frame. It's complicated as hell to + explain, but the parent *always* creates some stack space for + the child. So the child actually does have a frame of some + sorts, and its base is the high address in its parent's frame. */ + framesize = find_proc_framesize(frame->pc); + if (framesize == -1) + frame->frame = read_register (FP_REGNUM); + else + frame->frame = read_register (SP_REGNUM) - framesize; +} + +/* Given a GDB frame, determine the address of the calling function's frame. + This will be used to create a new GDB frame struct, and then + INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. + + This may involve searching through prologues for several functions + at boundaries where GCC calls HP C code, or where code which has + a frame pointer calls code without a frame pointer. */ + +CORE_ADDR +frame_chain (frame) + struct frame_info *frame; +{ + int my_framesize, caller_framesize; + struct unwind_table_entry *u; + CORE_ADDR frame_base; + struct frame_info *tmp_frame; + + /* Handle HPUX, BSD, and OSF1 style interrupt frames first. These + are easy; at *sp we have a full save state strucutre which we can + pull the old stack pointer from. Also see frame_saved_pc for + code to dig a saved PC out of the save state structure. */ + if (pc_in_interrupt_handler (frame->pc)) + frame_base = read_memory_integer (frame->frame + SP_REGNUM * 4, 4); +#ifdef FRAME_BASE_BEFORE_SIGTRAMP + else if (frame->signal_handler_caller) + { + FRAME_BASE_BEFORE_SIGTRAMP (frame, &frame_base); + } +#endif + else + frame_base = frame->frame; + + /* Get frame sizes for the current frame and the frame of the + caller. */ + my_framesize = find_proc_framesize (frame->pc); + caller_framesize = find_proc_framesize (FRAME_SAVED_PC(frame)); + + /* If caller does not have a frame pointer, then its frame + can be found at current_frame - caller_framesize. */ + if (caller_framesize != -1) + return frame_base - caller_framesize; + + /* Both caller and callee have frame pointers and are GCC compiled + (SAVE_SP bit in unwind descriptor is on for both functions. + The previous frame pointer is found at the top of the current frame. */ + if (caller_framesize == -1 && my_framesize == -1) + return read_memory_integer (frame_base, 4); + + /* Caller has a frame pointer, but callee does not. This is a little + more difficult as GCC and HP C lay out locals and callee register save + areas very differently. + + The previous frame pointer could be in a register, or in one of + several areas on the stack. + + Walk from the current frame to the innermost frame examining + unwind descriptors to determine if %r3 ever gets saved into the + stack. If so return whatever value got saved into the stack. + If it was never saved in the stack, then the value in %r3 is still + valid, so use it. + + We use information from unwind descriptors to determine if %r3 + is saved into the stack (Entry_GR field has this information). */ + + tmp_frame = frame; + while (tmp_frame) + { + u = find_unwind_entry (tmp_frame->pc); + + if (!u) + { + /* We could find this information by examining prologues. I don't + think anyone has actually written any tools (not even "strip") + which leave them out of an executable, so maybe this is a moot + point. */ + warning ("Unable to find unwind for PC 0x%x -- Help!", tmp_frame->pc); + return 0; + } + + /* Entry_GR specifies the number of callee-saved general registers + saved in the stack. It starts at %r3, so %r3 would be 1. */ + if (u->Entry_GR >= 1 || u->Save_SP + || tmp_frame->signal_handler_caller + || pc_in_interrupt_handler (tmp_frame->pc)) + break; + else + tmp_frame = tmp_frame->next; + } + + if (tmp_frame) + { + /* We may have walked down the chain into a function with a frame + pointer. */ + if (u->Save_SP + && !tmp_frame->signal_handler_caller + && !pc_in_interrupt_handler (tmp_frame->pc)) + return read_memory_integer (tmp_frame->frame, 4); + /* %r3 was saved somewhere in the stack. Dig it out. */ + else + { + struct frame_saved_regs saved_regs; + + /* Sick. + + For optimization purposes many kernels don't have the + callee saved registers into the save_state structure upon + entry into the kernel for a syscall; the optimization + is usually turned off if the process is being traced so + that the debugger can get full register state for the + process. + + This scheme works well except for two cases: + + * Attaching to a process when the process is in the + kernel performing a system call (debugger can't get + full register state for the inferior process since + the process wasn't being traced when it entered the + system call). + + * Register state is not complete if the system call + causes the process to core dump. + + + The following heinous code is an attempt to deal with + the lack of register state in a core dump. It will + fail miserably if the function which performs the + system call has a variable sized stack frame. */ + + get_frame_saved_regs (tmp_frame, &saved_regs); + + /* Abominable hack. */ + if (current_target.to_has_execution == 0 + && ((saved_regs.regs[FLAGS_REGNUM] + && (read_memory_integer (saved_regs.regs[FLAGS_REGNUM], 4) + & 0x2)) + || (saved_regs.regs[FLAGS_REGNUM] == 0 + && read_register (FLAGS_REGNUM) & 0x2))) + { + u = find_unwind_entry (FRAME_SAVED_PC (frame)); + if (!u) + return read_memory_integer (saved_regs.regs[FP_REGNUM], 4); + else + return frame_base - (u->Total_frame_size << 3); + } + + return read_memory_integer (saved_regs.regs[FP_REGNUM], 4); + } + } + else + { + struct frame_saved_regs saved_regs; + + /* Get the innermost frame. */ + tmp_frame = frame; + while (tmp_frame->next != NULL) + tmp_frame = tmp_frame->next; + + get_frame_saved_regs (tmp_frame, &saved_regs); + /* Abominable hack. See above. */ + if (current_target.to_has_execution == 0 + && ((saved_regs.regs[FLAGS_REGNUM] + && (read_memory_integer (saved_regs.regs[FLAGS_REGNUM], 4) + & 0x2)) + || (saved_regs.regs[FLAGS_REGNUM] == 0 + && read_register (FLAGS_REGNUM) & 0x2))) + { + u = find_unwind_entry (FRAME_SAVED_PC (frame)); + if (!u) + return read_memory_integer (saved_regs.regs[FP_REGNUM], 4); + else + return frame_base - (u->Total_frame_size << 3); + } + + /* The value in %r3 was never saved into the stack (thus %r3 still + holds the value of the previous frame pointer). */ + return read_register (FP_REGNUM); + } +} + + +/* To see if a frame chain is valid, see if the caller looks like it + was compiled with gcc. */ + +int +frame_chain_valid (chain, thisframe) + CORE_ADDR chain; + struct frame_info *thisframe; +{ + struct minimal_symbol *msym_us; + struct minimal_symbol *msym_start; + struct unwind_table_entry *u, *next_u = NULL; + struct frame_info *next; + + if (!chain) + return 0; + + u = find_unwind_entry (thisframe->pc); + + if (u == NULL) + return 1; + + /* We can't just check that the same of msym_us is "_start", because + someone idiotically decided that they were going to make a Ltext_end + symbol with the same address. This Ltext_end symbol is totally + indistinguishable (as nearly as I can tell) from the symbol for a function + which is (legitimately, since it is in the user's namespace) + named Ltext_end, so we can't just ignore it. */ + msym_us = lookup_minimal_symbol_by_pc (FRAME_SAVED_PC (thisframe)); + msym_start = lookup_minimal_symbol ("_start", NULL, NULL); + if (msym_us + && msym_start + && SYMBOL_VALUE_ADDRESS (msym_us) == SYMBOL_VALUE_ADDRESS (msym_start)) + return 0; + + /* Grrrr. Some new idiot decided that they don't want _start for the + PRO configurations; $START$ calls main directly.... Deal with it. */ + msym_start = lookup_minimal_symbol ("$START$", NULL, NULL); + if (msym_us + && msym_start + && SYMBOL_VALUE_ADDRESS (msym_us) == SYMBOL_VALUE_ADDRESS (msym_start)) + return 0; + + next = get_next_frame (thisframe); + if (next) + next_u = find_unwind_entry (next->pc); + + /* If this frame does not save SP, has no stack, isn't a stub, + and doesn't "call" an interrupt routine or signal handler caller, + then its not valid. */ + if (u->Save_SP || u->Total_frame_size || u->stub_type != 0 + || (thisframe->next && thisframe->next->signal_handler_caller) + || (next_u && next_u->HP_UX_interrupt_marker)) + return 1; + + if (pc_in_linker_stub (thisframe->pc)) + return 1; + + return 0; +} + +/* + * These functions deal with saving and restoring register state + * around a function call in the inferior. They keep the stack + * double-word aligned; eventually, on an hp700, the stack will have + * to be aligned to a 64-byte boundary. + */ + +void +push_dummy_frame (inf_status) + struct inferior_status *inf_status; +{ + CORE_ADDR sp, pc, pcspace; + register int regnum; + int int_buffer; + double freg_buffer; + + /* Oh, what a hack. If we're trying to perform an inferior call + while the inferior is asleep, we have to make sure to clear + the "in system call" bit in the flag register (the call will + start after the syscall returns, so we're no longer in the system + call!) This state is kept in "inf_status", change it there. + + We also need a number of horrid hacks to deal with lossage in the + PC queue registers (apparently they're not valid when the in syscall + bit is set). */ + pc = target_read_pc (inferior_pid); + int_buffer = read_register (FLAGS_REGNUM); + if (int_buffer & 0x2) + { + unsigned int sid; + int_buffer &= ~0x2; + memcpy (inf_status->registers, &int_buffer, 4); + memcpy (inf_status->registers + REGISTER_BYTE (PCOQ_HEAD_REGNUM), &pc, 4); + pc += 4; + memcpy (inf_status->registers + REGISTER_BYTE (PCOQ_TAIL_REGNUM), &pc, 4); + pc -= 4; + sid = (pc >> 30) & 0x3; + if (sid == 0) + pcspace = read_register (SR4_REGNUM); + else + pcspace = read_register (SR4_REGNUM + 4 + sid); + memcpy (inf_status->registers + REGISTER_BYTE (PCSQ_HEAD_REGNUM), + &pcspace, 4); + memcpy (inf_status->registers + REGISTER_BYTE (PCSQ_TAIL_REGNUM), + &pcspace, 4); + } + else + pcspace = read_register (PCSQ_HEAD_REGNUM); + + /* Space for "arguments"; the RP goes in here. */ + sp = read_register (SP_REGNUM) + 48; + int_buffer = read_register (RP_REGNUM) | 0x3; + write_memory (sp - 20, (char *)&int_buffer, 4); + + int_buffer = read_register (FP_REGNUM); + write_memory (sp, (char *)&int_buffer, 4); + + write_register (FP_REGNUM, sp); + + sp += 8; + + for (regnum = 1; regnum < 32; regnum++) + if (regnum != RP_REGNUM && regnum != FP_REGNUM) + sp = push_word (sp, read_register (regnum)); + + sp += 4; + + for (regnum = FP0_REGNUM; regnum < NUM_REGS; regnum++) + { + read_register_bytes (REGISTER_BYTE (regnum), (char *)&freg_buffer, 8); + sp = push_bytes (sp, (char *)&freg_buffer, 8); + } + sp = push_word (sp, read_register (IPSW_REGNUM)); + sp = push_word (sp, read_register (SAR_REGNUM)); + sp = push_word (sp, pc); + sp = push_word (sp, pcspace); + sp = push_word (sp, pc + 4); + sp = push_word (sp, pcspace); + write_register (SP_REGNUM, sp); +} + +void +find_dummy_frame_regs (frame, frame_saved_regs) + struct frame_info *frame; + struct frame_saved_regs *frame_saved_regs; +{ + CORE_ADDR fp = frame->frame; + int i; + + frame_saved_regs->regs[RP_REGNUM] = fp - 20 & ~0x3; + frame_saved_regs->regs[FP_REGNUM] = fp; + frame_saved_regs->regs[1] = fp + 8; + + for (fp += 12, i = 3; i < 32; i++) + { + if (i != FP_REGNUM) + { + frame_saved_regs->regs[i] = fp; + fp += 4; + } + } + + fp += 4; + for (i = FP0_REGNUM; i < NUM_REGS; i++, fp += 8) + frame_saved_regs->regs[i] = fp; + + frame_saved_regs->regs[IPSW_REGNUM] = fp; + frame_saved_regs->regs[SAR_REGNUM] = fp + 4; + frame_saved_regs->regs[PCOQ_HEAD_REGNUM] = fp + 8; + frame_saved_regs->regs[PCSQ_HEAD_REGNUM] = fp + 12; + frame_saved_regs->regs[PCOQ_TAIL_REGNUM] = fp + 16; + frame_saved_regs->regs[PCSQ_TAIL_REGNUM] = fp + 20; +} + +void +hppa_pop_frame () +{ + register struct frame_info *frame = get_current_frame (); + register CORE_ADDR fp, npc, target_pc; + register int regnum; + struct frame_saved_regs fsr; + double freg_buffer; + + fp = FRAME_FP (frame); + get_frame_saved_regs (frame, &fsr); + +#ifndef NO_PC_SPACE_QUEUE_RESTORE + if (fsr.regs[IPSW_REGNUM]) /* Restoring a call dummy frame */ + restore_pc_queue (&fsr); +#endif + + for (regnum = 31; regnum > 0; regnum--) + if (fsr.regs[regnum]) + write_register (regnum, read_memory_integer (fsr.regs[regnum], 4)); + + for (regnum = NUM_REGS - 1; regnum >= FP0_REGNUM ; regnum--) + if (fsr.regs[regnum]) + { + read_memory (fsr.regs[regnum], (char *)&freg_buffer, 8); + write_register_bytes (REGISTER_BYTE (regnum), (char *)&freg_buffer, 8); + } + + if (fsr.regs[IPSW_REGNUM]) + write_register (IPSW_REGNUM, + read_memory_integer (fsr.regs[IPSW_REGNUM], 4)); + + if (fsr.regs[SAR_REGNUM]) + write_register (SAR_REGNUM, + read_memory_integer (fsr.regs[SAR_REGNUM], 4)); + + /* If the PC was explicitly saved, then just restore it. */ + if (fsr.regs[PCOQ_TAIL_REGNUM]) + { + npc = read_memory_integer (fsr.regs[PCOQ_TAIL_REGNUM], 4); + write_register (PCOQ_TAIL_REGNUM, npc); + } + /* Else use the value in %rp to set the new PC. */ + else + { + npc = read_register (RP_REGNUM); + target_write_pc (npc, 0); + } + + write_register (FP_REGNUM, read_memory_integer (fp, 4)); + + if (fsr.regs[IPSW_REGNUM]) /* call dummy */ + write_register (SP_REGNUM, fp - 48); + else + write_register (SP_REGNUM, fp); + + /* The PC we just restored may be inside a return trampoline. If so + we want to restart the inferior and run it through the trampoline. + + Do this by setting a momentary breakpoint at the location the + trampoline returns to. + + Don't skip through the trampoline if we're popping a dummy frame. */ + target_pc = SKIP_TRAMPOLINE_CODE (npc & ~0x3) & ~0x3; + if (target_pc && !fsr.regs[IPSW_REGNUM]) + { + struct symtab_and_line sal; + struct breakpoint *breakpoint; + struct cleanup *old_chain; + + /* Set up our breakpoint. Set it to be silent as the MI code + for "return_command" will print the frame we returned to. */ + sal = find_pc_line (target_pc, 0); + sal.pc = target_pc; + breakpoint = set_momentary_breakpoint (sal, NULL, bp_finish); + breakpoint->silent = 1; + + /* So we can clean things up. */ + old_chain = make_cleanup (delete_breakpoint, breakpoint); + + /* Start up the inferior. */ + clear_proceed_status (); + proceed_to_finish = 1; + proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 0); + + /* Perform our cleanups. */ + do_cleanups (old_chain); + } + flush_cached_frames (); +} + +/* + * After returning to a dummy on the stack, restore the instruction + * queue space registers. */ + +static int +restore_pc_queue (fsr) + struct frame_saved_regs *fsr; +{ + CORE_ADDR pc = read_pc (); + CORE_ADDR new_pc = read_memory_integer (fsr->regs[PCOQ_HEAD_REGNUM], 4); + struct target_waitstatus w; + int insn_count; + + /* Advance past break instruction in the call dummy. */ + write_register (PCOQ_HEAD_REGNUM, pc + 4); + write_register (PCOQ_TAIL_REGNUM, pc + 8); + + /* + * HPUX doesn't let us set the space registers or the space + * registers of the PC queue through ptrace. Boo, hiss. + * Conveniently, the call dummy has this sequence of instructions + * after the break: + * mtsp r21, sr0 + * ble,n 0(sr0, r22) + * + * So, load up the registers and single step until we are in the + * right place. + */ + + write_register (21, read_memory_integer (fsr->regs[PCSQ_HEAD_REGNUM], 4)); + write_register (22, new_pc); + + for (insn_count = 0; insn_count < 3; insn_count++) + { + /* FIXME: What if the inferior gets a signal right now? Want to + merge this into wait_for_inferior (as a special kind of + watchpoint? By setting a breakpoint at the end? Is there + any other choice? Is there *any* way to do this stuff with + ptrace() or some equivalent?). */ + resume (1, 0); + target_wait (inferior_pid, &w); + + if (w.kind == TARGET_WAITKIND_SIGNALLED) + { + stop_signal = w.value.sig; + terminal_ours_for_output (); + printf_unfiltered ("\nProgram terminated with signal %s, %s.\n", + target_signal_to_name (stop_signal), + target_signal_to_string (stop_signal)); + gdb_flush (gdb_stdout); + return 0; + } + } + target_terminal_ours (); + target_fetch_registers (-1); + return 1; +} + +CORE_ADDR +hppa_push_arguments (nargs, args, sp, struct_return, struct_addr) + int nargs; + value_ptr *args; + CORE_ADDR sp; + int struct_return; + CORE_ADDR struct_addr; +{ + /* array of arguments' offsets */ + int *offset = (int *)alloca(nargs * sizeof (int)); + int cum = 0; + int i, alignment; + + for (i = 0; i < nargs; i++) + { + cum += TYPE_LENGTH (VALUE_TYPE (args[i])); + + /* value must go at proper alignment. Assume alignment is a + power of two.*/ + alignment = hppa_alignof (VALUE_TYPE (args[i])); + if (cum % alignment) + cum = (cum + alignment) & -alignment; + offset[i] = -cum; + } + sp += max ((cum + 7) & -8, 16); + + for (i = 0; i < nargs; i++) + write_memory (sp + offset[i], VALUE_CONTENTS (args[i]), + TYPE_LENGTH (VALUE_TYPE (args[i]))); + + if (struct_return) + write_register (28, struct_addr); + return sp + 32; +} + +/* + * Insert the specified number of args and function address + * into a call sequence of the above form stored at DUMMYNAME. + * + * On the hppa we need to call the stack dummy through $$dyncall. + * Therefore our version of FIX_CALL_DUMMY takes an extra argument, + * real_pc, which is the location where gdb should start up the + * inferior to do the function call. + */ + +CORE_ADDR +hppa_fix_call_dummy (dummy, pc, fun, nargs, args, type, gcc_p) + char *dummy; + CORE_ADDR pc; + CORE_ADDR fun; + int nargs; + value_ptr *args; + struct type *type; + int gcc_p; +{ + CORE_ADDR dyncall_addr; + struct minimal_symbol *msymbol; + struct minimal_symbol *trampoline; + int flags = read_register (FLAGS_REGNUM); + struct unwind_table_entry *u; + + trampoline = NULL; + msymbol = lookup_minimal_symbol ("$$dyncall", NULL, NULL); + if (msymbol == NULL) + error ("Can't find an address for $$dyncall trampoline"); + + dyncall_addr = SYMBOL_VALUE_ADDRESS (msymbol); + + /* FUN could be a procedure label, in which case we have to get + its real address and the value of its GOT/DP. */ + if (fun & 0x2) + { + /* Get the GOT/DP value for the target function. It's + at *(fun+4). Note the call dummy is *NOT* allowed to + trash %r19 before calling the target function. */ + write_register (19, read_memory_integer ((fun & ~0x3) + 4, 4)); + + /* Now get the real address for the function we are calling, it's + at *fun. */ + fun = (CORE_ADDR) read_memory_integer (fun & ~0x3, 4); + } + else + { + +#ifndef GDB_TARGET_IS_PA_ELF + /* FUN could be either an export stub, or the real address of a + function in a shared library. We must call an import stub + rather than the export stub or real function for lazy binding + to work correctly. */ + if (som_solib_get_got_by_pc (fun)) + { + struct objfile *objfile; + struct minimal_symbol *funsymbol, *stub_symbol; + CORE_ADDR newfun = 0; + + funsymbol = lookup_minimal_symbol_by_pc (fun); + if (!funsymbol) + error ("Unable to find minimal symbol for target fucntion.\n"); + + /* Search all the object files for an import symbol with the + right name. */ + ALL_OBJFILES (objfile) + { + stub_symbol = lookup_minimal_symbol (SYMBOL_NAME (funsymbol), + NULL, objfile); + /* Found a symbol with the right name. */ + if (stub_symbol) + { + struct unwind_table_entry *u; + /* It must be a shared library trampoline. */ + if (SYMBOL_TYPE (stub_symbol) != mst_solib_trampoline) + continue; + + /* It must also be an import stub. */ + u = find_unwind_entry (SYMBOL_VALUE (stub_symbol)); + if (!u || u->stub_type != IMPORT) + continue; + + /* OK. Looks like the correct import stub. */ + newfun = SYMBOL_VALUE (stub_symbol); + fun = newfun; + } + } + if (newfun == 0) + write_register (19, som_solib_get_got_by_pc (fun)); + } +#endif + } + + /* If we are calling an import stub (eg calling into a dynamic library) + then have sr4export call the magic __d_plt_call routine which is linked + in from end.o. (You can't use _sr4export to call the import stub as + the value in sp-24 will get fried and you end up returning to the + wrong location. You can't call the import stub directly as the code + to bind the PLT entry to a function can't return to a stack address.) */ + u = find_unwind_entry (fun); + if (u && u->stub_type == IMPORT) + { + CORE_ADDR new_fun; + + /* Prefer __gcc_plt_call over the HP supplied routine because + __gcc_plt_call works for any number of arguments. */ + trampoline = lookup_minimal_symbol ("__gcc_plt_call", NULL, NULL); + if (trampoline == NULL) + trampoline = lookup_minimal_symbol ("__d_plt_call", NULL, NULL); + + if (trampoline == NULL) + error ("Can't find an address for __d_plt_call or __gcc_plt_call trampoline"); + + /* This is where sr4export will jump to. */ + new_fun = SYMBOL_VALUE_ADDRESS (trampoline); + + if (strcmp (SYMBOL_NAME (trampoline), "__d_plt_call") == 0) + { + /* We have to store the address of the stub in __shlib_funcptr. */ + msymbol = lookup_minimal_symbol ("__shlib_funcptr", NULL, + (struct objfile *)NULL); + if (msymbol == NULL) + error ("Can't find an address for __shlib_funcptr"); + + target_write_memory (SYMBOL_VALUE_ADDRESS (msymbol), (char *)&fun, 4); + + /* We want sr4export to call __d_plt_call, so we claim it is + the final target. Clear trampoline. */ + fun = new_fun; + trampoline = NULL; + } + } + + /* Store upper 21 bits of function address into ldil. fun will either be + the final target (most cases) or __d_plt_call when calling into a shared + library and __gcc_plt_call is not available. */ + store_unsigned_integer + (&dummy[FUNC_LDIL_OFFSET], + INSTRUCTION_SIZE, + deposit_21 (fun >> 11, + extract_unsigned_integer (&dummy[FUNC_LDIL_OFFSET], + INSTRUCTION_SIZE))); + + /* Store lower 11 bits of function address into ldo */ + store_unsigned_integer + (&dummy[FUNC_LDO_OFFSET], + INSTRUCTION_SIZE, + deposit_14 (fun & MASK_11, + extract_unsigned_integer (&dummy[FUNC_LDO_OFFSET], + INSTRUCTION_SIZE))); +#ifdef SR4EXPORT_LDIL_OFFSET + + { + CORE_ADDR trampoline_addr; + + /* We may still need sr4export's address too. */ + + if (trampoline == NULL) + { + msymbol = lookup_minimal_symbol ("_sr4export", NULL, NULL); + if (msymbol == NULL) + error ("Can't find an address for _sr4export trampoline"); + + trampoline_addr = SYMBOL_VALUE_ADDRESS (msymbol); + } + else + trampoline_addr = SYMBOL_VALUE_ADDRESS (trampoline); + + + /* Store upper 21 bits of trampoline's address into ldil */ + store_unsigned_integer + (&dummy[SR4EXPORT_LDIL_OFFSET], + INSTRUCTION_SIZE, + deposit_21 (trampoline_addr >> 11, + extract_unsigned_integer (&dummy[SR4EXPORT_LDIL_OFFSET], + INSTRUCTION_SIZE))); + + /* Store lower 11 bits of trampoline's address into ldo */ + store_unsigned_integer + (&dummy[SR4EXPORT_LDO_OFFSET], + INSTRUCTION_SIZE, + deposit_14 (trampoline_addr & MASK_11, + extract_unsigned_integer (&dummy[SR4EXPORT_LDO_OFFSET], + INSTRUCTION_SIZE))); + } +#endif + + write_register (22, pc); + + /* If we are in a syscall, then we should call the stack dummy + directly. $$dyncall is not needed as the kernel sets up the + space id registers properly based on the value in %r31. In + fact calling $$dyncall will not work because the value in %r22 + will be clobbered on the syscall exit path. + + Similarly if the current PC is in a shared library. Note however, + this scheme won't work if the shared library isn't mapped into + the same space as the stack. */ + if (flags & 2) + return pc; +#ifndef GDB_TARGET_IS_PA_ELF + else if (som_solib_get_got_by_pc (target_read_pc (inferior_pid))) + return pc; +#endif + else + return dyncall_addr; + +} + +/* Get the PC from %r31 if currently in a syscall. Also mask out privilege + bits. */ + +CORE_ADDR +target_read_pc (pid) + int pid; +{ + int flags = read_register (FLAGS_REGNUM); + + if (flags & 2) { + return read_register (31) & ~0x3; + } + return read_register (PC_REGNUM) & ~0x3; +} + +/* Write out the PC. If currently in a syscall, then also write the new + PC value into %r31. */ + +void +target_write_pc (v, pid) + CORE_ADDR v; + int pid; +{ + int flags = read_register (FLAGS_REGNUM); + + /* If in a syscall, then set %r31. Also make sure to get the + privilege bits set correctly. */ + if (flags & 2) + write_register (31, (long) (v | 0x3)); + + write_register (PC_REGNUM, (long) v); + write_register (NPC_REGNUM, (long) v + 4); +} + +/* return the alignment of a type in bytes. Structures have the maximum + alignment required by their fields. */ + +static int +hppa_alignof (type) + struct type *type; +{ + int max_align, align, i; + CHECK_TYPEDEF (type); + switch (TYPE_CODE (type)) + { + case TYPE_CODE_PTR: + case TYPE_CODE_INT: + case TYPE_CODE_FLT: + return TYPE_LENGTH (type); + case TYPE_CODE_ARRAY: + return hppa_alignof (TYPE_FIELD_TYPE (type, 0)); + case TYPE_CODE_STRUCT: + case TYPE_CODE_UNION: + max_align = 2; + for (i = 0; i < TYPE_NFIELDS (type); i++) + { + /* Bit fields have no real alignment. */ + if (!TYPE_FIELD_BITPOS (type, i)) + { + align = hppa_alignof (TYPE_FIELD_TYPE (type, i)); + max_align = max (max_align, align); + } + } + return max_align; + default: + return 4; + } +} + +/* Print the register regnum, or all registers if regnum is -1 */ + +void +pa_do_registers_info (regnum, fpregs) + int regnum; + int fpregs; +{ + char raw_regs [REGISTER_BYTES]; + int i; + + for (i = 0; i < NUM_REGS; i++) + read_relative_register_raw_bytes (i, raw_regs + REGISTER_BYTE (i)); + if (regnum == -1) + pa_print_registers (raw_regs, regnum, fpregs); + else if (regnum < FP0_REGNUM) + printf_unfiltered ("%s %x\n", reg_names[regnum], *(long *)(raw_regs + + REGISTER_BYTE (regnum))); + else + pa_print_fp_reg (regnum); +} + +static void +pa_print_registers (raw_regs, regnum, fpregs) + char *raw_regs; + int regnum; + int fpregs; +{ + int i,j; + long val; + + for (i = 0; i < 18; i++) + { + for (j = 0; j < 4; j++) + { + val = + extract_signed_integer (raw_regs + REGISTER_BYTE (i+(j*18)), 4); + printf_unfiltered ("%8.8s: %8x ", reg_names[i+(j*18)], val); + } + printf_unfiltered ("\n"); + } + + if (fpregs) + for (i = 72; i < NUM_REGS; i++) + pa_print_fp_reg (i); +} + +static void +pa_print_fp_reg (i) + int i; +{ + unsigned char raw_buffer[MAX_REGISTER_RAW_SIZE]; + unsigned char virtual_buffer[MAX_REGISTER_VIRTUAL_SIZE]; + + /* Get 32bits of data. */ + read_relative_register_raw_bytes (i, raw_buffer); + + /* Put it in the buffer. No conversions are ever necessary. */ + memcpy (virtual_buffer, raw_buffer, REGISTER_RAW_SIZE (i)); + + fputs_filtered (reg_names[i], gdb_stdout); + print_spaces_filtered (8 - strlen (reg_names[i]), gdb_stdout); + fputs_filtered ("(single precision) ", gdb_stdout); + + val_print (REGISTER_VIRTUAL_TYPE (i), virtual_buffer, 0, gdb_stdout, 0, + 1, 0, Val_pretty_default); + printf_filtered ("\n"); + + /* If "i" is even, then this register can also be a double-precision + FP register. Dump it out as such. */ + if ((i % 2) == 0) + { + /* Get the data in raw format for the 2nd half. */ + read_relative_register_raw_bytes (i + 1, raw_buffer); + + /* Copy it into the appropriate part of the virtual buffer. */ + memcpy (virtual_buffer + REGISTER_RAW_SIZE (i), raw_buffer, + REGISTER_RAW_SIZE (i)); + + /* Dump it as a double. */ + fputs_filtered (reg_names[i], gdb_stdout); + print_spaces_filtered (8 - strlen (reg_names[i]), gdb_stdout); + fputs_filtered ("(double precision) ", gdb_stdout); + + val_print (builtin_type_double, virtual_buffer, 0, gdb_stdout, 0, + 1, 0, Val_pretty_default); + printf_filtered ("\n"); + } +} + +/* Return one if PC is in the call path of a trampoline, else return zero. + + Note we return one for *any* call trampoline (long-call, arg-reloc), not + just shared library trampolines (import, export). */ + +int +in_solib_call_trampoline (pc, name) + CORE_ADDR pc; + char *name; +{ + struct minimal_symbol *minsym; + struct unwind_table_entry *u; + static CORE_ADDR dyncall = 0; + static CORE_ADDR sr4export = 0; + +/* FIXME XXX - dyncall and sr4export must be initialized whenever we get a + new exec file */ + + /* First see if PC is in one of the two C-library trampolines. */ + if (!dyncall) + { + minsym = lookup_minimal_symbol ("$$dyncall", NULL, NULL); + if (minsym) + dyncall = SYMBOL_VALUE_ADDRESS (minsym); + else + dyncall = -1; + } + + if (!sr4export) + { + minsym = lookup_minimal_symbol ("_sr4export", NULL, NULL); + if (minsym) + sr4export = SYMBOL_VALUE_ADDRESS (minsym); + else + sr4export = -1; + } + + if (pc == dyncall || pc == sr4export) + return 1; + + /* Get the unwind descriptor corresponding to PC, return zero + if no unwind was found. */ + u = find_unwind_entry (pc); + if (!u) + return 0; + + /* If this isn't a linker stub, then return now. */ + if (u->stub_type == 0) + return 0; + + /* By definition a long-branch stub is a call stub. */ + if (u->stub_type == LONG_BRANCH) + return 1; + + /* The call and return path execute the same instructions within + an IMPORT stub! So an IMPORT stub is both a call and return + trampoline. */ + if (u->stub_type == IMPORT) + return 1; + + /* Parameter relocation stubs always have a call path and may have a + return path. */ + if (u->stub_type == PARAMETER_RELOCATION + || u->stub_type == EXPORT) + { + CORE_ADDR addr; + + /* Search forward from the current PC until we hit a branch + or the end of the stub. */ + for (addr = pc; addr <= u->region_end; addr += 4) + { + unsigned long insn; + + insn = read_memory_integer (addr, 4); + + /* Does it look like a bl? If so then it's the call path, if + we find a bv or be first, then we're on the return path. */ + if ((insn & 0xfc00e000) == 0xe8000000) + return 1; + else if ((insn & 0xfc00e001) == 0xe800c000 + || (insn & 0xfc000000) == 0xe0000000) + return 0; + } + + /* Should never happen. */ + warning ("Unable to find branch in parameter relocation stub.\n"); + return 0; + } + + /* Unknown stub type. For now, just return zero. */ + return 0; +} + +/* Return one if PC is in the return path of a trampoline, else return zero. + + Note we return one for *any* call trampoline (long-call, arg-reloc), not + just shared library trampolines (import, export). */ + +int +in_solib_return_trampoline (pc, name) + CORE_ADDR pc; + char *name; +{ + struct unwind_table_entry *u; + + /* Get the unwind descriptor corresponding to PC, return zero + if no unwind was found. */ + u = find_unwind_entry (pc); + if (!u) + return 0; + + /* If this isn't a linker stub or it's just a long branch stub, then + return zero. */ + if (u->stub_type == 0 || u->stub_type == LONG_BRANCH) + return 0; + + /* The call and return path execute the same instructions within + an IMPORT stub! So an IMPORT stub is both a call and return + trampoline. */ + if (u->stub_type == IMPORT) + return 1; + + /* Parameter relocation stubs always have a call path and may have a + return path. */ + if (u->stub_type == PARAMETER_RELOCATION + || u->stub_type == EXPORT) + { + CORE_ADDR addr; + + /* Search forward from the current PC until we hit a branch + or the end of the stub. */ + for (addr = pc; addr <= u->region_end; addr += 4) + { + unsigned long insn; + + insn = read_memory_integer (addr, 4); + + /* Does it look like a bl? If so then it's the call path, if + we find a bv or be first, then we're on the return path. */ + if ((insn & 0xfc00e000) == 0xe8000000) + return 0; + else if ((insn & 0xfc00e001) == 0xe800c000 + || (insn & 0xfc000000) == 0xe0000000) + return 1; + } + + /* Should never happen. */ + warning ("Unable to find branch in parameter relocation stub.\n"); + return 0; + } + + /* Unknown stub type. For now, just return zero. */ + return 0; + +} + +/* Figure out if PC is in a trampoline, and if so find out where + the trampoline will jump to. If not in a trampoline, return zero. + + Simple code examination probably is not a good idea since the code + sequences in trampolines can also appear in user code. + + We use unwinds and information from the minimal symbol table to + determine when we're in a trampoline. This won't work for ELF + (yet) since it doesn't create stub unwind entries. Whether or + not ELF will create stub unwinds or normal unwinds for linker + stubs is still being debated. + + This should handle simple calls through dyncall or sr4export, + long calls, argument relocation stubs, and dyncall/sr4export + calling an argument relocation stub. It even handles some stubs + used in dynamic executables. */ + +CORE_ADDR +skip_trampoline_code (pc, name) + CORE_ADDR pc; + char *name; +{ + long orig_pc = pc; + long prev_inst, curr_inst, loc; + static CORE_ADDR dyncall = 0; + static CORE_ADDR sr4export = 0; + struct minimal_symbol *msym; + struct unwind_table_entry *u; + +/* FIXME XXX - dyncall and sr4export must be initialized whenever we get a + new exec file */ + + if (!dyncall) + { + msym = lookup_minimal_symbol ("$$dyncall", NULL, NULL); + if (msym) + dyncall = SYMBOL_VALUE_ADDRESS (msym); + else + dyncall = -1; + } + + if (!sr4export) + { + msym = lookup_minimal_symbol ("_sr4export", NULL, NULL); + if (msym) + sr4export = SYMBOL_VALUE_ADDRESS (msym); + else + sr4export = -1; + } + + /* Addresses passed to dyncall may *NOT* be the actual address + of the function. So we may have to do something special. */ + if (pc == dyncall) + { + pc = (CORE_ADDR) read_register (22); + + /* If bit 30 (counting from the left) is on, then pc is the address of + the PLT entry for this function, not the address of the function + itself. Bit 31 has meaning too, but only for MPE. */ + if (pc & 0x2) + pc = (CORE_ADDR) read_memory_integer (pc & ~0x3, 4); + } + else if (pc == sr4export) + pc = (CORE_ADDR) (read_register (22)); + + /* Get the unwind descriptor corresponding to PC, return zero + if no unwind was found. */ + u = find_unwind_entry (pc); + if (!u) + return 0; + + /* If this isn't a linker stub, then return now. */ + if (u->stub_type == 0) + return orig_pc == pc ? 0 : pc & ~0x3; + + /* It's a stub. Search for a branch and figure out where it goes. + Note we have to handle multi insn branch sequences like ldil;ble. + Most (all?) other branches can be determined by examining the contents + of certain registers and the stack. */ + loc = pc; + curr_inst = 0; + prev_inst = 0; + while (1) + { + /* Make sure we haven't walked outside the range of this stub. */ + if (u != find_unwind_entry (loc)) + { + warning ("Unable to find branch in linker stub"); + return orig_pc == pc ? 0 : pc & ~0x3; + } + + prev_inst = curr_inst; + curr_inst = read_memory_integer (loc, 4); + + /* Does it look like a branch external using %r1? Then it's the + branch from the stub to the actual function. */ + if ((curr_inst & 0xffe0e000) == 0xe0202000) + { + /* Yup. See if the previous instruction loaded + a value into %r1. If so compute and return the jump address. */ + if ((prev_inst & 0xffe00000) == 0x20200000) + return (extract_21 (prev_inst) + extract_17 (curr_inst)) & ~0x3; + else + { + warning ("Unable to find ldil X,%%r1 before ble Y(%%sr4,%%r1)."); + return orig_pc == pc ? 0 : pc & ~0x3; + } + } + + /* Does it look like a be 0(sr0,%r21)? That's the branch from an + import stub to an export stub. + + It is impossible to determine the target of the branch via + simple examination of instructions and/or data (consider + that the address in the plabel may be the address of the + bind-on-reference routine in the dynamic loader). + + So we have try an alternative approach. + + Get the name of the symbol at our current location; it should + be a stub symbol with the same name as the symbol in the + shared library. + + Then lookup a minimal symbol with the same name; we should + get the minimal symbol for the target routine in the shared + library as those take precedence of import/export stubs. */ + if (curr_inst == 0xe2a00000) + { + struct minimal_symbol *stubsym, *libsym; + + stubsym = lookup_minimal_symbol_by_pc (loc); + if (stubsym == NULL) + { + warning ("Unable to find symbol for 0x%x", loc); + return orig_pc == pc ? 0 : pc & ~0x3; + } + + libsym = lookup_minimal_symbol (SYMBOL_NAME (stubsym), NULL, NULL); + if (libsym == NULL) + { + warning ("Unable to find library symbol for %s\n", + SYMBOL_NAME (stubsym)); + return orig_pc == pc ? 0 : pc & ~0x3; + } + + return SYMBOL_VALUE (libsym); + } + + /* Does it look like bl X,%rp or bl X,%r0? Another way to do a + branch from the stub to the actual function. */ + else if ((curr_inst & 0xffe0e000) == 0xe8400000 + || (curr_inst & 0xffe0e000) == 0xe8000000) + return (loc + extract_17 (curr_inst) + 8) & ~0x3; + + /* Does it look like bv (rp)? Note this depends on the + current stack pointer being the same as the stack + pointer in the stub itself! This is a branch on from the + stub back to the original caller. */ + else if ((curr_inst & 0xffe0e000) == 0xe840c000) + { + /* Yup. See if the previous instruction loaded + rp from sp - 8. */ + if (prev_inst == 0x4bc23ff1) + return (read_memory_integer + (read_register (SP_REGNUM) - 8, 4)) & ~0x3; + else + { + warning ("Unable to find restore of %%rp before bv (%%rp)."); + return orig_pc == pc ? 0 : pc & ~0x3; + } + } + + /* What about be,n 0(sr0,%rp)? It's just another way we return to + the original caller from the stub. Used in dynamic executables. */ + else if (curr_inst == 0xe0400002) + { + /* The value we jump to is sitting in sp - 24. But that's + loaded several instructions before the be instruction. + I guess we could check for the previous instruction being + mtsp %r1,%sr0 if we want to do sanity checking. */ + return (read_memory_integer + (read_register (SP_REGNUM) - 24, 4)) & ~0x3; + } + + /* Haven't found the branch yet, but we're still in the stub. + Keep looking. */ + loc += 4; + } +} + +/* For the given instruction (INST), return any adjustment it makes + to the stack pointer or zero for no adjustment. + + This only handles instructions commonly found in prologues. */ + +static int +prologue_inst_adjust_sp (inst) + unsigned long inst; +{ + /* This must persist across calls. */ + static int save_high21; + + /* The most common way to perform a stack adjustment ldo X(sp),sp */ + if ((inst & 0xffffc000) == 0x37de0000) + return extract_14 (inst); + + /* stwm X,D(sp) */ + if ((inst & 0xffe00000) == 0x6fc00000) + return extract_14 (inst); + + /* addil high21,%r1; ldo low11,(%r1),%r30) + save high bits in save_high21 for later use. */ + if ((inst & 0xffe00000) == 0x28200000) + { + save_high21 = extract_21 (inst); + return 0; + } + + if ((inst & 0xffff0000) == 0x343e0000) + return save_high21 + extract_14 (inst); + + /* fstws as used by the HP compilers. */ + if ((inst & 0xffffffe0) == 0x2fd01220) + return extract_5_load (inst); + + /* No adjustment. */ + return 0; +} + +/* Return nonzero if INST is a branch of some kind, else return zero. */ + +static int +is_branch (inst) + unsigned long inst; +{ + switch (inst >> 26) + { + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x28: + case 0x29: + case 0x2a: + case 0x2b: + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x38: + case 0x39: + case 0x3a: + return 1; + + default: + return 0; + } +} + +/* Return the register number for a GR which is saved by INST or + zero it INST does not save a GR. */ + +static int +inst_saves_gr (inst) + unsigned long inst; +{ + /* Does it look like a stw? */ + if ((inst >> 26) == 0x1a) + return extract_5R_store (inst); + + /* Does it look like a stwm? GCC & HPC may use this in prologues. */ + if ((inst >> 26) == 0x1b) + return extract_5R_store (inst); + + /* Does it look like sth or stb? HPC versions 9.0 and later use these + too. */ + if ((inst >> 26) == 0x19 || (inst >> 26) == 0x18) + return extract_5R_store (inst); + + return 0; +} + +/* Return the register number for a FR which is saved by INST or + zero it INST does not save a FR. + + Note we only care about full 64bit register stores (that's the only + kind of stores the prologue will use). + + FIXME: What about argument stores with the HP compiler in ANSI mode? */ + +static int +inst_saves_fr (inst) + unsigned long inst; +{ + if ((inst & 0xfc00dfc0) == 0x2c001200) + return extract_5r_store (inst); + return 0; +} + +/* Advance PC across any function entry prologue instructions + to reach some "real" code. + + Use information in the unwind table to determine what exactly should + be in the prologue. */ + +CORE_ADDR +skip_prologue (pc) + CORE_ADDR pc; +{ + char buf[4]; + CORE_ADDR orig_pc = pc; + unsigned long inst, stack_remaining, save_gr, save_fr, save_rp, save_sp; + unsigned long args_stored, status, i, restart_gr, restart_fr; + struct unwind_table_entry *u; + + restart_gr = 0; + restart_fr = 0; + +restart: + u = find_unwind_entry (pc); + if (!u) + return pc; + + /* If we are not at the beginning of a function, then return now. */ + if ((pc & ~0x3) != u->region_start) + return pc; + + /* This is how much of a frame adjustment we need to account for. */ + stack_remaining = u->Total_frame_size << 3; + + /* Magic register saves we want to know about. */ + save_rp = u->Save_RP; + save_sp = u->Save_SP; + + /* An indication that args may be stored into the stack. Unfortunately + the HPUX compilers tend to set this in cases where no args were + stored too!. */ + args_stored = 1; + + /* Turn the Entry_GR field into a bitmask. */ + save_gr = 0; + for (i = 3; i < u->Entry_GR + 3; i++) + { + /* Frame pointer gets saved into a special location. */ + if (u->Save_SP && i == FP_REGNUM) + continue; + + save_gr |= (1 << i); + } + save_gr &= ~restart_gr; + + /* Turn the Entry_FR field into a bitmask too. */ + save_fr = 0; + for (i = 12; i < u->Entry_FR + 12; i++) + save_fr |= (1 << i); + save_fr &= ~restart_fr; + + /* Loop until we find everything of interest or hit a branch. + + For unoptimized GCC code and for any HP CC code this will never ever + examine any user instructions. + + For optimzied GCC code we're faced with problems. GCC will schedule + its prologue and make prologue instructions available for delay slot + filling. The end result is user code gets mixed in with the prologue + and a prologue instruction may be in the delay slot of the first branch + or call. + + Some unexpected things are expected with debugging optimized code, so + we allow this routine to walk past user instructions in optimized + GCC code. */ + while (save_gr || save_fr || save_rp || save_sp || stack_remaining > 0 + || args_stored) + { + unsigned int reg_num; + unsigned long old_stack_remaining, old_save_gr, old_save_fr; + unsigned long old_save_rp, old_save_sp, next_inst; + + /* Save copies of all the triggers so we can compare them later + (only for HPC). */ + old_save_gr = save_gr; + old_save_fr = save_fr; + old_save_rp = save_rp; + old_save_sp = save_sp; + old_stack_remaining = stack_remaining; + + status = target_read_memory (pc, buf, 4); + inst = extract_unsigned_integer (buf, 4); + + /* Yow! */ + if (status != 0) + return pc; + + /* Note the interesting effects of this instruction. */ + stack_remaining -= prologue_inst_adjust_sp (inst); + + /* There is only one instruction used for saving RP into the stack. */ + if (inst == 0x6bc23fd9) + save_rp = 0; + + /* This is the only way we save SP into the stack. At this time + the HP compilers never bother to save SP into the stack. */ + if ((inst & 0xffffc000) == 0x6fc10000) + save_sp = 0; + + /* Account for general and floating-point register saves. */ + reg_num = inst_saves_gr (inst); + save_gr &= ~(1 << reg_num); + + /* Ugh. Also account for argument stores into the stack. + Unfortunately args_stored only tells us that some arguments + where stored into the stack. Not how many or what kind! + + This is a kludge as on the HP compiler sets this bit and it + never does prologue scheduling. So once we see one, skip past + all of them. We have similar code for the fp arg stores below. + + FIXME. Can still die if we have a mix of GR and FR argument + stores! */ + if (reg_num >= 23 && reg_num <= 26) + { + while (reg_num >= 23 && reg_num <= 26) + { + pc += 4; + status = target_read_memory (pc, buf, 4); + inst = extract_unsigned_integer (buf, 4); + if (status != 0) + return pc; + reg_num = inst_saves_gr (inst); + } + args_stored = 0; + continue; + } + + reg_num = inst_saves_fr (inst); + save_fr &= ~(1 << reg_num); + + status = target_read_memory (pc + 4, buf, 4); + next_inst = extract_unsigned_integer (buf, 4); + + /* Yow! */ + if (status != 0) + return pc; + + /* We've got to be read to handle the ldo before the fp register + save. */ + if ((inst & 0xfc000000) == 0x34000000 + && inst_saves_fr (next_inst) >= 4 + && inst_saves_fr (next_inst) <= 7) + { + /* So we drop into the code below in a reasonable state. */ + reg_num = inst_saves_fr (next_inst); + pc -= 4; + } + + /* Ugh. Also account for argument stores into the stack. + This is a kludge as on the HP compiler sets this bit and it + never does prologue scheduling. So once we see one, skip past + all of them. */ + if (reg_num >= 4 && reg_num <= 7) + { + while (reg_num >= 4 && reg_num <= 7) + { + pc += 8; + status = target_read_memory (pc, buf, 4); + inst = extract_unsigned_integer (buf, 4); + if (status != 0) + return pc; + if ((inst & 0xfc000000) != 0x34000000) + break; + status = target_read_memory (pc + 4, buf, 4); + next_inst = extract_unsigned_integer (buf, 4); + if (status != 0) + return pc; + reg_num = inst_saves_fr (next_inst); + } + args_stored = 0; + continue; + } + + /* Quit if we hit any kind of branch. This can happen if a prologue + instruction is in the delay slot of the first call/branch. */ + if (is_branch (inst)) + break; + + /* What a crock. The HP compilers set args_stored even if no + arguments were stored into the stack (boo hiss). This could + cause this code to then skip a bunch of user insns (up to the + first branch). + + To combat this we try to identify when args_stored was bogusly + set and clear it. We only do this when args_stored is nonzero, + all other resources are accounted for, and nothing changed on + this pass. */ + if (args_stored + && ! (save_gr || save_fr || save_rp || save_sp || stack_remaining > 0) + && old_save_gr == save_gr && old_save_fr == save_fr + && old_save_rp == save_rp && old_save_sp == save_sp + && old_stack_remaining == stack_remaining) + break; + + /* Bump the PC. */ + pc += 4; + } + + /* We've got a tenative location for the end of the prologue. However + because of limitations in the unwind descriptor mechanism we may + have went too far into user code looking for the save of a register + that does not exist. So, if there registers we expected to be saved + but never were, mask them out and restart. + + This should only happen in optimized code, and should be very rare. */ + if (save_gr || save_fr + && ! (restart_fr || restart_gr)) + { + pc = orig_pc; + restart_gr = save_gr; + restart_fr = save_fr; + goto restart; + } + + return pc; +} + +/* Put here the code to store, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. */ + +void +hppa_frame_find_saved_regs (frame_info, frame_saved_regs) + struct frame_info *frame_info; + struct frame_saved_regs *frame_saved_regs; +{ + CORE_ADDR pc; + struct unwind_table_entry *u; + unsigned long inst, stack_remaining, save_gr, save_fr, save_rp, save_sp; + int status, i, reg; + char buf[4]; + int fp_loc = -1; + + /* Zero out everything. */ + memset (frame_saved_regs, '\0', sizeof (struct frame_saved_regs)); + + /* Call dummy frames always look the same, so there's no need to + examine the dummy code to determine locations of saved registers; + instead, let find_dummy_frame_regs fill in the correct offsets + for the saved registers. */ + if ((frame_info->pc >= frame_info->frame + && frame_info->pc <= (frame_info->frame + CALL_DUMMY_LENGTH + + 32 * 4 + (NUM_REGS - FP0_REGNUM) * 8 + + 6 * 4))) + find_dummy_frame_regs (frame_info, frame_saved_regs); + + /* Interrupt handlers are special too. They lay out the register + state in the exact same order as the register numbers in GDB. */ + if (pc_in_interrupt_handler (frame_info->pc)) + { + for (i = 0; i < NUM_REGS; i++) + { + /* SP is a little special. */ + if (i == SP_REGNUM) + frame_saved_regs->regs[SP_REGNUM] + = read_memory_integer (frame_info->frame + SP_REGNUM * 4, 4); + else + frame_saved_regs->regs[i] = frame_info->frame + i * 4; + } + return; + } + +#ifdef FRAME_FIND_SAVED_REGS_IN_SIGTRAMP + /* Handle signal handler callers. */ + if (frame_info->signal_handler_caller) + { + FRAME_FIND_SAVED_REGS_IN_SIGTRAMP (frame_info, frame_saved_regs); + return; + } +#endif + + /* Get the starting address of the function referred to by the PC + saved in frame. */ + pc = get_pc_function_start (frame_info->pc); + + /* Yow! */ + u = find_unwind_entry (pc); + if (!u) + return; + + /* This is how much of a frame adjustment we need to account for. */ + stack_remaining = u->Total_frame_size << 3; + + /* Magic register saves we want to know about. */ + save_rp = u->Save_RP; + save_sp = u->Save_SP; + + /* Turn the Entry_GR field into a bitmask. */ + save_gr = 0; + for (i = 3; i < u->Entry_GR + 3; i++) + { + /* Frame pointer gets saved into a special location. */ + if (u->Save_SP && i == FP_REGNUM) + continue; + + save_gr |= (1 << i); + } + + /* Turn the Entry_FR field into a bitmask too. */ + save_fr = 0; + for (i = 12; i < u->Entry_FR + 12; i++) + save_fr |= (1 << i); + + /* The frame always represents the value of %sp at entry to the + current function (and is thus equivalent to the "saved" stack + pointer. */ + frame_saved_regs->regs[SP_REGNUM] = frame_info->frame; + + /* Loop until we find everything of interest or hit a branch. + + For unoptimized GCC code and for any HP CC code this will never ever + examine any user instructions. + + For optimzied GCC code we're faced with problems. GCC will schedule + its prologue and make prologue instructions available for delay slot + filling. The end result is user code gets mixed in with the prologue + and a prologue instruction may be in the delay slot of the first branch + or call. + + Some unexpected things are expected with debugging optimized code, so + we allow this routine to walk past user instructions in optimized + GCC code. */ + while (save_gr || save_fr || save_rp || save_sp || stack_remaining > 0) + { + status = target_read_memory (pc, buf, 4); + inst = extract_unsigned_integer (buf, 4); + + /* Yow! */ + if (status != 0) + return; + + /* Note the interesting effects of this instruction. */ + stack_remaining -= prologue_inst_adjust_sp (inst); + + /* There is only one instruction used for saving RP into the stack. */ + if (inst == 0x6bc23fd9) + { + save_rp = 0; + frame_saved_regs->regs[RP_REGNUM] = frame_info->frame - 20; + } + + /* Just note that we found the save of SP into the stack. The + value for frame_saved_regs was computed above. */ + if ((inst & 0xffffc000) == 0x6fc10000) + save_sp = 0; + + /* Account for general and floating-point register saves. */ + reg = inst_saves_gr (inst); + if (reg >= 3 && reg <= 18 + && (!u->Save_SP || reg != FP_REGNUM)) + { + save_gr &= ~(1 << reg); + + /* stwm with a positive displacement is a *post modify*. */ + if ((inst >> 26) == 0x1b + && extract_14 (inst) >= 0) + frame_saved_regs->regs[reg] = frame_info->frame; + else + { + /* Handle code with and without frame pointers. */ + if (u->Save_SP) + frame_saved_regs->regs[reg] + = frame_info->frame + extract_14 (inst); + else + frame_saved_regs->regs[reg] + = frame_info->frame + (u->Total_frame_size << 3) + + extract_14 (inst); + } + } + + + /* GCC handles callee saved FP regs a little differently. + + It emits an instruction to put the value of the start of + the FP store area into %r1. It then uses fstds,ma with + a basereg of %r1 for the stores. + + HP CC emits them at the current stack pointer modifying + the stack pointer as it stores each register. */ + + /* ldo X(%r3),%r1 or ldo X(%r30),%r1. */ + if ((inst & 0xffffc000) == 0x34610000 + || (inst & 0xffffc000) == 0x37c10000) + fp_loc = extract_14 (inst); + + reg = inst_saves_fr (inst); + if (reg >= 12 && reg <= 21) + { + /* Note +4 braindamage below is necessary because the FP status + registers are internally 8 registers rather than the expected + 4 registers. */ + save_fr &= ~(1 << reg); + if (fp_loc == -1) + { + /* 1st HP CC FP register store. After this instruction + we've set enough state that the GCC and HPCC code are + both handled in the same manner. */ + frame_saved_regs->regs[reg + FP4_REGNUM + 4] = frame_info->frame; + fp_loc = 8; + } + else + { + frame_saved_regs->regs[reg + FP0_REGNUM + 4] + = frame_info->frame + fp_loc; + fp_loc += 8; + } + } + + /* Quit if we hit any kind of branch. This can happen if a prologue + instruction is in the delay slot of the first call/branch. */ + if (is_branch (inst)) + break; + + /* Bump the PC. */ + pc += 4; + } +} + +#ifdef MAINTENANCE_CMDS + +static void +unwind_command (exp, from_tty) + char *exp; + int from_tty; +{ + CORE_ADDR address; + struct unwind_table_entry *u; + + /* If we have an expression, evaluate it and use it as the address. */ + + if (exp != 0 && *exp != 0) + address = parse_and_eval_address (exp); + else + return; + + u = find_unwind_entry (address); + + if (!u) + { + printf_unfiltered ("Can't find unwind table entry for %s\n", exp); + return; + } + + printf_unfiltered ("unwind_table_entry (0x%x):\n", u); + + printf_unfiltered ("\tregion_start = "); + print_address (u->region_start, gdb_stdout); + + printf_unfiltered ("\n\tregion_end = "); + print_address (u->region_end, gdb_stdout); + +#ifdef __STDC__ +#define pif(FLD) if (u->FLD) printf_unfiltered (" "#FLD); +#else +#define pif(FLD) if (u->FLD) printf_unfiltered (" FLD"); +#endif + + printf_unfiltered ("\n\tflags ="); + pif (Cannot_unwind); + pif (Millicode); + pif (Millicode_save_sr0); + pif (Entry_SR); + pif (Args_stored); + pif (Variable_Frame); + pif (Separate_Package_Body); + pif (Frame_Extension_Millicode); + pif (Stack_Overflow_Check); + pif (Two_Instruction_SP_Increment); + pif (Ada_Region); + pif (Save_SP); + pif (Save_RP); + pif (Save_MRP_in_frame); + pif (extn_ptr_defined); + pif (Cleanup_defined); + pif (MPE_XL_interrupt_marker); + pif (HP_UX_interrupt_marker); + pif (Large_frame); + + putchar_unfiltered ('\n'); + +#ifdef __STDC__ +#define pin(FLD) printf_unfiltered ("\t"#FLD" = 0x%x\n", u->FLD); +#else +#define pin(FLD) printf_unfiltered ("\tFLD = 0x%x\n", u->FLD); +#endif + + pin (Region_description); + pin (Entry_FR); + pin (Entry_GR); + pin (Total_frame_size); +} +#endif /* MAINTENANCE_CMDS */ + +void +_initialize_hppa_tdep () +{ + tm_print_insn = print_insn_hppa; + +#ifdef MAINTENANCE_CMDS + add_cmd ("unwind", class_maintenance, unwind_command, + "Print unwind table entry at given address.", + &maintenanceprintlist); +#endif /* MAINTENANCE_CMDS */ +} diff --git a/contrib/gdb/gdb/hppab-nat.c b/contrib/gdb/gdb/hppab-nat.c new file mode 100644 index 0000000000000..57360f3fd640e --- /dev/null +++ b/contrib/gdb/gdb/hppab-nat.c @@ -0,0 +1,215 @@ +/* Machine-dependent hooks for the unix child process stratum. This + code is for the HP PA-RISC cpu. + + Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. + + Contributed by the Center for Software Science at the + University of Utah (pa-gdb-bugs@cs.utah.edu). + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" +#include "target.h" +#include <sys/ptrace.h> + +/* Use an extra level of indirection for ptrace calls. + This lets us breakpoint usefully on call_ptrace. It also + allows us to pass an extra argument to ptrace without + using an ANSI-C specific macro. */ + +#define ptrace call_ptrace + +#if !defined (offsetof) +#define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER) +#endif + +/* U_REGS_OFFSET is the offset of the registers within the u area. */ +#if !defined (U_REGS_OFFSET) +#define U_REGS_OFFSET \ + ptrace (PT_READ_U, inferior_pid, \ + (PTRACE_ARG3_TYPE) (offsetof (struct user, u_ar0)), 0) \ + - KERNEL_U_ADDR +#endif + +/* Fetch one register. */ + +static void +fetch_register (regno) + int regno; +{ + register unsigned int regaddr; + char buf[MAX_REGISTER_RAW_SIZE]; + register int i; + + /* Offset of registers within the u area. */ + unsigned int offset; + + offset = U_REGS_OFFSET; + + regaddr = register_addr (regno, offset); + for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int)) + { + errno = 0; + *(int *) &buf[i] = ptrace (PT_RUREGS, inferior_pid, + (PTRACE_ARG3_TYPE) regaddr, 0); + regaddr += sizeof (int); + if (errno != 0) + { + /* Warning, not error, in case we are attached; sometimes the + kernel doesn't let us at the registers. */ + char *err = safe_strerror (errno); + char *msg = alloca (strlen (err) + 128); + sprintf (msg, "reading register %s: %s", reg_names[regno], err); + warning (msg); + goto error_exit; + } + } + supply_register (regno, buf); + error_exit:; +} + +/* Fetch all registers, or just one, from the child process. */ + +void +fetch_inferior_registers (regno) + int regno; +{ + if (regno == -1) + for (regno = 0; regno < NUM_REGS; regno++) + fetch_register (regno); + else + fetch_register (regno); +} + +/* Store our register values back into the inferior. + If REGNO is -1, do this for all registers. + Otherwise, REGNO specifies which register (so we can save time). */ + +void +store_inferior_registers (regno) + int regno; +{ + register unsigned int regaddr; + char buf[80]; + extern char registers[]; + register int i; + unsigned int offset = U_REGS_OFFSET; + int scratch; + + if (regno >= 0) + { + if (CANNOT_STORE_REGISTER (regno)) + return; + regaddr = register_addr (regno, offset); + errno = 0; + if (regno == PCOQ_HEAD_REGNUM || regno == PCOQ_TAIL_REGNUM) + { + scratch = *(int *) ®isters[REGISTER_BYTE (regno)] | 0x3; + ptrace (PT_WUREGS, inferior_pid, (PTRACE_ARG3_TYPE) regaddr, + scratch); + if (errno != 0) + { + /* Error, even if attached. Failing to write these two + registers is pretty serious. */ + sprintf (buf, "writing register number %d", regno); + perror_with_name (buf); + } + } + else + for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof(int)) + { + errno = 0; + ptrace (PT_WUREGS, inferior_pid, (PTRACE_ARG3_TYPE) regaddr, + *(int *) ®isters[REGISTER_BYTE (regno) + i]); + if (errno != 0) + { + /* Warning, not error, in case we are attached; sometimes the + kernel doesn't let us at the registers. */ + char *err = safe_strerror (errno); + char *msg = alloca (strlen (err) + 128); + sprintf (msg, "writing register %s: %s", + reg_names[regno], err); + warning (msg); + return; + } + regaddr += sizeof(int); + } + } + else + for (regno = 0; regno < NUM_REGS; regno++) + store_inferior_registers (regno); +} + +/* PT_PROT is specific to the PA BSD kernel and isn't documented + anywhere (except here). + + PT_PROT allows one to enable/disable the data memory break bit + for pages of memory in an inferior process. This bit is used + to cause "Data memory break traps" to occur when the appropriate + page is written to. + + The arguments are as follows: + + PT_PROT -- The ptrace action to perform. + + INFERIOR_PID -- The pid of the process who's page table entries + will be modified. + + PT_ARGS -- The *address* of a 3 word block of memory which has + additional information: + + word 0 -- The start address to watch. This should be a page-aligned + address. + + word 1 -- The ending address to watch. Again, this should be a + page aligned address. + + word 2 -- Nonzero to enable the data memory break bit on the + given address range or zero to disable the data memory break + bit on the given address range. + + This call may fail if the given addresses are not valid in the inferior + process. This most often happens when restarting a program which + as watchpoints inserted on heap or stack memory. */ + +#define PT_PROT 21 + +int +hppa_set_watchpoint (addr, len, flag) + int addr, len, flag; +{ + int pt_args[3]; + pt_args[0] = addr; + pt_args[1] = addr + len; + pt_args[2] = flag; + + /* Mask off the lower 12 bits since we want to work on a page basis. */ + pt_args[0] >>= 12; + pt_args[1] >>= 12; + + /* Rounding adjustments. */ + pt_args[1] -= pt_args[0]; + pt_args[1]++; + + /* Put the lower 12 bits back as zero. */ + pt_args[0] <<= 12; + pt_args[1] <<= 12; + + /* Do it. */ + return ptrace (PT_PROT, inferior_pid, (PTRACE_ARG3_TYPE) pt_args, 0); +} diff --git a/contrib/gdb/gdb/hppah-nat.c b/contrib/gdb/gdb/hppah-nat.c new file mode 100644 index 0000000000000..17a675dc6af8b --- /dev/null +++ b/contrib/gdb/gdb/hppah-nat.c @@ -0,0 +1,226 @@ +/* Machine-dependent hooks for the unix child process stratum, for HPUX PA-RISC. + + Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993 + Free Software Foundation, Inc. + + Contributed by the Center for Software Science at the + University of Utah (pa-gdb-bugs@cs.utah.edu). + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + + +#include "defs.h" +#include "inferior.h" +#include "target.h" +#include <sys/ptrace.h> + +extern CORE_ADDR text_end; + +static void fetch_register (); + +void +fetch_inferior_registers (regno) + int regno; +{ + if (regno == -1) + for (regno = 0; regno < NUM_REGS; regno++) + fetch_register (regno); + else + fetch_register (regno); +} + +/* Store our register values back into the inferior. + If REGNO is -1, do this for all registers. + Otherwise, REGNO specifies which register (so we can save time). */ + +void +store_inferior_registers (regno) + int regno; +{ + register unsigned int regaddr; + char buf[80]; + extern char registers[]; + register int i; + unsigned int offset = U_REGS_OFFSET; + int scratch; + + if (regno >= 0) + { + if (CANNOT_STORE_REGISTER (regno)) + return; + regaddr = register_addr (regno, offset); + errno = 0; + if (regno == PCOQ_HEAD_REGNUM || regno == PCOQ_TAIL_REGNUM) + { + scratch = *(int *) ®isters[REGISTER_BYTE (regno)] | 0x3; + call_ptrace (PT_WUREGS, inferior_pid, (PTRACE_ARG3_TYPE) regaddr, + scratch); + if (errno != 0) + { + /* Error, even if attached. Failing to write these two + registers is pretty serious. */ + sprintf (buf, "writing register number %d", regno); + perror_with_name (buf); + } + } + else + for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof(int)) + { + errno = 0; + call_ptrace (PT_WUREGS, inferior_pid, (PTRACE_ARG3_TYPE) regaddr, + *(int *) ®isters[REGISTER_BYTE (regno) + i]); + if (errno != 0) + { + /* Warning, not error, in case we are attached; sometimes the + kernel doesn't let us at the registers. */ + char *err = safe_strerror (errno); + char *msg = alloca (strlen (err) + 128); + sprintf (msg, "writing register %s: %s", + reg_names[regno], err); + warning (msg); + return; + } + regaddr += sizeof(int); + } + } + else + for (regno = 0; regno < NUM_REGS; regno++) + store_inferior_registers (regno); +} + +/* Fetch one register. */ + +static void +fetch_register (regno) + int regno; +{ + register unsigned int regaddr; + char buf[MAX_REGISTER_RAW_SIZE]; + char mess[128]; /* For messages */ + register int i; + + /* Offset of registers within the u area. */ + unsigned int offset; + + offset = U_REGS_OFFSET; + + regaddr = register_addr (regno, offset); + for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int)) + { + errno = 0; + *(int *) &buf[i] = call_ptrace (PT_RUREGS, inferior_pid, + (PTRACE_ARG3_TYPE) regaddr, 0); + regaddr += sizeof (int); + if (errno != 0) + { + /* Warning, not error, in case we are attached; sometimes the + kernel doesn't let us at the registers. */ + char *err = safe_strerror (errno); + char *msg = alloca (strlen (err) + 128); + sprintf (msg, "reading register %s: %s", reg_names[regno], err); + warning (msg); + goto error_exit; + } + } + if (regno == PCOQ_HEAD_REGNUM || regno == PCOQ_TAIL_REGNUM) + buf[3] &= ~0x3; + supply_register (regno, buf); + error_exit:; +} + +/* Copy LEN bytes to or from inferior's memory starting at MEMADDR + to debugger memory starting at MYADDR. Copy to inferior if + WRITE is nonzero. + + Returns the length copied, which is either the LEN argument or zero. + This xfer function does not do partial moves, since child_ops + doesn't allow memory operations to cross below us in the target stack + anyway. */ + +int +child_xfer_memory (memaddr, myaddr, len, write, target) + CORE_ADDR memaddr; + char *myaddr; + int len; + int write; + struct target_ops *target; /* ignored */ +{ + register int i; + /* Round starting address down to longword boundary. */ + register CORE_ADDR addr = memaddr & - sizeof (int); + /* Round ending address up; get number of longwords that makes. */ + register int count + = (((memaddr + len) - addr) + sizeof (int) - 1) / sizeof (int); + /* Allocate buffer of that many longwords. */ + register int *buffer = (int *) alloca (count * sizeof (int)); + + if (write) + { + /* Fill start and end extra bytes of buffer with existing memory data. */ + + if (addr != memaddr || len < (int)sizeof (int)) { + /* Need part of initial word -- fetch it. */ + buffer[0] = call_ptrace (addr < text_end ? PT_RIUSER : PT_RDUSER, + inferior_pid, (PTRACE_ARG3_TYPE) addr, 0); + } + + if (count > 1) /* FIXME, avoid if even boundary */ + { + buffer[count - 1] + = call_ptrace (addr < text_end ? PT_RIUSER : PT_RDUSER, inferior_pid, + (PTRACE_ARG3_TYPE) (addr + (count - 1) * sizeof (int)), + 0); + } + + /* Copy data to be written over corresponding part of buffer */ + + memcpy ((char *) buffer + (memaddr & (sizeof (int) - 1)), myaddr, len); + + /* Write the entire buffer. */ + + for (i = 0; i < count; i++, addr += sizeof (int)) + { +/* The HP-UX kernel crashes if you use PT_WDUSER to write into the text + segment. FIXME -- does it work to write into the data segment using + WIUSER, or do these idiots really expect us to figure out which segment + the address is in, so we can use a separate system call for it??! */ + errno = 0; + call_ptrace (addr < text_end ? PT_WIUSER : PT_WDUSER, inferior_pid, + (PTRACE_ARG3_TYPE) addr, + buffer[i]); + if (errno) + return 0; + } + } + else + { + /* Read all the longwords */ + for (i = 0; i < count; i++, addr += sizeof (int)) + { + errno = 0; + buffer[i] = call_ptrace (addr < text_end ? PT_RIUSER : PT_RDUSER, + inferior_pid, (PTRACE_ARG3_TYPE) addr, 0); + if (errno) + return 0; + QUIT; + } + + /* Copy appropriate bytes out of the buffer. */ + memcpy (myaddr, (char *) buffer + (memaddr & (sizeof (int) - 1)), len); + } + return len; +} diff --git a/contrib/gdb/gdb/hppam3-nat.c b/contrib/gdb/gdb/hppam3-nat.c new file mode 100644 index 0000000000000..95a66b05fefd3 --- /dev/null +++ b/contrib/gdb/gdb/hppam3-nat.c @@ -0,0 +1,141 @@ +/* Low level interface to HP800 running mach 4.0. + Copyright (C) 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" +#include "floatformat.h" + +#include <stdio.h> + +#include <mach.h> +#include <mach/message.h> +#include <mach/exception.h> +#include <mach_error.h> + +#include <target.h> + +/* + * Fetch inferiors registers for gdb. + * REGNO specifies which (as gdb views it) register, -1 for all. + */ + +void +fetch_inferior_registers (regno) + int regno; +{ + kern_return_t ret; + thread_state_data_t state; + unsigned int stateCnt = TRACE_FLAVOR_SIZE; + int index; + + if (! MACH_PORT_VALID (current_thread)) + error ("fetch inferior registers: Invalid thread"); + + if (must_suspend_thread) + setup_thread (current_thread, 1); + + ret = thread_get_state (current_thread, + TRACE_FLAVOR, + state, + &stateCnt); + + if (ret != KERN_SUCCESS) + warning ("fetch_inferior_registers: %s ", + mach_error_string (ret)); + else + { + for (index = 0; index < NUM_REGS; index++) + supply_register (index,(void*)&state[index]); + } + + if (must_suspend_thread) + setup_thread (current_thread, 0); +} + +/* Store our register values back into the inferior. + * If REGNO is -1, do this for all registers. + * Otherwise, REGNO specifies which register + * + * On mach3 all registers are always saved in one call. + */ +void +store_inferior_registers (regno) + int regno; +{ + kern_return_t ret; + thread_state_data_t state; + unsigned int stateCnt = TRACE_FLAVOR_SIZE; + register int index; + + if (! MACH_PORT_VALID (current_thread)) + error ("store inferior registers: Invalid thread"); + + if (must_suspend_thread) + setup_thread (current_thread, 1); + + /* Fetch the state of the current thread */ + ret = thread_get_state (current_thread, + TRACE_FLAVOR, + state, + &stateCnt); + + if (ret != KERN_SUCCESS) + { + warning ("store_inferior_registers (get): %s", + mach_error_string (ret)); + if (must_suspend_thread) + setup_thread (current_thread, 0); + return; + } + + + /* move gdb's registers to thread's state + * + * Since we save all registers anyway, save the ones + * that gdb thinks are valid (e.g. ignore the regno + * parameter) + */ + if (regno > 0 && regno < NUM_REGS ) + { + memcpy(&state[regno], ®isters[REGISTER_BYTE (regno)], + REGISTER_RAW_SIZE(regno)); + } + else + { + for (index = 0; index < NUM_REGS; index++) + memcpy(&state[index], ®isters[REGISTER_BYTE (index)], + REGISTER_RAW_SIZE(index)); +/* state[index] = registers[REGISTER_BYTE (index)];*/ + + } + + /* Write gdb's current view of register to the thread + */ + ret = thread_set_state (current_thread, + TRACE_FLAVOR, + state, + TRACE_FLAVOR_SIZE); + + if (ret != KERN_SUCCESS) + warning ("store_inferior_registers (set): %s", + mach_error_string (ret)); + + if (must_suspend_thread) + setup_thread (current_thread, 0); +} diff --git a/contrib/gdb/gdb/hpread.c b/contrib/gdb/gdb/hpread.c new file mode 100644 index 0000000000000..e902169286d0e --- /dev/null +++ b/contrib/gdb/gdb/hpread.c @@ -0,0 +1,2052 @@ +/* Read hp debug symbols and convert to internal format, for GDB. + Copyright 1993, 1996 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Written by the Center for Software Science at the University of Utah + and by Cygnus Support. */ + +#include "defs.h" +#include "bfd.h" +#include "gdb_string.h" +#include "hp-symtab.h" +#include "syms.h" +#include "symtab.h" +#include "symfile.h" +#include "objfiles.h" +#include "buildsym.h" +#include "complaints.h" +#include "gdb-stabs.h" +#include "gdbtypes.h" +#include "demangle.h" + +/* Private information attached to an objfile which we use to find + and internalize the HP C debug symbols within that objfile. */ + +struct hpread_symfile_info +{ + /* The contents of each of the debug sections (there are 4 of them). */ + char *gntt; + char *lntt; + char *slt; + char *vt; + + /* We keep the size of the $VT$ section for range checking. */ + unsigned int vt_size; + + /* Some routines still need to know the number of symbols in the + main debug sections ($LNTT$ and $GNTT$). */ + unsigned int lntt_symcount; + unsigned int gntt_symcount; + + /* To keep track of all the types we've processed. */ + struct type **type_vector; + int type_vector_length; + + /* Keeps track of the beginning of a range of source lines. */ + sltpointer sl_index; + + /* Some state variables we'll need. */ + int within_function; + + /* Keep track of the current function's address. We may need to look + up something based on this address. */ + unsigned int current_function_value; +}; + +/* Accessor macros to get at the fields. */ +#define HPUX_SYMFILE_INFO(o) \ + ((struct hpread_symfile_info *)((o)->sym_private)) +#define GNTT(o) (HPUX_SYMFILE_INFO(o)->gntt) +#define LNTT(o) (HPUX_SYMFILE_INFO(o)->lntt) +#define SLT(o) (HPUX_SYMFILE_INFO(o)->slt) +#define VT(o) (HPUX_SYMFILE_INFO(o)->vt) +#define VT_SIZE(o) (HPUX_SYMFILE_INFO(o)->vt_size) +#define LNTT_SYMCOUNT(o) (HPUX_SYMFILE_INFO(o)->lntt_symcount) +#define GNTT_SYMCOUNT(o) (HPUX_SYMFILE_INFO(o)->gntt_symcount) +#define TYPE_VECTOR(o) (HPUX_SYMFILE_INFO(o)->type_vector) +#define TYPE_VECTOR_LENGTH(o) (HPUX_SYMFILE_INFO(o)->type_vector_length) +#define SL_INDEX(o) (HPUX_SYMFILE_INFO(o)->sl_index) +#define WITHIN_FUNCTION(o) (HPUX_SYMFILE_INFO(o)->within_function) +#define CURRENT_FUNCTION_VALUE(o) (HPUX_SYMFILE_INFO(o)->current_function_value) + +/* Given the native debug symbol SYM, set NAMEP to the name associated + with the debug symbol. Note we may be called with a debug symbol which + has no associated name, in that case we return an empty string. + + Also note we "know" that the name for any symbol is always in the + same place. Hence we don't have to conditionalize on the symbol type. */ +#define SET_NAMESTRING(SYM, NAMEP, OBJFILE) \ + if (! hpread_has_name ((SYM)->dblock.kind)) \ + *NAMEP = ""; \ + else if (((unsigned)(SYM)->dsfile.name) >= VT_SIZE (OBJFILE)) \ + { \ + complain (&string_table_offset_complaint, (char *) symnum); \ + *NAMEP = ""; \ + } \ + else \ + *NAMEP = (SYM)->dsfile.name + VT (OBJFILE) + +/* We put a pointer to this structure in the read_symtab_private field + of the psymtab. */ + +struct symloc +{ + /* The offset within the file symbol table of first local symbol for + this file. */ + + int ldsymoff; + + /* Length (in bytes) of the section of the symbol table devoted to + this file's symbols (actually, the section bracketed may contain + more than just this file's symbols). If ldsymlen is 0, the only + reason for this thing's existence is the dependency list. + Nothing else will happen when it is read in. */ + + int ldsymlen; +}; + +#define LDSYMOFF(p) (((struct symloc *)((p)->read_symtab_private))->ldsymoff) +#define LDSYMLEN(p) (((struct symloc *)((p)->read_symtab_private))->ldsymlen) +#define SYMLOC(p) ((struct symloc *)((p)->read_symtab_private)) + +/* FIXME: Shouldn't this stuff be in a .h file somewhere? */ +/* Nonzero means give verbose info on gdb action. */ +extern int info_verbose; + +/* Complaints about the symbols we have encountered. */ +extern struct complaint string_table_offset_complaint; +extern struct complaint lbrac_unmatched_complaint; +extern struct complaint lbrac_mismatch_complaint; + + +void hpread_symfile_init PARAMS ((struct objfile *)); + +static struct type *hpread_alloc_type + PARAMS ((dnttpointer, struct objfile *)); + +static struct type **hpread_lookup_type + PARAMS ((dnttpointer, struct objfile *)); + +static struct type *hpread_read_enum_type + PARAMS ((dnttpointer, union dnttentry *, struct objfile *)); + +static struct type *hpread_read_set_type + PARAMS ((dnttpointer, union dnttentry *, struct objfile *)); + +static struct type *hpread_read_subrange_type + PARAMS ((dnttpointer, union dnttentry *, struct objfile *)); + +static struct type *hpread_read_struct_type + PARAMS ((dnttpointer, union dnttentry *, struct objfile *)); + +void hpread_build_psymtabs + PARAMS ((struct objfile *, struct section_offsets *, int)); + +void hpread_symfile_finish PARAMS ((struct objfile *)); + +static struct partial_symtab *hpread_start_psymtab + PARAMS ((struct objfile *, struct section_offsets *, char *, CORE_ADDR, int, + struct partial_symbol **, struct partial_symbol **)); + +static struct partial_symtab *hpread_end_psymtab + PARAMS ((struct partial_symtab *, char **, int, int, CORE_ADDR, + struct partial_symtab **, int)); + +static struct symtab *hpread_expand_symtab + PARAMS ((struct objfile *, int, int, CORE_ADDR, int, + struct section_offsets *, char *)); + +static void hpread_process_one_debug_symbol + PARAMS ((union dnttentry *, char *, struct section_offsets *, + struct objfile *, CORE_ADDR, int, char *, int)); + +static sltpointer hpread_record_lines + PARAMS ((struct subfile *, sltpointer, sltpointer, + struct objfile *, CORE_ADDR)); + +static struct type *hpread_read_function_type + PARAMS ((dnttpointer, union dnttentry *, struct objfile *)); + +static struct type * hpread_type_lookup + PARAMS ((dnttpointer, struct objfile *)); + +static unsigned long hpread_get_depth + PARAMS ((sltpointer, struct objfile *)); + +static unsigned long hpread_get_line + PARAMS ((sltpointer, struct objfile *)); + +static CORE_ADDR hpread_get_location + PARAMS ((sltpointer, struct objfile *)); + +static int hpread_type_translate PARAMS ((dnttpointer)); +static unsigned long hpread_get_textlow PARAMS ((int, int, struct objfile *)); +static union dnttentry *hpread_get_gntt PARAMS ((int, struct objfile *)); +static union dnttentry *hpread_get_lntt PARAMS ((int, struct objfile *)); +static union sltentry *hpread_get_slt PARAMS ((int, struct objfile *)); +static void hpread_psymtab_to_symtab PARAMS ((struct partial_symtab *)); +static void hpread_psymtab_to_symtab_1 PARAMS ((struct partial_symtab *)); +static int hpread_has_name PARAMS ((enum dntt_entry_type)); + + +/* Initialization for reading native HP C debug symbols from OBJFILE. + + It's only purpose in life is to set up the symbol reader's private + per-objfile data structures, and read in the raw contents of the debug + sections (attaching pointers to the debug info into the private data + structures). + + Since BFD doesn't know how to read debug symbols in a format-independent + way (and may never do so...), we have to do it ourselves. Note we may + be called on a file without native HP C debugging symbols. + FIXME, there should be a cleaner peephole into the BFD environment here. */ + +void +hpread_symfile_init (objfile) + struct objfile *objfile; +{ + asection *vt_section, *slt_section, *lntt_section, *gntt_section; + + /* Allocate struct to keep track of the symfile */ + objfile->sym_private = (PTR) + xmmalloc (objfile->md, sizeof (struct hpread_symfile_info)); + memset (objfile->sym_private, 0, sizeof (struct hpread_symfile_info)); + + /* We haven't read in any types yet. */ + TYPE_VECTOR (objfile) = 0; + + /* Read in data from the $GNTT$ subspace. */ + gntt_section = bfd_get_section_by_name (objfile->obfd, "$GNTT$"); + if (!gntt_section) + return; + + GNTT (objfile) + = obstack_alloc (&objfile->symbol_obstack, + bfd_section_size (objfile->obfd, gntt_section)); + + bfd_get_section_contents (objfile->obfd, gntt_section, GNTT (objfile), + 0, bfd_section_size (objfile->obfd, gntt_section)); + + GNTT_SYMCOUNT (objfile) + = bfd_section_size (objfile->obfd, gntt_section) + / sizeof (struct dntt_type_block); + + /* Read in data from the $LNTT$ subspace. Also keep track of the number + of LNTT symbols. */ + lntt_section = bfd_get_section_by_name (objfile->obfd, "$LNTT$"); + if (!lntt_section) + return; + + LNTT (objfile) + = obstack_alloc (&objfile->symbol_obstack, + bfd_section_size (objfile->obfd, lntt_section)); + + bfd_get_section_contents (objfile->obfd, lntt_section, LNTT (objfile), + 0, bfd_section_size (objfile->obfd, lntt_section)); + + LNTT_SYMCOUNT (objfile) + = bfd_section_size (objfile->obfd, lntt_section) + / sizeof (struct dntt_type_block); + + /* Read in data from the $SLT$ subspace. $SLT$ contains information + on source line numbers. */ + slt_section = bfd_get_section_by_name (objfile->obfd, "$SLT$"); + if (!slt_section) + return; + + SLT (objfile) = + obstack_alloc (&objfile->symbol_obstack, + bfd_section_size (objfile->obfd, slt_section)); + + bfd_get_section_contents (objfile->obfd, slt_section, SLT (objfile), + 0, bfd_section_size (objfile->obfd, slt_section)); + + /* Read in data from the $VT$ subspace. $VT$ contains things like + names and constants. Keep track of the number of symbols in the VT. */ + vt_section = bfd_get_section_by_name (objfile->obfd, "$VT$"); + if (!vt_section) + return; + + VT_SIZE (objfile) = bfd_section_size (objfile->obfd, vt_section); + + VT (objfile) = + (char *) obstack_alloc (&objfile->symbol_obstack, + VT_SIZE (objfile)); + + bfd_get_section_contents (objfile->obfd, vt_section, VT (objfile), + 0, VT_SIZE (objfile)); +} + +/* Scan and build partial symbols for a symbol file. + + The minimal symbol table (either SOM or HP a.out) has already been + read in; all we need to do is setup partial symbols based on the + native debugging information. + + We assume hpread_symfile_init has been called to initialize the + symbol reader's private data structures. + + SECTION_OFFSETS contains offsets relative to which the symbols in the + various sections are (depending where the sections were actually loaded). + MAINLINE is true if we are reading the main symbol + table (as opposed to a shared lib or dynamically loaded file). */ + +void +hpread_build_psymtabs (objfile, section_offsets, mainline) + struct objfile *objfile; + struct section_offsets *section_offsets; + int mainline; +{ + char *namestring; + int past_first_source_file = 0; + struct cleanup *old_chain; + + int hp_symnum, symcount, i; + + union dnttentry *dn_bufp; + unsigned long valu; + char *p; + int texthigh = 0; + int have_name = 0; + + /* Current partial symtab */ + struct partial_symtab *pst; + + /* List of current psymtab's include files */ + char **psymtab_include_list; + int includes_allocated; + int includes_used; + + /* Index within current psymtab dependency list */ + struct partial_symtab **dependency_list; + int dependencies_used, dependencies_allocated; + + /* Just in case the stabs reader left turds lying around. */ + pending_blocks = 0; + make_cleanup (really_free_pendings, 0); + + pst = (struct partial_symtab *) 0; + + /* We shouldn't use alloca, instead use malloc/free. Doing so avoids + a number of problems with cross compilation and creating useless holes + in the stack when we have to allocate new entries. FIXME. */ + + includes_allocated = 30; + includes_used = 0; + psymtab_include_list = (char **) alloca (includes_allocated * + sizeof (char *)); + + dependencies_allocated = 30; + dependencies_used = 0; + dependency_list = + (struct partial_symtab **) alloca (dependencies_allocated * + sizeof (struct partial_symtab *)); + + old_chain = make_cleanup (free_objfile, objfile); + + last_source_file = 0; + + /* Make two passes, one ofr the GNTT symbols, the other for the + LNTT symbols. */ + for (i = 0; i < 1; i++) + { + int within_function = 0; + + if (i) + symcount = GNTT_SYMCOUNT (objfile); + else + symcount = LNTT_SYMCOUNT (objfile); + + for (hp_symnum = 0; hp_symnum < symcount; hp_symnum++) + { + QUIT; + if (i) + dn_bufp = hpread_get_gntt (hp_symnum, objfile); + else + dn_bufp = hpread_get_lntt (hp_symnum, objfile); + + if (dn_bufp->dblock.extension) + continue; + + /* Only handle things which are necessary for minimal symbols. + everything else is ignored. */ + switch (dn_bufp->dblock.kind) + { + case DNTT_TYPE_SRCFILE: + { + /* A source file of some kind. Note this may simply + be an included file. */ + SET_NAMESTRING (dn_bufp, &namestring, objfile); + + /* Check if this is the source file we are already working + with. */ + if (pst && !strcmp (namestring, pst->filename)) + continue; + + /* Check if this is an include file, if so check if we have + already seen it. Add it to the include list */ + p = strrchr (namestring, '.'); + if (!strcmp (p, ".h")) + { + int j, found; + + found = 0; + for (j = 0; j < includes_used; j++) + if (!strcmp (namestring, psymtab_include_list[j])) + { + found = 1; + break; + } + if (found) + continue; + + /* Add it to the list of includes seen so far and + allocate more include space if necessary. */ + psymtab_include_list[includes_used++] = namestring; + if (includes_used >= includes_allocated) + { + char **orig = psymtab_include_list; + + psymtab_include_list = (char **) + alloca ((includes_allocated *= 2) * + sizeof (char *)); + memcpy ((PTR) psymtab_include_list, (PTR) orig, + includes_used * sizeof (char *)); + } + continue; + } + + + if (pst) + { + if (!have_name) + { + pst->filename = (char *) + obstack_alloc (&pst->objfile->psymbol_obstack, + strlen (namestring) + 1); + strcpy (pst->filename, namestring); + have_name = 1; + continue; + } + continue; + } + + /* This is a bonafide new source file. + End the current partial symtab and start a new one. */ + + if (pst && past_first_source_file) + { + hpread_end_psymtab (pst, psymtab_include_list, + includes_used, + (hp_symnum + * sizeof (struct dntt_type_block)), + texthigh, + dependency_list, dependencies_used); + pst = (struct partial_symtab *) 0; + includes_used = 0; + dependencies_used = 0; + } + else + past_first_source_file = 1; + + valu = hpread_get_textlow (i, hp_symnum, objfile); + valu += ANOFFSET (section_offsets, SECT_OFF_TEXT); + pst = hpread_start_psymtab (objfile, section_offsets, + namestring, valu, + (hp_symnum + * sizeof (struct dntt_type_block)), + objfile->global_psymbols.next, + objfile->static_psymbols.next); + texthigh = valu; + have_name = 1; + continue; + } + + case DNTT_TYPE_MODULE: + /* A source file. It's still unclear to me what the + real difference between a DNTT_TYPE_SRCFILE and DNTT_TYPE_MODULE + is supposed to be. */ + SET_NAMESTRING (dn_bufp, &namestring, objfile); + valu = hpread_get_textlow (i, hp_symnum, objfile); + valu += ANOFFSET (section_offsets, SECT_OFF_TEXT); + if (!pst) + { + pst = hpread_start_psymtab (objfile, section_offsets, + namestring, valu, + (hp_symnum + * sizeof (struct dntt_type_block)), + objfile->global_psymbols.next, + objfile->static_psymbols.next); + texthigh = valu; + have_name = 0; + } + continue; + case DNTT_TYPE_FUNCTION: + case DNTT_TYPE_ENTRY: + /* The beginning of a function. DNTT_TYPE_ENTRY may also denote + a secondary entry point. */ + valu = dn_bufp->dfunc.hiaddr + ANOFFSET (section_offsets, + SECT_OFF_TEXT); + if (valu > texthigh) + texthigh = valu; + valu = dn_bufp->dfunc.lowaddr + + ANOFFSET (section_offsets, SECT_OFF_TEXT); + SET_NAMESTRING (dn_bufp, &namestring, objfile); + add_psymbol_to_list (namestring, strlen (namestring), + VAR_NAMESPACE, LOC_BLOCK, + &objfile->static_psymbols, valu, + 0, language_unknown, objfile); + within_function = 1; + continue; + case DNTT_TYPE_BEGIN: + case DNTT_TYPE_END: + /* Scope block begin/end. We only care about function + and file blocks right now. */ + if (dn_bufp->dend.endkind == DNTT_TYPE_MODULE) + { + hpread_end_psymtab (pst, psymtab_include_list, includes_used, + (hp_symnum + * sizeof (struct dntt_type_block)), + texthigh, + dependency_list, dependencies_used); + pst = (struct partial_symtab *) 0; + includes_used = 0; + dependencies_used = 0; + have_name = 0; + } + if (dn_bufp->dend.endkind == DNTT_TYPE_FUNCTION) + within_function = 0; + continue; + case DNTT_TYPE_SVAR: + case DNTT_TYPE_DVAR: + case DNTT_TYPE_TYPEDEF: + case DNTT_TYPE_TAGDEF: + { + /* Variables, typedefs an the like. */ + enum address_class storage; + namespace_enum namespace; + + /* Don't add locals to the partial symbol table. */ + if (within_function + && (dn_bufp->dblock.kind == DNTT_TYPE_SVAR + || dn_bufp->dblock.kind == DNTT_TYPE_DVAR)) + continue; + + /* TAGDEFs go into the structure namespace. */ + if (dn_bufp->dblock.kind == DNTT_TYPE_TAGDEF) + namespace = STRUCT_NAMESPACE; + else + namespace = VAR_NAMESPACE; + + /* What kind of "storage" does this use? */ + if (dn_bufp->dblock.kind == DNTT_TYPE_SVAR) + storage = LOC_STATIC; + else if (dn_bufp->dblock.kind == DNTT_TYPE_DVAR + && dn_bufp->ddvar.regvar) + storage = LOC_REGISTER; + else if (dn_bufp->dblock.kind == DNTT_TYPE_DVAR) + storage = LOC_LOCAL; + else + storage = LOC_UNDEF; + + SET_NAMESTRING (dn_bufp, &namestring, objfile); + if (!pst) + { + pst = hpread_start_psymtab (objfile, section_offsets, + "globals", 0, + (hp_symnum + * sizeof (struct dntt_type_block)), + objfile->global_psymbols.next, + objfile->static_psymbols.next); + } + if (dn_bufp->dsvar.global) + { + add_psymbol_to_list (namestring, strlen (namestring), + namespace, storage, + &objfile->global_psymbols, + dn_bufp->dsvar.location, + 0, language_unknown, objfile); + } + else + { + add_psymbol_to_list (namestring, strlen (namestring), + namespace, storage, + &objfile->static_psymbols, + dn_bufp->dsvar.location, + 0, language_unknown, objfile); + } + continue; + } + case DNTT_TYPE_MEMENUM: + case DNTT_TYPE_CONST: + /* Constants and members of enumerated types. */ + SET_NAMESTRING (dn_bufp, &namestring, objfile); + if (!pst) + { + pst = hpread_start_psymtab (objfile, section_offsets, + "globals", 0, + (hp_symnum + * sizeof (struct dntt_type_block)), + objfile->global_psymbols.next, + objfile->static_psymbols.next); + } + add_psymbol_to_list (namestring, strlen (namestring), + VAR_NAMESPACE, LOC_CONST, + &objfile->static_psymbols, 0, + 0, language_unknown, objfile); + continue; + default: + continue; + } + } + } + + /* End any pending partial symbol table. */ + if (pst) + { + hpread_end_psymtab (pst, psymtab_include_list, includes_used, + hp_symnum * sizeof (struct dntt_type_block), + 0, dependency_list, dependencies_used); + } + + discard_cleanups (old_chain); +} + +/* Perform any local cleanups required when we are done with a particular + objfile. I.E, we are in the process of discarding all symbol information + for an objfile, freeing up all memory held for it, and unlinking the + objfile struct from the global list of known objfiles. */ + +void +hpread_symfile_finish (objfile) + struct objfile *objfile; +{ + if (objfile->sym_private != NULL) + { + mfree (objfile->md, objfile->sym_private); + } +} + + +/* The remaining functions are all for internal use only. */ + +/* Various small functions to get entries in the debug symbol sections. */ + +static union dnttentry * +hpread_get_lntt (index, objfile) + int index; + struct objfile *objfile; +{ + return (union dnttentry *) + &(LNTT (objfile)[(index * sizeof (struct dntt_type_block))]); +} + +static union dnttentry * +hpread_get_gntt (index, objfile) + int index; + struct objfile *objfile; +{ + return (union dnttentry *) + &(GNTT (objfile)[(index * sizeof (struct dntt_type_block))]); +} + +static union sltentry * +hpread_get_slt (index, objfile) + int index; + struct objfile *objfile; +{ + return (union sltentry *)&(SLT (objfile)[index * sizeof (union sltentry)]); +} + +/* Get the low address associated with some symbol (typically the start + of a particular source file or module). Since that information is not + stored as part of the DNTT_TYPE_MODULE or DNTT_TYPE_SRCFILE symbol we must infer it from + the existance of DNTT_TYPE_FUNCTION symbols. */ + +static unsigned long +hpread_get_textlow (global, index, objfile) + int global; + int index; + struct objfile *objfile; +{ + union dnttentry *dn_bufp; + struct minimal_symbol *msymbol; + + /* Look for a DNTT_TYPE_FUNCTION symbol. */ + do + { + if (global) + dn_bufp = hpread_get_gntt (index++, objfile); + else + dn_bufp = hpread_get_lntt (index++, objfile); + } while (dn_bufp->dblock.kind != DNTT_TYPE_FUNCTION + && dn_bufp->dblock.kind != DNTT_TYPE_END); + + /* Avoid going past a DNTT_TYPE_END when looking for a DNTT_TYPE_FUNCTION. This + might happen when a sourcefile has no functions. */ + if (dn_bufp->dblock.kind == DNTT_TYPE_END) + return 0; + + /* The minimal symbols are typically more accurate for some reason. */ + msymbol = lookup_minimal_symbol (dn_bufp->dfunc.name + VT (objfile), NULL, + objfile); + if (msymbol) + return SYMBOL_VALUE_ADDRESS (msymbol); + else + return dn_bufp->dfunc.lowaddr; +} + +/* Get the nesting depth for the source line identified by INDEX. */ + +static unsigned long +hpread_get_depth (index, objfile) + sltpointer index; + struct objfile *objfile; +{ + union sltentry *sl_bufp; + + sl_bufp = hpread_get_slt (index, objfile); + return sl_bufp->sspec.backptr.dnttp.index; +} + +/* Get the source line number the the line identified by INDEX. */ + +static unsigned long +hpread_get_line (index, objfile) + sltpointer index; + struct objfile *objfile; +{ + union sltentry *sl_bufp; + + sl_bufp = hpread_get_slt (index, objfile); + return sl_bufp->snorm.line; +} + +static CORE_ADDR +hpread_get_location (index, objfile) + sltpointer index; + struct objfile *objfile; +{ + union sltentry *sl_bufp; + int i; + + /* code location of special sltentrys is determined from context */ + sl_bufp = hpread_get_slt (index, objfile); + + if (sl_bufp->snorm.sltdesc == SLT_END) + { + /* find previous normal sltentry and get address */ + for (i = 0; ((sl_bufp->snorm.sltdesc != SLT_NORMAL) && + (sl_bufp->snorm.sltdesc != SLT_EXIT)); i++) + sl_bufp = hpread_get_slt (index - i, objfile); + return sl_bufp->snorm.address; + } + + /* find next normal sltentry and get address */ + for (i = 0; ((sl_bufp->snorm.sltdesc != SLT_NORMAL) && + (sl_bufp->snorm.sltdesc != SLT_EXIT)); i++) + sl_bufp = hpread_get_slt (index + i, objfile); + return sl_bufp->snorm.address; +} + + +/* Return 1 if an HP debug symbol of type KIND has a name associated with + it, else return 0. */ + +static int +hpread_has_name (kind) + enum dntt_entry_type kind; +{ + switch (kind) + { + case DNTT_TYPE_SRCFILE: + case DNTT_TYPE_MODULE: + case DNTT_TYPE_FUNCTION: + case DNTT_TYPE_ENTRY: + case DNTT_TYPE_IMPORT: + case DNTT_TYPE_LABEL: + case DNTT_TYPE_FPARAM: + case DNTT_TYPE_SVAR: + case DNTT_TYPE_DVAR: + case DNTT_TYPE_CONST: + case DNTT_TYPE_TYPEDEF: + case DNTT_TYPE_TAGDEF: + case DNTT_TYPE_MEMENUM: + case DNTT_TYPE_FIELD: + case DNTT_TYPE_SA: + return 1; + + case DNTT_TYPE_BEGIN: + case DNTT_TYPE_END: + case DNTT_TYPE_WITH: + case DNTT_TYPE_COMMON: + case DNTT_TYPE_POINTER: + case DNTT_TYPE_ENUM: + case DNTT_TYPE_SET: + case DNTT_TYPE_SUBRANGE: + case DNTT_TYPE_ARRAY: + case DNTT_TYPE_STRUCT: + case DNTT_TYPE_UNION: + case DNTT_TYPE_VARIANT: + case DNTT_TYPE_FILE: + case DNTT_TYPE_FUNCTYPE: + case DNTT_TYPE_COBSTRUCT: + case DNTT_TYPE_XREF: + case DNTT_TYPE_MACRO: + default: + return 0; + } +} + +/* Allocate and partially fill a partial symtab. It will be + completely filled at the end of the symbol list. + + SYMFILE_NAME is the name of the symbol-file we are reading from, and ADDR + is the address relative to which its symbols are (incremental) or 0 + (normal). */ + +static struct partial_symtab * +hpread_start_psymtab (objfile, section_offsets, + filename, textlow, ldsymoff, global_syms, static_syms) + struct objfile *objfile; + struct section_offsets *section_offsets; + char *filename; + CORE_ADDR textlow; + int ldsymoff; + struct partial_symbol **global_syms; + struct partial_symbol **static_syms; +{ + struct partial_symtab *result = + start_psymtab_common (objfile, section_offsets, + filename, textlow, global_syms, static_syms); + + result->read_symtab_private = (char *) + obstack_alloc (&objfile->psymbol_obstack, sizeof (struct symloc)); + LDSYMOFF (result) = ldsymoff; + result->read_symtab = hpread_psymtab_to_symtab; + + return result; +} + + +/* Close off the current usage of PST. + Returns PST or NULL if the partial symtab was empty and thrown away. + + FIXME: List variables and peculiarities of same. */ + +static struct partial_symtab * +hpread_end_psymtab (pst, include_list, num_includes, capping_symbol_offset, + capping_text, dependency_list, number_dependencies) + struct partial_symtab *pst; + char **include_list; + int num_includes; + int capping_symbol_offset; + CORE_ADDR capping_text; + struct partial_symtab **dependency_list; + int number_dependencies; +{ + int i; + struct objfile *objfile = pst -> objfile; + + if (capping_symbol_offset != -1) + LDSYMLEN(pst) = capping_symbol_offset - LDSYMOFF(pst); + pst->texthigh = capping_text; + + pst->n_global_syms = + objfile->global_psymbols.next - (objfile->global_psymbols.list + pst->globals_offset); + pst->n_static_syms = + objfile->static_psymbols.next - (objfile->static_psymbols.list + pst->statics_offset); + + pst->number_of_dependencies = number_dependencies; + if (number_dependencies) + { + pst->dependencies = (struct partial_symtab **) + obstack_alloc (&objfile->psymbol_obstack, + number_dependencies * sizeof (struct partial_symtab *)); + memcpy (pst->dependencies, dependency_list, + number_dependencies * sizeof (struct partial_symtab *)); + } + else + pst->dependencies = 0; + + for (i = 0; i < num_includes; i++) + { + struct partial_symtab *subpst = + allocate_psymtab (include_list[i], objfile); + + subpst->section_offsets = pst->section_offsets; + subpst->read_symtab_private = + (char *) obstack_alloc (&objfile->psymbol_obstack, + sizeof (struct symloc)); + LDSYMOFF(subpst) = + LDSYMLEN(subpst) = + subpst->textlow = + subpst->texthigh = 0; + + /* We could save slight bits of space by only making one of these, + shared by the entire set of include files. FIXME-someday. */ + subpst->dependencies = (struct partial_symtab **) + obstack_alloc (&objfile->psymbol_obstack, + sizeof (struct partial_symtab *)); + subpst->dependencies[0] = pst; + subpst->number_of_dependencies = 1; + + subpst->globals_offset = + subpst->n_global_syms = + subpst->statics_offset = + subpst->n_static_syms = 0; + + subpst->readin = 0; + subpst->symtab = 0; + subpst->read_symtab = pst->read_symtab; + } + + sort_pst_symbols (pst); + + /* If there is already a psymtab or symtab for a file of this name, remove it. + (If there is a symtab, more drastic things also happen.) + This happens in VxWorks. */ + free_named_symtabs (pst->filename); + + if (num_includes == 0 + && number_dependencies == 0 + && pst->n_global_syms == 0 + && pst->n_static_syms == 0) + { + /* Throw away this psymtab, it's empty. We can't deallocate it, since + it is on the obstack, but we can forget to chain it on the list. */ + /* Empty psymtabs happen as a result of header files which don't have + any symbols in them. There can be a lot of them. But this check + is wrong, in that a psymtab with N_SLINE entries but nothing else + is not empty, but we don't realize that. Fixing that without slowing + things down might be tricky. */ + struct partial_symtab *prev_pst; + + /* First, snip it out of the psymtab chain */ + + if (pst->objfile->psymtabs == pst) + pst->objfile->psymtabs = pst->next; + else + for (prev_pst = pst->objfile->psymtabs; prev_pst; prev_pst = pst->next) + if (prev_pst->next == pst) + prev_pst->next = pst->next; + + /* Next, put it on a free list for recycling */ + + pst->next = pst->objfile->free_psymtabs; + pst->objfile->free_psymtabs = pst; + + /* Indicate that psymtab was thrown away. */ + pst = (struct partial_symtab *)NULL; + } + return pst; +} + +/* Do the dirty work of reading in the full symbol from a partial symbol + table. */ + +static void +hpread_psymtab_to_symtab_1 (pst) + struct partial_symtab *pst; +{ + struct cleanup *old_chain; + int i; + + /* Get out quick if passed junk. */ + if (!pst) + return; + + /* Complain if we've already read in this symbol table. */ + if (pst->readin) + { + fprintf (stderr, "Psymtab for %s already read in. Shouldn't happen.\n", + pst->filename); + return; + } + + /* Read in all partial symtabs on which this one is dependent */ + for (i = 0; i < pst->number_of_dependencies; i++) + if (!pst->dependencies[i]->readin) + { + /* Inform about additional files that need to be read in. */ + if (info_verbose) + { + fputs_filtered (" ", stdout); + wrap_here (""); + fputs_filtered ("and ", stdout); + wrap_here (""); + printf_filtered ("%s...", pst->dependencies[i]->filename); + wrap_here (""); /* Flush output */ + fflush (stdout); + } + hpread_psymtab_to_symtab_1 (pst->dependencies[i]); + } + + /* If it's real... */ + if (LDSYMLEN (pst)) + { + /* Init stuff necessary for reading in symbols */ + buildsym_init (); + old_chain = make_cleanup (really_free_pendings, 0); + + pst->symtab = + hpread_expand_symtab (pst->objfile, LDSYMOFF (pst), LDSYMLEN (pst), + pst->textlow, pst->texthigh - pst->textlow, + pst->section_offsets, pst->filename); + sort_symtab_syms (pst->symtab); + + do_cleanups (old_chain); + } + + pst->readin = 1; +} + +/* Read in all of the symbols for a given psymtab for real. + Be verbose about it if the user wants that. */ + +static void +hpread_psymtab_to_symtab (pst) + struct partial_symtab *pst; +{ + /* Get out quick if given junk. */ + if (!pst) + return; + + /* Sanity check. */ + if (pst->readin) + { + fprintf (stderr, "Psymtab for %s already read in. Shouldn't happen.\n", + pst->filename); + return; + } + + if (LDSYMLEN (pst) || pst->number_of_dependencies) + { + /* Print the message now, before reading the string table, + to avoid disconcerting pauses. */ + if (info_verbose) + { + printf_filtered ("Reading in symbols for %s...", pst->filename); + fflush (stdout); + } + + hpread_psymtab_to_symtab_1 (pst); + + /* Match with global symbols. This only needs to be done once, + after all of the symtabs and dependencies have been read in. */ + scan_file_globals (pst->objfile); + + /* Finish up the debug error message. */ + if (info_verbose) + printf_filtered ("done.\n"); + } +} +/* Read in a defined section of a specific object file's symbols. + + DESC is the file descriptor for the file, positioned at the + beginning of the symtab + SYM_OFFSET is the offset within the file of + the beginning of the symbols we want to read + SYM_SIZE is the size of the symbol info to read in. + TEXT_OFFSET is the beginning of the text segment we are reading symbols for + TEXT_SIZE is the size of the text segment read in. + SECTION_OFFSETS are the relocation offsets which get added to each symbol. */ + +static struct symtab * +hpread_expand_symtab (objfile, sym_offset, sym_size, text_offset, text_size, + section_offsets, filename) + struct objfile *objfile; + int sym_offset; + int sym_size; + CORE_ADDR text_offset; + int text_size; + struct section_offsets *section_offsets; + char *filename; +{ + char *namestring; + union dnttentry *dn_bufp; + unsigned max_symnum; + + int sym_index = sym_offset / sizeof (struct dntt_type_block); + + current_objfile = objfile; + subfile_stack = 0; + + last_source_file = 0; + + dn_bufp = hpread_get_lntt (sym_index, objfile); + if (!((dn_bufp->dblock.kind == (unsigned char) DNTT_TYPE_SRCFILE) || + (dn_bufp->dblock.kind == (unsigned char) DNTT_TYPE_MODULE))) + start_symtab ("globals", NULL, 0); + + max_symnum = sym_size / sizeof (struct dntt_type_block); + + /* Read in and process each debug symbol within the specified range. */ + for (symnum = 0; + symnum < max_symnum; + symnum++) + { + QUIT; /* Allow this to be interruptable */ + dn_bufp = hpread_get_lntt (sym_index + symnum, objfile); + + if (dn_bufp->dblock.extension) + continue; + + /* Yow! We call SET_NAMESTRING on things without names! */ + SET_NAMESTRING (dn_bufp, &namestring, objfile); + + hpread_process_one_debug_symbol (dn_bufp, namestring, section_offsets, + objfile, text_offset, text_size, + filename, symnum + sym_index); + } + + current_objfile = NULL; + + return end_symtab (text_offset + text_size, objfile, 0); +} + + +/* Convert basic types from HP debug format into GDB internal format. */ + +static int +hpread_type_translate (typep) + dnttpointer typep; +{ + if (!typep.dntti.immediate) + abort (); + + switch (typep.dntti.type) + { + case HP_TYPE_BOOLEAN: + case HP_TYPE_BOOLEAN_S300_COMPAT: + case HP_TYPE_BOOLEAN_VAX_COMPAT: + return FT_BOOLEAN; + /* Ugh. No way to distinguish between signed and unsigned chars. */ + case HP_TYPE_CHAR: + case HP_TYPE_WIDE_CHAR: + return FT_CHAR; + case HP_TYPE_INT: + if (typep.dntti.bitlength <= 8) + return FT_CHAR; + if (typep.dntti.bitlength <= 16) + return FT_SHORT; + if (typep.dntti.bitlength <= 32) + return FT_INTEGER; + return FT_LONG_LONG; + case HP_TYPE_LONG: + return FT_LONG; + case HP_TYPE_UNSIGNED_LONG: + if (typep.dntti.bitlength <= 8) + return FT_UNSIGNED_CHAR; + if (typep.dntti.bitlength <= 16) + return FT_UNSIGNED_SHORT; + if (typep.dntti.bitlength <= 32) + return FT_UNSIGNED_LONG; + return FT_UNSIGNED_LONG_LONG; + case HP_TYPE_UNSIGNED_INT: + if (typep.dntti.bitlength <= 8) + return FT_UNSIGNED_CHAR; + if (typep.dntti.bitlength <= 16) + return FT_UNSIGNED_SHORT; + if (typep.dntti.bitlength <= 32) + return FT_UNSIGNED_INTEGER; + return FT_UNSIGNED_LONG_LONG; + case HP_TYPE_REAL: + case HP_TYPE_REAL_3000: + case HP_TYPE_DOUBLE: + if (typep.dntti.bitlength == 64) + return FT_DBL_PREC_FLOAT; + if (typep.dntti.bitlength == 128) + return FT_EXT_PREC_FLOAT; + return FT_FLOAT; + case HP_TYPE_COMPLEX: + case HP_TYPE_COMPLEXS3000: + if (typep.dntti.bitlength == 128) + return FT_DBL_PREC_COMPLEX; + if (typep.dntti.bitlength == 192) + return FT_EXT_PREC_COMPLEX; + return FT_COMPLEX; + case HP_TYPE_STRING200: + case HP_TYPE_LONGSTRING200: + case HP_TYPE_FTN_STRING_SPEC: + case HP_TYPE_MOD_STRING_SPEC: + case HP_TYPE_MOD_STRING_3000: + case HP_TYPE_FTN_STRING_S300_COMPAT: + case HP_TYPE_FTN_STRING_VAX_COMPAT: + return FT_STRING; + default: + abort (); + } +} + +/* Return the type associated with the index found in HP_TYPE. */ + +static struct type ** +hpread_lookup_type (hp_type, objfile) + dnttpointer hp_type; + struct objfile *objfile; +{ + unsigned old_len; + int index = hp_type.dnttp.index; + + if (hp_type.dntti.immediate) + return NULL; + + if (index < LNTT_SYMCOUNT (objfile)) + { + if (index >= TYPE_VECTOR_LENGTH (objfile)) + { + old_len = TYPE_VECTOR_LENGTH (objfile); + if (old_len == 0) + { + TYPE_VECTOR_LENGTH (objfile) = 100; + TYPE_VECTOR (objfile) = (struct type **) + xmalloc (TYPE_VECTOR_LENGTH (objfile) * sizeof (struct type *)); + } + while (index >= TYPE_VECTOR_LENGTH (objfile)) + TYPE_VECTOR_LENGTH (objfile) *= 2; + TYPE_VECTOR (objfile) = (struct type **) + xrealloc ((char *) TYPE_VECTOR (objfile), + (TYPE_VECTOR_LENGTH (objfile) * sizeof (struct type *))); + memset (&TYPE_VECTOR (objfile)[old_len], 0, + (TYPE_VECTOR_LENGTH (objfile) - old_len) * + sizeof (struct type *)); + } + return &TYPE_VECTOR (objfile)[index]; + } + else + return NULL; +} + +/* Possibly allocate a GDB internal type so we can internalize HP_TYPE. + Note we'll just return the address of a GDB internal type if we already + have it lying around. */ + +static struct type * +hpread_alloc_type (hp_type, objfile) + dnttpointer hp_type; + struct objfile *objfile; +{ + struct type **type_addr; + + type_addr = hpread_lookup_type (hp_type, objfile); + if (*type_addr == 0) + *type_addr = alloc_type (objfile); + + TYPE_CPLUS_SPECIFIC (*type_addr) + = (struct cplus_struct_type *) &cplus_struct_default; + return *type_addr; +} + +/* Read a native enumerated type and return it in GDB internal form. */ + +static struct type * +hpread_read_enum_type (hp_type, dn_bufp, objfile) + dnttpointer hp_type; + union dnttentry *dn_bufp; + struct objfile *objfile; +{ + struct type *type; + struct pending **symlist, *osyms, *syms; + int o_nsyms, nsyms = 0; + dnttpointer mem; + union dnttentry *memp; + char *name; + long n; + struct symbol *sym; + + type = hpread_alloc_type (hp_type, objfile); + TYPE_LENGTH (type) = 4; + + symlist = &file_symbols; + osyms = *symlist; + o_nsyms = osyms ? osyms->nsyms : 0; + + /* Get a name for each member and add it to our list of members. */ + mem = dn_bufp->denum.firstmem; + while (mem.dnttp.extension && mem.word != DNTTNIL) + { + memp = hpread_get_lntt (mem.dnttp.index, objfile); + + name = VT (objfile) + memp->dmember.name; + sym = (struct symbol *) obstack_alloc (&objfile->symbol_obstack, + sizeof (struct symbol)); + memset (sym, 0, sizeof (struct symbol)); + SYMBOL_NAME (sym) = name; + SYMBOL_CLASS (sym) = LOC_CONST; + SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE; + SYMBOL_VALUE (sym) = memp->dmember.value; + add_symbol_to_list (sym, symlist); + nsyms++; + mem = memp->dmember.nextmem; + } + + /* Now that we know more about the enum, fill in more info. */ + TYPE_CODE (type) = TYPE_CODE_ENUM; + TYPE_FLAGS (type) &= ~TYPE_FLAG_STUB; + TYPE_NFIELDS (type) = nsyms; + TYPE_FIELDS (type) = (struct field *) + obstack_alloc (&objfile->type_obstack, sizeof (struct field) * nsyms); + + /* Find the symbols for the members and put them into the type. + The symbols can be found in the symlist that we put them on + to cause them to be defined. osyms contains the old value + of that symlist; everything up to there was defined by us. + + Note that we preserve the order of the enum constants, so + that in something like "enum {FOO, LAST_THING=FOO}" we print + FOO, not LAST_THING. */ + for (syms = *symlist, n = 0; syms; syms = syms->next) + { + int j = 0; + if (syms == osyms) + j = o_nsyms; + for (; j < syms->nsyms; j++, n++) + { + struct symbol *xsym = syms->symbol[j]; + SYMBOL_TYPE (xsym) = type; + TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym); + TYPE_FIELD_VALUE (type, n) = 0; + TYPE_FIELD_BITPOS (type, n) = SYMBOL_VALUE (xsym); + TYPE_FIELD_BITSIZE (type, n) = 0; + } + if (syms == osyms) + break; + } + + return type; +} + +/* Read and internalize a native function debug symbol. */ + +static struct type * +hpread_read_function_type (hp_type, dn_bufp, objfile) + dnttpointer hp_type; + union dnttentry *dn_bufp; + struct objfile *objfile; +{ + struct type *type, *type1; + struct pending **symlist, *osyms, *syms; + int o_nsyms, nsyms = 0; + dnttpointer param; + union dnttentry *paramp; + char *name; + long n; + struct symbol *sym; + + param = dn_bufp->dfunc.firstparam; + + /* See if we've already read in this type. */ + type = hpread_alloc_type (hp_type, objfile); + if (TYPE_CODE (type) == TYPE_CODE_FUNC) + return type; + + /* Nope, so read it in and store it away. */ + type1 = lookup_function_type (hpread_type_lookup (dn_bufp->dfunc.retval, + objfile)); + memcpy ((char *) type, (char *) type1, sizeof (struct type)); + + symlist = &local_symbols; + osyms = *symlist; + o_nsyms = osyms ? osyms->nsyms : 0; + + /* Now examine each parameter noting its type, location, and a + wealth of other information. */ + while (param.word && param.word != DNTTNIL) + { + paramp = hpread_get_lntt (param.dnttp.index, objfile); + nsyms++; + param = paramp->dfparam.nextparam; + + /* Get the name. */ + name = VT (objfile) + paramp->dfparam.name; + sym = (struct symbol *) obstack_alloc (&objfile->symbol_obstack, + sizeof (struct symbol)); + (void) memset (sym, 0, sizeof (struct symbol)); + SYMBOL_NAME (sym) = name; + + /* Figure out where it lives. */ + if (paramp->dfparam.regparam) + SYMBOL_CLASS (sym) = LOC_REGPARM; + else if (paramp->dfparam.indirect) + SYMBOL_CLASS (sym) = LOC_REF_ARG; + else + SYMBOL_CLASS (sym) = LOC_ARG; + SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE; + if (paramp->dfparam.copyparam) + { + SYMBOL_VALUE (sym) = paramp->dfparam.location ; +#ifdef HPREAD_ADJUST_STACK_ADDRESS + SYMBOL_VALUE (sym) + += HPREAD_ADJUST_STACK_ADDRESS (CURRENT_FUNCTION_VALUE (objfile)); +#endif + /* This is likely a pass-by-invisible reference parameter, + Hack on the symbol class to make GDB happy. */ + SYMBOL_CLASS (sym) = LOC_REGPARM_ADDR; + } + else + SYMBOL_VALUE (sym) = paramp->dfparam.location; + + /* Get its type. */ + SYMBOL_TYPE (sym) = hpread_type_lookup (paramp->dfparam.type, objfile); + + /* Add it to the list. */ + add_symbol_to_list (sym, symlist); + } + + /* Note how many parameters we found. */ + TYPE_NFIELDS (type) = nsyms; + TYPE_FIELDS (type) = (struct field *) + obstack_alloc (&objfile->type_obstack, + sizeof (struct field) * nsyms); + + /* Find the symbols for the values and put them into the type. + The symbols can be found in the symlist that we put them on + to cause them to be defined. osyms contains the old value + of that symlist; everything up to there was defined by us. */ + /* Note that we preserve the order of the parameters, so + that in something like "enum {FOO, LAST_THING=FOO}" we print + FOO, not LAST_THING. */ + for (syms = *symlist, n = 0; syms; syms = syms->next) + { + int j = 0; + if (syms == osyms) + j = o_nsyms; + for (; j < syms->nsyms; j++, n++) + { + struct symbol *xsym = syms->symbol[j]; + TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym); + TYPE_FIELD_TYPE (type, n) = SYMBOL_TYPE (xsym); + TYPE_FIELD_BITPOS (type, n) = n; + TYPE_FIELD_BITSIZE (type, n) = 0; + } + if (syms == osyms) + break; + } + return type; +} + +/* Read in and internalize a structure definition. */ + +static struct type * +hpread_read_struct_type (hp_type, dn_bufp, objfile) + dnttpointer hp_type; + union dnttentry *dn_bufp; + struct objfile *objfile; +{ + struct nextfield + { + struct nextfield *next; + struct field field; + }; + + struct type *type; + struct nextfield *list = 0; + struct nextfield *new; + int n, nfields = 0; + dnttpointer field; + union dnttentry *fieldp; + + /* Is it something we've already dealt with? */ + type = hpread_alloc_type (hp_type, objfile); + if ((TYPE_CODE (type) == TYPE_CODE_STRUCT) || + (TYPE_CODE (type) == TYPE_CODE_UNION)) + return type; + + /* Get the basic type correct. */ + if (dn_bufp->dblock.kind == DNTT_TYPE_STRUCT) + { + TYPE_CODE (type) = TYPE_CODE_STRUCT; + TYPE_LENGTH (type) = dn_bufp->dstruct.bitlength / 8; + } + else if (dn_bufp->dblock.kind == DNTT_TYPE_UNION) + { + TYPE_CODE (type) = TYPE_CODE_UNION; + TYPE_LENGTH (type) = dn_bufp->dunion.bitlength / 8; + } + else + return type; + + + TYPE_FLAGS (type) &= ~TYPE_FLAG_STUB; + + /* Read in and internalize all the fields. */ + field = dn_bufp->dstruct.firstfield; + while (field.word != DNTTNIL && field.dnttp.extension) + { + fieldp = hpread_get_lntt (field.dnttp.index, objfile); + + /* Get space to record the next field's data. */ + new = (struct nextfield *) alloca (sizeof (struct nextfield)); + new->next = list; + list = new; + + list->field.name = VT (objfile) + fieldp->dfield.name; + list->field.bitpos = fieldp->dfield.bitoffset; + if (fieldp->dfield.bitlength % 8) + list->field.bitsize = fieldp->dfield.bitlength; + else + list->field.bitsize = 0; + nfields++; + field = fieldp->dfield.nextfield; + list->field.type = hpread_type_lookup (fieldp->dfield.type, objfile); + } + + TYPE_NFIELDS (type) = nfields; + TYPE_FIELDS (type) = (struct field *) + obstack_alloc (&objfile->type_obstack, sizeof (struct field) * nfields); + + /* Copy the saved-up fields into the field vector. */ + for (n = nfields; list; list = list->next) + { + n -= 1; + TYPE_FIELD (type, n) = list->field; + } + return type; +} + +/* Read in and internalize a set debug symbol. */ + +static struct type * +hpread_read_set_type (hp_type, dn_bufp, objfile) + dnttpointer hp_type; + union dnttentry *dn_bufp; + struct objfile *objfile; +{ + struct type *type; + + /* See if it's something we've already deal with. */ + type = hpread_alloc_type (hp_type, objfile); + if (TYPE_CODE (type) == TYPE_CODE_SET) + return type; + + /* Nope. Fill in the appropriate fields. */ + TYPE_CODE (type) = TYPE_CODE_SET; + TYPE_LENGTH (type) = dn_bufp->dset.bitlength / 8; + TYPE_NFIELDS (type) = 0; + TYPE_TARGET_TYPE (type) = hpread_type_lookup (dn_bufp->dset.subtype, + objfile); + return type; +} + +/* Read in and internalize an array debug symbol. */ + +static struct type * +hpread_read_array_type (hp_type, dn_bufp, objfile) + dnttpointer hp_type; + union dnttentry *dn_bufp; + struct objfile *objfile; +{ + struct type *type; + union dnttentry save; + save = *dn_bufp; + + /* Why no check here? Because it kept us from properly determining + the size of the array! */ + type = hpread_alloc_type (hp_type, objfile); + + TYPE_CODE (type) = TYPE_CODE_ARRAY; + + /* values are not normalized. */ + if (!((dn_bufp->darray.arrayisbytes && dn_bufp->darray.elemisbytes) + || (!dn_bufp->darray.arrayisbytes && !dn_bufp->darray.elemisbytes))) + abort (); + else if (dn_bufp->darray.arraylength == 0x7fffffff) + { + /* The HP debug format represents char foo[]; as an array with + length 0x7fffffff. Internally GDB wants to represent this + as an array of length zero. */ + TYPE_LENGTH (type) = 0; + } + else + TYPE_LENGTH (type) = dn_bufp->darray.arraylength / 8; + + TYPE_NFIELDS (type) = 1; + TYPE_TARGET_TYPE (type) = hpread_type_lookup (dn_bufp->darray.elemtype, + objfile); + dn_bufp = &save; + TYPE_FIELDS (type) = (struct field *) + obstack_alloc (&objfile->type_obstack, sizeof (struct field)); + TYPE_FIELD_TYPE (type, 0) = hpread_type_lookup (dn_bufp->darray.indextype, + objfile); + return type; +} + +/* Read in and internalize a subrange debug symbol. */ +static struct type * +hpread_read_subrange_type (hp_type, dn_bufp, objfile) + dnttpointer hp_type; + union dnttentry *dn_bufp; + struct objfile *objfile; +{ + struct type *type; + + /* Is it something we've already dealt with. */ + type = hpread_alloc_type (hp_type, objfile); + if (TYPE_CODE (type) == TYPE_CODE_RANGE) + return type; + + /* Nope, internalize it. */ + TYPE_CODE (type) = TYPE_CODE_RANGE; + TYPE_LENGTH (type) = dn_bufp->dsubr.bitlength / 8; + TYPE_NFIELDS (type) = 2; + TYPE_FIELDS (type) + = (struct field *) obstack_alloc (&objfile->type_obstack, + 2 * sizeof (struct field)); + + if (dn_bufp->dsubr.dyn_low) + TYPE_FIELD_BITPOS (type, 0) = 0; + else + TYPE_FIELD_BITPOS (type, 0) = dn_bufp->dsubr.lowbound; + + if (dn_bufp->dsubr.dyn_high) + TYPE_FIELD_BITPOS (type, 1) = -1; + else + TYPE_FIELD_BITPOS (type, 1) = dn_bufp->dsubr.highbound; + TYPE_TARGET_TYPE (type) = hpread_type_lookup (dn_bufp->dsubr.subtype, + objfile); + return type; +} + +static struct type * +hpread_type_lookup (hp_type, objfile) + dnttpointer hp_type; + struct objfile *objfile; +{ + union dnttentry *dn_bufp; + + /* First see if it's a simple builtin type. */ + if (hp_type.dntti.immediate) + return lookup_fundamental_type (objfile, hpread_type_translate (hp_type)); + + /* Not a builtin type. We'll have to read it in. */ + if (hp_type.dnttp.index < LNTT_SYMCOUNT (objfile)) + dn_bufp = hpread_get_lntt (hp_type.dnttp.index, objfile); + else + return lookup_fundamental_type (objfile, FT_VOID); + + switch (dn_bufp->dblock.kind) + { + case DNTT_TYPE_SRCFILE: + case DNTT_TYPE_MODULE: + case DNTT_TYPE_FUNCTION: + case DNTT_TYPE_ENTRY: + case DNTT_TYPE_BEGIN: + case DNTT_TYPE_END: + case DNTT_TYPE_IMPORT: + case DNTT_TYPE_LABEL: + case DNTT_TYPE_WITH: + case DNTT_TYPE_COMMON: + case DNTT_TYPE_FPARAM: + case DNTT_TYPE_SVAR: + case DNTT_TYPE_DVAR: + case DNTT_TYPE_CONST: + /* Opps. Something went very wrong. */ + return lookup_fundamental_type (objfile, FT_VOID); + + case DNTT_TYPE_TYPEDEF: + { + struct type *structtype = hpread_type_lookup (dn_bufp->dtype.type, + objfile); + char *suffix; + suffix = VT (objfile) + dn_bufp->dtype.name; + + TYPE_CPLUS_SPECIFIC (structtype) + = (struct cplus_struct_type *) &cplus_struct_default; + TYPE_NAME (structtype) = suffix; + return structtype; + } + + case DNTT_TYPE_TAGDEF: + { + /* Just a little different from above. We have to tack on + an identifier of some kind (struct, union, enum, etc). */ + struct type *structtype = hpread_type_lookup (dn_bufp->dtype.type, + objfile); + char *prefix, *suffix; + suffix = VT (objfile) + dn_bufp->dtype.name; + + /* Lookup the next type in the list. It should be a structure, + union, or enum type. We will need to attach that to our name. */ + if (dn_bufp->dtype.type.dnttp.index < LNTT_SYMCOUNT (objfile)) + dn_bufp = hpread_get_lntt (dn_bufp->dtype.type.dnttp.index, objfile); + else + abort (); + + if (dn_bufp->dblock.kind == DNTT_TYPE_STRUCT) + prefix = "struct "; + else if (dn_bufp->dblock.kind == DNTT_TYPE_UNION) + prefix = "union "; + else + prefix = "enum "; + + /* Build the correct name. */ + structtype->name + = (char *) obstack_alloc (&objfile->type_obstack, + strlen (prefix) + strlen (suffix) + 1); + TYPE_NAME (structtype) = strcpy (TYPE_NAME (structtype), prefix); + TYPE_NAME (structtype) = strcat (TYPE_NAME (structtype), suffix); + TYPE_TAG_NAME (structtype) = suffix; + + TYPE_CPLUS_SPECIFIC (structtype) + = (struct cplus_struct_type *) &cplus_struct_default; + + return structtype; + } + case DNTT_TYPE_POINTER: + return lookup_pointer_type (hpread_type_lookup (dn_bufp->dptr.pointsto, + objfile)); + case DNTT_TYPE_ENUM: + return hpread_read_enum_type (hp_type, dn_bufp, objfile); + case DNTT_TYPE_MEMENUM: + return lookup_fundamental_type (objfile, FT_VOID); + case DNTT_TYPE_SET: + return hpread_read_set_type (hp_type, dn_bufp, objfile); + case DNTT_TYPE_SUBRANGE: + return hpread_read_subrange_type (hp_type, dn_bufp, objfile); + case DNTT_TYPE_ARRAY: + return hpread_read_array_type (hp_type, dn_bufp, objfile); + case DNTT_TYPE_STRUCT: + case DNTT_TYPE_UNION: + return hpread_read_struct_type (hp_type, dn_bufp, objfile); + case DNTT_TYPE_FIELD: + return hpread_type_lookup (dn_bufp->dfield.type, objfile); + case DNTT_TYPE_VARIANT: + case DNTT_TYPE_FILE: + return lookup_fundamental_type (objfile, FT_VOID); + case DNTT_TYPE_FUNCTYPE: + return lookup_function_type (hpread_type_lookup (dn_bufp->dfunctype.retval, + objfile)); + case DNTT_TYPE_COBSTRUCT: + case DNTT_TYPE_XREF: + case DNTT_TYPE_SA: + case DNTT_TYPE_MACRO: + default: + return lookup_fundamental_type (objfile, FT_VOID); + } +} + +static sltpointer +hpread_record_lines (subfile, s_idx, e_idx, objfile, offset) + struct subfile *subfile; + sltpointer s_idx, e_idx; + struct objfile *objfile; + CORE_ADDR offset; +{ + union sltentry *sl_bufp; + + while (s_idx <= e_idx) + { + sl_bufp = hpread_get_slt (s_idx, objfile); + /* Only record "normal" entries in the SLT. */ + if (sl_bufp->snorm.sltdesc == SLT_NORMAL + || sl_bufp->snorm.sltdesc == SLT_EXIT) + record_line (subfile, sl_bufp->snorm.line, + sl_bufp->snorm.address + offset); + s_idx++; + } + return e_idx; +} + +/* Internalize one native debug symbol. */ + +static void +hpread_process_one_debug_symbol (dn_bufp, name, section_offsets, objfile, + text_offset, text_size, filename, index) + union dnttentry *dn_bufp; + char *name; + struct section_offsets *section_offsets; + struct objfile *objfile; + CORE_ADDR text_offset; + int text_size; + char *filename; + int index; +{ + unsigned long desc; + int type; + CORE_ADDR valu; + int offset = ANOFFSET (section_offsets, SECT_OFF_TEXT); + union dnttentry *dn_temp; + dnttpointer hp_type; + struct symbol *sym; + struct context_stack *new; + + /* Allocate one GDB debug symbol and fill in some default values. */ + sym = (struct symbol *) obstack_alloc (&objfile->symbol_obstack, + sizeof (struct symbol)); + memset (sym, 0, sizeof (struct symbol)); + SYMBOL_NAME (sym) = name; + SYMBOL_LANGUAGE (sym) = language_auto; + SYMBOL_INIT_DEMANGLED_NAME (sym, &objfile->symbol_obstack); + SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE; + SYMBOL_LINE (sym) = 0; + SYMBOL_VALUE (sym) = 0; + SYMBOL_CLASS (sym) = LOC_TYPEDEF; + + hp_type.dnttp.extension = 1; + hp_type.dnttp.immediate = 0; + hp_type.dnttp.global = 0; + hp_type.dnttp.index = index; + + type = dn_bufp->dblock.kind; + + switch (type) + { + case DNTT_TYPE_SRCFILE: + /* This type of symbol indicates from which source file or include file + the following data comes. If there are no modules it also may + indicate the start of a new source file, in which case we must + finish the symbol table of the previous source file + (if any) and start accumulating a new symbol table. */ + + valu = text_offset; + if (!last_source_file) + { + start_symtab (name, NULL, valu); + SL_INDEX (objfile) = dn_bufp->dsfile.address; + } + else + { + SL_INDEX (objfile) = hpread_record_lines (current_subfile, + SL_INDEX (objfile), + dn_bufp->dsfile.address, + objfile, offset); + } + start_subfile (name, NULL); + break; + + case DNTT_TYPE_MODULE: + /* No need to do anything with these DNTT_TYPE_MODULE symbols anymore. */ + break; + + case DNTT_TYPE_FUNCTION: + case DNTT_TYPE_ENTRY: + /* A function or secondary entry point. */ + valu = dn_bufp->dfunc.lowaddr + offset; + SL_INDEX (objfile) = hpread_record_lines (current_subfile, + SL_INDEX (objfile), + dn_bufp->dfunc.address, + objfile, offset); + + WITHIN_FUNCTION (objfile) = 1; + CURRENT_FUNCTION_VALUE (objfile) = valu; + + /* Stack must be empty now. */ + if (context_stack_depth != 0) + complain (&lbrac_unmatched_complaint, (char *) symnum); + new = push_context (0, valu); + + SYMBOL_CLASS (sym) = LOC_BLOCK; + SYMBOL_TYPE (sym) = hpread_read_function_type (hp_type, dn_bufp, objfile); + if (dn_bufp->dfunc.global) + add_symbol_to_list (sym, &global_symbols); + else + add_symbol_to_list (sym, &file_symbols); + new->name = sym; + + /* Search forward to the next scope beginning. */ + while (dn_bufp->dblock.kind != DNTT_TYPE_BEGIN) + { + dn_bufp = hpread_get_lntt (++index, objfile); + if (dn_bufp->dblock.extension) + continue; + } + SL_INDEX (objfile) = hpread_record_lines (current_subfile, + SL_INDEX (objfile), + dn_bufp->dbegin.address, + objfile, offset); + SYMBOL_LINE (sym) = hpread_get_line (dn_bufp->dbegin.address, objfile); + record_line (current_subfile, SYMBOL_LINE (sym), valu); + break; + + case DNTT_TYPE_BEGIN: + /* Begin a new scope. */ + SL_INDEX (objfile) = hpread_record_lines (current_subfile, + SL_INDEX (objfile), + dn_bufp->dbegin.address, + objfile, offset); + valu = hpread_get_location (dn_bufp->dbegin.address, objfile); + valu += offset; /* Relocate for dynamic loading */ + desc = hpread_get_depth (dn_bufp->dbegin.address, objfile); + new = push_context (desc, valu); + break; + + case DNTT_TYPE_END: + /* End a scope. */ + SL_INDEX (objfile) = hpread_record_lines (current_subfile, + SL_INDEX (objfile), + dn_bufp->dend.address + 1, + objfile, offset); + switch (dn_bufp->dend.endkind) + { + case DNTT_TYPE_MODULE: + /* Ending a module ends the symbol table for that module. */ + valu = text_offset + text_size + offset; + (void) end_symtab (valu, objfile, 0); + break; + + case DNTT_TYPE_FUNCTION: + /* Ending a function, well, ends the function's scope. */ + dn_temp = hpread_get_lntt (dn_bufp->dend.beginscope.dnttp.index, + objfile); + valu = dn_temp->dfunc.hiaddr + offset; + new = pop_context (); + /* Make a block for the local symbols within. */ + finish_block (new->name, &local_symbols, new->old_blocks, + new->start_addr, valu, objfile); + WITHIN_FUNCTION (objfile) = 0; + break; + case DNTT_TYPE_BEGIN: + /* Just ending a local scope. */ + valu = hpread_get_location (dn_bufp->dend.address, objfile); + /* Why in the hell is this needed? */ + valu += offset + 9; /* Relocate for dynamic loading */ + new = pop_context (); + desc = dn_bufp->dend.beginscope.dnttp.index; + if (desc != new->depth) + complain (&lbrac_mismatch_complaint, (char *) symnum); + /* Make a block for the local symbols within. */ + finish_block (new->name, &local_symbols, new->old_blocks, + new->start_addr, valu, objfile); + local_symbols = new->locals; + break; + } + break; + case DNTT_TYPE_LABEL: + SYMBOL_NAMESPACE (sym) = LABEL_NAMESPACE; + break; + case DNTT_TYPE_FPARAM: + /* Function parameters. */ + if (dn_bufp->dfparam.regparam) + SYMBOL_CLASS (sym) = LOC_REGISTER; + else + SYMBOL_CLASS (sym) = LOC_LOCAL; + if (dn_bufp->dfparam.copyparam) + { + SYMBOL_VALUE (sym) = dn_bufp->dfparam.location; +#ifdef HPREAD_ADJUST_STACK_ADDRESS + SYMBOL_VALUE (sym) + += HPREAD_ADJUST_STACK_ADDRESS (CURRENT_FUNCTION_VALUE (objfile)); +#endif + } + else + SYMBOL_VALUE (sym) = dn_bufp->dfparam.location; + SYMBOL_TYPE (sym) = hpread_type_lookup (dn_bufp->dfparam.type, objfile); + add_symbol_to_list (sym, &local_symbols); + break; + case DNTT_TYPE_SVAR: + /* Static variables. */ + SYMBOL_CLASS (sym) = LOC_STATIC; + SYMBOL_VALUE_ADDRESS (sym) = dn_bufp->dsvar.location; + SYMBOL_TYPE (sym) = hpread_type_lookup (dn_bufp->dsvar.type, objfile); + if (dn_bufp->dsvar.global) + add_symbol_to_list (sym, &global_symbols); + else if (WITHIN_FUNCTION (objfile)) + add_symbol_to_list (sym, &local_symbols); + else + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_DVAR: + /* Dynamic variables. */ + if (dn_bufp->ddvar.regvar) + SYMBOL_CLASS (sym) = LOC_REGISTER; + else + SYMBOL_CLASS (sym) = LOC_LOCAL; + SYMBOL_VALUE (sym) = dn_bufp->ddvar.location; +#ifdef HPREAD_ADJUST_STACK_ADDRESS + SYMBOL_VALUE (sym) + += HPREAD_ADJUST_STACK_ADDRESS (CURRENT_FUNCTION_VALUE (objfile)); +#endif + SYMBOL_TYPE (sym) = hpread_type_lookup (dn_bufp->ddvar.type, objfile); + if (dn_bufp->ddvar.global) + add_symbol_to_list (sym, &global_symbols); + else if (WITHIN_FUNCTION (objfile)) + add_symbol_to_list (sym, &local_symbols); + else + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_CONST: + /* A constant (pascal?). */ + SYMBOL_CLASS (sym) = LOC_CONST; + SYMBOL_VALUE (sym) = dn_bufp->dconst.location; + SYMBOL_TYPE (sym) = hpread_type_lookup (dn_bufp->dconst.type, objfile); + if (dn_bufp->dconst.global) + add_symbol_to_list (sym, &global_symbols); + else if (WITHIN_FUNCTION (objfile)) + add_symbol_to_list (sym, &local_symbols); + else + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_TYPEDEF: + SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE; + SYMBOL_TYPE (sym) = hpread_type_lookup (dn_bufp->dtype.type, objfile); + if (dn_bufp->dtype.global) + add_symbol_to_list (sym, &global_symbols); + else if (WITHIN_FUNCTION (objfile)) + add_symbol_to_list (sym, &local_symbols); + else + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_TAGDEF: + SYMBOL_NAMESPACE (sym) = STRUCT_NAMESPACE; + SYMBOL_TYPE (sym) = hpread_type_lookup (dn_bufp->dtype.type, objfile); + TYPE_NAME (sym->type) = SYMBOL_NAME (sym); + TYPE_TAG_NAME (sym->type) = SYMBOL_NAME (sym); + if (dn_bufp->dtype.global) + add_symbol_to_list (sym, &global_symbols); + else if (WITHIN_FUNCTION (objfile)) + add_symbol_to_list (sym, &local_symbols); + else + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_POINTER: + SYMBOL_TYPE (sym) = lookup_pointer_type (hpread_type_lookup + (dn_bufp->dptr.pointsto, + objfile)); + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_ENUM: + SYMBOL_NAMESPACE (sym) = STRUCT_NAMESPACE; + SYMBOL_TYPE (sym) = hpread_read_enum_type (hp_type, dn_bufp, objfile); + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_MEMENUM: + break; + case DNTT_TYPE_SET: + SYMBOL_TYPE (sym) = hpread_read_set_type (hp_type, dn_bufp, objfile); + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_SUBRANGE: + SYMBOL_TYPE (sym) = hpread_read_subrange_type (hp_type, dn_bufp, + objfile); + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_ARRAY: + SYMBOL_TYPE (sym) = hpread_read_array_type (hp_type, dn_bufp, objfile); + add_symbol_to_list (sym, &file_symbols); + break; + case DNTT_TYPE_STRUCT: + case DNTT_TYPE_UNION: + SYMBOL_NAMESPACE (sym) = STRUCT_NAMESPACE; + SYMBOL_TYPE (sym) = hpread_read_struct_type (hp_type, dn_bufp, objfile); + add_symbol_to_list (sym, &file_symbols); + break; + default: + break; + } +} diff --git a/contrib/gdb/gdb/i960-tdep.c b/contrib/gdb/gdb/i960-tdep.c new file mode 100644 index 0000000000000..5b7f477e07c45 --- /dev/null +++ b/contrib/gdb/gdb/i960-tdep.c @@ -0,0 +1,816 @@ +/* Target-machine dependent code for the Intel 960 + Copyright 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. + Contributed by Intel Corporation. + examine_prologue and other parts contributed by Wind River Systems. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "symtab.h" +#include "value.h" +#include "frame.h" +#include "floatformat.h" +#include "target.h" + +static CORE_ADDR next_insn PARAMS ((CORE_ADDR memaddr, + unsigned int *pword1, + unsigned int *pword2)); + +/* gdb960 is always running on a non-960 host. Check its characteristics. + This routine must be called as part of gdb initialization. */ + +static void +check_host() +{ + int i; + + static struct typestruct { + int hostsize; /* Size of type on host */ + int i960size; /* Size of type on i960 */ + char *typename; /* Name of type, for error msg */ + } types[] = { + { sizeof(short), 2, "short" }, + { sizeof(int), 4, "int" }, + { sizeof(long), 4, "long" }, + { sizeof(float), 4, "float" }, + { sizeof(double), 8, "double" }, + { sizeof(char *), 4, "pointer" }, + }; +#define TYPELEN (sizeof(types) / sizeof(struct typestruct)) + + /* Make sure that host type sizes are same as i960 + */ + for ( i = 0; i < TYPELEN; i++ ){ + if ( types[i].hostsize != types[i].i960size ){ + printf_unfiltered("sizeof(%s) != %d: PROCEED AT YOUR OWN RISK!\n", + types[i].typename, types[i].i960size ); + } + + } +} + +/* Examine an i960 function prologue, recording the addresses at which + registers are saved explicitly by the prologue code, and returning + the address of the first instruction after the prologue (but not + after the instruction at address LIMIT, as explained below). + + LIMIT places an upper bound on addresses of the instructions to be + examined. If the prologue code scan reaches LIMIT, the scan is + aborted and LIMIT is returned. This is used, when examining the + prologue for the current frame, to keep examine_prologue () from + claiming that a given register has been saved when in fact the + instruction that saves it has not yet been executed. LIMIT is used + at other times to stop the scan when we hit code after the true + function prologue (e.g. for the first source line) which might + otherwise be mistaken for function prologue. + + The format of the function prologue matched by this routine is + derived from examination of the source to gcc960 1.21, particularly + the routine i960_function_prologue (). A "regular expression" for + the function prologue is given below: + + (lda LRn, g14 + mov g14, g[0-7] + (mov 0, g14) | (lda 0, g14))? + + (mov[qtl]? g[0-15], r[4-15])* + ((addo [1-31], sp, sp) | (lda n(sp), sp))? + (st[qtl]? g[0-15], n(fp))* + + (cmpobne 0, g14, LFn + mov sp, g14 + lda 0x30(sp), sp + LFn: stq g0, (g14) + stq g4, 0x10(g14) + stq g8, 0x20(g14))? + + (st g14, n(fp))? + (mov g13,r[4-15])? +*/ + +/* Macros for extracting fields from i960 instructions. */ + +#define BITMASK(pos, width) (((0x1 << (width)) - 1) << (pos)) +#define EXTRACT_FIELD(val, pos, width) ((val) >> (pos) & BITMASK (0, width)) + +#define REG_SRC1(insn) EXTRACT_FIELD (insn, 0, 5) +#define REG_SRC2(insn) EXTRACT_FIELD (insn, 14, 5) +#define REG_SRCDST(insn) EXTRACT_FIELD (insn, 19, 5) +#define MEM_SRCDST(insn) EXTRACT_FIELD (insn, 19, 5) +#define MEMA_OFFSET(insn) EXTRACT_FIELD (insn, 0, 12) + +/* Fetch the instruction at ADDR, returning 0 if ADDR is beyond LIM or + is not the address of a valid instruction, the address of the next + instruction beyond ADDR otherwise. *PWORD1 receives the first word + of the instruction, and (for two-word instructions), *PWORD2 receives + the second. */ + +#define NEXT_PROLOGUE_INSN(addr, lim, pword1, pword2) \ + (((addr) < (lim)) ? next_insn (addr, pword1, pword2) : 0) + +static CORE_ADDR +examine_prologue (ip, limit, frame_addr, fsr) + register CORE_ADDR ip; + register CORE_ADDR limit; + CORE_ADDR frame_addr; + struct frame_saved_regs *fsr; +{ + register CORE_ADDR next_ip; + register int src, dst; + register unsigned int *pcode; + unsigned int insn1, insn2; + int size; + int within_leaf_prologue; + CORE_ADDR save_addr; + static unsigned int varargs_prologue_code [] = + { + 0x3507a00c, /* cmpobne 0x0, g14, LFn */ + 0x5cf01601, /* mov sp, g14 */ + 0x8c086030, /* lda 0x30(sp), sp */ + 0xb2879000, /* LFn: stq g0, (g14) */ + 0xb2a7a010, /* stq g4, 0x10(g14) */ + 0xb2c7a020 /* stq g8, 0x20(g14) */ + }; + + /* Accept a leaf procedure prologue code fragment if present. + Note that ip might point to either the leaf or non-leaf + entry point; we look for the non-leaf entry point first: */ + + within_leaf_prologue = 0; + if ((next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn1, &insn2)) + && ((insn1 & 0xfffff000) == 0x8cf00000 /* lda LRx, g14 (MEMA) */ + || (insn1 & 0xfffffc60) == 0x8cf03000)) /* lda LRx, g14 (MEMB) */ + { + within_leaf_prologue = 1; + next_ip = NEXT_PROLOGUE_INSN (next_ip, limit, &insn1, &insn2); + } + + /* Now look for the prologue code at a leaf entry point: */ + + if (next_ip + && (insn1 & 0xff87ffff) == 0x5c80161e /* mov g14, gx */ + && REG_SRCDST (insn1) <= G0_REGNUM + 7) + { + within_leaf_prologue = 1; + if ((next_ip = NEXT_PROLOGUE_INSN (next_ip, limit, &insn1, &insn2)) + && (insn1 == 0x8cf00000 /* lda 0, g14 */ + || insn1 == 0x5cf01e00)) /* mov 0, g14 */ + { + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn1, &insn2); + within_leaf_prologue = 0; + } + } + + /* If something that looks like the beginning of a leaf prologue + has been seen, but the remainder of the prologue is missing, bail. + We don't know what we've got. */ + + if (within_leaf_prologue) + return (ip); + + /* Accept zero or more instances of "mov[qtl]? gx, ry", where y >= 4. + This may cause us to mistake the moving of a register + parameter to a local register for the saving of a callee-saved + register, but that can't be helped, since with the + "-fcall-saved" flag, any register can be made callee-saved. */ + + while (next_ip + && (insn1 & 0xfc802fb0) == 0x5c000610 + && (dst = REG_SRCDST (insn1)) >= (R0_REGNUM + 4)) + { + src = REG_SRC1 (insn1); + size = EXTRACT_FIELD (insn1, 24, 2) + 1; + save_addr = frame_addr + ((dst - R0_REGNUM) * 4); + while (size--) + { + fsr->regs[src++] = save_addr; + save_addr += 4; + } + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn1, &insn2); + } + + /* Accept an optional "addo n, sp, sp" or "lda n(sp), sp". */ + + if (next_ip && + ((insn1 & 0xffffffe0) == 0x59084800 /* addo n, sp, sp */ + || (insn1 & 0xfffff000) == 0x8c086000 /* lda n(sp), sp (MEMA) */ + || (insn1 & 0xfffffc60) == 0x8c087400)) /* lda n(sp), sp (MEMB) */ + { + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn1, &insn2); + } + + /* Accept zero or more instances of "st[qtl]? gx, n(fp)". + This may cause us to mistake the copying of a register + parameter to the frame for the saving of a callee-saved + register, but that can't be helped, since with the + "-fcall-saved" flag, any register can be made callee-saved. + We can, however, refuse to accept a save of register g14, + since that is matched explicitly below. */ + + while (next_ip && + ((insn1 & 0xf787f000) == 0x9287e000 /* stl? gx, n(fp) (MEMA) */ + || (insn1 & 0xf787fc60) == 0x9287f400 /* stl? gx, n(fp) (MEMB) */ + || (insn1 & 0xef87f000) == 0xa287e000 /* st[tq] gx, n(fp) (MEMA) */ + || (insn1 & 0xef87fc60) == 0xa287f400) /* st[tq] gx, n(fp) (MEMB) */ + && ((src = MEM_SRCDST (insn1)) != G14_REGNUM)) + { + save_addr = frame_addr + ((insn1 & BITMASK (12, 1)) + ? insn2 : MEMA_OFFSET (insn1)); + size = (insn1 & BITMASK (29, 1)) ? ((insn1 & BITMASK (28, 1)) ? 4 : 3) + : ((insn1 & BITMASK (27, 1)) ? 2 : 1); + while (size--) + { + fsr->regs[src++] = save_addr; + save_addr += 4; + } + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn1, &insn2); + } + + /* Accept the varargs prologue code if present. */ + + size = sizeof (varargs_prologue_code) / sizeof (int); + pcode = varargs_prologue_code; + while (size-- && next_ip && *pcode++ == insn1) + { + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn1, &insn2); + } + + /* Accept an optional "st g14, n(fp)". */ + + if (next_ip && + ((insn1 & 0xfffff000) == 0x92f7e000 /* st g14, n(fp) (MEMA) */ + || (insn1 & 0xfffffc60) == 0x92f7f400)) /* st g14, n(fp) (MEMB) */ + { + fsr->regs[G14_REGNUM] = frame_addr + ((insn1 & BITMASK (12, 1)) + ? insn2 : MEMA_OFFSET (insn1)); + ip = next_ip; + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn1, &insn2); + } + + /* Accept zero or one instance of "mov g13, ry", where y >= 4. + This is saving the address where a struct should be returned. */ + + if (next_ip + && (insn1 & 0xff802fbf) == 0x5c00061d + && (dst = REG_SRCDST (insn1)) >= (R0_REGNUM + 4)) + { + save_addr = frame_addr + ((dst - R0_REGNUM) * 4); + fsr->regs[G0_REGNUM+13] = save_addr; + ip = next_ip; +#if 0 /* We'll need this once there is a subsequent instruction examined. */ + next_ip = NEXT_PROLOGUE_INSN (ip, limit, &insn1, &insn2); +#endif + } + + return (ip); +} + +/* Given an ip value corresponding to the start of a function, + return the ip of the first instruction after the function + prologue. */ + +CORE_ADDR +skip_prologue (ip) + CORE_ADDR (ip); +{ + struct frame_saved_regs saved_regs_dummy; + struct symtab_and_line sal; + CORE_ADDR limit; + + sal = find_pc_line (ip, 0); + limit = (sal.end) ? sal.end : 0xffffffff; + + return (examine_prologue (ip, limit, (CORE_ADDR) 0, &saved_regs_dummy)); +} + +/* Put here the code to store, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. + + We cache the result of doing this in the frame_cache_obstack, since + it is fairly expensive. */ + +void +frame_find_saved_regs (fi, fsr) + struct frame_info *fi; + struct frame_saved_regs *fsr; +{ + register CORE_ADDR next_addr; + register CORE_ADDR *saved_regs; + register int regnum; + register struct frame_saved_regs *cache_fsr; + extern struct obstack frame_cache_obstack; + CORE_ADDR ip; + struct symtab_and_line sal; + CORE_ADDR limit; + + if (!fi->fsr) + { + cache_fsr = (struct frame_saved_regs *) + obstack_alloc (&frame_cache_obstack, + sizeof (struct frame_saved_regs)); + memset (cache_fsr, '\0', sizeof (struct frame_saved_regs)); + fi->fsr = cache_fsr; + + /* Find the start and end of the function prologue. If the PC + is in the function prologue, we only consider the part that + has executed already. */ + + ip = get_pc_function_start (fi->pc); + sal = find_pc_line (ip, 0); + limit = (sal.end && sal.end < fi->pc) ? sal.end: fi->pc; + + examine_prologue (ip, limit, fi->frame, cache_fsr); + + /* Record the addresses at which the local registers are saved. + Strictly speaking, we should only do this for non-leaf procedures, + but no one will ever look at these values if it is a leaf procedure, + since local registers are always caller-saved. */ + + next_addr = (CORE_ADDR) fi->frame; + saved_regs = cache_fsr->regs; + for (regnum = R0_REGNUM; regnum <= R15_REGNUM; regnum++) + { + *saved_regs++ = next_addr; + next_addr += 4; + } + + cache_fsr->regs[FP_REGNUM] = cache_fsr->regs[PFP_REGNUM]; + } + + *fsr = *fi->fsr; + + /* Fetch the value of the sp from memory every time, since it + is conceivable that it has changed since the cache was flushed. + This unfortunately undoes much of the savings from caching the + saved register values. I suggest adding an argument to + get_frame_saved_regs () specifying the register number we're + interested in (or -1 for all registers). This would be passed + through to FRAME_FIND_SAVED_REGS (), permitting more efficient + computation of saved register addresses (e.g., on the i960, + we don't have to examine the prologue to find local registers). + -- markf@wrs.com + FIXME, we don't need to refetch this, since the cache is cleared + every time the child process is restarted. If GDB itself + modifies SP, it has to clear the cache by hand (does it?). -gnu */ + + fsr->regs[SP_REGNUM] = read_memory_integer (fsr->regs[SP_REGNUM], 4); +} + +/* Return the address of the argument block for the frame + described by FI. Returns 0 if the address is unknown. */ + +CORE_ADDR +frame_args_address (fi, must_be_correct) + struct frame_info *fi; +{ + struct frame_saved_regs fsr; + CORE_ADDR ap; + + /* If g14 was saved in the frame by the function prologue code, return + the saved value. If the frame is current and we are being sloppy, + return the value of g14. Otherwise, return zero. */ + + get_frame_saved_regs (fi, &fsr); + if (fsr.regs[G14_REGNUM]) + ap = read_memory_integer (fsr.regs[G14_REGNUM],4); + else + { + if (must_be_correct) + return 0; /* Don't cache this result */ + if (get_next_frame (fi)) + ap = 0; + else + ap = read_register (G14_REGNUM); + if (ap == 0) + ap = fi->frame; + } + fi->arg_pointer = ap; /* Cache it for next time */ + return ap; +} + +/* Return the address of the return struct for the frame + described by FI. Returns 0 if the address is unknown. */ + +CORE_ADDR +frame_struct_result_address (fi) + struct frame_info *fi; +{ + struct frame_saved_regs fsr; + CORE_ADDR ap; + + /* If the frame is non-current, check to see if g14 was saved in the + frame by the function prologue code; return the saved value if so, + zero otherwise. If the frame is current, return the value of g14. + + FIXME, shouldn't this use the saved value as long as we are past + the function prologue, and only use the current value if we have + no saved value and are at TOS? -- gnu@cygnus.com */ + + if (get_next_frame (fi)) + { + get_frame_saved_regs (fi, &fsr); + if (fsr.regs[G13_REGNUM]) + ap = read_memory_integer (fsr.regs[G13_REGNUM],4); + else + ap = 0; + } + else + ap = read_register (G13_REGNUM); + + return ap; +} + +/* Return address to which the currently executing leafproc will return, + or 0 if ip is not in a leafproc (or if we can't tell if it is). + + Do this by finding the starting address of the routine in which ip lies. + If the instruction there is "mov g14, gx" (where x is in [0,7]), this + is a leafproc and the return address is in register gx. Well, this is + true unless the return address points at a RET instruction in the current + procedure, which indicates that we have a 'dual entry' routine that + has been entered through the CALL entry point. */ + +CORE_ADDR +leafproc_return (ip) + CORE_ADDR ip; /* ip from currently executing function */ +{ + register struct minimal_symbol *msymbol; + char *p; + int dst; + unsigned int insn1, insn2; + CORE_ADDR return_addr; + + if ((msymbol = lookup_minimal_symbol_by_pc (ip)) != NULL) + { + if ((p = strchr(SYMBOL_NAME (msymbol), '.')) && STREQ (p, ".lf")) + { + if (next_insn (SYMBOL_VALUE_ADDRESS (msymbol), &insn1, &insn2) + && (insn1 & 0xff87ffff) == 0x5c80161e /* mov g14, gx */ + && (dst = REG_SRCDST (insn1)) <= G0_REGNUM + 7) + { + /* Get the return address. If the "mov g14, gx" + instruction hasn't been executed yet, read + the return address from g14; otherwise, read it + from the register into which g14 was moved. */ + + return_addr = + read_register ((ip == SYMBOL_VALUE_ADDRESS (msymbol)) + ? G14_REGNUM : dst); + + /* We know we are in a leaf procedure, but we don't know + whether the caller actually did a "bal" to the ".lf" + entry point, or a normal "call" to the non-leaf entry + point one instruction before. In the latter case, the + return address will be the address of a "ret" + instruction within the procedure itself. We test for + this below. */ + + if (!next_insn (return_addr, &insn1, &insn2) + || (insn1 & 0xff000000) != 0xa000000 /* ret */ + || lookup_minimal_symbol_by_pc (return_addr) != msymbol) + return (return_addr); + } + } + } + + return (0); +} + +/* Immediately after a function call, return the saved pc. + Can't go through the frames for this because on some machines + the new frame is not set up until the new function executes + some instructions. + On the i960, the frame *is* set up immediately after the call, + unless the function is a leaf procedure. */ + +CORE_ADDR +saved_pc_after_call (frame) + struct frame_info *frame; +{ + CORE_ADDR saved_pc; + + saved_pc = leafproc_return (get_frame_pc (frame)); + if (!saved_pc) + saved_pc = FRAME_SAVED_PC (frame); + + return saved_pc; +} + +/* Discard from the stack the innermost frame, + restoring all saved registers. */ + +pop_frame () +{ + register struct frame_info *current_fi, *prev_fi; + register int i; + CORE_ADDR save_addr; + CORE_ADDR leaf_return_addr; + struct frame_saved_regs fsr; + char local_regs_buf[16 * 4]; + + current_fi = get_current_frame (); + + /* First, undo what the hardware does when we return. + If this is a non-leaf procedure, restore local registers from + the save area in the calling frame. Otherwise, load the return + address obtained from leafproc_return () into the rip. */ + + leaf_return_addr = leafproc_return (current_fi->pc); + if (!leaf_return_addr) + { + /* Non-leaf procedure. Restore local registers, incl IP. */ + prev_fi = get_prev_frame (current_fi); + read_memory (prev_fi->frame, local_regs_buf, sizeof (local_regs_buf)); + write_register_bytes (REGISTER_BYTE (R0_REGNUM), local_regs_buf, + sizeof (local_regs_buf)); + + /* Restore frame pointer. */ + write_register (FP_REGNUM, prev_fi->frame); + } + else + { + /* Leaf procedure. Just restore the return address into the IP. */ + write_register (RIP_REGNUM, leaf_return_addr); + } + + /* Now restore any global regs that the current function had saved. */ + get_frame_saved_regs (current_fi, &fsr); + for (i = G0_REGNUM; i < G14_REGNUM; i++) + { + if (save_addr = fsr.regs[i]) + write_register (i, read_memory_integer (save_addr, 4)); + } + + /* Flush the frame cache, create a frame for the new innermost frame, + and make it the current frame. */ + + flush_cached_frames (); +} + +/* Given a 960 stop code (fault or trace), return the signal which + corresponds. */ + +enum target_signal +i960_fault_to_signal (fault) + int fault; +{ + switch (fault) + { + case 0: return TARGET_SIGNAL_BUS; /* parallel fault */ + case 1: return TARGET_SIGNAL_UNKNOWN; + case 2: return TARGET_SIGNAL_ILL; /* operation fault */ + case 3: return TARGET_SIGNAL_FPE; /* arithmetic fault */ + case 4: return TARGET_SIGNAL_FPE; /* floating point fault */ + + /* constraint fault. This appears not to distinguish between + a range constraint fault (which should be SIGFPE) and a privileged + fault (which should be SIGILL). */ + case 5: return TARGET_SIGNAL_ILL; + + case 6: return TARGET_SIGNAL_SEGV; /* virtual memory fault */ + + /* protection fault. This is for an out-of-range argument to + "calls". I guess it also could be SIGILL. */ + case 7: return TARGET_SIGNAL_SEGV; + + case 8: return TARGET_SIGNAL_BUS; /* machine fault */ + case 9: return TARGET_SIGNAL_BUS; /* structural fault */ + case 0xa: return TARGET_SIGNAL_ILL; /* type fault */ + case 0xb: return TARGET_SIGNAL_UNKNOWN; /* reserved fault */ + case 0xc: return TARGET_SIGNAL_BUS; /* process fault */ + case 0xd: return TARGET_SIGNAL_SEGV; /* descriptor fault */ + case 0xe: return TARGET_SIGNAL_BUS; /* event fault */ + case 0xf: return TARGET_SIGNAL_UNKNOWN; /* reserved fault */ + case 0x10: return TARGET_SIGNAL_TRAP; /* single-step trace */ + case 0x11: return TARGET_SIGNAL_TRAP; /* branch trace */ + case 0x12: return TARGET_SIGNAL_TRAP; /* call trace */ + case 0x13: return TARGET_SIGNAL_TRAP; /* return trace */ + case 0x14: return TARGET_SIGNAL_TRAP; /* pre-return trace */ + case 0x15: return TARGET_SIGNAL_TRAP; /* supervisor call trace */ + case 0x16: return TARGET_SIGNAL_TRAP; /* breakpoint trace */ + default: return TARGET_SIGNAL_UNKNOWN; + } +} + +/****************************************/ +/* MEM format */ +/****************************************/ + +struct tabent { + char *name; + char numops; +}; + +static int /* returns instruction length: 4 or 8 */ +mem( memaddr, word1, word2, noprint ) + unsigned long memaddr; + unsigned long word1, word2; + int noprint; /* If TRUE, return instruction length, but + don't output any text. */ +{ + int i, j; + int len; + int mode; + int offset; + const char *reg1, *reg2, *reg3; + + /* This lookup table is too sparse to make it worth typing in, but not + * so large as to make a sparse array necessary. We allocate the + * table at runtime, initialize all entries to empty, and copy the + * real ones in from an initialization table. + * + * NOTE: In this table, the meaning of 'numops' is: + * 1: single operand + * 2: 2 operands, load instruction + * -2: 2 operands, store instruction + */ + static struct tabent *mem_tab = NULL; +/* Opcodes of 0x8X, 9X, aX, bX, and cX must be in the table. */ +#define MEM_MIN 0x80 +#define MEM_MAX 0xcf +#define MEM_SIZ ((MEM_MAX-MEM_MIN+1) * sizeof(struct tabent)) + + static struct { int opcode; char *name; char numops; } mem_init[] = { + 0x80, "ldob", 2, + 0x82, "stob", -2, + 0x84, "bx", 1, + 0x85, "balx", 2, + 0x86, "callx", 1, + 0x88, "ldos", 2, + 0x8a, "stos", -2, + 0x8c, "lda", 2, + 0x90, "ld", 2, + 0x92, "st", -2, + 0x98, "ldl", 2, + 0x9a, "stl", -2, + 0xa0, "ldt", 2, + 0xa2, "stt", -2, + 0xb0, "ldq", 2, + 0xb2, "stq", -2, + 0xc0, "ldib", 2, + 0xc2, "stib", -2, + 0xc8, "ldis", 2, + 0xca, "stis", -2, + 0, NULL, 0 + }; + + if ( mem_tab == NULL ){ + mem_tab = (struct tabent *) xmalloc( MEM_SIZ ); + memset( mem_tab, '\0', MEM_SIZ ); + for ( i = 0; mem_init[i].opcode != 0; i++ ){ + j = mem_init[i].opcode - MEM_MIN; + mem_tab[j].name = mem_init[i].name; + mem_tab[j].numops = mem_init[i].numops; + } + } + + i = ((word1 >> 24) & 0xff) - MEM_MIN; + mode = (word1 >> 10) & 0xf; + + if ( (mem_tab[i].name != NULL) /* Valid instruction */ + && ((mode == 5) || (mode >=12)) ){ /* With 32-bit displacement */ + len = 8; + } else { + len = 4; + } + + if ( noprint ){ + return len; + } + abort (); +} + +/* Read the i960 instruction at 'memaddr' and return the address of + the next instruction after that, or 0 if 'memaddr' is not the + address of a valid instruction. The first word of the instruction + is stored at 'pword1', and the second word, if any, is stored at + 'pword2'. */ + +static CORE_ADDR +next_insn (memaddr, pword1, pword2) + unsigned int *pword1, *pword2; + CORE_ADDR memaddr; +{ + int len; + char buf[8]; + + /* Read the two (potential) words of the instruction at once, + to eliminate the overhead of two calls to read_memory (). + FIXME: Loses if the first one is readable but the second is not + (e.g. last word of the segment). */ + + read_memory (memaddr, buf, 8); + *pword1 = extract_unsigned_integer (buf, 4); + *pword2 = extract_unsigned_integer (buf + 4, 4); + + /* Divide instruction set into classes based on high 4 bits of opcode*/ + + switch ((*pword1 >> 28) & 0xf) + { + case 0x0: + case 0x1: /* ctrl */ + + case 0x2: + case 0x3: /* cobr */ + + case 0x5: + case 0x6: + case 0x7: /* reg */ + len = 4; + break; + + case 0x8: + case 0x9: + case 0xa: + case 0xb: + case 0xc: + len = mem (memaddr, *pword1, *pword2, 1); + break; + + default: /* invalid instruction */ + len = 0; + break; + } + + if (len) + return memaddr + len; + else + return 0; +} + +/* 'start_frame' is a variable in the MON960 runtime startup routine + that contains the frame pointer of the 'start' routine (the routine + that calls 'main'). By reading its contents out of remote memory, + we can tell where the frame chain ends: backtraces should halt before + they display this frame. */ + +int +mon960_frame_chain_valid (chain, curframe) + unsigned int chain; + struct frame_info *curframe; +{ + struct symbol *sym; + struct minimal_symbol *msymbol; + + /* crtmon960.o is an assembler module that is assumed to be linked + * first in an i80960 executable. It contains the true entry point; + * it performs startup up initialization and then calls 'main'. + * + * 'sf' is the name of a variable in crtmon960.o that is set + * during startup to the address of the first frame. + * + * 'a' is the address of that variable in 80960 memory. + */ + static char sf[] = "start_frame"; + CORE_ADDR a; + + + chain &= ~0x3f; /* Zero low 6 bits because previous frame pointers + contain return status info in them. */ + if ( chain == 0 ){ + return 0; + } + + sym = lookup_symbol(sf, 0, VAR_NAMESPACE, (int *)NULL, + (struct symtab **)NULL); + if ( sym != 0 ){ + a = SYMBOL_VALUE (sym); + } else { + msymbol = lookup_minimal_symbol (sf, NULL, NULL); + if (msymbol == NULL) + return 0; + a = SYMBOL_VALUE_ADDRESS (msymbol); + } + + return ( chain != read_memory_integer(a,4) ); +} + +void +_initialize_i960_tdep () +{ + check_host (); + + tm_print_insn = print_insn_i960; +} diff --git a/contrib/gdb/gdb/mac-defs.h b/contrib/gdb/gdb/mac-defs.h new file mode 100644 index 0000000000000..82f7e71a33829 --- /dev/null +++ b/contrib/gdb/gdb/mac-defs.h @@ -0,0 +1,34 @@ +/* Definitions shared between C and Rez files. */ + +#define mbMain 128 + +#define mApple 128 + +#define miAbout 1 + +#define mFile 129 + +#define miFileNew 1 +#define miFileOpen 2 +/* 3 */ +#define miFileQuit 4 + +#define mEdit 130 + +#define miEditCut 1 +#define miEditCopy 2 +#define miEditPaste 3 +#define miEditClear 4 + +#define mDebug 131 + +#define miDebugTarget 1 +/* 2 */ +#define miDebugRun 3 +#define miDebugContinue 4 +#define miDebugStep 5 +#define miDebugNext 6 + +#define wConsole 128 + + diff --git a/contrib/gdb/gdb/mac-gdb.r b/contrib/gdb/gdb/mac-gdb.r new file mode 100644 index 0000000000000..3736ddef9443f --- /dev/null +++ b/contrib/gdb/gdb/mac-gdb.r @@ -0,0 +1,184 @@ +/* Resource file for MacGDB. */ + +#include "SysTypes.r" +#include "Types.r" + +#include "mac-defs.h" + +/* Version resources. */ + +resource 'vers' (1) { + 0, + 0, + 0, + 0, + verUS, + VERSION_STRING, + VERSION_STRING " (C) 1986-95 FSF, Inc." +}; + +resource 'vers' (2, purgeable) { + 0, + 0, + 0, + 0, + verUs, + VERSION_STRING, + "GDB " VERSION_STRING " for MPW" +}; + +#ifdef WANT_CFRG + +#include "CodeFragmentTypes.r" + +resource 'cfrg' (0) { + { + kPowerPC, + kFullLib, + kNoVersionNum, kNoVersionNum, + 0, 0, + kIsApp, kOnDiskFlat, kZeroOffset, kWholeFork, + PROG_NAME + } +}; + +#endif /* WANT_CFRG */ + +#ifdef Macgdb /* Exclude the following from SIOWgdb which uses SIOW.r. */ + +resource 'MBAR' (128) { + { mApple, mFile, mEdit, mDebug }; +}; + +resource 'MENU' (mApple, preload) { + mApple, + textMenuProc, + 0x7FFFFFFD, + enabled, + apple, + { + "About...", noIcon, noKey, noMark, plain, + "-", noIcon, noKey, noMark, plain + } +}; + +resource 'MENU' (mFile, preload) { + mFile, + textMenuProc, + allEnabled, + enabled, + "File", + { + "New", noIcon, noKey, noMark, plain, + "Open...", noIcon, "O", noMark, plain, + "-", noIcon, noKey, noMark, plain, + "Quit", noIcon, "Q", noMark, plain + } +}; + +resource 'MENU' (mEdit, preload) { + mEdit, + textMenuProc, + allEnabled, + enabled, + "Edit", + { + "Undo", noIcon, "Z", noMark, plain, + "-", noIcon, noKey, noMark, plain, + "Cut", noIcon, "X", noMark, plain, + "Copy", noIcon, "C", noMark, plain, + "Paste", noIcon, "V", noMark, plain, + "Clear", noIcon, noKey, noMark, plain + } +}; + +resource 'MENU' (mDebug, preload) { + mDebug, + textMenuProc, + allEnabled, + enabled, + "Debug", + { + "Target", noIcon, "T", noMark, plain, + "-", noIcon, noKey, noMark, plain, + "Run", noIcon, "R", noMark, plain, + "Continue", noIcon, "K", noMark, plain, + "Step", noIcon, "S", noMark, plain, + "Next", noIcon, "N", noMark, plain + } +}; + +resource 'ALRT' (128) { + {40, 40, 180, 420}, + 128, + { /* array: 4 elements */ + /* [1] */ + OK, visible, sound1, + /* [2] */ + OK, visible, sound1, + /* [3] */ + OK, visible, sound1, + /* [4] */ + OK, visible, sound1 + } +}; + +resource 'DITL' (128) { + { /* array DITLarray: 2 elements */ + /* [1] */ + {110, 150, 128, 200}, + Button { + enabled, + "OK" + }, + /* [2] */ + {10, 10, 100, 370}, + StaticText { + disabled, + "GDB 4.12.3\n" + "Copyright © 1994 Free Software Foundation, Inc.\n" + }, + } +}; + +resource 'WIND' (wConsole, preload, purgeable) { + {40, 40, 310, 572}, + zoomDocProc, + visible, + goAway, + 0x0, + "GDB Console" +}; + +resource 'SIZE' (-1) { + reserved, + acceptSuspendResumeEvents, + reserved, + canBackground, + multiFinderAware, + backgroundAndForeground, + dontGetFrontClicks, + ignoreChildDiedEvents, + not32BitCompatible, + isHighLevelEventAware, + localAndRemoteHLEvents, + notStationeryAware, + dontUseTextEditServices, + reserved, + reserved, + reserved, + 5000*1024, + 2000*1024 +}; + +resource 'DLOG' (128) { + {40, 40, 240, 280}, + documentProc, + visible, + goAway, + 0x0, + 128, + "" +}; + +#endif diff --git a/contrib/gdb/gdb/mac-nat.c b/contrib/gdb/gdb/mac-nat.c new file mode 100644 index 0000000000000..bdf6c6df2c40c --- /dev/null +++ b/contrib/gdb/gdb/mac-nat.c @@ -0,0 +1,384 @@ +/* Target-vector operations for controlling Mac applications, for GDB. + Copyright (C) 1995 Free Software Foundation, Inc. + Written by Stan Shebs. Contributed by Cygnus Support. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without eve nthe implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Note that because all the available Mac compilers are ANSI or very + close, and this is a native-only file, the code may be purely ANSI. */ + +#include "defs.h" +#include "frame.h" /* required by inferior.h */ +#include "inferior.h" +#include "target.h" +#include "wait.h" +#include "gdbcore.h" +#include "command.h" +#include <signal.h> +#include <sys/types.h> +#include <fcntl.h> +#include "buildsym.h" +#include "gdb_string.h" +#include "thread.h" +#include "gdbcmd.h" + +#include <Processes.h> + +/* We call the functions "child_..." rather than "mac_..." so no one + is tempted to try to link this with other native-only code. */ + +/* Forward declaration */ + +extern struct target_ops child_ops; + +static void +child_fetch_inferior_registers (int r) +{ + if (r < 0) + { + for (r = 0; r < NUM_REGS; r++) + child_fetch_inferior_registers (r); + } + else + { + supply_register (r, 0); + } +} + +static void +child_store_inferior_registers (int r) +{ + if (r < 0) + { + for (r = 0; r < NUM_REGS; r++) + child_store_inferior_registers (r); + } + else + { + read_register_gen (r, 0); + } +} + +static int +child_wait (int pid, struct target_waitstatus *ourstatus) +{ +} + +/* Attach to process PID, then initialize for debugging it. */ + +static void +child_attach (args, from_tty) + char *args; + int from_tty; +{ + ProcessSerialNumber psn; + ProcessInfoRec inforec; + Str31 name; + FSSpecPtr fsspec; + OSType code; + int pid; + char *exec_file; + + if (!args) + error_no_arg ("process-id to attach"); + + pid = atoi (args); + + psn.highLongOfPSN = 0; + psn.lowLongOfPSN = pid; + + inforec.processInfoLength = sizeof(ProcessInfoRec); + inforec.processName = name; + inforec.processAppSpec = fsspec; + + if (GetProcessInformation (&psn, &inforec) == noErr) + { + if (from_tty) + { + exec_file = (char *) get_exec_file (0); + + if (exec_file) + printf_unfiltered ("Attaching to program `%s', %s\n", exec_file, + target_pid_to_str (pid)); + else + printf_unfiltered ("Attaching to %s\n", target_pid_to_str (pid)); + + gdb_flush (gdb_stdout); + } + /* Do we need to do anything special? */ + attach_flag = 1; + inferior_pid = pid; + push_target (&child_ops); + } +} + +static void +child_detach (args, from_tty) + char *args; + int from_tty; +{ + char *exec_file; + + if (from_tty) + { + exec_file = get_exec_file (0); + if (exec_file == 0) + exec_file = ""; + printf_unfiltered ("Detaching from program: %s %s\n", exec_file, + target_pid_to_str (inferior_pid)); + gdb_flush (gdb_stdout); + } + inferior_pid = 0; + unpush_target (&child_ops); +} + +/* Print status information about what we're accessing. */ + +static void +child_files_info (ignore) + struct target_ops *ignore; +{ + printf_unfiltered ("\tUsing the running image of %s %s.\n", + attach_flag ? "attached" : "child", target_pid_to_str (inferior_pid)); +} + +/* ARGSUSED */ +static void +child_open (arg, from_tty) + char *arg; + int from_tty; +{ + error ("Use the \"run\" command to start a Mac application."); +} + +/* Start an inferior Mac program and sets inferior_pid to its pid. + EXEC_FILE is the file to run. + ALLARGS is a string containing the arguments to the program. + ENV is the environment vector to pass. Errors reported with error(). */ + +static void +child_create_inferior (exec_file, allargs, env) + char *exec_file; + char *allargs; + char **env; +{ + LaunchParamBlockRec launchparms; + FSSpec fsspec; + OSErr launch_err; + + if (!exec_file) + { + error ("No executable specified, use `target exec'.\n"); + } + + launchparms.launchBlockID = extendedBlock; + launchparms.launchEPBLength = extendedBlockLen; + launchparms.launchFileFlags = 0; + launchparms.launchControlFlags = launchContinue | launchNoFileFlags; + fsspec.vRefNum = 0; + fsspec.parID = 0; + strcpy(fsspec.name + 1, exec_file); + fsspec.name[0] = strlen(exec_file); + launchparms.launchAppSpec = &fsspec; + launchparms.launchAppParameters = nil; + + launch_err = LaunchApplication (&launchparms); + + if (launch_err == 999 /*memFullErr*/) + { + error ("Not enough memory to launch %s\n", exec_file); + } + else if (launch_err != noErr) + { + error ("Error launching %s, code %d\n", exec_file, launch_err); + } + + inferior_pid = launchparms.launchProcessSN.lowLongOfPSN; + /* FIXME be sure that high long of PSN is 0 */ + + push_target (&child_ops); + init_wait_for_inferior (); + clear_proceed_status (); + +/* proceed ((CORE_ADDR) - 1, TARGET_SIGNAL_0, 0); */ +} + +static void +child_mourn_inferior () +{ + unpush_target (&child_ops); + generic_mourn_inferior (); +} + +void +child_stop () +{ +} + +int +child_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, + int write, struct target_ops *target) +{ + int i; + + for (i = 0; i < len; ++i) + { + if (write) + { + ((char *) memaddr)[i] = myaddr[i]; + } + else + { + myaddr[i] = ((char *) memaddr)[i]; + } + } + return len; +} + +void +child_kill_inferior (void) +{ +} + +void +child_resume (int pid, int step, enum target_signal signal) +{ +} + +static void +child_prepare_to_store () +{ + /* Do nothing, since we can store individual regs */ +} + +static int +child_can_run () +{ + return 1; +} + +static void +child_close () +{ +} + +static void +info_proc (args, from_tty) + char *args; + int from_tty; +{ + ProcessSerialNumber psn; + ProcessInfoRec inforec; + Str31 name; + FSSpecPtr fsspec; + OSType code; + + /* Eventually use args, but not right now. */ + + psn.highLongOfPSN = 0; + psn.lowLongOfPSN = kNoProcess; + + inforec.processInfoLength = sizeof(ProcessInfoRec); + inforec.processName = name; + inforec.processAppSpec = fsspec; + + printf_filtered ("Process Name Sgnt Type PSN Loc Size FreeMem Time\n"); + + while (GetNextProcess (&psn) == noErr) + { + if (GetProcessInformation (&psn, &inforec) == noErr) + { + name[name[0] + 1] = '\0'; + printf_filtered ("%-32.32s", name + 1); + code = inforec.processSignature; + printf_filtered (" %c%c%c%c", + (code >> 24) & 0xff, + (code >> 16) & 0xff, + (code >> 8) & 0xff, + (code >> 0) & 0xff); + code = inforec.processType; + printf_filtered (" %c%c%c%c", + (code >> 24) & 0xff, + (code >> 16) & 0xff, + (code >> 8) & 0xff, + (code >> 0) & 0xff); + if (psn.highLongOfPSN == 0) + printf_filtered (" %9d", psn.lowLongOfPSN); + else + printf_filtered (" %9d,%9d\n", + psn.highLongOfPSN, psn.lowLongOfPSN); + printf_filtered (" 0x%x", inforec.processLocation); + printf_filtered (" %9d", inforec.processSize); + printf_filtered (" %9d", inforec.processFreeMem); + printf_filtered (" %9d", inforec.processActiveTime); + printf_filtered ("\n"); + } + } +} + +struct target_ops child_ops = +{ + "mac", /* to_shortname */ + "MacOS application", /* to_longname */ + "MacOS application (started by the \"run\" command).", /* to_doc */ + child_open, /* to_open */ + child_close, /* to_close */ + child_attach, /* to_attach */ + child_detach, /* to_detach */ + child_resume, /* to_resume */ + child_wait, /* to_wait */ + child_fetch_inferior_registers,/* to_fetch_registers */ + child_store_inferior_registers,/* to_store_registers */ + child_prepare_to_store, /* to_prepare_to_store */ + child_xfer_memory, /* to_xfer_memory */ + child_files_info, /* to_files_info */ + memory_insert_breakpoint, /* to_insert_breakpoint */ + memory_remove_breakpoint, /* to_remove_breakpoint */ + 0, /* to_terminal_init */ + 0, /* to_terminal_inferior */ + 0, /* to_terminal_ours_for_output */ + 0, /* to_terminal_ours */ + 0, /* to_terminal_info */ + child_kill_inferior, /* to_kill */ + 0, /* to_load */ + 0, /* to_lookup_symbol */ + child_create_inferior, /* to_create_inferior */ + child_mourn_inferior, /* to_mourn_inferior */ + child_can_run, /* to_can_run */ + 0, /* to_notice_signals */ + 0, /* to_thread_alive */ + child_stop, /* to_stop */ + process_stratum, /* to_stratum */ + 0, /* to_next */ + 1, /* to_has_all_memory */ + 1, /* to_has_memory */ + 1, /* to_has_stack */ + 1, /* to_has_registers */ + 1, /* to_has_execution */ + 0, /* to_sections */ + 0, /* to_sections_end */ + OPS_MAGIC /* to_magic */ +}; + +void +_initialize_mac_nat () +{ + add_target (&child_ops); + + add_info ("proc", info_proc, + "Show information about processes."); +} diff --git a/contrib/gdb/gdb/mac-xdep.c b/contrib/gdb/gdb/mac-xdep.c new file mode 100644 index 0000000000000..20a79a53c88a5 --- /dev/null +++ b/contrib/gdb/gdb/mac-xdep.c @@ -0,0 +1,1087 @@ +/* Top level support for Mac interface to GDB, the GNU debugger. + Copyright 1994 Free Software Foundation, Inc. + Contributed by Cygnus Support. Written by Stan Shebs. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" + +#include "readline.h" +#include "history.h" + +#include <Types.h> +#include <Resources.h> +#include <QuickDraw.h> +#include <Fonts.h> +#include <Events.h> +#include <Windows.h> +#include <Menus.h> +#include <TextEdit.h> +#include <Dialogs.h> +#include <Desk.h> +#include <ToolUtils.h> +#include <Memory.h> +#include <SegLoad.h> +#include <Files.h> +#include <Folders.h> +#include <OSUtils.h> +#include <OSEvents.h> +#include <DiskInit.h> +#include <Packages.h> +#include <Traps.h> +#include <Lists.h> +#include <Gestalt.h> +#include <PPCToolbox.h> +#include <AppleEvents.h> +#include <StandardFile.h> +#include <Sound.h> + +#ifdef MPW +#define QD(whatever) (qd.##whatever) +#define QDPat(whatever) (&(qd.##whatever)) +#endif /* MPW */ + +#ifdef THINK_C +#define QD(whatever) (whatever) +#endif + +#define p2c(pstr,cbuf) \ + strncpy(cbuf, ((char *) (pstr) + 1), pstr[0]); \ + cbuf[pstr[0]] = '\0'; + +#define pascalify(STR) \ + sprintf(tmpbuf, " %s", STR); \ + tmpbuf[0] = strlen(STR); + +#include "gdbcmd.h" +#include "call-cmds.h" +#include "symtab.h" +#include "inferior.h" +#include "signals.h" +#include "target.h" +#include "breakpoint.h" +#include "gdbtypes.h" +#include "expression.h" +#include "language.h" + +#include "mac-defs.h" + +int debug_openp = 0; + +/* This is true if we are running as a standalone application. */ + +int mac_app; + +/* This is true if we are using WaitNextEvent. */ + +int use_wne; + +/* This is true if we have Color Quickdraw. */ + +int has_color_qd; + +/* This is true if we are using Color Quickdraw. */ + +int use_color_qd; + +int inbackground; + +Rect dragrect = { -32000, -32000, 32000, 32000 }; +Rect sizerect; + +int sbarwid = 15; + +/* Globals for the console window. */ + +WindowPtr console_window; + +ControlHandle console_v_scrollbar; + +Rect console_v_scroll_rect; + +TEHandle console_text; + +Rect console_text_rect; + +/* This will go away eventually. */ +gdb_has_a_terminal () { return 1; } + +mac_init () +{ + SysEnvRec se; + int eventloopdone = 0; + char *str; + Boolean gotevent; + Point mouse; + EventRecord event; + WindowPtr win; + RgnHandle cursorRgn; + int i; + Handle menubar; + MenuHandle menu; + Handle siow_resource; + + mac_app = 0; + + str = getenv("DEBUG_GDB"); + if (str != NULL && str[0] != '\0') + { + if (strcmp(str, "openp") == 0) + debug_openp = 1; + } + + /* Don't do anything if we`re running under MPW. */ + if (!StandAlone) + return; + + /* Don't do anything if we're using SIOW. */ + /* This test requires that the siow 0 resource, as defined in + {RIncludes}siow.r, not be messed with. If it is, then the + standard Mac setup below will step on SIOW's Mac setup and + most likely crash the machine. */ + siow_resource = GetResource('siow', 0); + if (siow_resource != nil) + return; + + mac_app = 1; + + /* Do the standard Mac environment setup. */ + InitGraf (&QD (thePort)); + InitFonts (); + FlushEvents (everyEvent, 0); + InitWindows (); + InitMenus (); + TEInit (); + InitDialogs (NULL); + InitCursor (); + + /* Color Quickdraw is different from Classic QD. */ + SysEnvirons(2, &se); + has_color_qd = se.hasColorQD; + /* Use it if we got it. */ + use_color_qd = has_color_qd; + + sizerect.top = 50; + sizerect.left = 50; + sizerect.bottom = 1000; + sizerect.right = 1000; +#if 0 + sizerect.bottom = screenBits.bounds.bottom - screenBits.bounds.top; + sizerect.right = screenBits.bounds.right - screenBits.bounds.left; +#endif + + /* Set up the menus. */ + menubar = GetNewMBar (mbMain); + SetMenuBar (menubar); + /* Add the DAs etc as usual. */ + menu = GetMHandle (mApple); + if (menu != nil) { + AddResMenu (menu, 'DRVR'); + } + DrawMenuBar (); + + new_console_window (); +} + +new_console_window () +{ + /* Create the main window we're going to play in. */ + if (has_color_qd) + console_window = GetNewCWindow (wConsole, NULL, (WindowPtr) -1L); + else + console_window = GetNewWindow (wConsole, NULL, (WindowPtr) -1L); + + SetPort (console_window); + console_text_rect = console_window->portRect; + /* Leave 8 pixels of blank space, for aesthetic reasons and to + make it easier to select from the beginning of a line. */ + console_text_rect.left += 8; + console_text_rect.bottom -= sbarwid - 1; + console_text_rect.right -= sbarwid - 1; + console_text = TENew (&console_text_rect, &console_text_rect); + TESetSelect (0, 40000, console_text); + TEDelete (console_text); + TEAutoView (1, console_text); + + console_v_scroll_rect = console_window->portRect; + console_v_scroll_rect.bottom -= sbarwid - 1; + console_v_scroll_rect.left = console_v_scroll_rect.right - sbarwid; + console_v_scrollbar = + NewControl (console_window, &console_v_scroll_rect, + "\p", 1, 0, 0, 0, scrollBarProc, 0L); + + ShowWindow (console_window); + SelectWindow (console_window); +} + +mac_command_loop() +{ + SysEnvRec se; + int eventloopdone = 0; + Boolean gotevent; + Point mouse; + EventRecord event; + WindowPtr win; + RgnHandle cursorRgn; + int i, tm; + Handle menubar; + MenuHandle menu; + + /* Figure out if the WaitNextEvent Trap is available. */ + use_wne = + (NGetTrapAddress (0x60, ToolTrap) != NGetTrapAddress (0x9f, ToolTrap)); + /* Pass WaitNextEvent an empty region the first time through. */ + cursorRgn = NewRgn (); + /* Go into the main event-handling loop. */ + while (!eventloopdone) + { + /* Use WaitNextEvent if it is available, otherwise GetNextEvent. */ + if (use_wne) + { + get_global_mouse (&mouse); + adjust_cursor (mouse, cursorRgn); + tm = GetCaretTime(); + gotevent = WaitNextEvent (everyEvent, &event, tm, cursorRgn); + } + else + { + SystemTask (); + gotevent = GetNextEvent (everyEvent, &event); + } + /* First decide if the event is for a dialog or is just any old event. */ + if (FrontWindow () != nil && IsDialogEvent (&event)) + { + short itemhit; + DialogPtr dialog; + + /* Handle all the modeless dialogs here. */ + if (DialogSelect (&event, &dialog, &itemhit)) + { + } + } + else if (gotevent) + { + /* Make sure we have the right cursor before handling the event. */ + adjust_cursor (event.where, cursorRgn); + do_event (&event); + } + else + { + do_idle (); + } + } +} + +/* Collect the global coordinates of the mouse pointer. */ + +get_global_mouse (mouse) +Point *mouse; +{ + EventRecord evt; + + OSEventAvail (0, &evt); + *mouse = evt.where; +} + +/* Change the cursor's appearance to be appropriate for the given mouse + location. */ + +adjust_cursor (mouse, region) +Point mouse; +RgnHandle region; +{ +} + +/* Decipher an event, maybe do something with it. */ + +do_event (evt) +EventRecord *evt; +{ + short part, err, rslt = 0; + WindowPtr win; + Boolean hit; + char key; + Point pnt; + + switch (evt->what) + { + case mouseDown: + /* See if the click happened in a special part of the screen. */ + part = FindWindow (evt->where, &win); + switch (part) + { + case inMenuBar: + adjust_menus (); + do_menu_command (MenuSelect (evt->where)); + break; + case inSysWindow: + SystemClick (evt, win); + break; + case inContent: + if (win != FrontWindow ()) + { + /* Bring the clicked-on window to the front. */ + SelectWindow (win); + /* Fix the menu to match the new front window. */ + adjust_menus (); + /* We always want to discard the event now, since clicks in a + windows are often irreversible actions. */ + } else + /* Mouse clicks in the front window do something useful. */ + do_mouse_down (win, evt); + break; + case inDrag: + /* Standard drag behavior, no tricks necessary. */ + DragWindow (win, evt->where, &dragrect); + break; + case inGrow: + grow_window (win, evt->where); + break; + case inZoomIn: + case inZoomOut: + zoom_window (win, evt->where, part); + break; + case inGoAway: + close_window (win); + break; + } + break; + case keyDown: + case autoKey: + key = evt->message & charCodeMask; + /* Check for menukey equivalents. */ + if (evt->modifiers & cmdKey) + { + if (evt->what == keyDown) + { + adjust_menus (); + do_menu_command (MenuKey (key)); + } + } + else + { + if (evt->what == keyDown) + { + /* Random keypress, interpret it. */ + do_keyboard_command (key); + } + } + break; + case activateEvt: + activate_window ((WindowPtr) evt->message, evt->modifiers & activeFlag); + break; + case updateEvt: + update_window ((WindowPtr) evt->message); + break; + case diskEvt: + /* Call DIBadMount in response to a diskEvt, so that the user can format + a floppy. (from DTS Sample) */ + if (HiWord (evt->message) != noErr) + { + SetPt (&pnt, 50, 50); + err = DIBadMount (pnt, evt->message); + } + break; + case app4Evt: + /* Grab only a single byte. */ + switch ((evt->message >> 24) & 0xFF) + { + case 0xfa: + break; + case 1: + inbackground = !(evt->message & 1); + activate_window (FrontWindow (), !inbackground); + break; + } + break; + case kHighLevelEvent: + AEProcessAppleEvent (evt); + break; + case nullEvent: + do_idle (); + rslt = 1; + break; + default: + break; + } + return rslt; +} + +/* Do any idle-time activities. */ + +do_idle () +{ + TEIdle (console_text); +} + +grow_window (win, where) +WindowPtr win; +Point where; +{ + long winsize; + int h, v; + GrafPtr oldport; + + winsize = GrowWindow (win, where, &sizerect); + /* Only do anything if it actually changed size. */ + if (winsize != 0) + { + GetPort (&oldport); + SetPort (win); + if (win == console_window) + { + EraseRect (&win->portRect); + h = LoWord (winsize); + v = HiWord (winsize); + SizeWindow (win, h, v, 1); + resize_console_window (); + } + SetPort (oldport); + } +} + +zoom_window (win, where, part) +WindowPtr win; +Point where; +short part; +{ + ZoomWindow (win, part, (win == FrontWindow ())); + if (win == console_window) + { + resize_console_window (); + } +} + +resize_console_window () +{ + adjust_console_sizes (); + adjust_console_scrollbars (); + adjust_console_text (); + InvalRect (&console_window->portRect); +} + +close_window (win) +WindowPtr win; +{ +} + +pascal void +v_scroll_proc (ControlHandle control, short part) +{ + int oldval, amount = 0, newval; + int pagesize = ((*console_text)->viewRect.bottom - (*console_text)->viewRect.top) / (*console_text)->lineHeight; + if (part) + { + oldval = GetCtlValue (control); + switch (part) + { + case inUpButton: + amount = 1; + break; + case inDownButton: + amount = -1; + break; + case inPageUp: + amount = pagesize; + break; + case inPageDown: + amount = - pagesize; + break; + default: + /* (should freak out) */ + break; + } + SetCtlValue(control, oldval - amount); + newval = GetCtlValue (control); + amount = oldval - newval; + if (amount) + TEScroll (0, amount * (*console_text)->lineHeight, console_text); + } +} + +do_mouse_down (WindowPtr win, EventRecord *event) +{ + short part, value; + Point mouse; + ControlHandle control; + + if (1 /*is_app_window(win)*/) + { + SetPort (win); + mouse = event->where; + GlobalToLocal (&mouse); + part = FindControl(mouse, win, &control); + if (control == console_v_scrollbar) + { + switch (part) + { + case inThumb: + value = GetCtlValue (control); + part = TrackControl (control, mouse, nil); + if (part) + { + value -= GetCtlValue (control); + if (value) + TEScroll(0, value * (*console_text)->lineHeight, + console_text); + } + break; + default: +#if 0 /* don't deal with right now */ +#if 1 /* universal headers */ + value = TrackControl (control, mouse, (ControlActionUPP) v_scroll_proc); +#else + value = TrackControl (control, mouse, (ProcPtr) v_scroll_proc); +#endif +#endif + break; + } + } + else + { + TEClick (mouse, 0, console_text); + } + } +} + +scroll_text (hlines, vlines) +int hlines, vlines; +{ +} + +activate_window (win, activate) +WindowPtr win; +int activate; +{ + Rect grow_rect; + + if (win == nil) return; + /* It's convenient to make the activated window also be the + current GrafPort. */ + if (activate) + SetPort(win); + /* Activate the console window's scrollbar. */ + if (win == console_window) + { + if (activate) + { + TEActivate (console_text); + /* Cause the grow icon to be redrawn at the next update. */ + grow_rect = console_window->portRect; + grow_rect.top = grow_rect.bottom - sbarwid; + grow_rect.left = grow_rect.right - sbarwid; + InvalRect (&grow_rect); + } + else + { + TEDeactivate (console_text); + DrawGrowIcon (console_window); + } + HiliteControl (console_v_scrollbar, (activate ? 0 : 255)); + } +} + +update_window (win) +WindowPtr win; +{ + int controls = 1, growbox = 0; + GrafPtr oldport; + + /* Set the updating window to be the current grafport. */ + GetPort (&oldport); + SetPort (win); +/* recalc_depths(); */ + BeginUpdate (win); + if (win == console_window) + { + draw_console (); + controls = 1; + growbox = 1; + } + if (controls) + UpdateControls (win, win->visRgn); + if (growbox) + DrawGrowIcon (win); + EndUpdate (win); + SetPort (oldport); +} + +adjust_menus () +{ +} + +do_menu_command (which) +long which; +{ + short menuid, menuitem; + short itemHit; + Str255 daname; + short daRefNum; + Boolean handledbyda; + WindowPtr win; + short ditem; + int i; + char cmdbuf[300]; + + cmdbuf[0] = '\0'; + menuid = HiWord (which); + menuitem = LoWord (which); + switch (menuid) + { + case mApple: + switch (menuitem) + { + case miAbout: + Alert (128, nil); + break; +#if 0 + case miHelp: + /* (should pop up help info) */ + break; +#endif + default: + GetItem (GetMHandle (mApple), menuitem, daname); + daRefNum = OpenDeskAcc (daname); + } + break; + case mFile: + switch (menuitem) + { + case miFileNew: + if (console_window == FrontWindow ()) + { + close_window (console_window); + } + new_console_window (); + break; + case miFileOpen: + SysBeep (20); + break; + case miFileQuit: + ExitToShell (); + break; + } + break; + case mEdit: + /* handledbyda = SystemEdit(menuitem-1); */ + switch (menuitem) + { + case miEditCut: + TECut (console_text); + break; + case miEditCopy: + TECopy (console_text); + break; + case miEditPaste: + TEPaste (console_text); + break; + case miEditClear: + TEDelete (console_text); + break; + } + /* All of these operations need the same postprocessing. */ + adjust_console_sizes (); + adjust_console_scrollbars (); + adjust_console_text (); + break; + case mDebug: + switch (menuitem) + { + case miDebugTarget: + sprintf (cmdbuf, "target %s", "remote"); + break; + case miDebugRun: + sprintf (cmdbuf, "run"); + break; + case miDebugContinue: + sprintf (cmdbuf, "continue"); + break; + case miDebugStep: + sprintf (cmdbuf, "step"); + break; + case miDebugNext: + sprintf (cmdbuf, "next"); + break; + } + break; + } + HiliteMenu (0); + /* Execute a command if one had been given. Do here because a command + may longjmp before we get a chance to unhilite the menu. */ + if (strlen (cmdbuf) > 0) + execute_command (cmdbuf, 0); +} + +char commandbuf[1000]; + +do_keyboard_command (key) +int key; +{ + int startpos, endpos, i, len; + char *last_newline; + char buf[10], *text_str, *command, *cmd_start; + CharsHandle text; + + if (key == '\015' || key == '\003') + { + text = TEGetText (console_text); + HLock ((Handle) text); + text_str = *text; + startpos = (*console_text)->selStart; + endpos = (*console_text)->selEnd; + if (startpos != endpos) + { + len = endpos - startpos; + cmd_start = text_str + startpos; + } + else + { + for (i = startpos - 1; i >= 0; --i) + if (text_str[i] == '\015') + break; + last_newline = text_str + i; + len = (text_str + startpos) - 1 - last_newline; + cmd_start = last_newline + 1; + } + if (len > 1000) len = 999; + if (len < 0) len = 0; + strncpy (commandbuf + 1, cmd_start, len); + commandbuf[1 + len] = 0; + command = commandbuf + 1; + HUnlock ((Handle) text); + commandbuf[0] = strlen(command); + + /* Insert a newline and recalculate before doing any command. */ + key = '\015'; + TEKey (key, console_text); + TEInsert (buf, 1, console_text); + adjust_console_sizes (); + adjust_console_scrollbars (); + adjust_console_text (); + + if (strlen (command) > 0) + { + execute_command (command, 0); + bpstat_do_actions (&stop_bpstat); + } + } + else + { + /* A self-inserting character. This includes delete. */ + TEKey (key, console_text); + } +} + +/* Draw all graphical stuff in the console window. */ + +draw_console () +{ + SetPort (console_window); + TEUpdate (&(console_window->portRect), console_text); +} + +/* Cause an update of a given window's entire contents. */ + +force_update (win) +WindowPtr win; +{ + GrafPtr oldport; + + if (win == nil) return; + GetPort (&oldport); + SetPort (win); + EraseRect (&win->portRect); + InvalRect (&win->portRect); + SetPort (oldport); +} + +adjust_console_sizes () +{ + Rect tmprect; + + tmprect = console_window->portRect; + /* Move and size the scrollbar. */ + MoveControl (console_v_scrollbar, tmprect.right - sbarwid, 0); + SizeControl (console_v_scrollbar, sbarwid + 1, tmprect.bottom - sbarwid + 1); + /* Move and size the text. */ + tmprect.left += 7; + tmprect.right -= sbarwid; + tmprect.bottom -= sbarwid; + InsetRect(&tmprect, 1, 1); + (*console_text)->destRect = tmprect; + /* Fiddle bottom of viewrect to be even multiple of text lines. */ + tmprect.bottom = tmprect.top + + ((tmprect.bottom - tmprect.top) / (*console_text)->lineHeight) + * (*console_text)->lineHeight; + (*console_text)->viewRect = tmprect; +} + +adjust_console_scrollbars () +{ + int lines, newmax, value; + + (*console_v_scrollbar)->contrlVis = 0; + lines = (*console_text)->nLines; + newmax = lines - (((*console_text)->viewRect.bottom + - (*console_text)->viewRect.top) + / (*console_text)->lineHeight); + if (newmax < 0) newmax = 0; + SetCtlMax (console_v_scrollbar, newmax); + value = ((*console_text)->viewRect.top - (*console_text)->destRect.top) + / (*console_text)->lineHeight; + SetCtlValue (console_v_scrollbar, value); + (*console_v_scrollbar)->contrlVis = 0xff; + ShowControl (console_v_scrollbar); +} + +/* Scroll the TE record so that it is consistent with the scrollbar(s). */ + +adjust_console_text () +{ + TEScroll (((*console_text)->viewRect.left + - (*console_text)->destRect.left) + - 0 /* get h scroll value */, + ((((*console_text)->viewRect.top - (*console_text)->destRect.top) + / (*console_text)->lineHeight) + - GetCtlValue (console_v_scrollbar)) + * (*console_text)->lineHeight, + console_text); +} + +/* Readline substitute. */ + +char * +readline (char *prrompt) +{ + return gdb_readline (prrompt); +} + +char *rl_completer_word_break_characters; + +char *rl_completer_quote_characters; + +int (*rl_completion_entry_function) (); + +int rl_point; + +char *rl_line_buffer; + +char *rl_readline_name; + +/* History substitute. */ + +void +add_history (char *buf) +{ +} + +void +stifle_history (int n) +{ +} + +int +unstifle_history () +{ +} + +int +read_history (char *name) +{ +} + +int +write_history (char *name) +{ +} + +int +history_expand (char *x, char **y) +{ +} + +extern HIST_ENTRY * +history_get (int xxx) +{ + return NULL; +} + +int history_base; + +char * +filename_completion_function (char *text, char *name) +{ + return "?"; +} + +char * +tilde_expand (char *str) +{ + return strsave (str); +} + +/* Modified versions of standard I/O. */ + +#undef fprintf + +int +hacked_fprintf (FILE *fp, const char *fmt, ...) +{ + int ret; + va_list ap; + + va_start (ap, fmt); + if (mac_app && (fp == stdout || fp == stderr)) + { + char buf[1000]; + + ret = vsprintf(buf, fmt, ap); + TEInsert (buf, strlen(buf), console_text); + } + else + ret = vfprintf (fp, fmt, ap); + va_end (ap); + return ret; +} + +#undef printf + +int +hacked_printf (const char *fmt, ...) +{ + int ret; + va_list ap; + + va_start (ap, fmt); + ret = hacked_vfprintf(stdout, fmt, ap); + va_end (ap); + return ret; +} + +#undef vfprintf + +int +hacked_vfprintf (FILE *fp, const char *format, va_list args) +{ + if (mac_app && (fp == stdout || fp == stderr)) + { + char buf[1000]; + int ret; + + ret = vsprintf(buf, format, args); + TEInsert (buf, strlen(buf), console_text); + if (strchr(buf, '\n')) + { + adjust_console_sizes (); + adjust_console_scrollbars (); + adjust_console_text (); + } + return ret; + } + else + return vfprintf (fp, format, args); +} + +#undef fputs + +hacked_fputs (const char *s, FILE *fp) +{ + if (mac_app && (fp == stdout || fp == stderr)) + { + TEInsert (s, strlen(s), console_text); + if (strchr(s, '\n')) + { + adjust_console_sizes (); + adjust_console_scrollbars (); + adjust_console_text (); + } + return 0; + } + else + return fputs (s, fp); +} + +#undef fputc + +hacked_fputc (const char c, FILE *fp) +{ + if (mac_app && (fp == stdout || fp == stderr)) + { + char buf[1]; + + buf[0] = c; + TEInsert (buf, 1, console_text); + if (c == '\n') + { + adjust_console_sizes (); + adjust_console_scrollbars (); + adjust_console_text (); + } + return c; + } + else + return fputc (c, fp); +} + +#undef putc + +hacked_putc (const char c, FILE *fp) +{ + if (mac_app && (fp == stdout || fp == stderr)) + { + char buf[1]; + + buf[0] = c; + TEInsert (buf, 1, console_text); + if (c == '\n') + { + adjust_console_sizes (); + adjust_console_scrollbars (); + adjust_console_text (); + } + return c; + } + else + return fputc (c, fp); +} + +#undef fflush + +hacked_fflush (FILE *fp) +{ + if (mac_app && (fp == stdout || fp == stderr)) + { + adjust_console_sizes (); + adjust_console_scrollbars (); + adjust_console_text (); + return 0; + } + return fflush (fp); +} + +#undef fgetc + +hacked_fgetc (FILE *fp) +{ + if (mac_app && (fp == stdin)) + { + /* Catch any attempts to use this. */ + DebugStr("\pShould not be reading from stdin!"); + return '\n'; + } + return fgetc (fp); +} diff --git a/contrib/gdb/gdb/mips-nat.c b/contrib/gdb/gdb/mips-nat.c new file mode 100644 index 0000000000000..8d80af4e587a7 --- /dev/null +++ b/contrib/gdb/gdb/mips-nat.c @@ -0,0 +1,242 @@ +/* Low level DECstation interface to ptrace, for GDB when running native. + Copyright 1988, 1989, 1991, 1992, 1995 Free Software Foundation, Inc. + Contributed by Alessandro Forin(af@cs.cmu.edu) at CMU + and by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" +#include "gdbcore.h" +#include <sys/ptrace.h> +#include <sys/types.h> +#include <sys/param.h> +#include <sys/user.h> +#undef JB_S0 +#undef JB_S1 +#undef JB_S2 +#undef JB_S3 +#undef JB_S4 +#undef JB_S5 +#undef JB_S6 +#undef JB_S7 +#undef JB_SP +#undef JB_S8 +#undef JB_PC +#undef JB_SR +#undef NJBREGS +#include <setjmp.h> /* For JB_XXX. */ + +/* Size of elements in jmpbuf */ + +#define JB_ELEMENT_SIZE 4 + +/* Map gdb internal register number to ptrace ``address''. + These ``addresses'' are defined in DECstation <sys/ptrace.h> */ + +#define REGISTER_PTRACE_ADDR(regno) \ + (regno < 32 ? GPR_BASE + regno \ + : regno == PC_REGNUM ? PC \ + : regno == CAUSE_REGNUM ? CAUSE \ + : regno == HI_REGNUM ? MMHI \ + : regno == LO_REGNUM ? MMLO \ + : regno == FCRCS_REGNUM ? FPC_CSR \ + : regno == FCRIR_REGNUM ? FPC_EIR \ + : regno >= FP0_REGNUM ? FPR_BASE + (regno - FP0_REGNUM) \ + : 0) + +static char zerobuf[MAX_REGISTER_RAW_SIZE] = {0}; + +/* Get all registers from the inferior */ + +void +fetch_inferior_registers (regno) + int regno; +{ + register unsigned int regaddr; + char buf[MAX_REGISTER_RAW_SIZE]; + register int i; + + registers_fetched (); + + for (regno = 1; regno < NUM_REGS; regno++) + { + regaddr = REGISTER_PTRACE_ADDR (regno); + for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int)) + { + *(int *) &buf[i] = ptrace (PT_READ_U, inferior_pid, + (PTRACE_ARG3_TYPE) regaddr, 0); + regaddr += sizeof (int); + } + supply_register (regno, buf); + } + + supply_register (ZERO_REGNUM, zerobuf); + /* Frame ptr reg must appear to be 0; it is faked by stack handling code. */ + supply_register (FP_REGNUM, zerobuf); +} + +/* Store our register values back into the inferior. + If REGNO is -1, do this for all registers. + Otherwise, REGNO specifies which register (so we can save time). */ + +void +store_inferior_registers (regno) + int regno; +{ + register unsigned int regaddr; + char buf[80]; + + if (regno > 0) + { + if (regno == ZERO_REGNUM || regno == PS_REGNUM + || regno == BADVADDR_REGNUM || regno == CAUSE_REGNUM + || regno == FCRIR_REGNUM || regno == FP_REGNUM + || (regno >= FIRST_EMBED_REGNUM && regno <= LAST_EMBED_REGNUM)) + return; + regaddr = REGISTER_PTRACE_ADDR (regno); + errno = 0; + ptrace (PT_WRITE_U, inferior_pid, (PTRACE_ARG3_TYPE) regaddr, + read_register (regno)); + if (errno != 0) + { + sprintf (buf, "writing register number %d", regno); + perror_with_name (buf); + } + } + else + { + for (regno = 0; regno < NUM_REGS; regno++) + store_inferior_registers (regno); + } +} + + +/* Figure out where the longjmp will land. + We expect the first arg to be a pointer to the jmp_buf structure from which + we extract the pc (JB_PC) that we will land at. The pc is copied into PC. + This routine returns true on success. */ + +int +get_longjmp_target(pc) + CORE_ADDR *pc; +{ + CORE_ADDR jb_addr; + char buf[TARGET_PTR_BIT / TARGET_CHAR_BIT]; + + jb_addr = read_register (A0_REGNUM); + + if (target_read_memory (jb_addr + JB_PC * JB_ELEMENT_SIZE, buf, + TARGET_PTR_BIT / TARGET_CHAR_BIT)) + return 0; + + *pc = extract_address (buf, TARGET_PTR_BIT / TARGET_CHAR_BIT); + + return 1; +} + +/* Extract the register values out of the core file and store + them where `read_register' will find them. + + CORE_REG_SECT points to the register values themselves, read into memory. + CORE_REG_SIZE is the size of that area. + WHICH says which set of registers we are handling (0 = int, 2 = float + on machines where they are discontiguous). + REG_ADDR is the offset from u.u_ar0 to the register values relative to + core_reg_sect. This is used with old-fashioned core files to + locate the registers in a large upage-plus-stack ".reg" section. + Original upage address X is at location core_reg_sect+x+reg_addr. + */ + +static void +fetch_core_registers (core_reg_sect, core_reg_size, which, reg_addr) + char *core_reg_sect; + unsigned core_reg_size; + int which; + unsigned reg_addr; +{ + register int regno; + register unsigned int addr; + int bad_reg = -1; + register reg_ptr = -reg_addr; /* Original u.u_ar0 is -reg_addr. */ + + /* If u.u_ar0 was an absolute address in the core file, relativize it now, + so we can use it as an offset into core_reg_sect. When we're done, + "register 0" will be at core_reg_sect+reg_ptr, and we can use + register_addr to offset to the other registers. If this is a modern + core file without a upage, reg_ptr will be zero and this is all a big + NOP. */ + if (reg_ptr > core_reg_size) +#ifdef KERNEL_U_ADDR + reg_ptr -= KERNEL_U_ADDR; +#else + error ("Old mips core file can't be processed on this machine."); +#endif + + for (regno = 0; regno < NUM_REGS; regno++) + { + addr = register_addr (regno, reg_ptr); + if (addr >= core_reg_size) { + if (bad_reg < 0) + bad_reg = regno; + } else { + supply_register (regno, core_reg_sect + addr); + } + } + if (bad_reg >= 0) + { + error ("Register %s not found in core file.", reg_names[bad_reg]); + } + supply_register (ZERO_REGNUM, zerobuf); + /* Frame ptr reg must appear to be 0; it is faked by stack handling code. */ + supply_register (FP_REGNUM, zerobuf); +} + +/* Return the address in the core dump or inferior of register REGNO. + BLOCKEND is the address of the end of the user structure. */ + +unsigned int +register_addr (regno, blockend) + int regno; + int blockend; +{ + int addr; + + if (regno < 0 || regno >= NUM_REGS) + error ("Invalid register number %d.", regno); + + REGISTER_U_ADDR (addr, blockend, regno); + + return addr; +} + + +/* Register that we are able to handle mips core file formats. + FIXME: is this really bfd_target_unknown_flavour? */ + +static struct core_fns mips_core_fns = +{ + bfd_target_unknown_flavour, + fetch_core_registers, + NULL +}; + +void +_initialize_core_mips () +{ + add_core_fns (&mips_core_fns); +} diff --git a/contrib/gdb/gdb/mips-tdep.c b/contrib/gdb/gdb/mips-tdep.c new file mode 100644 index 0000000000000..7365adf9c8c16 --- /dev/null +++ b/contrib/gdb/gdb/mips-tdep.c @@ -0,0 +1,1585 @@ +/* Target-dependent code for the MIPS architecture, for GDB, the GNU Debugger. + Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995 + Free Software Foundation, Inc. + Contributed by Alessandro Forin(af@cs.cmu.edu) at CMU + and by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "gdb_string.h" +#include "frame.h" +#include "inferior.h" +#include "symtab.h" +#include "value.h" +#include "gdbcmd.h" +#include "language.h" +#include "gdbcore.h" +#include "symfile.h" +#include "objfiles.h" +#include "gdbtypes.h" + +#include "opcode/mips.h" + +#define VM_MIN_ADDRESS (unsigned)0x400000 + +/* FIXME: Put this declaration in frame.h. */ +extern struct obstack frame_cache_obstack; + +#if 0 +static int mips_in_lenient_prologue PARAMS ((CORE_ADDR, CORE_ADDR)); +#endif + +static void mips_set_fpu_command PARAMS ((char *, int, + struct cmd_list_element *)); + +static void mips_show_fpu_command PARAMS ((char *, int, + struct cmd_list_element *)); + +void mips_set_processor_type_command PARAMS ((char *, int)); + +int mips_set_processor_type PARAMS ((char *)); + +static void mips_show_processor_type_command PARAMS ((char *, int)); + +static void reinit_frame_cache_sfunc PARAMS ((char *, int, + struct cmd_list_element *)); + +static mips_extra_func_info_t + find_proc_desc PARAMS ((CORE_ADDR pc, struct frame_info *next_frame)); + +static CORE_ADDR after_prologue PARAMS ((CORE_ADDR pc, + mips_extra_func_info_t proc_desc)); + +/* This value is the model of MIPS in use. It is derived from the value + of the PrID register. */ + +char *mips_processor_type; + +char *tmp_mips_processor_type; + +/* Some MIPS boards don't support floating point, so we permit the + user to turn it off. */ + +enum mips_fpu_type mips_fpu; + +static char *mips_fpu_string; + +/* A set of original names, to be used when restoring back to generic + registers from a specific set. */ + +char *mips_generic_reg_names[] = REGISTER_NAMES; + +/* Names of IDT R3041 registers. */ + +char *mips_r3041_reg_names[] = { + "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", + "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", + "t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra", + "sr", "lo", "hi", "bad", "cause","pc", + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", + "fsr", "fir", "fp", "", + "", "", "bus", "ccfg", "", "", "", "", + "", "", "port", "cmp", "", "", "epc", "prid", +}; + +/* Names of IDT R3051 registers. */ + +char *mips_r3051_reg_names[] = { + "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", + "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", + "t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra", + "sr", "lo", "hi", "bad", "cause","pc", + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", + "fsr", "fir", "fp", "", + "inx", "rand", "elo", "", "ctxt", "", "", "", + "", "", "ehi", "", "", "", "epc", "prid", +}; + +/* Names of IDT R3081 registers. */ + +char *mips_r3081_reg_names[] = { + "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", + "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", + "t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra", + "sr", "lo", "hi", "bad", "cause","pc", + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", + "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", + "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", + "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", + "fsr", "fir", "fp", "", + "inx", "rand", "elo", "cfg", "ctxt", "", "", "", + "", "", "ehi", "", "", "", "epc", "prid", +}; + +/* Names of LSI 33k registers. */ + +char *mips_lsi33k_reg_names[] = { + "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", + "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", + "t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra", + "epc", "hi", "lo", "sr", "cause","badvaddr", + "dcic", "bpc", "bda", "", "", "", "", "", + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", + "", "", "", "", + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", +}; + +struct { + char *name; + char **regnames; +} mips_processor_type_table[] = { + { "generic", mips_generic_reg_names }, + { "r3041", mips_r3041_reg_names }, + { "r3051", mips_r3051_reg_names }, + { "r3071", mips_r3081_reg_names }, + { "r3081", mips_r3081_reg_names }, + { "lsi33k", mips_lsi33k_reg_names }, + { NULL, NULL } +}; + +/* Heuristic_proc_start may hunt through the text section for a long + time across a 2400 baud serial line. Allows the user to limit this + search. */ + +static unsigned int heuristic_fence_post = 0; + +#define PROC_LOW_ADDR(proc) ((proc)->pdr.adr) /* least address */ +#define PROC_HIGH_ADDR(proc) ((proc)->pdr.iline) /* upper address bound */ +#define PROC_FRAME_OFFSET(proc) ((proc)->pdr.frameoffset) +#define PROC_FRAME_REG(proc) ((proc)->pdr.framereg) +#define PROC_REG_MASK(proc) ((proc)->pdr.regmask) +#define PROC_FREG_MASK(proc) ((proc)->pdr.fregmask) +#define PROC_REG_OFFSET(proc) ((proc)->pdr.regoffset) +#define PROC_FREG_OFFSET(proc) ((proc)->pdr.fregoffset) +#define PROC_PC_REG(proc) ((proc)->pdr.pcreg) +#define PROC_SYMBOL(proc) (*(struct symbol**)&(proc)->pdr.isym) +#define _PROC_MAGIC_ 0x0F0F0F0F +#define PROC_DESC_IS_DUMMY(proc) ((proc)->pdr.isym == _PROC_MAGIC_) +#define SET_PROC_DESC_IS_DUMMY(proc) ((proc)->pdr.isym = _PROC_MAGIC_) + +struct linked_proc_info +{ + struct mips_extra_func_info info; + struct linked_proc_info *next; +} *linked_proc_desc_table = NULL; + + + +/* This returns the PC of the first inst after the prologue. If we can't + find the prologue, then return 0. */ + +static CORE_ADDR +after_prologue (pc, proc_desc) + CORE_ADDR pc; + mips_extra_func_info_t proc_desc; +{ + struct symtab_and_line sal; + CORE_ADDR func_addr, func_end; + + if (!proc_desc) + proc_desc = find_proc_desc (pc, NULL); + + if (proc_desc) + { + /* If function is frameless, then we need to do it the hard way. I + strongly suspect that frameless always means prologueless... */ + if (PROC_FRAME_REG (proc_desc) == SP_REGNUM + && PROC_FRAME_OFFSET (proc_desc) == 0) + return 0; + } + + if (!find_pc_partial_function (pc, NULL, &func_addr, &func_end)) + return 0; /* Unknown */ + + sal = find_pc_line (func_addr, 0); + + if (sal.end < func_end) + return sal.end; + + /* The line after the prologue is after the end of the function. In this + case, tell the caller to find the prologue the hard way. */ + + return 0; +} + +/* Guaranteed to set fci->saved_regs to some values (it never leaves it + NULL). */ + +void +mips_find_saved_regs (fci) + struct frame_info *fci; +{ + int ireg; + CORE_ADDR reg_position; + /* r0 bit means kernel trap */ + int kernel_trap; + /* What registers have been saved? Bitmasks. */ + unsigned long gen_mask, float_mask; + mips_extra_func_info_t proc_desc; + + fci->saved_regs = (struct frame_saved_regs *) + obstack_alloc (&frame_cache_obstack, sizeof(struct frame_saved_regs)); + memset (fci->saved_regs, 0, sizeof (struct frame_saved_regs)); + + /* If it is the frame for sigtramp, the saved registers are located + in a sigcontext structure somewhere on the stack. + If the stack layout for sigtramp changes we might have to change these + constants and the companion fixup_sigtramp in mdebugread.c */ +#ifndef SIGFRAME_BASE +/* To satisfy alignment restrictions, sigcontext is located 4 bytes + above the sigtramp frame. */ +#define SIGFRAME_BASE 4 +#define SIGFRAME_PC_OFF (SIGFRAME_BASE + 2 * 4) +#define SIGFRAME_REGSAVE_OFF (SIGFRAME_BASE + 3 * 4) +#define SIGFRAME_FPREGSAVE_OFF (SIGFRAME_REGSAVE_OFF + 32 * 4 + 3 * 4) +#endif +#ifndef SIGFRAME_REG_SIZE +#define SIGFRAME_REG_SIZE 4 +#endif + if (fci->signal_handler_caller) + { + for (ireg = 0; ireg < 32; ireg++) + { + reg_position = fci->frame + SIGFRAME_REGSAVE_OFF + + ireg * SIGFRAME_REG_SIZE; + fci->saved_regs->regs[ireg] = reg_position; + } + for (ireg = 0; ireg < 32; ireg++) + { + reg_position = fci->frame + SIGFRAME_FPREGSAVE_OFF + + ireg * SIGFRAME_REG_SIZE; + fci->saved_regs->regs[FP0_REGNUM + ireg] = reg_position; + } + fci->saved_regs->regs[PC_REGNUM] = fci->frame + SIGFRAME_PC_OFF; + return; + } + + proc_desc = fci->proc_desc; + if (proc_desc == NULL) + /* I'm not sure how/whether this can happen. Normally when we can't + find a proc_desc, we "synthesize" one using heuristic_proc_desc + and set the saved_regs right away. */ + return; + + kernel_trap = PROC_REG_MASK(proc_desc) & 1; + gen_mask = kernel_trap ? 0xFFFFFFFF : PROC_REG_MASK(proc_desc); + float_mask = kernel_trap ? 0xFFFFFFFF : PROC_FREG_MASK(proc_desc); + + if (/* In any frame other than the innermost, we assume that all + registers have been saved. This assumes that all register + saves in a function happen before the first function + call. */ + fci->next == NULL + + /* In a dummy frame we know exactly where things are saved. */ + && !PROC_DESC_IS_DUMMY (proc_desc) + + /* Don't bother unless we are inside a function prologue. Outside the + prologue, we know where everything is. */ + + && in_prologue (fci->pc, PROC_LOW_ADDR (proc_desc)) + + /* Not sure exactly what kernel_trap means, but if it means + the kernel saves the registers without a prologue doing it, + we better not examine the prologue to see whether registers + have been saved yet. */ + && !kernel_trap) + { + /* We need to figure out whether the registers that the proc_desc + claims are saved have been saved yet. */ + + CORE_ADDR addr; + int status; + char buf[4]; + unsigned long inst; + + /* Bitmasks; set if we have found a save for the register. */ + unsigned long gen_save_found = 0; + unsigned long float_save_found = 0; + + for (addr = PROC_LOW_ADDR (proc_desc); + addr < fci->pc /*&& (gen_mask != gen_save_found + || float_mask != float_save_found)*/; + addr += 4) + { + status = read_memory_nobpt (addr, buf, 4); + if (status) + memory_error (status, addr); + inst = extract_unsigned_integer (buf, 4); + if (/* sw reg,n($sp) */ + (inst & 0xffe00000) == 0xafa00000 + + /* sw reg,n($r30) */ + || (inst & 0xffe00000) == 0xafc00000 + + /* sd reg,n($sp) */ + || (inst & 0xffe00000) == 0xffa00000) + { + /* It might be possible to use the instruction to + find the offset, rather than the code below which + is based on things being in a certain order in the + frame, but figuring out what the instruction's offset + is relative to might be a little tricky. */ + int reg = (inst & 0x001f0000) >> 16; + gen_save_found |= (1 << reg); + } + else if (/* swc1 freg,n($sp) */ + (inst & 0xffe00000) == 0xe7a00000 + + /* swc1 freg,n($r30) */ + || (inst & 0xffe00000) == 0xe7c00000 + + /* sdc1 freg,n($sp) */ + || (inst & 0xffe00000) == 0xf7a00000) + + { + int reg = ((inst & 0x001f0000) >> 16); + float_save_found |= (1 << reg); + } + } + gen_mask = gen_save_found; + float_mask = float_save_found; + } + + /* Fill in the offsets for the registers which gen_mask says + were saved. */ + reg_position = fci->frame + PROC_REG_OFFSET (proc_desc); + for (ireg= 31; gen_mask; --ireg, gen_mask <<= 1) + if (gen_mask & 0x80000000) + { + fci->saved_regs->regs[ireg] = reg_position; + reg_position -= MIPS_REGSIZE; + } + /* Fill in the offsets for the registers which float_mask says + were saved. */ + reg_position = fci->frame + PROC_FREG_OFFSET (proc_desc); + + /* The freg_offset points to where the first *double* register + is saved. So skip to the high-order word. */ + reg_position += 4; + for (ireg = 31; float_mask; --ireg, float_mask <<= 1) + if (float_mask & 0x80000000) + { + fci->saved_regs->regs[FP0_REGNUM+ireg] = reg_position; + reg_position -= MIPS_REGSIZE; + } + + fci->saved_regs->regs[PC_REGNUM] = fci->saved_regs->regs[RA_REGNUM]; +} + +static int +read_next_frame_reg(fi, regno) + struct frame_info *fi; + int regno; +{ + for (; fi; fi = fi->next) + { + /* We have to get the saved sp from the sigcontext + if it is a signal handler frame. */ + if (regno == SP_REGNUM && !fi->signal_handler_caller) + return fi->frame; + else + { + if (fi->saved_regs == NULL) + mips_find_saved_regs (fi); + if (fi->saved_regs->regs[regno]) + return read_memory_integer(fi->saved_regs->regs[regno], MIPS_REGSIZE); + } + } + return read_register (regno); +} + +int +mips_frame_saved_pc(frame) + struct frame_info *frame; +{ + mips_extra_func_info_t proc_desc = frame->proc_desc; + /* We have to get the saved pc from the sigcontext + if it is a signal handler frame. */ + int pcreg = frame->signal_handler_caller ? PC_REGNUM + : (proc_desc ? PROC_PC_REG(proc_desc) : RA_REGNUM); + + if (proc_desc && PROC_DESC_IS_DUMMY(proc_desc)) + return read_memory_integer(frame->frame - 4, 4); + + return read_next_frame_reg(frame, pcreg); +} + +static struct mips_extra_func_info temp_proc_desc; +static struct frame_saved_regs temp_saved_regs; + +/* This fencepost looks highly suspicious to me. Removing it also + seems suspicious as it could affect remote debugging across serial + lines. */ + +static CORE_ADDR +heuristic_proc_start(pc) + CORE_ADDR pc; +{ + CORE_ADDR start_pc = pc; + CORE_ADDR fence = start_pc - heuristic_fence_post; + + if (start_pc == 0) return 0; + + if (heuristic_fence_post == UINT_MAX + || fence < VM_MIN_ADDRESS) + fence = VM_MIN_ADDRESS; + + /* search back for previous return */ + for (start_pc -= 4; ; start_pc -= 4) + if (start_pc < fence) + { + /* It's not clear to me why we reach this point when + stop_soon_quietly, but with this test, at least we + don't print out warnings for every child forked (eg, on + decstation). 22apr93 rich@cygnus.com. */ + if (!stop_soon_quietly) + { + static int blurb_printed = 0; + + if (fence == VM_MIN_ADDRESS) + warning("Hit beginning of text section without finding"); + else + warning("Hit heuristic-fence-post without finding"); + + warning("enclosing function for address 0x%x", pc); + if (!blurb_printed) + { + printf_filtered ("\ +This warning occurs if you are debugging a function without any symbols\n\ +(for example, in a stripped executable). In that case, you may wish to\n\ +increase the size of the search with the `set heuristic-fence-post' command.\n\ +\n\ +Otherwise, you told GDB there was a function where there isn't one, or\n\ +(more likely) you have encountered a bug in GDB.\n"); + blurb_printed = 1; + } + } + + return 0; + } + else if (ABOUT_TO_RETURN(start_pc)) + break; + + start_pc += 8; /* skip return, and its delay slot */ +#if 0 + /* skip nops (usually 1) 0 - is this */ + while (start_pc < pc && read_memory_integer (start_pc, 4) == 0) + start_pc += 4; +#endif + return start_pc; +} + +static mips_extra_func_info_t +heuristic_proc_desc(start_pc, limit_pc, next_frame) + CORE_ADDR start_pc, limit_pc; + struct frame_info *next_frame; +{ + CORE_ADDR sp = read_next_frame_reg (next_frame, SP_REGNUM); + CORE_ADDR cur_pc; + int frame_size; + int has_frame_reg = 0; + int reg30 = 0; /* Value of $r30. Used by gcc for frame-pointer */ + unsigned long reg_mask = 0; + + if (start_pc == 0) return NULL; + memset (&temp_proc_desc, '\0', sizeof(temp_proc_desc)); + memset (&temp_saved_regs, '\0', sizeof(struct frame_saved_regs)); + PROC_LOW_ADDR (&temp_proc_desc) = start_pc; + + if (start_pc + 200 < limit_pc) + limit_pc = start_pc + 200; + restart: + frame_size = 0; + for (cur_pc = start_pc; cur_pc < limit_pc; cur_pc += 4) { + char buf[4]; + unsigned long word; + int status; + + status = read_memory_nobpt (cur_pc, buf, 4); + if (status) memory_error (status, cur_pc); + word = extract_unsigned_integer (buf, 4); + + if ((word & 0xFFFF0000) == 0x27bd0000) /* addiu $sp,$sp,-i */ + frame_size += (-word) & 0xFFFF; + else if ((word & 0xFFFF0000) == 0x23bd0000) /* addu $sp,$sp,-i */ + frame_size += (-word) & 0xFFFF; + else if ((word & 0xFFE00000) == 0xafa00000) { /* sw reg,offset($sp) */ + int reg = (word & 0x001F0000) >> 16; + reg_mask |= 1 << reg; + temp_saved_regs.regs[reg] = sp + (word & 0xffff); + } + else if ((word & 0xFFFF0000) == 0x27be0000) { /* addiu $30,$sp,size */ + if ((word & 0xffff) != frame_size) + reg30 = sp + (word & 0xffff); + else if (!has_frame_reg) { + int alloca_adjust; + has_frame_reg = 1; + reg30 = read_next_frame_reg(next_frame, 30); + alloca_adjust = reg30 - (sp + (word & 0xffff)); + if (alloca_adjust > 0) { + /* FP > SP + frame_size. This may be because + * of an alloca or somethings similar. + * Fix sp to "pre-alloca" value, and try again. + */ + sp += alloca_adjust; + goto restart; + } + } + } + else if ((word & 0xFFE00000) == 0xafc00000) { /* sw reg,offset($30) */ + int reg = (word & 0x001F0000) >> 16; + reg_mask |= 1 << reg; + temp_saved_regs.regs[reg] = reg30 + (word & 0xffff); + } + } + if (has_frame_reg) { + PROC_FRAME_REG(&temp_proc_desc) = 30; + PROC_FRAME_OFFSET(&temp_proc_desc) = 0; + } + else { + PROC_FRAME_REG(&temp_proc_desc) = SP_REGNUM; + PROC_FRAME_OFFSET(&temp_proc_desc) = frame_size; + } + PROC_REG_MASK(&temp_proc_desc) = reg_mask; + PROC_PC_REG(&temp_proc_desc) = RA_REGNUM; + return &temp_proc_desc; +} + +static mips_extra_func_info_t +find_proc_desc (pc, next_frame) + CORE_ADDR pc; + struct frame_info *next_frame; +{ + mips_extra_func_info_t proc_desc; + struct block *b = block_for_pc(pc); + struct symbol *sym; + CORE_ADDR startaddr; + + find_pc_partial_function (pc, NULL, &startaddr, NULL); + if (b == NULL) + sym = NULL; + else + { + if (startaddr > BLOCK_START (b)) + /* This is the "pathological" case referred to in a comment in + print_frame_info. It might be better to move this check into + symbol reading. */ + sym = NULL; + else + sym = lookup_symbol (MIPS_EFI_SYMBOL_NAME, b, LABEL_NAMESPACE, + 0, NULL); + } + + /* If we never found a PDR for this function in symbol reading, then + examine prologues to find the information. */ + if (sym && ((mips_extra_func_info_t) SYMBOL_VALUE (sym))->pdr.framereg == -1) + sym = NULL; + + if (sym) + { + /* IF this is the topmost frame AND + * (this proc does not have debugging information OR + * the PC is in the procedure prologue) + * THEN create a "heuristic" proc_desc (by analyzing + * the actual code) to replace the "official" proc_desc. + */ + proc_desc = (mips_extra_func_info_t) SYMBOL_VALUE (sym); + if (next_frame == NULL) { + struct symtab_and_line val; + struct symbol *proc_symbol = + PROC_DESC_IS_DUMMY(proc_desc) ? 0 : PROC_SYMBOL(proc_desc); + + if (proc_symbol) { + val = find_pc_line (BLOCK_START + (SYMBOL_BLOCK_VALUE(proc_symbol)), + 0); + val.pc = val.end ? val.end : pc; + } + if (!proc_symbol || pc < val.pc) { + mips_extra_func_info_t found_heuristic = + heuristic_proc_desc (PROC_LOW_ADDR (proc_desc), + pc, next_frame); + if (found_heuristic) + proc_desc = found_heuristic; + } + } + } + else + { + /* Is linked_proc_desc_table really necessary? It only seems to be used + by procedure call dummys. However, the procedures being called ought + to have their own proc_descs, and even if they don't, + heuristic_proc_desc knows how to create them! */ + + register struct linked_proc_info *link; + + for (link = linked_proc_desc_table; link; link = link->next) + if (PROC_LOW_ADDR(&link->info) <= pc + && PROC_HIGH_ADDR(&link->info) > pc) + return &link->info; + + if (startaddr == 0) + startaddr = heuristic_proc_start (pc); + + proc_desc = + heuristic_proc_desc (startaddr, pc, next_frame); + } + return proc_desc; +} + +mips_extra_func_info_t cached_proc_desc; + +CORE_ADDR +mips_frame_chain(frame) + struct frame_info *frame; +{ + mips_extra_func_info_t proc_desc; + CORE_ADDR saved_pc = FRAME_SAVED_PC(frame); + + if (saved_pc == 0 || inside_entry_file (saved_pc)) + return 0; + + proc_desc = find_proc_desc(saved_pc, frame); + if (!proc_desc) + return 0; + + cached_proc_desc = proc_desc; + + /* If no frame pointer and frame size is zero, we must be at end + of stack (or otherwise hosed). If we don't check frame size, + we loop forever if we see a zero size frame. */ + if (PROC_FRAME_REG (proc_desc) == SP_REGNUM + && PROC_FRAME_OFFSET (proc_desc) == 0 + /* The previous frame from a sigtramp frame might be frameless + and have frame size zero. */ + && !frame->signal_handler_caller) + return 0; + else + return read_next_frame_reg(frame, PROC_FRAME_REG(proc_desc)) + + PROC_FRAME_OFFSET(proc_desc); +} + +void +init_extra_frame_info(fci) + struct frame_info *fci; +{ + /* Use proc_desc calculated in frame_chain */ + mips_extra_func_info_t proc_desc = + fci->next ? cached_proc_desc : find_proc_desc(fci->pc, fci->next); + + fci->saved_regs = NULL; + fci->proc_desc = + proc_desc == &temp_proc_desc ? 0 : proc_desc; + if (proc_desc) + { + /* Fixup frame-pointer - only needed for top frame */ + /* This may not be quite right, if proc has a real frame register. + Get the value of the frame relative sp, procedure might have been + interrupted by a signal at it's very start. */ + if (fci->pc == PROC_LOW_ADDR (proc_desc) + && !PROC_DESC_IS_DUMMY (proc_desc)) + fci->frame = read_next_frame_reg (fci->next, SP_REGNUM); + else + fci->frame = + read_next_frame_reg (fci->next, PROC_FRAME_REG (proc_desc)) + + PROC_FRAME_OFFSET (proc_desc); + + if (proc_desc == &temp_proc_desc) + { + char *name; + + /* Do not set the saved registers for a sigtramp frame, + mips_find_saved_registers will do that for us. + We can't use fci->signal_handler_caller, it is not yet set. */ + find_pc_partial_function (fci->pc, &name, + (CORE_ADDR *)NULL,(CORE_ADDR *)NULL); + if (!IN_SIGTRAMP (fci->pc, name)) + { + fci->saved_regs = (struct frame_saved_regs*) + obstack_alloc (&frame_cache_obstack, + sizeof (struct frame_saved_regs)); + *fci->saved_regs = temp_saved_regs; + fci->saved_regs->regs[PC_REGNUM] + = fci->saved_regs->regs[RA_REGNUM]; + } + } + + /* hack: if argument regs are saved, guess these contain args */ + if ((PROC_REG_MASK(proc_desc) & 0xF0) == 0) fci->num_args = -1; + else if ((PROC_REG_MASK(proc_desc) & 0x80) == 0) fci->num_args = 4; + else if ((PROC_REG_MASK(proc_desc) & 0x40) == 0) fci->num_args = 3; + else if ((PROC_REG_MASK(proc_desc) & 0x20) == 0) fci->num_args = 2; + else if ((PROC_REG_MASK(proc_desc) & 0x10) == 0) fci->num_args = 1; + } +} + +/* MIPS stack frames are almost impenetrable. When execution stops, + we basically have to look at symbol information for the function + that we stopped in, which tells us *which* register (if any) is + the base of the frame pointer, and what offset from that register + the frame itself is at. + + This presents a problem when trying to examine a stack in memory + (that isn't executing at the moment), using the "frame" command. We + don't have a PC, nor do we have any registers except SP. + + This routine takes two arguments, SP and PC, and tries to make the + cached frames look as if these two arguments defined a frame on the + cache. This allows the rest of info frame to extract the important + arguments without difficulty. */ + +struct frame_info * +setup_arbitrary_frame (argc, argv) + int argc; + CORE_ADDR *argv; +{ + if (argc != 2) + error ("MIPS frame specifications require two arguments: sp and pc"); + + return create_new_frame (argv[0], argv[1]); +} + + +CORE_ADDR +mips_push_arguments(nargs, args, sp, struct_return, struct_addr) + int nargs; + value_ptr *args; + CORE_ADDR sp; + int struct_return; + CORE_ADDR struct_addr; +{ + register i; + int accumulate_size = struct_return ? MIPS_REGSIZE : 0; + struct mips_arg { char *contents; int len; int offset; }; + struct mips_arg *mips_args = + (struct mips_arg*)alloca((nargs + 4) * sizeof(struct mips_arg)); + register struct mips_arg *m_arg; + int fake_args = 0; + + for (i = 0, m_arg = mips_args; i < nargs; i++, m_arg++) { + value_ptr arg = args[i]; + m_arg->len = TYPE_LENGTH (VALUE_TYPE (arg)); + /* This entire mips-specific routine is because doubles must be aligned + * on 8-byte boundaries. It still isn't quite right, because MIPS decided + * to align 'struct {int a, b}' on 4-byte boundaries (even though this + * breaks their varargs implementation...). A correct solution + * requires an simulation of gcc's 'alignof' (and use of 'alignof' + * in stdarg.h/varargs.h). + * On the 64 bit r4000 we always pass the first four arguments + * using eight bytes each, so that we can load them up correctly + * in CALL_DUMMY. + */ + if (m_arg->len > 4) + accumulate_size = (accumulate_size + 7) & -8; + m_arg->offset = accumulate_size; + m_arg->contents = VALUE_CONTENTS(arg); + if (! GDB_TARGET_IS_MIPS64) + accumulate_size = (accumulate_size + m_arg->len + 3) & -4; + else + { + if (accumulate_size >= 4 * MIPS_REGSIZE) + accumulate_size = (accumulate_size + m_arg->len + 3) &~ 4; + else + { + static char zeroes[8] = { 0 }; + int len = m_arg->len; + + if (len < 8) + { + if (TARGET_BYTE_ORDER == BIG_ENDIAN) + m_arg->offset += 8 - len; + ++m_arg; + m_arg->len = 8 - len; + m_arg->contents = zeroes; + if (TARGET_BYTE_ORDER == BIG_ENDIAN) + m_arg->offset = accumulate_size; + else + m_arg->offset = accumulate_size + len; + ++fake_args; + } + accumulate_size = (accumulate_size + len + 7) & ~8; + } + } + } + accumulate_size = (accumulate_size + 7) & (-8); + if (accumulate_size < 4 * MIPS_REGSIZE) + accumulate_size = 4 * MIPS_REGSIZE; + sp -= accumulate_size; + for (i = nargs + fake_args; m_arg--, --i >= 0; ) + write_memory(sp + m_arg->offset, m_arg->contents, m_arg->len); + if (struct_return) + { + char buf[TARGET_PTR_BIT / HOST_CHAR_BIT]; + + store_address (buf, sizeof buf, struct_addr); + write_memory (sp, buf, sizeof buf); + } + return sp; +} + +/* MASK(i,j) == (1<<i) + (1<<(i+1)) + ... + (1<<j)). Assume i<=j<31. */ +#define MASK(i,j) (((1 << ((j)+1))-1) ^ ((1 << (i))-1)) + +void +mips_push_dummy_frame() +{ + char buffer[MAX_REGISTER_RAW_SIZE]; + int ireg; + struct linked_proc_info *link = (struct linked_proc_info*) + xmalloc(sizeof(struct linked_proc_info)); + mips_extra_func_info_t proc_desc = &link->info; + CORE_ADDR sp = read_register (SP_REGNUM); + CORE_ADDR save_address; + link->next = linked_proc_desc_table; + linked_proc_desc_table = link; +#define PUSH_FP_REGNUM 16 /* must be a register preserved across calls */ +#define GEN_REG_SAVE_MASK MASK(1,16)|MASK(24,28)|(1<<31) +#define GEN_REG_SAVE_COUNT 22 +#define FLOAT_REG_SAVE_MASK MASK(0,19) +#define FLOAT_REG_SAVE_COUNT 20 +#define FLOAT_SINGLE_REG_SAVE_MASK \ + ((1<<18)|(1<<16)|(1<<14)|(1<<12)|(1<<10)|(1<<8)|(1<<6)|(1<<4)|(1<<2)|(1<<0)) +#define FLOAT_SINGLE_REG_SAVE_COUNT 10 +#define SPECIAL_REG_SAVE_COUNT 4 + /* + * The registers we must save are all those not preserved across + * procedure calls. Dest_Reg (see tm-mips.h) must also be saved. + * In addition, we must save the PC, and PUSH_FP_REGNUM. + * (Ideally, we should also save MDLO/-HI and FP Control/Status reg.) + * + * Dummy frame layout: + * (high memory) + * Saved PC + * Saved MMHI, MMLO, FPC_CSR + * Saved R31 + * Saved R28 + * ... + * Saved R1 + * Saved D18 (i.e. F19, F18) + * ... + * Saved D0 (i.e. F1, F0) + * CALL_DUMMY (subroutine stub; see tm-mips.h) + * Parameter build area (not yet implemented) + * (low memory) + */ + PROC_REG_MASK(proc_desc) = GEN_REG_SAVE_MASK; + switch (mips_fpu) + { + case MIPS_FPU_DOUBLE: + PROC_FREG_MASK(proc_desc) = FLOAT_REG_SAVE_MASK; + break; + case MIPS_FPU_SINGLE: + PROC_FREG_MASK(proc_desc) = FLOAT_SINGLE_REG_SAVE_MASK; + break; + case MIPS_FPU_NONE: + PROC_FREG_MASK(proc_desc) = 0; + break; + } + PROC_REG_OFFSET(proc_desc) = /* offset of (Saved R31) from FP */ + -sizeof(long) - 4 * SPECIAL_REG_SAVE_COUNT; + PROC_FREG_OFFSET(proc_desc) = /* offset of (Saved D18) from FP */ + -sizeof(double) - 4 * (SPECIAL_REG_SAVE_COUNT + GEN_REG_SAVE_COUNT); + /* save general registers */ + save_address = sp + PROC_REG_OFFSET(proc_desc); + for (ireg = 32; --ireg >= 0; ) + if (PROC_REG_MASK(proc_desc) & (1 << ireg)) + { + read_register_gen (ireg, buffer); + + /* Need to fix the save_address decrement below, and also make sure + that we don't run into problems with the size of the dummy frame + or any of the offsets within it. */ + if (REGISTER_RAW_SIZE (ireg) > 4) + error ("Cannot call functions on mips64"); + + write_memory (save_address, buffer, REGISTER_RAW_SIZE (ireg)); + save_address -= 4; + } + /* save floating-points registers starting with high order word */ + save_address = sp + PROC_FREG_OFFSET(proc_desc) + 4; + for (ireg = 32; --ireg >= 0; ) + if (PROC_FREG_MASK(proc_desc) & (1 << ireg)) + { + read_register_gen (ireg + FP0_REGNUM, buffer); + + if (REGISTER_RAW_SIZE (ireg + FP0_REGNUM) > 4) + error ("Cannot call functions on mips64"); + + write_memory (save_address, buffer, + REGISTER_RAW_SIZE (ireg + FP0_REGNUM)); + save_address -= 4; + } + write_register (PUSH_FP_REGNUM, sp); + PROC_FRAME_REG(proc_desc) = PUSH_FP_REGNUM; + PROC_FRAME_OFFSET(proc_desc) = 0; + read_register_gen (PC_REGNUM, buffer); + write_memory (sp - 4, buffer, REGISTER_RAW_SIZE (PC_REGNUM)); + read_register_gen (HI_REGNUM, buffer); + write_memory (sp - 8, buffer, REGISTER_RAW_SIZE (HI_REGNUM)); + read_register_gen (LO_REGNUM, buffer); + write_memory (sp - 12, buffer, REGISTER_RAW_SIZE (LO_REGNUM)); + if (mips_fpu != MIPS_FPU_NONE) + read_register_gen (FCRCS_REGNUM, buffer); + else + memset (buffer, 0, REGISTER_RAW_SIZE (FCRCS_REGNUM)); + write_memory (sp - 16, buffer, REGISTER_RAW_SIZE (FCRCS_REGNUM)); + sp -= 4 * (GEN_REG_SAVE_COUNT + SPECIAL_REG_SAVE_COUNT); + if (mips_fpu == MIPS_FPU_DOUBLE) + sp -= 4 * FLOAT_REG_SAVE_COUNT; + else if (mips_fpu == MIPS_FPU_SINGLE) + sp -= 4 * FLOAT_SINGLE_REG_SAVE_COUNT; + write_register (SP_REGNUM, sp); + PROC_LOW_ADDR(proc_desc) = sp - CALL_DUMMY_SIZE + CALL_DUMMY_START_OFFSET; + PROC_HIGH_ADDR(proc_desc) = sp; + SET_PROC_DESC_IS_DUMMY(proc_desc); + PROC_PC_REG(proc_desc) = RA_REGNUM; +} + +void +mips_pop_frame() +{ + register int regnum; + struct frame_info *frame = get_current_frame (); + CORE_ADDR new_sp = FRAME_FP (frame); + + mips_extra_func_info_t proc_desc = frame->proc_desc; + + write_register (PC_REGNUM, FRAME_SAVED_PC(frame)); + if (frame->saved_regs == NULL) + mips_find_saved_regs (frame); + if (proc_desc) + { + for (regnum = 32; --regnum >= 0; ) + if (PROC_REG_MASK(proc_desc) & (1 << regnum)) + write_register (regnum, + read_memory_integer (frame->saved_regs->regs[regnum], + 4)); + for (regnum = 32; --regnum >= 0; ) + if (PROC_FREG_MASK(proc_desc) & (1 << regnum)) + write_register (regnum + FP0_REGNUM, + read_memory_integer (frame->saved_regs->regs[regnum + FP0_REGNUM], 4)); + } + write_register (SP_REGNUM, new_sp); + flush_cached_frames (); + + if (proc_desc && PROC_DESC_IS_DUMMY(proc_desc)) + { + struct linked_proc_info *pi_ptr, *prev_ptr; + + for (pi_ptr = linked_proc_desc_table, prev_ptr = NULL; + pi_ptr != NULL; + prev_ptr = pi_ptr, pi_ptr = pi_ptr->next) + { + if (&pi_ptr->info == proc_desc) + break; + } + + if (pi_ptr == NULL) + error ("Can't locate dummy extra frame info\n"); + + if (prev_ptr != NULL) + prev_ptr->next = pi_ptr->next; + else + linked_proc_desc_table = pi_ptr->next; + + free (pi_ptr); + + write_register (HI_REGNUM, read_memory_integer(new_sp - 8, 4)); + write_register (LO_REGNUM, read_memory_integer(new_sp - 12, 4)); + if (mips_fpu != MIPS_FPU_NONE) + write_register (FCRCS_REGNUM, read_memory_integer(new_sp - 16, 4)); + } +} + +static void +mips_print_register (regnum, all) + int regnum, all; +{ + char raw_buffer[MAX_REGISTER_RAW_SIZE]; + + /* Get the data in raw format. */ + if (read_relative_register_raw_bytes (regnum, raw_buffer)) + { + printf_filtered ("%s: [Invalid]", reg_names[regnum]); + return; + } + + /* If an even floating pointer register, also print as double. */ + if (regnum >= FP0_REGNUM && regnum < FP0_REGNUM+32 + && !((regnum-FP0_REGNUM) & 1)) + { + char dbuffer[MAX_REGISTER_RAW_SIZE]; + + read_relative_register_raw_bytes (regnum, dbuffer); + read_relative_register_raw_bytes (regnum+1, dbuffer+4); +#ifdef REGISTER_CONVERT_TO_TYPE + REGISTER_CONVERT_TO_TYPE(regnum, builtin_type_double, dbuffer); +#endif + printf_filtered ("(d%d: ", regnum-FP0_REGNUM); + val_print (builtin_type_double, dbuffer, 0, + gdb_stdout, 0, 1, 0, Val_pretty_default); + printf_filtered ("); "); + } + fputs_filtered (reg_names[regnum], gdb_stdout); + + /* The problem with printing numeric register names (r26, etc.) is that + the user can't use them on input. Probably the best solution is to + fix it so that either the numeric or the funky (a2, etc.) names + are accepted on input. */ + if (regnum < 32) + printf_filtered ("(r%d): ", regnum); + else + printf_filtered (": "); + + /* If virtual format is floating, print it that way. */ + if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (regnum)) == TYPE_CODE_FLT) + val_print (REGISTER_VIRTUAL_TYPE (regnum), raw_buffer, 0, + gdb_stdout, 0, 1, 0, Val_pretty_default); + /* Else print as integer in hex. */ + else + print_scalar_formatted (raw_buffer, REGISTER_VIRTUAL_TYPE (regnum), + 'x', 0, gdb_stdout); +} + +/* Replacement for generic do_registers_info. */ + +void +mips_do_registers_info (regnum, fpregs) + int regnum; + int fpregs; +{ + if (regnum != -1) + { + if (*(reg_names[regnum]) == '\0') + error ("Not a valid register for the current processor type"); + + mips_print_register (regnum, 0); + printf_filtered ("\n"); + } + else + { + int did_newline = 0; + + for (regnum = 0; regnum < NUM_REGS; ) + { + if (((!fpregs) && regnum >= FP0_REGNUM && regnum <= FCRIR_REGNUM) + || *(reg_names[regnum]) == '\0') + { + regnum++; + continue; + } + mips_print_register (regnum, 1); + regnum++; + printf_filtered ("; "); + did_newline = 0; + if ((regnum & 3) == 0) + { + printf_filtered ("\n"); + did_newline = 1; + } + } + if (!did_newline) + printf_filtered ("\n"); + } +} + +/* Return number of args passed to a frame. described by FIP. + Can return -1, meaning no way to tell. */ + +int +mips_frame_num_args (frame) + struct frame_info *frame; +{ +#if 0 /* FIXME Use or lose this! */ + struct chain_info_t *p; + + p = mips_find_cached_frame (FRAME_FP (frame)); + if (p->valid) + return p->the_info.numargs; +#endif + return -1; +} + +/* Is this a branch with a delay slot? */ + +static int is_delayed PARAMS ((unsigned long)); + +static int +is_delayed (insn) + unsigned long insn; +{ + int i; + for (i = 0; i < NUMOPCODES; ++i) + if (mips_opcodes[i].pinfo != INSN_MACRO + && (insn & mips_opcodes[i].mask) == mips_opcodes[i].match) + break; + return (i < NUMOPCODES + && (mips_opcodes[i].pinfo & (INSN_UNCOND_BRANCH_DELAY + | INSN_COND_BRANCH_DELAY + | INSN_COND_BRANCH_LIKELY))); +} + +int +mips_step_skips_delay (pc) + CORE_ADDR pc; +{ + char buf[4]; + + if (target_read_memory (pc, buf, 4) != 0) + /* If error reading memory, guess that it is not a delayed branch. */ + return 0; + return is_delayed (extract_unsigned_integer (buf, 4)); +} + +/* To skip prologues, I use this predicate. Returns either PC itself + if the code at PC does not look like a function prologue; otherwise + returns an address that (if we're lucky) follows the prologue. If + LENIENT, then we must skip everything which is involved in setting + up the frame (it's OK to skip more, just so long as we don't skip + anything which might clobber the registers which are being saved. + We must skip more in the case where part of the prologue is in the + delay slot of a non-prologue instruction). */ + +CORE_ADDR +mips_skip_prologue (pc, lenient) + CORE_ADDR pc; + int lenient; +{ + unsigned long inst; + int offset; + int seen_sp_adjust = 0; + int load_immediate_bytes = 0; + CORE_ADDR post_prologue_pc; + + /* See if we can determine the end of the prologue via the symbol table. + If so, then return either PC, or the PC after the prologue, whichever + is greater. */ + + post_prologue_pc = after_prologue (pc, NULL); + + if (post_prologue_pc != 0) + return max (pc, post_prologue_pc); + + /* Can't determine prologue from the symbol table, need to examine + instructions. */ + + /* Skip the typical prologue instructions. These are the stack adjustment + instruction and the instructions that save registers on the stack + or in the gcc frame. */ + for (offset = 0; offset < 100; offset += 4) + { + char buf[4]; + int status; + + status = read_memory_nobpt (pc + offset, buf, 4); + if (status) + memory_error (status, pc + offset); + inst = extract_unsigned_integer (buf, 4); + +#if 0 + if (lenient && is_delayed (inst)) + continue; +#endif + + if ((inst & 0xffff0000) == 0x27bd0000) /* addiu $sp,$sp,offset */ + seen_sp_adjust = 1; + else if (inst == 0x03a1e823 || /* subu $sp,$sp,$at */ + inst == 0x03a8e823) /* subu $sp,$sp,$t0 */ + seen_sp_adjust = 1; + else if ((inst & 0xFFE00000) == 0xAFA00000 && (inst & 0x001F0000)) + continue; /* sw reg,n($sp) */ + /* reg != $zero */ + else if ((inst & 0xFFE00000) == 0xE7A00000) /* swc1 freg,n($sp) */ + continue; + else if ((inst & 0xF3E00000) == 0xA3C00000 && (inst & 0x001F0000)) + /* sx reg,n($s8) */ + continue; /* reg != $zero */ + + /* move $s8,$sp. With different versions of gas this will be either + `addu $s8,$sp,$zero' or `or $s8,$sp,$zero'. Accept either. */ + else if (inst == 0x03A0F021 || inst == 0x03a0f025) + continue; + + else if ((inst & 0xFF9F07FF) == 0x00800021) /* move reg,$a0-$a3 */ + continue; + else if ((inst & 0xffff0000) == 0x3c1c0000) /* lui $gp,n */ + continue; + else if ((inst & 0xffff0000) == 0x279c0000) /* addiu $gp,$gp,n */ + continue; + else if (inst == 0x0399e021 /* addu $gp,$gp,$t9 */ + || inst == 0x033ce021) /* addu $gp,$t9,$gp */ + continue; + /* The following instructions load $at or $t0 with an immediate + value in preparation for a stack adjustment via + subu $sp,$sp,[$at,$t0]. These instructions could also initialize + a local variable, so we accept them only before a stack adjustment + instruction was seen. */ + else if (!seen_sp_adjust) + { + if ((inst & 0xffff0000) == 0x3c010000 || /* lui $at,n */ + (inst & 0xffff0000) == 0x3c080000) /* lui $t0,n */ + { + load_immediate_bytes += 4; + continue; + } + else if ((inst & 0xffff0000) == 0x34210000 || /* ori $at,$at,n */ + (inst & 0xffff0000) == 0x35080000 || /* ori $t0,$t0,n */ + (inst & 0xffff0000) == 0x34010000 || /* ori $at,$zero,n */ + (inst & 0xffff0000) == 0x34080000) /* ori $t0,$zero,n */ + { + load_immediate_bytes += 4; + continue; + } + else + break; + } + else + break; + } + + /* In a frameless function, we might have incorrectly + skipped some load immediate instructions. Undo the skipping + if the load immediate was not followed by a stack adjustment. */ + if (load_immediate_bytes && !seen_sp_adjust) + offset -= load_immediate_bytes; + return pc + offset; +} + +#if 0 +/* The lenient prologue stuff should be superceded by the code in + init_extra_frame_info which looks to see whether the stores mentioned + in the proc_desc have actually taken place. */ + +/* Is address PC in the prologue (loosely defined) for function at + STARTADDR? */ + +static int +mips_in_lenient_prologue (startaddr, pc) + CORE_ADDR startaddr; + CORE_ADDR pc; +{ + CORE_ADDR end_prologue = mips_skip_prologue (startaddr, 1); + return pc >= startaddr && pc < end_prologue; +} +#endif + +/* Given a return value in `regbuf' with a type `valtype', + extract and copy its value into `valbuf'. */ +void +mips_extract_return_value (valtype, regbuf, valbuf) + struct type *valtype; + char regbuf[REGISTER_BYTES]; + char *valbuf; +{ + int regnum; + int offset = 0; + + regnum = 2; + if (TYPE_CODE (valtype) == TYPE_CODE_FLT + && (mips_fpu == MIPS_FPU_DOUBLE + || (mips_fpu == MIPS_FPU_SINGLE && TYPE_LENGTH (valtype) <= 4))) + regnum = FP0_REGNUM; + + if (TARGET_BYTE_ORDER == BIG_ENDIAN + && TYPE_CODE (valtype) != TYPE_CODE_FLT + && TYPE_LENGTH (valtype) < REGISTER_RAW_SIZE (regnum)) + offset = REGISTER_RAW_SIZE (regnum) - TYPE_LENGTH (valtype); + + memcpy (valbuf, regbuf + REGISTER_BYTE (regnum) + offset, + TYPE_LENGTH (valtype)); +#ifdef REGISTER_CONVERT_TO_TYPE + REGISTER_CONVERT_TO_TYPE(regnum, valtype, valbuf); +#endif +} + +/* Given a return value in `regbuf' with a type `valtype', + write it's value into the appropriate register. */ +void +mips_store_return_value (valtype, valbuf) + struct type *valtype; + char *valbuf; +{ + int regnum; + char raw_buffer[MAX_REGISTER_RAW_SIZE]; + + regnum = 2; + if (TYPE_CODE (valtype) == TYPE_CODE_FLT + && (mips_fpu == MIPS_FPU_DOUBLE + || (mips_fpu == MIPS_FPU_SINGLE && TYPE_LENGTH (valtype) <= 4))) + regnum = FP0_REGNUM; + + memcpy(raw_buffer, valbuf, TYPE_LENGTH (valtype)); + +#ifdef REGISTER_CONVERT_FROM_TYPE + REGISTER_CONVERT_FROM_TYPE(regnum, valtype, raw_buffer); +#endif + + write_register_bytes(REGISTER_BYTE (regnum), raw_buffer, TYPE_LENGTH (valtype)); +} + +/* These exist in mdebugread.c. */ +extern CORE_ADDR sigtramp_address, sigtramp_end; +extern void fixup_sigtramp PARAMS ((void)); + +/* Exported procedure: Is PC in the signal trampoline code */ + +int +in_sigtramp (pc, ignore) + CORE_ADDR pc; + char *ignore; /* function name */ +{ + if (sigtramp_address == 0) + fixup_sigtramp (); + return (pc >= sigtramp_address && pc < sigtramp_end); +} + +/* Command to set FPU type. mips_fpu_string will have been set to the + user's argument. Set mips_fpu based on mips_fpu_string, and then + canonicalize mips_fpu_string. */ + +/*ARGSUSED*/ +static void +mips_set_fpu_command (args, from_tty, c) + char *args; + int from_tty; + struct cmd_list_element *c; +{ + char *err = NULL; + + if (mips_fpu_string == NULL || *mips_fpu_string == '\0') + mips_fpu = MIPS_FPU_DOUBLE; + else if (strcasecmp (mips_fpu_string, "double") == 0 + || strcasecmp (mips_fpu_string, "on") == 0 + || strcasecmp (mips_fpu_string, "1") == 0 + || strcasecmp (mips_fpu_string, "yes") == 0) + mips_fpu = MIPS_FPU_DOUBLE; + else if (strcasecmp (mips_fpu_string, "none") == 0 + || strcasecmp (mips_fpu_string, "off") == 0 + || strcasecmp (mips_fpu_string, "0") == 0 + || strcasecmp (mips_fpu_string, "no") == 0) + mips_fpu = MIPS_FPU_NONE; + else if (strcasecmp (mips_fpu_string, "single") == 0) + mips_fpu = MIPS_FPU_SINGLE; + else + err = strsave (mips_fpu_string); + + if (mips_fpu_string != NULL) + free (mips_fpu_string); + + switch (mips_fpu) + { + case MIPS_FPU_DOUBLE: + mips_fpu_string = strsave ("double"); + break; + case MIPS_FPU_SINGLE: + mips_fpu_string = strsave ("single"); + break; + case MIPS_FPU_NONE: + mips_fpu_string = strsave ("none"); + break; + } + + if (err != NULL) + { + struct cleanup *cleanups = make_cleanup (free, err); + error ("Unknown FPU type `%s'. Use `double', `none', or `single'.", + err); + do_cleanups (cleanups); + } +} + +static void +mips_show_fpu_command (args, from_tty, c) + char *args; + int from_tty; + struct cmd_list_element *c; +{ +} + +/* Command to set the processor type. */ + +void +mips_set_processor_type_command (args, from_tty) + char *args; + int from_tty; +{ + int i; + + if (tmp_mips_processor_type == NULL || *tmp_mips_processor_type == '\0') + { + printf_unfiltered ("The known MIPS processor types are as follows:\n\n"); + for (i = 0; mips_processor_type_table[i].name != NULL; ++i) + printf_unfiltered ("%s\n", mips_processor_type_table[i].name); + + /* Restore the value. */ + tmp_mips_processor_type = strsave (mips_processor_type); + + return; + } + + if (!mips_set_processor_type (tmp_mips_processor_type)) + { + error ("Unknown processor type `%s'.", tmp_mips_processor_type); + /* Restore its value. */ + tmp_mips_processor_type = strsave (mips_processor_type); + } +} + +static void +mips_show_processor_type_command (args, from_tty) + char *args; + int from_tty; +{ +} + +/* Modify the actual processor type. */ + +int +mips_set_processor_type (str) + char *str; +{ + int i, j; + + if (str == NULL) + return 0; + + for (i = 0; mips_processor_type_table[i].name != NULL; ++i) + { + if (strcasecmp (str, mips_processor_type_table[i].name) == 0) + { + mips_processor_type = str; + + for (j = 0; j < NUM_REGS; ++j) + reg_names[j] = mips_processor_type_table[i].regnames[j]; + + return 1; + + /* FIXME tweak fpu flag too */ + } + } + + return 0; +} + +/* Attempt to identify the particular processor model by reading the + processor id. */ + +char * +mips_read_processor_type () +{ + int prid; + + prid = read_register (PRID_REGNUM); + + if (prid & ~0xf == 0x700) + return savestring ("r3041", strlen("r3041")); + + return NULL; +} + +/* Just like reinit_frame_cache, but with the right arguments to be + callable as an sfunc. */ + +static void +reinit_frame_cache_sfunc (args, from_tty, c) + char *args; + int from_tty; + struct cmd_list_element *c; +{ + reinit_frame_cache (); +} + +int +gdb_print_insn_mips (memaddr, info) + bfd_vma memaddr; + disassemble_info *info; +{ + if (TARGET_BYTE_ORDER == BIG_ENDIAN) + return print_insn_big_mips (memaddr, info); + else + return print_insn_little_mips (memaddr, info); +} + +void +_initialize_mips_tdep () +{ + struct cmd_list_element *c; + + tm_print_insn = gdb_print_insn_mips; + + /* Let the user turn off floating point and set the fence post for + heuristic_proc_start. */ + + c = add_set_cmd ("mipsfpu", class_support, var_string_noescape, + (char *) &mips_fpu_string, + "Set use of floating point coprocessor.\n\ +Set to `none' to avoid using floating point instructions when calling\n\ +functions or dealing with return values. Set to `single' to use only\n\ +single precision floating point as on the R4650. Set to `double' for\n\ +normal floating point support.", + &setlist); + c->function.sfunc = mips_set_fpu_command; + c = add_show_from_set (c, &showlist); + c->function.sfunc = mips_show_fpu_command; + + mips_fpu = MIPS_FPU_DOUBLE; + mips_fpu_string = strsave ("double"); + + c = add_set_cmd ("processor", class_support, var_string_noescape, + (char *) &tmp_mips_processor_type, + "Set the type of MIPS processor in use.\n\ +Set this to be able to access processor-type-specific registers.\n\ +", + &setlist); + c->function.cfunc = mips_set_processor_type_command; + c = add_show_from_set (c, &showlist); + c->function.cfunc = mips_show_processor_type_command; + + tmp_mips_processor_type = strsave (DEFAULT_MIPS_TYPE); + mips_set_processor_type_command (strsave (DEFAULT_MIPS_TYPE), 0); + + /* We really would like to have both "0" and "unlimited" work, but + command.c doesn't deal with that. So make it a var_zinteger + because the user can always use "999999" or some such for unlimited. */ + c = add_set_cmd ("heuristic-fence-post", class_support, var_zinteger, + (char *) &heuristic_fence_post, + "\ +Set the distance searched for the start of a function.\n\ +If you are debugging a stripped executable, GDB needs to search through the\n\ +program for the start of a function. This command sets the distance of the\n\ +search. The only need to set it is when debugging a stripped executable.", + &setlist); + /* We need to throw away the frame cache when we set this, since it + might change our ability to get backtraces. */ + c->function.sfunc = reinit_frame_cache_sfunc; + add_show_from_set (c, &showlist); +} diff --git a/contrib/gdb/gdb/mipsm3-nat.c b/contrib/gdb/gdb/mipsm3-nat.c new file mode 100644 index 0000000000000..b7359ba84c16e --- /dev/null +++ b/contrib/gdb/gdb/mipsm3-nat.c @@ -0,0 +1,386 @@ +/* Definitions to make GDB run on a mips box under Mach 3.0 + Copyright (C) 1992 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Mach specific routines for little endian mips (e.g. pmax) + * running Mach 3.0 + * + * Author: Jukka Virtanen <jtv@hut.fi> + */ + +#include "defs.h" +#include "inferior.h" + +#include <stdio.h> + +#include <mach.h> +#include <mach/message.h> +#include <mach/exception.h> +#include <mach_error.h> + +/* Find offsets to thread states at compile time. + * If your compiler does not grok this, check the hand coded + * offsets and use them. + */ + +#if 1 + +#define REG_OFFSET(reg) (int)(&((struct mips_thread_state *)0)->reg) +#define CREG_OFFSET(reg) (int)(&((struct mips_float_state *)0)->reg) +#define EREG_OFFSET(reg) (int)(&((struct mips_exc_state *)0)->reg) + +/* at reg_offset[i] is the offset to the mips_thread_state + * location where the gdb registers[i] is stored. + * + * -1 means mach does not save it anywhere. + */ +static int reg_offset[] = +{ + /* zero at v0 v1 */ + -1, REG_OFFSET(r1), REG_OFFSET(r2), REG_OFFSET(r3), + + /* a0 a1 a2 a3 */ + REG_OFFSET(r4), REG_OFFSET(r5), REG_OFFSET(r6), REG_OFFSET(r7), + + /* t0 t1 t2 t3 */ + REG_OFFSET(r8), REG_OFFSET(r9), REG_OFFSET(r10), REG_OFFSET(r11), + + /* t4 t5 t6 t7 */ + REG_OFFSET(r12), REG_OFFSET(r13), REG_OFFSET(r14), REG_OFFSET(r15), + + /* s0 s1 s2 s3 */ + REG_OFFSET(r16), REG_OFFSET(r17), REG_OFFSET(r18), REG_OFFSET(r19), + + /* s4 s5 s6 s7 */ + REG_OFFSET(r20), REG_OFFSET(r21), REG_OFFSET(r22), REG_OFFSET(r23), + + /* t8 t9 k0 k1 */ + REG_OFFSET(r24), REG_OFFSET(r25), REG_OFFSET(r26), REG_OFFSET(r27), + + /* gp sp s8(30) == fp(72) ra */ + REG_OFFSET(r28), REG_OFFSET(r29), REG_OFFSET(r30), REG_OFFSET(r31), + + /* sr(32) PS_REGNUM */ + EREG_OFFSET(coproc_state), + + /* lo(33) hi(34) */ + REG_OFFSET(mdlo), REG_OFFSET(mdhi), + + /* bad(35) cause(36) pc(37) */ + EREG_OFFSET(address), EREG_OFFSET(cause), REG_OFFSET(pc), + + /* f0(38) f1(39) f2(40) f3(41) */ + CREG_OFFSET(r0), CREG_OFFSET(r1), CREG_OFFSET(r2), CREG_OFFSET(r3), + CREG_OFFSET(r4), CREG_OFFSET(r5), CREG_OFFSET(r6), CREG_OFFSET(r7), + CREG_OFFSET(r8), CREG_OFFSET(r9), CREG_OFFSET(r10), CREG_OFFSET(r11), + CREG_OFFSET(r12), CREG_OFFSET(r13), CREG_OFFSET(r14), CREG_OFFSET(r15), + CREG_OFFSET(r16), CREG_OFFSET(r17), CREG_OFFSET(r18), CREG_OFFSET(r19), + CREG_OFFSET(r20), CREG_OFFSET(r21), CREG_OFFSET(r22), CREG_OFFSET(r23), + CREG_OFFSET(r24), CREG_OFFSET(r25), CREG_OFFSET(r26), CREG_OFFSET(r27), + CREG_OFFSET(r28), CREG_OFFSET(r29), CREG_OFFSET(r30), CREG_OFFSET(r31), + + /* fsr(70) fir(71) fp(72) == s8(30) */ + CREG_OFFSET(csr), CREG_OFFSET(esr), REG_OFFSET(r30) +}; +#else +/* If the compiler does not grok the above defines */ +static int reg_offset[] = +{ +/* mach_thread_state offsets: */ + -1, 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, + 60, 64, 68, 72, 76, 80, 84, 88, 92, 96,100,104, 108,112,116,120, +/*sr, lo, hi,addr,cause,pc */ + 8,124,128, 4, 0,132, +/* mach_float_state offsets: */ + 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, + 64, 68, 72, 76, 80, 84, 88, 92, 96,100,104,108, 112,116,120,124, +/*fsr,fir*/ + 128,132, +/* FP_REGNUM pseudo maps to s8==r30 in mach_thread_state */ + 116 +}; +#endif + +/* Fetch COUNT contiguous registers from thread STATE starting from REGNUM + * Caller knows that the regs handled in one transaction are of same size. + */ +#define FETCH_REGS(state, regnum, count) \ + memcpy (®isters[REGISTER_BYTE (regnum)], \ + (char *)state+reg_offset[ regnum ], \ + count*REGISTER_SIZE) + +/* Store COUNT contiguous registers to thread STATE starting from REGNUM */ +#define STORE_REGS(state, regnum, count) \ + memcpy ((char *)state+reg_offset[ regnum ], \ + ®isters[REGISTER_BYTE (regnum)], \ + count*REGISTER_SIZE) + +#define REGS_ALL -1 +#define REGS_NORMAL 1 +#define REGS_EXC 2 +#define REGS_COP1 4 + +/* Hardware regs that matches FP_REGNUM */ +#define MACH_FP_REGNUM 30 + +/* Fech thread's registers. if regno == -1, fetch all regs */ +void +fetch_inferior_registers (regno) + int regno; +{ + kern_return_t ret; + + thread_state_data_t state; + struct mips_exc_state exc_state; + + int stateCnt = MIPS_THREAD_STATE_COUNT; + + int which_regs = 0; /* A bit mask */ + + if (! MACH_PORT_VALID (current_thread)) + error ("fetch inferior registers: Invalid thread"); + + if (regno < -1 || regno >= NUM_REGS) + error ("invalid register %d supplied to fetch_inferior_registers", regno); + + if (regno == -1) + which_regs = REGS_ALL; + else if (regno == ZERO_REGNUM) + { + int zero = 0; + supply_register (ZERO_REGNUM, &zero); + return; + } + else if ((ZERO_REGNUM < regno && regno < PS_REGNUM) + || regno == FP_REGNUM + || regno == LO_REGNUM + || regno == HI_REGNUM + || regno == PC_REGNUM) + which_regs = REGS_NORMAL; + else if (FP0_REGNUM <= regno && regno <= FCRIR_REGNUM) + which_regs = REGS_COP1 | REGS_EXC; + else + which_regs = REGS_EXC; + + /* fetch regs saved to mips_thread_state */ + if (which_regs & REGS_NORMAL) + { + ret = thread_get_state (current_thread, + MIPS_THREAD_STATE, + state, + &stateCnt); + CHK ("fetch inferior registers: thread_get_state", ret); + + if (which_regs == REGS_NORMAL) + { + /* Fetch also FP_REGNUM if fetching MACH_FP_REGNUM and vice versa */ + if (regno == MACH_FP_REGNUM || regno == FP_REGNUM) + { + supply_register (FP_REGNUM, + (char *)state+reg_offset[ MACH_FP_REGNUM ]); + supply_register (MACH_FP_REGNUM, + (char *)state+reg_offset[ MACH_FP_REGNUM ]); + } + else + supply_register (regno, + (char *)state+reg_offset[ regno ]); + return; + } + + /* ZERO_REGNUM is always zero */ + *(int *) registers = 0; + + /* Copy thread saved regs 1..31 to gdb's reg value array + * Luckily, they are contiquous + */ + FETCH_REGS (state, 1, 31); + + /* Copy mdlo and mdhi */ + FETCH_REGS (state, LO_REGNUM, 2); + + /* Copy PC */ + FETCH_REGS (state, PC_REGNUM, 1); + + /* Mach 3.0 saves FP to MACH_FP_REGNUM. + * For some reason gdb wants to assign a pseudo register for it. + */ + FETCH_REGS (state, FP_REGNUM, 1); + } + + /* Read exc state. Also read if need to fetch floats */ + if (which_regs & REGS_EXC) + { + stateCnt = MIPS_EXC_STATE_COUNT; + ret = thread_get_state (current_thread, + MIPS_EXC_STATE, + (thread_state_t) &exc_state, + &stateCnt); + CHK ("fetch inferior regs (exc): thread_get_state", ret); + + /* We need to fetch exc_state to see if the floating + * state is valid for the thread. + */ + + /* cproc_state: Which coprocessors the thread uses */ + supply_register (PS_REGNUM, + (char *)&exc_state+reg_offset[ PS_REGNUM ]); + + if (which_regs == REGS_EXC || which_regs == REGS_ALL) + { + supply_register (BADVADDR_REGNUM, + (char *)&exc_state+reg_offset[ BADVADDR_REGNUM ]); + + supply_register (CAUSE_REGNUM, + (char *)&exc_state+reg_offset[ CAUSE_REGNUM ]); + if (which_regs == REGS_EXC) + return; + } + } + + + if (which_regs & REGS_COP1) + { + /* If the thread does not have saved COPROC1, set regs to zero */ + + if (! (exc_state.coproc_state & MIPS_STATUS_USE_COP1)) + bzero (®isters[ REGISTER_BYTE (FP0_REGNUM) ], + sizeof (struct mips_float_state)); + else + { + stateCnt = MIPS_FLOAT_STATE_COUNT; + ret = thread_get_state (current_thread, + MIPS_FLOAT_STATE, + state, + &stateCnt); + CHK ("fetch inferior regs (floats): thread_get_state", ret); + + if (regno != -1) + { + supply_register (regno, + (char *)state+reg_offset[ regno ]); + return; + } + + FETCH_REGS (state, FP0_REGNUM, 34); + } + } + + /* All registers are valid, if not returned yet */ + registers_fetched (); +} + +/* Store gdb's view of registers to the thread. + * All registers are always valid when entering here. + * @@ ahem, maybe that is too strict, we could validate the necessary ones + * here. + * + * Hmm. It seems that gdb set $reg=value command first reads everything, + * then sets the reg and then stores everything. -> we must make sure + * that the immutable registers are not changed by reading them first. + */ + +void +store_inferior_registers (regno) + register int regno; +{ + thread_state_data_t state; + kern_return_t ret; + + if (! MACH_PORT_VALID (current_thread)) + error ("store inferior registers: Invalid thread"); + + /* Check for read only regs. + * @@ If some of these is can be changed, fix this + */ + if (regno == ZERO_REGNUM || + regno == PS_REGNUM || + regno == BADVADDR_REGNUM || + regno == CAUSE_REGNUM || + regno == FCRIR_REGNUM) + { + message ("You can not alter read-only register `%s'", + reg_names[ regno ]); + fetch_inferior_registers (regno); + return; + } + + if (regno == -1) + { + /* Don't allow these to change */ + + /* ZERO_REGNUM */ + *(int *)registers = 0; + + fetch_inferior_registers (PS_REGNUM); + fetch_inferior_registers (BADVADDR_REGNUM); + fetch_inferior_registers (CAUSE_REGNUM); + fetch_inferior_registers (FCRIR_REGNUM); + } + + if (regno == -1 || (ZERO_REGNUM < regno && regno <= PC_REGNUM)) + { +#if 1 + /* Mach 3.0 saves thread's FP to MACH_FP_REGNUM. + * GDB wants assigns a pseudo register FP_REGNUM for frame pointer. + * + * @@@ Here I assume (!) that gdb's FP has the value that + * should go to threads frame pointer. If not true, this + * fails badly!!!!! + */ + memcpy (®isters[REGISTER_BYTE (MACH_FP_REGNUM)], + ®isters[REGISTER_BYTE (FP_REGNUM)], + REGISTER_RAW_SIZE (FP_REGNUM)); +#endif + + /* Save gdb's regs 1..31 to thread saved regs 1..31 + * Luckily, they are contiquous + */ + STORE_REGS (state, 1, 31); + + /* Save mdlo, mdhi */ + STORE_REGS (state, LO_REGNUM, 2); + + /* Save PC */ + STORE_REGS (state, PC_REGNUM, 1); + + ret = thread_set_state (current_thread, + MIPS_THREAD_STATE, + state, + MIPS_FLOAT_STATE_COUNT); + CHK ("store inferior regs : thread_set_state", ret); + } + + if (regno == -1 || regno >= FP0_REGNUM) + { + /* If thread has floating state, save it */ + if (read_register (PS_REGNUM) & MIPS_STATUS_USE_COP1) + { + /* Do NOT save FCRIR_REGNUM */ + STORE_REGS (state, FP0_REGNUM, 33); + + ret = thread_set_state (current_thread, + MIPS_FLOAT_STATE, + state, + MIPS_FLOAT_STATE_COUNT); + CHK ("store inferior registers (floats): thread_set_state", ret); + } + else if (regno != -1) + message + ("Thread does not use floating point unit, floating regs not saved"); + } +} diff --git a/contrib/gdb/gdb/mipsv4-nat.c b/contrib/gdb/gdb/mipsv4-nat.c new file mode 100644 index 0000000000000..df4b6e9a090e3 --- /dev/null +++ b/contrib/gdb/gdb/mipsv4-nat.c @@ -0,0 +1,159 @@ +/* Native support for MIPS running SVR4, for GDB. + Copyright 1994, 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" +#include "gdbcore.h" +#include "target.h" + +#include <sys/time.h> +#include <sys/procfs.h> +#include <setjmp.h> /* For JB_XXX. */ + +/* Size of elements in jmpbuf */ + +#define JB_ELEMENT_SIZE 4 + +/* + * See the comment in m68k-tdep.c regarding the utility of these functions. + * + * These definitions are from the MIPS SVR4 ABI, so they may work for + * any MIPS SVR4 target. + */ + +void +supply_gregset (gregsetp) + gregset_t *gregsetp; +{ + register int regi; + register greg_t *regp = &(*gregsetp)[0]; + static char zerobuf[MAX_REGISTER_RAW_SIZE] = {0}; + + for (regi = 0; regi <= CXT_RA; regi++) + supply_register (regi, (char *)(regp + regi)); + + supply_register (PC_REGNUM, (char *)(regp + CXT_EPC)); + supply_register (HI_REGNUM, (char *)(regp + CXT_MDHI)); + supply_register (LO_REGNUM, (char *)(regp + CXT_MDLO)); + supply_register (CAUSE_REGNUM, (char *)(regp + CXT_CAUSE)); + + /* Fill inaccessible registers with zero. */ + supply_register (PS_REGNUM, zerobuf); + supply_register (BADVADDR_REGNUM, zerobuf); + supply_register (FP_REGNUM, zerobuf); + supply_register (UNUSED_REGNUM, zerobuf); + for (regi = FIRST_EMBED_REGNUM; regi <= LAST_EMBED_REGNUM; regi++) + supply_register (regi, zerobuf); +} + +void +fill_gregset (gregsetp, regno) + gregset_t *gregsetp; + int regno; +{ + int regi; + register greg_t *regp = &(*gregsetp)[0]; + + for (regi = 0; regi <= 32; regi++) + if ((regno == -1) || (regno == regi)) + *(regp + regi) = *(greg_t *) ®isters[REGISTER_BYTE (regi)]; + + if ((regno == -1) || (regno == PC_REGNUM)) + *(regp + CXT_EPC) = *(greg_t *) ®isters[REGISTER_BYTE (PC_REGNUM)]; + + if ((regno == -1) || (regno == CAUSE_REGNUM)) + *(regp + CXT_CAUSE) = *(greg_t *) ®isters[REGISTER_BYTE (CAUSE_REGNUM)]; + + if ((regno == -1) || (regno == HI_REGNUM)) + *(regp + CXT_MDHI) = *(greg_t *) ®isters[REGISTER_BYTE (HI_REGNUM)]; + + if ((regno == -1) || (regno == LO_REGNUM)) + *(regp + CXT_MDLO) = *(greg_t *) ®isters[REGISTER_BYTE (LO_REGNUM)]; +} + +/* + * Now we do the same thing for floating-point registers. + * We don't bother to condition on FP0_REGNUM since any + * reasonable MIPS configuration has an R3010 in it. + * + * Again, see the comments in m68k-tdep.c. + */ + +void +supply_fpregset (fpregsetp) + fpregset_t *fpregsetp; +{ + register int regi; + static char zerobuf[MAX_REGISTER_RAW_SIZE] = {0}; + + for (regi = 0; regi < 32; regi++) + supply_register (FP0_REGNUM + regi, + (char *)&fpregsetp->fp_r.fp_regs[regi]); + + supply_register (FCRCS_REGNUM, (char *)&fpregsetp->fp_csr); + + /* FIXME: how can we supply FCRIR_REGNUM? The ABI doesn't tell us. */ + supply_register (FCRIR_REGNUM, zerobuf); +} + +void +fill_fpregset (fpregsetp, regno) + fpregset_t *fpregsetp; + int regno; +{ + int regi; + char *from, *to; + + for (regi = FP0_REGNUM; regi < FP0_REGNUM + 32; regi++) + { + if ((regno == -1) || (regno == regi)) + { + from = (char *) ®isters[REGISTER_BYTE (regi)]; + to = (char *) &(fpregsetp->fp_r.fp_regs[regi - FP0_REGNUM]); + memcpy(to, from, REGISTER_RAW_SIZE (regi)); + } + } + + if ((regno == -1) || (regno == FCRCS_REGNUM)) + fpregsetp->fp_csr = *(unsigned *) ®isters[REGISTER_BYTE(FCRCS_REGNUM)]; +} + + +/* Figure out where the longjmp will land. + We expect the first arg to be a pointer to the jmp_buf structure from which + we extract the pc (_JB_PC) that we will land at. The pc is copied into PC. + This routine returns true on success. */ + +int +get_longjmp_target (pc) + CORE_ADDR *pc; +{ + char buf[TARGET_PTR_BIT / TARGET_CHAR_BIT]; + CORE_ADDR jb_addr; + + jb_addr = read_register (A0_REGNUM); + + if (target_read_memory (jb_addr + _JB_PC * JB_ELEMENT_SIZE, buf, + TARGET_PTR_BIT / TARGET_CHAR_BIT)) + return 0; + + *pc = extract_address (buf, TARGET_PTR_BIT / TARGET_CHAR_BIT); + + return 1; +} diff --git a/contrib/gdb/gdb/rom68k-rom.c b/contrib/gdb/gdb/rom68k-rom.c new file mode 100644 index 0000000000000..208d9aa0762cf --- /dev/null +++ b/contrib/gdb/gdb/rom68k-rom.c @@ -0,0 +1,173 @@ +/* Remote target glue for the ROM68K ROM monitor. + Copyright 1988, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "gdbcore.h" +#include "target.h" +#include "monitor.h" +#include "serial.h" + +static void rom68k_open PARAMS ((char *args, int from_tty)); + +static void +rom68k_supply_register (regname, regnamelen, val, vallen) + char *regname; + int regnamelen; + char *val; + int vallen; +{ + int numregs; + int regno; + + numregs = 1; + regno = -1; + + if (regnamelen == 2) + switch (regname[0]) + { + case 'S': + if (regname[1] == 'R') + regno = PS_REGNUM; + break; + case 'P': + if (regname[1] == 'C') + regno = PC_REGNUM; + break; + case 'D': + if (regname[1] != 'R') + break; + regno = D0_REGNUM; + numregs = 8; + break; + case 'A': + if (regname[1] != 'R') + break; + regno = A0_REGNUM; + numregs = 7; + break; + } + else if (regnamelen == 3) + switch (regname[0]) + { + case 'I': + if (regname[1] == 'S' && regname[2] == 'P') + regno = SP_REGNUM; + } + + if (regno >= 0) + while (numregs-- > 0) + val = monitor_supply_register (regno++, val); +} + +/* This array of registers need to match the indexes used by GDB. + This exists because the various ROM monitors use different strings + than does GDB, and don't necessarily support all the registers + either. So, typing "info reg sp" becomes a "r30". */ + +static char *rom68k_regnames[NUM_REGS] = { + "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", + "A0", "A1", "A2", "A3", "A4", "A5", "A6", "ISP", + "SR", "PC" }; + +/* Define the monitor command strings. Since these are passed directly + through to a printf style function, we may include formatting + strings. We also need a CR or LF on the end. */ + +static struct target_ops rom68k_ops; + +static char *rom68k_inits[] = {".\r\r", NULL}; /* Exits pm/pr & download cmds */ + +static struct monitor_ops rom68k_cmds = +{ + 0, /* flags */ + rom68k_inits, /* monitor init string */ + "go\r", /* continue command */ + "st\r", /* single step */ + NULL, /* No way to interrupt program */ + "db %x\r", /* set a breakpoint */ + "cb %x\r", /* clear a breakpoint */ + "cb *\r", /* clear all breakpoints */ + "fm %x %x %x\r", /* fill (start len val) */ + { + "pm %x %x\r", /* setmem.cmdb (addr, value) */ + "pm.w %x %x\r", /* setmem.cmdw (addr, value) */ + "pm.l %x %x\r", /* setmem.cmdl (addr, value) */ + NULL, /* setmem.cmdll (addr, value) */ + NULL, /* setreg.resp_delim */ + NULL, /* setreg.term */ + NULL, /* setreg.term_cmd */ + }, + { + "dm %x %x\r", /* getmem.cmdb (addr, len) */ + "dm.w %x %x\r", /* getmem.cmdw (addr, len) */ + "dm.l %x %x\r", /* getmem.cmdl (addr, len) */ + NULL, /* getmem.cmdll (addr, len) */ + " ", /* getmem.resp_delim */ + NULL, /* getmem.term */ + NULL, /* getmem.term_cmd */ + }, + { + "pr %s %x\r", /* setreg.cmd (name, value) */ + NULL, /* setreg.resp_delim */ + NULL, /* setreg.term */ + NULL /* setreg.term_cmd */ + }, + { + "pr %s\r", /* getreg.cmd (name) */ + ": ", /* getreg.resp_delim */ + "= ", /* getreg.term */ + ".\r" /* getreg.term_cmd */ + }, + "dr\r", /* dump_registers */ + /* register_pattern */ + "\\(\\w+\\)=\\([0-9a-fA-F]+\\( +[0-9a-fA-F]+\\b\\)*\\)", + rom68k_supply_register, /* supply_register */ + NULL, /* load_routine (defaults to SRECs) */ + "dc\r", /* download command */ + "Waiting for S-records from host... ", /* Load response */ + "ROM68K :-> ", /* monitor command prompt */ + "\r", /* end-of-line terminator */ + ".\r", /* optional command terminator */ + &rom68k_ops, /* target operations */ + SERIAL_1_STOPBITS, /* number of stop bits */ + rom68k_regnames, /* registers names */ + MONITOR_OPS_MAGIC /* magic */ +}; + +static void +rom68k_open (args, from_tty) + char *args; + int from_tty; +{ + monitor_open (args, &rom68k_cmds, from_tty); +} + +void +_initialize_rom68k () +{ + init_monitor_ops (&rom68k_ops); + + rom68k_ops.to_shortname = "rom68k"; + rom68k_ops.to_longname = "Rom68k debug monitor for the IDP Eval board"; + rom68k_ops.to_doc = "Debug on a Motorola IDP eval board running the ROM68K monitor.\n\ +Specify the serial device it is connected to (e.g. /dev/ttya)."; + rom68k_ops.to_open = rom68k_open; + + add_target (&rom68k_ops); +} diff --git a/contrib/gdb/gdb/rs6000-nat.c b/contrib/gdb/gdb/rs6000-nat.c new file mode 100644 index 0000000000000..b9ad387b05d44 --- /dev/null +++ b/contrib/gdb/gdb/rs6000-nat.c @@ -0,0 +1,822 @@ +/* IBM RS/6000 native-dependent code for GDB, the GNU debugger. + Copyright 1986, 1987, 1989, 1991, 1992, 1994, 1995, 1996 + Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" +#include "target.h" +#include "gdbcore.h" +#include "xcoffsolib.h" +#include "symfile.h" +#include "objfiles.h" +#include "libbfd.h" /* For bfd_cache_lookup (FIXME) */ +#include "bfd.h" +#include "gdb-stabs.h" + +#include <sys/ptrace.h> +#include <sys/reg.h> + +#include <sys/param.h> +#include <sys/dir.h> +#include <sys/user.h> +#include <signal.h> +#include <sys/ioctl.h> +#include <fcntl.h> + +#include <a.out.h> +#include <sys/file.h> +#include "gdb_stat.h" +#include <sys/core.h> +#include <sys/ldr.h> + +extern int errno; + +extern struct vmap * map_vmap PARAMS ((bfd *bf, bfd *arch)); + +extern struct target_ops exec_ops; + +static void +exec_one_dummy_insn PARAMS ((void)); + +extern void +add_text_to_loadinfo PARAMS ((CORE_ADDR textaddr, CORE_ADDR dataaddr)); + +extern void +fixup_breakpoints PARAMS ((CORE_ADDR low, CORE_ADDR high, CORE_ADDR delta)); + +/* Conversion from gdb-to-system special purpose register numbers.. */ + +static int special_regs[] = { + IAR, /* PC_REGNUM */ + MSR, /* PS_REGNUM */ + CR, /* CR_REGNUM */ + LR, /* LR_REGNUM */ + CTR, /* CTR_REGNUM */ + XER, /* XER_REGNUM */ + MQ /* MQ_REGNUM */ +}; + +void +fetch_inferior_registers (regno) + int regno; +{ + int ii; + extern char registers[]; + + if (regno < 0) { /* for all registers */ + + /* read 32 general purpose registers. */ + + for (ii=0; ii < 32; ++ii) + *(int*)®isters[REGISTER_BYTE (ii)] = + ptrace (PT_READ_GPR, inferior_pid, (PTRACE_ARG3_TYPE) ii, 0, 0); + + /* read general purpose floating point registers. */ + + for (ii=0; ii < 32; ++ii) + ptrace (PT_READ_FPR, inferior_pid, + (PTRACE_ARG3_TYPE) ®isters [REGISTER_BYTE (FP0_REGNUM+ii)], + FPR0+ii, 0); + + /* read special registers. */ + for (ii=0; ii <= LAST_SP_REGNUM-FIRST_SP_REGNUM; ++ii) + *(int*)®isters[REGISTER_BYTE (FIRST_SP_REGNUM+ii)] = + ptrace (PT_READ_GPR, inferior_pid, (PTRACE_ARG3_TYPE) special_regs[ii], + 0, 0); + + registers_fetched (); + return; + } + + /* else an individual register is addressed. */ + + else if (regno < FP0_REGNUM) { /* a GPR */ + *(int*)®isters[REGISTER_BYTE (regno)] = + ptrace (PT_READ_GPR, inferior_pid, (PTRACE_ARG3_TYPE) regno, 0, 0); + } + else if (regno <= FPLAST_REGNUM) { /* a FPR */ + ptrace (PT_READ_FPR, inferior_pid, + (PTRACE_ARG3_TYPE) ®isters [REGISTER_BYTE (regno)], + (regno-FP0_REGNUM+FPR0), 0); + } + else if (regno <= LAST_SP_REGNUM) { /* a special register */ + *(int*)®isters[REGISTER_BYTE (regno)] = + ptrace (PT_READ_GPR, inferior_pid, + (PTRACE_ARG3_TYPE) special_regs[regno-FIRST_SP_REGNUM], 0, 0); + } + else + fprintf_unfiltered (gdb_stderr, "gdb error: register no %d not implemented.\n", regno); + + register_valid [regno] = 1; +} + +/* Store our register values back into the inferior. + If REGNO is -1, do this for all registers. + Otherwise, REGNO specifies which register (so we can save time). */ + +void +store_inferior_registers (regno) + int regno; +{ + extern char registers[]; + + errno = 0; + + if (regno == -1) + { /* for all registers.. */ + int ii; + + /* execute one dummy instruction (which is a breakpoint) in inferior + process. So give kernel a chance to do internal house keeping. + Otherwise the following ptrace(2) calls will mess up user stack + since kernel will get confused about the bottom of the stack (%sp) */ + + exec_one_dummy_insn (); + + /* write general purpose registers first! */ + for ( ii=GPR0; ii<=GPR31; ++ii) + { + ptrace (PT_WRITE_GPR, inferior_pid, (PTRACE_ARG3_TYPE) ii, + *(int*)®isters[REGISTER_BYTE (ii)], 0); + if (errno) + { + perror ("ptrace write_gpr"); + errno = 0; + } + } + + /* write floating point registers now. */ + for ( ii=0; ii < 32; ++ii) + { + ptrace (PT_WRITE_FPR, inferior_pid, + (PTRACE_ARG3_TYPE) ®isters[REGISTER_BYTE (FP0_REGNUM+ii)], + FPR0+ii, 0); + if (errno) + { + perror ("ptrace write_fpr"); + errno = 0; + } + } + + /* write special registers. */ + for (ii=0; ii <= LAST_SP_REGNUM-FIRST_SP_REGNUM; ++ii) + { + ptrace (PT_WRITE_GPR, inferior_pid, + (PTRACE_ARG3_TYPE) special_regs[ii], + *(int*)®isters[REGISTER_BYTE (FIRST_SP_REGNUM+ii)], 0); + if (errno) + { + perror ("ptrace write_gpr"); + errno = 0; + } + } + } + + /* else, a specific register number is given... */ + + else if (regno < FP0_REGNUM) /* a GPR */ + { + ptrace (PT_WRITE_GPR, inferior_pid, (PTRACE_ARG3_TYPE) regno, + *(int*)®isters[REGISTER_BYTE (regno)], 0); + } + + else if (regno <= FPLAST_REGNUM) /* a FPR */ + { + ptrace (PT_WRITE_FPR, inferior_pid, + (PTRACE_ARG3_TYPE) ®isters[REGISTER_BYTE (regno)], + regno - FP0_REGNUM + FPR0, 0); + } + + else if (regno <= LAST_SP_REGNUM) /* a special register */ + { + ptrace (PT_WRITE_GPR, inferior_pid, + (PTRACE_ARG3_TYPE) special_regs [regno-FIRST_SP_REGNUM], + *(int*)®isters[REGISTER_BYTE (regno)], 0); + } + + else + fprintf_unfiltered (gdb_stderr, "Gdb error: register no %d not implemented.\n", regno); + + if (errno) + { + perror ("ptrace write"); + errno = 0; + } +} + +/* Execute one dummy breakpoint instruction. This way we give the kernel + a chance to do some housekeeping and update inferior's internal data, + including u_area. */ + +static void +exec_one_dummy_insn () +{ +#define DUMMY_INSN_ADDR (TEXT_SEGMENT_BASE)+0x200 + + char shadow_contents[BREAKPOINT_MAX]; /* Stash old bkpt addr contents */ + unsigned int status, pid; + CORE_ADDR prev_pc; + + /* We plant one dummy breakpoint into DUMMY_INSN_ADDR address. We assume that + this address will never be executed again by the real code. */ + + target_insert_breakpoint (DUMMY_INSN_ADDR, shadow_contents); + + errno = 0; + + /* You might think this could be done with a single ptrace call, and + you'd be correct for just about every platform I've ever worked + on. However, rs6000-ibm-aix4.1.3 seems to have screwed this up -- + the inferior never hits the breakpoint (it's also worth noting + powerpc-ibm-aix4.1.3 works correctly). */ + prev_pc = read_pc (); + write_pc (DUMMY_INSN_ADDR); + ptrace (PT_CONTINUE, inferior_pid, (PTRACE_ARG3_TYPE)1, 0, 0); + + if (errno) + perror ("pt_continue"); + + do { + pid = wait (&status); + } while (pid != inferior_pid); + + write_pc (prev_pc); + target_remove_breakpoint (DUMMY_INSN_ADDR, shadow_contents); +} + +static void +fetch_core_registers (core_reg_sect, core_reg_size, which, reg_addr) + char *core_reg_sect; + unsigned core_reg_size; + int which; + unsigned int reg_addr; /* Unused in this version */ +{ + /* fetch GPRs and special registers from the first register section + in core bfd. */ + if (which == 0) + { + /* copy GPRs first. */ + memcpy (registers, core_reg_sect, 32 * 4); + + /* gdb's internal register template and bfd's register section layout + should share a common include file. FIXMEmgo */ + /* then comes special registes. They are supposed to be in the same + order in gdb template and bfd `.reg' section. */ + core_reg_sect += (32 * 4); + memcpy (®isters [REGISTER_BYTE (FIRST_SP_REGNUM)], core_reg_sect, + (LAST_SP_REGNUM - FIRST_SP_REGNUM + 1) * 4); + } + + /* fetch floating point registers from register section 2 in core bfd. */ + else if (which == 2) + memcpy (®isters [REGISTER_BYTE (FP0_REGNUM)], core_reg_sect, 32 * 8); + + else + fprintf_unfiltered (gdb_stderr, "Gdb error: unknown parameter to fetch_core_registers().\n"); +} + +/* handle symbol translation on vmapping */ + +static void +vmap_symtab (vp) + register struct vmap *vp; +{ + register struct objfile *objfile; + CORE_ADDR text_delta; + CORE_ADDR data_delta; + CORE_ADDR bss_delta; + struct section_offsets *new_offsets; + int i; + + objfile = vp->objfile; + if (objfile == NULL) + { + /* OK, it's not an objfile we opened ourselves. + Currently, that can only happen with the exec file, so + relocate the symbols for the symfile. */ + if (symfile_objfile == NULL) + return; + objfile = symfile_objfile; + } + + new_offsets = alloca + (sizeof (struct section_offsets) + + sizeof (new_offsets->offsets) * objfile->num_sections); + + for (i = 0; i < objfile->num_sections; ++i) + ANOFFSET (new_offsets, i) = ANOFFSET (objfile->section_offsets, i); + + text_delta = + vp->tstart - ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT); + ANOFFSET (new_offsets, SECT_OFF_TEXT) = vp->tstart; + + data_delta = + vp->dstart - ANOFFSET (objfile->section_offsets, SECT_OFF_DATA); + ANOFFSET (new_offsets, SECT_OFF_DATA) = vp->dstart; + + bss_delta = + vp->dstart - ANOFFSET (objfile->section_offsets, SECT_OFF_BSS); + ANOFFSET (new_offsets, SECT_OFF_BSS) = vp->dstart; + + objfile_relocate (objfile, new_offsets); +} + +/* Add symbols for an objfile. */ + +static int +objfile_symbol_add (arg) + char *arg; +{ + struct objfile *obj = (struct objfile *) arg; + + syms_from_objfile (obj, 0, 0, 0); + new_symfile_objfile (obj, 0, 0); + return 1; +} + +/* Add a new vmap entry based on ldinfo() information. + + If ldi->ldinfo_fd is not valid (e.g. this struct ld_info is from a + core file), the caller should set it to -1, and we will open the file. + + Return the vmap new entry. */ + +static struct vmap * +add_vmap (ldi) + register struct ld_info *ldi; +{ + bfd *abfd, *last; + register char *mem, *objname; + struct objfile *obj; + struct vmap *vp; + + /* This ldi structure was allocated using alloca() in + xcoff_relocate_symtab(). Now we need to have persistent object + and member names, so we should save them. */ + + mem = ldi->ldinfo_filename + strlen (ldi->ldinfo_filename) + 1; + mem = savestring (mem, strlen (mem)); + objname = savestring (ldi->ldinfo_filename, strlen (ldi->ldinfo_filename)); + + if (ldi->ldinfo_fd < 0) + /* Note that this opens it once for every member; a possible + enhancement would be to only open it once for every object. */ + abfd = bfd_openr (objname, gnutarget); + else + abfd = bfd_fdopenr (objname, gnutarget, ldi->ldinfo_fd); + if (!abfd) + error ("Could not open `%s' as an executable file: %s", + objname, bfd_errmsg (bfd_get_error ())); + + /* make sure we have an object file */ + + if (bfd_check_format (abfd, bfd_object)) + vp = map_vmap (abfd, 0); + + else if (bfd_check_format (abfd, bfd_archive)) + { + last = 0; + /* FIXME??? am I tossing BFDs? bfd? */ + while ((last = bfd_openr_next_archived_file (abfd, last))) + if (STREQ (mem, last->filename)) + break; + + if (!last) + { + bfd_close (abfd); + /* FIXME -- should be error */ + warning ("\"%s\": member \"%s\" missing.", abfd->filename, mem); + return; + } + + if (!bfd_check_format(last, bfd_object)) + { + bfd_close (last); /* XXX??? */ + goto obj_err; + } + + vp = map_vmap (last, abfd); + } + else + { + obj_err: + bfd_close (abfd); + error ("\"%s\": not in executable format: %s.", + objname, bfd_errmsg (bfd_get_error ())); + /*NOTREACHED*/ + } + obj = allocate_objfile (vp->bfd, 0); + vp->objfile = obj; + +#ifndef SOLIB_SYMBOLS_MANUAL + if (catch_errors (objfile_symbol_add, (char *)obj, + "Error while reading shared library symbols:\n", + RETURN_MASK_ALL)) + { + /* Note this is only done if symbol reading was successful. */ + vmap_symtab (vp); + vp->loaded = 1; + } +#endif + return vp; +} + +/* update VMAP info with ldinfo() information + Input is ptr to ldinfo() results. */ + +static void +vmap_ldinfo (ldi) + register struct ld_info *ldi; +{ + struct stat ii, vi; + register struct vmap *vp; + int got_one, retried; + int got_exec_file; + + /* For each *ldi, see if we have a corresponding *vp. + If so, update the mapping, and symbol table. + If not, add an entry and symbol table. */ + + do { + char *name = ldi->ldinfo_filename; + char *memb = name + strlen(name) + 1; + + retried = 0; + + if (fstat (ldi->ldinfo_fd, &ii) < 0) + fatal ("cannot fstat(fd=%d) on %s", ldi->ldinfo_fd, name); + retry: + for (got_one = 0, vp = vmap; vp; vp = vp->nxt) + { + /* First try to find a `vp', which is the same as in ldinfo. + If not the same, just continue and grep the next `vp'. If same, + relocate its tstart, tend, dstart, dend values. If no such `vp' + found, get out of this for loop, add this ldi entry as a new vmap + (add_vmap) and come back, fins its `vp' and so on... */ + + /* The filenames are not always sufficient to match on. */ + + if ((name[0] == '/' && !STREQ(name, vp->name)) + || (memb[0] && !STREQ(memb, vp->member))) + continue; + + /* See if we are referring to the same file. */ + if (bfd_stat (vp->bfd, &vi) < 0) + /* An error here is innocuous, most likely meaning that + the file descriptor has become worthless. + FIXME: What does it mean for a file descriptor to become + "worthless"? What makes it happen? What error does it + produce (ENOENT? others?)? Should we at least provide + a warning? */ + continue; + + if (ii.st_dev != vi.st_dev || ii.st_ino != vi.st_ino) + continue; + + if (!retried) + close (ldi->ldinfo_fd); + + ++got_one; + + /* Found a corresponding VMAP. Remap! */ + + /* We can assume pointer == CORE_ADDR, this code is native only. */ + vp->tstart = (CORE_ADDR) ldi->ldinfo_textorg; + vp->tend = vp->tstart + ldi->ldinfo_textsize; + vp->dstart = (CORE_ADDR) ldi->ldinfo_dataorg; + vp->dend = vp->dstart + ldi->ldinfo_datasize; + + if (vp->tadj) + { + vp->tstart += vp->tadj; + vp->tend += vp->tadj; + } + + /* The objfile is only NULL for the exec file. */ + if (vp->objfile == NULL) + got_exec_file = 1; + +#ifdef DONT_RELOCATE_SYMFILE_OBJFILE + if (vp->objfile == symfile_objfile + || vp->objfile == NULL) + { + ldi->ldinfo_dataorg = 0; + vp->dstart = (CORE_ADDR) 0; + vp->dend = ldi->ldinfo_datasize; + } +#endif + + /* relocate symbol table(s). */ + vmap_symtab (vp); + + /* There may be more, so we don't break out of the loop. */ + } + + /* if there was no matching *vp, we must perforce create the sucker(s) */ + if (!got_one && !retried) + { + add_vmap (ldi); + ++retried; + goto retry; + } + } while (ldi->ldinfo_next + && (ldi = (void *) (ldi->ldinfo_next + (char *) ldi))); + + /* If we don't find the symfile_objfile anywhere in the ldinfo, it + is unlikely that the symbol file is relocated to the proper + address. And we might have attached to a process which is + running a different copy of the same executable. */ + if (symfile_objfile != NULL && !got_exec_file) + { + warning_begin (); + fputs_unfiltered ("Symbol file ", gdb_stderr); + fputs_unfiltered (symfile_objfile->name, gdb_stderr); + fputs_unfiltered ("\nis not mapped; discarding it.\n\ +If in fact that file has symbols which the mapped files listed by\n\ +\"info files\" lack, you can load symbols with the \"symbol-file\" or\n\ +\"add-symbol-file\" commands (note that you must take care of relocating\n\ +symbols to the proper address).\n", gdb_stderr); + free_objfile (symfile_objfile); + symfile_objfile = NULL; + } + breakpoint_re_set (); +} + +/* As well as symbol tables, exec_sections need relocation. After + the inferior process' termination, there will be a relocated symbol + table exist with no corresponding inferior process. At that time, we + need to use `exec' bfd, rather than the inferior process's memory space + to look up symbols. + + `exec_sections' need to be relocated only once, as long as the exec + file remains unchanged. +*/ + +static void +vmap_exec () +{ + static bfd *execbfd; + int i; + + if (execbfd == exec_bfd) + return; + + execbfd = exec_bfd; + + if (!vmap || !exec_ops.to_sections) + error ("vmap_exec: vmap or exec_ops.to_sections == 0\n"); + + for (i=0; &exec_ops.to_sections[i] < exec_ops.to_sections_end; i++) + { + if (STREQ(".text", exec_ops.to_sections[i].the_bfd_section->name)) + { + exec_ops.to_sections[i].addr += vmap->tstart; + exec_ops.to_sections[i].endaddr += vmap->tstart; + } + else if (STREQ(".data", exec_ops.to_sections[i].the_bfd_section->name)) + { + exec_ops.to_sections[i].addr += vmap->dstart; + exec_ops.to_sections[i].endaddr += vmap->dstart; + } + } +} + +/* xcoff_relocate_symtab - hook for symbol table relocation. + also reads shared libraries.. */ + +void +xcoff_relocate_symtab (pid) + unsigned int pid; +{ +#define MAX_LOAD_SEGS 64 /* maximum number of load segments */ + + struct ld_info *ldi; + + ldi = (void *) alloca(MAX_LOAD_SEGS * sizeof (*ldi)); + + /* According to my humble theory, AIX has some timing problems and + when the user stack grows, kernel doesn't update stack info in time + and ptrace calls step on user stack. That is why we sleep here a little, + and give kernel to update its internals. */ + + usleep (36000); + + errno = 0; + ptrace (PT_LDINFO, pid, (PTRACE_ARG3_TYPE) ldi, + MAX_LOAD_SEGS * sizeof(*ldi), ldi); + if (errno) + perror_with_name ("ptrace ldinfo"); + + vmap_ldinfo (ldi); + + do { + /* We are allowed to assume CORE_ADDR == pointer. This code is + native only. */ + add_text_to_loadinfo ((CORE_ADDR) ldi->ldinfo_textorg, + (CORE_ADDR) ldi->ldinfo_dataorg); + } while (ldi->ldinfo_next + && (ldi = (void *) (ldi->ldinfo_next + (char *) ldi))); + +#if 0 + /* Now that we've jumbled things around, re-sort them. */ + sort_minimal_symbols (); +#endif + + /* relocate the exec and core sections as well. */ + vmap_exec (); +} + +/* Core file stuff. */ + +/* Relocate symtabs and read in shared library info, based on symbols + from the core file. */ + +void +xcoff_relocate_core (target) + struct target_ops *target; +{ +/* Offset of member MEMBER in a struct of type TYPE. */ +#ifndef offsetof +#define offsetof(TYPE, MEMBER) ((int) &((TYPE *)0)->MEMBER) +#endif + +/* Size of a struct ld_info except for the variable-length filename. */ +#define LDINFO_SIZE (offsetof (struct ld_info, ldinfo_filename)) + + sec_ptr ldinfo_sec; + int offset = 0; + struct ld_info *ldip; + struct vmap *vp; + + /* Allocated size of buffer. */ + int buffer_size = LDINFO_SIZE; + char *buffer = xmalloc (buffer_size); + struct cleanup *old = make_cleanup (free_current_contents, &buffer); + + /* FIXME, this restriction should not exist. For now, though I'll + avoid coredumps with error() pending a real fix. */ + if (vmap == NULL) + error + ("Can't debug a core file without an executable file (on the RS/6000)"); + + ldinfo_sec = bfd_get_section_by_name (core_bfd, ".ldinfo"); + if (ldinfo_sec == NULL) + { + bfd_err: + fprintf_filtered (gdb_stderr, "Couldn't get ldinfo from core file: %s\n", + bfd_errmsg (bfd_get_error ())); + do_cleanups (old); + return; + } + do + { + int i; + int names_found = 0; + + /* Read in everything but the name. */ + if (bfd_get_section_contents (core_bfd, ldinfo_sec, buffer, + offset, LDINFO_SIZE) == 0) + goto bfd_err; + + /* Now the name. */ + i = LDINFO_SIZE; + do + { + if (i == buffer_size) + { + buffer_size *= 2; + buffer = xrealloc (buffer, buffer_size); + } + if (bfd_get_section_contents (core_bfd, ldinfo_sec, &buffer[i], + offset + i, 1) == 0) + goto bfd_err; + if (buffer[i++] == '\0') + ++names_found; + } while (names_found < 2); + + ldip = (struct ld_info *) buffer; + + /* Can't use a file descriptor from the core file; need to open it. */ + ldip->ldinfo_fd = -1; + + /* The first ldinfo is for the exec file, allocated elsewhere. */ + if (offset == 0) + vp = vmap; + else + vp = add_vmap (ldip); + + offset += ldip->ldinfo_next; + + /* We can assume pointer == CORE_ADDR, this code is native only. */ + vp->tstart = (CORE_ADDR) ldip->ldinfo_textorg; + vp->tend = vp->tstart + ldip->ldinfo_textsize; + vp->dstart = (CORE_ADDR) ldip->ldinfo_dataorg; + vp->dend = vp->dstart + ldip->ldinfo_datasize; + +#ifdef DONT_RELOCATE_SYMFILE_OBJFILE + if (vp == vmap) + { + vp->dstart = (CORE_ADDR) 0; + vp->dend = ldip->ldinfo_datasize; + } +#endif + + if (vp->tadj != 0) + { + vp->tstart += vp->tadj; + vp->tend += vp->tadj; + } + + /* Unless this is the exec file, + add our sections to the section table for the core target. */ + if (vp != vmap) + { + int count; + struct section_table *stp; + int update_coreops; + + /* We must update the to_sections field in the core_ops structure + now to avoid dangling pointer dereferences. */ + update_coreops = core_ops.to_sections == target->to_sections; + + count = target->to_sections_end - target->to_sections; + count += 2; + target->to_sections = (struct section_table *) + xrealloc (target->to_sections, + sizeof (struct section_table) * count); + target->to_sections_end = target->to_sections + count; + + /* Update the to_sections field in the core_ops structure + if needed. */ + if (update_coreops) + { + core_ops.to_sections = target->to_sections; + core_ops.to_sections_end = target->to_sections_end; + } + stp = target->to_sections_end - 2; + + /* "Why do we add bfd_section_vma?", I hear you cry. + Well, the start of the section in the file is actually + that far into the section as the struct vmap understands it. + So for text sections, bfd_section_vma tends to be 0x200, + and if vp->tstart is 0xd0002000, then the first byte of + the text section on disk corresponds to address 0xd0002200. */ + stp->bfd = vp->bfd; + stp->the_bfd_section = bfd_get_section_by_name (stp->bfd, ".text"); + stp->addr = bfd_section_vma (stp->bfd, stp->the_bfd_section) + vp->tstart; + stp->endaddr = bfd_section_vma (stp->bfd, stp->the_bfd_section) + vp->tend; + stp++; + + stp->bfd = vp->bfd; + stp->the_bfd_section = bfd_get_section_by_name (stp->bfd, ".data"); + stp->addr = bfd_section_vma (stp->bfd, stp->the_bfd_section) + vp->dstart; + stp->endaddr = bfd_section_vma (stp->bfd, stp->the_bfd_section) + vp->dend; + } + + vmap_symtab (vp); + + add_text_to_loadinfo ((CORE_ADDR)ldip->ldinfo_textorg, + (CORE_ADDR)ldip->ldinfo_dataorg); + } while (ldip->ldinfo_next != 0); + vmap_exec (); + breakpoint_re_set (); + do_cleanups (old); +} + +int +kernel_u_size () +{ + return (sizeof (struct user)); +} + + +/* Register that we are able to handle rs6000 core file formats. */ + +static struct core_fns rs6000_core_fns = +{ + bfd_target_coff_flavour, + fetch_core_registers, + NULL +}; + +void +_initialize_core_rs6000 () +{ + add_core_fns (&rs6000_core_fns); +} diff --git a/contrib/gdb/gdb/rs6000-tdep.c b/contrib/gdb/gdb/rs6000-tdep.c new file mode 100644 index 0000000000000..614a28264066e --- /dev/null +++ b/contrib/gdb/gdb/rs6000-tdep.c @@ -0,0 +1,1277 @@ +/* Target-dependent code for GDB, the GNU debugger. + Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995 + Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "frame.h" +#include "inferior.h" +#include "symtab.h" +#include "target.h" +#include "gdbcore.h" +#include "symfile.h" +#include "objfiles.h" +#include "xcoffsolib.h" + +extern struct obstack frame_cache_obstack; + +extern int errno; + +/* Nonzero if we just simulated a single step break. */ +int one_stepped; + +/* Breakpoint shadows for the single step instructions will be kept here. */ + +static struct sstep_breaks { + /* Address, or 0 if this is not in use. */ + CORE_ADDR address; + /* Shadow contents. */ + char data[4]; +} stepBreaks[2]; + +/* Static function prototypes */ + +static CORE_ADDR find_toc_address PARAMS ((CORE_ADDR pc)); + +static CORE_ADDR branch_dest PARAMS ((int opcode, int instr, CORE_ADDR pc, + CORE_ADDR safety)); + +static void frame_get_cache_fsr PARAMS ((struct frame_info *fi, + struct rs6000_framedata *fdatap)); + +/* Calculate the destination of a branch/jump. Return -1 if not a branch. */ + +static CORE_ADDR +branch_dest (opcode, instr, pc, safety) + int opcode; + int instr; + CORE_ADDR pc; + CORE_ADDR safety; +{ + register long offset; + CORE_ADDR dest; + int immediate; + int absolute; + int ext_op; + + absolute = (int) ((instr >> 1) & 1); + + switch (opcode) { + case 18 : + immediate = ((instr & ~3) << 6) >> 6; /* br unconditional */ + if (absolute) + dest = immediate; + else + dest = pc + immediate; + break; + + case 16 : + immediate = ((instr & ~3) << 16) >> 16; /* br conditional */ + if (absolute) + dest = immediate; + else + dest = pc + immediate; + break; + + case 19 : + ext_op = (instr>>1) & 0x3ff; + + if (ext_op == 16) /* br conditional register */ + dest = read_register (LR_REGNUM) & ~3; + + else if (ext_op == 528) /* br cond to count reg */ + { + dest = read_register (CTR_REGNUM) & ~3; + + /* If we are about to execute a system call, dest is something + like 0x22fc or 0x3b00. Upon completion the system call + will return to the address in the link register. */ + if (dest < TEXT_SEGMENT_BASE) + dest = read_register (LR_REGNUM) & ~3; + } + else return -1; + break; + + default: return -1; + } + return (dest < TEXT_SEGMENT_BASE) ? safety : dest; +} + + + +/* AIX does not support PT_STEP. Simulate it. */ + +void +single_step (signal) + int signal; +{ +#define INSNLEN(OPCODE) 4 + + static char le_breakp[] = LITTLE_BREAKPOINT; + static char be_breakp[] = BIG_BREAKPOINT; + char *breakp = TARGET_BYTE_ORDER == BIG_ENDIAN ? be_breakp : le_breakp; + int ii, insn; + CORE_ADDR loc; + CORE_ADDR breaks[2]; + int opcode; + + if (!one_stepped) { + loc = read_pc (); + + insn = read_memory_integer (loc, 4); + + breaks[0] = loc + INSNLEN(insn); + opcode = insn >> 26; + breaks[1] = branch_dest (opcode, insn, loc, breaks[0]); + + /* Don't put two breakpoints on the same address. */ + if (breaks[1] == breaks[0]) + breaks[1] = -1; + + stepBreaks[1].address = 0; + + for (ii=0; ii < 2; ++ii) { + + /* ignore invalid breakpoint. */ + if ( breaks[ii] == -1) + continue; + + read_memory (breaks[ii], stepBreaks[ii].data, 4); + + write_memory (breaks[ii], breakp, 4); + stepBreaks[ii].address = breaks[ii]; + } + + one_stepped = 1; + } else { + + /* remove step breakpoints. */ + for (ii=0; ii < 2; ++ii) + if (stepBreaks[ii].address != 0) + write_memory + (stepBreaks[ii].address, stepBreaks[ii].data, 4); + + one_stepped = 0; + } + errno = 0; /* FIXME, don't ignore errors! */ + /* What errors? {read,write}_memory call error(). */ +} + + +/* return pc value after skipping a function prologue and also return + information about a function frame. + + in struct rs6000_frameinfo fdata: + - frameless is TRUE, if function does not have a frame. + - nosavedpc is TRUE, if function does not save %pc value in its frame. + - offset is the number of bytes used in the frame to save registers. + - saved_gpr is the number of the first saved gpr. + - saved_fpr is the number of the first saved fpr. + - alloca_reg is the number of the register used for alloca() handling. + Otherwise -1. + - gpr_offset is the offset of the saved gprs + - fpr_offset is the offset of the saved fprs + - lr_offset is the offset of the saved lr + - cr_offset is the offset of the saved cr + */ + +#define SIGNED_SHORT(x) \ + ((sizeof (short) == 2) \ + ? ((int)(short)(x)) \ + : ((int)((((x) & 0xffff) ^ 0x8000) - 0x8000))) + +#define GET_SRC_REG(x) (((x) >> 21) & 0x1f) + +CORE_ADDR +skip_prologue (pc, fdata) + CORE_ADDR pc; + struct rs6000_framedata *fdata; +{ + CORE_ADDR orig_pc = pc; + char buf[4]; + unsigned long op; + long offset = 0; + int lr_reg = 0; + int cr_reg = 0; + int reg; + int framep = 0; + int minimal_toc_loaded = 0; + static struct rs6000_framedata zero_frame; + + *fdata = zero_frame; + fdata->saved_gpr = -1; + fdata->saved_fpr = -1; + fdata->alloca_reg = -1; + fdata->frameless = 1; + fdata->nosavedpc = 1; + + if (target_read_memory (pc, buf, 4)) + return pc; /* Can't access it -- assume no prologue. */ + + /* Assume that subsequent fetches can fail with low probability. */ + pc -= 4; + for (;;) + { + pc += 4; + op = read_memory_integer (pc, 4); + + if ((op & 0xfc1fffff) == 0x7c0802a6) { /* mflr Rx */ + lr_reg = (op & 0x03e00000) | 0x90010000; + continue; + + } else if ((op & 0xfc1fffff) == 0x7c000026) { /* mfcr Rx */ + cr_reg = (op & 0x03e00000) | 0x90010000; + continue; + + } else if ((op & 0xfc1f0000) == 0xd8010000) { /* stfd Rx,NUM(r1) */ + reg = GET_SRC_REG (op); + if (fdata->saved_fpr == -1 || fdata->saved_fpr > reg) { + fdata->saved_fpr = reg; + fdata->fpr_offset = SIGNED_SHORT (op) + offset; + } + continue; + + } else if (((op & 0xfc1f0000) == 0xbc010000) || /* stm Rx, NUM(r1) */ + ((op & 0xfc1f0000) == 0x90010000 && /* st rx,NUM(r1), rx >= r13 */ + (op & 0x03e00000) >= 0x01a00000)) { + + reg = GET_SRC_REG (op); + if (fdata->saved_gpr == -1 || fdata->saved_gpr > reg) { + fdata->saved_gpr = reg; + fdata->gpr_offset = SIGNED_SHORT (op) + offset; + } + continue; + + } else if ((op & 0xffff0000) == 0x3c000000) { /* addis 0,0,NUM, used for >= 32k frames */ + fdata->offset = (op & 0x0000ffff) << 16; + fdata->frameless = 0; + continue; + + } else if ((op & 0xffff0000) == 0x60000000) { /* ori 0,0,NUM, 2nd half of >= 32k frames */ + fdata->offset |= (op & 0x0000ffff); + fdata->frameless = 0; + continue; + + } else if ((op & 0xffff0000) == lr_reg) { /* st Rx,NUM(r1) where Rx == lr */ + fdata->lr_offset = SIGNED_SHORT (op) + offset; + fdata->nosavedpc = 0; + lr_reg = 0; + continue; + + } else if ((op & 0xffff0000) == cr_reg) { /* st Rx,NUM(r1) where Rx == cr */ + fdata->cr_offset = SIGNED_SHORT (op) + offset; + cr_reg = 0; + continue; + + } else if (op == 0x48000005) { /* bl .+4 used in -mrelocatable */ + continue; + + } else if (op == 0x48000004) { /* b .+4 (xlc) */ + break; + + } else if (((op & 0xffff0000) == 0x801e0000 || /* lwz 0,NUM(r30), used in V.4 -mrelocatable */ + op == 0x7fc0f214) && /* add r30,r0,r30, used in V.4 -mrelocatable */ + lr_reg == 0x901e0000) { + continue; + + } else if ((op & 0xffff0000) == 0x3fc00000 || /* addis 30,0,foo@ha, used in V.4 -mminimal-toc */ + (op & 0xffff0000) == 0x3bde0000) { /* addi 30,30,foo@l */ + continue; + + } else if ((op & 0xfc000000) == 0x48000000) { /* bl foo, to save fprs??? */ + + fdata->frameless = 0; + /* Don't skip over the subroutine call if it is not within the first + three instructions of the prologue. */ + if ((pc - orig_pc) > 8) + break; + + op = read_memory_integer (pc+4, 4); + + /* At this point, make sure this is not a trampoline function + (a function that simply calls another functions, and nothing else). + If the next is not a nop, this branch was part of the function + prologue. */ + + if (op == 0x4def7b82 || op == 0) /* crorc 15, 15, 15 */ + break; /* don't skip over this branch */ + + continue; + + /* update stack pointer */ + } else if ((op & 0xffff0000) == 0x94210000) { /* stu r1,NUM(r1) */ + fdata->frameless = 0; + fdata->offset = SIGNED_SHORT (op); + offset = fdata->offset; + continue; + + } else if (op == 0x7c21016e) { /* stwux 1,1,0 */ + fdata->frameless = 0; + offset = fdata->offset; + continue; + + /* Load up minimal toc pointer */ + } else if ((op >> 22) == 0x20f + && ! minimal_toc_loaded) { /* l r31,... or l r30,... */ + minimal_toc_loaded = 1; + continue; + + /* store parameters in stack */ + } else if ((op & 0xfc1f0000) == 0x90010000 || /* st rx,NUM(r1) */ + (op & 0xfc1f0000) == 0xd8010000 || /* stfd Rx,NUM(r1) */ + (op & 0xfc1f0000) == 0xfc010000) { /* frsp, fp?,NUM(r1) */ + continue; + + /* store parameters in stack via frame pointer */ + } else if (framep && + (op & 0xfc1f0000) == 0x901f0000 || /* st rx,NUM(r1) */ + (op & 0xfc1f0000) == 0xd81f0000 || /* stfd Rx,NUM(r1) */ + (op & 0xfc1f0000) == 0xfc1f0000) { /* frsp, fp?,NUM(r1) */ + continue; + + /* Set up frame pointer */ + } else if (op == 0x603f0000 /* oril r31, r1, 0x0 */ + || op == 0x7c3f0b78) { /* mr r31, r1 */ + fdata->frameless = 0; + framep = 1; + fdata->alloca_reg = 31; + continue; + + /* Another way to set up the frame pointer. */ + } else if ((op & 0xfc1fffff) == 0x38010000) { /* addi rX, r1, 0x0 */ + fdata->frameless = 0; + framep = 1; + fdata->alloca_reg = (op & ~0x38010000) >> 21; + continue; + + } else { + break; + } + } + +#if 0 +/* I have problems with skipping over __main() that I need to address + * sometime. Previously, I used to use misc_function_vector which + * didn't work as well as I wanted to be. -MGO */ + + /* If the first thing after skipping a prolog is a branch to a function, + this might be a call to an initializer in main(), introduced by gcc2. + We'd like to skip over it as well. Fortunately, xlc does some extra + work before calling a function right after a prologue, thus we can + single out such gcc2 behaviour. */ + + + if ((op & 0xfc000001) == 0x48000001) { /* bl foo, an initializer function? */ + op = read_memory_integer (pc+4, 4); + + if (op == 0x4def7b82) { /* cror 0xf, 0xf, 0xf (nop) */ + + /* check and see if we are in main. If so, skip over this initializer + function as well. */ + + tmp = find_pc_misc_function (pc); + if (tmp >= 0 && STREQ (misc_function_vector [tmp].name, "main")) + return pc + 8; + } + } +#endif /* 0 */ + + fdata->offset = - fdata->offset; + return pc; +} + + +/************************************************************************* + Support for creating pushind a dummy frame into the stack, and popping + frames, etc. +*************************************************************************/ + +/* The total size of dummy frame is 436, which is; + + 32 gpr's - 128 bytes + 32 fpr's - 256 " + 7 the rest - 28 " + and 24 extra bytes for the callee's link area. The last 24 bytes + for the link area might not be necessary, since it will be taken + care of by push_arguments(). */ + +#define DUMMY_FRAME_SIZE 436 + +#define DUMMY_FRAME_ADDR_SIZE 10 + +/* Make sure you initialize these in somewhere, in case gdb gives up what it + was debugging and starts debugging something else. FIXMEibm */ + +static int dummy_frame_count = 0; +static int dummy_frame_size = 0; +static CORE_ADDR *dummy_frame_addr = 0; + +extern int stop_stack_dummy; + +/* push a dummy frame into stack, save all register. Currently we are saving + only gpr's and fpr's, which is not good enough! FIXMEmgo */ + +void +push_dummy_frame () +{ + /* stack pointer. */ + CORE_ADDR sp; + /* Same thing, target byte order. */ + char sp_targ[4]; + + /* link register. */ + CORE_ADDR pc; + /* Same thing, target byte order. */ + char pc_targ[4]; + + /* Needed to figure out where to save the dummy link area. + FIXME: There should be an easier way to do this, no? tiemann 9/9/95. */ + struct rs6000_framedata fdata; + + int ii; + + target_fetch_registers (-1); + + if (dummy_frame_count >= dummy_frame_size) { + dummy_frame_size += DUMMY_FRAME_ADDR_SIZE; + if (dummy_frame_addr) + dummy_frame_addr = (CORE_ADDR*) xrealloc + (dummy_frame_addr, sizeof(CORE_ADDR) * (dummy_frame_size)); + else + dummy_frame_addr = (CORE_ADDR*) + xmalloc (sizeof(CORE_ADDR) * (dummy_frame_size)); + } + + sp = read_register(SP_REGNUM); + pc = read_register(PC_REGNUM); + store_address (pc_targ, 4, pc); + + (void) skip_prologue (get_pc_function_start (pc) + FUNCTION_START_OFFSET, &fdata); + + dummy_frame_addr [dummy_frame_count++] = sp; + + /* Be careful! If the stack pointer is not decremented first, then kernel + thinks he is free to use the space underneath it. And kernel actually + uses that area for IPC purposes when executing ptrace(2) calls. So + before writing register values into the new frame, decrement and update + %sp first in order to secure your frame. */ + + /* FIXME: We don't check if the stack really has this much space. + This is a problem on the ppc simulator (which only grants one page + (4096 bytes) by default. */ + + write_register (SP_REGNUM, sp-DUMMY_FRAME_SIZE); + + /* gdb relies on the state of current_frame. We'd better update it, + otherwise things like do_registers_info() wouldn't work properly! */ + + flush_cached_frames (); + + /* save program counter in link register's space. */ + write_memory (sp + (fdata.lr_offset ? fdata.lr_offset : DEFAULT_LR_SAVE), + pc_targ, 4); + + /* save all floating point and general purpose registers here. */ + + /* fpr's, f0..f31 */ + for (ii = 0; ii < 32; ++ii) + write_memory (sp-8-(ii*8), ®isters[REGISTER_BYTE (31-ii+FP0_REGNUM)], 8); + + /* gpr's r0..r31 */ + for (ii=1; ii <=32; ++ii) + write_memory (sp-256-(ii*4), ®isters[REGISTER_BYTE (32-ii)], 4); + + /* so far, 32*2 + 32 words = 384 bytes have been written. + 7 extra registers in our register set: pc, ps, cnd, lr, cnt, xer, mq */ + + for (ii=1; ii <= (LAST_SP_REGNUM-FIRST_SP_REGNUM+1); ++ii) { + write_memory (sp-384-(ii*4), + ®isters[REGISTER_BYTE (FPLAST_REGNUM + ii)], 4); + } + + /* Save sp or so called back chain right here. */ + store_address (sp_targ, 4, sp); + write_memory (sp-DUMMY_FRAME_SIZE, sp_targ, 4); + sp -= DUMMY_FRAME_SIZE; + + /* And finally, this is the back chain. */ + write_memory (sp+8, pc_targ, 4); +} + + +/* Pop a dummy frame. + + In rs6000 when we push a dummy frame, we save all of the registers. This + is usually done before user calls a function explicitly. + + After a dummy frame is pushed, some instructions are copied into stack, + and stack pointer is decremented even more. Since we don't have a frame + pointer to get back to the parent frame of the dummy, we start having + trouble poping it. Therefore, we keep a dummy frame stack, keeping + addresses of dummy frames as such. When poping happens and when we + detect that was a dummy frame, we pop it back to its parent by using + dummy frame stack (`dummy_frame_addr' array). + +FIXME: This whole concept is broken. You should be able to detect +a dummy stack frame *on the user's stack itself*. When you do, +then you know the format of that stack frame -- including its +saved SP register! There should *not* be a separate stack in the +GDB process that keeps track of these dummy frames! -- gnu@cygnus.com Aug92 + */ + +pop_dummy_frame () +{ + CORE_ADDR sp, pc; + int ii; + sp = dummy_frame_addr [--dummy_frame_count]; + + /* restore all fpr's. */ + for (ii = 1; ii <= 32; ++ii) + read_memory (sp-(ii*8), ®isters[REGISTER_BYTE (32-ii+FP0_REGNUM)], 8); + + /* restore all gpr's */ + for (ii=1; ii <= 32; ++ii) { + read_memory (sp-256-(ii*4), ®isters[REGISTER_BYTE (32-ii)], 4); + } + + /* restore the rest of the registers. */ + for (ii=1; ii <=(LAST_SP_REGNUM-FIRST_SP_REGNUM+1); ++ii) + read_memory (sp-384-(ii*4), + ®isters[REGISTER_BYTE (FPLAST_REGNUM + ii)], 4); + + read_memory (sp-(DUMMY_FRAME_SIZE-8), + ®isters [REGISTER_BYTE(PC_REGNUM)], 4); + + /* when a dummy frame was being pushed, we had to decrement %sp first, in + order to secure astack space. Thus, saved %sp (or %r1) value, is not the + one we should restore. Change it with the one we need. */ + + *(int*)®isters [REGISTER_BYTE(FP_REGNUM)] = sp; + + /* Now we can restore all registers. */ + + target_store_registers (-1); + pc = read_pc (); + flush_cached_frames (); +} + + +/* pop the innermost frame, go back to the caller. */ + +void +pop_frame () +{ + CORE_ADDR pc, lr, sp, prev_sp; /* %pc, %lr, %sp */ + struct rs6000_framedata fdata; + struct frame_info *frame = get_current_frame (); + int addr, ii; + + pc = read_pc (); + sp = FRAME_FP (frame); + + if (stop_stack_dummy && dummy_frame_count) { + pop_dummy_frame (); + return; + } + + /* Make sure that all registers are valid. */ + read_register_bytes (0, NULL, REGISTER_BYTES); + + /* figure out previous %pc value. If the function is frameless, it is + still in the link register, otherwise walk the frames and retrieve the + saved %pc value in the previous frame. */ + + addr = get_pc_function_start (frame->pc) + FUNCTION_START_OFFSET; + (void) skip_prologue (addr, &fdata); + + if (fdata.frameless) + prev_sp = sp; + else + prev_sp = read_memory_integer (sp, 4); + if (fdata.lr_offset == 0) + lr = read_register (LR_REGNUM); + else + lr = read_memory_integer (prev_sp + fdata.lr_offset, 4); + + /* reset %pc value. */ + write_register (PC_REGNUM, lr); + + /* reset register values if any was saved earlier. */ + addr = prev_sp - fdata.offset; + + if (fdata.saved_gpr != -1) + for (ii = fdata.saved_gpr; ii <= 31; ++ii) { + read_memory (addr, ®isters [REGISTER_BYTE (ii)], 4); + addr += 4; + } + + if (fdata.saved_fpr != -1) + for (ii = fdata.saved_fpr; ii <= 31; ++ii) { + read_memory (addr, ®isters [REGISTER_BYTE (ii+FP0_REGNUM)], 8); + addr += 8; + } + + write_register (SP_REGNUM, prev_sp); + target_store_registers (-1); + flush_cached_frames (); +} + +/* fixup the call sequence of a dummy function, with the real function address. + its argumets will be passed by gdb. */ + +void +fix_call_dummy (dummyname, pc, fun, nargs, type) + char *dummyname; + CORE_ADDR pc; + CORE_ADDR fun; + int nargs; /* not used */ + int type; /* not used */ +{ +#define TOC_ADDR_OFFSET 20 +#define TARGET_ADDR_OFFSET 28 + + int ii; + CORE_ADDR target_addr; + CORE_ADDR tocvalue; + + target_addr = fun; + tocvalue = find_toc_address (target_addr); + + ii = *(int*)((char*)dummyname + TOC_ADDR_OFFSET); + ii = (ii & 0xffff0000) | (tocvalue >> 16); + *(int*)((char*)dummyname + TOC_ADDR_OFFSET) = ii; + + ii = *(int*)((char*)dummyname + TOC_ADDR_OFFSET+4); + ii = (ii & 0xffff0000) | (tocvalue & 0x0000ffff); + *(int*)((char*)dummyname + TOC_ADDR_OFFSET+4) = ii; + + ii = *(int*)((char*)dummyname + TARGET_ADDR_OFFSET); + ii = (ii & 0xffff0000) | (target_addr >> 16); + *(int*)((char*)dummyname + TARGET_ADDR_OFFSET) = ii; + + ii = *(int*)((char*)dummyname + TARGET_ADDR_OFFSET+4); + ii = (ii & 0xffff0000) | (target_addr & 0x0000ffff); + *(int*)((char*)dummyname + TARGET_ADDR_OFFSET+4) = ii; +} + +/* Pass the arguments in either registers, or in the stack. In RS6000, + the first eight words of the argument list (that might be less than + eight parameters if some parameters occupy more than one word) are + passed in r3..r11 registers. float and double parameters are + passed in fpr's, in addition to that. Rest of the parameters if any + are passed in user stack. There might be cases in which half of the + parameter is copied into registers, the other half is pushed into + stack. + + If the function is returning a structure, then the return address is passed + in r3, then the first 7 words of the parametes can be passed in registers, + starting from r4. */ + +CORE_ADDR +push_arguments (nargs, args, sp, struct_return, struct_addr) + int nargs; + value_ptr *args; + CORE_ADDR sp; + int struct_return; + CORE_ADDR struct_addr; +{ + int ii, len; + int argno; /* current argument number */ + int argbytes; /* current argument byte */ + char tmp_buffer [50]; + int f_argno = 0; /* current floating point argno */ + value_ptr arg; + struct type *type; + + CORE_ADDR saved_sp, pc; + + if ( dummy_frame_count <= 0) + printf_unfiltered ("FATAL ERROR -push_arguments()! frame not found!!\n"); + + /* The first eight words of ther arguments are passed in registers. Copy + them appropriately. + + If the function is returning a `struct', then the first word (which + will be passed in r3) is used for struct return address. In that + case we should advance one word and start from r4 register to copy + parameters. */ + + ii = struct_return ? 1 : 0; + + for (argno=0, argbytes=0; argno < nargs && ii<8; ++ii) { + + arg = args[argno]; + type = check_typedef (VALUE_TYPE (arg)); + len = TYPE_LENGTH (type); + + if (TYPE_CODE (type) == TYPE_CODE_FLT) { + + /* floating point arguments are passed in fpr's, as well as gpr's. + There are 13 fpr's reserved for passing parameters. At this point + there is no way we would run out of them. */ + + if (len > 8) + printf_unfiltered ( +"Fatal Error: a floating point parameter #%d with a size > 8 is found!\n", argno); + + memcpy (®isters[REGISTER_BYTE(FP0_REGNUM + 1 + f_argno)], VALUE_CONTENTS (arg), + len); + ++f_argno; + } + + if (len > 4) { + + /* Argument takes more than one register. */ + while (argbytes < len) { + + *(int*)®isters[REGISTER_BYTE(ii+3)] = 0; + memcpy (®isters[REGISTER_BYTE(ii+3)], + ((char*)VALUE_CONTENTS (arg))+argbytes, + (len - argbytes) > 4 ? 4 : len - argbytes); + ++ii, argbytes += 4; + + if (ii >= 8) + goto ran_out_of_registers_for_arguments; + } + argbytes = 0; + --ii; + } + else { /* Argument can fit in one register. No problem. */ + *(int*)®isters[REGISTER_BYTE(ii+3)] = 0; + memcpy (®isters[REGISTER_BYTE(ii+3)], VALUE_CONTENTS (arg), len); + } + ++argno; + } + +ran_out_of_registers_for_arguments: + + /* location for 8 parameters are always reserved. */ + sp -= 4 * 8; + + /* another six words for back chain, TOC register, link register, etc. */ + sp -= 24; + + /* if there are more arguments, allocate space for them in + the stack, then push them starting from the ninth one. */ + + if ((argno < nargs) || argbytes) { + int space = 0, jj; + + if (argbytes) { + space += ((len - argbytes + 3) & -4); + jj = argno + 1; + } + else + jj = argno; + + for (; jj < nargs; ++jj) { + value_ptr val = args[jj]; + space += ((TYPE_LENGTH (VALUE_TYPE (val))) + 3) & -4; + } + + /* add location required for the rest of the parameters */ + space = (space + 7) & -8; + sp -= space; + + /* This is another instance we need to be concerned about securing our + stack space. If we write anything underneath %sp (r1), we might conflict + with the kernel who thinks he is free to use this area. So, update %sp + first before doing anything else. */ + + write_register (SP_REGNUM, sp); + + /* if the last argument copied into the registers didn't fit there + completely, push the rest of it into stack. */ + + if (argbytes) { + write_memory ( + sp+24+(ii*4), ((char*)VALUE_CONTENTS (arg))+argbytes, len - argbytes); + ++argno; + ii += ((len - argbytes + 3) & -4) / 4; + } + + /* push the rest of the arguments into stack. */ + for (; argno < nargs; ++argno) { + + arg = args[argno]; + type = check_typedef (VALUE_TYPE (arg)); + len = TYPE_LENGTH (type); + + + /* float types should be passed in fpr's, as well as in the stack. */ + if (TYPE_CODE (type) == TYPE_CODE_FLT && f_argno < 13) { + + if (len > 8) + printf_unfiltered ( +"Fatal Error: a floating point parameter #%d with a size > 8 is found!\n", argno); + + memcpy (®isters[REGISTER_BYTE(FP0_REGNUM + 1 + f_argno)], VALUE_CONTENTS (arg), + len); + ++f_argno; + } + + write_memory (sp+24+(ii*4), (char *) VALUE_CONTENTS (arg), len); + ii += ((len + 3) & -4) / 4; + } + } + else + /* Secure stack areas first, before doing anything else. */ + write_register (SP_REGNUM, sp); + + saved_sp = dummy_frame_addr [dummy_frame_count - 1]; + read_memory (saved_sp, tmp_buffer, 24); + write_memory (sp, tmp_buffer, 24); + + /* set back chain properly */ + store_address (tmp_buffer, 4, saved_sp); + write_memory (sp, tmp_buffer, 4); + + target_store_registers (-1); + return sp; +} + +/* a given return value in `regbuf' with a type `valtype', extract and copy its + value into `valbuf' */ + +void +extract_return_value (valtype, regbuf, valbuf) + struct type *valtype; + char regbuf[REGISTER_BYTES]; + char *valbuf; +{ + int offset = 0; + + if (TYPE_CODE (valtype) == TYPE_CODE_FLT) { + + double dd; float ff; + /* floats and doubles are returned in fpr1. fpr's have a size of 8 bytes. + We need to truncate the return value into float size (4 byte) if + necessary. */ + + if (TYPE_LENGTH (valtype) > 4) /* this is a double */ + memcpy (valbuf, ®buf[REGISTER_BYTE (FP0_REGNUM + 1)], + TYPE_LENGTH (valtype)); + else { /* float */ + memcpy (&dd, ®buf[REGISTER_BYTE (FP0_REGNUM + 1)], 8); + ff = (float)dd; + memcpy (valbuf, &ff, sizeof(float)); + } + } + else { + /* return value is copied starting from r3. */ + if (TARGET_BYTE_ORDER == BIG_ENDIAN + && TYPE_LENGTH (valtype) < REGISTER_RAW_SIZE (3)) + offset = REGISTER_RAW_SIZE (3) - TYPE_LENGTH (valtype); + + memcpy (valbuf, regbuf + REGISTER_BYTE (3) + offset, + TYPE_LENGTH (valtype)); + } +} + + +/* keep structure return address in this variable. + FIXME: This is a horrid kludge which should not be allowed to continue + living. This only allows a single nested call to a structure-returning + function. Come on, guys! -- gnu@cygnus.com, Aug 92 */ + +CORE_ADDR rs6000_struct_return_address; + + +/* Indirect function calls use a piece of trampoline code to do context + switching, i.e. to set the new TOC table. Skip such code if we are on + its first instruction (as when we have single-stepped to here). + Also skip shared library trampoline code (which is different from + indirect function call trampolines). + Result is desired PC to step until, or NULL if we are not in + trampoline code. */ + +CORE_ADDR +skip_trampoline_code (pc) + CORE_ADDR pc; +{ + register unsigned int ii, op; + CORE_ADDR solib_target_pc; + + static unsigned trampoline_code[] = { + 0x800b0000, /* l r0,0x0(r11) */ + 0x90410014, /* st r2,0x14(r1) */ + 0x7c0903a6, /* mtctr r0 */ + 0x804b0004, /* l r2,0x4(r11) */ + 0x816b0008, /* l r11,0x8(r11) */ + 0x4e800420, /* bctr */ + 0x4e800020, /* br */ + 0 + }; + + /* If pc is in a shared library trampoline, return its target. */ + solib_target_pc = find_solib_trampoline_target (pc); + if (solib_target_pc) + return solib_target_pc; + + for (ii=0; trampoline_code[ii]; ++ii) { + op = read_memory_integer (pc + (ii*4), 4); + if (op != trampoline_code [ii]) + return 0; + } + ii = read_register (11); /* r11 holds destination addr */ + pc = read_memory_integer (ii, 4); /* (r11) value */ + return pc; +} + +/* Determines whether the function FI has a frame on the stack or not. */ + +int +frameless_function_invocation (fi) + struct frame_info *fi; +{ + CORE_ADDR func_start; + struct rs6000_framedata fdata; + + if (fi->next != NULL) + /* Don't even think about framelessness except on the innermost frame. */ + /* FIXME: Can also be frameless if fi->next->signal_handler_caller (if + a signal happens while executing in a frameless function). */ + return 0; + + func_start = get_pc_function_start (fi->pc) + FUNCTION_START_OFFSET; + + /* If we failed to find the start of the function, it is a mistake + to inspect the instructions. */ + + if (!func_start) + return 0; + + (void) skip_prologue (func_start, &fdata); + return fdata.frameless; +} + +/* Return the PC saved in a frame */ + +unsigned long +frame_saved_pc (fi) + struct frame_info *fi; +{ + CORE_ADDR func_start; + struct rs6000_framedata fdata; + int frameless; + + if (fi->signal_handler_caller) + return read_memory_integer (fi->frame + SIG_FRAME_PC_OFFSET, 4); + + func_start = get_pc_function_start (fi->pc) + FUNCTION_START_OFFSET; + + /* If we failed to find the start of the function, it is a mistake + to inspect the instructions. */ + if (!func_start) + return 0; + + (void) skip_prologue (func_start, &fdata); + + if (fdata.lr_offset == 0 && fi->next != NULL) + return read_memory_integer (rs6000_frame_chain (fi) + DEFAULT_LR_SAVE, 4); + + if (fdata.lr_offset == 0) + return read_register (LR_REGNUM); + + return read_memory_integer (rs6000_frame_chain (fi) + fdata.lr_offset, 4); +} + +/* If saved registers of frame FI are not known yet, read and cache them. + &FDATAP contains rs6000_framedata; TDATAP can be NULL, + in which case the framedata are read. */ + +static void +frame_get_cache_fsr (fi, fdatap) + struct frame_info *fi; + struct rs6000_framedata *fdatap; +{ + int ii; + CORE_ADDR frame_addr; + struct rs6000_framedata work_fdata; + + if (fi->cache_fsr) + return; + + if (fdatap == NULL) { + fdatap = &work_fdata; + (void) skip_prologue (get_pc_function_start (fi->pc), fdatap); + } + + fi->cache_fsr = (struct frame_saved_regs *) + obstack_alloc (&frame_cache_obstack, sizeof (struct frame_saved_regs)); + memset (fi->cache_fsr, '\0', sizeof (struct frame_saved_regs)); + + if (fi->prev && fi->prev->frame) + frame_addr = fi->prev->frame; + else + frame_addr = read_memory_integer (fi->frame, 4); + + /* if != -1, fdatap->saved_fpr is the smallest number of saved_fpr. + All fpr's from saved_fpr to fp31 are saved. */ + + if (fdatap->saved_fpr >= 0) { + int fpr_offset = frame_addr + fdatap->fpr_offset; + for (ii = fdatap->saved_fpr; ii < 32; ii++) { + fi->cache_fsr->regs [FP0_REGNUM + ii] = fpr_offset; + fpr_offset += 8; + } + } + + /* if != -1, fdatap->saved_gpr is the smallest number of saved_gpr. + All gpr's from saved_gpr to gpr31 are saved. */ + + if (fdatap->saved_gpr >= 0) { + int gpr_offset = frame_addr + fdatap->gpr_offset; + for (ii = fdatap->saved_gpr; ii < 32; ii++) { + fi->cache_fsr->regs [ii] = gpr_offset; + gpr_offset += 4; + } + } + + /* If != 0, fdatap->cr_offset is the offset from the frame that holds + the CR. */ + if (fdatap->cr_offset != 0) + fi->cache_fsr->regs [CR_REGNUM] = frame_addr + fdatap->cr_offset; + + /* If != 0, fdatap->lr_offset is the offset from the frame that holds + the LR. */ + if (fdatap->lr_offset != 0) + fi->cache_fsr->regs [LR_REGNUM] = frame_addr + fdatap->lr_offset; +} + +/* Return the address of a frame. This is the inital %sp value when the frame + was first allocated. For functions calling alloca(), it might be saved in + an alloca register. */ + +CORE_ADDR +frame_initial_stack_address (fi) + struct frame_info *fi; +{ + CORE_ADDR tmpaddr; + struct rs6000_framedata fdata; + struct frame_info *callee_fi; + + /* if the initial stack pointer (frame address) of this frame is known, + just return it. */ + + if (fi->initial_sp) + return fi->initial_sp; + + /* find out if this function is using an alloca register.. */ + + (void) skip_prologue (get_pc_function_start (fi->pc), &fdata); + + /* if saved registers of this frame are not known yet, read and cache them. */ + + if (!fi->cache_fsr) + frame_get_cache_fsr (fi, &fdata); + + /* If no alloca register used, then fi->frame is the value of the %sp for + this frame, and it is good enough. */ + + if (fdata.alloca_reg < 0) { + fi->initial_sp = fi->frame; + return fi->initial_sp; + } + + /* This function has an alloca register. If this is the top-most frame + (with the lowest address), the value in alloca register is good. */ + + if (!fi->next) + return fi->initial_sp = read_register (fdata.alloca_reg); + + /* Otherwise, this is a caller frame. Callee has usually already saved + registers, but there are exceptions (such as when the callee + has no parameters). Find the address in which caller's alloca + register is saved. */ + + for (callee_fi = fi->next; callee_fi; callee_fi = callee_fi->next) { + + if (!callee_fi->cache_fsr) + frame_get_cache_fsr (callee_fi, NULL); + + /* this is the address in which alloca register is saved. */ + + tmpaddr = callee_fi->cache_fsr->regs [fdata.alloca_reg]; + if (tmpaddr) { + fi->initial_sp = read_memory_integer (tmpaddr, 4); + return fi->initial_sp; + } + + /* Go look into deeper levels of the frame chain to see if any one of + the callees has saved alloca register. */ + } + + /* If alloca register was not saved, by the callee (or any of its callees) + then the value in the register is still good. */ + + return fi->initial_sp = read_register (fdata.alloca_reg); +} + +CORE_ADDR +rs6000_frame_chain (thisframe) + struct frame_info *thisframe; +{ + CORE_ADDR fp; + if (inside_entry_file ((thisframe)->pc)) + return 0; + if (thisframe->signal_handler_caller) + fp = read_memory_integer (thisframe->frame + SIG_FRAME_FP_OFFSET, 4); + else + fp = read_memory_integer ((thisframe)->frame, 4); + + return fp; +} + +/* Keep an array of load segment information and their TOC table addresses. + This info will be useful when calling a shared library function by hand. */ + +struct loadinfo { + CORE_ADDR textorg, dataorg; + unsigned long toc_offset; +}; + +#define LOADINFOLEN 10 + +static struct loadinfo *loadinfo = NULL; +static int loadinfolen = 0; +static int loadinfotocindex = 0; +static int loadinfotextindex = 0; + + +void +xcoff_init_loadinfo () +{ + loadinfotocindex = 0; + loadinfotextindex = 0; + + if (loadinfolen == 0) { + loadinfo = (struct loadinfo *) + xmalloc (sizeof (struct loadinfo) * LOADINFOLEN); + loadinfolen = LOADINFOLEN; + } +} + + +/* FIXME -- this is never called! */ +void +free_loadinfo () +{ + if (loadinfo) + free (loadinfo); + loadinfo = NULL; + loadinfolen = 0; + loadinfotocindex = 0; + loadinfotextindex = 0; +} + +/* this is called from xcoffread.c */ + +void +xcoff_add_toc_to_loadinfo (tocoff) + unsigned long tocoff; +{ + while (loadinfotocindex >= loadinfolen) { + loadinfolen += LOADINFOLEN; + loadinfo = (struct loadinfo *) + xrealloc (loadinfo, sizeof(struct loadinfo) * loadinfolen); + } + loadinfo [loadinfotocindex++].toc_offset = tocoff; +} + +void +add_text_to_loadinfo (textaddr, dataaddr) + CORE_ADDR textaddr; + CORE_ADDR dataaddr; +{ + while (loadinfotextindex >= loadinfolen) { + loadinfolen += LOADINFOLEN; + loadinfo = (struct loadinfo *) + xrealloc (loadinfo, sizeof(struct loadinfo) * loadinfolen); + } + loadinfo [loadinfotextindex].textorg = textaddr; + loadinfo [loadinfotextindex].dataorg = dataaddr; + ++loadinfotextindex; +} + + +/* Note that this assumes that the "textorg" and "dataorg" elements of + a member of this array are correlated with the "toc_offset" element + of the same member. This is taken care of because the loops which + assign the former (in xcoff_relocate_symtab or xcoff_relocate_core) + and the latter (in scan_xcoff_symtab, via vmap_symtab, in + vmap_ldinfo or xcoff_relocate_core) traverse the same objfiles in + the same order. */ + +static CORE_ADDR +find_toc_address (pc) + CORE_ADDR pc; +{ + int ii, toc_entry, tocbase = 0; + + toc_entry = -1; + for (ii=0; ii < loadinfotextindex; ++ii) + if (pc > loadinfo[ii].textorg && loadinfo[ii].textorg > tocbase) { + toc_entry = ii; + tocbase = loadinfo[ii].textorg; + } + + if (toc_entry == -1) + error ("Unable to find TOC entry for pc 0x%x\n", pc); + return loadinfo[toc_entry].dataorg + loadinfo[toc_entry].toc_offset; +} + +/* Return nonzero if ADDR (a function pointer) is in the data space and + is therefore a special function pointer. */ + +int +is_magic_function_pointer (addr) + CORE_ADDR addr; +{ + struct obj_section *s; + + s = find_pc_section (addr); + if (s && s->the_bfd_section->flags & SEC_CODE) + return 0; + else + return 1; +} + +#ifdef GDB_TARGET_POWERPC +int +gdb_print_insn_powerpc (memaddr, info) + bfd_vma memaddr; + disassemble_info *info; +{ + if (TARGET_BYTE_ORDER == BIG_ENDIAN) + return print_insn_big_powerpc (memaddr, info); + else + return print_insn_little_powerpc (memaddr, info); +} +#endif + +void +_initialize_rs6000_tdep () +{ + /* FIXME, this should not be decided via ifdef. */ +#ifdef GDB_TARGET_POWERPC + tm_print_insn = gdb_print_insn_powerpc; +#else + tm_print_insn = print_insn_rs6000; +#endif +} diff --git a/contrib/gdb/gdb/sh-tdep.c b/contrib/gdb/gdb/sh-tdep.c new file mode 100644 index 0000000000000..20885ecd605d7 --- /dev/null +++ b/contrib/gdb/gdb/sh-tdep.c @@ -0,0 +1,436 @@ +/* Target-dependent code for Hitachi Super-H, for GDB. + Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* + Contributed by Steve Chamberlain + sac@cygnus.com + */ + +#include "defs.h" +#include "frame.h" +#include "obstack.h" +#include "symtab.h" +#include "gdbtypes.h" +#include "gdbcmd.h" +#include "gdbcore.h" +#include "value.h" +#include "dis-asm.h" + +/* Default to the original SH. */ + +#define DEFAULT_SH_TYPE "sh" + +/* This value is the model of SH in use. */ + +char *sh_processor_type; + +char *tmp_sh_processor_type; + +/* A set of original names, to be used when restoring back to generic + registers from a specific set. */ + +char *sh_generic_reg_names[] = REGISTER_NAMES; + +char *sh_reg_names[] = { + "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "pc", "pr", "gbr", "vbr", "mach","macl", "sr", + "fpul", "fpscr", + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "" +}; + +char *sh3_reg_names[] = { + "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "pc", "pr", "gbr", "vbr", "mach","macl","sr", + "fpul", "fpscr", + "fr0", "fr1", "fr2", "fr3", "fr4", "fr5", "fr6", "fr7", + "fr8", "fr9", "fr10","fr11","fr12","fr13","fr14","fr15", + "r0b0", "r1b0", "r2b0", "r3b0", "r4b0", "r5b0", "r6b0", "r7b0", + "r0b1", "r1b1", "r2b1", "r3b1", "r4b1", "r5b1", "r6b1", "r7b1" +}; + +struct { + char *name; + char **regnames; +} sh_processor_type_table[] = { + { "sh", sh_reg_names }, + { "sh3", sh3_reg_names }, + { NULL, NULL } +}; + +/* Prologue looks like + [mov.l <regs>,@-r15]... + [sts.l pr,@-r15] + [mov.l r14,@-r15] + [mov r15,r14] +*/ + +#define IS_STS(x) ((x) == 0x4f22) +#define IS_PUSH(x) (((x) & 0xff0f) == 0x2f06) +#define GET_PUSHED_REG(x) (((x) >> 4) & 0xf) +#define IS_MOV_SP_FP(x) ((x) == 0x6ef3) +#define IS_ADD_SP(x) (((x) & 0xff00) == 0x7f00) +#define IS_MOV_R3(x) (((x) & 0xff00) == 0x1a00) +#define IS_SHLL_R3(x) ((x) == 0x4300) +#define IS_ADD_R3SP(x) ((x) == 0x3f3c) + +/* Skip any prologue before the guts of a function */ + +CORE_ADDR +sh_skip_prologue (start_pc) + CORE_ADDR start_pc; +{ + int w; + + w = read_memory_integer (start_pc, 2); + while (IS_STS (w) + || IS_PUSH (w) + || IS_MOV_SP_FP (w) + || IS_MOV_R3 (w) + || IS_ADD_R3SP (w) + || IS_ADD_SP (w) + || IS_SHLL_R3 (w)) + { + start_pc += 2; + w = read_memory_integer (start_pc, 2); + } + + return start_pc; +} + +/* Disassemble an instruction. */ + +int +gdb_print_insn_sh (memaddr, info) + bfd_vma memaddr; + disassemble_info *info; +{ + if (TARGET_BYTE_ORDER == BIG_ENDIAN) + return print_insn_sh (memaddr, info); + else + return print_insn_shl (memaddr, info); +} + +/* Given a GDB frame, determine the address of the calling function's frame. + This will be used to create a new GDB frame struct, and then + INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. + + For us, the frame address is its stack pointer value, so we look up + the function prologue to determine the caller's sp value, and return it. */ + +CORE_ADDR +sh_frame_chain (frame) + struct frame_info *frame; +{ + if (!inside_entry_file (frame->pc)) + return read_memory_integer (FRAME_FP (frame) + frame->f_offset, 4); + else + return 0; +} + +/* Put here the code to store, into a struct frame_saved_regs, the + addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: the address we + return for it IS the sp for the next frame. */ + +void +frame_find_saved_regs (fi, fsr) + struct frame_info *fi; + struct frame_saved_regs *fsr; +{ + int where[NUM_REGS]; + int rn; + int have_fp = 0; + int depth; + int pc; + int opc; + int insn; + int r3_val = 0; + + opc = pc = get_pc_function_start (fi->pc); + + insn = read_memory_integer (pc, 2); + + fi->leaf_function = 1; + fi->f_offset = 0; + + for (rn = 0; rn < NUM_REGS; rn++) + where[rn] = -1; + + depth = 0; + + /* Loop around examining the prologue insns, but give up + after 15 of them, since we're getting silly then */ + while (pc < opc + 15 * 2) + { + /* See where the registers will be saved to */ + if (IS_PUSH (insn)) + { + pc += 2; + rn = GET_PUSHED_REG (insn); + where[rn] = depth; + insn = read_memory_integer (pc, 2); + depth += 4; + } + else if (IS_STS (insn)) + { + pc += 2; + where[PR_REGNUM] = depth; + insn = read_memory_integer (pc, 2); + /* If we're storing the pr then this isn't a leaf */ + fi->leaf_function = 0; + depth += 4; + } + else if (IS_MOV_R3 (insn)) + { + r3_val = (char) (insn & 0xff); + pc += 2; + insn = read_memory_integer (pc, 2); + } + else if (IS_SHLL_R3 (insn)) + { + r3_val <<= 1; + pc += 2; + insn = read_memory_integer (pc, 2); + } + else if (IS_ADD_R3SP (insn)) + { + depth += -r3_val; + pc += 2; + insn = read_memory_integer (pc, 2); + } + else if (IS_ADD_SP (insn)) + { + pc += 2; + depth += -((char) (insn & 0xff)); + insn = read_memory_integer (pc, 2); + } + else + break; + } + + /* Now we know how deep things are, we can work out their addresses */ + + for (rn = 0; rn < NUM_REGS; rn++) + { + if (where[rn] >= 0) + { + if (rn == FP_REGNUM) + have_fp = 1; + + fsr->regs[rn] = fi->frame - where[rn] + depth - 4; + } + else + { + fsr->regs[rn] = 0; + } + } + + if (have_fp) + { + fsr->regs[SP_REGNUM] = read_memory_integer (fsr->regs[FP_REGNUM], 4); + } + else + { + fsr->regs[SP_REGNUM] = fi->frame - 4; + } + + fi->f_offset = depth - where[FP_REGNUM] - 4; + /* Work out the return pc - either from the saved pr or the pr + value */ + + if (fsr->regs[PR_REGNUM]) + fi->return_pc = read_memory_integer (fsr->regs[PR_REGNUM], 4); + else + fi->return_pc = read_register (PR_REGNUM); +} + +/* initialize the extra info saved in a FRAME */ + +void +init_extra_frame_info (fromleaf, fi) + int fromleaf; + struct frame_info *fi; +{ + struct frame_saved_regs dummy; + + if (fi->next) + fi->pc = fi->next->return_pc; + + frame_find_saved_regs (fi, &dummy); +} + + +/* Discard from the stack the innermost frame, + restoring all saved registers. */ + +void +pop_frame () +{ + register struct frame_info *frame = get_current_frame (); + register CORE_ADDR fp; + register int regnum; + struct frame_saved_regs fsr; + + fp = FRAME_FP (frame); + get_frame_saved_regs (frame, &fsr); + + /* Copy regs from where they were saved in the frame */ + for (regnum = 0; regnum < NUM_REGS; regnum++) + { + if (fsr.regs[regnum]) + { + write_register (regnum, read_memory_integer (fsr.regs[regnum], 4)); + } + } + + write_register (PC_REGNUM, frame->return_pc); + write_register (SP_REGNUM, fp + 4); + flush_cached_frames (); +} + +/* Command to set the processor type. */ + +void +sh_set_processor_type_command (args, from_tty) + char *args; + int from_tty; +{ + int i; + char *temp; + + /* The `set' commands work by setting the value, then calling the hook, + so we let the general command modify a scratch location, then decide + here if we really want to modify the processor type. */ + if (tmp_sh_processor_type == NULL || *tmp_sh_processor_type == '\0') + { + printf_unfiltered ("The known SH processor types are as follows:\n\n"); + for (i = 0; sh_processor_type_table[i].name != NULL; ++i) + printf_unfiltered ("%s\n", sh_processor_type_table[i].name); + + /* Restore the value. */ + tmp_sh_processor_type = strsave (sh_processor_type); + + return; + } + + if (!sh_set_processor_type (tmp_sh_processor_type)) + { + /* Restore to a valid value before erroring out. */ + temp = tmp_sh_processor_type; + tmp_sh_processor_type = strsave (sh_processor_type); + error ("Unknown processor type `%s'.", temp); + } +} + +static void +sh_show_processor_type_command (args, from_tty) + char *args; + int from_tty; +{ +} + +/* Modify the actual processor type. */ + +int +sh_set_processor_type (str) + char *str; +{ + int i, j; + + if (str == NULL) + return 0; + + for (i = 0; sh_processor_type_table[i].name != NULL; ++i) + { + if (strcasecmp (str, sh_processor_type_table[i].name) == 0) + { + sh_processor_type = str; + + for (j = 0; j < NUM_REGS; ++j) + reg_names[j] = sh_processor_type_table[i].regnames[j]; + + return 1; + } + } + + return 0; +} + +/* Print the registers in a form similar to the E7000 */ + +static void +show_regs (args, from_tty) + char *args; + int from_tty; +{ + printf_filtered ("PC=%08x SR=%08x PR=%08x MACH=%08x MACHL=%08x\n", + read_register (PC_REGNUM), + read_register (SR_REGNUM), + read_register (PR_REGNUM), + read_register (MACH_REGNUM), + read_register (MACL_REGNUM)); + + printf_filtered ("R0-R7 %08x %08x %08x %08x %08x %08x %08x %08x\n", + read_register (0), + read_register (1), + read_register (2), + read_register (3), + read_register (4), + read_register (5), + read_register (6), + read_register (7)); + printf_filtered ("R8-R15 %08x %08x %08x %08x %08x %08x %08x %08x\n", + read_register (8), + read_register (9), + read_register (10), + read_register (11), + read_register (12), + read_register (13), + read_register (14), + read_register (15)); +} + +void +_initialize_sh_tdep () +{ + struct cmd_list_element *c; + + tm_print_insn = gdb_print_insn_sh; + + c = add_set_cmd ("processor", class_support, var_string_noescape, + (char *) &tmp_sh_processor_type, + "Set the type of SH processor in use.\n\ +Set this to be able to access processor-type-specific registers.\n\ +", + &setlist); + c->function.cfunc = sh_set_processor_type_command; + c = add_show_from_set (c, &showlist); + c->function.cfunc = sh_show_processor_type_command; + + tmp_sh_processor_type = strsave (DEFAULT_SH_TYPE); + sh_set_processor_type_command (strsave (DEFAULT_SH_TYPE), 0); + + add_com ("regs", class_vars, show_regs, "Print all registers"); +} diff --git a/contrib/gdb/gdb/sh3-rom.c b/contrib/gdb/gdb/sh3-rom.c new file mode 100644 index 0000000000000..b5d77e514d85a --- /dev/null +++ b/contrib/gdb/gdb/sh3-rom.c @@ -0,0 +1,305 @@ +/* Remote target glue for the Hitachi SH-3 ROM monitor. + Copyright 1995, 1996 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "gdbcore.h" +#include "target.h" +#include "monitor.h" +#include "serial.h" +#include "srec.h" + +static serial_t parallel; +static int parallel_in_use; + +static void sh3_open PARAMS ((char *args, int from_tty)); + +static void +sh3_supply_register (regname, regnamelen, val, vallen) + char *regname; + int regnamelen; + char *val; + int vallen; +{ + int numregs; + int regno; + + numregs = 1; + regno = -1; + + if (regnamelen == 2) + { + switch (regname[0]) + { + case 'S': + if (regname[1] == 'R') + regno = SR_REGNUM; + break; + case 'P': + if (regname[1] == 'C') + regno = PC_REGNUM; + else if (regname[1] == 'R') + regno = PR_REGNUM; + break; + } + } + else if (regnamelen == 3) + { + switch (regname[0]) + { + case 'G': + case 'V': + if (regname[1] == 'B' && regname[2] == 'R') + if (regname[0] == 'G') + regno = VBR_REGNUM; + else + regno = GBR_REGNUM; + break; +#if 0 + case 'S': + if (regname[1] == 'S' && regname[2] == 'R') + regno = SSR_REGNUM; + else if (regname[1] == 'P' && regname[2] == 'C') + regno = SPC_REGNUM; + break; +#endif + } + } + else if (regnamelen == 4) + { + switch (regname[0]) + { + case 'M': + if (regname[1] == 'A' && regname[2] == 'C') + if (regname[3] == 'H') + regno = MACH_REGNUM; + else if (regname[3] == 'L') + regno = MACL_REGNUM; + break; + case 'R': + if (regname[1] == '0' && regname[2] == '-' && regname[3] == '7') + { + regno = R0_REGNUM; + numregs = 8; + } + } + } + else if (regnamelen == 5) + { + if (regname[1] == '8' && regname[2] == '-' && regname[3] == '1' + && regname[4] =='5') + { + regno = R0_REGNUM + 8; + numregs = 8; + } + } + + if (regno >= 0) + while (numregs-- > 0) + val = monitor_supply_register (regno++, val); +} + +static void +sh3_load (desc, file, hashmark) + serial_t desc; + char *file; + int hashmark; +{ + if (parallel_in_use) + { + monitor_printf("pl;s\r"); + load_srec (parallel, file, 80, SREC_ALL, hashmark); + monitor_expect_prompt (NULL, 0); + } + else + { + monitor_printf ("il;s:x\r"); + monitor_expect ("\005", NULL, 0); /* Look for ENQ */ + SERIAL_WRITE (desc, "\006", 1); /* Send ACK */ + monitor_expect ("LO x\r", NULL, 0); /* Look for filename */ + + load_srec (desc, file, 80, SREC_ALL, hashmark); + + monitor_expect ("\005", NULL, 0); /* Look for ENQ */ + SERIAL_WRITE (desc, "\006", 1); /* Send ACK */ + monitor_expect_prompt (NULL, 0); + } +} + +/* This array of registers need to match the indexes used by GDB. + This exists because the various ROM monitors use different strings + than does GDB, and don't necessarily support all the registers + either. So, typing "info reg sp" becomes a "r30". */ + +static char *sh3_regnames[NUM_REGS] = { + "R0", "R1", "R2", "R3", "R4", "R5", "R6", "R7", + "R8", "R9", "R10", "R11","R12", "R13", "R14", "R15", + "PC", "PR", "GBR", "VBR","MACH","MACL", "SR", + NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "R0_BANK0", "R1_BANK0", "R2_BANK0", "R3_BANK0", + "R4_BANK0", "R5_BANK0", "R6_BANK0", "R7_BANK0", + "R0_BANK1", "R1_BANK1", "R2_BANK1", "R3_BANK1", + "R4_BANK1", "R5_BANK1", "R6_BANK1", "R7_BANK1" +}; + +/* Define the monitor command strings. Since these are passed directly + through to a printf style function, we may include formatting + strings. We also need a CR or LF on the end. */ + +static struct target_ops sh3_ops; + +static char *sh3_inits[] = {"\003", NULL}; /* Exits sub-command mode & download cmds */ + +static struct monitor_ops sh3_cmds = +{ + MO_CLR_BREAK_USES_ADDR + | MO_GETMEM_READ_SINGLE, /* flags */ + sh3_inits, /* monitor init string */ + "g\r", /* continue command */ + "s\r", /* single step */ + "\003", /* Interrupt program */ + "b %x\r", /* set a breakpoint */ + "b -%x\r", /* clear a breakpoint */ + "b -\r", /* clear all breakpoints */ + "f %x @%x %x\r", /* fill (start len val) */ + { + "m %x %x\r", /* setmem.cmdb (addr, value) */ + "m %x %x;w\r", /* setmem.cmdw (addr, value) */ + "m %x %x;l\r", /* setmem.cmdl (addr, value) */ + NULL, /* setmem.cmdll (addr, value) */ + NULL, /* setreg.resp_delim */ + NULL, /* setreg.term */ + NULL, /* setreg.term_cmd */ + }, + { + "m %x\r", /* getmem.cmdb (addr, len) */ + "m %x;w\r", /* getmem.cmdw (addr, len) */ + "m %x;l\r", /* getmem.cmdl (addr, len) */ + NULL, /* getmem.cmdll (addr, len) */ + "^ [0-9A-F]+ ", /* getmem.resp_delim */ + "? ", /* getmem.term */ + ".\r", /* getmem.term_cmd */ + }, + { + ".%s %x\r", /* setreg.cmd (name, value) */ + NULL, /* setreg.resp_delim */ + NULL, /* setreg.term */ + NULL /* setreg.term_cmd */ + }, + { + ".%s\r", /* getreg.cmd (name) */ + "=", /* getreg.resp_delim */ + "? ", /* getreg.term */ + ".\r" /* getreg.term_cmd */ + }, + "r\r", /* dump_registers */ + /* register_pattern */ + "\\(\\w+\\)=\\([0-9a-fA-F]+\\( +[0-9a-fA-F]+\\b\\)*\\)", + sh3_supply_register, /* supply_register */ + sh3_load, /* load_routine */ + NULL, /* download command */ + NULL, /* Load response */ + "\n:", /* monitor command prompt */ + "\r", /* end-of-line terminator */ + ".\r", /* optional command terminator */ + &sh3_ops, /* target operations */ + SERIAL_1_STOPBITS, /* number of stop bits */ + sh3_regnames, /* registers names */ + MONITOR_OPS_MAGIC /* magic */ +}; + +static void +sh3_open (args, from_tty) + char *args; + int from_tty; +{ + char *serial_port_name = args; + char *parallel_port_name = 0; + + if (args) + { + char *cursor = serial_port_name = strsave (args); + + while (*cursor && *cursor != ' ') + cursor++; + + if (*cursor) + *cursor++ = 0; + + while (*cursor == ' ') + cursor++; + + if (*cursor) + parallel_port_name = cursor; + } + + monitor_open (serial_port_name, &sh3_cmds, from_tty); + + if (parallel_port_name) + { + parallel = SERIAL_OPEN (parallel_port_name); + + if (!parallel) + perror_with_name ("Unable to open parallel port."); + + parallel_in_use = 1; + } + + /* If we connected successfully, we know the processor is an SH3. */ + sh_set_processor_type ("sh3"); +} + + +static void +sh3_close (quitting) + int quitting; +{ + monitor_close (quitting); + if (parallel_in_use) { + SERIAL_CLOSE (parallel); + parallel_in_use = 0; + } +} + +void +_initialize_sh3 () +{ + init_monitor_ops (&sh3_ops); + + sh3_ops.to_shortname = "sh3"; + sh3_ops.to_longname = "Hitachi SH-3 rom monitor"; + + sh3_ops.to_doc = +#ifdef _WINDOWS + /* On windows we can talk through the parallel port too. */ + "Debug on a Hitachi eval board running the SH-3 rom monitor.\n" + "Specify the serial device it is connected to (e.g. com2).\n" + "If you want to use the parallel port to download to it, specify that\n" + "as the second argument. (e.g. lpt1)"; +#else + "Debug on a Hitachi eval board running the SH-3 rom monitor.\n\ +Specify the serial device it is connected to (e.g. /dev/ttya)."; +#endif + + sh3_ops.to_open = sh3_open; + sh3_ops.to_close = sh3_close; + + add_target (&sh3_ops); +} diff --git a/contrib/gdb/gdb/sparc-nat.c b/contrib/gdb/gdb/sparc-nat.c new file mode 100644 index 0000000000000..406238dfd5565 --- /dev/null +++ b/contrib/gdb/gdb/sparc-nat.c @@ -0,0 +1,321 @@ +/* Functions specific to running gdb native on a SPARC running SunOS4. + Copyright 1989, 1992, 1993, 1994, 1996 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" +#include "target.h" +#include "gdbcore.h" + +#include <signal.h> +#include <sys/ptrace.h> +#include <sys/wait.h> +#include <machine/reg.h> +#include <sys/user.h> + +/* We don't store all registers immediately when requested, since they + get sent over in large chunks anyway. Instead, we accumulate most + of the changes and send them over once. "deferred_stores" keeps + track of which sets of registers we have locally-changed copies of, + so we only need send the groups that have changed. */ + +#define INT_REGS 1 +#define STACK_REGS 2 +#define FP_REGS 4 + +/* Fetch one or more registers from the inferior. REGNO == -1 to get + them all. We actually fetch more than requested, when convenient, + marking them as valid so we won't fetch them again. */ + +void +fetch_inferior_registers (regno) + int regno; +{ + struct regs inferior_registers; + struct fp_status inferior_fp_registers; + int i; + + /* We should never be called with deferred stores, because a prerequisite + for writing regs is to have fetched them all (PREPARE_TO_STORE), sigh. */ + if (deferred_stores) abort(); + + DO_DEFERRED_STORES; + + /* Global and Out regs are fetched directly, as well as the control + registers. If we're getting one of the in or local regs, + and the stack pointer has not yet been fetched, + we have to do that first, since they're found in memory relative + to the stack pointer. */ + if (regno < O7_REGNUM /* including -1 */ + || regno >= Y_REGNUM + || (!register_valid[SP_REGNUM] && regno < I7_REGNUM)) + { + if (0 != ptrace (PTRACE_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_registers, 0)) + perror("ptrace_getregs"); + + registers[REGISTER_BYTE (0)] = 0; + memcpy (®isters[REGISTER_BYTE (1)], &inferior_registers.r_g1, + 15 * REGISTER_RAW_SIZE (G0_REGNUM)); + *(int *)®isters[REGISTER_BYTE (PS_REGNUM)] = inferior_registers.r_ps; + *(int *)®isters[REGISTER_BYTE (PC_REGNUM)] = inferior_registers.r_pc; + *(int *)®isters[REGISTER_BYTE (NPC_REGNUM)] = inferior_registers.r_npc; + *(int *)®isters[REGISTER_BYTE (Y_REGNUM)] = inferior_registers.r_y; + + for (i = G0_REGNUM; i <= O7_REGNUM; i++) + register_valid[i] = 1; + register_valid[Y_REGNUM] = 1; + register_valid[PS_REGNUM] = 1; + register_valid[PC_REGNUM] = 1; + register_valid[NPC_REGNUM] = 1; + /* If we don't set these valid, read_register_bytes() rereads + all the regs every time it is called! FIXME. */ + register_valid[WIM_REGNUM] = 1; /* Not true yet, FIXME */ + register_valid[TBR_REGNUM] = 1; /* Not true yet, FIXME */ + register_valid[CPS_REGNUM] = 1; /* Not true yet, FIXME */ + } + + /* Floating point registers */ + if (regno == -1 || + regno == FPS_REGNUM || + (regno >= FP0_REGNUM && regno <= FP0_REGNUM + 31)) + { + if (0 != ptrace (PTRACE_GETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers, + 0)) + perror("ptrace_getfpregs"); + memcpy (®isters[REGISTER_BYTE (FP0_REGNUM)], &inferior_fp_registers, + sizeof inferior_fp_registers.fpu_fr); + memcpy (®isters[REGISTER_BYTE (FPS_REGNUM)], + &inferior_fp_registers.Fpu_fsr, + sizeof (FPU_FSR_TYPE)); + for (i = FP0_REGNUM; i <= FP0_REGNUM+31; i++) + register_valid[i] = 1; + register_valid[FPS_REGNUM] = 1; + } + + /* These regs are saved on the stack by the kernel. Only read them + all (16 ptrace calls!) if we really need them. */ + if (regno == -1) + { + target_xfer_memory (*(CORE_ADDR*)®isters[REGISTER_BYTE (SP_REGNUM)], + ®isters[REGISTER_BYTE (L0_REGNUM)], + 16*REGISTER_RAW_SIZE (L0_REGNUM), 0); + for (i = L0_REGNUM; i <= I7_REGNUM; i++) + register_valid[i] = 1; + } + else if (regno >= L0_REGNUM && regno <= I7_REGNUM) + { + CORE_ADDR sp = *(CORE_ADDR*)®isters[REGISTER_BYTE (SP_REGNUM)]; + i = REGISTER_BYTE (regno); + if (register_valid[regno]) + printf_unfiltered("register %d valid and read\n", regno); + target_xfer_memory (sp + i - REGISTER_BYTE (L0_REGNUM), + ®isters[i], REGISTER_RAW_SIZE (regno), 0); + register_valid[regno] = 1; + } +} + +/* Store our register values back into the inferior. + If REGNO is -1, do this for all registers. + Otherwise, REGNO specifies which register (so we can save time). */ + +void +store_inferior_registers (regno) + int regno; +{ + struct regs inferior_registers; + struct fp_status inferior_fp_registers; + int wanna_store = INT_REGS + STACK_REGS + FP_REGS; + + /* First decide which pieces of machine-state we need to modify. + Default for regno == -1 case is all pieces. */ + if (regno >= 0) + if (FP0_REGNUM <= regno && regno < FP0_REGNUM + 32) + { + wanna_store = FP_REGS; + } + else + { + if (regno == SP_REGNUM) + wanna_store = INT_REGS + STACK_REGS; + else if (regno < L0_REGNUM || regno > I7_REGNUM) + wanna_store = INT_REGS; + else if (regno == FPS_REGNUM) + wanna_store = FP_REGS; + else + wanna_store = STACK_REGS; + } + + /* See if we're forcing the stores to happen now, or deferring. */ + if (regno == -2) + { + wanna_store = deferred_stores; + deferred_stores = 0; + } + else + { + if (wanna_store == STACK_REGS) + { + /* Fall through and just store one stack reg. If we deferred + it, we'd have to store them all, or remember more info. */ + } + else + { + deferred_stores |= wanna_store; + return; + } + } + + if (wanna_store & STACK_REGS) + { + CORE_ADDR sp = *(CORE_ADDR *)®isters[REGISTER_BYTE (SP_REGNUM)]; + + if (regno < 0 || regno == SP_REGNUM) + { + if (!register_valid[L0_REGNUM+5]) abort(); + target_xfer_memory (sp, + ®isters[REGISTER_BYTE (L0_REGNUM)], + 16*REGISTER_RAW_SIZE (L0_REGNUM), 1); + } + else + { + if (!register_valid[regno]) abort(); + target_xfer_memory (sp + REGISTER_BYTE (regno) - REGISTER_BYTE (L0_REGNUM), + ®isters[REGISTER_BYTE (regno)], + REGISTER_RAW_SIZE (regno), 1); + } + + } + + if (wanna_store & INT_REGS) + { + if (!register_valid[G1_REGNUM]) abort(); + + memcpy (&inferior_registers.r_g1, ®isters[REGISTER_BYTE (G1_REGNUM)], + 15 * REGISTER_RAW_SIZE (G1_REGNUM)); + + inferior_registers.r_ps = + *(int *)®isters[REGISTER_BYTE (PS_REGNUM)]; + inferior_registers.r_pc = + *(int *)®isters[REGISTER_BYTE (PC_REGNUM)]; + inferior_registers.r_npc = + *(int *)®isters[REGISTER_BYTE (NPC_REGNUM)]; + inferior_registers.r_y = + *(int *)®isters[REGISTER_BYTE (Y_REGNUM)]; + + if (0 != ptrace (PTRACE_SETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_registers, 0)) + perror("ptrace_setregs"); + } + + if (wanna_store & FP_REGS) + { + if (!register_valid[FP0_REGNUM+9]) abort(); + memcpy (&inferior_fp_registers, ®isters[REGISTER_BYTE (FP0_REGNUM)], + sizeof inferior_fp_registers.fpu_fr); + memcpy (&inferior_fp_registers.Fpu_fsr, + ®isters[REGISTER_BYTE (FPS_REGNUM)], sizeof (FPU_FSR_TYPE)); + if (0 != + ptrace (PTRACE_SETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0)) + perror("ptrace_setfpregs"); + } +} + + +static void +fetch_core_registers (core_reg_sect, core_reg_size, which, ignore) + char *core_reg_sect; + unsigned core_reg_size; + int which; + unsigned int ignore; /* reg addr, unused in this version */ +{ + + if (which == 0) { + + /* Integer registers */ + +#define gregs ((struct regs *)core_reg_sect) + /* G0 *always* holds 0. */ + *(int *)®isters[REGISTER_BYTE (0)] = 0; + + /* The globals and output registers. */ + memcpy (®isters[REGISTER_BYTE (G1_REGNUM)], &gregs->r_g1, + 15 * REGISTER_RAW_SIZE (G1_REGNUM)); + *(int *)®isters[REGISTER_BYTE (PS_REGNUM)] = gregs->r_ps; + *(int *)®isters[REGISTER_BYTE (PC_REGNUM)] = gregs->r_pc; + *(int *)®isters[REGISTER_BYTE (NPC_REGNUM)] = gregs->r_npc; + *(int *)®isters[REGISTER_BYTE (Y_REGNUM)] = gregs->r_y; + + /* My best guess at where to get the locals and input + registers is exactly where they usually are, right above + the stack pointer. If the core dump was caused by a bus error + from blowing away the stack pointer (as is possible) then this + won't work, but it's worth the try. */ + { + int sp; + + sp = *(int *)®isters[REGISTER_BYTE (SP_REGNUM)]; + if (0 != target_read_memory (sp, ®isters[REGISTER_BYTE (L0_REGNUM)], + 16 * REGISTER_RAW_SIZE (L0_REGNUM))) + { + /* fprintf_unfiltered so user can still use gdb */ + fprintf_unfiltered (gdb_stderr, + "Couldn't read input and local registers from core file\n"); + } + } + } else if (which == 2) { + + /* Floating point registers */ + +#define fpuregs ((struct fpu *) core_reg_sect) + if (core_reg_size >= sizeof (struct fpu)) + { + memcpy (®isters[REGISTER_BYTE (FP0_REGNUM)], fpuregs->fpu_regs, + sizeof (fpuregs->fpu_regs)); + memcpy (®isters[REGISTER_BYTE (FPS_REGNUM)], &fpuregs->fpu_fsr, + sizeof (FPU_FSR_TYPE)); + } + else + fprintf_unfiltered (gdb_stderr, "Couldn't read float regs from core file\n"); + } +} + +int +kernel_u_size () +{ + return (sizeof (struct user)); +} + + +/* Register that we are able to handle sparc core file formats. + FIXME: is this really bfd_target_unknown_flavour? */ + +static struct core_fns sparc_core_fns = +{ + bfd_target_unknown_flavour, + fetch_core_registers, + NULL +}; + +void +_initialize_core_sparc () +{ + add_core_fns (&sparc_core_fns); +} diff --git a/contrib/gdb/gdb/sparc-stub.c b/contrib/gdb/gdb/sparc-stub.c new file mode 100644 index 0000000000000..1f04f31955f37 --- /dev/null +++ b/contrib/gdb/gdb/sparc-stub.c @@ -0,0 +1,847 @@ +/**************************************************************************** + + THIS SOFTWARE IS NOT COPYRIGHTED + + HP offers the following for use in the public domain. HP makes no + warranty with regard to the software or it's performance and the + user accepts the software "AS IS" with all faults. + + HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD + TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +****************************************************************************/ + +/**************************************************************************** + * Header: remcom.c,v 1.34 91/03/09 12:29:49 glenne Exp $ + * + * Module name: remcom.c $ + * Revision: 1.34 $ + * Date: 91/03/09 12:29:49 $ + * Contributor: Lake Stevens Instrument Division$ + * + * Description: low level support for gdb debugger. $ + * + * Considerations: only works on target hardware $ + * + * Written by: Glenn Engel $ + * ModuleState: Experimental $ + * + * NOTES: See Below $ + * + * Modified for SPARC by Stu Grossman, Cygnus Support. + * + * This code has been extensively tested on the Fujitsu SPARClite demo board. + * + * To enable debugger support, two things need to happen. One, a + * call to set_debug_traps() is necessary in order to allow any breakpoints + * or error conditions to be properly intercepted and reported to gdb. + * Two, a breakpoint needs to be generated to begin communication. This + * is most easily accomplished by a call to breakpoint(). Breakpoint() + * simulates a breakpoint by executing a trap #1. + * + ************* + * + * The following gdb commands are supported: + * + * command function Return value + * + * g return the value of the CPU registers hex data or ENN + * G set the value of the CPU registers OK or ENN + * + * mAA..AA,LLLL Read LLLL bytes at address AA..AA hex data or ENN + * MAA..AA,LLLL: Write LLLL bytes at address AA.AA OK or ENN + * + * c Resume at current address SNN ( signal NN) + * cAA..AA Continue at address AA..AA SNN + * + * s Step one instruction SNN + * sAA..AA Step one instruction from AA..AA SNN + * + * k kill + * + * ? What was the last sigval ? SNN (signal NN) + * + * bBB..BB Set baud rate to BB..BB OK or BNN, then sets + * baud rate + * + * All commands and responses are sent with a packet which includes a + * checksum. A packet consists of + * + * $<packet info>#<checksum>. + * + * where + * <packet info> :: <characters representing the command or response> + * <checksum> :: < two hex digits computed as modulo 256 sum of <packetinfo>> + * + * When a packet is received, it is first acknowledged with either '+' or '-'. + * '+' indicates a successful transfer. '-' indicates a failed transfer. + * + * Example: + * + * Host: Reply: + * $m0,10#2a +$00010203040506070809101112131415#42 + * + ****************************************************************************/ + +#include <string.h> +#include <signal.h> + +/************************************************************************ + * + * external low-level support routines + */ + +extern putDebugChar(); /* write a single character */ +extern getDebugChar(); /* read and return a single char */ + +/************************************************************************/ +/* BUFMAX defines the maximum number of characters in inbound/outbound buffers*/ +/* at least NUMREGBYTES*2 are needed for register packets */ +#define BUFMAX 2048 + +static int initialized = 0; /* !0 means we've been initialized */ + +static void set_mem_fault_trap(); + +static const char hexchars[]="0123456789abcdef"; + +#define NUMREGS 72 + +/* Number of bytes of registers. */ +#define NUMREGBYTES (NUMREGS * 4) +enum regnames {G0, G1, G2, G3, G4, G5, G6, G7, + O0, O1, O2, O3, O4, O5, SP, O7, + L0, L1, L2, L3, L4, L5, L6, L7, + I0, I1, I2, I3, I4, I5, FP, I7, + + F0, F1, F2, F3, F4, F5, F6, F7, + F8, F9, F10, F11, F12, F13, F14, F15, + F16, F17, F18, F19, F20, F21, F22, F23, + F24, F25, F26, F27, F28, F29, F30, F31, + Y, PSR, WIM, TBR, PC, NPC, FPSR, CPSR }; + +/*************************** ASSEMBLY CODE MACROS *************************/ +/* */ + +extern void trap_low(); + +asm(" + .reserve trapstack, 1000 * 4, \"bss\", 8 + + .data + .align 4 + +in_trap_handler: + .word 0 + + .text + .align 4 + +! This function is called when any SPARC trap (except window overflow or +! underflow) occurs. It makes sure that the invalid register window is still +! available before jumping into C code. It will also restore the world if you +! return from handle_exception. + + .globl _trap_low +_trap_low: + mov %psr, %l0 + mov %wim, %l3 + + srl %l3, %l0, %l4 ! wim >> cwp + cmp %l4, 1 + bne window_fine ! Branch if not in the invalid window + nop + +! Handle window overflow + + mov %g1, %l4 ! Save g1, we use it to hold the wim + srl %l3, 1, %g1 ! Rotate wim right + tst %g1 + bg good_wim ! Branch if new wim is non-zero + nop + +! At this point, we need to bring a 1 into the high order bit of the wim. +! Since we don't want to make any assumptions about the number of register +! windows, we figure it out dynamically so as to setup the wim correctly. + + not %g1 ! Fill g1 with ones + mov %g1, %wim ! Fill the wim with ones + nop + nop + nop + mov %wim, %g1 ! Read back the wim + inc %g1 ! Now g1 has 1 just to left of wim + srl %g1, 1, %g1 ! Now put 1 at top of wim + mov %g0, %wim ! Clear wim so that subsequent save + nop ! won't trap + nop + nop + +good_wim: + save %g0, %g0, %g0 ! Slip into next window + mov %g1, %wim ! Install the new wim + + std %l0, [%sp + 0 * 4] ! save L & I registers + std %l2, [%sp + 2 * 4] + std %l4, [%sp + 4 * 4] + std %l6, [%sp + 6 * 4] + + std %i0, [%sp + 8 * 4] + std %i2, [%sp + 10 * 4] + std %i4, [%sp + 12 * 4] + std %i6, [%sp + 14 * 4] + + restore ! Go back to trap window. + mov %l4, %g1 ! Restore %g1 + +window_fine: + sethi %hi(in_trap_handler), %l4 + ld [%lo(in_trap_handler) + %l4], %l5 + tst %l5 + bg recursive_trap + inc %l5 + + set trapstack+1000*4, %sp ! Switch to trap stack + +recursive_trap: + st %l5, [%lo(in_trap_handler) + %l4] + sub %sp,(16+1+6+1+72)*4,%sp ! Make room for input & locals + ! + hidden arg + arg spill + ! + doubleword alignment + ! + registers[72] local var + + std %g0, [%sp + (24 + 0) * 4] ! registers[Gx] + std %g2, [%sp + (24 + 2) * 4] + std %g4, [%sp + (24 + 4) * 4] + std %g6, [%sp + (24 + 6) * 4] + + std %i0, [%sp + (24 + 8) * 4] ! registers[Ox] + std %i2, [%sp + (24 + 10) * 4] + std %i4, [%sp + (24 + 12) * 4] + std %i6, [%sp + (24 + 14) * 4] + ! F0->F31 not implemented + mov %y, %l4 + mov %tbr, %l5 + st %l4, [%sp + (24 + 64) * 4] ! Y + st %l0, [%sp + (24 + 65) * 4] ! PSR + st %l3, [%sp + (24 + 66) * 4] ! WIM + st %l5, [%sp + (24 + 67) * 4] ! TBR + st %l1, [%sp + (24 + 68) * 4] ! PC + st %l2, [%sp + (24 + 69) * 4] ! NPC + + ! CPSR and FPSR not impl + + or %l0, 0xf20, %l4 + mov %l4, %psr ! Turn on traps, disable interrupts + + call _handle_exception + add %sp, 24 * 4, %o0 ! Pass address of registers + +! Reload all of the registers that aren't on the stack + + ld [%sp + (24 + 1) * 4], %g1 ! registers[Gx] + ldd [%sp + (24 + 2) * 4], %g2 + ldd [%sp + (24 + 4) * 4], %g4 + ldd [%sp + (24 + 6) * 4], %g6 + + ldd [%sp + (24 + 8) * 4], %i0 ! registers[Ox] + ldd [%sp + (24 + 10) * 4], %i2 + ldd [%sp + (24 + 12) * 4], %i4 + ldd [%sp + (24 + 14) * 4], %i6 + + ldd [%sp + (24 + 64) * 4], %l0 ! Y & PSR + ldd [%sp + (24 + 68) * 4], %l2 ! PC & NPC + + restore ! Ensure that previous window is valid + save %g0, %g0, %g0 ! by causing a window_underflow trap + + mov %l0, %y + mov %l1, %psr ! Make sure that traps are disabled + ! for rett + + sethi %hi(in_trap_handler), %l4 + ld [%lo(in_trap_handler) + %l4], %l5 + dec %l5 + st %l5, [%lo(in_trap_handler) + %l4] + + jmpl %l2, %g0 ! Restore old PC + rett %l3 ! Restore old nPC +"); + +/* Convert ch from a hex digit to an int */ + +static int +hex(ch) + unsigned char ch; +{ + if (ch >= 'a' && ch <= 'f') + return ch-'a'+10; + if (ch >= '0' && ch <= '9') + return ch-'0'; + if (ch >= 'A' && ch <= 'F') + return ch-'A'+10; + return -1; +} + +/* scan for the sequence $<data>#<checksum> */ + +static void +getpacket(buffer) + char *buffer; +{ + unsigned char checksum; + unsigned char xmitcsum; + int i; + int count; + unsigned char ch; + + do + { + /* wait around for the start character, ignore all other characters */ + while ((ch = (getDebugChar() & 0x7f)) != '$') ; + + checksum = 0; + xmitcsum = -1; + + count = 0; + + /* now, read until a # or end of buffer is found */ + while (count < BUFMAX) + { + ch = getDebugChar() & 0x7f; + if (ch == '#') + break; + checksum = checksum + ch; + buffer[count] = ch; + count = count + 1; + } + + if (count >= BUFMAX) + continue; + + buffer[count] = 0; + + if (ch == '#') + { + xmitcsum = hex(getDebugChar() & 0x7f) << 4; + xmitcsum |= hex(getDebugChar() & 0x7f); +#if 0 + /* Humans shouldn't have to figure out checksums to type to it. */ + putDebugChar ('+'); + return; +#endif + if (checksum != xmitcsum) + putDebugChar('-'); /* failed checksum */ + else + { + putDebugChar('+'); /* successful transfer */ + /* if a sequence char is present, reply the sequence ID */ + if (buffer[2] == ':') + { + putDebugChar(buffer[0]); + putDebugChar(buffer[1]); + /* remove sequence chars from buffer */ + count = strlen(buffer); + for (i=3; i <= count; i++) + buffer[i-3] = buffer[i]; + } + } + } + } + while (checksum != xmitcsum); +} + +/* send the packet in buffer. */ + +static void +putpacket(buffer) + unsigned char *buffer; +{ + unsigned char checksum; + int count; + unsigned char ch; + + /* $<packet info>#<checksum>. */ + do + { + putDebugChar('$'); + checksum = 0; + count = 0; + + while (ch = buffer[count]) + { + if (! putDebugChar(ch)) + return; + checksum += ch; + count += 1; + } + + putDebugChar('#'); + putDebugChar(hexchars[checksum >> 4]); + putDebugChar(hexchars[checksum & 0xf]); + + } + while ((getDebugChar() & 0x7f) != '+'); +} + +static char remcomInBuffer[BUFMAX]; +static char remcomOutBuffer[BUFMAX]; + +/* Indicate to caller of mem2hex or hex2mem that there has been an + error. */ +static volatile int mem_err = 0; + +/* Convert the memory pointed to by mem into hex, placing result in buf. + * Return a pointer to the last char put in buf (null), in case of mem fault, + * return 0. + * If MAY_FAULT is non-zero, then we will handle memory faults by returning + * a 0, else treat a fault like any other fault in the stub. + */ + +static unsigned char * +mem2hex(mem, buf, count, may_fault) + unsigned char *mem; + unsigned char *buf; + int count; + int may_fault; +{ + unsigned char ch; + + set_mem_fault_trap(may_fault); + + while (count-- > 0) + { + ch = *mem++; + if (mem_err) + return 0; + *buf++ = hexchars[ch >> 4]; + *buf++ = hexchars[ch & 0xf]; + } + + *buf = 0; + + set_mem_fault_trap(0); + + return buf; +} + +/* convert the hex array pointed to by buf into binary to be placed in mem + * return a pointer to the character AFTER the last byte written */ + +static char * +hex2mem(buf, mem, count, may_fault) + unsigned char *buf; + unsigned char *mem; + int count; + int may_fault; +{ + int i; + unsigned char ch; + + set_mem_fault_trap(may_fault); + + for (i=0; i<count; i++) + { + ch = hex(*buf++) << 4; + ch |= hex(*buf++); + *mem++ = ch; + if (mem_err) + return 0; + } + + set_mem_fault_trap(0); + + return mem; +} + +/* This table contains the mapping between SPARC hardware trap types, and + signals, which are primarily what GDB understands. It also indicates + which hardware traps we need to commandeer when initializing the stub. */ + +static struct hard_trap_info +{ + unsigned char tt; /* Trap type code for SPARClite */ + unsigned char signo; /* Signal that we map this trap into */ +} hard_trap_info[] = { + {1, SIGSEGV}, /* instruction access error */ + {2, SIGILL}, /* privileged instruction */ + {3, SIGILL}, /* illegal instruction */ + {4, SIGEMT}, /* fp disabled */ + {36, SIGEMT}, /* cp disabled */ + {7, SIGBUS}, /* mem address not aligned */ + {9, SIGSEGV}, /* data access exception */ + {10, SIGEMT}, /* tag overflow */ + {128+1, SIGTRAP}, /* ta 1 - normal breakpoint instruction */ + {0, 0} /* Must be last */ +}; + +/* Set up exception handlers for tracing and breakpoints */ + +void +set_debug_traps() +{ + struct hard_trap_info *ht; + + for (ht = hard_trap_info; ht->tt && ht->signo; ht++) + exceptionHandler(ht->tt, trap_low); + + /* In case GDB is started before us, ack any packets (presumably + "$?#xx") sitting there. */ + + putDebugChar ('+'); + + initialized = 1; +} + +asm (" +! Trap handler for memory errors. This just sets mem_err to be non-zero. It +! assumes that %l1 is non-zero. This should be safe, as it is doubtful that +! 0 would ever contain code that could mem fault. This routine will skip +! past the faulting instruction after setting mem_err. + + .text + .align 4 + +_fltr_set_mem_err: + sethi %hi(_mem_err), %l0 + st %l1, [%l0 + %lo(_mem_err)] + jmpl %l2, %g0 + rett %l2+4 +"); + +static void +set_mem_fault_trap(enable) + int enable; +{ + extern void fltr_set_mem_err(); + mem_err = 0; + + if (enable) + exceptionHandler(9, fltr_set_mem_err); + else + exceptionHandler(9, trap_low); +} + +/* Convert the SPARC hardware trap type code to a unix signal number. */ + +static int +computeSignal(tt) + int tt; +{ + struct hard_trap_info *ht; + + for (ht = hard_trap_info; ht->tt && ht->signo; ht++) + if (ht->tt == tt) + return ht->signo; + + return SIGHUP; /* default for things we don't know about */ +} + +/* + * While we find nice hex chars, build an int. + * Return number of chars processed. + */ + +static int +hexToInt(char **ptr, int *intValue) +{ + int numChars = 0; + int hexValue; + + *intValue = 0; + + while (**ptr) + { + hexValue = hex(**ptr); + if (hexValue < 0) + break; + + *intValue = (*intValue << 4) | hexValue; + numChars ++; + + (*ptr)++; + } + + return (numChars); +} + +/* + * This function does all command procesing for interfacing to gdb. It + * returns 1 if you should skip the instruction at the trap address, 0 + * otherwise. + */ + +extern void breakinst(); + +static void +handle_exception (registers) + unsigned long *registers; +{ + int tt; /* Trap type */ + int sigval; + int addr; + int length; + char *ptr; + unsigned long *sp; + +/* First, we must force all of the windows to be spilled out */ + + asm(" save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + restore + restore + restore + restore + restore + restore + restore + restore +"); + + if (registers[PC] == (unsigned long)breakinst) + { + registers[PC] = registers[NPC]; + registers[NPC] += 4; + } + + sp = (unsigned long *)registers[SP]; + + tt = (registers[TBR] >> 4) & 0xff; + + /* reply to host that an exception has occurred */ + sigval = computeSignal(tt); + ptr = remcomOutBuffer; + + *ptr++ = 'T'; + *ptr++ = hexchars[sigval >> 4]; + *ptr++ = hexchars[sigval & 0xf]; + + *ptr++ = hexchars[PC >> 4]; + *ptr++ = hexchars[PC & 0xf]; + *ptr++ = ':'; + ptr = mem2hex((char *)®isters[PC], ptr, 4, 0); + *ptr++ = ';'; + + *ptr++ = hexchars[FP >> 4]; + *ptr++ = hexchars[FP & 0xf]; + *ptr++ = ':'; + ptr = mem2hex(sp + 8 + 6, ptr, 4, 0); /* FP */ + *ptr++ = ';'; + + *ptr++ = hexchars[SP >> 4]; + *ptr++ = hexchars[SP & 0xf]; + *ptr++ = ':'; + ptr = mem2hex((char *)&sp, ptr, 4, 0); + *ptr++ = ';'; + + *ptr++ = hexchars[NPC >> 4]; + *ptr++ = hexchars[NPC & 0xf]; + *ptr++ = ':'; + ptr = mem2hex((char *)®isters[NPC], ptr, 4, 0); + *ptr++ = ';'; + + *ptr++ = hexchars[O7 >> 4]; + *ptr++ = hexchars[O7 & 0xf]; + *ptr++ = ':'; + ptr = mem2hex((char *)®isters[O7], ptr, 4, 0); + *ptr++ = ';'; + + *ptr++ = 0; + + putpacket(remcomOutBuffer); + + while (1) + { + remcomOutBuffer[0] = 0; + + getpacket(remcomInBuffer); + switch (remcomInBuffer[0]) + { + case '?': + remcomOutBuffer[0] = 'S'; + remcomOutBuffer[1] = hexchars[sigval >> 4]; + remcomOutBuffer[2] = hexchars[sigval & 0xf]; + remcomOutBuffer[3] = 0; + break; + + case 'd': + /* toggle debug flag */ + break; + + case 'g': /* return the value of the CPU registers */ + { + ptr = remcomOutBuffer; + ptr = mem2hex((char *)registers, ptr, 16 * 4, 0); /* G & O regs */ + ptr = mem2hex(sp + 0, ptr, 16 * 4, 0); /* L & I regs */ + memset(ptr, '0', 32 * 8); /* Floating point */ + mem2hex((char *)®isters[Y], + ptr + 32 * 4 * 2, + 8 * 4, + 0); /* Y, PSR, WIM, TBR, PC, NPC, FPSR, CPSR */ + } + break; + + case 'G': /* set the value of the CPU registers - return OK */ + { + unsigned long *newsp, psr; + + psr = registers[PSR]; + + ptr = &remcomInBuffer[1]; + hex2mem(ptr, (char *)registers, 16 * 4, 0); /* G & O regs */ + hex2mem(ptr + 16 * 4 * 2, sp + 0, 16 * 4, 0); /* L & I regs */ + hex2mem(ptr + 64 * 4 * 2, (char *)®isters[Y], + 8 * 4, 0); /* Y, PSR, WIM, TBR, PC, NPC, FPSR, CPSR */ + + /* See if the stack pointer has moved. If so, then copy the saved + locals and ins to the new location. This keeps the window + overflow and underflow routines happy. */ + + newsp = (unsigned long *)registers[SP]; + if (sp != newsp) + sp = memcpy(newsp, sp, 16 * 4); + + /* Don't allow CWP to be modified. */ + + if (psr != registers[PSR]) + registers[PSR] = (psr & 0x1f) | (registers[PSR] & ~0x1f); + + strcpy(remcomOutBuffer,"OK"); + } + break; + + case 'm': /* mAA..AA,LLLL Read LLLL bytes at address AA..AA */ + /* Try to read %x,%x. */ + + ptr = &remcomInBuffer[1]; + + if (hexToInt(&ptr, &addr) + && *ptr++ == ',' + && hexToInt(&ptr, &length)) + { + if (mem2hex((char *)addr, remcomOutBuffer, length, 1)) + break; + + strcpy (remcomOutBuffer, "E03"); + } + else + strcpy(remcomOutBuffer,"E01"); + break; + + case 'M': /* MAA..AA,LLLL: Write LLLL bytes at address AA.AA return OK */ + /* Try to read '%x,%x:'. */ + + ptr = &remcomInBuffer[1]; + + if (hexToInt(&ptr, &addr) + && *ptr++ == ',' + && hexToInt(&ptr, &length) + && *ptr++ == ':') + { + if (hex2mem(ptr, (char *)addr, length, 1)) + strcpy(remcomOutBuffer, "OK"); + else + strcpy(remcomOutBuffer, "E03"); + } + else + strcpy(remcomOutBuffer, "E02"); + break; + + case 'c': /* cAA..AA Continue at address AA..AA(optional) */ + /* try to read optional parameter, pc unchanged if no parm */ + + ptr = &remcomInBuffer[1]; + if (hexToInt(&ptr, &addr)) + { + registers[PC] = addr; + registers[NPC] = addr + 4; + } + +/* Need to flush the instruction cache here, as we may have deposited a + breakpoint, and the icache probably has no way of knowing that a data ref to + some location may have changed something that is in the instruction cache. + */ + + flush_i_cache(); + return; + + /* kill the program */ + case 'k' : /* do nothing */ + break; +#if 0 + case 't': /* Test feature */ + asm (" std %f30,[%sp]"); + break; +#endif + case 'r': /* Reset */ + asm ("call 0 + nop "); + break; + +#if 0 +Disabled until we can unscrew this properly + + case 'b': /* bBB... Set baud rate to BB... */ + { + int baudrate; + extern void set_timer_3(); + + ptr = &remcomInBuffer[1]; + if (!hexToInt(&ptr, &baudrate)) + { + strcpy(remcomOutBuffer,"B01"); + break; + } + + /* Convert baud rate to uart clock divider */ + switch (baudrate) + { + case 38400: + baudrate = 16; + break; + case 19200: + baudrate = 33; + break; + case 9600: + baudrate = 65; + break; + default: + strcpy(remcomOutBuffer,"B02"); + goto x1; + } + + putpacket("OK"); /* Ack before changing speed */ + set_timer_3(baudrate); /* Set it */ + } +x1: break; +#endif + } /* switch */ + + /* reply to the request */ + putpacket(remcomOutBuffer); + } +} + +/* This function will generate a breakpoint exception. It is used at the + beginning of a program to sync up with a debugger and can be used + otherwise as a quick means to stop program execution and "break" into + the debugger. */ + +void +breakpoint() +{ + if (!initialized) + return; + + asm(" .globl _breakinst + + _breakinst: ta 1 + "); +} diff --git a/contrib/gdb/gdb/sparc-tdep.c b/contrib/gdb/gdb/sparc-tdep.c new file mode 100644 index 0000000000000..c8b7d5c270a5b --- /dev/null +++ b/contrib/gdb/gdb/sparc-tdep.c @@ -0,0 +1,1513 @@ +/* Target-dependent code for the SPARC for GDB, the GNU debugger. + Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995 + Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* ??? Support for calling functions from gdb in sparc64 is unfinished. */ + +#include "defs.h" +#include "frame.h" +#include "inferior.h" +#include "obstack.h" +#include "target.h" +#include "value.h" + +#ifdef USE_PROC_FS +#include <sys/procfs.h> +#endif + +#include "gdbcore.h" + +#ifdef GDB_TARGET_IS_SPARC64 +#define FP_REGISTER_BYTES (64 * 4) +#else +#define FP_REGISTER_BYTES (32 * 4) +#endif + +/* If not defined, assume 32 bit sparc. */ +#ifndef FP_MAX_REGNUM +#define FP_MAX_REGNUM (FP0_REGNUM + 32) +#endif + +#define SPARC_INTREG_SIZE (REGISTER_RAW_SIZE (G0_REGNUM)) + +/* From infrun.c */ +extern int stop_after_trap; + +/* We don't store all registers immediately when requested, since they + get sent over in large chunks anyway. Instead, we accumulate most + of the changes and send them over once. "deferred_stores" keeps + track of which sets of registers we have locally-changed copies of, + so we only need send the groups that have changed. */ + +int deferred_stores = 0; /* Cumulates stores we want to do eventually. */ + +/* Branches with prediction are treated like their non-predicting cousins. */ +/* FIXME: What about floating point branches? */ + +/* Macros to extract fields from sparc instructions. */ +#define X_OP(i) (((i) >> 30) & 0x3) +#define X_RD(i) (((i) >> 25) & 0x1f) +#define X_A(i) (((i) >> 29) & 1) +#define X_COND(i) (((i) >> 25) & 0xf) +#define X_OP2(i) (((i) >> 22) & 0x7) +#define X_IMM22(i) ((i) & 0x3fffff) +#define X_OP3(i) (((i) >> 19) & 0x3f) +#define X_RS1(i) (((i) >> 14) & 0x1f) +#define X_I(i) (((i) >> 13) & 1) +#define X_IMM13(i) ((i) & 0x1fff) +/* Sign extension macros. */ +#define X_SIMM13(i) ((X_IMM13 (i) ^ 0x1000) - 0x1000) +#define X_DISP22(i) ((X_IMM22 (i) ^ 0x200000) - 0x200000) +#ifdef GDB_TARGET_IS_SPARC64 +#define X_CC(i) (((i) >> 20) & 3) +#define X_P(i) (((i) >> 19) & 1) +#define X_DISP19(i) ((((i) & 0x7ffff) ^ 0x40000) - 0x40000) +#define X_RCOND(i) (((i) >> 25) & 7) +#define X_DISP16(i) ((((((i) >> 6) && 0xc000) | ((i) & 0x3fff)) ^ 0x8000) - 0x8000) +#define X_FCN(i) (((i) >> 25) & 31) +#endif + +typedef enum +{ + Error, not_branch, bicc, bicca, ba, baa, ticc, ta, +#ifdef GDB_TARGET_IS_SPARC64 + done_retry +#endif +} branch_type; + +/* Simulate single-step ptrace call for sun4. Code written by Gary + Beihl (beihl@mcc.com). */ + +/* npc4 and next_pc describe the situation at the time that the + step-breakpoint was set, not necessary the current value of NPC_REGNUM. */ +static CORE_ADDR next_pc, npc4, target; +static int brknpc4, brktrg; +typedef char binsn_quantum[BREAKPOINT_MAX]; +static binsn_quantum break_mem[3]; + +/* Non-zero if we just simulated a single-step ptrace call. This is + needed because we cannot remove the breakpoints in the inferior + process until after the `wait' in `wait_for_inferior'. Used for + sun4. */ + +int one_stepped; + +/* single_step() is called just before we want to resume the inferior, + if we want to single-step it but there is no hardware or kernel single-step + support (as on all SPARCs). We find all the possible targets of the + coming instruction and breakpoint them. + + single_step is also called just after the inferior stops. If we had + set up a simulated single-step, we undo our damage. */ + +void +single_step (ignore) + int ignore; /* pid, but we don't need it */ +{ + branch_type br, isbranch(); + CORE_ADDR pc; + long pc_instruction; + + if (!one_stepped) + { + /* Always set breakpoint for NPC. */ + next_pc = read_register (NPC_REGNUM); + npc4 = next_pc + 4; /* branch not taken */ + + target_insert_breakpoint (next_pc, break_mem[0]); + /* printf_unfiltered ("set break at %x\n",next_pc); */ + + pc = read_register (PC_REGNUM); + pc_instruction = read_memory_integer (pc, 4); + br = isbranch (pc_instruction, pc, &target); + brknpc4 = brktrg = 0; + + if (br == bicca) + { + /* Conditional annulled branch will either end up at + npc (if taken) or at npc+4 (if not taken). + Trap npc+4. */ + brknpc4 = 1; + target_insert_breakpoint (npc4, break_mem[1]); + } + else if (br == baa && target != next_pc) + { + /* Unconditional annulled branch will always end up at + the target. */ + brktrg = 1; + target_insert_breakpoint (target, break_mem[2]); + } +#ifdef GDB_TARGET_IS_SPARC64 + else if (br == done_retry) + { + brktrg = 1; + target_insert_breakpoint (target, break_mem[2]); + } +#endif + + /* We are ready to let it go */ + one_stepped = 1; + return; + } + else + { + /* Remove breakpoints */ + target_remove_breakpoint (next_pc, break_mem[0]); + + if (brknpc4) + target_remove_breakpoint (npc4, break_mem[1]); + + if (brktrg) + target_remove_breakpoint (target, break_mem[2]); + + one_stepped = 0; + } +} + +/* Call this for each newly created frame. For SPARC, we need to calculate + the bottom of the frame, and do some extra work if the prologue + has been generated via the -mflat option to GCC. In particular, + we need to know where the previous fp and the pc have been stashed, + since their exact position within the frame may vary. */ + +void +sparc_init_extra_frame_info (fromleaf, fi) + int fromleaf; + struct frame_info *fi; +{ + char *name; + CORE_ADDR addr; + int insn; + + fi->bottom = + (fi->next ? + (fi->frame == fi->next->frame ? fi->next->bottom : fi->next->frame) : + read_register (SP_REGNUM)); + + /* If fi->next is NULL, then we already set ->frame by passing read_fp() + to create_new_frame. */ + if (fi->next) + { + char buf[MAX_REGISTER_RAW_SIZE]; + int err; + + /* Compute ->frame as if not flat. If it is flat, we'll change + it later. */ + /* FIXME: If error reading memory, should just stop backtracing, rather + than error(). */ + get_saved_register (buf, 0, 0, fi, FP_REGNUM, 0); + fi->frame = extract_address (buf, REGISTER_RAW_SIZE (FP_REGNUM)); + } + + /* Decide whether this is a function with a ``flat register window'' + frame. For such functions, the frame pointer is actually in %i7. */ + fi->flat = 0; + if (find_pc_partial_function (fi->pc, &name, &addr, NULL)) + { + /* See if the function starts with an add (which will be of a + negative number if a flat frame) to the sp. FIXME: Does not + handle large frames which will need more than one instruction + to adjust the sp. */ + insn = read_memory_integer (addr, 4); + if (X_OP (insn) == 2 && X_RD (insn) == 14 && X_OP3 (insn) == 0 + && X_I (insn) && X_SIMM13 (insn) < 0) + { + int offset = X_SIMM13 (insn); + + /* Then look for a save of %i7 into the frame. */ + insn = read_memory_integer (addr + 4, 4); + if (X_OP (insn) == 3 + && X_RD (insn) == 31 + && X_OP3 (insn) == 4 + && X_RS1 (insn) == 14) + { + char buf[MAX_REGISTER_RAW_SIZE]; + + /* We definitely have a flat frame now. */ + fi->flat = 1; + + fi->sp_offset = offset; + + /* Overwrite the frame's address with the value in %i7. */ + get_saved_register (buf, 0, 0, fi, I7_REGNUM, 0); + fi->frame = extract_address (buf, REGISTER_RAW_SIZE (I7_REGNUM)); + + /* Record where the fp got saved. */ + fi->fp_addr = fi->frame + fi->sp_offset + X_SIMM13 (insn); + + /* Also try to collect where the pc got saved to. */ + fi->pc_addr = 0; + insn = read_memory_integer (addr + 12, 4); + if (X_OP (insn) == 3 + && X_RD (insn) == 15 + && X_OP3 (insn) == 4 + && X_RS1 (insn) == 14) + fi->pc_addr = fi->frame + fi->sp_offset + X_SIMM13 (insn); + } + } + } + if (fi->next && fi->frame == 0) + { + /* Kludge to cause init_prev_frame_info to destroy the new frame. */ + fi->frame = fi->next->frame; + fi->pc = fi->next->pc; + } +} + +CORE_ADDR +sparc_frame_chain (frame) + struct frame_info *frame; +{ + /* Value that will cause FRAME_CHAIN_VALID to not worry about the chain + value. If it realy is zero, we detect it later in + sparc_init_prev_frame. */ + return (CORE_ADDR)1; +} + +CORE_ADDR +sparc_extract_struct_value_address (regbuf) + char regbuf[REGISTER_BYTES]; +{ +#ifdef GDB_TARGET_IS_SPARC64 + return extract_address (regbuf + REGISTER_BYTE (O0_REGNUM), + REGISTER_RAW_SIZE (O0_REGNUM)); +#else + return read_memory_integer (((int *)(regbuf)) [SP_REGNUM] + (16 * SPARC_INTREG_SIZE), + TARGET_PTR_BIT / TARGET_CHAR_BIT); +#endif +} + +/* Find the pc saved in frame FRAME. */ + +CORE_ADDR +sparc_frame_saved_pc (frame) + struct frame_info *frame; +{ + char buf[MAX_REGISTER_RAW_SIZE]; + CORE_ADDR addr; + + if (frame->signal_handler_caller) + { + /* This is the signal trampoline frame. + Get the saved PC from the sigcontext structure. */ + +#ifndef SIGCONTEXT_PC_OFFSET +#define SIGCONTEXT_PC_OFFSET 12 +#endif + + CORE_ADDR sigcontext_addr; + char scbuf[TARGET_PTR_BIT / HOST_CHAR_BIT]; + int saved_pc_offset = SIGCONTEXT_PC_OFFSET; + char *name = NULL; + + /* Solaris2 ucbsigvechandler passes a pointer to a sigcontext + as the third parameter. The offset to the saved pc is 12. */ + find_pc_partial_function (frame->pc, &name, + (CORE_ADDR *)NULL,(CORE_ADDR *)NULL); + if (name && STREQ (name, "ucbsigvechandler")) + saved_pc_offset = 12; + + /* The sigcontext address is contained in register O2. */ + get_saved_register (buf, (int *)NULL, (CORE_ADDR *)NULL, + frame, O0_REGNUM + 2, (enum lval_type *)NULL); + sigcontext_addr = extract_address (buf, REGISTER_RAW_SIZE (O0_REGNUM + 2)); + + /* Don't cause a memory_error when accessing sigcontext in case the + stack layout has changed or the stack is corrupt. */ + target_read_memory (sigcontext_addr + saved_pc_offset, + scbuf, sizeof (scbuf)); + return extract_address (scbuf, sizeof (scbuf)); + } + if (frame->flat) + addr = frame->pc_addr; + else + addr = frame->bottom + FRAME_SAVED_I0 + + SPARC_INTREG_SIZE * (I7_REGNUM - I0_REGNUM); + + if (addr == 0) + /* A flat frame leaf function might not save the PC anywhere, + just leave it in %o7. */ + return PC_ADJUST (read_register (O7_REGNUM)); + + read_memory (addr, buf, SPARC_INTREG_SIZE); + return PC_ADJUST (extract_address (buf, SPARC_INTREG_SIZE)); +} + +/* Since an individual frame in the frame cache is defined by two + arguments (a frame pointer and a stack pointer), we need two + arguments to get info for an arbitrary stack frame. This routine + takes two arguments and makes the cached frames look as if these + two arguments defined a frame on the cache. This allows the rest + of info frame to extract the important arguments without + difficulty. */ + +struct frame_info * +setup_arbitrary_frame (argc, argv) + int argc; + CORE_ADDR *argv; +{ + struct frame_info *frame; + + if (argc != 2) + error ("Sparc frame specifications require two arguments: fp and sp"); + + frame = create_new_frame (argv[0], 0); + + if (!frame) + fatal ("internal: create_new_frame returned invalid frame"); + + frame->bottom = argv[1]; + frame->pc = FRAME_SAVED_PC (frame); + return frame; +} + +/* Given a pc value, skip it forward past the function prologue by + disassembling instructions that appear to be a prologue. + + If FRAMELESS_P is set, we are only testing to see if the function + is frameless. This allows a quicker answer. + + This routine should be more specific in its actions; making sure + that it uses the same register in the initial prologue section. */ + +static CORE_ADDR examine_prologue PARAMS ((CORE_ADDR, int, struct frame_info *, + struct frame_saved_regs *)); + +static CORE_ADDR +examine_prologue (start_pc, frameless_p, fi, saved_regs) + CORE_ADDR start_pc; + int frameless_p; + struct frame_info *fi; + struct frame_saved_regs *saved_regs; +{ + int insn; + int dest = -1; + CORE_ADDR pc = start_pc; + int is_flat = 0; + + insn = read_memory_integer (pc, 4); + + /* Recognize the `sethi' insn and record its destination. */ + if (X_OP (insn) == 0 && X_OP2 (insn) == 4) + { + dest = X_RD (insn); + pc += 4; + insn = read_memory_integer (pc, 4); + } + + /* Recognize an add immediate value to register to either %g1 or + the destination register recorded above. Actually, this might + well recognize several different arithmetic operations. + It doesn't check that rs1 == rd because in theory "sub %g0, 5, %g1" + followed by "save %sp, %g1, %sp" is a valid prologue (Not that + I imagine any compiler really does that, however). */ + if (X_OP (insn) == 2 + && X_I (insn) + && (X_RD (insn) == 1 || X_RD (insn) == dest)) + { + pc += 4; + insn = read_memory_integer (pc, 4); + } + + /* Recognize any SAVE insn. */ + if (X_OP (insn) == 2 && X_OP3 (insn) == 60) + { + pc += 4; + if (frameless_p) /* If the save is all we care about, */ + return pc; /* return before doing more work */ + insn = read_memory_integer (pc, 4); + } + /* Recognize add to %sp. */ + else if (X_OP (insn) == 2 && X_RD (insn) == 14 && X_OP3 (insn) == 0) + { + pc += 4; + if (frameless_p) /* If the add is all we care about, */ + return pc; /* return before doing more work */ + is_flat = 1; + insn = read_memory_integer (pc, 4); + /* Recognize store of frame pointer (i7). */ + if (X_OP (insn) == 3 + && X_RD (insn) == 31 + && X_OP3 (insn) == 4 + && X_RS1 (insn) == 14) + { + pc += 4; + insn = read_memory_integer (pc, 4); + + /* Recognize sub %sp, <anything>, %i7. */ + if (X_OP (insn) == 2 + && X_OP3 (insn) == 4 + && X_RS1 (insn) == 14 + && X_RD (insn) == 31) + { + pc += 4; + insn = read_memory_integer (pc, 4); + } + else + return pc; + } + else + return pc; + } + else + /* Without a save or add instruction, it's not a prologue. */ + return start_pc; + + while (1) + { + /* Recognize stores into the frame from the input registers. + This recognizes all non alternate stores of input register, + into a location offset from the frame pointer. */ + if ((X_OP (insn) == 3 + && (X_OP3 (insn) & 0x3c) == 4 /* Store, non-alternate. */ + && (X_RD (insn) & 0x18) == 0x18 /* Input register. */ + && X_I (insn) /* Immediate mode. */ + && X_RS1 (insn) == 30 /* Off of frame pointer. */ + /* Into reserved stack space. */ + && X_SIMM13 (insn) >= 0x44 + && X_SIMM13 (insn) < 0x5b)) + ; + else if (is_flat + && X_OP (insn) == 3 + && X_OP3 (insn) == 4 + && X_RS1 (insn) == 14 + ) + { + if (saved_regs && X_I (insn)) + saved_regs->regs[X_RD (insn)] = + fi->frame + fi->sp_offset + X_SIMM13 (insn); + } + else + break; + pc += 4; + insn = read_memory_integer (pc, 4); + } + + return pc; +} + +CORE_ADDR +skip_prologue (start_pc, frameless_p) + CORE_ADDR start_pc; + int frameless_p; +{ + return examine_prologue (start_pc, frameless_p, NULL, NULL); +} + +/* Check instruction at ADDR to see if it is a branch. + All non-annulled instructions will go to NPC or will trap. + Set *TARGET if we find a candidate branch; set to zero if not. + + This isn't static as it's used by remote-sa.sparc.c. */ + +branch_type +isbranch (instruction, addr, target) + long instruction; + CORE_ADDR addr, *target; +{ + branch_type val = not_branch; + long int offset; /* Must be signed for sign-extend. */ + + *target = 0; + + if (X_OP (instruction) == 0 + && (X_OP2 (instruction) == 2 + || X_OP2 (instruction) == 6 +#ifdef GDB_TARGET_IS_SPARC64 + || X_OP2 (instruction) == 1 + || X_OP2 (instruction) == 3 + || X_OP2 (instruction) == 5 +#else + || X_OP2 (instruction) == 7 +#endif + )) + { + if (X_COND (instruction) == 8) + val = X_A (instruction) ? baa : ba; + else + val = X_A (instruction) ? bicca : bicc; + switch (X_OP2 (instruction)) + { + case 2: + case 6: +#ifndef GDB_TARGET_IS_SPARC64 + case 7: +#endif + offset = 4 * X_DISP22 (instruction); + break; +#ifdef GDB_TARGET_IS_SPARC64 + case 1: + case 5: + offset = 4 * X_DISP19 (instruction); + break; + case 3: + offset = 4 * X_DISP16 (instruction); + break; +#endif + } + *target = addr + offset; + } +#ifdef GDB_TARGET_IS_SPARC64 + else if (X_OP (instruction) == 2 + && X_OP3 (instruction) == 62) + { + if (X_FCN (instruction) == 0) + { + /* done */ + *target = read_register (TNPC_REGNUM); + val = done_retry; + } + else if (X_FCN (instruction) == 1) + { + /* retry */ + *target = read_register (TPC_REGNUM); + val = done_retry; + } + } +#endif + + return val; +} + +/* Find register number REGNUM relative to FRAME and put its + (raw) contents in *RAW_BUFFER. Set *OPTIMIZED if the variable + was optimized out (and thus can't be fetched). If the variable + was fetched from memory, set *ADDRP to where it was fetched from, + otherwise it was fetched from a register. + + The argument RAW_BUFFER must point to aligned memory. */ + +void +get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval) + char *raw_buffer; + int *optimized; + CORE_ADDR *addrp; + struct frame_info *frame; + int regnum; + enum lval_type *lval; +{ + struct frame_info *frame1; + CORE_ADDR addr; + + if (!target_has_registers) + error ("No registers."); + + if (optimized) + *optimized = 0; + + addr = 0; + frame1 = frame->next; + while (frame1 != NULL) + { + if (frame1->pc >= (frame1->bottom ? frame1->bottom : + read_register (SP_REGNUM)) + && frame1->pc <= FRAME_FP (frame1)) + { + /* Dummy frame. All but the window regs are in there somewhere. */ + if (regnum >= G1_REGNUM && regnum < G1_REGNUM + 7) + addr = frame1->frame + (regnum - G0_REGNUM) * SPARC_INTREG_SIZE + - (FP_REGISTER_BYTES + 8 * SPARC_INTREG_SIZE); + else if (regnum >= I0_REGNUM && regnum < I0_REGNUM + 8) + addr = frame1->frame + (regnum - I0_REGNUM) * SPARC_INTREG_SIZE + - (FP_REGISTER_BYTES + 16 * SPARC_INTREG_SIZE); + else if (regnum >= FP0_REGNUM && regnum < FP0_REGNUM + 32) + addr = frame1->frame + (regnum - FP0_REGNUM) * 4 + - (FP_REGISTER_BYTES); +#ifdef GDB_TARGET_IS_SPARC64 + else if (regnum >= FP0_REGNUM + 32 && regnum < FP_MAX_REGNUM) + addr = frame1->frame + 32 * 4 + (regnum - FP0_REGNUM - 32) * 8 + - (FP_REGISTER_BYTES); +#endif + else if (regnum >= Y_REGNUM && regnum < NUM_REGS) + addr = frame1->frame + (regnum - Y_REGNUM) * SPARC_INTREG_SIZE + - (FP_REGISTER_BYTES + 24 * SPARC_INTREG_SIZE); + } + else if (frame1->flat) + { + + if (regnum == RP_REGNUM) + addr = frame1->pc_addr; + else if (regnum == I7_REGNUM) + addr = frame1->fp_addr; + else + { + CORE_ADDR func_start; + struct frame_saved_regs regs; + memset (®s, 0, sizeof (regs)); + + find_pc_partial_function (frame1->pc, NULL, &func_start, NULL); + examine_prologue (func_start, 0, frame1, ®s); + addr = regs.regs[regnum]; + } + } + else + { + /* Normal frame. Local and In registers are saved on stack. */ + if (regnum >= I0_REGNUM && regnum < I0_REGNUM + 8) + addr = (frame1->prev->bottom + + (regnum - I0_REGNUM) * SPARC_INTREG_SIZE + + FRAME_SAVED_I0); + else if (regnum >= L0_REGNUM && regnum < L0_REGNUM + 8) + addr = (frame1->prev->bottom + + (regnum - L0_REGNUM) * SPARC_INTREG_SIZE + + FRAME_SAVED_L0); + else if (regnum >= O0_REGNUM && regnum < O0_REGNUM + 8) + { + /* Outs become ins. */ + get_saved_register (raw_buffer, optimized, addrp, frame1, + (regnum - O0_REGNUM + I0_REGNUM), lval); + return; + } + } + if (addr != 0) + break; + frame1 = frame1->next; + } + if (addr != 0) + { + if (lval != NULL) + *lval = lval_memory; + if (regnum == SP_REGNUM) + { + if (raw_buffer != NULL) + { + /* Put it back in target format. */ + store_address (raw_buffer, REGISTER_RAW_SIZE (regnum), addr); + } + if (addrp != NULL) + *addrp = 0; + return; + } + if (raw_buffer != NULL) + read_memory (addr, raw_buffer, REGISTER_RAW_SIZE (regnum)); + } + else + { + if (lval != NULL) + *lval = lval_register; + addr = REGISTER_BYTE (regnum); + if (raw_buffer != NULL) + read_register_gen (regnum, raw_buffer); + } + if (addrp != NULL) + *addrp = addr; +} + +/* Push an empty stack frame, and record in it the current PC, regs, etc. + + We save the non-windowed registers and the ins. The locals and outs + are new; they don't need to be saved. The i's and l's of + the last frame were already saved on the stack. */ + +/* Definitely see tm-sparc.h for more doc of the frame format here. */ + +#ifdef GDB_TARGET_IS_SPARC64 +#define DUMMY_REG_SAVE_OFFSET (128 + 16) +#else +#define DUMMY_REG_SAVE_OFFSET 0x60 +#endif + +/* See tm-sparc.h for how this is calculated. */ +#define DUMMY_STACK_REG_BUF_SIZE \ +(((8+8+8) * SPARC_INTREG_SIZE) + (32 * REGISTER_RAW_SIZE (FP0_REGNUM))) +#define DUMMY_STACK_SIZE (DUMMY_STACK_REG_BUF_SIZE + DUMMY_REG_SAVE_OFFSET) + +void +sparc_push_dummy_frame () +{ + CORE_ADDR sp, old_sp; + char register_temp[DUMMY_STACK_SIZE]; + + old_sp = sp = read_register (SP_REGNUM); + +#ifdef GDB_TARGET_IS_SPARC64 + /* FIXME: not sure what needs to be saved here. */ +#else + /* Y, PS, WIM, TBR, PC, NPC, FPS, CPS regs */ + read_register_bytes (REGISTER_BYTE (Y_REGNUM), ®ister_temp[0], + REGISTER_RAW_SIZE (Y_REGNUM) * 8); +#endif + + read_register_bytes (REGISTER_BYTE (O0_REGNUM), + ®ister_temp[8 * SPARC_INTREG_SIZE], + SPARC_INTREG_SIZE * 8); + + read_register_bytes (REGISTER_BYTE (G0_REGNUM), + ®ister_temp[16 * SPARC_INTREG_SIZE], + SPARC_INTREG_SIZE * 8); + + read_register_bytes (REGISTER_BYTE (FP0_REGNUM), + ®ister_temp[24 * SPARC_INTREG_SIZE], + FP_REGISTER_BYTES); + + sp -= DUMMY_STACK_SIZE; + + write_register (SP_REGNUM, sp); + + write_memory (sp + DUMMY_REG_SAVE_OFFSET, ®ister_temp[0], + DUMMY_STACK_REG_BUF_SIZE); + + write_register (FP_REGNUM, old_sp); + + /* Set return address register for the call dummy to the current PC. */ + write_register (I7_REGNUM, read_pc() - 8); +} + +/* sparc_frame_find_saved_regs (). This function is here only because + pop_frame uses it. Note there is an interesting corner case which + I think few ports of GDB get right--if you are popping a frame + which does not save some register that *is* saved by a more inner + frame (such a frame will never be a dummy frame because dummy + frames save all registers). Rewriting pop_frame to use + get_saved_register would solve this problem and also get rid of the + ugly duplication between sparc_frame_find_saved_regs and + get_saved_register. + + Stores, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. + + Note that on register window machines, we are currently making the + assumption that window registers are being saved somewhere in the + frame in which they are being used. If they are stored in an + inferior frame, find_saved_register will break. + + On the Sun 4, the only time all registers are saved is when + a dummy frame is involved. Otherwise, the only saved registers + are the LOCAL and IN registers which are saved as a result + of the "save/restore" opcodes. This condition is determined + by address rather than by value. + + The "pc" is not stored in a frame on the SPARC. (What is stored + is a return address minus 8.) sparc_pop_frame knows how to + deal with that. Other routines might or might not. + + See tm-sparc.h (PUSH_FRAME and friends) for CRITICAL information + about how this works. */ + +static void sparc_frame_find_saved_regs PARAMS ((struct frame_info *, + struct frame_saved_regs *)); + +static void +sparc_frame_find_saved_regs (fi, saved_regs_addr) + struct frame_info *fi; + struct frame_saved_regs *saved_regs_addr; +{ + register int regnum; + CORE_ADDR frame_addr = FRAME_FP (fi); + + if (!fi) + fatal ("Bad frame info struct in FRAME_FIND_SAVED_REGS"); + + memset (saved_regs_addr, 0, sizeof (*saved_regs_addr)); + + if (fi->pc >= (fi->bottom ? fi->bottom : + read_register (SP_REGNUM)) + && fi->pc <= FRAME_FP(fi)) + { + /* Dummy frame. All but the window regs are in there somewhere. */ + for (regnum = G1_REGNUM; regnum < G1_REGNUM+7; regnum++) + saved_regs_addr->regs[regnum] = + frame_addr + (regnum - G0_REGNUM) * SPARC_INTREG_SIZE + - (FP_REGISTER_BYTES + 8 * SPARC_INTREG_SIZE); + for (regnum = I0_REGNUM; regnum < I0_REGNUM+8; regnum++) + saved_regs_addr->regs[regnum] = + frame_addr + (regnum - I0_REGNUM) * SPARC_INTREG_SIZE + - (FP_REGISTER_BYTES + 16 * SPARC_INTREG_SIZE); + for (regnum = FP0_REGNUM; regnum < FP0_REGNUM + 32; regnum++) + saved_regs_addr->regs[regnum] = + frame_addr + (regnum - FP0_REGNUM) * 4 + - (FP_REGISTER_BYTES); +#ifdef GDB_TARGET_IS_SPARC64 + for (regnum = FP0_REGNUM + 32; regnum < FP_MAX_REGNUM; regnum++) + saved_regs_addr->regs[regnum] = + frame_addr + 32 * 4 + (regnum - FP0_REGNUM - 32) * 8 + - (FP_REGISTER_BYTES); +#endif + for (regnum = Y_REGNUM; regnum < NUM_REGS; regnum++) + saved_regs_addr->regs[regnum] = + frame_addr + (regnum - Y_REGNUM) * SPARC_INTREG_SIZE - 0xe0; + - (FP_REGISTER_BYTES + 24 * SPARC_INTREG_SIZE); + frame_addr = fi->bottom ? + fi->bottom : read_register (SP_REGNUM); + } + else if (fi->flat) + { + CORE_ADDR func_start; + find_pc_partial_function (fi->pc, NULL, &func_start, NULL); + examine_prologue (func_start, 0, fi, saved_regs_addr); + + /* Flat register window frame. */ + saved_regs_addr->regs[RP_REGNUM] = fi->pc_addr; + saved_regs_addr->regs[I7_REGNUM] = fi->fp_addr; + } + else + { + /* Normal frame. Just Local and In registers */ + frame_addr = fi->bottom ? + fi->bottom : read_register (SP_REGNUM); + for (regnum = L0_REGNUM; regnum < L0_REGNUM+8; regnum++) + saved_regs_addr->regs[regnum] = + (frame_addr + (regnum - L0_REGNUM) * SPARC_INTREG_SIZE + + FRAME_SAVED_L0); + for (regnum = I0_REGNUM; regnum < I0_REGNUM+8; regnum++) + saved_regs_addr->regs[regnum] = + (frame_addr + (regnum - I0_REGNUM) * SPARC_INTREG_SIZE + + FRAME_SAVED_I0); + } + if (fi->next) + { + if (fi->flat) + { + saved_regs_addr->regs[O7_REGNUM] = fi->pc_addr; + } + else + { + /* Pull off either the next frame pointer or the stack pointer */ + CORE_ADDR next_next_frame_addr = + (fi->next->bottom ? + fi->next->bottom : + read_register (SP_REGNUM)); + for (regnum = O0_REGNUM; regnum < O0_REGNUM+8; regnum++) + saved_regs_addr->regs[regnum] = + (next_next_frame_addr + + (regnum - O0_REGNUM) * SPARC_INTREG_SIZE + + FRAME_SAVED_I0); + } + } + /* Otherwise, whatever we would get from ptrace(GETREGS) is accurate */ + saved_regs_addr->regs[SP_REGNUM] = FRAME_FP (fi); +} + +/* Discard from the stack the innermost frame, restoring all saved registers. + + Note that the values stored in fsr by get_frame_saved_regs are *in + the context of the called frame*. What this means is that the i + regs of fsr must be restored into the o regs of the (calling) frame that + we pop into. We don't care about the output regs of the calling frame, + since unless it's a dummy frame, it won't have any output regs in it. + + We never have to bother with %l (local) regs, since the called routine's + locals get tossed, and the calling routine's locals are already saved + on its stack. */ + +/* Definitely see tm-sparc.h for more doc of the frame format here. */ + +void +sparc_pop_frame () +{ + register struct frame_info *frame = get_current_frame (); + register CORE_ADDR pc; + struct frame_saved_regs fsr; + char raw_buffer[REGISTER_BYTES]; + int regnum; + + sparc_frame_find_saved_regs (frame, &fsr); + if (fsr.regs[FP0_REGNUM]) + { + read_memory (fsr.regs[FP0_REGNUM], raw_buffer, FP_REGISTER_BYTES); + write_register_bytes (REGISTER_BYTE (FP0_REGNUM), + raw_buffer, FP_REGISTER_BYTES); + } +#ifndef GDB_TARGET_IS_SPARC64 + if (fsr.regs[FPS_REGNUM]) + { + read_memory (fsr.regs[FPS_REGNUM], raw_buffer, 4); + write_register_bytes (REGISTER_BYTE (FPS_REGNUM), raw_buffer, 4); + } + if (fsr.regs[CPS_REGNUM]) + { + read_memory (fsr.regs[CPS_REGNUM], raw_buffer, 4); + write_register_bytes (REGISTER_BYTE (CPS_REGNUM), raw_buffer, 4); + } +#endif + if (fsr.regs[G1_REGNUM]) + { + read_memory (fsr.regs[G1_REGNUM], raw_buffer, 7 * SPARC_INTREG_SIZE); + write_register_bytes (REGISTER_BYTE (G1_REGNUM), raw_buffer, + 7 * SPARC_INTREG_SIZE); + } + + if (frame->flat) + { + /* Each register might or might not have been saved, need to test + individually. */ + for (regnum = L0_REGNUM; regnum < L0_REGNUM + 8; ++regnum) + if (fsr.regs[regnum]) + write_register (regnum, read_memory_integer (fsr.regs[regnum], + SPARC_INTREG_SIZE)); + for (regnum = I0_REGNUM; regnum < I0_REGNUM + 8; ++regnum) + if (fsr.regs[regnum]) + write_register (regnum, read_memory_integer (fsr.regs[regnum], + SPARC_INTREG_SIZE)); + + /* Handle all outs except stack pointer (o0-o5; o7). */ + for (regnum = O0_REGNUM; regnum < O0_REGNUM + 6; ++regnum) + if (fsr.regs[regnum]) + write_register (regnum, read_memory_integer (fsr.regs[regnum], + SPARC_INTREG_SIZE)); + if (fsr.regs[O0_REGNUM + 7]) + write_register (O0_REGNUM + 7, + read_memory_integer (fsr.regs[O0_REGNUM + 7], + SPARC_INTREG_SIZE)); + + write_register (SP_REGNUM, frame->frame); + } + else if (fsr.regs[I0_REGNUM]) + { + CORE_ADDR sp; + + char reg_temp[REGISTER_BYTES]; + + read_memory (fsr.regs[I0_REGNUM], raw_buffer, 8 * SPARC_INTREG_SIZE); + + /* Get the ins and locals which we are about to restore. Just + moving the stack pointer is all that is really needed, except + store_inferior_registers is then going to write the ins and + locals from the registers array, so we need to muck with the + registers array. */ + sp = fsr.regs[SP_REGNUM]; + read_memory (sp, reg_temp, SPARC_INTREG_SIZE * 16); + + /* Restore the out registers. + Among other things this writes the new stack pointer. */ + write_register_bytes (REGISTER_BYTE (O0_REGNUM), raw_buffer, + SPARC_INTREG_SIZE * 8); + + write_register_bytes (REGISTER_BYTE (L0_REGNUM), reg_temp, + SPARC_INTREG_SIZE * 16); + } +#ifndef GDB_TARGET_IS_SPARC64 + if (fsr.regs[PS_REGNUM]) + write_register (PS_REGNUM, read_memory_integer (fsr.regs[PS_REGNUM], 4)); +#endif + if (fsr.regs[Y_REGNUM]) + write_register (Y_REGNUM, read_memory_integer (fsr.regs[Y_REGNUM], REGISTER_RAW_SIZE (Y_REGNUM))); + if (fsr.regs[PC_REGNUM]) + { + /* Explicitly specified PC (and maybe NPC) -- just restore them. */ + write_register (PC_REGNUM, read_memory_integer (fsr.regs[PC_REGNUM], + REGISTER_RAW_SIZE (PC_REGNUM))); + if (fsr.regs[NPC_REGNUM]) + write_register (NPC_REGNUM, + read_memory_integer (fsr.regs[NPC_REGNUM], + REGISTER_RAW_SIZE (NPC_REGNUM))); + } + else if (frame->flat) + { + if (frame->pc_addr) + pc = PC_ADJUST ((CORE_ADDR) + read_memory_integer (frame->pc_addr, + REGISTER_RAW_SIZE (PC_REGNUM))); + else + { + /* I think this happens only in the innermost frame, if so then + it is a complicated way of saying + "pc = read_register (O7_REGNUM);". */ + char buf[MAX_REGISTER_RAW_SIZE]; + get_saved_register (buf, 0, 0, frame, O7_REGNUM, 0); + pc = PC_ADJUST (extract_address + (buf, REGISTER_RAW_SIZE (O7_REGNUM))); + } + + write_register (PC_REGNUM, pc); + write_register (NPC_REGNUM, pc + 4); + } + else if (fsr.regs[I7_REGNUM]) + { + /* Return address in %i7 -- adjust it, then restore PC and NPC from it */ + pc = PC_ADJUST ((CORE_ADDR) read_memory_integer (fsr.regs[I7_REGNUM], + SPARC_INTREG_SIZE)); + write_register (PC_REGNUM, pc); + write_register (NPC_REGNUM, pc + 4); + } + flush_cached_frames (); +} + +/* On the Sun 4 under SunOS, the compile will leave a fake insn which + encodes the structure size being returned. If we detect such + a fake insn, step past it. */ + +CORE_ADDR +sparc_pc_adjust(pc) + CORE_ADDR pc; +{ + unsigned long insn; + char buf[4]; + int err; + + err = target_read_memory (pc + 8, buf, sizeof(long)); + insn = extract_unsigned_integer (buf, 4); + if ((err == 0) && (insn & 0xffc00000) == 0) + return pc+12; + else + return pc+8; +} + +/* If pc is in a shared library trampoline, return its target. + The SunOs 4.x linker rewrites the jump table entries for PIC + compiled modules in the main executable to bypass the dynamic linker + with jumps of the form + sethi %hi(addr),%g1 + jmp %g1+%lo(addr) + and removes the corresponding jump table relocation entry in the + dynamic relocations. + find_solib_trampoline_target relies on the presence of the jump + table relocation entry, so we have to detect these jump instructions + by hand. */ + +CORE_ADDR +sunos4_skip_trampoline_code (pc) + CORE_ADDR pc; +{ + unsigned long insn1; + char buf[4]; + int err; + + err = target_read_memory (pc, buf, 4); + insn1 = extract_unsigned_integer (buf, 4); + if (err == 0 && (insn1 & 0xffc00000) == 0x03000000) + { + unsigned long insn2; + + err = target_read_memory (pc + 4, buf, 4); + insn2 = extract_unsigned_integer (buf, 4); + if (err == 0 && (insn2 & 0xffffe000) == 0x81c06000) + { + CORE_ADDR target_pc = (insn1 & 0x3fffff) << 10; + int delta = insn2 & 0x1fff; + + /* Sign extend the displacement. */ + if (delta & 0x1000) + delta |= ~0x1fff; + return target_pc + delta; + } + } + return find_solib_trampoline_target (pc); +} + +#ifdef USE_PROC_FS /* Target dependent support for /proc */ + +/* The /proc interface divides the target machine's register set up into + two different sets, the general register set (gregset) and the floating + point register set (fpregset). For each set, there is an ioctl to get + the current register set and another ioctl to set the current values. + + The actual structure passed through the ioctl interface is, of course, + naturally machine dependent, and is different for each set of registers. + For the sparc for example, the general register set is typically defined + by: + + typedef int gregset_t[38]; + + #define R_G0 0 + ... + #define R_TBR 37 + + and the floating point set by: + + typedef struct prfpregset { + union { + u_long pr_regs[32]; + double pr_dregs[16]; + } pr_fr; + void * pr_filler; + u_long pr_fsr; + u_char pr_qcnt; + u_char pr_q_entrysize; + u_char pr_en; + u_long pr_q[64]; + } prfpregset_t; + + These routines provide the packing and unpacking of gregset_t and + fpregset_t formatted data. + + */ + +/* Given a pointer to a general register set in /proc format (gregset_t *), + unpack the register contents and supply them as gdb's idea of the current + register values. */ + +void +supply_gregset (gregsetp) +prgregset_t *gregsetp; +{ + register int regi; + register prgreg_t *regp = (prgreg_t *) gregsetp; + static char zerobuf[MAX_REGISTER_RAW_SIZE] = {0}; + + /* GDB register numbers for Gn, On, Ln, In all match /proc reg numbers. */ + for (regi = G0_REGNUM ; regi <= I7_REGNUM ; regi++) + { + supply_register (regi, (char *) (regp + regi)); + } + + /* These require a bit more care. */ + supply_register (PS_REGNUM, (char *) (regp + R_PS)); + supply_register (PC_REGNUM, (char *) (regp + R_PC)); + supply_register (NPC_REGNUM,(char *) (regp + R_nPC)); + supply_register (Y_REGNUM, (char *) (regp + R_Y)); + + /* Fill inaccessible registers with zero. */ + supply_register (WIM_REGNUM, zerobuf); + supply_register (TBR_REGNUM, zerobuf); + supply_register (CPS_REGNUM, zerobuf); +} + +void +fill_gregset (gregsetp, regno) +prgregset_t *gregsetp; +int regno; +{ + int regi; + register prgreg_t *regp = (prgreg_t *) gregsetp; + + for (regi = 0 ; regi <= R_I7 ; regi++) + { + if ((regno == -1) || (regno == regi)) + { + *(regp + regi) = *(int *) ®isters[REGISTER_BYTE (regi)]; + } + } + if ((regno == -1) || (regno == PS_REGNUM)) + { + *(regp + R_PS) = *(int *) ®isters[REGISTER_BYTE (PS_REGNUM)]; + } + if ((regno == -1) || (regno == PC_REGNUM)) + { + *(regp + R_PC) = *(int *) ®isters[REGISTER_BYTE (PC_REGNUM)]; + } + if ((regno == -1) || (regno == NPC_REGNUM)) + { + *(regp + R_nPC) = *(int *) ®isters[REGISTER_BYTE (NPC_REGNUM)]; + } + if ((regno == -1) || (regno == Y_REGNUM)) + { + *(regp + R_Y) = *(int *) ®isters[REGISTER_BYTE (Y_REGNUM)]; + } +} + +#if defined (FP0_REGNUM) + +/* Given a pointer to a floating point register set in /proc format + (fpregset_t *), unpack the register contents and supply them as gdb's + idea of the current floating point register values. */ + +void +supply_fpregset (fpregsetp) +prfpregset_t *fpregsetp; +{ + register int regi; + char *from; + + for (regi = FP0_REGNUM ; regi < FP_MAX_REGNUM ; regi++) + { + from = (char *) &fpregsetp->pr_fr.pr_regs[regi-FP0_REGNUM]; + supply_register (regi, from); + } + supply_register (FPS_REGNUM, (char *) &(fpregsetp->pr_fsr)); +} + +/* Given a pointer to a floating point register set in /proc format + (fpregset_t *), update the register specified by REGNO from gdb's idea + of the current floating point register set. If REGNO is -1, update + them all. */ +/* ??? This will probably need some changes for sparc64. */ + +void +fill_fpregset (fpregsetp, regno) +prfpregset_t *fpregsetp; +int regno; +{ + int regi; + char *to; + char *from; + + for (regi = FP0_REGNUM ; regi < FP_MAX_REGNUM ; regi++) + { + if ((regno == -1) || (regno == regi)) + { + from = (char *) ®isters[REGISTER_BYTE (regi)]; + to = (char *) &fpregsetp->pr_fr.pr_regs[regi-FP0_REGNUM]; + memcpy (to, from, REGISTER_RAW_SIZE (regi)); + } + } + if ((regno == -1) || (regno == FPS_REGNUM)) + { + fpregsetp->pr_fsr = *(int *) ®isters[REGISTER_BYTE (FPS_REGNUM)]; + } +} + +#endif /* defined (FP0_REGNUM) */ + +#endif /* USE_PROC_FS */ + + +#ifdef GET_LONGJMP_TARGET + +/* Figure out where the longjmp will land. We expect that we have just entered + longjmp and haven't yet setup the stack frame, so the args are still in the + output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we + extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. + This routine returns true on success */ + +int +get_longjmp_target (pc) + CORE_ADDR *pc; +{ + CORE_ADDR jb_addr; +#define LONGJMP_TARGET_SIZE 4 + char buf[LONGJMP_TARGET_SIZE]; + + jb_addr = read_register (O0_REGNUM); + + if (target_read_memory (jb_addr + JB_PC * JB_ELEMENT_SIZE, buf, + LONGJMP_TARGET_SIZE)) + return 0; + + *pc = extract_address (buf, LONGJMP_TARGET_SIZE); + + return 1; +} +#endif /* GET_LONGJMP_TARGET */ + +#ifdef STATIC_TRANSFORM_NAME +/* SunPRO (3.0 at least), encodes the static variables. This is not + related to C++ mangling, it is done for C too. */ + +char * +sunpro_static_transform_name (name) + char *name; +{ + char *p; + if (name[0] == '$') + { + /* For file-local statics there will be a dollar sign, a bunch + of junk (the contents of which match a string given in the + N_OPT), a period and the name. For function-local statics + there will be a bunch of junk (which seems to change the + second character from 'A' to 'B'), a period, the name of the + function, and the name. So just skip everything before the + last period. */ + p = strrchr (name, '.'); + if (p != NULL) + name = p + 1; + } + return name; +} +#endif /* STATIC_TRANSFORM_NAME */ + +#ifdef GDB_TARGET_IS_SPARC64 + +/* Utilities for printing registers. + Page numbers refer to the SPARC Architecture Manual. */ + +static void dump_ccreg PARAMS ((char *, int)); + +static void +dump_ccreg (reg, val) + char *reg; + int val; +{ + /* page 41 */ + printf_unfiltered ("%s:%s,%s,%s,%s", reg, + val & 8 ? "N" : "NN", + val & 4 ? "Z" : "NZ", + val & 2 ? "O" : "NO", + val & 1 ? "C" : "NC" + ); +} + +static char * +decode_asi (val) + int val; +{ + /* page 72 */ + switch (val) + { + case 4 : return "ASI_NUCLEUS"; + case 0x0c : return "ASI_NUCLEUS_LITTLE"; + case 0x10 : return "ASI_AS_IF_USER_PRIMARY"; + case 0x11 : return "ASI_AS_IF_USER_SECONDARY"; + case 0x18 : return "ASI_AS_IF_USER_PRIMARY_LITTLE"; + case 0x19 : return "ASI_AS_IF_USER_SECONDARY_LITTLE"; + case 0x80 : return "ASI_PRIMARY"; + case 0x81 : return "ASI_SECONDARY"; + case 0x82 : return "ASI_PRIMARY_NOFAULT"; + case 0x83 : return "ASI_SECONDARY_NOFAULT"; + case 0x88 : return "ASI_PRIMARY_LITTLE"; + case 0x89 : return "ASI_SECONDARY_LITTLE"; + case 0x8a : return "ASI_PRIMARY_NOFAULT_LITTLE"; + case 0x8b : return "ASI_SECONDARY_NOFAULT_LITTLE"; + default : return NULL; + } +} + +/* PRINT_REGISTER_HOOK routine. + Pretty print various registers. */ +/* FIXME: Would be nice if this did some fancy things for 32 bit sparc. */ + +void +sparc_print_register_hook (regno) + int regno; +{ + unsigned LONGEST val; + + /* Handle double/quad versions of lower 32 fp regs. */ + if (regno >= FP0_REGNUM && regno < FP0_REGNUM + 32 + && (regno & 1) == 0) + { + char value[16]; + + if (!read_relative_register_raw_bytes (regno, value) + && !read_relative_register_raw_bytes (regno + 1, value + 4)) + { + printf_unfiltered ("\t"); + print_floating (value, builtin_type_double, gdb_stdout); + } +#if 0 /* FIXME: gdb doesn't handle long doubles */ + if ((regno & 3) == 0) + { + if (!read_relative_register_raw_bytes (regno + 2, value + 8) + && !read_relative_register_raw_bytes (regno + 3, value + 12)) + { + printf_unfiltered ("\t"); + print_floating (value, builtin_type_long_double, gdb_stdout); + } + } +#endif + return; + } + +#if 0 /* FIXME: gdb doesn't handle long doubles */ + /* Print upper fp regs as long double if appropriate. */ + if (regno >= FP0_REGNUM + 32 && regno < FP_MAX_REGNUM + /* We test for even numbered regs and not a multiple of 4 because + the upper fp regs are recorded as doubles. */ + && (regno & 1) == 0) + { + char value[16]; + + if (!read_relative_register_raw_bytes (regno, value) + && !read_relative_register_raw_bytes (regno + 1, value + 8)) + { + printf_unfiltered ("\t"); + print_floating (value, builtin_type_long_double, gdb_stdout); + } + return; + } +#endif + + /* FIXME: Some of these are priviledged registers. + Not sure how they should be handled. */ + +#define BITS(n, mask) ((int) (((val) >> (n)) & (mask))) + + val = read_register (regno); + + /* pages 40 - 60 */ + switch (regno) + { + case CCR_REGNUM : + printf_unfiltered("\t"); + dump_ccreg ("xcc", val >> 4); + printf_unfiltered(", "); + dump_ccreg ("icc", val & 15); + break; + case FPRS_REGNUM : + printf ("\tfef:%d, du:%d, dl:%d", + BITS (2, 1), BITS (1, 1), BITS (0, 1)); + break; + case FSR_REGNUM : + { + static char *fcc[4] = { "=", "<", ">", "?" }; + static char *rd[4] = { "N", "0", "+", "-" }; + /* Long, yes, but I'd rather leave it as is and use a wide screen. */ + printf ("\t0:%s, 1:%s, 2:%s, 3:%s, rd:%s, tem:%d, ns:%d, ver:%d, ftt:%d, qne:%d, aexc:%d, cexc:%d", + fcc[BITS (10, 3)], fcc[BITS (32, 3)], + fcc[BITS (34, 3)], fcc[BITS (36, 3)], + rd[BITS (30, 3)], BITS (23, 31), BITS (22, 1), BITS (17, 7), + BITS (14, 7), BITS (13, 1), BITS (5, 31), BITS (0, 31)); + break; + } + case ASI_REGNUM : + { + char *asi = decode_asi (val); + if (asi != NULL) + printf ("\t%s", asi); + break; + } + case VER_REGNUM : + printf ("\tmanuf:%d, impl:%d, mask:%d, maxtl:%d, maxwin:%d", + BITS (48, 0xffff), BITS (32, 0xffff), + BITS (24, 0xff), BITS (8, 0xff), BITS (0, 31)); + break; + case PSTATE_REGNUM : + { + static char *mm[4] = { "tso", "pso", "rso", "?" }; + printf ("\tcle:%d, tle:%d, mm:%s, red:%d, pef:%d, am:%d, priv:%d, ie:%d, ag:%d", + BITS (9, 1), BITS (8, 1), mm[BITS (6, 3)], BITS (5, 1), + BITS (4, 1), BITS (3, 1), BITS (2, 1), BITS (1, 1), + BITS (0, 1)); + break; + } + case TSTATE_REGNUM : + /* FIXME: print all 4? */ + break; + case TT_REGNUM : + /* FIXME: print all 4? */ + break; + case TPC_REGNUM : + /* FIXME: print all 4? */ + break; + case TNPC_REGNUM : + /* FIXME: print all 4? */ + break; + case WSTATE_REGNUM : + printf ("\tother:%d, normal:%d", BITS (3, 7), BITS (0, 7)); + break; + case CWP_REGNUM : + printf ("\t%d", BITS (0, 31)); + break; + case CANSAVE_REGNUM : + printf ("\t%-2d before spill", BITS (0, 31)); + break; + case CANRESTORE_REGNUM : + printf ("\t%-2d before fill", BITS (0, 31)); + break; + case CLEANWIN_REGNUM : + printf ("\t%-2d before clean", BITS (0, 31)); + break; + case OTHERWIN_REGNUM : + printf ("\t%d", BITS (0, 31)); + break; + } + +#undef BITS +} + +#endif + +void +_initialize_sparc_tdep () +{ + tm_print_insn = print_insn_sparc; +} diff --git a/contrib/gdb/gdb/sparcl-stub.c b/contrib/gdb/gdb/sparcl-stub.c new file mode 100644 index 0000000000000..c7994fe5d5208 --- /dev/null +++ b/contrib/gdb/gdb/sparcl-stub.c @@ -0,0 +1,1024 @@ +/**************************************************************************** + + THIS SOFTWARE IS NOT COPYRIGHTED + + HP offers the following for use in the public domain. HP makes no + warranty with regard to the software or it's performance and the + user accepts the software "AS IS" with all faults. + + HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD + TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +****************************************************************************/ + +/**************************************************************************** + * Header: remcom.c,v 1.34 91/03/09 12:29:49 glenne Exp $ + * + * Module name: remcom.c $ + * Revision: 1.34 $ + * Date: 91/03/09 12:29:49 $ + * Contributor: Lake Stevens Instrument Division$ + * + * Description: low level support for gdb debugger. $ + * + * Considerations: only works on target hardware $ + * + * Written by: Glenn Engel $ + * ModuleState: Experimental $ + * + * NOTES: See Below $ + * + * Modified for SPARC by Stu Grossman, Cygnus Support. + * Based on sparc-stub.c, it's modified for SPARClite Debug Unit hardware + * breakpoint support to create sparclite-stub.c, by Kung Hsu, Cygnus Support. + * + * This code has been extensively tested on the Fujitsu SPARClite demo board. + * + * To enable debugger support, two things need to happen. One, a + * call to set_debug_traps() is necessary in order to allow any breakpoints + * or error conditions to be properly intercepted and reported to gdb. + * Two, a breakpoint needs to be generated to begin communication. This + * is most easily accomplished by a call to breakpoint(). Breakpoint() + * simulates a breakpoint by executing a trap #1. + * + ************* + * + * The following gdb commands are supported: + * + * command function Return value + * + * g return the value of the CPU registers hex data or ENN + * G set the value of the CPU registers OK or ENN + * + * mAA..AA,LLLL Read LLLL bytes at address AA..AA hex data or ENN + * MAA..AA,LLLL: Write LLLL bytes at address AA.AA OK or ENN + * + * c Resume at current address SNN ( signal NN) + * cAA..AA Continue at address AA..AA SNN + * + * s Step one instruction SNN + * sAA..AA Step one instruction from AA..AA SNN + * + * k kill + * + * ? What was the last sigval ? SNN (signal NN) + * + * bBB..BB Set baud rate to BB..BB OK or BNN, then sets + * baud rate + * + * All commands and responses are sent with a packet which includes a + * checksum. A packet consists of + * + * $<packet info>#<checksum>. + * + * where + * <packet info> :: <characters representing the command or response> + * <checksum> :: < two hex digits computed as modulo 256 sum of <packetinfo>> + * + * When a packet is received, it is first acknowledged with either '+' or '-'. + * '+' indicates a successful transfer. '-' indicates a failed transfer. + * + * Example: + * + * Host: Reply: + * $m0,10#2a +$00010203040506070809101112131415#42 + * + ****************************************************************************/ + +#include <string.h> +#include <signal.h> +#include <sparclite.h> + +/************************************************************************ + * + * external low-level support routines + */ + +extern void putDebugChar (int c); /* write a single character */ +extern int getDebugChar (void); /* read and return a single char */ + +/************************************************************************/ +/* BUFMAX defines the maximum number of characters in inbound/outbound buffers*/ +/* at least NUMREGBYTES*2 are needed for register packets */ +#define BUFMAX 2048 + +static int initialized = 0; /* !0 means we've been initialized */ + +extern void breakinst (); +static void set_mem_fault_trap (int enable); +static void get_in_break_mode (void); + +static const char hexchars[]="0123456789abcdef"; + +#define NUMREGS 80 + +/* Number of bytes of registers. */ +#define NUMREGBYTES (NUMREGS * 4) +enum regnames {G0, G1, G2, G3, G4, G5, G6, G7, + O0, O1, O2, O3, O4, O5, SP, O7, + L0, L1, L2, L3, L4, L5, L6, L7, + I0, I1, I2, I3, I4, I5, FP, I7, + + F0, F1, F2, F3, F4, F5, F6, F7, + F8, F9, F10, F11, F12, F13, F14, F15, + F16, F17, F18, F19, F20, F21, F22, F23, + F24, F25, F26, F27, F28, F29, F30, F31, + Y, PSR, WIM, TBR, PC, NPC, FPSR, CPSR, + DIA1, DIA2, DDA1, DDA2, DDV1, DDV2, DCR, DSR }; + +/*************************** ASSEMBLY CODE MACROS *************************/ +/* */ + +extern void trap_low(); + +/* Create private copies of common functions used by the stub. This prevents + nasty interactions between app code and the stub (for instance if user steps + into strlen, etc..) */ + +static int +strlen (const char *s) +{ + const char *s1 = s; + + while (*s1++ != '\000'); + + return s1 - s; +} + +static char * +strcpy (char *dst, const char *src) +{ + char *retval = dst; + + while ((*dst++ = *src++) != '\000'); + + return retval; +} + +static void * +memcpy (void *vdst, const void *vsrc, int n) +{ + char *dst = vdst; + const char *src = vsrc; + char *retval = dst; + + while (n-- > 0) + *dst++ = *src++; + + return retval; +} + +asm(" + .reserve trapstack, 1000 * 4, \"bss\", 8 + + .data + .align 4 + +in_trap_handler: + .word 0 + + .text + .align 4 + +! This function is called when any SPARC trap (except window overflow or +! underflow) occurs. It makes sure that the invalid register window is still +! available before jumping into C code. It will also restore the world if you +! return from handle_exception. +! +! On entry, trap_low expects l1 and l2 to contain pc and npc respectivly. +! Register usage throughout the routine is as follows: +! +! l0 - psr +! l1 - pc +! l2 - npc +! l3 - wim +! l4 - scratch and y reg +! l5 - scratch and tbr +! l6 - unused +! l7 - unused + + .globl _trap_low +_trap_low: + mov %psr, %l0 + mov %wim, %l3 + + srl %l3, %l0, %l4 ! wim >> cwp + cmp %l4, 1 + bne window_fine ! Branch if not in the invalid window + nop + +! Handle window overflow + + mov %g1, %l4 ! Save g1, we use it to hold the wim + srl %l3, 1, %g1 ! Rotate wim right + tst %g1 + bg good_wim ! Branch if new wim is non-zero + nop + +! At this point, we need to bring a 1 into the high order bit of the wim. +! Since we don't want to make any assumptions about the number of register +! windows, we figure it out dynamically so as to setup the wim correctly. + + not %g1 ! Fill g1 with ones + mov %g1, %wim ! Fill the wim with ones + nop + nop + nop + mov %wim, %g1 ! Read back the wim + inc %g1 ! Now g1 has 1 just to left of wim + srl %g1, 1, %g1 ! Now put 1 at top of wim + mov %g0, %wim ! Clear wim so that subsequent save + nop ! won't trap + nop + nop + +good_wim: + save %g0, %g0, %g0 ! Slip into next window + mov %g1, %wim ! Install the new wim + + std %l0, [%sp + 0 * 4] ! save L & I registers + std %l2, [%sp + 2 * 4] + std %l4, [%sp + 4 * 4] + std %l6, [%sp + 6 * 4] + + std %i0, [%sp + 8 * 4] + std %i2, [%sp + 10 * 4] + std %i4, [%sp + 12 * 4] + std %i6, [%sp + 14 * 4] + + restore ! Go back to trap window. + mov %l4, %g1 ! Restore %g1 + +window_fine: + sethi %hi(in_trap_handler), %l4 + ld [%lo(in_trap_handler) + %l4], %l5 + tst %l5 + bg recursive_trap + inc %l5 + + set trapstack+1000*4, %sp ! Switch to trap stack + +recursive_trap: + st %l5, [%lo(in_trap_handler) + %l4] + sub %sp,(16+1+6+1+80)*4,%sp ! Make room for input & locals + ! + hidden arg + arg spill + ! + doubleword alignment + ! + registers[72] local var + + std %g0, [%sp + (24 + 0) * 4] ! registers[Gx] + std %g2, [%sp + (24 + 2) * 4] + std %g4, [%sp + (24 + 4) * 4] + std %g6, [%sp + (24 + 6) * 4] + + std %i0, [%sp + (24 + 8) * 4] ! registers[Ox] + std %i2, [%sp + (24 + 10) * 4] + std %i4, [%sp + (24 + 12) * 4] + std %i6, [%sp + (24 + 14) * 4] + + mov %y, %l4 + mov %tbr, %l5 + st %l4, [%sp + (24 + 64) * 4] ! Y + st %l0, [%sp + (24 + 65) * 4] ! PSR + st %l3, [%sp + (24 + 66) * 4] ! WIM + st %l5, [%sp + (24 + 67) * 4] ! TBR + st %l1, [%sp + (24 + 68) * 4] ! PC + st %l2, [%sp + (24 + 69) * 4] ! NPC + + or %l0, 0xf20, %l4 + mov %l4, %psr ! Turn on traps, disable interrupts + + set 0x1000, %l1 + btst %l1, %l0 ! FP enabled? + be no_fpstore + nop + +! Must save fsr first, to flush the FQ. This may cause a deferred fp trap, so +! traps must be enabled to allow the trap handler to clean things up. + + st %fsr, [%sp + (24 + 70) * 4] + + std %f0, [%sp + (24 + 32) * 4] + std %f2, [%sp + (24 + 34) * 4] + std %f4, [%sp + (24 + 36) * 4] + std %f6, [%sp + (24 + 38) * 4] + std %f8, [%sp + (24 + 40) * 4] + std %f10, [%sp + (24 + 42) * 4] + std %f12, [%sp + (24 + 44) * 4] + std %f14, [%sp + (24 + 46) * 4] + std %f16, [%sp + (24 + 48) * 4] + std %f18, [%sp + (24 + 50) * 4] + std %f20, [%sp + (24 + 52) * 4] + std %f22, [%sp + (24 + 54) * 4] + std %f24, [%sp + (24 + 56) * 4] + std %f26, [%sp + (24 + 58) * 4] + std %f28, [%sp + (24 + 60) * 4] + std %f30, [%sp + (24 + 62) * 4] +no_fpstore: + + call _handle_exception + add %sp, 24 * 4, %o0 ! Pass address of registers + +! Reload all of the registers that aren't on the stack + + ld [%sp + (24 + 1) * 4], %g1 ! registers[Gx] + ldd [%sp + (24 + 2) * 4], %g2 + ldd [%sp + (24 + 4) * 4], %g4 + ldd [%sp + (24 + 6) * 4], %g6 + + ldd [%sp + (24 + 8) * 4], %i0 ! registers[Ox] + ldd [%sp + (24 + 10) * 4], %i2 + ldd [%sp + (24 + 12) * 4], %i4 + ldd [%sp + (24 + 14) * 4], %i6 + + + ldd [%sp + (24 + 64) * 4], %l0 ! Y & PSR + ldd [%sp + (24 + 68) * 4], %l2 ! PC & NPC + + set 0x1000, %l5 + btst %l5, %l1 ! FP enabled? + be no_fpreload + nop + + ldd [%sp + (24 + 32) * 4], %f0 + ldd [%sp + (24 + 34) * 4], %f2 + ldd [%sp + (24 + 36) * 4], %f4 + ldd [%sp + (24 + 38) * 4], %f6 + ldd [%sp + (24 + 40) * 4], %f8 + ldd [%sp + (24 + 42) * 4], %f10 + ldd [%sp + (24 + 44) * 4], %f12 + ldd [%sp + (24 + 46) * 4], %f14 + ldd [%sp + (24 + 48) * 4], %f16 + ldd [%sp + (24 + 50) * 4], %f18 + ldd [%sp + (24 + 52) * 4], %f20 + ldd [%sp + (24 + 54) * 4], %f22 + ldd [%sp + (24 + 56) * 4], %f24 + ldd [%sp + (24 + 58) * 4], %f26 + ldd [%sp + (24 + 60) * 4], %f28 + ldd [%sp + (24 + 62) * 4], %f30 + + ld [%sp + (24 + 70) * 4], %fsr +no_fpreload: + + restore ! Ensure that previous window is valid + save %g0, %g0, %g0 ! by causing a window_underflow trap + + mov %l0, %y + mov %l1, %psr ! Make sure that traps are disabled + ! for rett + sethi %hi(in_trap_handler), %l4 + ld [%lo(in_trap_handler) + %l4], %l5 + dec %l5 + st %l5, [%lo(in_trap_handler) + %l4] + + jmpl %l2, %g0 ! Restore old PC + rett %l3 ! Restore old nPC +"); + +/* Convert ch from a hex digit to an int */ + +static int +hex(ch) + unsigned char ch; +{ + if (ch >= 'a' && ch <= 'f') + return ch-'a'+10; + if (ch >= '0' && ch <= '9') + return ch-'0'; + if (ch >= 'A' && ch <= 'F') + return ch-'A'+10; + return -1; +} + +/* scan for the sequence $<data>#<checksum> */ + +static void +getpacket(buffer) + char *buffer; +{ + unsigned char checksum; + unsigned char xmitcsum; + int i; + int count; + unsigned char ch; + + do + { + /* wait around for the start character, ignore all other characters */ + while ((ch = (getDebugChar() & 0x7f)) != '$') ; + + checksum = 0; + xmitcsum = -1; + + count = 0; + + /* now, read until a # or end of buffer is found */ + while (count < BUFMAX) + { + ch = getDebugChar() & 0x7f; + if (ch == '#') + break; + checksum = checksum + ch; + buffer[count] = ch; + count = count + 1; + } + + if (count >= BUFMAX) + continue; + + buffer[count] = 0; + + if (ch == '#') + { + xmitcsum = hex(getDebugChar() & 0x7f) << 4; + xmitcsum |= hex(getDebugChar() & 0x7f); +#if 0 + /* Humans shouldn't have to figure out checksums to type to it. */ + putDebugChar ('+'); + return; +#endif + if (checksum != xmitcsum) + putDebugChar('-'); /* failed checksum */ + else + { + putDebugChar('+'); /* successful transfer */ + /* if a sequence char is present, reply the sequence ID */ + if (buffer[2] == ':') + { + putDebugChar(buffer[0]); + putDebugChar(buffer[1]); + /* remove sequence chars from buffer */ + count = strlen(buffer); + for (i=3; i <= count; i++) + buffer[i-3] = buffer[i]; + } + } + } + } + while (checksum != xmitcsum); +} + +/* send the packet in buffer. */ + +static void +putpacket(buffer) + unsigned char *buffer; +{ + unsigned char checksum; + int count; + unsigned char ch; + + /* $<packet info>#<checksum>. */ + do + { + putDebugChar('$'); + checksum = 0; + count = 0; + + while (ch = buffer[count]) + { + putDebugChar (ch); + checksum += ch; + count += 1; + } + + putDebugChar('#'); + putDebugChar(hexchars[checksum >> 4]); + putDebugChar(hexchars[checksum & 0xf]); + + } + while ((getDebugChar() & 0x7f) != '+'); +} + +static char remcomInBuffer[BUFMAX]; +static char remcomOutBuffer[BUFMAX]; + +/* Indicate to caller of mem2hex or hex2mem that there has been an + error. */ +static volatile int mem_err = 0; + +/* Convert the memory pointed to by mem into hex, placing result in buf. + * Return a pointer to the last char put in buf (null), in case of mem fault, + * return 0. + * If MAY_FAULT is non-zero, then we will handle memory faults by returning + * a 0, else treat a fault like any other fault in the stub. + */ + +static unsigned char * +mem2hex(mem, buf, count, may_fault) + unsigned char *mem; + unsigned char *buf; + int count; + int may_fault; +{ + unsigned char ch; + + set_mem_fault_trap(may_fault); + + while (count-- > 0) + { + ch = *mem++; + if (mem_err) + return 0; + *buf++ = hexchars[ch >> 4]; + *buf++ = hexchars[ch & 0xf]; + } + + *buf = 0; + + set_mem_fault_trap(0); + + return buf; +} + +/* convert the hex array pointed to by buf into binary to be placed in mem + * return a pointer to the character AFTER the last byte written */ + +static char * +hex2mem(buf, mem, count, may_fault) + unsigned char *buf; + unsigned char *mem; + int count; + int may_fault; +{ + int i; + unsigned char ch; + + set_mem_fault_trap(may_fault); + + for (i=0; i<count; i++) + { + ch = hex(*buf++) << 4; + ch |= hex(*buf++); + *mem++ = ch; + if (mem_err) + return 0; + } + + set_mem_fault_trap(0); + + return mem; +} + +/* This table contains the mapping between SPARC hardware trap types, and + signals, which are primarily what GDB understands. It also indicates + which hardware traps we need to commandeer when initializing the stub. */ + +static struct hard_trap_info +{ + unsigned char tt; /* Trap type code for SPARClite */ + unsigned char signo; /* Signal that we map this trap into */ +} hard_trap_info[] = { + {0x01, SIGSEGV}, /* instruction access error */ + {0x02, SIGILL}, /* privileged instruction */ + {0x03, SIGILL}, /* illegal instruction */ + {0x04, SIGEMT}, /* fp disabled */ + {0x07, SIGBUS}, /* mem address not aligned */ + {0x09, SIGSEGV}, /* data access exception */ + {0x0a, SIGEMT}, /* tag overflow */ + {0x20, SIGBUS}, /* r register access error */ + {0x21, SIGBUS}, /* instruction access error */ + {0x24, SIGEMT}, /* cp disabled */ + {0x29, SIGBUS}, /* data access error */ + {0x2a, SIGFPE}, /* divide by zero */ + {0x2b, SIGBUS}, /* data store error */ + {0x80+1, SIGTRAP}, /* ta 1 - normal breakpoint instruction */ + {0xff, SIGTRAP}, /* hardware breakpoint */ + {0, 0} /* Must be last */ +}; + +/* Set up exception handlers for tracing and breakpoints */ + +void +set_debug_traps() +{ + struct hard_trap_info *ht; + +/* Only setup fp traps if the FP is disabled. */ + + for (ht = hard_trap_info; + ht->tt != 0 && ht->signo != 0; + ht++) + if (ht->tt != 4 || ! (read_psr () & 0x1000)) + exceptionHandler(ht->tt, trap_low); + + /* In case GDB is started before us, ack any packets (presumably + "$?#xx") sitting there. */ + + putDebugChar ('+'); + + initialized = 1; +} + +asm (" +! Trap handler for memory errors. This just sets mem_err to be non-zero. It +! assumes that %l1 is non-zero. This should be safe, as it is doubtful that +! 0 would ever contain code that could mem fault. This routine will skip +! past the faulting instruction after setting mem_err. + + .text + .align 4 + +_fltr_set_mem_err: + sethi %hi(_mem_err), %l0 + st %l1, [%l0 + %lo(_mem_err)] + jmpl %l2, %g0 + rett %l2+4 +"); + +static void +set_mem_fault_trap(enable) + int enable; +{ + extern void fltr_set_mem_err(); + mem_err = 0; + + if (enable) + exceptionHandler(9, fltr_set_mem_err); + else + exceptionHandler(9, trap_low); +} + +asm (" + .text + .align 4 + +_dummy_hw_breakpoint: + jmpl %l2, %g0 + rett %l2+4 + nop + nop +"); + +static void +get_in_break_mode() +{ + extern void dummy_hw_breakpoint(); + + exceptionHandler (255, dummy_hw_breakpoint); + + asm ("ta 255"); + + exceptionHandler (255, trap_low); +} + +/* Convert the SPARC hardware trap type code to a unix signal number. */ + +static int +computeSignal(tt) + int tt; +{ + struct hard_trap_info *ht; + + for (ht = hard_trap_info; ht->tt && ht->signo; ht++) + if (ht->tt == tt) + return ht->signo; + + return SIGHUP; /* default for things we don't know about */ +} + +/* + * While we find nice hex chars, build an int. + * Return number of chars processed. + */ + +static int +hexToInt(char **ptr, int *intValue) +{ + int numChars = 0; + int hexValue; + + *intValue = 0; + + while (**ptr) + { + hexValue = hex(**ptr); + if (hexValue < 0) + break; + + *intValue = (*intValue << 4) | hexValue; + numChars ++; + + (*ptr)++; + } + + return (numChars); +} + +/* + * This function does all command procesing for interfacing to gdb. It + * returns 1 if you should skip the instruction at the trap address, 0 + * otherwise. + */ + +static void +handle_exception (registers) + unsigned long *registers; +{ + int tt; /* Trap type */ + int sigval; + int addr; + int length; + char *ptr; + unsigned long *sp; + unsigned long dsr; + +/* First, we must force all of the windows to be spilled out */ + + asm(" save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + save %sp, -64, %sp + restore + restore + restore + restore + restore + restore + restore + restore +"); + + get_in_break_mode (); /* Enable DSU register writes */ + + registers[DIA1] = read_asi (1, 0xff00); + registers[DIA2] = read_asi (1, 0xff04); + registers[DDA1] = read_asi (1, 0xff08); + registers[DDA2] = read_asi (1, 0xff0c); + registers[DDV1] = read_asi (1, 0xff10); + registers[DDV2] = read_asi (1, 0xff14); + registers[DCR] = read_asi (1, 0xff18); + registers[DSR] = read_asi (1, 0xff1c); + + if (registers[PC] == (unsigned long)breakinst) + { + registers[PC] = registers[NPC]; + registers[NPC] += 4; + } + sp = (unsigned long *)registers[SP]; + + dsr = (unsigned long)registers[DSR]; + if (dsr & 0x3c) + tt = 255; + else + tt = (registers[TBR] >> 4) & 0xff; + + /* reply to host that an exception has occurred */ + sigval = computeSignal(tt); + ptr = remcomOutBuffer; + + *ptr++ = 'T'; + *ptr++ = hexchars[sigval >> 4]; + *ptr++ = hexchars[sigval & 0xf]; + + *ptr++ = hexchars[PC >> 4]; + *ptr++ = hexchars[PC & 0xf]; + *ptr++ = ':'; + ptr = mem2hex((char *)®isters[PC], ptr, 4, 0); + *ptr++ = ';'; + + *ptr++ = hexchars[FP >> 4]; + *ptr++ = hexchars[FP & 0xf]; + *ptr++ = ':'; + ptr = mem2hex(sp + 8 + 6, ptr, 4, 0); /* FP */ + *ptr++ = ';'; + + *ptr++ = hexchars[SP >> 4]; + *ptr++ = hexchars[SP & 0xf]; + *ptr++ = ':'; + ptr = mem2hex((char *)&sp, ptr, 4, 0); + *ptr++ = ';'; + + *ptr++ = hexchars[NPC >> 4]; + *ptr++ = hexchars[NPC & 0xf]; + *ptr++ = ':'; + ptr = mem2hex((char *)®isters[NPC], ptr, 4, 0); + *ptr++ = ';'; + + *ptr++ = hexchars[O7 >> 4]; + *ptr++ = hexchars[O7 & 0xf]; + *ptr++ = ':'; + ptr = mem2hex((char *)®isters[O7], ptr, 4, 0); + *ptr++ = ';'; + + *ptr++ = 0; + + putpacket(remcomOutBuffer); + + while (1) + { + remcomOutBuffer[0] = 0; + + getpacket(remcomInBuffer); + switch (remcomInBuffer[0]) + { + case '?': + remcomOutBuffer[0] = 'S'; + remcomOutBuffer[1] = hexchars[sigval >> 4]; + remcomOutBuffer[2] = hexchars[sigval & 0xf]; + remcomOutBuffer[3] = 0; + break; + + case 'd': + /* toggle debug flag */ + break; + + case 'g': /* return the value of the CPU registers */ + memcpy (®isters[L0], sp, 16 * 4); /* Copy L & I regs from stack */ + mem2hex ((char *)registers, remcomOutBuffer, NUMREGBYTES, 0); + break; + + case 'G': /* Set the value of all registers */ + case 'P': /* Set the value of one register */ + { + unsigned long *newsp, psr; + + psr = registers[PSR]; + + ptr = &remcomInBuffer[1]; + + if (remcomInBuffer[0] == 'P') + { + int regno; + + if (hexToInt (&ptr, ®no) + && *ptr++ == '=') + if (regno >= L0 && regno <= I7) + hex2mem (ptr, sp + regno - L0, 4, 0); + else + hex2mem (ptr, (char *)®isters[regno], 4, 0); + else + { + strcpy (remcomOutBuffer, "P01"); + break; + } + } + else + { + hex2mem (ptr, (char *)registers, NUMREGBYTES, 0); + memcpy (sp, ®isters[L0], 16 * 4); /* Copy L & I regs to stack */ + } + + /* See if the stack pointer has moved. If so, then copy the saved + locals and ins to the new location. This keeps the window + overflow and underflow routines happy. */ + + newsp = (unsigned long *)registers[SP]; + if (sp != newsp) + sp = memcpy(newsp, sp, 16 * 4); + + /* Don't allow CWP to be modified. */ + + if (psr != registers[PSR]) + registers[PSR] = (psr & 0x1f) | (registers[PSR] & ~0x1f); + + strcpy(remcomOutBuffer,"OK"); + } + break; + + case 'm': /* mAA..AA,LLLL Read LLLL bytes at address AA..AA */ + /* Try to read %x,%x. */ + + ptr = &remcomInBuffer[1]; + + if (hexToInt(&ptr, &addr) + && *ptr++ == ',' + && hexToInt(&ptr, &length)) + { + if (mem2hex((char *)addr, remcomOutBuffer, length, 1)) + break; + + strcpy (remcomOutBuffer, "E03"); + } + else + strcpy(remcomOutBuffer,"E01"); + break; + + case 'M': /* MAA..AA,LLLL: Write LLLL bytes at address AA.AA return OK */ + /* Try to read '%x,%x:'. */ + + ptr = &remcomInBuffer[1]; + + if (hexToInt(&ptr, &addr) + && *ptr++ == ',' + && hexToInt(&ptr, &length) + && *ptr++ == ':') + { + if (hex2mem(ptr, (char *)addr, length, 1)) + strcpy(remcomOutBuffer, "OK"); + else + strcpy(remcomOutBuffer, "E03"); + } + else + strcpy(remcomOutBuffer, "E02"); + break; + + case 'c': /* cAA..AA Continue at address AA..AA(optional) */ + /* try to read optional parameter, pc unchanged if no parm */ + + ptr = &remcomInBuffer[1]; + if (hexToInt(&ptr, &addr)) + { + registers[PC] = addr; + registers[NPC] = addr + 4; + } + +/* Need to flush the instruction cache here, as we may have deposited a + breakpoint, and the icache probably has no way of knowing that a data ref to + some location may have changed something that is in the instruction cache. + */ + + flush_i_cache (); + + if (!(registers[DSR] & 0x1) /* DSU enabled? */ + && !(registers[DCR] & 0x200)) /* Are we in break state? */ + { /* Yes, set the DSU regs */ + write_asi (1, 0xff00, registers[DIA1]); + write_asi (1, 0xff04, registers[DIA2]); + write_asi (1, 0xff08, registers[DDA1]); + write_asi (1, 0xff0c, registers[DDA2]); + write_asi (1, 0xff10, registers[DDV1]); + write_asi (1, 0xff14, registers[DDV2]); + write_asi (1, 0xff1c, registers[DSR]); + write_asi (1, 0xff18, registers[DCR] | 0x200); /* Clear break */ + } + + return; + + /* kill the program */ + case 'k' : /* do nothing */ + break; +#if 0 + case 't': /* Test feature */ + asm (" std %f30,[%sp]"); + break; +#endif + case 'r': /* Reset */ + asm ("call 0 + nop "); + break; + +#if 0 +Disabled until we can unscrew this properly + + case 'b': /* bBB... Set baud rate to BB... */ + { + int baudrate; + extern void set_timer_3(); + + ptr = &remcomInBuffer[1]; + if (!hexToInt(&ptr, &baudrate)) + { + strcpy(remcomOutBuffer,"B01"); + break; + } + + /* Convert baud rate to uart clock divider */ + switch (baudrate) + { + case 38400: + baudrate = 16; + break; + case 19200: + baudrate = 33; + break; + case 9600: + baudrate = 65; + break; + default: + strcpy(remcomOutBuffer,"B02"); + goto x1; + } + + putpacket("OK"); /* Ack before changing speed */ + set_timer_3(baudrate); /* Set it */ + } +x1: break; +#endif + } /* switch */ + + /* reply to the request */ + putpacket(remcomOutBuffer); + } +} + +/* This function will generate a breakpoint exception. It is used at the + beginning of a program to sync up with a debugger and can be used + otherwise as a quick means to stop program execution and "break" into + the debugger. */ + +void +breakpoint() +{ + if (!initialized) + return; + + asm(" .globl _breakinst + + _breakinst: ta 1 + "); +} diff --git a/contrib/gdb/gdb/sparcl-tdep.c b/contrib/gdb/gdb/sparcl-tdep.c new file mode 100644 index 0000000000000..ed9afb82e0ae3 --- /dev/null +++ b/contrib/gdb/gdb/sparcl-tdep.c @@ -0,0 +1,890 @@ +/* Target dependent code for the Fujitsu SPARClite for GDB, the GNU debugger. + Copyright 1994, 1995, 1996 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "gdbcore.h" +#include "breakpoint.h" +#include "target.h" +#include "serial.h" +#include <sys/types.h> +#include <sys/time.h> + +#if defined(__GO32__) || defined(WIN32) +#undef HAVE_SOCKETS +#else +#define HAVE_SOCKETS +#endif + + +#ifdef HAVE_SOCKETS +#include <unistd.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <netdb.h> +#endif + +extern struct target_ops sparclite_ops; /* Forward decl */ +extern struct target_ops remote_ops; + +static char *remote_target_name = NULL; +static serial_t remote_desc = NULL; +static int serial_flag; +#ifdef HAVE_SOCKETS +static int udp_fd = -1; +#endif + +static serial_t open_tty PARAMS ((char *name)); +static int send_resp PARAMS ((serial_t desc, char c)); +static void close_tty PARAMS ((int ignore)); +#ifdef HAVE_SOCKETS +static int recv_udp_buf PARAMS ((int fd, unsigned char *buf, int len, int timeout)); +static int send_udp_buf PARAMS ((int fd, unsigned char *buf, int len)); +#endif +static void sparclite_open PARAMS ((char *name, int from_tty)); +static void sparclite_close PARAMS ((int quitting)); +static void download PARAMS ((char *target_name, char *args, int from_tty, + void (*write_routine) (bfd *from_bfd, + asection *from_sec, + file_ptr from_addr, + bfd_vma to_addr, int len), + void (*start_routine) (bfd_vma entry))); +static void sparclite_serial_start PARAMS ((bfd_vma entry)); +static void sparclite_serial_write PARAMS ((bfd *from_bfd, asection *from_sec, + file_ptr from_addr, + bfd_vma to_addr, int len)); +#ifdef HAVE_SOCKETS +static unsigned short calc_checksum PARAMS ((unsigned char *buffer, + int count)); +static void sparclite_udp_start PARAMS ((bfd_vma entry)); +static void sparclite_udp_write PARAMS ((bfd *from_bfd, asection *from_sec, + file_ptr from_addr, bfd_vma to_addr, + int len)); +#endif +static void sparclite_download PARAMS ((char *filename, int from_tty)); + +#define DDA2_SUP_ASI 0xb000000 +#define DDA1_SUP_ASI 0xb0000 + +#define DDA2_ASI_MASK 0xff000000 +#define DDA1_ASI_MASK 0xff0000 +#define DIA2_SUP_MODE 0x8000 +#define DIA1_SUP_MODE 0x4000 +#define DDA2_ENABLE 0x100 +#define DDA1_ENABLE 0x80 +#define DIA2_ENABLE 0x40 +#define DIA1_ENABLE 0x20 +#define DSINGLE_STEP 0x10 +#define DDV_TYPE_MASK 0xc +#define DDV_TYPE_LOAD 0x0 +#define DDV_TYPE_STORE 0x4 +#define DDV_TYPE_ACCESS 0x8 +#define DDV_TYPE_ALWAYS 0xc +#define DDV_COND 0x2 +#define DDV_MASK 0x1 + +int +sparclite_insert_watchpoint (addr, len, type) + CORE_ADDR addr; + int len; + int type; +{ + CORE_ADDR dcr; + + dcr = read_register (DCR_REGNUM); + + if (!(dcr & DDA1_ENABLE)) + { + write_register (DDA1_REGNUM, addr); + dcr &= ~(DDA1_ASI_MASK | DDV_TYPE_MASK); + dcr |= (DDA1_SUP_ASI | DDA1_ENABLE); + if (type == 1) + { + write_register (DDV1_REGNUM, 0); + write_register (DDV2_REGNUM, 0xffffffff); + dcr |= (DDV_TYPE_LOAD & (~DDV_COND & ~DDV_MASK)); + } + else if (type == 0) + { + write_register (DDV1_REGNUM, 0); + write_register (DDV2_REGNUM, 0xffffffff); + dcr |= (DDV_TYPE_STORE & (~DDV_COND & ~DDV_MASK)); + } + else + { + write_register (DDV1_REGNUM, 0); + write_register (DDV2_REGNUM, 0xffffffff); + dcr |= (DDV_TYPE_ACCESS); + } + write_register (DCR_REGNUM, dcr); + } + else if (!(dcr & DDA2_ENABLE)) + { + write_register (DDA2_REGNUM, addr); + dcr &= ~(DDA2_ASI_MASK & DDV_TYPE_MASK); + dcr |= (DDA2_SUP_ASI | DDA2_ENABLE); + if (type == 1) + { + write_register (DDV1_REGNUM, 0); + write_register (DDV2_REGNUM, 0xffffffff); + dcr |= (DDV_TYPE_LOAD & ~DDV_COND & ~DDV_MASK); + } + else if (type == 0) + { + write_register (DDV1_REGNUM, 0); + write_register (DDV2_REGNUM, 0xffffffff); + dcr |= (DDV_TYPE_STORE & ~DDV_COND & ~DDV_MASK); + } + else + { + write_register (DDV1_REGNUM, 0); + write_register (DDV2_REGNUM, 0xffffffff); + dcr |= (DDV_TYPE_ACCESS); + } + write_register (DCR_REGNUM, dcr); + } + else + return -1; + + return 0; +} + +int +sparclite_remove_watchpoint (addr, len, type) + CORE_ADDR addr; + int len; + int type; +{ + CORE_ADDR dcr, dda1, dda2; + + dcr = read_register (DCR_REGNUM); + dda1 = read_register (DDA1_REGNUM); + dda2 = read_register (DDA2_REGNUM); + + if ((dcr & DDA1_ENABLE) && addr == dda1) + write_register (DCR_REGNUM, (dcr & ~DDA1_ENABLE)); + else if ((dcr & DDA2_ENABLE) && addr == dda2) + write_register (DCR_REGNUM, (dcr & ~DDA2_ENABLE)); + else + return -1; + + return 0; +} + +int +sparclite_insert_hw_breakpoint (addr, len) + CORE_ADDR addr; + int len; +{ + CORE_ADDR dcr; + + dcr = read_register (DCR_REGNUM); + + if (!(dcr & DIA1_ENABLE)) + { + write_register (DIA1_REGNUM, addr); + write_register (DCR_REGNUM, (dcr | DIA1_ENABLE | DIA1_SUP_MODE)); + } + else if (!(dcr & DIA2_ENABLE)) + { + write_register (DIA2_REGNUM, addr); + write_register (DCR_REGNUM, (dcr | DIA2_ENABLE | DIA2_SUP_MODE)); + } + else + return -1; + + return 0; +} + +int +sparclite_remove_hw_breakpoint (addr, shadow) + CORE_ADDR addr; + int shadow; +{ + CORE_ADDR dcr, dia1, dia2; + + dcr = read_register (DCR_REGNUM); + dia1 = read_register (DIA1_REGNUM); + dia2 = read_register (DIA2_REGNUM); + + if ((dcr & DIA1_ENABLE) && addr == dia1) + write_register (DCR_REGNUM, (dcr & ~DIA1_ENABLE)); + else if ((dcr & DIA2_ENABLE) && addr == dia2) + write_register (DCR_REGNUM, (dcr & ~DIA2_ENABLE)); + else + return -1; + + return 0; +} + +int +sparclite_check_watch_resources (type, cnt, ot) + int type; + int cnt; + int ot; +{ + if (type == bp_hardware_breakpoint) + { + if (TARGET_HW_BREAK_LIMIT == 0) + return 0; + else if (cnt <= TARGET_HW_BREAK_LIMIT) + return 1; + } + else + { + if (TARGET_HW_WATCH_LIMIT == 0) + return 0; + else if (ot) + return -1; + else if (cnt <= TARGET_HW_WATCH_LIMIT) + return 1; + } + return -1; +} + +CORE_ADDR +sparclite_stopped_data_address () +{ + CORE_ADDR dsr, dda1, dda2; + + dsr = read_register (DSR_REGNUM); + dda1 = read_register (DDA1_REGNUM); + dda2 = read_register (DDA2_REGNUM); + + if (dsr & 0x10) + return dda1; + else if (dsr & 0x20) + return dda2; + else + return 0; +} + +static serial_t +open_tty (name) + char *name; +{ + serial_t desc; + + desc = SERIAL_OPEN (name); + if (!desc) + perror_with_name (name); + + if (baud_rate != -1) + { + if (SERIAL_SETBAUDRATE (desc, baud_rate)) + { + SERIAL_CLOSE (desc); + perror_with_name (name); + } + } + + SERIAL_RAW (desc); + + SERIAL_FLUSH_INPUT (desc); + + return desc; +} + +/* Read a single character from the remote end, masking it down to 7 bits. */ + +static int +readchar (desc, timeout) + serial_t desc; + int timeout; +{ + int ch; + + ch = SERIAL_READCHAR (desc, timeout); + + switch (ch) + { + case SERIAL_EOF: + error ("SPARClite remote connection closed"); + case SERIAL_ERROR: + perror_with_name ("SPARClite communication error"); + case SERIAL_TIMEOUT: + error ("SPARClite remote timeout"); + default: + return ch; + } +} + +static int +send_resp (desc, c) + serial_t desc; + char c; +{ + SERIAL_WRITE (desc, &c, 1); + return readchar (desc, 2); +} + +static void +close_tty (ignore) + int ignore; +{ + if (!remote_desc) + return; + + SERIAL_CLOSE (remote_desc); + + remote_desc = NULL; +} + +#ifdef HAVE_SOCKETS +static int +recv_udp_buf (fd, buf, len, timeout) + int fd, len; + unsigned char *buf; + int timeout; +{ + int cc; + fd_set readfds; + + FD_ZERO (&readfds); + FD_SET (fd, &readfds); + + if (timeout >= 0) + { + struct timeval timebuf; + + timebuf.tv_sec = timeout; + timebuf.tv_usec = 0; + cc = select (fd + 1, &readfds, 0, 0, &timebuf); + } + else + cc = select (fd + 1, &readfds, 0, 0, 0); + + if (cc == 0) + return 0; + + if (cc != 1) + perror_with_name ("recv_udp_buf: Bad return value from select:"); + + cc = recv (fd, buf, len, 0); + + if (cc < 0) + perror_with_name ("Got an error from recv: "); +} + +static int +send_udp_buf (fd, buf, len) + int fd, len; + unsigned char *buf; +{ + int cc; + + cc = send (fd, buf, len, 0); + + if (cc == len) + return; + + if (cc < 0) + perror_with_name ("Got an error from send: "); + + error ("Short count in send: tried %d, sent %d\n", len, cc); +} +#endif /* __GO32__ */ + +static void +sparclite_open (name, from_tty) + char *name; + int from_tty; +{ + struct cleanup *old_chain; + int c; + char *p; + + if (!name) + error ("You need to specify what device or hostname is associated with the SparcLite board."); + + target_preopen (from_tty); + + unpush_target (&sparclite_ops); + + if (remote_target_name) + free (remote_target_name); + + remote_target_name = strsave (name); + + /* We need a 'serial' or 'udp' keyword to disambiguate host:port, which can + mean either a serial port on a terminal server, or the IP address of a + SPARClite demo board. If there's no colon, then it pretty much has to be + a local device (except for DOS... grrmble) */ + + p = strchr (name, ' '); + + if (p) + { + *p++ = '\000'; + while ((*p != '\000') && isspace (*p)) p++; + + if (strncmp (name, "serial", strlen (name)) == 0) + serial_flag = 1; + else if (strncmp (name, "udp", strlen (name)) == 0) + serial_flag = 0; + else + error ("Must specify either `serial' or `udp'."); + } + else + { + p = name; + + if (!strchr (name, ':')) + serial_flag = 1; /* No colon is unambiguous (local device) */ + else + error ("Usage: target sparclite serial /dev/ttyb\n\ +or: target sparclite udp host"); + } + + if (serial_flag) + { + remote_desc = open_tty (p); + + old_chain = make_cleanup (close_tty, 0); + + c = send_resp (remote_desc, 0x00); + + if (c != 0xaa) + error ("Unknown response (0x%x) from SparcLite. Try resetting the board.", + c); + + c = send_resp (remote_desc, 0x55); + + if (c != 0x55) + error ("Sparclite appears to be ill."); + } + else + { +#ifdef HAVE_SOCKETS + struct hostent *he; + struct sockaddr_in sockaddr; + unsigned char buffer[100]; + int cc; + + /* Setup the socket. Must be raw UDP. */ + + he = gethostbyname (p); + + if (!he) + error ("No such host %s.", p); + + udp_fd = socket (PF_INET, SOCK_DGRAM, 0); + + old_chain = make_cleanup (close, udp_fd); + + sockaddr.sin_family = PF_INET; + sockaddr.sin_port = htons(7000); + memcpy (&sockaddr.sin_addr.s_addr, he->h_addr, sizeof (struct in_addr)); + + if (connect (udp_fd, &sockaddr, sizeof(sockaddr))) + perror_with_name ("Connect failed"); + + buffer[0] = 0x5; + buffer[1] = 0; + + send_udp_buf (udp_fd, buffer, 2); /* Request version */ + cc = recv_udp_buf (udp_fd, buffer, sizeof(buffer), 5); /* Get response */ + if (cc == 0) + error ("SPARClite isn't responding."); + + if (cc < 3) + error ("SPARClite appears to be ill."); +#else + error ("UDP downloading is not supported for DOS hosts."); +#endif /* __GO32__ */ + } + + printf_unfiltered ("[SPARClite appears to be alive]\n"); + + push_target (&sparclite_ops); + + discard_cleanups (old_chain); + + return; +} + +static void +sparclite_close (quitting) + int quitting; +{ + if (serial_flag) + close_tty (0); +#ifdef HAVE_SOCKETS + else + if (udp_fd != -1) + close (udp_fd); +#endif +} + +#define LOAD_ADDRESS 0x40000000 + +static void +download (target_name, args, from_tty, write_routine, start_routine) + char *target_name; + char *args; + int from_tty; + void (*write_routine)(); + void (*start_routine)(); +{ + struct cleanup *old_chain; + asection *section; + bfd *pbfd; + bfd_vma entry; + int i; +#define WRITESIZE 1024 + char *filename; + int quiet; + int nostart; + + quiet = 0; + nostart = 0; + filename = NULL; + + while (*args != '\000') + { + char *arg; + + while (isspace (*args)) args++; + + arg = args; + + while ((*args != '\000') && !isspace (*args)) args++; + + if (*args != '\000') + *args++ = '\000'; + + if (*arg != '-') + filename = arg; + else if (strncmp (arg, "-quiet", strlen (arg)) == 0) + quiet = 1; + else if (strncmp (arg, "-nostart", strlen (arg)) == 0) + nostart = 1; + else + error ("unknown option `%s'", arg); + } + + if (!filename) + filename = get_exec_file (1); + + pbfd = bfd_openr (filename, gnutarget); + if (pbfd == NULL) + { + perror_with_name (filename); + return; + } + old_chain = make_cleanup (bfd_close, pbfd); + + if (!bfd_check_format (pbfd, bfd_object)) + error ("\"%s\" is not an object file: %s", filename, + bfd_errmsg (bfd_get_error ())); + + for (section = pbfd->sections; section; section = section->next) + { + if (bfd_get_section_flags (pbfd, section) & SEC_LOAD) + { + bfd_vma section_address; + bfd_size_type section_size; + file_ptr fptr; + + section_address = bfd_get_section_vma (pbfd, section); + /* Adjust sections from a.out files, since they don't + carry their addresses with. */ + if (bfd_get_flavour (pbfd) == bfd_target_aout_flavour) + section_address += LOAD_ADDRESS; + + section_size = bfd_get_section_size_before_reloc (section); + + if (!quiet) + printf_filtered ("[Loading section %s at 0x%x (%d bytes)]\n", + bfd_get_section_name (pbfd, section), + section_address, + section_size); + + fptr = 0; + while (section_size > 0) + { + int count; + static char inds[] = "|/-\\"; + static int k = 0; + + QUIT; + + count = min (section_size, WRITESIZE); + + write_routine (pbfd, section, fptr, section_address, count); + + if (!quiet) + { + printf_unfiltered ("\r%c", inds[k++ % 4]); + gdb_flush (gdb_stdout); + } + + section_address += count; + fptr += count; + section_size -= count; + } + } + } + + if (!nostart) + { + entry = bfd_get_start_address (pbfd); + + if (!quiet) + printf_unfiltered ("[Starting %s at 0x%x]\n", filename, entry); + + start_routine (entry); + } + + do_cleanups (old_chain); +} + +static void +sparclite_serial_start (entry) + bfd_vma entry; +{ + char buffer[5]; + int i; + + buffer[0] = 0x03; + store_unsigned_integer (buffer + 1, 4, entry); + + SERIAL_WRITE (remote_desc, buffer, 1 + 4); + i = readchar (remote_desc, 2); + if (i != 0x55) + error ("Can't start SparcLite. Error code %d\n", i); +} + +static void +sparclite_serial_write (from_bfd, from_sec, from_addr, to_addr, len) + bfd *from_bfd; + asection *from_sec; + file_ptr from_addr; + bfd_vma to_addr; + int len; +{ + char buffer[4 + 4 + WRITESIZE]; /* addr + len + data */ + unsigned char checksum; + int i; + + store_unsigned_integer (buffer, 4, to_addr); /* Address */ + store_unsigned_integer (buffer + 4, 4, len); /* Length */ + + bfd_get_section_contents (from_bfd, from_sec, buffer + 8, from_addr, len); + + checksum = 0; + for (i = 0; i < len; i++) + checksum += buffer[8 + i]; + + i = send_resp (remote_desc, 0x01); + + if (i != 0x5a) + error ("Bad response from load command (0x%x)", i); + + SERIAL_WRITE (remote_desc, buffer, 4 + 4 + len); + i = readchar (remote_desc, 2); + + if (i != checksum) + error ("Bad checksum from load command (0x%x)", i); +} + +#ifdef HAVE_SOCKETS + +static unsigned short +calc_checksum (buffer, count) + unsigned char *buffer; + int count; +{ + unsigned short checksum; + + checksum = 0; + for (; count > 0; count -= 2, buffer += 2) + checksum += (*buffer << 8) | *(buffer + 1); + + if (count != 0) + checksum += *buffer << 8; + + return checksum; +} + +static void +sparclite_udp_start (entry) + bfd_vma entry; +{ + unsigned char buffer[6]; + int i; + + buffer[0] = 0x3; + buffer[1] = 0; + buffer[2] = entry >> 24; + buffer[3] = entry >> 16; + buffer[4] = entry >> 8; + buffer[5] = entry; + + send_udp_buf (udp_fd, buffer, 6); /* Send start addr */ + i = recv_udp_buf (udp_fd, buffer, sizeof(buffer), -1); /* Get response */ + + if (i < 1 || buffer[0] != 0x55) + error ("Failed to take start address."); +} + +static void +sparclite_udp_write (from_bfd, from_sec, from_addr, to_addr, len) + bfd *from_bfd; + asection *from_sec; + file_ptr from_addr; + bfd_vma to_addr; + int len; +{ + unsigned char buffer[2000]; + unsigned short checksum; + static int pkt_num = 0; + static unsigned long old_addr = -1; + int i; + + while (1) + { + if (to_addr != old_addr) + { + buffer[0] = 0x1; /* Load command */ + buffer[1] = 0x1; /* Loading address */ + buffer[2] = to_addr >> 24; + buffer[3] = to_addr >> 16; + buffer[4] = to_addr >> 8; + buffer[5] = to_addr; + + checksum = 0; + for (i = 0; i < 6; i++) + checksum += buffer[i]; + checksum &= 0xff; + + send_udp_buf (udp_fd, buffer, 6); + i = recv_udp_buf (udp_fd, buffer, sizeof buffer, -1); + + if (i < 1) + error ("Got back short checksum for load addr."); + + if (checksum != buffer[0]) + error ("Got back bad checksum for load addr."); + + pkt_num = 0; /* Load addr resets packet seq # */ + old_addr = to_addr; + } + + bfd_get_section_contents (from_bfd, from_sec, buffer + 6, from_addr, + len); + + checksum = calc_checksum (buffer + 6, len); + + buffer[0] = 0x1; /* Load command */ + buffer[1] = 0x2; /* Loading data */ + buffer[2] = pkt_num >> 8; + buffer[3] = pkt_num; + buffer[4] = checksum >> 8; + buffer[5] = checksum; + + send_udp_buf (udp_fd, buffer, len + 6); + i = recv_udp_buf (udp_fd, buffer, sizeof buffer, 3); + + if (i == 0) + { + fprintf_unfiltered (gdb_stderr, "send_data: timeout sending %d bytes to address 0x%x retrying\n", len, to_addr); + continue; + } + + if (buffer[0] != 0xff) + error ("Got back bad response for load data."); + + old_addr += len; + pkt_num++; + + return; + } +} + +#endif /* __GO32__ */ + +static void +sparclite_download (filename, from_tty) + char *filename; + int from_tty; +{ + if (!serial_flag) +#ifdef HAVE_SOCKETS + download (remote_target_name, filename, from_tty, sparclite_udp_write, + sparclite_udp_start); +#else + abort (); /* sparclite_open should prevent this! */ +#endif + else + download (remote_target_name, filename, from_tty, sparclite_serial_write, + sparclite_serial_start); +} + +/* Define the target subroutine names */ + +static struct target_ops sparclite_ops = +{ + "sparclite", /* to_shortname */ + "SPARClite remote target", /* to_longname */ + "Use a remote SPARClite target board via a serial line, using a gdb-specific protocol.\n\ +Specify the serial device it is connected to (e.g. /dev/ttya).", /* to_doc */ + sparclite_open, /* to_open */ + sparclite_close, /* to_close */ + 0, /* to_attach */ + 0, /* to_detach */ + 0, /* to_resume */ + 0, /* to_wait */ + 0, /* to_fetch_registers */ + 0, /* to_store_registers */ + 0, /* to_prepare_to_store */ + 0, /* to_xfer_memory */ + 0, /* to_files_info */ + 0, /* to_insert_breakpoint */ + 0, /* to_remove_breakpoint */ + 0, /* to_terminal_init */ + 0, /* to_terminal_inferior */ + 0, /* to_terminal_ours_for_output */ + 0, /* to_terminal_ours */ + 0, /* to_terminal_info */ + 0, /* to_kill */ + sparclite_download, /* to_load */ + 0, /* to_lookup_symbol */ + 0, /* to_create_inferior */ + 0, /* to_mourn_inferior */ + 0, /* to_can_run */ + 0, /* to_notice_signals */ + 0, /* to_thread_alive */ + 0, /* to_stop */ + download_stratum, /* to_stratum */ + 0, /* to_next */ + 0, /* to_has_all_memory */ + 0, /* to_has_memory */ + 0, /* to_has_stack */ + 0, /* to_has_registers */ + 0, /* to_has_execution */ + 0, /* sections */ + 0, /* sections_end */ + OPS_MAGIC /* to_magic */ + }; + +void +_initialize_sparcl_tdep () +{ + add_target (&sparclite_ops); +} diff --git a/contrib/gdb/gdb/sun3-nat.c b/contrib/gdb/gdb/sun3-nat.c new file mode 100644 index 0000000000000..c2ab6c99a5016 --- /dev/null +++ b/contrib/gdb/gdb/sun3-nat.c @@ -0,0 +1,155 @@ +/* Host-dependent code for Sun-3 for GDB, the GNU debugger. + Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "inferior.h" +#include "gdbcore.h" + +#include <sys/ptrace.h> +#define KERNEL /* To get floating point reg definitions */ +#include <machine/reg.h> + +void +fetch_inferior_registers (regno) + int regno; +{ + struct regs inferior_registers; +#ifdef FP0_REGNUM + struct fp_status inferior_fp_registers; +#endif + extern char registers[]; + + registers_fetched (); + + ptrace (PTRACE_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_registers); +#ifdef FP0_REGNUM + ptrace (PTRACE_GETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers); +#endif + + memcpy (registers, &inferior_registers, 16 * 4); +#ifdef FP0_REGNUM + memcpy (®isters[REGISTER_BYTE (FP0_REGNUM)], &inferior_fp_registers, + sizeof inferior_fp_registers.fps_regs); +#endif + *(int *)®isters[REGISTER_BYTE (PS_REGNUM)] = inferior_registers.r_ps; + *(int *)®isters[REGISTER_BYTE (PC_REGNUM)] = inferior_registers.r_pc; +#ifdef FP0_REGNUM + memcpy (®isters[REGISTER_BYTE (FPC_REGNUM)], + &inferior_fp_registers.fps_control, + sizeof inferior_fp_registers - sizeof inferior_fp_registers.fps_regs); +#endif +} + +/* Store our register values back into the inferior. + If REGNO is -1, do this for all registers. + Otherwise, REGNO specifies which register (so we can save time). */ + +void +store_inferior_registers (regno) + int regno; +{ + struct regs inferior_registers; +#ifdef FP0_REGNUM + struct fp_status inferior_fp_registers; +#endif + extern char registers[]; + + memcpy (&inferior_registers, registers, 16 * 4); +#ifdef FP0_REGNUM + memcpy (&inferior_fp_registers, ®isters[REGISTER_BYTE (FP0_REGNUM)], + sizeof inferior_fp_registers.fps_regs); +#endif + inferior_registers.r_ps = *(int *)®isters[REGISTER_BYTE (PS_REGNUM)]; + inferior_registers.r_pc = *(int *)®isters[REGISTER_BYTE (PC_REGNUM)]; + +#ifdef FP0_REGNUM + memcpy (&inferior_fp_registers.fps_control, + ®isters[REGISTER_BYTE (FPC_REGNUM)], + sizeof inferior_fp_registers - sizeof inferior_fp_registers.fps_regs); +#endif + + ptrace (PTRACE_SETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_registers); +#if FP0_REGNUM + ptrace (PTRACE_SETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers); +#endif +} + + +/* All of this stuff is only relevant if both host and target are sun3. */ +/* Machine-dependent code for pulling registers out of a Sun-3 core file. */ + +static void +fetch_core_registers (core_reg_sect, core_reg_size, which, reg_addr) + char *core_reg_sect; + unsigned core_reg_size; + int which; + unsigned int reg_addr; /* Unused in this version */ +{ + extern char registers[]; + struct regs *regs = (struct regs *) core_reg_sect; + + if (which == 0) { + if (core_reg_size < sizeof (struct regs)) + error ("Can't find registers in core file"); + + memcpy (registers, (char *)regs, 16 * 4); + supply_register (PS_REGNUM, (char *)®s->r_ps); + supply_register (PC_REGNUM, (char *)®s->r_pc); + + } else if (which == 2) { + +#define fpustruct ((struct fpu *) core_reg_sect) + + if (core_reg_size >= sizeof (struct fpu)) + { +#ifdef FP0_REGNUM + memcpy (®isters[REGISTER_BYTE (FP0_REGNUM)], + fpustruct->f_fpstatus.fps_regs, + sizeof fpustruct->f_fpstatus.fps_regs); + memcpy (®isters[REGISTER_BYTE (FPC_REGNUM)], + &fpustruct->f_fpstatus.fps_control, + sizeof fpustruct->f_fpstatus - + sizeof fpustruct->f_fpstatus.fps_regs); +#endif + } + else + fprintf_unfiltered (gdb_stderr, "Couldn't read float regs from core file\n"); + } +} + + +/* Register that we are able to handle sun3 core file formats. + FIXME: is this really bfd_target_unknown_flavour? */ + +static struct core_fns sun3_core_fns = +{ + bfd_target_unknown_flavour, + fetch_core_registers, + NULL +}; + +void +_initialize_core_sun3 () +{ + add_core_fns (&sun3_core_fns); +} diff --git a/contrib/gdb/gdb/sun386-nat.c b/contrib/gdb/gdb/sun386-nat.c new file mode 100644 index 0000000000000..1abb4bb1df05a --- /dev/null +++ b/contrib/gdb/gdb/sun386-nat.c @@ -0,0 +1,258 @@ +/* Native support for Sun 386i's for GDB, the GNU debugger. + Copyright (C) 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc. + Changes for sun386i by Jean Daniel Fekete (jdf@litp.univ-p6-7.fr), + C2V Paris, April 89. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "frame.h" +#include "inferior.h" +#include "gdbcore.h" + +#include <sys/param.h> +#include <sys/dir.h> +#include <sys/user.h> +#include <signal.h> +#include <sys/ioctl.h> +#include <fcntl.h> + +#include <sys/ptrace.h> +#include <machine/reg.h> + +#include <sys/file.h> +#include "gdb_stat.h" +#include <sys/core.h> + + +/* Machine-dependent code which would otherwise be in corefile.c */ +/* Work with core files, for GDB. */ + + +void +core_file_command (filename, from_tty) + char *filename; + int from_tty; +{ + int val; + extern char registers[]; + + /* Discard all vestiges of any previous core file + and mark data and stack spaces as empty. */ + + if (corefile) + free (corefile); + corefile = 0; + + if (corechan >= 0) + close (corechan); + corechan = -1; + + data_start = 0; + data_end = 0; + stack_start = STACK_END_ADDR; + stack_end = STACK_END_ADDR; + + /* Now, if a new core file was specified, open it and digest it. */ + + if (filename) + { + filename = tilde_expand (filename); + make_cleanup (free, filename); + + if (have_inferior_p ()) + error ("To look at a core file, you must kill the program with \"kill\"."); + corechan = open (filename, O_RDONLY, 0); + if (corechan < 0) + perror_with_name (filename); + + { + struct core corestr; + + val = myread (corechan, &corestr, sizeof corestr); + if (val < 0) + perror_with_name (filename); + if (corestr.c_magic != CORE_MAGIC) + error ("\"%s\" does not appear to be a core dump file (magic 0x%x, expected 0x%x)", + filename, corestr.c_magic, (int) CORE_MAGIC); + else if (sizeof (struct core) != corestr.c_len) + error ("\"%s\" has an invalid struct core length (%d, expected %d)", + filename, corestr.c_len, (int) sizeof (struct core)); + + data_start = exec_data_start; + data_end = data_start + corestr.c_dsize; + stack_start = stack_end - corestr.c_ssize; + data_offset = sizeof corestr; + stack_offset = sizeof corestr + corestr.c_dsize; + + memcpy (registers, &corestr.c_regs, sizeof corestr.c_regs); + + memcpy (®isters[REGISTER_BYTE (FP0_REGNUM)], + corestr.c_fpu.f_fpstatus.f_st, + sizeof corestr.c_fpu.f_fpstatus.f_st); + memcpy (®isters[REGISTER_BYTE (FPC_REGNUM)], + &corestr.c_fpu.f_fpstatus.f_ctrl, + sizeof corestr.c_fpu.f_fpstatus - + sizeof corestr.c_fpu.f_fpstatus.f_st); + + /* the struct aouthdr of sun coff is not the struct exec stored + in the core file. */ + memcpy (&core_aouthdr, &corestr.c_aouthdr, sizeof (struct exec)); +#ifndef COFF_ENCAPSULATE + core_aouthdr.magic = corestr.c_aouthdr.a_info; + core_aouthdr.vstamp = /*SUNVERSION*/ 31252; +#endif + printf_unfiltered ("Core file is from \"%s\".\n", corestr.c_cmdname); + if (corestr.c_signo > 0) + printf_unfiltered ("Program terminated with signal %d, %s.\n", + corestr.c_signo, safe_strsignal (corestr.c_signo)); + } + if (filename[0] == '/') + corefile = savestring (filename, strlen (filename)); + else + { + corefile = concat (current_directory, "/", filename, NULL); + } + + flush_cached_frames (); + select_frame (get_current_frame (), 0); + + validate_files (); + } + else if (from_tty) + printf_unfiltered ("No core file now.\n"); +} + +i387_to_double (from, to) + char *from; + char *to; +{ + long *lp; + /* push extended mode on 387 stack, then pop in double mode + * + * first, set exception masks so no error is generated - + * number will be rounded to inf or 0, if necessary + */ + asm ("pushl %eax"); /* grab a stack slot */ + asm ("fstcw (%esp)"); /* get 387 control word */ + asm ("movl (%esp),%eax"); /* save old value */ + asm ("orl $0x3f,%eax"); /* mask all exceptions */ + asm ("pushl %eax"); + asm ("fldcw (%esp)"); /* load new value into 387 */ + + asm ("movl 8(%ebp),%eax"); + asm ("fldt (%eax)"); /* push extended number on 387 stack */ + asm ("fwait"); + asm ("movl 12(%ebp),%eax"); + asm ("fstpl (%eax)"); /* pop double */ + asm ("fwait"); + + asm ("popl %eax"); /* flush modified control word */ + asm ("fnclex"); /* clear exceptions */ + asm ("fldcw (%esp)"); /* restore original control word */ + asm ("popl %eax"); /* flush saved copy */ +} + +double_to_i387 (from, to) + char *from; + char *to; +{ + /* push double mode on 387 stack, then pop in extended mode + * no errors are possible because every 64-bit pattern + * can be converted to an extended + */ + asm ("movl 8(%ebp),%eax"); + asm ("fldl (%eax)"); + asm ("fwait"); + asm ("movl 12(%ebp),%eax"); + asm ("fstpt (%eax)"); + asm ("fwait"); +} + +void +fetch_inferior_registers (regno) + int regno; +{ + struct regs inferior_registers; + struct fp_state inferior_fp_registers; + extern char registers[]; + + registers_fetched (); + + ptrace (PTRACE_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_registers); + ptrace (PTRACE_GETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers); + + memcpy (registers, &inferior_registers, sizeof inferior_registers); + + memcpy (®isters[REGISTER_BYTE (FP0_REGNUM)],inferior_fp_registers.f_st, + sizeof inferior_fp_registers.f_st); + memcpy (®isters[REGISTER_BYTE (FPC_REGNUM)], + &inferior_fp_registers.f_ctrl, + sizeof inferior_fp_registers - sizeof inferior_fp_registers.f_st); +} + +/* Store our register values back into the inferior. + If REGNO is -1, do this for all registers. + Otherwise, REGNO specifies which register (so we can save time). */ + +void +store_inferior_registers (regno) + int regno; +{ + struct regs inferior_registers; + struct fp_state inferior_fp_registers; + extern char registers[]; + + memcpy (&inferior_registers, registers, 20 * 4); + + memcpy (inferior_fp_registers.f_st, + ®isters[REGISTER_BYTE (FP0_REGNUM)], + sizeof inferior_fp_registers.f_st); + memcpy (&inferior_fp_registers.f_ctrl, + ®isters[REGISTER_BYTE (FPC_REGNUM)], + sizeof inferior_fp_registers - sizeof inferior_fp_registers.f_st); + +#ifdef PTRACE_FP_BUG + if (regno == FP_REGNUM || regno == -1) + /* Storing the frame pointer requires a gross hack, in which an + instruction that moves eax into ebp gets single-stepped. */ + { + int stack = inferior_registers.r_reg[SP_REGNUM]; + int stuff = ptrace (PTRACE_PEEKDATA, inferior_pid, + (PTRACE_ARG3_TYPE) stack); + int reg = inferior_registers.r_reg[EAX]; + inferior_registers.r_reg[EAX] = + inferior_registers.r_reg[FP_REGNUM]; + ptrace (PTRACE_SETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_registers); + ptrace (PTRACE_POKEDATA, inferior_pid, (PTRACE_ARG3_TYPE) stack, + 0xc589); + ptrace (PTRACE_SINGLESTEP, inferior_pid, (PTRACE_ARG3_TYPE) stack, + 0); + wait (0); + ptrace (PTRACE_POKEDATA, inferior_pid, (PTRACE_ARG3_TYPE) stack, + stuff); + inferior_registers.r_reg[EAX] = reg; + } +#endif + ptrace (PTRACE_SETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_registers); + ptrace (PTRACE_SETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) &inferior_fp_registers); +} diff --git a/contrib/gdb/gdb/tahoe-tdep.c b/contrib/gdb/gdb/tahoe-tdep.c new file mode 100644 index 0000000000000..281b1cfb440c4 --- /dev/null +++ b/contrib/gdb/gdb/tahoe-tdep.c @@ -0,0 +1,234 @@ +/* Print instructions for Tahoe target machines, for GDB. + Copyright 1986, 1989, 1991, 1992 Free Software Foundation, Inc. + Contributed by the State University of New York at Buffalo, by the + Distributed Computer Systems Lab, Department of Computer Science, 1991. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "symtab.h" +#include "opcode/tahoe.h" + +/* Tahoe instructions are never longer than this. */ +#define MAXLEN 62 + +/* Number of elements in the opcode table. */ +#define NOPCODES (sizeof votstrs / sizeof votstrs[0]) + +static unsigned char *print_insn_arg (); + +/* Print the Tahoe instruction at address MEMADDR in debugged memory, + on STREAM. Returns length of the instruction, in bytes. */ + +int +tahoe_print_insn (memaddr, stream) + CORE_ADDR memaddr; + GDB_FILE *stream; +{ + unsigned char buffer[MAXLEN]; + register int i; + register unsigned char *p; + register char *d; + + read_memory (memaddr, buffer, MAXLEN); + + for (i = 0; i < NOPCODES; i++) + if (votstrs[i].detail.code == buffer[0] + || votstrs[i].detail.code == *(unsigned short *)buffer) + break; + + /* Handle undefined instructions. */ + if (i == NOPCODES) + { + fprintf_unfiltered (stream, "0%o", buffer[0]); + return 1; + } + + fprintf_unfiltered (stream, "%s", votstrs[i].name); + + /* Point at first byte of argument data, + and at descriptor for first argument. */ + p = buffer + 1 + (votstrs[i].detail.code >= 0x100); + d = votstrs[i].detail.args; + + if (*d) + fputc_unfiltered ('\t', stream); + + while (*d) + { + p = print_insn_arg (d, p, memaddr + (p - buffer), stream); + d += 2; + if (*d) + fprintf_unfiltered (stream, ","); + } + return p - buffer; +} +/*******************************************************************/ +static unsigned char * +print_insn_arg (d, p, addr, stream) + char *d; + register char *p; + CORE_ADDR addr; + GDB_FILE *stream; +{ + int temp1 = 0; + register int regnum = *p & 0xf; + float floatlitbuf; + + if (*d == 'b') + { + if (d[1] == 'b') + fprintf_unfiltered (stream, "0x%x", addr + *p++ + 1); + else + { + + temp1 = *p; + temp1 <<= 8; + temp1 |= *(p + 1); + fprintf_unfiltered (stream, "0x%x", addr + temp1 + 2); + p += 2; + } + } + else + switch ((*p++ >> 4) & 0xf) + { + case 0: + case 1: + case 2: + case 3: /* Literal (short immediate byte) mode */ + if (d[1] == 'd' || d[1] == 'f' || d[1] == 'g' || d[1] == 'h') + { + *(int *)&floatlitbuf = 0x4000 + ((p[-1] & 0x3f) << 4); + fprintf_unfiltered (stream, "$%f", floatlitbuf); + } + else + fprintf_unfiltered (stream, "$%d", p[-1] & 0x3f); + break; + + case 4: /* Indexed */ + p = (char *) print_insn_arg (d, p, addr + 1, stream); + fprintf_unfiltered (stream, "[%s]", reg_names[regnum]); + break; + + case 5: /* Register */ + fprintf_unfiltered (stream, reg_names[regnum]); + break; + + case 7: /* Autodecrement */ + fputc_unfiltered ('-', stream); + case 6: /* Register deferred */ + fprintf_unfiltered (stream, "(%s)", reg_names[regnum]); + break; + + case 9: /* Absolute Address & Autoincrement deferred */ + fputc_unfiltered ('*', stream); + if (regnum == PC_REGNUM) + { + temp1 = *p; + temp1 <<= 8; + temp1 |= *(p +1); + + fputc_unfiltered ('$', stream); + print_address (temp1, stream); + p += 4; + break; + } + case 8: /*Immediate & Autoincrement SP */ + if (regnum == 8) /*88 is Immediate Byte Mode*/ + fprintf_unfiltered (stream, "$%d", *p++); + + else if (regnum == 9) /*89 is Immediate Word Mode*/ + { + temp1 = *p; + temp1 <<= 8; + temp1 |= *(p +1); + fprintf_unfiltered (stream, "$%d", temp1); + p += 2; + } + + else if (regnum == PC_REGNUM) /*8F is Immediate Long Mode*/ + { + temp1 = *p; + temp1 <<=8; + temp1 |= *(p +1); + temp1 <<=8; + temp1 |= *(p +2); + temp1 <<= 8; + temp1 |= *(p +3); + fprintf_unfiltered (stream, "$%d", temp1); + p += 4; + } + + else /*8E is Autoincrement SP Mode*/ + fprintf_unfiltered (stream, "(%s)+", reg_names[regnum]); + break; + + case 11: /* Register + Byte Displacement Deferred Mode*/ + fputc_unfiltered ('*', stream); + case 10: /* Register + Byte Displacement Mode*/ + if (regnum == PC_REGNUM) + print_address (addr + *p + 2, stream); + else + fprintf_unfiltered (stream, "%d(%s)", *p, reg_names[regnum]); + p += 1; + break; + + case 13: /* Register + Word Displacement Deferred Mode*/ + fputc_unfiltered ('*', stream); + case 12: /* Register + Word Displacement Mode*/ + temp1 = *p; + temp1 <<= 8; + temp1 |= *(p +1); + if (regnum == PC_REGNUM) + print_address (addr + temp1 + 3, stream); + else + fprintf_unfiltered (stream, "%d(%s)", temp1, reg_names[regnum]); + p += 2; + break; + + case 15: /* Register + Long Displacement Deferred Mode*/ + fputc_unfiltered ('*', stream); + case 14: /* Register + Long Displacement Mode*/ + temp1 = *p; + temp1 <<= 8; + temp1 |= *(p +1); + temp1 <<= 8; + temp1 |= *(p +2); + temp1 <<= 8; + temp1 |= *(p +3); + if (regnum == PC_REGNUM) + print_address (addr + temp1 + 5, stream); + else + fprintf_unfiltered (stream, "%d(%s)", temp1, reg_names[regnum]); + p += 4; + } + + return (unsigned char *) p; +} + + + + + + + + + + + + + diff --git a/contrib/gdb/gdb/ultra3-nat.c b/contrib/gdb/gdb/ultra3-nat.c new file mode 100644 index 0000000000000..d348c6f7cd35a --- /dev/null +++ b/contrib/gdb/gdb/ultra3-nat.c @@ -0,0 +1,323 @@ +/* Native-dependent code for GDB, for NYU Ultra3 running Sym1 OS. + Copyright (C) 1988, 1989, 1991, 1992 Free Software Foundation, Inc. + Contributed by David Wood (wood@nyu.edu) at New York University. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define DEBUG +#include "defs.h" +#include "frame.h" +#include "inferior.h" +#include "symtab.h" +#include "value.h" + +#include <sys/types.h> +#include <sys/param.h> +#include <signal.h> +#include <sys/ioctl.h> +#include <fcntl.h> + +#include "gdbcore.h" + +#include <sys/file.h> +#include "gdb_stat.h" + +/* Assumes support for AMD's Binary Compatibility Standard + for ptrace(). If you define ULTRA3, the ultra3 extensions to + ptrace() are used allowing the reading of more than one register + at a time. + + This file assumes KERNEL_DEBUGGING is turned off. This means + that if the user/gdb tries to read gr64-gr95 or any of the + protected special registers we silently return -1 (see the + CANNOT_STORE/FETCH_REGISTER macros). */ +#define ULTRA3 + +#if !defined (offsetof) +# define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER) +#endif + +extern int errno; +struct ptrace_user pt_struct; + +/* Get all available registers from the inferior. Registers that are + * defined in REGISTER_NAMES, but not available to the user/gdb are + * supplied as -1. This may include gr64-gr95 and the protected special + * purpose registers. + */ + +void +fetch_inferior_registers (regno) + int regno; +{ + register int i,j,ret_val=0; + char buf[128]; + + if (regno != -1) { + fetch_register (regno); + return; + } + +/* Global Registers */ +#ifdef ULTRA3 + errno = 0; + ptrace (PT_READ_STRUCT, inferior_pid, + (PTRACE_ARG3_TYPE) register_addr(GR96_REGNUM,0), + (int)&pt_struct.pt_gr[0], 32*4); + if (errno != 0) { + perror_with_name ("reading global registers"); + ret_val = -1; + } else for (regno=GR96_REGNUM, j=0 ; j<32 ; regno++, j++) { + supply_register (regno, &pt_struct.pt_gr[j]); + } +#else + for (regno=GR96_REGNUM ; !ret_val && regno < GR96_REGNUM+32 ; regno++) + fetch_register(regno); +#endif + +/* Local Registers */ +#ifdef ULTRA3 + errno = 0; + ptrace (PT_READ_STRUCT, inferior_pid, + (PTRACE_ARG3_TYPE) register_addr(LR0_REGNUM,0), + (int)&pt_struct.pt_lr[0], 128*4); + if (errno != 0) { + perror_with_name ("reading local registers"); + ret_val = -1; + } else for (regno=LR0_REGNUM, j=0 ; j<128 ; regno++, j++) { + supply_register (regno, &pt_struct.pt_lr[j]); + } +#else + for (regno=LR0_REGNUM ; !ret_val && regno < LR0_REGNUM+128 ; regno++) + fetch_register(regno); +#endif + +/* Special Registers */ + fetch_register(GR1_REGNUM); + fetch_register(CPS_REGNUM); + fetch_register(PC_REGNUM); + fetch_register(NPC_REGNUM); + fetch_register(PC2_REGNUM); + fetch_register(IPC_REGNUM); + fetch_register(IPA_REGNUM); + fetch_register(IPB_REGNUM); + fetch_register(Q_REGNUM); + fetch_register(BP_REGNUM); + fetch_register(FC_REGNUM); + +/* Fake any registers that are in REGISTER_NAMES, but not available to gdb */ + registers_fetched(); +} + +/* Store our register values back into the inferior. + * If REGNO is -1, do this for all registers. + * Otherwise, REGNO specifies which register (so we can save time). + * NOTE: Assumes AMD's binary compatibility standard. + */ + +void +store_inferior_registers (regno) + int regno; +{ + register unsigned int regaddr; + char buf[80]; + + if (regno >= 0) + { + if (CANNOT_STORE_REGISTER(regno)) + return; + regaddr = register_addr (regno, 0); + errno = 0; + ptrace (PT_WRITE_U, inferior_pid, + (PTRACE_ARG3_TYPE) regaddr, read_register(regno)); + if (errno != 0) + { + sprintf (buf, "writing register %s (#%d)", reg_names[regno],regno); + perror_with_name (buf); + } + } + else + { +#ifdef ULTRA3 + pt_struct.pt_gr1 = read_register(GR1_REGNUM); + for (regno = GR96_REGNUM; regno < GR96_REGNUM+32; regno++) + pt_struct.pt_gr[regno] = read_register(regno); + for (regno = LR0_REGNUM; regno < LR0_REGNUM+128; regno++) + pt_struct.pt_gr[regno] = read_register(regno); + errno = 0; + ptrace (PT_WRITE_STRUCT, inferior_pid, + (PTRACE_ARG3_TYPE) register_addr(GR1_REGNUM,0), + (int)&pt_struct.pt_gr1,(1*32*128)*4); + if (errno != 0) + { + sprintf (buf, "writing all local/global registers"); + perror_with_name (buf); + } + pt_struct.pt_psr = read_register(CPS_REGNUM); + pt_struct.pt_pc0 = read_register(NPC_REGNUM); + pt_struct.pt_pc1 = read_register(PC_REGNUM); + pt_struct.pt_pc2 = read_register(PC2_REGNUM); + pt_struct.pt_ipc = read_register(IPC_REGNUM); + pt_struct.pt_ipa = read_register(IPA_REGNUM); + pt_struct.pt_ipb = read_register(IPB_REGNUM); + pt_struct.pt_q = read_register(Q_REGNUM); + pt_struct.pt_bp = read_register(BP_REGNUM); + pt_struct.pt_fc = read_register(FC_REGNUM); + errno = 0; + ptrace (PT_WRITE_STRUCT, inferior_pid, + (PTRACE_ARG3_TYPE) register_addr(CPS_REGNUM,0), + (int)&pt_struct.pt_psr,(10)*4); + if (errno != 0) + { + sprintf (buf, "writing all special registers"); + perror_with_name (buf); + return; + } +#else + store_inferior_registers(GR1_REGNUM); + for (regno=GR96_REGNUM ; regno<GR96_REGNUM+32 ; regno++) + store_inferior_registers(regno); + for (regno=LR0_REGNUM ; regno<LR0_REGNUM+128 ; regno++) + store_inferior_registers(regno); + store_inferior_registers(CPS_REGNUM); + store_inferior_registers(PC_REGNUM); + store_inferior_registers(NPC_REGNUM); + store_inferior_registers(PC2_REGNUM); + store_inferior_registers(IPC_REGNUM); + store_inferior_registers(IPA_REGNUM); + store_inferior_registers(IPB_REGNUM); + store_inferior_registers(Q_REGNUM); + store_inferior_registers(BP_REGNUM); + store_inferior_registers(FC_REGNUM); +#endif /* ULTRA3 */ + } +} + +/* + * Fetch an individual register (and supply it). + * return 0 on success, -1 on failure. + * NOTE: Assumes AMD's Binary Compatibility Standard for ptrace(). + */ +static void +fetch_register (regno) + int regno; +{ + char buf[128]; + int val; + + if (CANNOT_FETCH_REGISTER(regno)) { + val = -1; + supply_register (regno, &val); + } else { + errno = 0; + val = ptrace (PT_READ_U, inferior_pid, + (PTRACE_ARG3_TYPE) register_addr(regno,0), 0); + if (errno != 0) { + sprintf(buf,"reading register %s (#%d)",reg_names[regno],regno); + perror_with_name (buf); + } else { + supply_register (regno, &val); + } + } +} + + +/* + * Read AMD's Binary Compatibilty Standard conforming core file. + * struct ptrace_user is the first thing in the core file + */ + +static void +fetch_core_registers () +{ + register int regno; + int val; + char buf[4]; + + for (regno = 0 ; regno < NUM_REGS; regno++) { + if (!CANNOT_FETCH_REGISTER(regno)) { + val = bfd_seek (core_bfd, (file_ptr) register_addr (regno, 0), SEEK_SET); + if (val < 0 || (val = bfd_read (buf, sizeof buf, 1, core_bfd)) < 0) { + char * buffer = (char *) alloca (strlen (reg_names[regno]) + 35); + strcpy (buffer, "Reading core register "); + strcat (buffer, reg_names[regno]); + perror_with_name (buffer); + } + supply_register (regno, buf); + } + } + + /* Fake any registers that are in REGISTER_NAMES, but not available to gdb */ + registers_fetched(); +} + + +/* + * Takes a register number as defined in tm.h via REGISTER_NAMES, and maps + * it to an offset in a struct ptrace_user defined by AMD's BCS. + * That is, it defines the mapping between gdb register numbers and items in + * a struct ptrace_user. + * A register protection scheme is set up here. If a register not + * available to the user is specified in 'regno', then an address that + * will cause ptrace() to fail is returned. + */ +unsigned int +register_addr (regno,blockend) + unsigned int regno; + char *blockend; +{ + if ((regno >= LR0_REGNUM) && (regno < LR0_REGNUM + 128)) { + return(offsetof(struct ptrace_user,pt_lr[regno-LR0_REGNUM])); + } else if ((regno >= GR96_REGNUM) && (regno < GR96_REGNUM + 32)) { + return(offsetof(struct ptrace_user,pt_gr[regno-GR96_REGNUM])); + } else { + switch (regno) { + case GR1_REGNUM: return(offsetof(struct ptrace_user,pt_gr1)); + case CPS_REGNUM: return(offsetof(struct ptrace_user,pt_psr)); + case NPC_REGNUM: return(offsetof(struct ptrace_user,pt_pc0)); + case PC_REGNUM: return(offsetof(struct ptrace_user,pt_pc1)); + case PC2_REGNUM: return(offsetof(struct ptrace_user,pt_pc2)); + case IPC_REGNUM: return(offsetof(struct ptrace_user,pt_ipc)); + case IPA_REGNUM: return(offsetof(struct ptrace_user,pt_ipa)); + case IPB_REGNUM: return(offsetof(struct ptrace_user,pt_ipb)); + case Q_REGNUM: return(offsetof(struct ptrace_user,pt_q)); + case BP_REGNUM: return(offsetof(struct ptrace_user,pt_bp)); + case FC_REGNUM: return(offsetof(struct ptrace_user,pt_fc)); + default: + fprintf_filtered(gdb_stderr,"register_addr():Bad register %s (%d)\n", + reg_names[regno],regno); + return(0xffffffff); /* Should make ptrace() fail */ + } + } +} + + +/* Register that we are able to handle ultra3 core file formats. + FIXME: is this really bfd_target_unknown_flavour? */ + +static struct core_fns ultra3_core_fns = +{ + bfd_target_unknown_flavour, + fetch_core_registers, + NULL +}; + +void +_initialize_core_ultra3 () +{ + add_core_fns (&ultra3_core_fns); +} diff --git a/contrib/gdb/gdb/ultra3-xdep.c b/contrib/gdb/gdb/ultra3-xdep.c new file mode 100644 index 0000000000000..57bab86e3bfdc --- /dev/null +++ b/contrib/gdb/gdb/ultra3-xdep.c @@ -0,0 +1,128 @@ +/* Host-dependent code for GDB, for NYU Ultra3 running Sym1 OS. + Copyright (C) 1988, 1989, 1991, 1992 Free Software Foundation, Inc. + Contributed by David Wood (wood@nyu.edu) at New York University. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define DEBUG +#include "defs.h" +#include "frame.h" +#include "inferior.h" +#include "symtab.h" +#include "value.h" + +#include <sys/types.h> +#include <sys/param.h> +#include <signal.h> +#include <sys/ioctl.h> +#include <fcntl.h> + +#include "gdbcore.h" + +#include <sys/file.h> +#include "gdb_stat.h" + +/* Assorted operating system circumventions */ + +#ifdef SYM1 + +/* FIXME: Kludge this for now. It really should be system call. */ +int +getpagesize() +{ return(8192); } + +/* FIXME: Fake out the fcntl() call, which we don't have. */ +fcntl(fd, cmd, arg) +int fd, cmd, arg; +{ + + switch (cmd) { + case F_GETFL: return(O_RDONLY); break; + default: + printf_unfiltered("Ultra3's fcntl() failing, cmd = %d.\n",cmd); + return(-1); + } +} + + +/* + * 4.2 Signal support, requires linking with libjobs. + */ +static int _SigMask; +#define sigbit(s) (1L << ((s)-1)) + +init_SigMask() +{ + /* Taken from the sym1 kernel in machdep.c:startup() */ + _SigMask = sigbit (SIGTSTP) | sigbit (SIGTTOU) | sigbit (SIGTTIN) | + sigbit (SIGCHLD) | sigbit (SIGTINT); +} + +sigmask(signo) + int signo; +{ + return (1 << (signo-1)); +} + +sigsetmask(sigmask) +unsigned int sigmask; +{ + int i, mask = 1; + int lastmask = _SigMask; + + for (i=0 ; i<NSIG ; i++) { + if (sigmask & mask) { + if (!(_SigMask & mask)) { + sighold(i+1); + _SigMask |= mask; + } + } else if (_SigMask & mask) { + sigrelse(i+1); + _SigMask &= ~mask; + } + mask <<= 1; + } + return (lastmask); +} + +sigblock(sigmask) +unsigned int sigmask; +{ + int i, mask = 1; + int lastmask = _SigMask; + + for (i=0 ; i<NSIG ; i++) { + if ((sigmask & mask) && !(_SigMask & mask)) { + sighold(i+1); + _SigMask |= mask; + } + mask <<= 1; + } + return (lastmask); +} +#endif /* SYM1 */ + + +/* Initialization code for this module. */ + +void +_initialize_ultra3 () +{ +#ifdef SYM1 + init_SigMask(); +#endif +} diff --git a/contrib/gdb/gdb/vax-tdep.c b/contrib/gdb/gdb/vax-tdep.c new file mode 100644 index 0000000000000..062dcf25bb3b4 --- /dev/null +++ b/contrib/gdb/gdb/vax-tdep.c @@ -0,0 +1,235 @@ +/* Print VAX instructions for GDB, the GNU debugger. + Copyright 1986, 1989, 1991, 1992 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "symtab.h" +#include "opcode/vax.h" + +/* Vax instructions are never longer than this. */ +#define MAXLEN 62 + +/* Number of elements in the opcode table. */ +#define NOPCODES (sizeof votstrs / sizeof votstrs[0]) + +static unsigned char *print_insn_arg (); + +/* Print the vax instruction at address MEMADDR in debugged memory, + on STREAM. Returns length of the instruction, in bytes. */ + +int +vax_print_insn (memaddr, stream) + CORE_ADDR memaddr; + GDB_FILE *stream; +{ + unsigned char buffer[MAXLEN]; + register int i; + register unsigned char *p; + register char *d; + + read_memory (memaddr, buffer, MAXLEN); + + for (i = 0; i < NOPCODES; i++) + if (votstrs[i].detail.code == buffer[0] + || votstrs[i].detail.code == *(unsigned short *)buffer) + break; + + /* Handle undefined instructions. */ + if (i == NOPCODES) + { + fprintf_unfiltered (stream, "0%o", buffer[0]); + return 1; + } + + fprintf_unfiltered (stream, "%s", votstrs[i].name); + + /* Point at first byte of argument data, + and at descriptor for first argument. */ + p = buffer + 1 + (votstrs[i].detail.code >= 0x100); + d = votstrs[i].detail.args; + + if (*d) + fputc_unfiltered (' ', stream); + + while (*d) + { + p = print_insn_arg (d, p, memaddr + (p - buffer), stream); + d += 2; + if (*d) + fprintf_unfiltered (stream, ","); + } + return p - buffer; +} + +static unsigned char * +print_insn_arg (d, p, addr, stream) + char *d; + register char *p; + CORE_ADDR addr; + GDB_FILE *stream; +{ + register int regnum = *p & 0xf; + float floatlitbuf; + + if (*d == 'b') + { + if (d[1] == 'b') + fprintf_unfiltered (stream, "0x%x", addr + *p++ + 1); + else + { + fprintf_unfiltered (stream, "0x%x", addr + *(short *)p + 2); + p += 2; + } + } + else + switch ((*p++ >> 4) & 0xf) + { + case 0: + case 1: + case 2: + case 3: /* Literal mode */ + if (d[1] == 'd' || d[1] == 'f' || d[1] == 'g' || d[1] == 'h') + { + *(int *)&floatlitbuf = 0x4000 + ((p[-1] & 0x3f) << 4); + fprintf_unfiltered (stream, "$%f", floatlitbuf); + } + else + fprintf_unfiltered (stream, "$%d", p[-1] & 0x3f); + break; + + case 4: /* Indexed */ + p = (char *) print_insn_arg (d, p, addr + 1, stream); + fprintf_unfiltered (stream, "[%s]", reg_names[regnum]); + break; + + case 5: /* Register */ + fprintf_unfiltered (stream, reg_names[regnum]); + break; + + case 7: /* Autodecrement */ + fputc_unfiltered ('-', stream); + case 6: /* Register deferred */ + fprintf_unfiltered (stream, "(%s)", reg_names[regnum]); + break; + + case 9: /* Autoincrement deferred */ + fputc_unfiltered ('@', stream); + if (regnum == PC_REGNUM) + { + fputc_unfiltered ('#', stream); + print_address (*(long *)p, stream); + p += 4; + break; + } + case 8: /* Autoincrement */ + if (regnum == PC_REGNUM) + { + fputc_unfiltered ('#', stream); + switch (d[1]) + { + case 'b': + fprintf_unfiltered (stream, "%d", *p++); + break; + + case 'w': + fprintf_unfiltered (stream, "%d", *(short *)p); + p += 2; + break; + + case 'l': + fprintf_unfiltered (stream, "%d", *(long *)p); + p += 4; + break; + + case 'q': + fprintf_unfiltered (stream, "0x%x%08x", ((long *)p)[1], ((long *)p)[0]); + p += 8; + break; + + case 'o': + fprintf_unfiltered (stream, "0x%x%08x%08x%08x", + ((long *)p)[3], ((long *)p)[2], + ((long *)p)[1], ((long *)p)[0]); + p += 16; + break; + + case 'f': + if (INVALID_FLOAT (p, 4)) + fprintf_unfiltered (stream, "<<invalid float 0x%x>>", *(int *) p); + else + fprintf_unfiltered (stream, "%f", *(float *) p); + p += 4; + break; + + case 'd': + if (INVALID_FLOAT (p, 8)) + fprintf_unfiltered (stream, "<<invalid float 0x%x%08x>>", + ((long *)p)[1], ((long *)p)[0]); + else + fprintf_unfiltered (stream, "%f", *(double *) p); + p += 8; + break; + + case 'g': + fprintf_unfiltered (stream, "g-float"); + p += 8; + break; + + case 'h': + fprintf_unfiltered (stream, "h-float"); + p += 16; + break; + + } + } + else + fprintf_unfiltered (stream, "(%s)+", reg_names[regnum]); + break; + + case 11: /* Byte displacement deferred */ + fputc_unfiltered ('@', stream); + case 10: /* Byte displacement */ + if (regnum == PC_REGNUM) + print_address (addr + *p + 2, stream); + else + fprintf_unfiltered (stream, "%d(%s)", *p, reg_names[regnum]); + p += 1; + break; + + case 13: /* Word displacement deferred */ + fputc_unfiltered ('@', stream); + case 12: /* Word displacement */ + if (regnum == PC_REGNUM) + print_address (addr + *(short *)p + 3, stream); + else + fprintf_unfiltered (stream, "%d(%s)", *(short *)p, reg_names[regnum]); + p += 2; + break; + + case 15: /* Long displacement deferred */ + fputc_unfiltered ('@', stream); + case 14: /* Long displacement */ + if (regnum == PC_REGNUM) + print_address (addr + *(long *)p + 5, stream); + else + fprintf_unfiltered (stream, "%d(%s)", *(long *)p, reg_names[regnum]); + p += 4; + } + + return (unsigned char *) p; +} diff --git a/contrib/gdb/gdb/w65-tdep.c b/contrib/gdb/gdb/w65-tdep.c new file mode 100644 index 0000000000000..ebf8d957ab424 --- /dev/null +++ b/contrib/gdb/gdb/w65-tdep.c @@ -0,0 +1,295 @@ +/* Target-machine dependent code for WDC-65816, for GDB. + Copyright (C) 1995 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* + Contributed by Steve Chamberlain + sac@cygnus.com + */ + +#include "defs.h" +#include "frame.h" +#include "obstack.h" +#include "symtab.h" +#include "gdbcmd.h" +#include "gdbtypes.h" +#include "dis-asm.h" + + +/* Return the saved PC from this frame. */ + + +CORE_ADDR +w65_frame_saved_pc (frame) + struct frame_info *frame; +{ + return (read_memory_integer (frame->frame + 2, 4) & 0xffffff); +} + +CORE_ADDR +addr_bits_remove (x) + CORE_ADDR x; +{ + return x; +} + +read_memory_pointer (x) + CORE_ADDR x; +{ + return read_memory_integer (ADDR_BITS_REMOVE (x), 4); +} + +init_frame_pc () +{ + abort (); +} + +void +w65_push_dummy_frame () +{ + abort (); +} + +/* Put here the code to store, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. + + We cache the result of doing this in the frame_cache_obstack, since + it is fairly expensive. */ + +void +frame_find_saved_regs (fip, fsrp) + struct frame_info *fip; + struct frame_saved_regs *fsrp; +{ + int locals; + CORE_ADDR pc; + CORE_ADDR adr; + int i; + + memset (fsrp, 0, sizeof *fsrp); +} + +int +saved_pc_after_call () +{ + int sp = read_register (SP_REGNUM); + int val = read_memory_integer (sp + 1, 4); + return ADDR_BITS_REMOVE (val); +} + + +extract_return_value (type, regbuf, valbuf) + struct type *type; + char *regbuf; + char *valbuf; +{ + int b; + int len = TYPE_LENGTH (type); + + for (b = 0; b < len; b += 2) + { + int todo = len - b; + if (todo > 2) + todo = 2; + memcpy (valbuf + b, regbuf + b, todo); + } +} + +void +write_return_value (type, valbuf) + struct type *type; + char *valbuf; +{ + int reg; + int len; + for (len = 0; len < TYPE_LENGTH (type); len += 2) + { + write_register_bytes (REGISTER_BYTE (len / 2 + 2), valbuf + len, 2); + } +} + +void +store_struct_return (addr, sp) + CORE_ADDR addr; + CORE_ADDR sp; +{ + write_register (2, addr); +} + +void +w65_pop_frame () +{ +} + +init_extra_frame_info () +{ +} + +pop_frame () +{ +} + +w65_frame_chain (thisframe) + struct frame_info *thisframe; +{ + return 0xffff & read_memory_integer ((thisframe)->frame, 2); +} + +static int +gb (x) +{ + return read_memory_integer (x, 1) & 0xff; +} + +extern CORE_ADDR +w65_skip_prologue (pc) + CORE_ADDR pc; +{ + CORE_ADDR too_far = pc + 20; + + /* looking for bits of the prologue, we can expect to + see this in a frameful function: + + stack adjust: + + 3B tsc + 1A inc a + 18 clc + 69E2FF adc #0xffe2 + 3A dec a + 1B tcs + 1A inc a + + link: + + A500 lda <r15 + 48 pha + 3B tsc + 1a inc a + 8500 sta <r15 + + */ + +#define TSC 0x3b +#define TCS 0x1b +#define INCA 0x1a +#define PHA 0x48 +#define LDADIR 0xa5 +#define STADIR 0x85 + + /* Skip a stack adjust - any area between a tsc and tcs */ + if (gb (pc) == TSC) + { + while (pc < too_far && gb (pc) != TCS) + { + pc++; + } + pc++; + /* Skip a stupid inc a */ + if (gb (pc) == INCA) + pc++; + + } + /* Stack adjust can also be done with n pha's */ + while (gb (pc) == PHA) + pc++; + + /* Skip a link - that's a ld/ph/tsc/inc/sta */ + + if (gb (pc) == LDADIR + && gb (pc + 5) == STADIR + && gb (pc + 1) == gb (pc + 6) + && gb (pc + 2) == PHA + && gb (pc + 3) == TSC + && gb (pc + 4) == INCA) + { + pc += 7; + } + + return pc; +} + + +register_raw_size (n) +{ + return sim_reg_size (n); +} + + +void +print_register_hook (regno) +{ + if (regno == P_REGNUM) + { + /* CCR register */ + + int C, Z, N, V, I, D, X, M; + unsigned char b[1]; + unsigned char l; + + read_relative_register_raw_bytes (regno, b); + l = b[0]; + printf_unfiltered ("\t"); + C = (l & 0x1) != 0; + Z = (l & 0x2) != 0; + I = (l & 0x4) != 0; + D = (l & 0x8) != 0; + X = (l & 0x10) != 0; + M = (l & 0x20) != 0; + V = (l & 0x40) != 0; + N = (l & 0x80) != 0; + + printf_unfiltered ("N-%d ", N); + printf_unfiltered ("V-%d ", V); + printf_unfiltered ("M-%d ", M); + printf_unfiltered ("X-%d ", X); + printf_unfiltered ("D-%d ", D); + printf_unfiltered ("I-%d ", I); + printf_unfiltered ("Z-%d ", Z); + printf_unfiltered ("C-%d ", C); + if ((C | Z) == 0) + printf_unfiltered ("u> "); + if ((C | Z) == 1) + printf_unfiltered ("u<= "); + if ((C == 0)) + printf_unfiltered ("u>= "); + if (C == 1) + printf_unfiltered ("u< "); + if (Z == 0) + printf_unfiltered ("!= "); + if (Z == 1) + printf_unfiltered ("== "); + if ((N ^ V) == 0) + printf_unfiltered (">= "); + if ((N ^ V) == 1) + printf_unfiltered ("< "); + if ((Z | (N ^ V)) == 0) + printf_unfiltered ("> "); + if ((Z | (N ^ V)) == 1) + printf_unfiltered ("<= "); + } +} + +void +_initialize_w65_tdep () +{ + tm_print_insn = print_insn_w65; +} diff --git a/contrib/gdb/gdb/w89k-rom.c b/contrib/gdb/gdb/w89k-rom.c new file mode 100644 index 0000000000000..ee2336876d46a --- /dev/null +++ b/contrib/gdb/gdb/w89k-rom.c @@ -0,0 +1,321 @@ +/* Remote target glue for the WinBond ROM monitor running on the "Cougar" + W89k eval board. + + Copyright 1995 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "gdbcore.h" +#include "target.h" +#include "monitor.h" +#include "serial.h" +#include "xmodem.h" + +static void w89k_open PARAMS ((char *args, int from_tty)); + +/* + * this array of registers need to match the indexes used by GDB. The + * whole reason this exists is cause the various ROM monitors use + * different strings than GDB does, and doesn't support all the + * registers either. So, typing "info reg sp" becomes a "r30". + */ + +static char *w89k_regnames[NUM_REGS] = +{ + "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", + "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31", + "SAR", "PC", NULL, NULL, NULL, "EIEM", "IIR", "IVA", + "IOR", "IPSW", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "CCR", NULL, NULL, "TR0", "TR1", +}; + +static void +w89k_supply_register (regname, regnamelen, val, vallen) + char *regname; + int regnamelen; + char *val; + int vallen; +{ + int numregs; + int regno; + + numregs = 1; + regno = -1; + + if (regnamelen == 2) + switch (regname[0]) + { + case 'r': + numregs = 4; + switch (regname[1]) + { + case '0': + regno = R0_REGNUM; + break; + case '4': + regno = R0_REGNUM + 4; + break; + case '8': + regno = R0_REGNUM + 8; + break; + } + break; + case 'P': + if (regname[1] == 'C') + regno = PC_REGNUM; + break; + } + else if (regnamelen == 3) + switch (regname[0]) + { + case 'r': + numregs = 4; + if (regname[1] == '1' && regname[2] == '2') + regno = R0_REGNUM + 12; + else if (regname[1] == '1' && regname[2] == '6') + regno = R0_REGNUM + 16; + else if (regname[1] == '2' && regname[2] == '0') + regno = R0_REGNUM + 20; + else if (regname[1] == '2' && regname[2] == '4') + regno = R0_REGNUM + 24; + else if (regname[1] == '2' && regname[2] == '8') + regno = R0_REGNUM + 28; + break; + case 'R': + if (regname[1] == 'C' && regname[2] == 'R') + regno = RCR_REGNUM; + break; + case 'C': + if (regname[1] == 'C' && regname[2] == 'R') + regno = CCR_REGNUM; + break; + case 'S': + if (regname[1] == 'A' && regname[2] == 'R') + regno = SAR_REGNUM; + break; + case 'I': + if (regname[1] == 'I' && regname[2] == 'R') + regno = IIR_REGNUM; + else if (regname[1] == 'O' && regname[2] == 'R') + regno = IOR_REGNUM; + break; + case 'T': + numregs = 4; + if (regname[1] == 'R') + if (regname[2] == '0') + regno = TR0_REGNUM; + else if (regname[2] == '4') + regno = TR0_REGNUM + 4; + break; + } + else if (regnamelen == 4) + switch (regname[0]) + { + case 'E': + if (regname[1] == 'I') + if (regname[2] == 'E' && regname[3] == 'M') + regno = EIEM_REGNUM; + break; + case 'I': + if (regname[1] == 'P' && regname[2] == 'S' && regname[3] == 'W') + regno = IPSW_REGNUM; + break; + } + else if (regnamelen == 5) + switch (regname[0]) + { + case 'I': + if (regname[1] == 'A' + && regname[2] == 'O' + && regname[3] == 'Q' + && regname[4] == 'B') + regno = PCOQ_TAIL_REGNUM; + break; + } + + if (regno >= 0) + while (numregs-- > 0) + val = monitor_supply_register (regno++, val); +} + +static int hashmark = 1; /* flag set by "set hash" */ + +extern struct monitor_ops w89k_cmds; /* fwd decl */ + +static void +w89k_load (desc, file, hashmark) + serial_t desc; + char *file; + int hashmark; +{ + bfd *abfd; + asection *s; + char *buffer; + int i; + + buffer = alloca (XMODEM_PACKETSIZE); + + abfd = bfd_openr (file, 0); + if (!abfd) + { + printf_filtered ("Unable to open file %s\n", file); + return; + } + + if (bfd_check_format (abfd, bfd_object) == 0) + { + printf_filtered ("File is not an object file\n"); + return; + } + + for (s = abfd->sections; s; s = s->next) + if (s->flags & SEC_LOAD) + { + bfd_size_type section_size; + + printf_filtered ("%s\t: 0x%4x .. 0x%4x ", s->name, s->vma, + s->vma + s->_raw_size); + gdb_flush (gdb_stdout); + + monitor_printf (w89k_cmds.load, s->vma); + if (w89k_cmds.loadresp) + monitor_expect (w89k_cmds.loadresp, NULL, 0); + + xmodem_init_xfer (desc); + + section_size = bfd_section_size (abfd, s); + + for (i = 0; i < section_size; i += XMODEM_DATASIZE) + { + int numbytes; + + numbytes = min (XMODEM_DATASIZE, section_size - i); + + bfd_get_section_contents (abfd, s, buffer + XMODEM_DATAOFFSET, i, + numbytes); + + xmodem_send_packet (desc, buffer, numbytes, hashmark); + + if (hashmark) + { + putchar_unfiltered ('#'); + gdb_flush (gdb_stdout); + } + } /* Per-packet (or S-record) loop */ + + xmodem_finish_xfer (desc); + + monitor_expect_prompt (NULL, 0); + + putchar_unfiltered ('\n'); + } /* Loadable sections */ + + if (hashmark) + putchar_unfiltered ('\n'); +} + +/* + * Define the monitor command strings. Since these are passed directly + * through to a printf style function, we need can include formatting + * strings. We also need a CR or LF on the end. + */ + +static struct target_ops w89k_ops; + +static char *w89k_inits[] = {"\n", NULL}; + +static struct monitor_ops w89k_cmds = +{ + MO_GETMEM_NEEDS_RANGE|MO_FILL_USES_ADDR, /* flags */ + w89k_inits, /* Init strings */ + "g\n", /* continue command */ + "t\n", /* single step */ + "\003", /* Interrupt char (^C) */ + "bp %x\n", /* set a breakpoint */ + "bc %x\n", /* clear a breakpoint */ + "bc *\n", /* clear all breakpoints */ + "f %x %x %x\n", /* memory fill cmd */ + { + "eb %x %x\n", /* setmem.cmdb (addr, value) */ + "eh %x %x\n", /* setmem.cmdw (addr, value) */ + "ew %x %x\n", /* setmem.cmdl (addr, value) */ + NULL, /* setmem.cmdll (addr, value) */ + NULL, /* setreg.resp_delim */ + NULL, /* setreg.term */ + NULL, /* setreg.term_cmd */ + }, + { + "db %x %x\n", /* getmem.cmdb (startaddr, endaddr) */ + "dh %x %x\n", /* getmem.cmdw (startaddr, endaddr) */ + "dw %x %x\n", /* getmem.cmdl (startaddr, endaddr) */ + NULL, /* getmem.cmdll (startaddr, endaddr) */ + " ", /* getmem.resp_delim */ + NULL, /* getmem.term */ + NULL, /* getmem.term_cmd */ + }, + { + "r %s %x\n", /* setreg.cmd (name, value) */ + NULL, /* setreg.resp_delim */ + NULL, /* setreg.term */ + NULL, /* setreg.term_cmd */ + }, + { + "r %s\n", /* getreg.cmd (name) */ + "\r", /* getreg.resp_delim */ + NULL, /* getreg.term */ + NULL, /* getreg.term_cmd */ + }, + "r\n", /* dump_registers */ + "\\(\\w+\\)\\( +[0-9a-fA-F]+\\b\\)+", + w89k_supply_register, /* supply_register */ + w89k_load, /* load routine */ + "u %x\n", /* download command */ + "\021", /* load response (^Q) */ + "ROM>", /* monitor command prompt */ + "\n", /* end-of-line terminator */ + NULL, /* optional command terminator */ + &w89k_ops, /* target operations */ + SERIAL_1_STOPBITS, /* number of stop bits */ + w89k_regnames, /* register names */ + MONITOR_OPS_MAGIC /* magic */ + }; + +static void +w89k_open(args, from_tty) + char *args; + int from_tty; +{ + monitor_open (args, &w89k_cmds, from_tty); +} + +void +_initialize_w89k () +{ + init_monitor_ops (&w89k_ops); + + w89k_ops.to_shortname = "w89k"; + w89k_ops.to_longname = "WinBond's debug monitor for the W89k Eval board"; + w89k_ops.to_doc = "Debug on a WinBond W89K eval board.\n\ +Specify the serial device it is connected to (e.g. /dev/ttya)."; + w89k_ops.to_open = w89k_open; + + add_target (&w89k_ops); +} diff --git a/contrib/gdb/gdb/win32-nat.c b/contrib/gdb/gdb/win32-nat.c new file mode 100644 index 0000000000000..2b50f6d661f37 --- /dev/null +++ b/contrib/gdb/gdb/win32-nat.c @@ -0,0 +1,1095 @@ +/* Target-vector operations for controlling win32 child processes, for GDB. + Copyright 1995, 1996 + Free Software Foundation, Inc. + + Contributed by Cygnus Support. + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without eve nthe implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* by Steve Chamberlain, sac@cygnus.com */ + +#include "defs.h" +#include "frame.h" /* required by inferior.h */ +#include "inferior.h" +#include "target.h" +#include "wait.h" +#include "gdbcore.h" +#include "command.h" +#include <signal.h> +#include <sys/types.h> +#include <fcntl.h> +#include <windows.h> +#include "buildsym.h" +#include "symfile.h" +#include "objfiles.h" +#include "gdb_string.h" +#include "thread.h" +#include "gdbcmd.h" +#include <sys/param.h> + +#define CHECK(x) check (x, __FILE__,__LINE__) +#define DEBUG_EXEC(x) if (debug_exec) printf x +#define DEBUG_EVENTS(x) if (debug_events) printf x +#define DEBUG_MEM(x) if (debug_memory) printf x +#define DEBUG_EXCEPT(x) if (debug_exceptions) printf x + +/* Forward declaration */ +extern struct target_ops child_ops; + +/* The most recently read context. Inspect ContextFlags to see what + bits are valid. */ + +static CONTEXT context; + +/* The process and thread handles for the above context. */ + +static HANDLE current_process; +static HANDLE current_thread; +static int current_process_id; +static int current_thread_id; + +/* Counts of things. */ +static int exception_count = 0; +static int event_count = 0; + +/* User options. */ +static int new_console = 0; +static int new_group = 0; +static int dos_path_style = 0; +static int debug_exec = 0; /* show execution */ +static int debug_events = 0; /* show events from kernel */ +static int debug_memory = 0; /* show target memory accesses */ +static int debug_exceptions = 0; /* show target exceptions */ + +/* This vector maps GDB's idea of a register's number into an address + in the win32 exception context vector. + + It also contains the bit mask needed to load the register in question. + + One day we could read a reg, we could inspect the context we + already have loaded, if it doesn't have the bit set that we need, + we read that set of registers in using GetThreadContext. If the + context already contains what we need, we just unpack it. Then to + write a register, first we have to ensure that the context contains + the other regs of the group, and then we copy the info in and set + out bit. */ + +struct regmappings + { + char *incontext; + int mask; + }; + + +static const struct regmappings mappings[] = +{ +#ifdef __PPC__ + {(char *) &context.Gpr0, CONTEXT_INTEGER}, + {(char *) &context.Gpr1, CONTEXT_INTEGER}, + {(char *) &context.Gpr2, CONTEXT_INTEGER}, + {(char *) &context.Gpr3, CONTEXT_INTEGER}, + {(char *) &context.Gpr4, CONTEXT_INTEGER}, + {(char *) &context.Gpr5, CONTEXT_INTEGER}, + {(char *) &context.Gpr6, CONTEXT_INTEGER}, + {(char *) &context.Gpr7, CONTEXT_INTEGER}, + + {(char *) &context.Gpr8, CONTEXT_INTEGER}, + {(char *) &context.Gpr9, CONTEXT_INTEGER}, + {(char *) &context.Gpr10, CONTEXT_INTEGER}, + {(char *) &context.Gpr11, CONTEXT_INTEGER}, + {(char *) &context.Gpr12, CONTEXT_INTEGER}, + {(char *) &context.Gpr13, CONTEXT_INTEGER}, + {(char *) &context.Gpr14, CONTEXT_INTEGER}, + {(char *) &context.Gpr15, CONTEXT_INTEGER}, + + {(char *) &context.Gpr16, CONTEXT_INTEGER}, + {(char *) &context.Gpr17, CONTEXT_INTEGER}, + {(char *) &context.Gpr18, CONTEXT_INTEGER}, + {(char *) &context.Gpr19, CONTEXT_INTEGER}, + {(char *) &context.Gpr20, CONTEXT_INTEGER}, + {(char *) &context.Gpr21, CONTEXT_INTEGER}, + {(char *) &context.Gpr22, CONTEXT_INTEGER}, + {(char *) &context.Gpr23, CONTEXT_INTEGER}, + + {(char *) &context.Gpr24, CONTEXT_INTEGER}, + {(char *) &context.Gpr25, CONTEXT_INTEGER}, + {(char *) &context.Gpr26, CONTEXT_INTEGER}, + {(char *) &context.Gpr27, CONTEXT_INTEGER}, + {(char *) &context.Gpr28, CONTEXT_INTEGER}, + {(char *) &context.Gpr29, CONTEXT_INTEGER}, + {(char *) &context.Gpr30, CONTEXT_INTEGER}, + {(char *) &context.Gpr31, CONTEXT_INTEGER}, + + {(char *) &context.Fpr0, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr1, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr2, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr3, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr4, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr5, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr6, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr7, CONTEXT_FLOATING_POINT}, + + {(char *) &context.Fpr8, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr9, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr10, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr11, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr12, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr13, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr14, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr15, CONTEXT_FLOATING_POINT}, + + {(char *) &context.Fpr16, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr17, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr18, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr19, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr20, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr21, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr22, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr23, CONTEXT_FLOATING_POINT}, + + {(char *) &context.Fpr24, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr25, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr26, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr27, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr28, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr29, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr30, CONTEXT_FLOATING_POINT}, + {(char *) &context.Fpr31, CONTEXT_FLOATING_POINT}, + + + {(char *) &context.Iar, CONTEXT_CONTROL}, + {(char *) &context.Msr, CONTEXT_CONTROL}, + {(char *) &context.Cr, CONTEXT_INTEGER}, + {(char *) &context.Lr, CONTEXT_CONTROL}, + {(char *) &context.Ctr, CONTEXT_CONTROL}, + + {(char *) &context.Xer, CONTEXT_INTEGER}, + {0,0}, /* MQ, but there isn't one */ +#else + {(char *) &context.Eax, CONTEXT_INTEGER}, + {(char *) &context.Ecx, CONTEXT_INTEGER}, + {(char *) &context.Edx, CONTEXT_INTEGER}, + {(char *) &context.Ebx, CONTEXT_INTEGER}, + {(char *) &context.Esp, CONTEXT_CONTROL}, + {(char *) &context.Ebp, CONTEXT_CONTROL}, + {(char *) &context.Esi, CONTEXT_INTEGER}, + {(char *) &context.Edi, CONTEXT_INTEGER}, + {(char *) &context.Eip, CONTEXT_CONTROL}, + {(char *) &context.EFlags, CONTEXT_CONTROL}, + {(char *) &context.SegCs, CONTEXT_SEGMENTS}, + {(char *) &context.SegSs, CONTEXT_SEGMENTS}, + {(char *) &context.SegDs, CONTEXT_SEGMENTS}, + {(char *) &context.SegEs, CONTEXT_SEGMENTS}, + {(char *) &context.SegFs, CONTEXT_SEGMENTS}, + {(char *) &context.SegGs, CONTEXT_SEGMENTS}, + {&context.FloatSave.RegisterArea[0 * 10], CONTEXT_FLOATING_POINT}, + {&context.FloatSave.RegisterArea[1 * 10], CONTEXT_FLOATING_POINT}, + {&context.FloatSave.RegisterArea[2 * 10], CONTEXT_FLOATING_POINT}, + {&context.FloatSave.RegisterArea[3 * 10], CONTEXT_FLOATING_POINT}, + {&context.FloatSave.RegisterArea[4 * 10], CONTEXT_FLOATING_POINT}, + {&context.FloatSave.RegisterArea[5 * 10], CONTEXT_FLOATING_POINT}, + {&context.FloatSave.RegisterArea[6 * 10], CONTEXT_FLOATING_POINT}, + {&context.FloatSave.RegisterArea[7 * 10], CONTEXT_FLOATING_POINT}, +#endif +}; + + +/* This vector maps the target's idea of an exception (extracted + from the DEBUG_EVENT structure) to GDB's idea. */ + +struct xlate_exception + { + int them; + enum target_signal us; + }; + + +static const struct xlate_exception + xlate[] = +{ + {EXCEPTION_ACCESS_VIOLATION, TARGET_SIGNAL_SEGV}, + {STATUS_STACK_OVERFLOW, TARGET_SIGNAL_SEGV}, + {EXCEPTION_BREAKPOINT, TARGET_SIGNAL_TRAP}, + {DBG_CONTROL_C, TARGET_SIGNAL_INT}, + {EXCEPTION_SINGLE_STEP, TARGET_SIGNAL_TRAP}, + {-1, -1}}; + + +static void +check (BOOL ok, const char *file, int line) +{ + if (!ok) + printf_filtered ("error return %s:%d was %d\n", file, line, GetLastError ()); +} + +static void +child_fetch_inferior_registers (int r) +{ + if (r < 0) + { + for (r = 0; r < NUM_REGS; r++) + child_fetch_inferior_registers (r); + } + else + { + supply_register (r, mappings[r].incontext); + } +} + +static void +child_store_inferior_registers (int r) +{ + if (r < 0) + { + for (r = 0; r < NUM_REGS; r++) + child_store_inferior_registers (r); + } + else + { + read_register_gen (r, mappings[r].incontext); + } +} + + +/* Wait for child to do something. Return pid of child, or -1 in case + of error; store status through argument pointer OURSTATUS. */ + + +static int +handle_load_dll (char *eventp) +{ + DEBUG_EVENT * event = (DEBUG_EVENT *)eventp; + DWORD dll_name_ptr; + DWORD done; + + ReadProcessMemory (current_process, + (DWORD) event->u.LoadDll.lpImageName, + (char *) &dll_name_ptr, + sizeof (dll_name_ptr), &done); + + /* See if we could read the address of a string, and that the + address isn't null. */ + + if (done == sizeof (dll_name_ptr) && dll_name_ptr) + { + char *dll_name, *dll_basename; + struct objfile *objfile; + char unix_dll_name[MAX_PATH]; + int size = event->u.LoadDll.fUnicode ? sizeof (WCHAR) : sizeof (char); + int len = 0; + char b[2]; + do + { + ReadProcessMemory (current_process, + dll_name_ptr + len * size, + &b, + size, + &done); + len++; + } + while ((b[0] != 0 || b[size - 1] != 0) && done == size); + + dll_name = alloca (len); + + if (event->u.LoadDll.fUnicode) + { + WCHAR *unicode_dll_name = (WCHAR *) alloca (len * sizeof (WCHAR)); + ReadProcessMemory (current_process, + dll_name_ptr, + unicode_dll_name, + len * sizeof (WCHAR), + &done); + + WideCharToMultiByte (CP_ACP, 0, + unicode_dll_name, len, + dll_name, len, 0, 0); + } + else + { + ReadProcessMemory (current_process, + dll_name_ptr, + dll_name, + len, + &done); + } + + + dos_path_to_unix_path (dll_name, unix_dll_name); + + /* FIXME!! It would be nice to define one symbol which pointed to the + front of the dll if we can't find any symbols. */ + + if (!(dll_basename = strrchr(dll_name, '\\'))) + dll_basename = strrchr(dll_name, '/'); + + ALL_OBJFILES(objfile) + { + char *objfile_basename; + if (!(objfile_basename = strrchr(objfile->name, '\\'))) + objfile_basename = strrchr(objfile->name, '/'); + + if (dll_basename && objfile_basename && + strcmp(dll_basename+1, objfile_basename+1) == 0) + { + printf_unfiltered ("%s (symbols previously loaded)\n", + dll_basename + 1); + return 1; + } + } + + + context.ContextFlags = CONTEXT_FULL | CONTEXT_FLOATING_POINT; + GetThreadContext (current_thread, &context); + + /* The symbols in a dll are offset by 0x1000, which is the + the offset from 0 of the first byte in an image - because + of the file header and the section alignment. + + FIXME: Is this the real reason that we need the 0x1000 ? */ + + + symbol_file_add (unix_dll_name, 0, + (int) event->u.LoadDll.lpBaseOfDll + 0x1000, 0, 0, 0); + + printf_unfiltered ("%x:%s\n", event->u.LoadDll.lpBaseOfDll, + unix_dll_name); + } + return 1; +} + + +static void +handle_exception (DEBUG_EVENT * event, struct target_waitstatus *ourstatus) +{ + int i; + int done = 0; + ourstatus->kind = TARGET_WAITKIND_STOPPED; + + + switch (event->u.Exception.ExceptionRecord.ExceptionCode) + { + case EXCEPTION_ACCESS_VIOLATION: + DEBUG_EXCEPT (("gdb: Target exception ACCESS_VIOLATION at 0x%08x\n", + event->u.Exception.ExceptionRecord.ExceptionAddress)); + ourstatus->value.sig = TARGET_SIGNAL_SEGV; + break; + case STATUS_STACK_OVERFLOW: + DEBUG_EXCEPT (("gdb: Target exception STACK_OVERFLOW at 0x%08x\n", + event->u.Exception.ExceptionRecord.ExceptionAddress)); + ourstatus->value.sig = TARGET_SIGNAL_SEGV; + break; + case EXCEPTION_BREAKPOINT: + DEBUG_EXCEPT (("gdb: Target exception BREAKPOINT at 0x%08x\n", + event->u.Exception.ExceptionRecord.ExceptionAddress)); + ourstatus->value.sig = TARGET_SIGNAL_TRAP; + break; + case DBG_CONTROL_C: + DEBUG_EXCEPT (("gdb: Target exception CONTROL_C at 0x%08x\n", + event->u.Exception.ExceptionRecord.ExceptionAddress)); + ourstatus->value.sig = TARGET_SIGNAL_INT; + break; + case EXCEPTION_SINGLE_STEP: + DEBUG_EXCEPT (("gdb: Target exception SINGLE_STEP at 0x%08x\n", + event->u.Exception.ExceptionRecord.ExceptionAddress)); + ourstatus->value.sig = TARGET_SIGNAL_TRAP; + break; + default: + printf_unfiltered ("gdb: unknown target exception 0x%08x at 0x%08x\n", + event->u.Exception.ExceptionRecord.ExceptionCode, + event->u.Exception.ExceptionRecord.ExceptionAddress); + ourstatus->value.sig = TARGET_SIGNAL_UNKNOWN; + break; + } + context.ContextFlags = CONTEXT_FULL | CONTEXT_FLOATING_POINT; + GetThreadContext (current_thread, &context); + exception_count++; +} + +static int +child_wait (int pid, struct target_waitstatus *ourstatus) +{ + /* We loop when we get a non-standard exception rather than return + with a SPURIOUS because resume can try and step or modify things, + which needs a current_thread. But some of these exceptions mark + the birth or death of threads, which mean that the current thread + isn't necessarily what you think it is. */ + + while (1) + { + DEBUG_EVENT event; + BOOL t = WaitForDebugEvent (&event, INFINITE); + char *p; + + event_count++; + + current_thread_id = event.dwThreadId; + current_process_id = event.dwProcessId; + + switch (event.dwDebugEventCode) + { + case CREATE_THREAD_DEBUG_EVENT: + DEBUG_EVENTS (("gdb: kernel event for pid=%d tid=%d code=%s)\n", + event.dwProcessId, event.dwThreadId, + "CREATE_THREAD_DEBUG_EVENT")); + break; + case EXIT_THREAD_DEBUG_EVENT: + DEBUG_EVENTS (("gdb: kernel event for pid=%d tid=%d code=%s)\n", + event.dwProcessId, event.dwThreadId, + "EXIT_THREAD_DEBUG_EVENT")); + break; + case CREATE_PROCESS_DEBUG_EVENT: + DEBUG_EVENTS (("gdb: kernel event for pid=%d tid=%d code=%s)\n", + event.dwProcessId, event.dwThreadId, + "CREATE_PROCESS_DEBUG_EVENT")); + break; + + case EXIT_PROCESS_DEBUG_EVENT: + DEBUG_EVENTS (("gdb: kernel event for pid=%d tid=%d code=%s)\n", + event.dwProcessId, event.dwThreadId, + "EXIT_PROCESS_DEBUG_EVENT")); + ourstatus->kind = TARGET_WAITKIND_EXITED; + ourstatus->value.integer = event.u.ExitProcess.dwExitCode; + CloseHandle (current_process); + CloseHandle (current_thread); + return current_process_id; + break; + + case LOAD_DLL_DEBUG_EVENT: + DEBUG_EVENTS (("gdb: kernel event for pid=%d tid=%d code=%s)\n", + event.dwProcessId, event.dwThreadId, + "LOAD_DLL_DEBUG_EVENT")); + catch_errors (handle_load_dll, + (char*) &event, + "\n[failed reading symbols from DLL]\n", + RETURN_MASK_ALL); + registers_changed(); /* mark all regs invalid */ + break; + case UNLOAD_DLL_DEBUG_EVENT: + DEBUG_EVENTS (("gdb: kernel event for pid=%d tid=%d code=%s)\n", + event.dwProcessId, event.dwThreadId, + "UNLOAD_DLL_DEBUG_EVENT")); + break; /* FIXME: don't know what to do here */ + case EXCEPTION_DEBUG_EVENT: + DEBUG_EVENTS (("gdb: kernel event for pid=%d tid=%d code=%s)\n", + event.dwProcessId, event.dwThreadId, + "EXCEPTION_DEBUG_EVENT")); + handle_exception (&event, ourstatus); + return current_process_id; + + case OUTPUT_DEBUG_STRING_EVENT: /* message from the kernel */ + DEBUG_EVENTS (("gdb: kernel event for pid=%d tid=%d code=%s)\n", + event.dwProcessId, event.dwThreadId, + "OUTPUT_DEBUG_STRING_EVENT")); + if (target_read_string + ((CORE_ADDR) event.u.DebugString.lpDebugStringData, + &p, 1024, 0) && p && *p) + { + warning(p); + free(p); + } + break; + default: + printf_unfiltered ("gdb: kernel event for pid=%d tid=%d\n", + event.dwProcessId, event.dwThreadId); + printf_unfiltered (" unknown event code %d\n", + event.dwDebugEventCode); + break; + } + DEBUG_EVENTS (("ContinueDebugEvent (cpid=%d, ctid=%d, DBG_CONTINUE);\n", + current_process_id, current_thread_id)); + CHECK (ContinueDebugEvent (current_process_id, + current_thread_id, + DBG_CONTINUE)); + } +} + + +/* Attach to process PID, then initialize for debugging it. */ + +static void +child_attach (args, from_tty) + char *args; + int from_tty; +{ + BOOL ok; + + if (!args) + error_no_arg ("process-id to attach"); + + current_process_id = strtoul (args, 0, 0); + + ok = DebugActiveProcess (current_process_id); + + if (!ok) + error ("Can't attach to process."); + + + exception_count = 0; + event_count = 0; + + if (from_tty) + { + char *exec_file = (char *) get_exec_file (0); + + if (exec_file) + printf_unfiltered ("Attaching to program `%s', %s\n", exec_file, + target_pid_to_str (current_process_id)); + else + printf_unfiltered ("Attaching to %s\n", + target_pid_to_str (current_process_id)); + + gdb_flush (gdb_stdout); + } + + inferior_pid = current_process_id; + push_target (&child_ops); +} + + +static void +child_detach (args, from_tty) + char *args; + int from_tty; +{ + if (from_tty) + { + char *exec_file = get_exec_file (0); + if (exec_file == 0) + exec_file = ""; + printf_unfiltered ("Detaching from program: %s %s\n", exec_file, + target_pid_to_str (inferior_pid)); + gdb_flush (gdb_stdout); + } + inferior_pid = 0; + unpush_target (&child_ops); +} + + +/* Print status information about what we're accessing. */ + +static void +child_files_info (ignore) + struct target_ops *ignore; +{ + printf_unfiltered ("\tUsing the running image of %s %s.\n", + attach_flag ? "attached" : "child", target_pid_to_str (inferior_pid)); +} + +/* ARGSUSED */ +static void +child_open (arg, from_tty) + char *arg; + int from_tty; +{ + error ("Use the \"run\" command to start a Unix child process."); +} + + +/* Convert a unix-style set-of-paths (a colon-separated list of directory + paths with forward slashes) into the dos style (semicolon-separated + list with backward slashes), simultaneously undoing any translations + performed by the mount table. */ + +static char *buf = NULL; +static int blen = 2000; + +static char * +unix_paths_to_dos_paths(char *newenv) +{ + int ei; + char *src; + + if (buf == 0) + buf = (char *) malloc(blen); + + if (newenv == 0 || *newenv == 0 || + (src = strchr(newenv, '=')) == 0) /* find the equals sign */ + return 0; + + src++; /* now skip past it */ + + if (src[0] == '/' || /* is this a unix style path? */ + (src[0] == '.' && src[1] == '/') || + (src[0] == '.' && src[1] == '.' && src[2] == '/')) + { /* we accept that we will fail on a relative path like 'foo/mumble' */ + /* Found an env name, turn from unix style into dos style */ + int len = src - newenv; + char *dir = buf + len; + + memcpy(buf, newenv, len); + /* Split out the colons */ + while (1) + { + char *tok = strchr (src, ':'); + int doff = dir - buf; + + if (doff + MAX_PATH > blen) + { + blen *= 2; + buf = (char *) realloc((void *) buf, blen); + dir = buf + doff; + } + if (tok) + { + *tok = 0; + cygwin32_unix_path_to_dos_path_keep_rel (src, dir); + *tok = ':'; + dir += strlen(dir); + src = tok + 1; + *dir++ = ';'; + } + else + { + cygwin32_unix_path_to_dos_path_keep_rel (src, dir); + dir += strlen(dir); + *dir++ = 0; + break; + } + } + return buf; + } + return 0; +} + +/* Convert a dos-style set-of-paths (a semicolon-separated list with + backward slashes) into the dos style (colon-separated list of + directory paths with forward slashes), simultaneously undoing any + translations performed by the mount table. */ + +static char * +dos_paths_to_unix_paths(char *newenv) +{ + int ei; + char *src; + + if (buf == 0) + buf = (char *) malloc(blen); + + if (newenv == 0 || *newenv == 0 || + (src = strchr(newenv, '=')) == 0) /* find the equals sign */ + return 0; + + src++; /* now skip past it */ + + if (src[0] == '\\' || /* is this a dos style path? */ + (isalpha(src[0]) && src[1] == ':' && src[2] == '\\') || + (src[0] == '.' && src[1] == '\\') || + (src[0] == '.' && src[1] == '.' && src[2] == '\\')) + { /* we accept that we will fail on a relative path like 'foo\mumble' */ + /* Found an env name, turn from dos style into unix style */ + int len = src - newenv; + char *dir = buf + len; + + memcpy(buf, newenv, len); + /* Split out the colons */ + while (1) + { + char *tok = strchr (src, ';'); + int doff = dir - buf; + + if (doff + MAX_PATH > blen) + { + blen *= 2; + buf = (char *) realloc((void *) buf, blen); + dir = buf + doff; + } + if (tok) + { + *tok = 0; + cygwin32_dos_path_to_unix_path_keep_rel (src, dir); + *tok = ';'; + dir += strlen(dir); + src = tok + 1; + *dir++ = ':'; + } + else + { + cygwin32_dos_path_to_unix_path_keep_rel (src, dir); + dir += strlen(dir); + *dir++ = 0; + break; + } + } + return buf; + } + return 0; +} + + +/* Start an inferior win32 child process and sets inferior_pid to its pid. + EXEC_FILE is the file to run. + ALLARGS is a string containing the arguments to the program. + ENV is the environment vector to pass. Errors reported with error(). */ + +static void +child_create_inferior (exec_file, allargs, env) + char *exec_file; + char *allargs; + char **env; +{ + char real_path[MAXPATHLEN]; + char *winenv; + char *temp; + int envlen; + int i; + + STARTUPINFO si; + PROCESS_INFORMATION pi; + struct target_waitstatus dummy; + BOOL ret; + DWORD flags; + char *args; + + if (!exec_file) + { + error ("No executable specified, use `target exec'.\n"); + } + + memset (&si, 0, sizeof (si)); + si.cb = sizeof (si); + + unix_path_to_dos_path (exec_file, real_path); + + flags = DEBUG_ONLY_THIS_PROCESS; + + if (new_group) + flags |= CREATE_NEW_PROCESS_GROUP; + + if (new_console) + flags |= CREATE_NEW_CONSOLE; + + args = alloca (strlen (real_path) + strlen (allargs) + 2); + + strcpy (args, real_path); + + strcat (args, " "); + strcat (args, allargs); + +#if 0 + /* get total size for env strings */ + for (envlen = 0, i = 0; env[i] && *env[i]; i++) + envlen += strlen(env[i]) + 1; +#else + /* get total size for env strings */ + for (envlen = 0, i = 0; env[i] && *env[i]; i++) + { +#if 0 + winenv = 0; +#else + winenv = unix_paths_to_dos_paths(env[i]); +#endif + envlen += winenv ? strlen(winenv) + 1 : strlen(env[i]) + 1; + } +#endif + + winenv = alloca(2 * envlen + 1); /* allocate new buffer */ + + /* copy env strings into new buffer */ + for (temp = winenv, i = 0; env[i] && *env[i]; i++) + { +#if 0 + char *p = 0; +#else + char *p = unix_paths_to_dos_paths(env[i]); +#endif + strcpy(temp, p ? p : env[i]); + temp += strlen(temp) + 1; + } +#if 0 + /* copy env strings into new buffer */ + for (temp = winenv, i = 0; env[i] && *env[i]; i++) + { + strcpy(temp, env[i]); + temp += strlen(temp) + 1; + } +#endif + + *temp = 0; /* final nil string to terminate new env */ + + ret = CreateProcess (0, + args, /* command line */ + NULL, /* Security */ + NULL, /* thread */ + TRUE, /* inherit handles */ + flags, /* start flags */ + winenv, + NULL, /* current directory */ + &si, + &pi); + if (!ret) + error ("Error creating process %s, (error %d)\n", exec_file, GetLastError()); + + exception_count = 0; + event_count = 0; + + inferior_pid = pi.dwProcessId; + current_process = pi.hProcess; + current_thread = pi.hThread; + current_process_id = pi.dwProcessId; + current_thread_id = pi.dwThreadId; + push_target (&child_ops); + init_thread_list (); + init_wait_for_inferior (); + clear_proceed_status (); + target_terminal_init (); + target_terminal_inferior (); + + /* Ignore the first trap */ + child_wait (inferior_pid, &dummy); + + proceed ((CORE_ADDR) - 1, TARGET_SIGNAL_0, 0); +} + +static void +child_mourn_inferior () +{ + unpush_target (&child_ops); + generic_mourn_inferior (); +} + + +/* Send a SIGINT to the process group. This acts just like the user typed a + ^C on the controlling terminal. */ + +void +child_stop () +{ + DEBUG_EVENTS (("gdb: GenerateConsoleCtrlEvent (CTRLC_EVENT, 0)\n")); + CHECK (GenerateConsoleCtrlEvent (CTRL_C_EVENT, 0)); + registers_changed(); /* refresh register state */ +} + +int +child_xfer_memory (CORE_ADDR memaddr, char *our, int len, + int write, struct target_ops *target) +{ + DWORD done; + if (write) + { + DEBUG_MEM (("gdb: write target memory, %d bytes at 0x%08x\n", + len, memaddr)); + WriteProcessMemory (current_process, memaddr, our, len, &done); + FlushInstructionCache (current_process, memaddr, len); + } + else + { + DEBUG_MEM (("gdb: read target memory, %d bytes at 0x%08x\n", + len, memaddr)); + ReadProcessMemory (current_process, memaddr, our, len, &done); + } + return done; +} + +void +child_kill_inferior (void) +{ + CHECK (TerminateProcess (current_process, 0)); + CHECK (CloseHandle (current_process)); + CHECK (CloseHandle (current_thread)); + target_mourn_inferior(); /* or just child_mourn_inferior? */ +} + +void +child_resume (int pid, int step, enum target_signal signal) +{ + DEBUG_EXEC (("gdb: child_resume (pid=%d, step=%d, signal=%d);\n", + pid, step, signal)); + + if (step) + { +#ifdef __PPC__ + warning ("Single stepping not done.\n"); +#endif +#ifdef i386 + /* Single step by setting t bit */ + child_fetch_inferior_registers (PS_REGNUM); + context.EFlags |= FLAG_TRACE_BIT; +#endif + } + + if (context.ContextFlags) + { + CHECK (SetThreadContext (current_thread, &context)); + context.ContextFlags = 0; + } + + if (signal) + { + fprintf_unfiltered (gdb_stderr, "Can't send signals to the child.\n"); + } + + DEBUG_EVENTS (("gdb: ContinueDebugEvent (cpid=%d, ctid=%d, DBG_CONTINUE);\n", + current_process_id, current_thread_id)); + CHECK (ContinueDebugEvent (current_process_id, + current_thread_id, + DBG_CONTINUE)); +} + +static void +child_prepare_to_store () +{ + /* Do nothing, since we can store individual regs */ +} + +static int +child_can_run () +{ + return 1; +} + +static void +child_close () +{ + DEBUG_EVENTS (("gdb: child_close, inferior_pid=%d\n", inferior_pid)); +} + +struct target_ops child_ops = +{ + "child", /* to_shortname */ + "Win32 child process", /* to_longname */ + "Win32 child process (started by the \"run\" command).", /* to_doc */ + child_open, /* to_open */ + child_close, /* to_close */ + child_attach, /* to_attach */ + child_detach, /* to_detach */ + child_resume, /* to_resume */ + child_wait, /* to_wait */ + child_fetch_inferior_registers,/* to_fetch_registers */ + child_store_inferior_registers,/* to_store_registers */ + child_prepare_to_store, /* to_child_prepare_to_store */ + child_xfer_memory, /* to_xfer_memory */ + child_files_info, /* to_files_info */ + memory_insert_breakpoint, /* to_insert_breakpoint */ + memory_remove_breakpoint, /* to_remove_breakpoint */ + terminal_init_inferior, /* to_terminal_init */ + terminal_inferior, /* to_terminal_inferior */ + terminal_ours_for_output, /* to_terminal_ours_for_output */ + terminal_ours, /* to_terminal_ours */ + child_terminal_info, /* to_terminal_info */ + child_kill_inferior, /* to_kill */ + 0, /* to_load */ + 0, /* to_lookup_symbol */ + child_create_inferior, /* to_create_inferior */ + child_mourn_inferior, /* to_mourn_inferior */ + child_can_run, /* to_can_run */ + 0, /* to_notice_signals */ + 0, /* to_thread_alive */ + child_stop, /* to_stop */ + process_stratum, /* to_stratum */ + 0, /* to_next */ + 1, /* to_has_all_memory */ + 1, /* to_has_memory */ + 1, /* to_has_stack */ + 1, /* to_has_registers */ + 1, /* to_has_execution */ + 0, /* to_sections */ + 0, /* to_sections_end */ + OPS_MAGIC /* to_magic */ +}; + +#include "environ.h" + +static void +set_pathstyle_dos(args, from_tty, c) + char *args; + int from_tty; + struct cmd_list_element *c; +{ + char **vector = environ_vector(inferior_environ); + char *thisvar; + int dos = *(int *) c->var; + + if (info_verbose) + printf_unfiltered ("Change dos_path_style to %s\n", dos ? "true":"false"); + + while (vector && *vector) + { + if (dos) + thisvar = unix_paths_to_dos_paths(*vector); + else + thisvar = dos_paths_to_unix_paths(*vector); + + if (thisvar) + { + if (info_verbose) + printf_unfiltered ("Change %s\nto %s\n", *vector, thisvar); + free(*vector); + *vector = xmalloc(strlen(thisvar) + 1); + strcpy(*vector, thisvar); + } + vector++; + } +} + + +void +_initialize_inftarg () +{ + struct cmd_list_element *c; + + add_show_from_set + (add_set_cmd ("new-console", class_support, var_boolean, + (char *) &new_console, + "Set creation of new console when creating child process.", + &setlist), + &showlist); + + add_show_from_set + (add_set_cmd ("new-group", class_support, var_boolean, + (char *) &new_group, + "Set creation of new group when creating child process.", + &setlist), + &showlist); + + add_show_from_set + (c = add_set_cmd ("dos-path-style", class_support, var_boolean, + (char *) &dos_path_style, + "Set whether paths in child's environment are shown in dos style.", + &setlist), + &showlist); + + c->function.sfunc = set_pathstyle_dos; + + add_show_from_set + (add_set_cmd ("debugexec", class_support, var_boolean, + (char *) &debug_exec, + "Set whether to display execution in child process.", + &setlist), + &showlist); + + add_show_from_set + (add_set_cmd ("debugevents", class_support, var_boolean, + (char *) &debug_events, + "Set whether to display kernel events in child process.", + &setlist), + &showlist); + + add_show_from_set + (add_set_cmd ("debugmemory", class_support, var_boolean, + (char *) &debug_memory, + "Set whether to display memory accesses in child process.", + &setlist), + &showlist); + + add_show_from_set + (add_set_cmd ("debugexceptions", class_support, var_boolean, + (char *) &debug_exceptions, + "Set whether to display kernel exceptions in child process.", + &setlist), + &showlist); + + add_target (&child_ops); +} diff --git a/contrib/gdb/gdb/z8k-tdep.c b/contrib/gdb/gdb/z8k-tdep.c new file mode 100644 index 0000000000000..ae5b7a11c10e9 --- /dev/null +++ b/contrib/gdb/gdb/z8k-tdep.c @@ -0,0 +1,448 @@ +/* Target-machine dependent code for Zilog Z8000, for GDB. + Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* + Contributed by Steve Chamberlain + sac@cygnus.com + */ + +#include "defs.h" +#include "frame.h" +#include "obstack.h" +#include "symtab.h" +#include "gdbcmd.h" +#include "gdbtypes.h" +#include "dis-asm.h" + +/* Return the saved PC from this frame. + + If the frame has a memory copy of SRP_REGNUM, use that. If not, + just use the register SRP_REGNUM itself. */ + +CORE_ADDR +frame_saved_pc (frame) + struct frame_info *frame; +{ + return read_memory_pointer (frame->frame + (BIG ? 4 : 2)); +} + +#define IS_PUSHL(x) (BIG ? ((x & 0xfff0) == 0x91e0):((x & 0xfff0) == 0x91F0)) +#define IS_PUSHW(x) (BIG ? ((x & 0xfff0) == 0x93e0):((x & 0xfff0)==0x93f0)) +#define IS_MOVE_FP(x) (BIG ? x == 0xa1ea : x == 0xa1fa) +#define IS_MOV_SP_FP(x) (BIG ? x == 0x94ea : x == 0x0d76) +#define IS_SUB2_SP(x) (x==0x1b87) +#define IS_MOVK_R5(x) (x==0x7905) +#define IS_SUB_SP(x) ((x & 0xffff) == 0x020f) +#define IS_PUSH_FP(x) (BIG ? (x == 0x93ea) : (x == 0x93fa)) + +/* work out how much local space is on the stack and + return the pc pointing to the first push */ + +static CORE_ADDR +skip_adjust (pc, size) + CORE_ADDR pc; + int *size; +{ + *size = 0; + + if (IS_PUSH_FP (read_memory_short (pc)) + && IS_MOV_SP_FP (read_memory_short (pc + 2))) + { + /* This is a function with an explict frame pointer */ + pc += 4; + *size += 2; /* remember the frame pointer */ + } + + /* remember any stack adjustment */ + if (IS_SUB_SP (read_memory_short (pc))) + { + *size += read_memory_short (pc + 2); + pc += 4; + } + return pc; +} + +int +examine_frame (pc, regs, sp) + CORE_ADDR pc; + struct frame_saved_regs *regs; + CORE_ADDR sp; +{ + int w = read_memory_short (pc); + int offset = 0; + int regno; + + for (regno = 0; regno < NUM_REGS; regno++) + regs->regs[regno] = 0; + + while (IS_PUSHW (w) || IS_PUSHL (w)) + { + /* work out which register is being pushed to where */ + if (IS_PUSHL (w)) + { + regs->regs[w & 0xf] = offset; + regs->regs[(w & 0xf) + 1] = offset + 2; + offset += 4; + } + else + { + regs->regs[w & 0xf] = offset; + offset += 2; + } + pc += 2; + w = read_memory_short (pc); + } + + if (IS_MOVE_FP (w)) + { + /* We know the fp */ + + } + else if (IS_SUB_SP (w)) + { + /* Subtracting a value from the sp, so were in a function + which needs stack space for locals, but has no fp. We fake up + the values as if we had an fp */ + regs->regs[FP_REGNUM] = sp; + } + else + { + /* This one didn't have an fp, we'll fake it up */ + regs->regs[SP_REGNUM] = sp; + } + /* stack pointer contains address of next frame */ + /* regs->regs[fp_regnum()] = fp;*/ + regs->regs[SP_REGNUM] = sp; + return pc; +} + +CORE_ADDR +z8k_skip_prologue (start_pc) + CORE_ADDR start_pc; +{ + struct frame_saved_regs dummy; + + return examine_frame (start_pc, &dummy, 0); +} + +CORE_ADDR +addr_bits_remove (x) + CORE_ADDR x; +{ + return x & PTR_MASK; +} + +int +read_memory_pointer (x) + CORE_ADDR x; +{ + return read_memory_integer (ADDR_BITS_REMOVE (x), BIG ? 4 : 2); +} + +CORE_ADDR +frame_chain (thisframe) + struct frame_info *thisframe; +{ + if (thisframe->prev == 0) + { + /* This is the top of the stack, let's get the sp for real */ + } + if (!inside_entry_file (thisframe->pc)) + { + return read_memory_pointer (thisframe->frame); + } + return 0; +} + +init_frame_pc () +{ + abort (); +} + +/* Put here the code to store, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. */ + +void +get_frame_saved_regs (frame_info, frame_saved_regs) + struct frame_info *frame_info; + struct frame_saved_regs *frame_saved_regs; + +{ + CORE_ADDR pc; + int w; + + memset (frame_saved_regs, '\0', sizeof (*frame_saved_regs)); + pc = get_pc_function_start (frame_info->pc); + +/* wander down the instruction stream */ + examine_frame (pc, frame_saved_regs, frame_info->frame); + +} + +void +z8k_push_dummy_frame () +{ + abort (); +} + +int +gdb_print_insn_z8k (memaddr, info) + bfd_vma memaddr; + disassemble_info *info; +{ + if (BIG) + return print_insn_z8001 (memaddr, info); + else + return print_insn_z8002 (memaddr, info); +} + +/* Fetch the instruction at ADDR, returning 0 if ADDR is beyond LIM or + is not the address of a valid instruction, the address of the next + instruction beyond ADDR otherwise. *PWORD1 receives the first word + of the instruction.*/ + +CORE_ADDR +NEXT_PROLOGUE_INSN (addr, lim, pword1) + CORE_ADDR addr; + CORE_ADDR lim; + short *pword1; +{ + char buf[2]; + if (addr < lim + 8) + { + read_memory (addr, buf, 2); + *pword1 = extract_signed_integer (buf, 2); + + return addr + 2; + } + return 0; +} + +/* Put here the code to store, into a struct frame_saved_regs, + the addresses of the saved registers of frame described by FRAME_INFO. + This includes special registers such as pc and fp saved in special + ways in the stack frame. sp is even more special: + the address we return for it IS the sp for the next frame. + + We cache the result of doing this in the frame_cache_obstack, since + it is fairly expensive. */ + +void +frame_find_saved_regs (fip, fsrp) + struct frame_info *fip; + struct frame_saved_regs *fsrp; +{ + int locals; + CORE_ADDR pc; + CORE_ADDR adr; + int i; + + memset (fsrp, 0, sizeof *fsrp); + + pc = skip_adjust (get_pc_function_start (fip->pc), &locals); + + { + adr = FRAME_FP (fip) - locals; + for (i = 0; i < 8; i++) + { + int word = read_memory_short (pc); + + pc += 2; + if (IS_PUSHL (word)) + { + fsrp->regs[word & 0xf] = adr; + fsrp->regs[(word & 0xf) + 1] = adr - 2; + adr -= 4; + } + else if (IS_PUSHW (word)) + { + fsrp->regs[word & 0xf] = adr; + adr -= 2; + } + else + break; + } + + } + + fsrp->regs[PC_REGNUM] = fip->frame + 4; + fsrp->regs[FP_REGNUM] = fip->frame; + +} + +int +saved_pc_after_call () +{ + return addr_bits_remove + (read_memory_integer (read_register (SP_REGNUM), PTR_SIZE)); +} + + +extract_return_value (type, regbuf, valbuf) + struct type *type; + char *regbuf; + char *valbuf; +{ + int b; + int len = TYPE_LENGTH (type); + + for (b = 0; b < len; b += 2) + { + int todo = len - b; + + if (todo > 2) + todo = 2; + memcpy (valbuf + b, regbuf + b, todo); + } +} + +void +write_return_value (type, valbuf) + struct type *type; + char *valbuf; +{ + int reg; + int len; + + for (len = 0; len < TYPE_LENGTH (type); len += 2) + write_register_bytes (REGISTER_BYTE (len / 2 + 2), valbuf + len, 2); +} + +void +store_struct_return (addr, sp) + CORE_ADDR addr; + CORE_ADDR sp; +{ + write_register (2, addr); +} + + +void +print_register_hook (regno) + int regno; +{ + if ((regno & 1) == 0 && regno < 16) + { + unsigned short l[2]; + + read_relative_register_raw_bytes (regno, (char *) (l + 0)); + read_relative_register_raw_bytes (regno + 1, (char *) (l + 1)); + printf_unfiltered ("\t"); + printf_unfiltered ("%04x%04x", l[0], l[1]); + } + + if ((regno & 3) == 0 && regno < 16) + { + unsigned short l[4]; + + read_relative_register_raw_bytes (regno, (char *) (l + 0)); + read_relative_register_raw_bytes (regno + 1, (char *) (l + 1)); + read_relative_register_raw_bytes (regno + 2, (char *) (l + 2)); + read_relative_register_raw_bytes (regno + 3, (char *) (l + 3)); + + printf_unfiltered ("\t"); + printf_unfiltered ("%04x%04x%04x%04x", l[0], l[1], l[2], l[3]); + } + if (regno == 15) + { + unsigned short rval; + int i; + + read_relative_register_raw_bytes (regno, (char *) (&rval)); + + printf_unfiltered ("\n"); + for (i = 0; i < 10; i += 2) + { + printf_unfiltered ("(sp+%d=%04x)", i, read_memory_short (rval + i)); + } + } + +} + +void +z8k_pop_frame () +{ +} + +struct cmd_list_element *setmemorylist; + +void +z8k_set_pointer_size (newsize) + int newsize; +{ + static int oldsize = 0; + + if (oldsize != newsize) + { + printf_unfiltered ("pointer size set to %d bits\n", newsize); + oldsize = newsize; + if (newsize == 32) + { + BIG = 1; + } + else + { + BIG = 0; + } + _initialize_gdbtypes (); + } +} + +static void +segmented_command (args, from_tty) + char *args; + int from_tty; +{ + z8k_set_pointer_size (32); +} + +static void +unsegmented_command (args, from_tty) + char *args; + int from_tty; +{ + z8k_set_pointer_size (16); +} + +static void +set_memory (args, from_tty) + char *args; + int from_tty; +{ + printf_unfiltered ("\"set memory\" must be followed by the name of a memory subcommand.\n"); + help_list (setmemorylist, "set memory ", -1, gdb_stdout); +} + +void +_initialize_z8ktdep () +{ + tm_print_insn = gdb_print_insn_z8k; + + add_prefix_cmd ("memory", no_class, set_memory, + "set the memory model", &setmemorylist, "set memory ", 0, + &setlist); + add_cmd ("segmented", class_support, segmented_command, + "Set segmented memory model.", &setmemorylist); + add_cmd ("unsegmented", class_support, unsegmented_command, + "Set unsegmented memory model.", &setmemorylist); + +} diff --git a/contrib/libgmp/configure b/contrib/libgmp/configure index 1554506225e15..5737ec51102d9 100755 --- a/contrib/libgmp/configure +++ b/contrib/libgmp/configure @@ -80,7 +80,7 @@ subdirs= target_alias=NOTARGET target_makefile_frag= undefs=NOUNDEFS -version="$Revision: 1.218 (modified for gmp) $" +version="$Revision: 1.1.1.1 $" x11=default ### we might need to use some other shell than /bin/sh for running subshells diff --git a/contrib/libgmp/texinfo.tex b/contrib/libgmp/texinfo.tex index 1536ac3f08455..ada46cd941686 100644 --- a/contrib/libgmp/texinfo.tex +++ b/contrib/libgmp/texinfo.tex @@ -35,7 +35,7 @@ % This automatically updates the version number based on RCS. \def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}} -\deftexinfoversion$Revision: 2.172 $ +\deftexinfoversion$Revision: 1.1.1.1 $ \message{Loading texinfo package [Version \texinfoversion]:} % If in a .fmt file, print the version number diff --git a/contrib/libpcap/nlpid.h b/contrib/libpcap/nlpid.h index c033da224fd1f..047f292b8e9ac 100644 --- a/contrib/libpcap/nlpid.h +++ b/contrib/libpcap/nlpid.h @@ -15,7 +15,7 @@ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#) $Header$ (Juniper) + * @(#) $Header: /home/ncvs/src/contrib/libpcap/nlpid.h,v 1.1 1996/08/21 20:01:07 pst Exp $ (Juniper) */ /* Types missing from some systems */ diff --git a/contrib/tcl/doc/FindExec.3 b/contrib/tcl/doc/FindExec.3 index be6e1f3cc3a0e..8cd6fc3889d4e 100644 --- a/contrib/tcl/doc/FindExec.3 +++ b/contrib/tcl/doc/FindExec.3 @@ -5,7 +5,7 @@ '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" '\" SCCS: @(#) FindExec.3 1.3 96/03/25 20:03:17 -'\" $Id$ +'\" $Id: FindExec.3,v 1.2 1996/10/05 22:26:07 wosch Exp $ '\" .so man.macros .TH Tcl_FindExecutable 3 7.5 Tcl "Tcl Library Procedures" diff --git a/contrib/tcl/doc/break.n b/contrib/tcl/doc/break.n index a1640a862b44a..6d64fb72b3580 100644 --- a/contrib/tcl/doc/break.n +++ b/contrib/tcl/doc/break.n @@ -6,7 +6,7 @@ '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" '\" SCCS: @(#) break.n 1.6 96/03/25 20:10:27 -'\" $Id$ +'\" $Id: break.n,v 1.2 1996/10/05 22:26:08 wosch Exp $ '\" .so man.macros .TH break n "" Tcl "Tcl Built-In Commands" diff --git a/contrib/tcl/doc/continue.n b/contrib/tcl/doc/continue.n index b5dc7af2cc2ac..0bb71bca519b9 100644 --- a/contrib/tcl/doc/continue.n +++ b/contrib/tcl/doc/continue.n @@ -6,7 +6,7 @@ '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" '\" SCCS: @(#) continue.n 1.6 96/03/25 20:12:09 -'\" $Id$ +'\" $Id: continue.n,v 1.2 1996/10/05 22:26:09 wosch Exp $ '\" .so man.macros .TH continue n "" Tcl "Tcl Built-In Commands" diff --git a/contrib/tcl/doc/expr.n b/contrib/tcl/doc/expr.n index 9b7b60fadf6f7..94a6e9f7b3bfb 100644 --- a/contrib/tcl/doc/expr.n +++ b/contrib/tcl/doc/expr.n @@ -6,7 +6,7 @@ '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" '\" SCCS: @(#) expr.n 1.17 96/03/14 10:54:40 -'\" $Id$ +'\" $Id: expr.n,v 1.2 1996/10/05 22:26:10 wosch Exp $ '\" .so man.macros .TH expr n 7.4 Tcl "Tcl Built-In Commands" diff --git a/contrib/tcl/doc/unknown.n b/contrib/tcl/doc/unknown.n index 2f4ba74c7dbad..d96e7ba99df32 100644 --- a/contrib/tcl/doc/unknown.n +++ b/contrib/tcl/doc/unknown.n @@ -6,7 +6,7 @@ '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" '\" SCCS: @(#) unknown.n 1.7 96/03/25 20:26:05 -'\" $Id$ +'\" $Id: unknown.n,v 1.2 1996/10/05 22:26:11 wosch Exp $ '\" .so man.macros .TH unknown n "" Tcl "Tcl Built-In Commands" diff --git a/contrib/traceroute/CHANGES b/contrib/traceroute/CHANGES index b825594077fbb..1652a9c4c96a6 100644 --- a/contrib/traceroute/CHANGES +++ b/contrib/traceroute/CHANGES @@ -1,4 +1,4 @@ -@(#) $Header: CHANGES,v 1.12 96/09/28 18:24:35 leres Exp $ (LBL) +@(#) $Header: /home/ncvs/src/contrib/traceroute/CHANGES,v 1.1.1.1 1996/09/30 19:09:53 fenner Exp $ (LBL) v1.3.2 Thu Sep 26 18:06:16 PDT 1996 diff --git a/contrib/traceroute/INSTALL b/contrib/traceroute/INSTALL index 6f1be4fe9aa0e..6dc514cfb8ba3 100644 --- a/contrib/traceroute/INSTALL +++ b/contrib/traceroute/INSTALL @@ -1,4 +1,4 @@ -@(#) $Header: INSTALL,v 1.7 96/09/18 21:09:56 leres Exp $ (LBL) +@(#) $Header: /home/ncvs/src/contrib/traceroute/INSTALL,v 1.1.1.1 1996/09/30 19:09:53 fenner Exp $ (LBL) Traceroute is known to build and run under SunOS 4.1.4 and Solaris 5.4. If you are running a really old kernel, see the instructions under the diff --git a/contrib/traceroute/Makefile.in b/contrib/traceroute/Makefile.in index 3320abfb0f6c0..d312bc11c4073 100644 --- a/contrib/traceroute/Makefile.in +++ b/contrib/traceroute/Makefile.in @@ -17,7 +17,7 @@ # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#) $Header: Makefile.in,v 1.21 96/09/16 18:49:46 leres Exp $ (LBL) +# @(#) $Header: /home/ncvs/src/contrib/traceroute/Makefile.in,v 1.1.1.1 1996/09/30 19:09:53 fenner Exp $ (LBL) # # Various configurable paths (remember to edit Makefile.in, not Makefile) diff --git a/contrib/traceroute/README b/contrib/traceroute/README index fa789ed52b430..ac9f55f4302dc 100644 --- a/contrib/traceroute/README +++ b/contrib/traceroute/README @@ -1,4 +1,4 @@ -@(#) $Header: README,v 1.7 96/07/06 02:08:32 leres Exp $ (LBL) +@(#) $Header: /home/ncvs/src/contrib/traceroute/README,v 1.1.1.1 1996/09/30 19:09:53 fenner Exp $ (LBL) TRACEROUTE 1.3 Lawrence Berkeley National Laboratory diff --git a/contrib/traceroute/acsite.m4 b/contrib/traceroute/acsite.m4 index 19dca475ce3da..07f6dd1cefb32 100644 --- a/contrib/traceroute/acsite.m4 +++ b/contrib/traceroute/acsite.m4 @@ -1,4 +1,4 @@ -dnl @(#) $Header: acsite.m4,v 1.38 96/09/26 21:18:41 leres Exp $ (LBL) +dnl @(#) $Header: /home/ncvs/src/contrib/traceroute/acsite.m4,v 1.1.1.1 1996/09/30 19:09:53 fenner Exp $ (LBL) dnl dnl Copyright (c) 1995, 1996 dnl The Regents of the University of California. All rights reserved. diff --git a/contrib/traceroute/configure.in b/contrib/traceroute/configure.in index 5561baa3e78cf..e4a0776f91354 100644 --- a/contrib/traceroute/configure.in +++ b/contrib/traceroute/configure.in @@ -1,4 +1,4 @@ -dnl @(#) $Header: configure.in,v 1.10 96/09/24 18:44:24 leres Exp $ (LBL) +dnl @(#) $Header: /home/ncvs/src/contrib/traceroute/configure.in,v 1.1.1.1 1996/09/30 19:09:54 fenner Exp $ (LBL) dnl dnl Copyright (c) 1995, 1996 dnl The Regents of the University of California. All rights reserved. diff --git a/contrib/traceroute/lbl/gnuc.h b/contrib/traceroute/lbl/gnuc.h index 9a3200c83632a..3761c44dd8d93 100644 --- a/contrib/traceroute/lbl/gnuc.h +++ b/contrib/traceroute/lbl/gnuc.h @@ -1,4 +1,4 @@ -/* @(#) $Header: gnuc.h,v 1.3 95/10/09 02:47:01 leres Exp $ (LBL) */ +/* @(#) $Header: /home/ncvs/src/contrib/traceroute/lbl/gnuc.h,v 1.1.1.1 1996/09/30 19:09:55 fenner Exp $ (LBL) */ /* Define __P() macro, if necessary */ #ifndef __P diff --git a/contrib/traceroute/lbl/os-solaris2.h b/contrib/traceroute/lbl/os-solaris2.h index fb13516038fe3..54d24334c907d 100644 --- a/contrib/traceroute/lbl/os-solaris2.h +++ b/contrib/traceroute/lbl/os-solaris2.h @@ -18,7 +18,7 @@ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#) $Header: os-solaris2.h,v 1.16 96/07/05 22:11:23 leres Locked $ (LBL) + * @(#) $Header: /home/ncvs/src/contrib/traceroute/lbl/os-solaris2.h,v 1.1.1.1 1996/09/30 19:09:55 fenner Exp $ (LBL) */ /* Signal routines are this type */ diff --git a/contrib/traceroute/lbl/os-sunos4.h b/contrib/traceroute/lbl/os-sunos4.h index 7733d9414ba1f..7ea9eac0db7c9 100644 --- a/contrib/traceroute/lbl/os-sunos4.h +++ b/contrib/traceroute/lbl/os-sunos4.h @@ -18,7 +18,7 @@ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#) $Header: os-sunos4.h,v 1.31 96/06/24 02:39:07 leres Exp $ (LBL) + * @(#) $Header: /home/ncvs/src/contrib/traceroute/lbl/os-sunos4.h,v 1.1.1.1 1996/09/30 19:09:55 fenner Exp $ (LBL) */ #define SIGRET void diff --git a/contrib/traceroute/traceroute.8 b/contrib/traceroute/traceroute.8 index fa3484e161d83..308252352c6c8 100644 --- a/contrib/traceroute/traceroute.8 +++ b/contrib/traceroute/traceroute.8 @@ -13,7 +13,7 @@ .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" -.\" $Header: /home/ncvs/src/contrib/traceroute/traceroute.8,v 1.1.1.1 1996/09/30 19:09:55 fenner Exp $ +.\" $Header: /home/ncvs/src/contrib/traceroute/traceroute.8,v 1.2 1996/10/08 02:44:23 sef Exp $ .\" .TH TRACEROUTE 8 "27 September 1996" .UC 6 diff --git a/contrib/traceroute/traceroute.c b/contrib/traceroute/traceroute.c index ba870539a73c0..954eea9769504 100644 --- a/contrib/traceroute/traceroute.c +++ b/contrib/traceroute/traceroute.c @@ -24,7 +24,7 @@ static const char copyright[] = "@(#) Copyright (c) 1988, 1989, 1991, 1994, 1995, 1996\n\ The Regents of the University of California. All rights reserved.\n"; static const char rcsid[] = - "@(#)$Header: /home/ncvs/src/contrib/traceroute/traceroute.c,v 1.4 1996/10/08 02:44:26 sef Exp $ (LBL)"; + "@(#)$Header: /home/ncvs/src/contrib/traceroute/traceroute.c,v 1.5 1996/10/08 19:16:24 sef Exp $ (LBL)"; #endif /* diff --git a/eBones/Copyright.MIT b/eBones/Copyright.MIT deleted file mode 100644 index cd1d89bc88d79..0000000000000 --- a/eBones/Copyright.MIT +++ /dev/null @@ -1,24 +0,0 @@ -# $Id: Copyright.MIT,v 1.3 1995/07/18 16:34:16 mark Exp $ - -The following Copyright notice applies to the original Bones package. - -/*- - Copyright (C) 1989 by the Massachusetts Institute of Technology - - Export of this software from the United States of America is assumed - to require a specific license from the United States Government. - It is the responsibility of any person or organization contemplating - export to obtain such a license before exporting. - -WITHIN THAT CONSTRAINT, permission to use, copy, modify, and -distribute this software and its documentation for any purpose and -without fee is hereby granted, provided that the above copyright -notice appear in all copies and that both that copyright notice and -this permission notice appear in supporting documentation, and that -the name of M.I.T. not be used in advertising or publicity pertaining -to distribution of the software without specific, written prior -permission. M.I.T. makes no representations about the suitability of -this software for any purpose. It is provided "as is" without express -or implied warranty. - - */ diff --git a/eBones/Copyright.SIPB b/eBones/Copyright.SIPB deleted file mode 100644 index 5e6c38af38e7f..0000000000000 --- a/eBones/Copyright.SIPB +++ /dev/null @@ -1,23 +0,0 @@ -# $Id: Copyright.SIPB,v 1.3 1995/07/18 16:34:18 mark Exp $ - -The following Copyright notice applies to parts of the Bones package. -See source code for exact references. - -/*- -Copyright 1987 by the Student Information Processing Board - of the Massachusetts Institute of Technology - -Permission to use, copy, modify, and distribute this software -and its documentation for any purpose and without fee is -hereby granted, provided that the above copyright notice -appear in all copies and that both that copyright notice and -this permission notice appear in supporting documentation, -and that the names of M.I.T. and the M.I.T. S.I.P.B. not be -used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -M.I.T. and the M.I.T. S.I.P.B. make no representations about -the suitability of this software for any purpose. It is -provided "as is" without express or implied warranty. - - */ - diff --git a/eBones/Makefile b/eBones/Makefile deleted file mode 100644 index b4bff76e42e53..0000000000000 --- a/eBones/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.22 1996/10/01 14:07:34 jkh Exp $ - -SUBDIR= include lib libexec usr.bin usr.sbin man - -SDIR= ${.CURDIR}/.. - -CODAI= ${MAKE} ${MFLAGS} cleandir; \ - ${MAKE} ${MFLAGS} obj; \ - ${MAKE} ${MFLAGS} depend all install - -CODAD= ${MAKE} ${MFLAGS} MAKE_EBONES=yes cleandir; \ - ${MAKE} ${MFLAGS} MAKE_EBONES=yes obj; \ - ${MAKE} ${MFLAGS} MAKE_EBONES=yes depend all distribute - -# These are the programs which depend on kerberos -kprog: - cd ${SDIR}/bin/rcp; ${CODAI} - cd ${SDIR}/libexec/rlogind; ${CODAI} - cd ${SDIR}/libexec/rshd; ${CODAI} - cd ${SDIR}/sbin/mount_nfs; ${CODAI} - cd ${SDIR}/sbin/nfsd; ${CODAI} - cd ${SDIR}/usr.bin/login; ${CODAI} - cd ${SDIR}/usr.bin/passwd; ${CODAI} - cd ${SDIR}/usr.bin/rlogin; ${CODAI} - cd ${SDIR}/usr.bin/rsh; ${CODAI} - cd ${SDIR}/usr.bin/su; ${CODAI} - -bootstrap: - ( cd ${.CURDIR}/include; ${MAKE} ${MFLAGS} install ) - ( cd ${.CURDIR}/lib; ${MAKE} ${MFLAGS} depend all install ) - ( cd ${.CURDIR}; \ - ${MAKE} ${MFLAGS} cleandir; \ - ${MAKE} ${MFLAGS} obj; \ - ${MAKE} ${MFLAGS} depend all install kprog ) - -help-distribute: distribute - cd ${SDIR}/bin/rcp; ${CODAD} - cd ${SDIR}/libexec/rlogind; ${CODAD} - cd ${SDIR}/libexec/rshd; ${CODAD} - cd ${SDIR}/sbin/mount_nfs; ${CODAD} - cd ${SDIR}/sbin/nfsd; ${CODAD} - cd ${SDIR}/usr.bin/login; ${CODAD} - cd ${SDIR}/usr.bin/passwd; ${CODAD} - cd ${SDIR}/usr.bin/rlogin; ${CODAD} - cd ${SDIR}/usr.bin/rsh; ${CODAD} - cd ${SDIR}/usr.bin/su; ${CODAD} - -.include <bsd.subdir.mk> diff --git a/eBones/Makefile.inc b/eBones/Makefile.inc deleted file mode 100644 index 6b7bfed316dec..0000000000000 --- a/eBones/Makefile.inc +++ /dev/null @@ -1,69 +0,0 @@ -# From: @(#)Makefile.inc 5.1 (Berkeley) 6/25/90 -# $Id$ - -DISTRIBUTION= krb - -.if exists(${.OBJDIR}/../../lib/libtelnet) -TELNETOBJDIR= ${.OBJDIR}/../../lib/libtelnet -.else -TELNETOBJDIR= ${.CURDIR}/../../lib/libtelnet -.endif - -.if exists(${.OBJDIR}/../../../secure/lib/libdes) -DESOBJDIR= ${.OBJDIR}/../../../secure/lib/libdes -.else -DESOBJDIR= ${.CURDIR}/../../../secure/lib/libdes -.endif - -.if exists(${.OBJDIR}/../../lib/libkrb) -KRBOBJDIR= ${.OBJDIR}/../../lib/libkrb -.else -KRBOBJDIR= ${.CURDIR}/../../lib/libkrb -.endif - -.if exists(${.OBJDIR}/../../lib/libkdb) -KDBOBJDIR= ${.OBJDIR}/../../lib/libkdb -.else -KDBOBJDIR= ${.CURDIR}/../../lib/libkdb -.endif - -.if exists(${.OBJDIR}/../../lib/libacl) -ACLOBJDIR= ${.OBJDIR}/../../lib/libacl -.else -ACLOBJDIR= ${.CURDIR}/../../lib/libacl -.endif - -.if exists(${.OBJDIR}/../../lib/libkadm) -KADMOBJDIR= ${.OBJDIR}/../../lib/libkadm -.else -KADMOBJDIR= ${.CURDIR}/../../lib/libkadm -.endif - -.if exists(${.OBJDIR}/../../lib/librkinit) -RKINITOBJDIR= ${.OBJDIR}/../../lib/librkinit -.else -RKINITOBJDIR= ${.CURDIR}/../../lib/librkinit -.endif - -CFLAGS+= -I${.CURDIR}/../../../secure/lib/libdes -I${.CURDIR}/../../include -Wall - -COMPILE_ET= compile_et - -${KRBOBJDIR}/krb_err.h: ${.CURDIR}/../../lib/libkrb/krb_err.et - test -e ${KRBOBJDIR}/krb_err.et || ln -s ${.ALLSRC} ${KRBOBJDIR} - cd ${KRBOBJDIR}; compile_et krb_err.et - -CLEANFILES+=${KRBOBJDIR}/krb_err.h ${KRBOBJDIR}/krb_err.c - -${KADMOBJDIR}/kadm_err.h: ${.CURDIR}/../../lib/libkadm/kadm_err.et - test -e ${KADMOBJDIR}/kadm_err.et || ln -s ${.ALLSRC} ${KADMOBJDIR} - cd ${KADMOBJDIR}; compile_et kadm_err.et - -CLEANFILES+=${KADMOBJDIR}/kadm_err.h ${KADMOBJDIR}/kadm_err.c - -${RKINITOBJDIR}/rkinit_err.h: ${.CURDIR}/../../lib/librkinit/rkinit_err.et - test -e ${RKINITOBJDIR}/rkinit_err.et || \ - ln -s ${.ALLSRC} ${RKINITOBJDIR} - cd ${RKINITOBJDIR}; compile_et rkinit_err.et - -CLEANFILES+=${RKINITOBJDIR}/rkinit_err.h ${RKINITOBJDIR}/rkinit_err.c diff --git a/eBones/README.PATCH b/eBones/README.PATCH deleted file mode 100644 index 6fb39f602b4c0..0000000000000 --- a/eBones/README.PATCH +++ /dev/null @@ -1,52 +0,0 @@ -IMPORTANT! - -This distribution includes a patch (already applied), that updates -Kerberos' key generation. The gist of the patch is to replace calls -to des_random_key() with calls to des_new_random_key(). - -The primary difference is that des_random_key() uses a seeding -technique which is predictable and therefore vulnerable. -des_new_random_key() uses a feedback mechanism based on the Data -Encryption Standard (DES) and is seeded with a secret (and therefore -unknown to an attacker) value. This value is the database master -key, which is a convenient secret value. - -This patch uses the new_rnd_key.c key module (which contains the -definition and code for des_new_random_key()). It has been part of -the standard Version 4 distribution since 1992 (and was recreated -for FreeBSD in 1995). This is used in the MIT admin server (the -primary error at MIT was not upgrading all of Kerberos to use this -newer generator. This patch finishes the job). - -In addition to the patch for the Kerberos distribution this -distribution also contains a program for changing critical system keys -(namely the "krbtgt" and "changepw.kerberos" keys). When you -originally built your Kerberos database these keys were chosen at -random, using the vulnerable version of the kerberos random number -generator. Therefore it is possible for an attacker to mount an attack -to guess these values. If an attacker can determine the key for the -"krbtgt" ticket, they can construct tickets claiming to be any -kerberos principal. Similarly if an attacker can obtain the -"changepw.kerberos" key, they can change anyone's password. - -The new "fix_kdb_keys(8)" program, which you run on the KDC -server, will change these critical keys to new values using the -newer random number generator. IMPORTANT: When you run fix_kdb_keys, -all outstanding ticket granting tickets will immediately become -invalid. This will be disruptive to your user community. We recommend -that you either do this late at night or early in the morning before -most users have logged in. Alternatively pre-announce a definitive -time when you will run the program and inform your users that they -will have to get new tickets at that time (using either "kinit" or -simply by logging out and then in again). - -NOTE: The only client program modified is "ksrvutil" which is used -to generate new server keys. All other client/server programs are -unaffected. End users do *not* need to obtain new versions of -programs that use Kerberos. This is because most random number -generation in the Kerberos system is done on the KDC system. - -After getting these sources, type "make world" at the toplevel of -your source tree. This will, among other things, build the fix_kdb_keys -program. This is not necessary if you have already got prebuilt -binaries with this distribution. diff --git a/eBones/include/ChangeLog b/eBones/include/ChangeLog deleted file mode 100644 index 77bc7552a42fd..0000000000000 --- a/eBones/include/ChangeLog +++ /dev/null @@ -1,25 +0,0 @@ -# $Id: ChangeLog,v 1.3 1995/07/18 16:35:58 mark Exp $ - -Mon Mar 21 15:48:59 MET 1994 Piero Serini - * 1st port to FreeBSD - -Tue Nov 29 11:52:51 1988 John T Kohl (jtkohl at lycus) - - * osconf.h: add #ifdef's for SUN processors (bsd/m68k) - - * conf-bsdm68k.h: new file for BSD unix/M68000-based unix boxes - -Mon Sep 12 14:33:58 1988 Bill Sommerfeld (wesommer at ra) - - * des_conf.h: deleted file (superceded by conf.h) - - * des.h: remove #include of des_conf.h - - * des.h: remove internal details (sbox structure, bit_{32,64}) from -interface. - Rename data types. - Add #defines, turned off if NCOMPAT, for compatibility with old - versions. - - - diff --git a/eBones/include/Makefile b/eBones/include/Makefile deleted file mode 100644 index d4293c96a846e..0000000000000 --- a/eBones/include/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# from: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.7 1996/07/30 21:15:58 markm Exp $ - -FILES= kparse.h krb.h krb_db.h - -NOOBJ= noobj -NOMAN= noman -CFLAGS+= KERBEROS - -all include clean cleandir depend lint tags: - -beforeinstall: -.for i in ${FILES} - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/$i \ - ${DESTDIR}/usr/include/kerberosIV/$i -.endfor - -.include <bsd.prog.mk> diff --git a/eBones/include/addr_comp.h b/eBones/include/addr_comp.h deleted file mode 100644 index 2421bc683de5a..0000000000000 --- a/eBones/include/addr_comp.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 1987, 1988, 1989 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Include file for address comparison macros. - * - * from: addr_comp.h,v 4.0 89/01/23 09:57:44 jtkohl Exp $ - * $Id: addr_comp.h,v 1.3 1995/07/18 16:36:01 mark Exp $ - */ - -#ifndef ADDR_COMP_DEFS -#define ADDR_COMP_DEFS - -/* -** Look boys and girls, a big kludge -** We need to compare the two internet addresses in network byte order, not -** local byte order. This is a *really really slow way of doing that* -** But..... -** .....it works -** so we run with it -** -** long_less_than gets fed two (u_char *)'s.... -*/ - -#define u_char_comp(x,y) \ - (((x)>(y))?(1):(((x)==(y))?(0):(-1))) - -#define long_less_than(x,y) \ - (u_char_comp((x)[0],(y)[0])?u_char_comp((x)[0],(y)[0]): \ - (u_char_comp((x)[1],(y)[1])?u_char_comp((x)[1],(y)[1]): \ - (u_char_comp((x)[2],(y)[2])?u_char_comp((x)[2],(y)[2]): \ - (u_char_comp((x)[3],(y)[3]))))) - -#endif /* ADDR_COMP_DEFS */ diff --git a/eBones/include/admin_server.h b/eBones/include/admin_server.h deleted file mode 100644 index ca0977da63b22..0000000000000 --- a/eBones/include/admin_server.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Include file for the Kerberos administration server. - * - * from: admin_server.h,v 4.7 89/01/11 11:59:42 steiner Exp $ - * $Id: admin_server.h,v 1.3 1995/07/18 16:36:03 mark Exp $ - */ - -#ifndef ADMIN_SERVER_DEFS -#define ADMIN_SERVER_DEFS - -#define PW_SRV_VERSION 2 /* version number */ - -#define INSTALL_NEW_PW (1<<0) /* - * ver, cmd, name, password, - * old_pass, crypt_pass, uid - */ - -#define ADMIN_NEW_PW (2<<1) /* - * ver, cmd, name, passwd, - * old_pass - * (grot), crypt_pass (grot) - */ - -#define ADMIN_SET_KDC_PASSWORD (3<<1) /* ditto */ -#define ADMIN_ADD_NEW_KEY (4<<1) /* ditto */ -#define ADMIN_ADD_NEW_KEY_ATTR (5<<1) /* - * ver, cmd, name, passwd, - * inst, attr (grot) - */ -#define INSTALL_REPLY (1<<1) /* ver, cmd, name, password */ -#define RETRY_LIMIT 1 -#define TIME_OUT 30 -#define USER_TIMEOUT 90 -#define MAX_KPW_LEN 40 - -#define KADM "changepw" /* service name */ - -#endif /* ADMIN_SERVER_DEFS */ diff --git a/eBones/include/conf-bsd386i.h b/eBones/include/conf-bsd386i.h deleted file mode 100644 index a009450d70e0c..0000000000000 --- a/eBones/include/conf-bsd386i.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 1989 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Machine-type definitions: Sun 386i using SunOS (~BSD) - * - * from: conf-bsd386i.h,v 4.0 89/12/19 13:26:55 jtkohl Exp $ - * $Id: conf-bsd386i.h,v 1.3 1995/07/18 16:36:05 mark Exp $ - */ - -#define BITS32 -#define BIG -#define LSBFIRST -#define BSDUNIX - diff --git a/eBones/include/conf-bsdapollo.h b/eBones/include/conf-bsdapollo.h deleted file mode 100644 index 12dc5806c8e55..0000000000000 --- a/eBones/include/conf-bsdapollo.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: conf-bsdapollo.h,v 4.1 89/01/24 14:26:22 jtkohl Exp $ - * $Id: conf-bsdapollo.h,v 1.3 1995/07/18 16:36:06 mark Exp $ - */ - -#define BSDUNIX -#define BITS32 -#define BIG -#define MSBFIRST -#define DES_SHIFT_SHIFT -/* - * As of SR10, the C compiler claims to be __STDC__, but doesn't support - * const. Sigh. - */ -#define const - - diff --git a/eBones/include/conf-bsdibm032.h b/eBones/include/conf-bsdibm032.h deleted file mode 100644 index 8331498e55dc5..0000000000000 --- a/eBones/include/conf-bsdibm032.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Machine-type definitions: IBM 032 (RT/PC) - * - * from: conf-bsdibm032.h,v 4.0 89/01/23 09:58:01 jtkohl Exp $ - * $Id: conf-bsdibm032.h,v 1.3 1995/07/18 16:36:08 mark Exp $ - */ - -#define BSDUNIX -#define IBMWS -#define IBMWSASM -#define BITS32 -#define BIG -#define MSBFIRST -#define MUSTALIGN diff --git a/eBones/include/conf-bsdm68k.h b/eBones/include/conf-bsdm68k.h deleted file mode 100644 index 9e60e060e509a..0000000000000 --- a/eBones/include/conf-bsdm68k.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Machine-type definitions: 68000 with BSD Unix, e.g. SUN - * - * from: conf-bsdm68k.h,v 4.0 88/11/29 11:46:58 jtkohl Exp $ - * $Id: conf-bsdm68k.h,v 1.3 1995/07/18 16:36:10 mark Exp $ - */ - -#define BITS32 -#define BIG -#define MSBFIRST -#define BSDUNIX - diff --git a/eBones/include/conf-bsdsparc.h b/eBones/include/conf-bsdsparc.h deleted file mode 100644 index 7359aec78ec3f..0000000000000 --- a/eBones/include/conf-bsdsparc.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Machine-type definitions: SPARC with BSD Unix, e.g. SUN-4 - * - * from: conf-bsdsparc.h,v 4.0 89/06/02 13:04:06 jtkohl Exp $ - * $Id: conf-bsdsparc.h,v 1.3 1995/07/18 16:36:12 mark Exp $ - */ - -#define BITS32 -#define BIG -#define MSBFIRST -#define BSDUNIX -#define MUSTALIGN - diff --git a/eBones/include/conf-bsdtahoe.h b/eBones/include/conf-bsdtahoe.h deleted file mode 100644 index fa8c462cf3af6..0000000000000 --- a/eBones/include/conf-bsdtahoe.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 1989 by the Regents of the University of California - * - * Machine Description : TAHOE. - * - * from: conf-bsdtahoe.h,v 4.0 89/08/30 11:06:53 jtkohl Exp $ - * $Id: conf-bsdtahoe.h,v 1.3 1995/07/18 16:36:14 mark Exp $ - */ - -#define TAHOE -#define BSDUNIX -#define BITS32 -#define BIG -#define MSBFIRST -#define MUSTALIGN -#define NOASM diff --git a/eBones/include/conf-bsdvax.h b/eBones/include/conf-bsdvax.h deleted file mode 100644 index ef0c05228fc0b..0000000000000 --- a/eBones/include/conf-bsdvax.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Machine-type definitions: VAX - * - * from: conf-bsdvax.h,v 4.0 89/01/23 09:58:12 jtkohl Exp $ - * $Id: conf-bsdvax.h,v 1.3 1995/07/18 16:36:15 mark Exp $ - */ - -#define VAX -#define BITS32 -#define BIG -#define LSBFIRST -#define BSDUNIX - -#ifndef __STDC__ -#ifndef NOASM -#define VAXASM -#endif /* no assembly */ -#endif /* standard C */ diff --git a/eBones/include/conf-ibm370.h b/eBones/include/conf-ibm370.h deleted file mode 100644 index 7b8b504ba4deb..0000000000000 --- a/eBones/include/conf-ibm370.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Machine-type definitions: IBM 370 - * - * from: conf-ibm370.h,v 4.0 89/01/23 09:58:19 jtkohl Exp $ - * $Id: conf-ibm370.h,v 1.3 1995/07/18 16:36:17 mark Exp $ - */ - -/* What else? */ -#define BIG -#define NONASCII -#define SHORTNAMES diff --git a/eBones/include/conf-pc.h b/eBones/include/conf-pc.h deleted file mode 100644 index 4b633ffdba33d..0000000000000 --- a/eBones/include/conf-pc.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Machine-type definitions: IBM PC 8086 - * - * from: conf-pc.h,v 4.0 89/01/23 09:58:26 jtkohl Exp $ - * $Id: conf-pc.h,v 1.3 1995/07/18 16:36:19 mark Exp $ - * - */ - -#define IBMPC -#define BITS16 -#define CROSSMSDOS -#define LSBFIRST diff --git a/eBones/include/conf-pyr.h b/eBones/include/conf-pyr.h deleted file mode 100644 index f47c2155031fd..0000000000000 --- a/eBones/include/conf-pyr.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 1989 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Machine-type definitions: Pyramid - * - * from: conf-pyr.h,v 4.0 89/12/19 13:27:16 jtkohl Exp $ - * $Id: conf-pyr.h,v 1.3 1995/07/18 16:36:20 mark Exp $ - */ - -#define BITS32 -#define BIG -#define MSBFIRST -#define BSDUNIX diff --git a/eBones/include/conf-ultmips2.h b/eBones/include/conf-ultmips2.h deleted file mode 100644 index 9733090aa2aaf..0000000000000 --- a/eBones/include/conf-ultmips2.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Machine-type definitions: DECstation 3100 (MIPS R2000) - * - * from: conf-ultmips2.h,v 4.0 89/01/23 09:58:32 jtkohl Exp $ - * $Id: conf-ultmips2.h,v 1.3 1995/07/18 16:36:22 mark Exp $ - */ - -#define MIPS2 -#define BITS32 -#define BIG -#define LSBFIRST -#define BSDUNIX -#define MUSTALIGN diff --git a/eBones/include/conf.h b/eBones/include/conf.h deleted file mode 100644 index 64797e6bdfc46..0000000000000 --- a/eBones/include/conf.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Configuration info for operating system, hardware description, - * language implementation, C library, etc. - * - * This file should be included in (almost) every file in the Kerberos - * sources, and probably should *not* be needed outside of those - * sources. (How do we deal with /usr/include/des.h and - * /usr/include/krb.h?) - * - * from: conf.h,v 4.0 89/01/23 09:58:40 jtkohl Exp $ - * $Id: conf.h,v 1.3 1995/07/18 16:36:24 mark Exp $ - */ - -#ifndef _CONF_H_ - -#include "osconf.h" - -#ifdef SHORTNAMES -#include "names.h" -#endif - -/* - * Language implementation-specific definitions - */ - -/* special cases */ -#ifdef __HIGHC__ -/* broken implementation of ANSI C */ -#undef __STDC__ -#endif - -#ifndef __STDC__ -#define const -#define volatile -#define signed -typedef char *pointer; /* pointer to generic data */ -#define PROTOTYPE(p) () -#else -typedef void *pointer; -#define PROTOTYPE(p) p -#endif - -/* Does your compiler understand "void"? */ -#ifdef notdef -#define void int -#endif - -/* - * A few checks to see that necessary definitions are included. - */ - -/* byte order */ - -#ifndef MSBFIRST -#ifndef LSBFIRST -Error: byte order not defined. -#endif -#endif - -/* machine size */ -#ifndef BITS16 -#ifndef BITS32 -Error: how big is this machine anyways? -#endif -#endif - -/* end of checks */ - -#endif /* _CONF_H_ */ diff --git a/eBones/include/highc.h b/eBones/include/highc.h deleted file mode 100644 index 7ff2f7cbd5e04..0000000000000 --- a/eBones/include/highc.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Known breakage in the version of Metaware's High C compiler that - * we've got available.... - * - * from: highc.h,v 4.0 89/01/23 09:59:15 jtkohl Exp $ - * $Id: highc.h,v 1.3 1995/07/18 16:36:27 mark Exp $ - */ - -#define const -/*#define volatile*/ - -/* - * Some builtin functions we can take advantage of for inlining.... - */ - -#define abs _abs -/* the _max and _min builtins accept any number of arguments */ -#undef MAX -#define MAX(x,y) _max(x,y) -#undef MIN -#define MIN(x,y) _min(x,y) -/* - * I'm not sure if 65535 is a limit for this builtin, but it's - * reasonable for a string length. Or is it? - */ -/*#define strlen(s) _find_char(s,65535,0)*/ -#define bzero(ptr,len) _fill_char(ptr,len,'\0') -#define bcmp(b1,b2,len) _compare(b1,b2,len) diff --git a/eBones/include/kdc.h b/eBones/include/kdc.h deleted file mode 100644 index 70756a49afde0..0000000000000 --- a/eBones/include/kdc.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Include file for the Kerberos Key Distribution Center. - * - * from: kdc.h,v 4.1 89/01/24 17:54:04 jon Exp $ - * $Id: kdc.h,v 1.3 1995/07/18 16:36:29 mark Exp $ - */ - -#ifndef KDC_DEFS -#define KDC_DEFS - -#define S_AD_SZ sizeof(struct sockaddr_in) - -#define max(a,b) (a>b ? a : b) -#define min(a,b) (a<b ? a : b) - -#define TRUE 1 -#define FALSE 0 - -#define MKEYFILE "/etc/kerberosIV/master_key" -#define K_LOGFIL "/var/log/kpropd.log" -#define KS_LOGFIL "/var/log/kerberos_slave.log" -#define KRB_ACL "/etc/kerberosIV/kerberos.acl" -#define KRB_PROG "./kerberos" - -#define ONE_MINUTE 60 -#define FIVE_MINUTES (5 * ONE_MINUTE) -#define ONE_HOUR (60 * ONE_MINUTE) -#define ONE_DAY (24 * ONE_HOUR) -#define THREE_DAYS (3 * ONE_DAY) - -#endif /* KDC_DEFS */ - diff --git a/eBones/include/klog.h b/eBones/include/klog.h deleted file mode 100644 index c8ca55778696b..0000000000000 --- a/eBones/include/klog.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This file defines the types of log messages logged by klog. Each - * type of message may be selectively turned on or off. - * - * from: klog.h,v 4.7 89/01/24 17:55:07 jon Exp $ - * $Id: klog.h,v 1.3 1995/07/18 16:36:30 mark Exp $ - */ - -#ifndef KLOG_DEFS -#define KLOG_DEFS - -#define KRBLOG "/var/log/kerberos.log" /* master server */ -#define KRBSLAVELOG "/var/log/kerberos_slave.log" /* master server */ -#define NLOGTYPE 100 /* Maximum number of log msg types */ - -#define L_NET_ERR 1 /* Error in network code */ -#define L_NET_INFO 2 /* Info on network activity */ -#define L_KRB_PERR 3 /* Kerberos protocol errors */ -#define L_KRB_PINFO 4 /* Kerberos protocol info */ -#define L_INI_REQ 5 /* Request for initial ticket */ -#define L_NTGT_INTK 6 /* Initial request not for TGT */ -#define L_DEATH_REQ 7 /* Request for server death */ -#define L_TKT_REQ 8 /* All ticket requests using a tgt */ -#define L_ERR_SEXP 9 /* Service expired */ -#define L_ERR_MKV 10 /* Master key version incorrect */ -#define L_ERR_NKY 11 /* User's key is null */ -#define L_ERR_NUN 12 /* Principal not unique */ -#define L_ERR_UNK 13 /* Principal Unknown */ -#define L_ALL_REQ 14 /* All requests */ -#define L_APPL_REQ 15 /* Application requests (using tgt) */ -#define L_KRB_PWARN 16 /* Protocol warning messages */ - -char *klog(); - -#endif /* KLOG_DEFS */ diff --git a/eBones/include/kparse.h b/eBones/include/kparse.h deleted file mode 100644 index d506d9dc3b312..0000000000000 --- a/eBones/include/kparse.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Include file for kparse routines. - * - * from: kparse.h,v 4.5 89/01/11 12:05:53 steiner Exp $ - * $Id: kparse.h,v 1.4 1995/09/07 20:50:34 mark Exp $ - */ - -#ifndef KPARSE_DEFS -#define KPARSE_DEFS - -/* - * values returned by fGetParameterSet() - */ - -#define PS_BAD_KEYWORD -2 /* unknown or duplicate keyword */ -#define PS_SYNTAX -1 /* syntax error */ -#define PS_OKAY 0 /* got a complete parameter set */ -#define PS_EOF 1 /* nothing more in the file */ - -/* - * values returned by fGetKeywordValue() - */ - -#define KV_SYNTAX -2 /* syntax error */ -#define KV_EOF -1 /* nothing more in the file */ -#define KV_OKAY 0 /* got a keyword/value pair */ -#define KV_EOL 1 /* nothing more on this line */ - -/* - * values returned by fGetToken() - */ - -#define GTOK_BAD_QSTRING -1 /* newline found in quoted string */ -#define GTOK_EOF 0 /* end of file encountered */ -#define GTOK_QSTRING 1 /* quoted string */ -#define GTOK_STRING 2 /* unquoted string */ -#define GTOK_NUMBER 3 /* one or more digits */ -#define GTOK_PUNK 4 /* punks are punctuation, newline, - * etc. */ -#define GTOK_WHITE 5 /* one or more whitespace chars */ - -/* - * extended character classification macros - */ - -#define ISOCTAL(CH) ( (CH>='0') && (CH<='7') ) -#define ISQUOTE(CH) ( (CH=='\"') || (CH=='\'') || (CH=='`') ) -#define ISWHITESPACE(C) ( (C==' ') || (C=='\t') ) -#define ISLINEFEED(C) ( (C=='\n') || (C=='\r') || (C=='\f') ) - -/* - * tokens consist of any printable charcacter except comma, equal, or - * whitespace - */ - -#define ISTOKENCHAR(C) ((C>040) && (C<0177) && (C != ',') && (C != '=')) - -/* - * the parameter table defines the keywords that will be recognized by - * fGetParameterSet, and their default values if not specified. - */ - -typedef struct { - char *keyword; - char *defvalue; - char *value; -} parmtable; - -#define PARMCOUNT(P) (sizeof(P)/sizeof(P[0])) - -extern int LineNbr; /* current line # in parameter file */ - -extern char ErrorMsg[]; /* - * meaningful only when KV_SYNTAX, - * PS_SYNTAX, or PS_BAD_KEYWORD is - * returned by fGetKeywordValue or - * fGetParameterSet - */ - -extern char *strsave(char *p); /* defined in this module */ -extern char *strutol(char *p); /* defined in this module */ - -int fGetParameterSet(FILE *fp, parmtable parm[], int parmcount); -int fGetKeywordValue(FILE *fp, char *keyword, int klen, char *value, int vlen); -int fGetToken(FILE *fp, char *dest, int maxlen); - -#endif /* KPARSE_DEFS */ diff --git a/eBones/include/krb.h b/eBones/include/krb.h deleted file mode 100644 index 63ce3291fe1ab..0000000000000 --- a/eBones/include/krb.h +++ /dev/null @@ -1,517 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Include file for the Kerberos library. - * - * from: krb.h,v 4.26 89/08/08 17:55:25 jtkohl Exp $ - * $Id$ - */ - -/* Only one time, please */ -#ifndef KRB_DEFS -#define KRB_DEFS - -/* Need some defs from des.h */ -#include <stdio.h> -#include <des.h> -#include <netinet/in.h> - -/* Text describing error codes */ -#define MAX_KRB_ERRORS 256 -extern char *krb_err_txt[MAX_KRB_ERRORS]; - -/* These are not defined for at least SunOS 3.3 and Ultrix 2.2 */ -#if defined(ULTRIX022) || (defined(SunOS) && SunOS < 40) -#define FD_ZERO(p) ((p)->fds_bits[0] = 0) -#define FD_SET(n, p) ((p)->fds_bits[0] |= (1 << (n))) -#define FD_ISSET(n, p) ((p)->fds_bits[0] & (1 << (n))) -#endif /* ULTRIX022 || SunOS */ - -/* General definitions */ -#define KSUCCESS 0 -#define KFAILURE 255 - -#ifdef NO_UIDGID_T -typedef unsigned short uid_t; -typedef unsigned short gid_t; -#endif /* NO_UIDGID_T */ - -/* - * Kerberos specific definitions - * - * KRBLOG is the log file for the kerberos master server. KRB_CONF is - * the configuration file where different host machines running master - * and slave servers can be found. KRB_MASTER is the name of the - * machine with the master database. The admin_server runs on this - * machine, and all changes to the db (as opposed to read-only - * requests, which can go to slaves) must go to it. KRB_HOST is the - * default machine * when looking for a kerberos slave server. Other - * possibilities are * in the KRB_CONF file. KRB_REALM is the name of - * the realm. - */ - -#ifdef notdef -this is server - only, does not belong here; -#define KRBLOG "/etc/kerberosIV/kerberos.log" -are these used anyplace '?'; -#define VX_KRB_HSTFILE "/etc/krbhst" -#define PC_KRB_HSTFILE "\\kerberos\\krbhst" -#endif - -#define KRB_CONF "/etc/kerberosIV/krb.conf" -#define KRB_RLM_TRANS "/etc/kerberosIV/krb.realms" -#define KRB_MASTER "kerberos" -#define KRB_HOST KRB_MASTER -#define KRB_REALM "ATHENA.MIT.EDU" - -/* The maximum sizes for aname, realm, sname, and instance +1 */ -#define ANAME_SZ 40 -#define REALM_SZ 40 -#define SNAME_SZ 40 -#define INST_SZ 40 -/* include space for '.' and '@' */ -#define MAX_K_NAME_SZ (ANAME_SZ + INST_SZ + REALM_SZ + 2) -#define KKEY_SZ 100 -#define VERSION_SZ 1 -#define MSG_TYPE_SZ 1 -#define DATE_SZ 26 /* RTI date output */ - -#define MAX_HSTNM 100 - -#ifndef DEFAULT_TKT_LIFE /* allow compile-time override */ -#define DEFAULT_TKT_LIFE 96 /* default lifetime for krb_mk_req - & co., 8 hrs */ -#endif - -/* Definition of text structure used to pass text around */ -#define MAX_KTXT_LEN 1250 - -struct ktext { - int length; /* Length of the text */ - unsigned char dat[MAX_KTXT_LEN]; /* The data itself */ - unsigned long mbz; /* zero to catch runaway strings */ -}; - -typedef struct ktext *KTEXT; -typedef struct ktext KTEXT_ST; - - -/* Definitions for send_to_kdc */ -#define CLIENT_KRB_TIMEOUT 4 /* time between retries */ -#define CLIENT_KRB_RETRY 5 /* retry this many times */ -#define CLIENT_KRB_BUFLEN 512 /* max unfragmented packet */ - -/* Definitions for ticket file utilities */ -#define R_TKT_FIL 0 -#define W_TKT_FIL 1 - -/* Definitions for cl_get_tgt */ -#ifdef PC -#define CL_GTGT_INIT_FILE "\\kerberos\\k_in_tkts" -#else -#define CL_GTGT_INIT_FILE "/etc/k_in_tkts" -#endif PC - -/* Parameters for rd_ap_req */ -/* Maximum alloable clock skew in seconds */ -#define CLOCK_SKEW 5*60 -/* Filename for readservkey */ -#define KEYFILE "/etc/kerberosIV/srvtab" - -/* Structure definition for rd_ap_req */ - -struct auth_dat { - unsigned char k_flags; /* Flags from ticket */ - char pname[ANAME_SZ]; /* Principal's name */ - char pinst[INST_SZ]; /* His Instance */ - char prealm[REALM_SZ]; /* His Realm */ - unsigned long checksum; /* Data checksum (opt) */ - C_Block session; /* Session Key */ - int life; /* Life of ticket */ - unsigned long time_sec; /* Time ticket issued */ - unsigned long address; /* Address in ticket */ - KTEXT_ST reply; /* Auth reply (opt) */ -}; - -typedef struct auth_dat AUTH_DAT; - -/* Structure definition for credentials returned by get_cred */ - -struct credentials { - char service[ANAME_SZ]; /* Service name */ - char instance[INST_SZ]; /* Instance */ - char realm[REALM_SZ]; /* Auth domain */ - C_Block session; /* Session key */ - int lifetime; /* Lifetime */ - int kvno; /* Key version number */ - KTEXT_ST ticket_st; /* The ticket itself */ - long issue_date; /* The issue time */ - char pname[ANAME_SZ]; /* Principal's name */ - char pinst[INST_SZ]; /* Principal's instance */ -}; - -typedef struct credentials CREDENTIALS; - -/* Structure definition for rd_private_msg and rd_safe_msg */ - -struct msg_dat { - unsigned char *app_data; /* pointer to appl data */ - unsigned long app_length; /* length of appl data */ - unsigned long hash; /* hash to lookup replay */ - int swap; /* swap bytes? */ - long time_sec; /* msg timestamp seconds */ - unsigned char time_5ms; /* msg timestamp 5ms units */ -}; - -typedef struct msg_dat MSG_DAT; - - -/* Location of ticket file for save_cred and get_cred */ -#ifdef PC -#define TKT_FILE "\\kerberos\\ticket.ses" -#else -#define TKT_FILE tkt_string() -#define TKT_ROOT "/tmp/tkt" -#endif PC - -/* Error codes returned from the KDC */ -#define KDC_OK 0 /* Request OK */ -#define KDC_NAME_EXP 1 /* Principal expired */ -#define KDC_SERVICE_EXP 2 /* Service expired */ -#define KDC_AUTH_EXP 3 /* Auth expired */ -#define KDC_PKT_VER 4 /* Protocol version unknown */ -#define KDC_P_MKEY_VER 5 /* Wrong master key version */ -#define KDC_S_MKEY_VER 6 /* Wrong master key version */ -#define KDC_BYTE_ORDER 7 /* Byte order unknown */ -#define KDC_PR_UNKNOWN 8 /* Principal unknown */ -#define KDC_PR_N_UNIQUE 9 /* Principal not unique */ -#define KDC_NULL_KEY 10 /* Principal has null key */ -#define KDC_GEN_ERR 20 /* Generic error from KDC */ - - -/* Values returned by get_credentials */ -#define GC_OK 0 /* Retrieve OK */ -#define RET_OK 0 /* Retrieve OK */ -#define GC_TKFIL 21 /* Can't read ticket file */ -#define RET_TKFIL 21 /* Can't read ticket file */ -#define GC_NOTKT 22 /* Can't find ticket or TGT */ -#define RET_NOTKT 22 /* Can't find ticket or TGT */ - - -/* Values returned by mk_ap_req */ -#define MK_AP_OK 0 /* Success */ -#define MK_AP_TGTEXP 26 /* TGT Expired */ - -/* Values returned by rd_ap_req */ -#define RD_AP_OK 0 /* Request authentic */ -#define RD_AP_UNDEC 31 /* Can't decode authenticator */ -#define RD_AP_EXP 32 /* Ticket expired */ -#define RD_AP_NYV 33 /* Ticket not yet valid */ -#define RD_AP_REPEAT 34 /* Repeated request */ -#define RD_AP_NOT_US 35 /* The ticket isn't for us */ -#define RD_AP_INCON 36 /* Request is inconsistent */ -#define RD_AP_TIME 37 /* delta_t too big */ -#define RD_AP_BADD 38 /* Incorrect net address */ -#define RD_AP_VERSION 39 /* protocol version mismatch */ -#define RD_AP_MSG_TYPE 40 /* invalid msg type */ -#define RD_AP_MODIFIED 41 /* message stream modified */ -#define RD_AP_ORDER 42 /* message out of order */ -#define RD_AP_UNAUTHOR 43 /* unauthorized request */ - -/* Values returned by get_pw_tkt */ -#define GT_PW_OK 0 /* Got password changing tkt */ -#define GT_PW_NULL 51 /* Current PW is null */ -#define GT_PW_BADPW 52 /* Incorrect current password */ -#define GT_PW_PROT 53 /* Protocol Error */ -#define GT_PW_KDCERR 54 /* Error returned by KDC */ -#define GT_PW_NULLTKT 55 /* Null tkt returned by KDC */ - - -/* Values returned by send_to_kdc */ -#define SKDC_OK 0 /* Response received */ -#define SKDC_RETRY 56 /* Retry count exceeded */ -#define SKDC_CANT 57 /* Can't send request */ - -/* - * Values returned by get_intkt - * (can also return SKDC_* and KDC errors) - */ - -#define INTK_OK 0 /* Ticket obtained */ -#define INTK_W_NOTALL 61 /* Not ALL tickets returned */ -#define INTK_BADPW 62 /* Incorrect password */ -#define INTK_PROT 63 /* Protocol Error */ -#define INTK_ERR 70 /* Other error */ - -/* Values returned by get_adtkt */ -#define AD_OK 0 /* Ticket Obtained */ -#define AD_NOTGT 71 /* Don't have tgt */ - -/* Error codes returned by ticket file utilities */ -#define NO_TKT_FIL 76 /* No ticket file found */ -#define TKT_FIL_ACC 77 /* Couldn't access tkt file */ -#define TKT_FIL_LCK 78 /* Couldn't lock ticket file */ -#define TKT_FIL_FMT 79 /* Bad ticket file format */ -#define TKT_FIL_INI 80 /* tf_init not called first */ - -/* Error code returned by kparse_name */ -#define KNAME_FMT 81 /* Bad Kerberos name format */ - -/* Error codes returned by get_local_addr and bind_local_addr */ -#define GT_LADDR_NOSOCK 82 /* Can't open socket */ -#define GT_LADDR_IFLIST 83 /* - * Can't retrieve local interface - * configuration list - */ -#define GT_LADDR_NVI 84 /* No valid local interface found */ -#define BND_LADDR_BIND 85 /* Can't bind local address */ - -/* Error code returned by krb_mk_safe */ -#define SAFE_PRIV_ERROR -1 /* syscall error */ - -/* - * macros for byte swapping; also scratch space - * u_quad 0-->7, 1-->6, 2-->5, 3-->4, 4-->3, 5-->2, 6-->1, 7-->0 - * u_long 0-->3, 1-->2, 2-->1, 3-->0 - * u_short 0-->1, 1-->0 - */ - -#define swap_u_16(x) {\ - unsigned long _krb_swap_tmp[4];\ - swab(((char *) x) +0, ((char *) _krb_swap_tmp) +14 ,2); \ - swab(((char *) x) +2, ((char *) _krb_swap_tmp) +12 ,2); \ - swab(((char *) x) +4, ((char *) _krb_swap_tmp) +10 ,2); \ - swab(((char *) x) +6, ((char *) _krb_swap_tmp) +8 ,2); \ - swab(((char *) x) +8, ((char *) _krb_swap_tmp) +6 ,2); \ - swab(((char *) x) +10,((char *) _krb_swap_tmp) +4 ,2); \ - swab(((char *) x) +12,((char *) _krb_swap_tmp) +2 ,2); \ - swab(((char *) x) +14,((char *) _krb_swap_tmp) +0 ,2); \ - bcopy((char *)_krb_swap_tmp,(char *)x,16);\ - } - -#define swap_u_12(x) {\ - unsigned long _krb_swap_tmp[4];\ - swab(( char *) x, ((char *) _krb_swap_tmp) +10 ,2); \ - swab(((char *) x) +2, ((char *) _krb_swap_tmp) +8 ,2); \ - swab(((char *) x) +4, ((char *) _krb_swap_tmp) +6 ,2); \ - swab(((char *) x) +6, ((char *) _krb_swap_tmp) +4 ,2); \ - swab(((char *) x) +8, ((char *) _krb_swap_tmp) +2 ,2); \ - swab(((char *) x) +10,((char *) _krb_swap_tmp) +0 ,2); \ - bcopy((char *)_krb_swap_tmp,(char *)x,12);\ - } - -#define swap_C_Block(x) {\ - unsigned long _krb_swap_tmp[4];\ - swab(( char *) x, ((char *) _krb_swap_tmp) +6 ,2); \ - swab(((char *) x) +2,((char *) _krb_swap_tmp) +4 ,2); \ - swab(((char *) x) +4,((char *) _krb_swap_tmp) +2 ,2); \ - swab(((char *) x) +6,((char *) _krb_swap_tmp) ,2); \ - bcopy((char *)_krb_swap_tmp,(char *)x,8);\ - } -#define swap_u_quad(x) {\ - unsigned long _krb_swap_tmp[4];\ - swab(( char *) &x, ((char *) _krb_swap_tmp) +6 ,2); \ - swab(((char *) &x) +2,((char *) _krb_swap_tmp) +4 ,2); \ - swab(((char *) &x) +4,((char *) _krb_swap_tmp) +2 ,2); \ - swab(((char *) &x) +6,((char *) _krb_swap_tmp) ,2); \ - bcopy((char *)_krb_swap_tmp,(char *)&x,8);\ - } - -#define swap_u_long(x) {\ - unsigned long _krb_swap_tmp[4];\ - swab((char *) &x, ((char *) _krb_swap_tmp) +2 ,2); \ - swab(((char *) &x) +2,((char *) _krb_swap_tmp),2); \ - x = _krb_swap_tmp[0]; \ - } - -#define swap_u_short(x) {\ - unsigned short _krb_swap_sh_tmp; \ - swab((char *) &x, ( &_krb_swap_sh_tmp) ,2); \ - x = (unsigned short) _krb_swap_sh_tmp; \ - } - -/* Kerberos ticket flag field bit definitions */ -#define K_FLAG_ORDER 0 /* bit 0 --> lsb */ -#define K_FLAG_1 /* reserved */ -#define K_FLAG_2 /* reserved */ -#define K_FLAG_3 /* reserved */ -#define K_FLAG_4 /* reserved */ -#define K_FLAG_5 /* reserved */ -#define K_FLAG_6 /* reserved */ -#define K_FLAG_7 /* reserved, bit 7 --> msb */ - -#ifndef PC -char *tkt_string(); -#endif PC - -#ifdef OLDNAMES -#define krb_mk_req mk_ap_req -#define krb_rd_req rd_ap_req -#define krb_kntoln an_to_ln -#define krb_set_key set_serv_key -#define krb_get_cred get_credentials -#define krb_mk_priv mk_private_msg -#define krb_rd_priv rd_private_msg -#define krb_mk_safe mk_safe_msg -#define krb_rd_safe rd_safe_msg -#define krb_mk_err mk_appl_err_msg -#define krb_rd_err rd_appl_err_msg -#define krb_ck_repl check_replay -#define krb_get_pw_in_tkt get_in_tkt -#define krb_get_svc_in_tkt get_svc_in_tkt -#define krb_get_pw_tkt get_pw_tkt -#define krb_realmofhost krb_getrealm -#define krb_get_phost get_phost -#define krb_get_krbhst get_krbhst -#define krb_get_lrealm get_krbrlm -#endif OLDNAMES - -/* Defines for krb_sendauth and krb_recvauth */ - -#define KOPT_DONT_MK_REQ 0x00000001 /* don't call krb_mk_req */ -#define KOPT_DO_MUTUAL 0x00000002 /* do mutual auth */ - -#define KOPT_DONT_CANON 0x00000004 /* - * don't canonicalize inst as - * a hostname - */ - -#define KRB_SENDAUTH_VLEN 8 /* length for version strings */ - -#ifdef ATHENA_COMPAT -#define KOPT_DO_OLDSTYLE 0x00000008 /* use the old-style protocol */ -#endif ATHENA_COMPAT - -/* libacl */ -void acl_canonicalize_principal __P((char *principal, char *buf)); -int acl_check __P((char *acl, char *principal)); -int acl_exact_match __P((char *acl, char *principal)); -int acl_add __P((char *acl, char *principal)); -int acl_delete __P((char *acl, char *principal)); -int acl_initialize __P((char *acl_file, int mode)); - -/* libkrb - krb.3 */ -int krb_mk_req __P((KTEXT authent, char *service, char *instance, char *realm, - long checksum); -int krb_rd_req __P((KTEXT authent, char *service, char *instance, - long from_addr, AUTH_DAT *ad, char *fn)); -int krb_kntoln __P((AUTH_DAT *ad, char *lname)); -int krb_set_key __P((char *key, int cvt)); -int krb_get_cred __P((char *service, char *instance, char *realm, - CREDENTIALS *c)); -long krb_mk_priv __P((u_char *in, u_char *out, u_long in_length, - des_key_schedule schedule, des_cblock key, struct sockaddr_in *sender, - struct sockaddr_in *receiver)); -long krb_rd_priv __P((u_char *in, u_long in_length, Key_schedule schedule, - des_cblock key, struct sockaddr_in *sender, struct sockaddr_in *receiver, - MSG_DAT *msg_data)); -long krb_mk_safe __P((u_char *in, u_char *out, u_long in_length, - des_cblock *key, struct sockaddr_in *sender, struct sockaddr_in *receiver)); -long krb_rd_safe __P((u_char *in, u_long length, des_cblock *key, - struct sockaddr_in *sender, struct sockaddr_in *receiver, - MSG_DAT *msg_data)); -long krb_mk_err __P((u_char *out, long code, char *string)); -int krb_rd_err __P((u_char *in, u_long in_length, long *code, MSG_DAT *m_data)); - -/* libkrb - krb_sendauth.3 */ -int krb_sendauth __P((long options, int fd, KTEXT ticket, char *service, - char *inst, char *realm, u_long checksum, MSG_DAT *msg_data, - CREDENTIALS *cred, Key_schedule schedule, struct sockaddr_in *laddr, - struct sockaddr_in *faddr, char *version)); -int krb_recvauth __P((long options, int fd, KTEXT ticket, char *service, - char *instance, struct sockaddr_in *faddr, struct sockaddr_in *laddr, - AUTH_DAT *kdata, char *filename, Key_schedule schedule, char *version)); -int krb_net_write __P((int fd, char *buf, int len)); -int krb_net_read __P((int fd, char *buf, int len)); - -/* libkrb - krb_realmofhost.3 */ -char *krb_realmofhost __P((char *host)); -char *krb_get_phost __P((char *alias)); -int krb_get_krbhst __P((char *h, char *r, int n)); -int krb_get_admhst __P((char *h, char *r, int n)); -int krb_get_lrealm __P((char *r, int n)); - -/* libkrb - krb_set_tkt_string.3 */ -void krb_set_tkt_string(char *val); - -/* libkrb - kuserok.3 */ -int kuserok __P((AUTH_DAT *authdata, char *localuser)); - -/* libkrb - tf_util.3 */ -int tf_init __P((char *tf_name, int rw)); -int tf_get_pname __P((char *p)); -int tf_get_pinst __P((char *inst)); -int tf_get_cred __P((CREDENTIALS *c)); -void tf_close __P((void)); - -/* Internal routines */ -int des_set_key_krb __P((des_cblock *inkey, des_key_schedule insched)); -void des_clear_key_krb __P((void)); -int des_read __P((int fd, char *buf, int len)); -int des_write __P((int fd, char *buf, int len)); -int krb_get_tf_realm __P((char *ticket_file, char *realm)); -int krb_get_in_tkt __P((char *user, char *instance, char *realm, char *service, - char *sinstance, int life, int (*key_proc)(), int (*decrypt_proc)(), - char *arg)); -int krb_get_pw_in_tkt __P((char *user, char *instance, char *realm, - char *service, char *sinstance, int life, char *password)); -int krb_get_svc_in_tkt __P((char *user, char *instance, char *realm, - char *service, char *sinstance, int life, char *srvtab)); -int krb_get_tf_fullname __P((char *ticket_file, char *name, char *instance, - char *realm)); -int save_credentials __P((char *service, char *instance, char *realm, - des_cblock session, int lifetime, int kvno, KTEXT ticket, long issue_date)); -int read_service_key __P((char *service, char *instance, char *realm, int kvno, - char *file, char *key)); -int get_ad_tkt __P((char *service, char *sinstance, char *realm, int lifetime)); -int send_to_kdc __P((KTEXT pkt, KTEXT rpkt, char *realm)); -int krb_bind_local_addr __P((int s)); -int krb_get_local_addr __P((struct sockaddr_in *returned_addr)); -int krb_create_ticket __P((KTEXT tkt, unsigned char flags, char *pname, - char *pinstance, char *prealm, long paddress, char *session, short life, - long time_sec, char *sname, char *sinstance, C_Block key)); -int decomp_ticket __P((KTEXT tkt, unsigned char *flags, char *pname, - char *pinstance, char *prealm, unsigned long *paddress, des_cblock session, - int *life, unsigned long *time_sec, char *sname, char *sinstance, - des_cblock key, des_key_schedule key_s)); -int create_ciph __P((KTEXT c, C_Block session, char *service, char *instance, - char *realm, unsigned long life, int kvno, KTEXT tkt, - unsigned long kdc_time, C_Block key)); -int kname_parse __P((char *np, char *ip, char *rp, char *fullname)); -int tf_save_cred __P((char *service, char *instance, char *realm, - des_cblock session, int lifetime, int kvno, KTEXT ticket, long issue_date)); -int getst(int fd, char *s, int n)); -int pkt_clen __P((KTEXT pkt)); -int in_tkt __P((char *pname, char *pinst)); -int dest_tkt __P((void)); -char *month_sname __P((int n)); -void log __P(()); /* Actually VARARGS - markm */ -void kset_logfile __P((char *filename)); -void set_logfile __P((char *filename)); -int k_isinst __P((char *s)); -int k_isrealm __P((char *s)); -int k_isname __P((char *s)); -int k_gethostname __P((char *name, int namelen)); -int kerb_init __P((void)); -void kerb_fini __P((void)); -int kerb_db_set_name __P((char *name)); -int kerb_db_set_lockmode __P((int mode)); -int kerb_db_create __P((char *db_name)); -int kerb_db_iterate __P((int (*func)(), char *arg)); -int kerb_db_rename __P((char *from, char *to)); -long kerb_get_db_age __P((void)); -char * stime __P((long *t)); - -long kdb_get_master_key __P((int prompt, C_Block master_key, - Key_schedule master_key_sched)); -long kdb_verify_master_key __P((C_Block master_key, - Key_schedule master_key_sched, FILE *out)); -void kdb_encrypt_key __P((C_Block in, C_Block out, C_Block master_key, - Key_schedule master_key_sched, int e_d_flag)); - -extern int krb_ap_req_debug; -extern int krb_debug; - -#endif KRB_DEFS diff --git a/eBones/include/krb_conf.h b/eBones/include/krb_conf.h deleted file mode 100644 index ac7c2a83ec70f..0000000000000 --- a/eBones/include/krb_conf.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This file contains configuration information for the Kerberos library - * which is machine specific; currently, this file contains - * configuration information for the vax, the "ibm032" (RT), and the - * "PC8086" (IBM PC). - * - * Note: cross-compiled targets must appear BEFORE their corresponding - * cross-compiler host. Otherwise, both will be defined when running - * the native compiler on the programs that construct cross-compiled - * sources. - * - * from: krb_conf.h,v 4.0 89/01/23 09:59:27 jtkohl Exp $ - * $Id: krb_conf.h,v 1.3 1995/07/18 16:36:36 mark Exp $ - */ - -#ifndef KRB_CONF_DEFS -#define KRB_CONF_DEFS - -/* Byte ordering */ -extern int krbONE; -#define HOST_BYTE_ORDER (* (char *) &krbONE) -#define MSB_FIRST 0 /* 68000, IBM RT/PC */ -#define LSB_FIRST 1 /* Vax, PC8086 */ - -#endif KRB_CONF_DEFS diff --git a/eBones/include/krb_db.h b/eBones/include/krb_db.h deleted file mode 100644 index d6d125a3551f4..0000000000000 --- a/eBones/include/krb_db.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * spm Project Athena 8/85 - * - * This file defines data structures for the kerberos - * authentication/authorization database. - * - * They MUST correspond to those defined in *.rel - * - * from: krb_db.h,v 4.9 89/01/24 17:55:39 jon Exp $ - * $Id: krb_db.h,v 1.4 1995/08/25 21:25:12 mark Exp $ - */ - -#ifndef KRB_DB_DEFS -#define KRB_DB_DEFS - -#define KERB_M_NAME "K" /* Kerberos */ -#define KERB_M_INST "M" /* Master */ -#define KERB_DEFAULT_NAME "default" -#define KERB_DEFAULT_INST "" -#define DBM_FILE "/etc/kerberosIV/principal" - -/* this also defines the number of queue headers */ -#define KERB_DB_HASH_MODULO 64 - - -/* Arguments to kerb_dbl_lock() */ - -#define KERB_DBL_EXCLUSIVE 1 -#define KERB_DBL_SHARED 0 - -/* arguments to kerb_db_set_lockmode() */ - -#define KERB_DBL_BLOCKING 0 -#define KERB_DBL_NONBLOCKING 1 - -/* Principal defines the structure of a principal's name */ - -typedef struct { - char name[ANAME_SZ]; - char instance[INST_SZ]; - - unsigned long key_low; - unsigned long key_high; - unsigned long exp_date; - char exp_date_txt[DATE_SZ]; - unsigned long mod_date; - char mod_date_txt[DATE_SZ]; - unsigned short attributes; - unsigned char max_life; - unsigned char kdc_key_ver; - unsigned char key_version; - - char mod_name[ANAME_SZ]; - char mod_instance[INST_SZ]; - char *old; /* cast to (Principal *); not in db, - * ptr to old vals */ -} - Principal; - -typedef struct { - long cpu; - long elapsed; - long dio; - long pfault; - long t_stamp; - long n_retrieve; - long n_replace; - long n_append; - long n_get_stat; - long n_put_stat; -} - DB_stat; - -/* Dba defines the structure of a database administrator */ - -typedef struct { - char name[ANAME_SZ]; - char instance[INST_SZ]; - unsigned short attributes; - unsigned long exp_date; - char exp_date_txt[DATE_SZ]; - char *old; /* - * cast to (Dba *); not in db, ptr to - * old vals - */ -} - Dba; - -extern int kerb_get_principal(char *name, char *inst, Principal *principal, - unsigned int max, int *more); -extern int kerb_put_principal(Principal *principal, unsigned int n); -extern void kerb_db_get_stat(DB_stat *s); -extern void kerb_db_put_stat(DB_stat *s); -extern int kerb_get_dba(char *name, char *inst, Dba *dba, unsigned int max, - int *more); -extern int kerb_db_get_dba(char *dba_name, char *dba_inst, Dba *dba, - unsigned int max, int *more); - -extern void krb_print_principal(Principal *p); -extern int kerb_db_get_principal(char *name, char *inst, Principal *principal, - unsigned int max, int *more); -extern int kerb_db_put_principal(Principal *principal, unsigned int max); -extern int kerb_db_init(void); -extern void kerb_db_fini(void); - -#endif /* KRB_DB_DEFS */ diff --git a/eBones/include/lsb_addr_comp.h b/eBones/include/lsb_addr_comp.h deleted file mode 100644 index 2686ade5481f3..0000000000000 --- a/eBones/include/lsb_addr_comp.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Comparison macros to emulate LSBFIRST comparison results of network - * byte-order quantities - * - * from: lsb_addr_comp.h,v 4.0 89/01/23 15:44:46 jtkohl Exp $ - * $Id: lsb_addr_comp.h,v 1.3 1995/07/18 16:36:39 mark Exp $ - */ - -#ifndef LSB_ADDR_COMP_DEFS -#define LSB_ADDR_COMP_DEFS - -#include "osconf.h" - -#ifdef LSBFIRST -#define lsb_net_ulong_less(x,y) ((x < y) ? -1 : ((x > y) ? 1 : 0)) -#define lsb_net_ushort_less(x,y) ((x < y) ? -1 : ((x > y) ? 1 : 0)) -#else -/* MSBFIRST */ -#define u_char_comp(x,y) \ - (((x)>(y))?(1):(((x)==(y))?(0):(-1))) -/* This is gross, but... */ -#define lsb_net_ulong_less(x, y) long_less_than((u_char *)&x, (u_char *)&y) -#define lsb_net_ushort_less(x, y) short_less_than((u_char *)&x, (u_char *)&y) - -#define long_less_than(x,y) \ - (u_char_comp((x)[3],(y)[3])?u_char_comp((x)[3],(y)[3]): \ - (u_char_comp((x)[2],(y)[2])?u_char_comp((x)[2],(y)[2]): \ - (u_char_comp((x)[1],(y)[1])?u_char_comp((x)[1],(y)[1]): \ - (u_char_comp((x)[0],(y)[0]))))) -#define short_less_than(x,y) \ - (u_char_comp((x)[1],(y)[1])?u_char_comp((x)[1],(y)[1]): \ - (u_char_comp((x)[0],(y)[0]))) - -#endif /* LSBFIRST */ - -#endif /* LSB_ADDR_COMP_DEFS */ diff --git a/eBones/include/osconf.h b/eBones/include/osconf.h deleted file mode 100644 index e0af41a9570c7..0000000000000 --- a/eBones/include/osconf.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Athena configuration. - * - * from: osconf.h,v 4.4 89/12/19 13:26:27 jtkohl Exp $ - * $Id: osconf.h,v 1.3 1995/07/18 16:36:41 mark Exp $ - */ - -#ifdef tahoe -#include "conf-bsdtahoe.h" -#else /* !tahoe */ -#ifdef vax -#include "conf-bsdvax.h" -#else /* !vax */ -#if defined(mips) && defined(ultrix) -#include "conf-ultmips2.h" -#else /* !Ultrix MIPS-2 */ -#ifdef ibm032 -#include "conf-bsdibm032.h" -#else /* !ibm032 */ -#ifdef apollo -#include "conf-bsdapollo.h" -#else /* !apollo */ -#ifdef sun -#ifdef sparc -#include "conf-bsdsparc.h" -#else /* sun but not sparc */ -#ifdef i386 -#include "conf-bsd386i.h" -#else /* sun but not (sparc or 386i) */ -#include "conf-bsdm68k.h" -#endif /* i386 */ -#endif /* sparc */ -#else /* !sun */ -#ifdef pyr -#include "conf-pyr.h" -#endif /* pyr */ -#endif /* sun */ -#endif /* apollo */ -#endif /* ibm032 */ -#endif /* mips */ -#endif /* vax */ -#endif /* tahoe */ - -#if defined(__FreeBSD__) && defined(i386) -#include "conf-bsd386i.h" -#endif - diff --git a/eBones/include/passwd_server.h b/eBones/include/passwd_server.h deleted file mode 100644 index 662e65423cd2f..0000000000000 --- a/eBones/include/passwd_server.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Include file for password server - * - * from: passwd_server.h,v 4.6 89/01/11 15:12:22 steiner Exp $ - * $Id: passwd_server.h,v 1.3 1995/07/18 16:36:43 mark Exp $ - */ - -#ifndef PASSWD_SERVER_DEFS -#define PASSWD_SERVER_DEFS - -#define PW_SRV_VERSION 2 /* version number */ -#define RETRY_LIMIT 1 -#define TIME_OUT 30 -#define USER_TIMEOUT 90 -#define MAX_KPW_LEN 40 /* hey, seems like a good number */ - -#define INSTALL_NEW_PW (1<<0) /* - * ver, cmd, name, password, old_pass, - * crypt_pass, uid - */ - -#define INSTALL_REPLY (1<<1) /* ver, cmd, name, password */ - -#endif /* PASSWD_SERVER_DEFS */ diff --git a/eBones/include/principal.h b/eBones/include/principal.h deleted file mode 100644 index 7fa67bc42976d..0000000000000 --- a/eBones/include/principal.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Definitions for principal names. - * - * from: principal.h,v 4.5 89/01/11 15:15:01 steiner Exp $ - * $Id: principal.h,v 1.3 1995/07/18 16:36:45 mark Exp $ - */ - -#ifndef PRINCIPAL_DEFS -#define PRINCIPAL_DEFS - -#define NAME_LEN 39 -#define INSTANCE_LEN 39 - -#endif /* PRINCIPAL_DEFS */ diff --git a/eBones/include/prot.h b/eBones/include/prot.h deleted file mode 100644 index ec0ee07dcc9f3..0000000000000 --- a/eBones/include/prot.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Include file with authentication protocol information. - * - * from: prot.h,v 4.13 89/01/24 14:27:22 jtkohl Exp $ - * $Id: prot.h,v 1.3 1995/07/18 16:36:46 mark Exp $ - */ - -#include <krb_conf.h> - -#ifndef PROT_DEFS -#define PROT_DEFS - -#define KRB_PORT 750 /* PC's don't have - * /etc/services */ -#define KRB_PROT_VERSION 4 -#define MAX_PKT_LEN 1000 -#define MAX_TXT_LEN 1000 -#define TICKET_GRANTING_TICKET "krbtgt" - -/* Macro's to obtain various fields from a packet */ - -#define pkt_version(packet) (unsigned int) *(packet->dat) -#define pkt_msg_type(packet) (unsigned int) *(packet->dat+1) -#define pkt_a_name(packet) (packet->dat+2) -#define pkt_a_inst(packet) \ - (packet->dat+3+strlen((char *)pkt_a_name(packet))) -#define pkt_a_realm(packet) \ - (pkt_a_inst(packet)+1+strlen((char *)pkt_a_inst(packet))) - -/* Macro to obtain realm from application request */ -#define apreq_realm(auth) (auth->dat + 3) - -#define pkt_time_ws(packet) (char *) \ - (packet->dat+5+strlen((char *)pkt_a_name(packet)) + \ - strlen((char *)pkt_a_inst(packet)) + \ - strlen((char *)pkt_a_realm(packet))) - -#define pkt_no_req(packet) (unsigned short) \ - *(packet->dat+9+strlen((char *)pkt_a_name(packet)) + \ - strlen((char *)pkt_a_inst(packet)) + \ - strlen((char *)pkt_a_realm(packet))) -#define pkt_x_date(packet) (char *) \ - (packet->dat+10+strlen((char *)pkt_a_name(packet)) + \ - strlen((char *)pkt_a_inst(packet)) + \ - strlen((char *)pkt_a_realm(packet))) -#define pkt_err_code(packet) ( (char *) \ - (packet->dat+9+strlen((char *)pkt_a_name(packet)) + \ - strlen((char *)pkt_a_inst(packet)) + \ - strlen((char *)pkt_a_realm(packet)))) -#define pkt_err_text(packet) \ - (packet->dat+13+strlen((char *)pkt_a_name(packet)) + \ - strlen((char *)pkt_a_inst(packet)) + \ - strlen((char *)pkt_a_realm(packet))) - -/* Routines to create and read packets may be found in prot.c */ - -KTEXT create_auth_reply(); -KTEXT create_death_packet(); -KTEXT pkt_cipher(); - -/* Message types , always leave lsb for byte order */ - -#define AUTH_MSG_KDC_REQUEST 1<<1 -#define AUTH_MSG_KDC_REPLY 2<<1 -#define AUTH_MSG_APPL_REQUEST 3<<1 -#define AUTH_MSG_APPL_REQUEST_MUTUAL 4<<1 -#define AUTH_MSG_ERR_REPLY 5<<1 -#define AUTH_MSG_PRIVATE 6<<1 -#define AUTH_MSG_SAFE 7<<1 -#define AUTH_MSG_APPL_ERR 8<<1 -#define AUTH_MSG_DIE 63<<1 - -/* values for kerb error codes */ - -#define KERB_ERR_OK 0 -#define KERB_ERR_NAME_EXP 1 -#define KERB_ERR_SERVICE_EXP 2 -#define KERB_ERR_AUTH_EXP 3 -#define KERB_ERR_PKT_VER 4 -#define KERB_ERR_NAME_MAST_KEY_VER 5 -#define KERB_ERR_SERV_MAST_KEY_VER 6 -#define KERB_ERR_BYTE_ORDER 7 -#define KERB_ERR_PRINCIPAL_UNKNOWN 8 -#define KERB_ERR_PRINCIPAL_NOT_UNIQUE 9 -#define KERB_ERR_NULL_KEY 10 - -#endif /* PROT_DEFS */ diff --git a/eBones/include/rkinit.h b/eBones/include/rkinit.h deleted file mode 100644 index 8be12029cd8e6..0000000000000 --- a/eBones/include/rkinit.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * $Id: rkinit.h,v 1.2 1993/12/23 16:47:27 dglo Exp $ - * $Source: /usr/sww/share/src/kerberosIV.BSD/include/RCS/rkinit.h,v $ - * $Author: dglo $ - * - * Main header file for rkinit library users - */ - -#ifndef __RKINIT_H__ -#define __RKINIT_H__ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid_rkinit_h = "$Id: rkinit.h,v 1.2 1993/12/23 16:47:27 dglo Exp $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <krb.h> -#include <sys/param.h> - -#ifdef __STDC__ -#define RK_PROTO(x) x -#else -#define RK_PROTO(x) () -#endif /* __STDC__ */ - -typedef struct { - char aname[ANAME_SZ + 1]; - char inst[INST_SZ + 1]; - char realm[REALM_SZ + 1]; - char sname[ANAME_SZ + 1]; - char sinst[INST_SZ + 1]; - char username[9]; /* max local name length + 1 */ - char tktfilename[MAXPATHLEN + 1]; - u_int lifetime; -} rkinit_info; - -#define RKINIT_SUCCESS 0 - -/* Function declarations */ -extern int rkinit RK_PROTO((char *, char *, rkinit_info *, int)); -extern char *rkinit_errmsg RK_PROTO((char *)); - -#endif /* __RKINIT_H__ */ diff --git a/eBones/include/rkinit_private.h b/eBones/include/rkinit_private.h deleted file mode 100644 index 3f677ca422a90..0000000000000 --- a/eBones/include/rkinit_private.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * $Id: rkinit_private.h,v 1.1 1995/09/15 06:19:14 gibbs Exp $ - * - * Header file for rkinit library and server internal use - */ - -#ifndef __RKINIT_PRIVATE_H__ -#define __RKINIT_PRIVATE_H__ - -#include <sys/types.h> -#include <netinet/in.h> - -#ifdef __STDC__ -#define RK_PROTO(x) x -#else -#define RK_PROTO(x) () -#define const -#endif /* __STDC__ */ - -/* Lowest and highest versions supported */ -#define RKINIT_LVERSION 3 -#define RKINIT_HVERSION 3 - -/* Service to be used; port number to fall back on if service isn't found */ -#define SERVENT "rkinit" -#define PORT 2108 - -/* Key for kerberos authentication */ -#define KEY "rcmd" - -/* Packet format information */ -#define PKT_TYPE 0 -#define PKT_LEN 1 -#define PKT_DATA (PKT_LEN + sizeof(u_int32_t)) - -/* Number of retries during message reads */ -#define RETRIES 15 - -/* - * Message types for packets. Make sure that rki_mt_to_string is right in - * rk_util.c - */ -#define MT_STATUS 0 -#define MT_CVERSION 1 -#define MT_SVERSION 2 -#define MT_RKINIT_INFO 3 -#define MT_SKDC 4 -#define MT_CKDC 5 -#define MT_AUTH 6 -#define MT_DROP 7 - -/* Miscellaneous protocol constants */ -#define VERSION_INFO_SIZE 2 - -/* Useful definitions */ -#define BCLEAR(a) bzero((char *)(a), sizeof(a)) -#define SBCLEAR(a) bzero((char *)&(a), sizeof(a)) -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#define max(a,b) (((a) > (b)) ? (a) : (b)) - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifdef _JBLEN -#define SETJMP_TYPEDEFED -#endif - -/* Function declarations */ -int rki_key_proc RK_PROTO((char *, char *, char *, char *, des_cblock *)); -int rki_get_tickets RK_PROTO((int, char *, char *, rkinit_info *)); -int rki_send_packet RK_PROTO((int, char, u_int32_t, const char *)); -int rki_get_packet RK_PROTO((int, u_char, u_int32_t *, char *)); -int rki_setup_rpc RK_PROTO((char *)); -int rki_rpc_exchange_version_info RK_PROTO((int, int, int *, int *)); -int rki_rpc_send_rkinit_info RK_PROTO((rkinit_info *)); -int rki_rpc_get_status RK_PROTO((void)); -int rki_rpc_get_ktext RK_PROTO((int, KTEXT, u_char)); -int rki_rpc_sendauth RK_PROTO((KTEXT)); -int rki_rpc_get_skdc RK_PROTO((KTEXT)); -int rki_rpc_send_ckdc RK_PROTO((MSG_DAT *)); -int rki_get_csaddr RK_PROTO((struct sockaddr_in *, struct sockaddr_in *)); -void rki_drop_server RK_PROTO((void)); -void rki_cleanup_rpc RK_PROTO((void)); -void rki_dmsg RK_PROTO((char *)); -const char *rki_mt_to_string RK_PROTO((int)); -int rki_choose_version RK_PROTO((int *)); -int rki_send_rkinit_info RK_PROTO((int, rkinit_info *)); -#ifdef SETJMP_TYPEDEFED -void (*rki_setup_timer RK_PROTO((jmp_buf env))) RK_PROTO((int)); -#endif -void rki_restore_timer RK_PROTO((void (*old_alrm)(int))); -void rki_cleanup_rpc RK_PROTO((void)); - - -#endif /* __RKINIT_PRIVATE_H__ */ diff --git a/eBones/lib/Makefile b/eBones/lib/Makefile deleted file mode 100644 index 206bcaacfcf48..0000000000000 --- a/eBones/lib/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id$ - -SUBDIR= libacl libkdb libkrb libkadm librkinit - -.include <bsd.subdir.mk> diff --git a/eBones/lib/Makefile.inc b/eBones/lib/Makefile.inc deleted file mode 100644 index b0b4ed25a2904..0000000000000 --- a/eBones/lib/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -SHLIB_MAJOR?= 2 -SHLIB_MINOR?= 0 - -.include "../Makefile.inc" diff --git a/eBones/lib/libacl/Makefile b/eBones/lib/libacl/Makefile deleted file mode 100644 index 7fa05c06a09cc..0000000000000 --- a/eBones/lib/libacl/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.4 1995/09/13 17:23:49 markm Exp $ - -LIB= acl -CFLAGS+=-DDEBUG -DKERBEROS -SRCS= acl_files.c -MAN3= acl_check.3 -MLINKS= acl_check.3 acl_canonicalize_principal.3 \ - acl_check.3 acl_exact_match.3 acl_check.3 acl_add.3 \ - acl_check.3 acl_delete.3 acl_check.3 acl_initialize.3 - -.include <bsd.lib.mk> diff --git a/eBones/lib/libacl/acl_check.3 b/eBones/lib/libacl/acl_check.3 deleted file mode 100644 index 2e5129c47038e..0000000000000 --- a/eBones/lib/libacl/acl_check.3 +++ /dev/null @@ -1,183 +0,0 @@ -.\" from: acl_check.3,v 4.1 89/01/23 11:06:54 jtkohl Exp $ -.\" $Id: acl_check.3,v 1.1.1.1 1994/09/30 14:50:05 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH ACL_CHECK 3 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -acl_canonicalize_principal, acl_check, acl_exact_match, acl_add, -acl_delete, acl_initialize \- Access control list routines -.SH SYNOPSIS -.nf -.nj -.ft B -cc <files> \-lacl \-lkrb -.PP -.ft B -#include <kerberosIV/krb.h> -.PP -.ft B -acl_canonicalize_principal(principal, buf) -char *principal; -char *buf; -.PP -.ft B -acl_check(acl, principal) -char *acl; -char *principal; -.PP -.ft B -acl_exact_match(acl, principal) -char *acl; -char *principal; -.PP -.ft B -acl_add(acl, principal) -char *acl; -char *principal; -.PP -.ft B -acl_delete(acl, principal) -char *acl; -char *principal; -.PP -.ft B -acl_initialize(acl_file, mode) -char *acl_file; -int mode; -.fi -.ft R -.SH DESCRIPTION -.SS Introduction -.PP -An access control list (ACL) is a list of principals, where each -principal is represented by a text string which cannot contain -whitespace. The library allows application programs to refer to named -access control lists to test membership and to atomically add and -delete principals using a natural and intuitive interface. At -present, the names of access control lists are required to be Unix -filenames, and refer to human-readable Unix files; in the future, when -a networked ACL server is implemented, the names may refer to a -different namespace specific to the ACL service. -.PP -.SS Principal Names -.PP -Principal names have the form -.nf -.in +5n -<name>[.<instance>][@<realm>] -.in -5n -e.g.: -.in +5n -asp -asp.root -asp@ATHENA.MIT.EDU -asp.@ATHENA.MIT.EDU -asp.root@ATHENA.MIT.EDU -.in -5n -.fi -It is possible for principals to be underspecified. If an instance is -missing, it is assumed to be "". If realm is missing, it is assumed -to be the local realm as determined by -.IR krb_get_lrealm (3). -The canonical form contains all of name, instance, -and realm; the acl_add and acl_delete routines will always -leave the file in that form. Note that the canonical form of -asp@ATHENA.MIT.EDU is actually asp.@ATHENA.MIT.EDU. -.SS Routines -.PP -.I acl_canonicalize_principal -stores the canonical form of -.I principal -in -.IR buf . -.I Buf -must contain enough -space to store a principal, given the limits on the sizes of name, -instance, and realm specified as ANAME_SZ, INST_SZ, and REALM_SZ, -respectively, in -.IR /usr/include/kerberosIV/krb.h . -.PP -.I acl_check -returns nonzero if -.I principal -appears in -.IR acl . -Returns 0 if principal -does not appear in acl, or if an error occurs. Canonicalizes -principal before checking, and allows the ACL to contain wildcards. The -only supported wildcards are entries of the form -name.*@realm, *.*@realm, and *.*@*. An asterisk matches any value for the -its component field. For example, "jtkohl.*@*" would match principal -jtkohl, with any instance and any realm. -.PP -.I acl_exact_match -performs like -.IR acl_check , -but does no canonicalization or wildcard matching. -.PP -.I acl_add -atomically adds -.I principal -to -.IR acl . -Returns 0 if successful, nonzero otherwise. It is considered a failure -if -.I principal -is already in -.IR acl . -This routine will canonicalize -.IR principal , -but will treat wildcards literally. -.PP -.I acl_delete -atomically deletes -.I principal -from -.IR acl . -Returns 0 if successful, -nonzero otherwise. It is considered a failure if -.I principal -is not -already in -.IR acl . -This routine will canonicalize -.IR principal , -but will treat wildcards literally. -.PP -.I acl_initialize -initializes -.IR acl_file . -If the file -.I acl_file -does not exist, -.I acl_initialize -creates it with mode -.IR mode . -If the file -.I acl_file -exists, -.I acl_initialize -removes all members. Returns 0 if successful, -nonzero otherwise. WARNING: Mode argument is likely to change with -the eventual introduction of an ACL service. -.SH NOTES -In the presence of concurrency, there is a very small chance that -.I acl_add -or -.I acl_delete -could report success even though it would have -had no effect. This is a necessary side effect of using lock files -for concurrency control rather than flock(2), which is not supported -by NFS. -.PP -The current implementation caches ACLs in memory in a hash-table -format for increased efficiency in checking membership; one effect of -the caching scheme is that one file descriptor will be kept open for -each ACL cached, up to a maximum of 8. -.SH SEE ALSO -kerberos(3), krb_get_lrealm(3) -.SH AUTHOR -James Aspnes (MIT Project Athena) diff --git a/eBones/lib/libacl/acl_files.c b/eBones/lib/libacl/acl_files.c deleted file mode 100644 index 7670f2aa22aac..0000000000000 --- a/eBones/lib/libacl/acl_files.c +++ /dev/null @@ -1,555 +0,0 @@ -/* - * - * Copyright 1987,1989 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * <mit-copyright.h>. - * - * from: acl_files.c,v 4.4 89/12/19 13:30:53 jtkohl Exp $ - * $Id: acl_files.c,v 1.5 1995/09/07 20:50:26 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: acl_files.c,v 1.5 1995/09/07 20:50:26 mark Exp $"; -#endif lint -#endif - - -/*** Routines for manipulating access control list files ***/ - -#include <unistd.h> -#include <stdlib.h> -#include <stdio.h> -#include <strings.h> -#include <sys/file.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/errno.h> -#include <ctype.h> -#include "krb.h" - -__BEGIN_DECLS -static int acl_abort __P((char *, FILE *)); -__END_DECLS - -#ifndef KRB_REALM -#define KRB_REALM "ATHENA.MIT.EDU" -#endif - -/* "aname.inst@realm" */ -#define MAX_PRINCIPAL_SIZE (ANAME_SZ + INST_SZ + REALM_SZ + 3) -#define INST_SEP '.' -#define REALM_SEP '@' - -#define LINESIZE 2048 /* Maximum line length in an acl file */ - -#define NEW_FILE "%s.~NEWACL~" /* Format for name of altered acl file */ -#define WAIT_TIME 300 /* Maximum time allowed write acl file */ - -#define CACHED_ACLS 8 /* How many acls to cache */ - /* Each acl costs 1 open file descriptor */ -#define ACL_LEN 16 /* Twice a reasonable acl length */ - -#define MAX(a,b) (((a)>(b))?(a):(b)) -#define MIN(a,b) (((a)<(b))?(a):(b)) - -#define COR(a,b) ((a!=NULL)?(a):(b)) - -/* Canonicalize a principal name */ -/* If instance is missing, it becomes "" */ -/* If realm is missing, it becomes the local realm */ -/* Canonicalized form is put in canon, which must be big enough to hold - MAX_PRINCIPAL_SIZE characters */ -void -acl_canonicalize_principal(principal, canon) -char *principal; -char *canon; -{ - char *dot, *atsign, *end; - int len; - - dot = index(principal, INST_SEP); - atsign = index(principal, REALM_SEP); - - /* Maybe we're done already */ - if(dot != NULL && atsign != NULL) { - if(dot < atsign) { - /* It's for real */ - /* Copy into canon */ - strncpy(canon, principal, MAX_PRINCIPAL_SIZE); - canon[MAX_PRINCIPAL_SIZE-1] = '\0'; - return; - } else { - /* Nope, it's part of the realm */ - dot = NULL; - } - } - - /* No such luck */ - end = principal + strlen(principal); - - /* Get the principal name */ - len = MIN(ANAME_SZ, COR(dot, COR(atsign, end)) - principal); - strncpy(canon, principal, len); - canon += len; - - /* Add INST_SEP */ - *canon++ = INST_SEP; - - /* Get the instance, if it exists */ - if(dot != NULL) { - ++dot; - len = MIN(INST_SZ, COR(atsign, end) - dot); - strncpy(canon, dot, len); - canon += len; - } - - /* Add REALM_SEP */ - *canon++ = REALM_SEP; - - /* Get the realm, if it exists */ - /* Otherwise, default to local realm */ - if(atsign != NULL) { - ++atsign; - len = MIN(REALM_SZ, end - atsign); - strncpy(canon, atsign, len); - canon += len; - *canon++ = '\0'; - } else if(krb_get_lrealm(canon, 1) != KSUCCESS) { - strcpy(canon, KRB_REALM); - } -} - -/* Get a lock to modify acl_file */ -/* Return new FILE pointer */ -/* or NULL if file cannot be modified */ -/* REQUIRES WRITE PERMISSION TO CONTAINING DIRECTORY */ -static FILE * -acl_lock_file(acl_file) -char *acl_file; -{ - struct stat s; - char new[LINESIZE]; - int nfd; - FILE *nf; - int mode; - - if(stat(acl_file, &s) < 0) return(NULL); - mode = s.st_mode; - sprintf(new, NEW_FILE, acl_file); - for(;;) { - /* Open the new file */ - if((nfd = open(new, O_WRONLY|O_CREAT|O_EXCL, mode)) < 0) { - if(errno == EEXIST) { - /* Maybe somebody got here already, maybe it's just old */ - if(stat(new, &s) < 0) return(NULL); - if(time(0) - s.st_ctime > WAIT_TIME) { - /* File is stale, kill it */ - unlink(new); - continue; - } else { - /* Wait and try again */ - sleep(1); - continue; - } - } else { - /* Some other error, we lose */ - return(NULL); - } - } - - /* If we got to here, the lock file is ours and ok */ - /* Reopen it under stdio */ - if((nf = fdopen(nfd, "w")) == NULL) { - /* Oops, clean up */ - unlink(new); - } - return(nf); - } -} - -/* Commit changes to acl_file written onto FILE *f */ -/* Returns zero if successful */ -/* Returns > 0 if lock was broken */ -/* Returns < 0 if some other error occurs */ -/* Closes f */ -static int -acl_commit(acl_file, f) -char *acl_file; -FILE *f; -{ - char new[LINESIZE]; - int ret; - struct stat s; - - sprintf(new, NEW_FILE, acl_file); - if(fflush(f) < 0 - || fstat(fileno(f), &s) < 0 - || s.st_nlink == 0) { - acl_abort(acl_file, f); - return(-1); - } - - ret = rename(new, acl_file); - fclose(f); - return(ret); -} - -/* - * Abort changes to acl_file written onto FILE *f - * Returns 0 if successful, < 0 otherwise - * Closes f - */ -static int -acl_abort(acl_file, f) -char *acl_file; -FILE *f; -{ - char new[LINESIZE]; - int ret; - struct stat s; - - /* make sure we aren't nuking someone else's file */ - if(fstat(fileno(f), &s) < 0 || s.st_nlink == 0) { - fclose(f); - return(-1); - } else { - sprintf(new, NEW_FILE, acl_file); - ret = unlink(new); - fclose(f); - return(ret); - } -} - -/* Initialize an acl_file */ -/* Creates the file with permissions perm if it does not exist */ -/* Erases it if it does */ -/* Returns return value of acl_commit */ -int -acl_initialize(acl_file, perm) -char *acl_file; -int perm; -{ - FILE *new; - int fd; - - /* Check if the file exists already */ - if((new = acl_lock_file(acl_file)) != NULL) { - return(acl_commit(acl_file, new)); - } else { - /* File must be readable and writable by owner */ - if((fd = open(acl_file, O_CREAT|O_EXCL, perm|0600)) < 0) { - return(-1); - } else { - close(fd); - return(0); - } - } -} - -/* Eliminate all whitespace character in buf */ -/* Modifies its argument */ -static void -nuke_whitespace(buf) -char *buf; -{ - register char *pin, *pout; - - for(pin = pout = buf; *pin != '\0'; pin++) - if(!isspace(*pin)) *pout++ = *pin; - *pout = '\0'; /* Terminate the string */ -} - -/* Hash table stuff */ - -struct hashtbl { - int size; /* Max number of entries */ - int entries; /* Actual number of entries */ - char **tbl; /* Pointer to start of table */ -}; - -/* Make an empty hash table of size s */ -static struct hashtbl * -make_hash(size) -int size; -{ - struct hashtbl *h; - - if(size < 1) size = 1; - h = (struct hashtbl *) malloc(sizeof(struct hashtbl)); - h->size = size; - h->entries = 0; - h->tbl = (char **) calloc(size, sizeof(char *)); - return(h); -} - -/* Destroy a hash table */ -static void -destroy_hash(h) -struct hashtbl *h; -{ - int i; - - for(i = 0; i < h->size; i++) { - if(h->tbl[i] != NULL) free(h->tbl[i]); - } - free(h->tbl); - free(h); -} - -/* Compute hash value for a string */ -static unsigned -hashval(s) -register char *s; -{ - register unsigned hv; - - for(hv = 0; *s != '\0'; s++) { - hv ^= ((hv << 3) ^ *s); - } - return(hv); -} - -/* Add an element to a hash table */ -static void -add_hash(h, el) -struct hashtbl *h; -char *el; -{ - unsigned hv; - char *s; - char **old; - int i; - - /* Make space if it isn't there already */ - if(h->entries + 1 > (h->size >> 1)) { - old = h->tbl; - h->tbl = (char **) calloc(h->size << 1, sizeof(char *)); - for(i = 0; i < h->size; i++) { - if(old[i] != NULL) { - hv = hashval(old[i]) % (h->size << 1); - while(h->tbl[hv] != NULL) hv = (hv+1) % (h->size << 1); - h->tbl[hv] = old[i]; - } - } - h->size = h->size << 1; - free(old); - } - - hv = hashval(el) % h->size; - while(h->tbl[hv] != NULL && strcmp(h->tbl[hv], el)) hv = (hv+1) % h->size; - s = malloc(strlen(el)+1); - strcpy(s, el); - h->tbl[hv] = s; - h->entries++; -} - -/* Returns nonzero if el is in h */ -static int -check_hash(h, el) -struct hashtbl *h; -char *el; -{ - unsigned hv; - - for(hv = hashval(el) % h->size; - h->tbl[hv] != NULL; - hv = (hv + 1) % h->size) { - if(!strcmp(h->tbl[hv], el)) return(1); - } - return(0); -} - -struct acl { - char filename[LINESIZE]; /* Name of acl file */ - int fd; /* File descriptor for acl file */ - struct stat status; /* File status at last read */ - struct hashtbl *acl; /* Acl entries */ -}; - -static struct acl acl_cache[CACHED_ACLS]; - -static int acl_cache_count = 0; -static int acl_cache_next = 0; - -/* Returns < 0 if unsuccessful in loading acl */ -/* Returns index into acl_cache otherwise */ -/* Note that if acl is already loaded, this is just a lookup */ -static int -acl_load(name) -char *name; -{ - int i; - FILE *f; - struct stat s; - char buf[MAX_PRINCIPAL_SIZE]; - char canon[MAX_PRINCIPAL_SIZE]; - - /* See if it's there already */ - for(i = 0; i < acl_cache_count; i++) { - if(!strcmp(acl_cache[i].filename, name) - && acl_cache[i].fd >= 0) goto got_it; - } - - /* It isn't, load it in */ - /* maybe there's still room */ - if(acl_cache_count < CACHED_ACLS) { - i = acl_cache_count++; - } else { - /* No room, clean one out */ - i = acl_cache_next; - acl_cache_next = (acl_cache_next + 1) % CACHED_ACLS; - close(acl_cache[i].fd); - if(acl_cache[i].acl) { - destroy_hash(acl_cache[i].acl); - acl_cache[i].acl = (struct hashtbl *) 0; - } - } - - /* Set up the acl */ - strcpy(acl_cache[i].filename, name); - if((acl_cache[i].fd = open(name, O_RDONLY, 0)) < 0) return(-1); - /* Force reload */ - acl_cache[i].acl = (struct hashtbl *) 0; - - got_it: - /* - * See if the stat matches - * - * Use stat(), not fstat(), as the file may have been re-created by - * acl_add or acl_delete. If this happens, the old inode will have - * no changes in the mod-time and the following test will fail. - */ - if(stat(acl_cache[i].filename, &s) < 0) return(-1); - if(acl_cache[i].acl == (struct hashtbl *) 0 - || s.st_nlink != acl_cache[i].status.st_nlink - || s.st_mtime != acl_cache[i].status.st_mtime - || s.st_ctime != acl_cache[i].status.st_ctime) { - /* Gotta reload */ - if(acl_cache[i].fd >= 0) close(acl_cache[i].fd); - if((acl_cache[i].fd = open(name, O_RDONLY, 0)) < 0) return(-1); - if((f = fdopen(acl_cache[i].fd, "r")) == NULL) return(-1); - if(acl_cache[i].acl) destroy_hash(acl_cache[i].acl); - acl_cache[i].acl = make_hash(ACL_LEN); - while(fgets(buf, sizeof(buf), f) != NULL) { - nuke_whitespace(buf); - acl_canonicalize_principal(buf, canon); - add_hash(acl_cache[i].acl, canon); - } - fclose(f); - acl_cache[i].status = s; - } - return(i); -} - -/* Returns nonzero if it can be determined that acl contains principal */ -/* Principal is not canonicalized, and no wildcarding is done */ -int -acl_exact_match(acl, principal) -char *acl; -char *principal; -{ - int idx; - - return((idx = acl_load(acl)) >= 0 - && check_hash(acl_cache[idx].acl, principal)); -} - -/* Returns nonzero if it can be determined that acl contains principal */ -/* Recognizes wildcards in acl of the form - name.*@realm, *.*@realm, and *.*@* */ -int -acl_check(acl, principal) -char *acl; -char *principal; -{ - char buf[MAX_PRINCIPAL_SIZE]; - char canon[MAX_PRINCIPAL_SIZE]; - char *realm; - - acl_canonicalize_principal(principal, canon); - - /* Is it there? */ - if(acl_exact_match(acl, canon)) return(1); - - /* Try the wildcards */ - realm = index(canon, REALM_SEP); - *index(canon, INST_SEP) = '\0'; /* Chuck the instance */ - - sprintf(buf, "%s.*%s", canon, realm); - if(acl_exact_match(acl, buf)) return(1); - - sprintf(buf, "*.*%s", realm); - if(acl_exact_match(acl, buf) || acl_exact_match(acl, "*.*@*")) return(1); - - return(0); -} - -/* Adds principal to acl */ -/* Wildcards are interpreted literally */ -int -acl_add(acl, principal) -char *acl; -char *principal; -{ - int idx; - int i; - FILE *new; - char canon[MAX_PRINCIPAL_SIZE]; - - acl_canonicalize_principal(principal, canon); - - if((new = acl_lock_file(acl)) == NULL) return(-1); - if((acl_exact_match(acl, canon)) - || (idx = acl_load(acl)) < 0) { - acl_abort(acl, new); - return(-1); - } - /* It isn't there yet, copy the file and put it in */ - for(i = 0; i < acl_cache[idx].acl->size; i++) { - if(acl_cache[idx].acl->tbl[i] != NULL) { - if(fputs(acl_cache[idx].acl->tbl[i], new) == NULL - || putc('\n', new) != '\n') { - acl_abort(acl, new); - return(-1); - } - } - } - fputs(canon, new); - putc('\n', new); - return(acl_commit(acl, new)); -} - -/* Removes principal from acl */ -/* Wildcards are interpreted literally */ -int -acl_delete(acl, principal) -char *acl; -char *principal; -{ - int idx; - int i; - FILE *new; - char canon[MAX_PRINCIPAL_SIZE]; - - acl_canonicalize_principal(principal, canon); - - if((new = acl_lock_file(acl)) == NULL) return(-1); - if((!acl_exact_match(acl, canon)) - || (idx = acl_load(acl)) < 0) { - acl_abort(acl, new); - return(-1); - } - /* It isn't there yet, copy the file and put it in */ - for(i = 0; i < acl_cache[idx].acl->size; i++) { - if(acl_cache[idx].acl->tbl[i] != NULL - && strcmp(acl_cache[idx].acl->tbl[i], canon)) { - fputs(acl_cache[idx].acl->tbl[i], new); - putc('\n', new); - } - } - return(acl_commit(acl, new)); -} - diff --git a/eBones/lib/libacl/acl_files.doc b/eBones/lib/libacl/acl_files.doc deleted file mode 100644 index 4096f9bbb3d38..0000000000000 --- a/eBones/lib/libacl/acl_files.doc +++ /dev/null @@ -1,107 +0,0 @@ -PROTOTYPE ACL LIBRARY - -Introduction - -An access control list (ACL) is a list of principals, where each -principal is is represented by a text string which cannot contain -whitespace. The library allows application programs to refer to named -access control lists to test membership and to atomically add and -delete principals using a natural and intuitive interface. At -present, the names of access control lists are required to be Unix -filenames, and refer to human-readable Unix files; in the future, when -a networked ACL server is implemented, the names may refer to a -different namespace specific to the ACL service. - - -Usage - -cc <files> -lacl -lkrb. - - - -Principal Names - -Principal names have the form - -<name>[.<instance>][@<realm>] - -e.g. - -asp -asp.root -asp@ATHENA.MIT.EDU -asp.@ATHENA.MIT.EDU -asp.root@ATHENA.MIT.EDU - -It is possible for principals to be underspecified. If instance is -missing, it is assumed to be "". If realm is missing, it is assumed -to be local_realm. The canonical form contains all of name, instance, -and realm; the acl_add and acl_delete routines will always -leave the file in that form. Note that the canonical form of -asp@ATHENA.MIT.EDU is actually asp.@ATHENA.MIT.EDU. - - -Routines - -acl_canonicalize_principal(principal, buf) -char *principal; -char *buf; /*RETVAL*/ - -Store the canonical form of principal in buf. Buf must contain enough -space to store a principal, given the limits on the sizes of name, -instance, and realm specified in /usr/include/krb.h. - -acl_check(acl, principal) -char *acl; -char *principal; - -Returns nonzero if principal appears in acl. Returns 0 if principal -does not appear in acl, or if an error occurs. Canonicalizes -principal before checking, and allows the ACL to contain wildcards. - -acl_exact_match(acl, principal) -char *acl; -char *principal; - -Like acl_check, but does no canonicalization or wildcarding. - -acl_add(acl, principal) -char *acl; -char *principal; - -Atomically adds principal to acl. Returns 0 if successful, nonzero -otherwise. It is considered a failure if principal is already in acl. -This routine will canonicalize principal, but will treat wildcards -literally. - -acl_delete(acl, principal) -char *acl; -char *principal; - -Atomically deletes principal from acl. Returns 0 if successful, -nonzero otherwise. It is consider a failure if principal is not -already in acl. This routine will canonicalize principal, but will -treat wildcards literally. - -acl_initialize(acl, mode) -char *acl; -int mode; - -Initialize acl. If acl file does not exist, creates it with mode -mode. If acl exists, removes all members. Returns 0 if successful, -nonzero otherwise. WARNING: Mode argument is likely to change with -the eventual introduction of an ACL service. - - -Known problems - -In the presence of concurrency, there is a very small chance that -acl_add or acl_delete could report success even though it would have -had no effect. This is a necessary side effect of using lock files -for concurrency control rather than flock(2), which is not supported -by NFS. - -The current implementation caches ACLs in memory in a hash-table -format for increased efficiency in checking membership; one effect of -the caching scheme is that one file descriptor will be kept open for -each ACL cached, up to a maximum of 8. diff --git a/eBones/lib/libkadm/EXPORTABLE b/eBones/lib/libkadm/EXPORTABLE deleted file mode 100644 index e478483783301..0000000000000 --- a/eBones/lib/libkadm/EXPORTABLE +++ /dev/null @@ -1,4 +0,0 @@ -The files in this directory are believed to be exportable. - --GAWollman - diff --git a/eBones/lib/libkadm/Makefile b/eBones/lib/libkadm/Makefile deleted file mode 100644 index dfb03c7061f7a..0000000000000 --- a/eBones/lib/libkadm/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.12 1996/08/30 04:06:58 peter Exp $ - -LIB= kadm - -SRCS= kadm_err.c kadm_stream.c kadm_supp.c kadm_cli_wrap.c -CFLAGS+= -I. -I${.CURDIR} -I${KRBOBJDIR} -DPOSIX -DKERBEROS - -beforeinstall: kadm_err.c - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/kadm.h \ - ${DESTDIR}/usr/include/kerberosIV - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 kadm_err.h \ - ${DESTDIR}/usr/include/kerberosIV - -.include <bsd.lib.mk> - -kadm_err.c: ${KADMOBJDIR}/kadm_err.h -kadm_cli_wrap.o: ${KRBOBJDIR}/krb_err.h diff --git a/eBones/lib/libkadm/kadm.h b/eBones/lib/libkadm/kadm.h deleted file mode 100644 index 21a23bb8f8d92..0000000000000 --- a/eBones/lib/libkadm/kadm.h +++ /dev/null @@ -1,164 +0,0 @@ -/* - * $Source: /usr/cvs/src/eBones/libkadm/kadm.h,v $ - * $Author: mark $ - * Header: /afs/athena.mit.edu/astaff/project/kerberos/src/include/RCS/kadm.h,v 4.2 89/09/26 09:15:20 jtkohl Exp - * - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * Definitions for Kerberos administration server & client - */ - -#ifndef KADM_DEFS -#define KADM_DEFS - -/* - * kadm.h - * Header file for the fourth attempt at an admin server - * Doug Church, December 28, 1989, MIT Project Athena - */ - -/* for those broken Unixes without this defined... should be in sys/param.h */ -#ifndef MAXHOSTNAMELEN -#define MAXHOSTNAMELEN 64 -#endif - -#include <stdlib.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <krb.h> -#include <krb_db.h> -#include <des.h> - -/* The global structures for the client and server */ -typedef struct { - struct sockaddr_in admin_addr; - struct sockaddr_in my_addr; - int my_addr_len; - int admin_fd; /* file descriptor for link to admin server */ - char sname[ANAME_SZ]; /* the service name */ - char sinst[INST_SZ]; /* the services instance */ - char krbrlm[REALM_SZ]; -} Kadm_Client; - -typedef struct { /* status of the server, i.e the parameters */ - int inter; /* Space for command line flags */ - char *sysfile; /* filename of server */ -} admin_params; /* Well... it's the admin's parameters */ - -/* Largest password length to be supported */ -#define MAX_KPW_LEN 128 - -/* Largest packet the admin server will ever allow itself to return */ -#define KADM_RET_MAX 2048 - -/* That's right, versions are 8 byte strings */ -#define KADM_VERSTR "KADM0.0A" -#define KADM_ULOSE "KYOULOSE" /* sent back when server can't - decrypt client's msg */ -#define KADM_VERSIZE strlen(KADM_VERSTR) - -/* the lookups for the server instances */ -#define PWSERV_NAME "changepw" -#define KADM_SNAME "kerberos_master" -#define KADM_SINST "kerberos" - -/* Attributes fields constants and macros */ -#define ALLOC 2 -#define RESERVED 3 -#define DEALLOC 4 -#define DEACTIVATED 5 -#define ACTIVE 6 - -/* Kadm_vals structure for passing db fields into the server routines */ -#define FLDSZ 4 - -typedef struct { - u_char fields[FLDSZ]; /* The active fields in this struct */ - char name[ANAME_SZ]; - char instance[INST_SZ]; - unsigned long key_low; - unsigned long key_high; - unsigned long exp_date; - unsigned short attributes; - unsigned char max_life; -} Kadm_vals; /* The basic values structure in Kadm */ - -/* Kadm_vals structure for passing db fields into the server routines */ -#define FLDSZ 4 - -/* Need to define fields types here */ -#define KADM_NAME 31 -#define KADM_INST 30 -#define KADM_EXPDATE 29 -#define KADM_ATTR 28 -#define KADM_MAXLIFE 27 -#define KADM_DESKEY 26 - -/* To set a field entry f in a fields structure d */ -#define SET_FIELD(f,d) (d[3-(f/8)]|=(1<<(f%8))) - -/* To set a field entry f in a fields structure d */ -#define CLEAR_FIELD(f,d) (d[3-(f/8)]&=(~(1<<(f%8)))) - -/* Is field f in fields structure d */ -#define IS_FIELD(f,d) (d[3-(f/8)]&(1<<(f%8))) - -/* Various return codes */ -#define KADM_SUCCESS 0 - -#define WILDCARD_STR "*" - -enum acl_types { -ADDACL, -GETACL, -MODACL -}; - -/* Various opcodes for the admin server's functions */ -#define CHANGE_PW 2 -#define ADD_ENT 3 -#define MOD_ENT 4 -#define GET_ENT 5 - -/* XXX This doesn't belong here!!! */ -#ifdef POSIX -typedef void sigtype; -#else -typedef int sigtype; -#endif - -int vals_to_stream(Kadm_vals *dt_in, u_char **dt_out); -int stream_to_vals(u_char *dt_in, Kadm_vals *dt_out, int maxlen); - -int build_field_header(u_char *cont, u_char **st); -int check_field_header(u_char *st, u_char *cont, int maxlen); - -int stv_string(u_char *st, char *dat, int loc, int stlen, int maxlen); -int stv_short(u_char *st, u_short *dat, int loc, int maxlen); -int stv_long(u_char *st, u_long *dat, int loc, int maxlen); -int stv_char(u_char *st, u_char *dat, int loc, int maxlen); - -int vts_string(char *dat, u_char **st, int loc); -int vts_short(u_short dat, u_char **st, int loc); -int vts_long(u_long dat, u_char **st, int loc); -int vts_char(u_char dat, u_char **st, int loc); - -int kadm_cli_conn(void); -void kadm_cli_disconn(void); -int kadm_cli_send(u_char *st_dat, int st_siz, u_char **ret_dat, int *ret_siz); -int kadm_cli_out(u_char *dat, int dat_len, u_char **ret_dat, int *ret_siz); -int kadm_cli_keyd(des_cblock s_k, des_key_schedule s_s); - -int kadm_get(Kadm_vals *vals, u_char fl[4]); -int kadm_mod(Kadm_vals *vals1, Kadm_vals *vals2); -int kadm_add(Kadm_vals *vals); -int kadm_change_pw(des_cblock newkey); -int kadm_init_link(char n[], char i[], char r[]); -void prin_vals(Kadm_vals *vals); -void kadm_vals_to_prin(u_char fields[FLDSZ], Principal *new, Kadm_vals *old); -void kadm_prin_to_vals(u_char fields[FLDSZ], Kadm_vals *new, Principal *old); - -#endif KADM_DEFS diff --git a/eBones/lib/libkadm/kadm_cli_wrap.c b/eBones/lib/libkadm/kadm_cli_wrap.c deleted file mode 100644 index cb9b28be173d6..0000000000000 --- a/eBones/lib/libkadm/kadm_cli_wrap.c +++ /dev/null @@ -1,514 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * Kerberos administration server client-side routines - */ - -#if 0 -#ifndef lint -static char rcsid_kadm_cli_wrap_c[] = -"from: Id: kadm_cli_wrap.c,v 4.6 89/12/30 20:09:45 qjb Exp"; -static const char rcsid[] = - "$Id: kadm_cli_wrap.c,v 1.5 1995/10/05 21:29:35 gibbs Exp $"; -#endif lint -#endif - -/* - * kadm_cli_wrap.c the client side wrapping of the calls to the admin server - */ - -#include <unistd.h> -#include <string.h> -#include <sys/types.h> -#include <errno.h> -#include <signal.h> -#include <netdb.h> -#include <sys/socket.h> -#include <kadm.h> -#include <kadm_err.h> -#include <krb_err.h> - -#ifndef NULL -#define NULL 0 -#endif - -static Kadm_Client client_parm; - -/* Macros for use in returning data... used in kadm_cli_send */ -#define RET_N_FREE(r) {clear_secrets(); free((char *)act_st); free((char *)priv_pak); return r;} - -/* Keys for use in the transactions */ -static des_cblock sess_key; /* to be filled in by kadm_cli_keyd */ -static Key_schedule sess_sched; - -static void -clear_secrets() -{ - bzero((char *)sess_key, sizeof(sess_key)); - bzero((char *)sess_sched, sizeof(sess_sched)); -} - -/* - * kadm_init_link - * receives : name, inst, realm - * - * initializes client parm, the Kadm_Client structure which holds the - * data about the connection between the server and client, the services - * used, the locations and other fun things - */ -int -kadm_init_link(n, i, r) -char n[]; -char i[]; -char r[]; -{ - struct servent *sep; /* service we will talk to */ - struct hostent *hop; /* host we will talk to */ - char adm_hostname[MAXHOSTNAMELEN]; - - (void) init_kadm_err_tbl(); - (void) init_krb_err_tbl(); - (void) strcpy(client_parm.sname, n); - (void) strcpy(client_parm.sinst, i); - (void) strcpy(client_parm.krbrlm, r); - client_parm.admin_fd = -1; - - /* set up the admin_addr - fetch name of admin host */ - if (krb_get_admhst(adm_hostname, client_parm.krbrlm, 1) != KSUCCESS) - return KADM_NO_HOST; - if ((hop = gethostbyname(adm_hostname)) == NULL) - return KADM_UNK_HOST; /* couldnt find the admin servers - * address */ - if ((sep = getservbyname(KADM_SNAME, "tcp")) == NULL) - return KADM_NO_SERV; /* couldnt find the admin service */ - bzero((char *) &client_parm.admin_addr, - sizeof(client_parm.admin_addr)); - client_parm.admin_addr.sin_family = hop->h_addrtype; - bcopy((char *) hop->h_addr, (char *) &client_parm.admin_addr.sin_addr, - hop->h_length); - client_parm.admin_addr.sin_port = sep->s_port; - - return KADM_SUCCESS; -} /* procedure kadm_init_link */ - -/* - * kadm_change_pw - * recieves : key - * - * Replaces the password (i.e. des key) of the caller with that specified in - * key. Returns no actual data from the master server, since this is called - * by a user - */ -int -kadm_change_pw(newkey) -des_cblock newkey; /* The DES form of the users key */ -{ - int stsize, retc; /* stream size and return code */ - u_char *send_st; /* send stream */ - u_char *ret_st; - int ret_sz; - u_long keytmp; - - if ((retc = kadm_cli_conn()) != KADM_SUCCESS) - return(retc); - /* possible problem with vts_long on a non-multiple of four boundary */ - - stsize = 0; /* start of our output packet */ - send_st = (u_char *) malloc(1);/* to make it reallocable */ - send_st[stsize++] = (u_char) CHANGE_PW; - - /* change key to stream */ - - bcopy((char *) (((long *) newkey) + 1), (char *) &keytmp, 4); - keytmp = htonl(keytmp); - stsize += vts_long(keytmp, &send_st, stsize); - - bcopy((char *) newkey, (char *) &keytmp, 4); - keytmp = htonl(keytmp); - stsize += vts_long(keytmp, &send_st, stsize); - - retc = kadm_cli_send(send_st, stsize, &ret_st, &ret_sz); - free((char *)send_st); - if (retc == KADM_SUCCESS) { - free((char *)ret_st); - } - kadm_cli_disconn(); - return(retc); -} - -/* - * kadm_add - * receives : vals - * returns : vals - * - * Adds and entry containing values to the database returns the values of the - * entry, so if you leave certain fields blank you will be able to determine - * the default values they are set to - */ -int -kadm_add(vals) -Kadm_vals *vals; -{ - u_char *st, *st2; /* st will hold the stream of values */ - int st_len; /* st2 the final stream with opcode */ - int retc; /* return code from call */ - u_char *ret_st; - int ret_sz; - - if ((retc = kadm_cli_conn()) != KADM_SUCCESS) - return(retc); - st_len = vals_to_stream(vals, &st); - st2 = (u_char *) malloc((unsigned)(1 + st_len)); - *st2 = (u_char) ADD_ENT; /* here's the opcode */ - bcopy((char *) st, (char *) st2 + 1, st_len); /* append st on */ - retc = kadm_cli_send(st2, st_len + 1, &ret_st, &ret_sz); - free((char *)st); - free((char *)st2); - if (retc == KADM_SUCCESS) { - /* ret_st has vals */ - if (stream_to_vals(ret_st, vals, ret_sz) < 0) - retc = KADM_LENGTH_ERROR; - free((char *)ret_st); - } - kadm_cli_disconn(); - return(retc); -} - -/* - * kadm_mod - * receives : KTEXT, {values, values} - * returns : CKSUM, RETCODE, {values} - * acl : su, sms (as register or dealloc) - * - * Modifies all entries corresponding to the first values so they match the - * second values. returns the values for the changed entries in vals2 - */ -int -kadm_mod(vals1, vals2) -Kadm_vals *vals1; -Kadm_vals *vals2; -{ - u_char *st, *st2; /* st will hold the stream of values */ - int st_len, nlen; /* st2 the final stream with opcode */ - u_char *ret_st; - int ret_sz; - - /* nlen is the length of second vals */ - int retc; /* return code from call */ - - if ((retc = kadm_cli_conn()) != KADM_SUCCESS) - return(retc); - - st_len = vals_to_stream(vals1, &st); - st2 = (u_char *) malloc((unsigned)(1 + st_len)); - *st2 = (u_char) MOD_ENT; /* here's the opcode */ - bcopy((char *) st, (char *) st2 + 1, st_len++); /* append st on */ - free((char *)st); - nlen = vals_to_stream(vals2, &st); - st2 = (u_char *) realloc((char *) st2, (unsigned)(st_len + nlen)); - bcopy((char *) st, (char *) st2 + st_len, nlen); /* append st on */ - retc = kadm_cli_send(st2, st_len + nlen, &ret_st, &ret_sz); - free((char *)st); - free((char *)st2); - if (retc == KADM_SUCCESS) { - /* ret_st has vals */ - if (stream_to_vals(ret_st, vals2, ret_sz) < 0) - retc = KADM_LENGTH_ERROR; - free((char *)ret_st); - } - kadm_cli_disconn(); - return(retc); -} - -/* - * kadm_get - * receives : KTEXT, {values, flags} - * returns : CKSUM, RETCODE, {count, values, values, values} - * acl : su - * - * gets the fields requested by flags from all entries matching values returns - * this data for each matching recipient, after a count of how many such - * matches there were - */ -int -kadm_get(vals, fl) -Kadm_vals *vals; -u_char fl[4]; - -{ - int loop; /* for copying the fields data */ - u_char *st, *st2; /* st will hold the stream of values */ - int st_len; /* st2 the final stream with opcode */ - int retc; /* return code from call */ - u_char *ret_st; - int ret_sz; - - if ((retc = kadm_cli_conn()) != KADM_SUCCESS) - return(retc); - st_len = vals_to_stream(vals, &st); - st2 = (u_char *) malloc((unsigned)(1 + st_len + FLDSZ)); - *st2 = (u_char) GET_ENT; /* here's the opcode */ - bcopy((char *) st, (char *) st2 + 1, st_len); /* append st on */ - for (loop = FLDSZ - 1; loop >= 0; loop--) - *(st2 + st_len + FLDSZ - loop) = fl[loop]; /* append the flags */ - retc = kadm_cli_send(st2, st_len + 1 + FLDSZ, &ret_st, &ret_sz); - free((char *)st); - free((char *)st2); - if (retc == KADM_SUCCESS) { - /* ret_st has vals */ - if (stream_to_vals(ret_st, vals, ret_sz) < 0) - retc = KADM_LENGTH_ERROR; - free((char *)ret_st); - } - kadm_cli_disconn(); - return(retc); -} - -/* - * kadm_cli_send - * recieves : opcode, packet, packet length, serv_name, serv_inst - * returns : return code from the packet build, the server, or - * something else - * - * It assembles a packet as follows: - * 8 bytes : VERSION STRING - * 4 bytes : LENGTH OF MESSAGE DATA and OPCODE - * : KTEXT - * : OPCODE \ - * : DATA > Encrypted (with make priv) - * : ...... / - * - * If it builds the packet and it is small enough, then it attempts to open the - * connection to the admin server. If the connection is succesfully open - * then it sends the data and waits for a reply. - */ -int -kadm_cli_send(st_dat, st_siz, ret_dat, ret_siz) -u_char *st_dat; /* the actual data */ -int st_siz; /* length of said data */ -u_char **ret_dat; /* to give return info */ -int *ret_siz; /* length of returned info */ -{ - int act_len, retdat; /* current offset into packet, return - * data */ - KTEXT_ST authent; /* the authenticator we will build */ - u_char *act_st; /* the pointer to the complete packet */ - u_char *priv_pak; /* private version of the packet */ - int priv_len; /* length of private packet */ - u_long cksum; /* checksum of the packet */ - MSG_DAT mdat; - u_char *return_dat; - - act_st = (u_char *) malloc(KADM_VERSIZE); /* verstr stored first */ - (void) strncpy((char *)act_st, KADM_VERSTR, KADM_VERSIZE); - act_len = KADM_VERSIZE; - - if ((retdat = kadm_cli_keyd(sess_key, sess_sched)) != KADM_SUCCESS) { - free((char *)act_st); - return retdat; /* couldnt get key working */ - } - priv_pak = (u_char *) malloc((unsigned)(st_siz + 200)); - /* 200 bytes for extra info case */ - if ((priv_len = krb_mk_priv(st_dat, priv_pak, (u_long)st_siz, - sess_sched, sess_key, &client_parm.my_addr, - &client_parm.admin_addr)) < 0) - RET_N_FREE(KADM_NO_ENCRYPT); /* whoops... we got a lose - * here */ - /* here is the length of priv data. receiver calcs - size of authenticator by subtracting vno size, priv size, and - sizeof(u_long) (for the size indication) from total size */ - - act_len += vts_long((u_long) priv_len, &act_st, act_len); -#ifdef NOENCRYPTION - cksum = 0; -#else - cksum = quad_cksum((des_cblock *)priv_pak, (des_cblock *)0, - (long)priv_len, 0, (des_cblock *)sess_key); -#endif - if ((retdat = krb_mk_req(&authent, client_parm.sname, client_parm.sinst, - client_parm.krbrlm, (long)cksum))) { - /* authenticator? */ - RET_N_FREE(retdat + krb_err_base); - } - - act_st = (u_char *) realloc((char *) act_st, - (unsigned) (act_len + authent.length - + priv_len)); - if (!act_st) { - clear_secrets(); - free((char *)priv_pak); - return(KADM_NOMEM); - } - bcopy((char *) authent.dat, (char *) act_st + act_len, authent.length); - bcopy((char *) priv_pak, (char *) act_st + act_len + authent.length, - priv_len); - free((char *)priv_pak); - if ((retdat = kadm_cli_out(act_st, - act_len + authent.length + priv_len, - ret_dat, ret_siz)) != KADM_SUCCESS) - RET_N_FREE(retdat); - free((char *)act_st); -#define RET_N_FREE2(r) {free((char *)*ret_dat); clear_secrets(); return(r);} - - /* first see if it's a YOULOUSE */ - if ((*ret_siz >= KADM_VERSIZE) && - !strncmp(KADM_ULOSE, (char *)*ret_dat, KADM_VERSIZE)) { - u_long errcode; - /* it's a youlose packet */ - if (*ret_siz < KADM_VERSIZE + sizeof(u_long)) - RET_N_FREE2(KADM_BAD_VER); - bcopy((char *)(*ret_dat) + KADM_VERSIZE, (char *)&errcode, - sizeof(u_long)); - retdat = (int) ntohl(errcode); - RET_N_FREE2(retdat); - } - /* need to decode the ret_dat */ - if ((retdat = krb_rd_priv(*ret_dat, (u_long)*ret_siz, sess_sched, - sess_key, &client_parm.admin_addr, - &client_parm.my_addr, &mdat))) - RET_N_FREE2(retdat+krb_err_base); - if (mdat.app_length < KADM_VERSIZE + 4) - /* too short! */ - RET_N_FREE2(KADM_BAD_VER); - if (strncmp((char *)mdat.app_data, KADM_VERSTR, KADM_VERSIZE)) - /* bad version */ - RET_N_FREE2(KADM_BAD_VER); - bcopy((char *)mdat.app_data+KADM_VERSIZE, - (char *)&retdat, sizeof(u_long)); - retdat = ntohl((u_long)retdat); - if (!(return_dat = (u_char *)malloc((unsigned)(mdat.app_length - - KADM_VERSIZE - sizeof(u_long))))) - RET_N_FREE2(KADM_NOMEM); - bcopy((char *) mdat.app_data + KADM_VERSIZE + sizeof(u_long), - (char *)return_dat, - (int)mdat.app_length - KADM_VERSIZE - sizeof(u_long)); - free((char *)*ret_dat); - clear_secrets(); - *ret_dat = return_dat; - *ret_siz = mdat.app_length - KADM_VERSIZE - sizeof(u_long); - return retdat; -} - -/* takes in the sess_key and key_schedule and sets them appropriately */ -int -kadm_cli_keyd(s_k, s_s) -des_cblock s_k; /* session key */ -des_key_schedule s_s; /* session key schedule */ -{ - CREDENTIALS cred; /* to get key data */ - int stat; - - /* want .sname and .sinst here.... */ - if ((stat = krb_get_cred(client_parm.sname, client_parm.sinst, - client_parm.krbrlm, &cred))) - return stat + krb_err_base; - bcopy((char *) cred.session, (char *) s_k, sizeof(des_cblock)); - bzero((char *) cred.session, sizeof(des_cblock)); -#ifdef NOENCRYPTION - bzero(s_s, sizeof(des_key_schedule)); -#else - if ((stat = key_sched((des_cblock *)s_k,s_s))) - return(stat+krb_err_base); -#endif - return KADM_SUCCESS; -} /* This code "works" */ - -static sigtype (*opipe)(); - -int -kadm_cli_conn() -{ /* this connects and sets my_addr */ - int on = 1; - int kerror; - - if ((client_parm.admin_fd = - socket(client_parm.admin_addr.sin_family, SOCK_STREAM,0)) < 0) - return KADM_NO_SOCK; /* couldnt create the socket */ - client_parm.my_addr_len = sizeof(client_parm.my_addr); - if ((kerror = krb_get_local_addr(&client_parm.my_addr)) != KSUCCESS) { - (void) close(client_parm.admin_fd); - client_parm.admin_fd = -1; - return KADM_NO_HERE; - } - if (bind(client_parm.admin_fd, - (struct sockaddr *) & client_parm.my_addr, - sizeof(client_parm.my_addr))) { - (void) close(client_parm.admin_fd); - client_parm.admin_fd = -1; - return KADM_NO_HERE; - } - if (connect(client_parm.admin_fd, - (struct sockaddr *) & client_parm.admin_addr, - sizeof(client_parm.admin_addr))) { - (void) close(client_parm.admin_fd); - client_parm.admin_fd = -1; - return KADM_NO_CONN; /* couldnt get the connect */ - } - opipe = signal(SIGPIPE, SIG_IGN); - if (setsockopt(client_parm.admin_fd, SOL_SOCKET, SO_KEEPALIVE, &on, - sizeof(on)) < 0) { - (void) close(client_parm.admin_fd); - client_parm.admin_fd = -1; - (void) signal(SIGPIPE, opipe); - return KADM_NO_CONN; /* XXX */ - } - return KADM_SUCCESS; -} - -void -kadm_cli_disconn() -{ - (void) close(client_parm.admin_fd); - (void) signal(SIGPIPE, opipe); -} - -int -kadm_cli_out(dat, dat_len, ret_dat, ret_siz) -u_char *dat; -int dat_len; -u_char **ret_dat; -int *ret_siz; -{ - extern int errno; - u_short dlen; - int retval; - - dlen = (u_short) dat_len; - - if (dat_len != (int)dlen) - return (KADM_NO_ROOM); - - dlen = htons(dlen); - if (krb_net_write(client_parm.admin_fd, (char *) &dlen, - sizeof(u_short)) < 0) - return (errno); /* XXX */ - - if (krb_net_write(client_parm.admin_fd, (char *) dat, dat_len) < 0) - return (errno); /* XXX */ - - if ((retval = krb_net_read(client_parm.admin_fd, (char *) &dlen, - sizeof(u_short)) != sizeof(u_short))) { - if (retval < 0) - return(errno); /* XXX */ - else - return(EPIPE); /* short read ! */ - } - - dlen = ntohs(dlen); - *ret_dat = (u_char *)malloc((unsigned)dlen); - if (!*ret_dat) - return(KADM_NOMEM); - - if ((retval = krb_net_read(client_parm.admin_fd, (char *) *ret_dat, - (int) dlen) != dlen)) { - if (retval < 0) - return(errno); /* XXX */ - else - return(EPIPE); /* short read ! */ - } - *ret_siz = (int) dlen; - return KADM_SUCCESS; -} diff --git a/eBones/lib/libkadm/kadm_err.et b/eBones/lib/libkadm/kadm_err.et deleted file mode 100644 index e45a9c24cb7f6..0000000000000 --- a/eBones/lib/libkadm/kadm_err.et +++ /dev/null @@ -1,53 +0,0 @@ -# $Source: /usr/cvs/src/eBones/libkadm/kadm_err.et,v $ -# $Author: mark $ -# $Header: /usr/cvs/src/eBones/libkadm/kadm_err.et,v 1.1 1995/07/18 16:40:25 mark Exp $ -# Copyright 1988 by the Massachusetts Institute of Technology. -# -# For copying and distribution information, please see the file -# <mit-copyright.h>. -# -# Kerberos administration server error table -# - et kadm - -# KADM_SUCCESS, as all success codes should be, is zero - -ec KADM_RCSID, "$Header: /usr/cvs/src/eBones/libkadm/kadm_err.et,v 1.1 1995/07/18 16:40:25 mark Exp $" -# /* Building and unbuilding the packet errors */ -ec KADM_NO_REALM, "Cannot fetch local realm" -ec KADM_NO_CRED, "Unable to fetch credentials" -ec KADM_BAD_KEY, "Bad key supplied" -ec KADM_NO_ENCRYPT, "Can't encrypt data" -ec KADM_NO_AUTH, "Cannot encode/decode authentication info" -ec KADM_WRONG_REALM, "Principal attemping change is in wrong realm" -ec KADM_NO_ROOM, "Packet is too large" -ec KADM_BAD_VER, "Version number is incorrect" -ec KADM_BAD_CHK, "Checksum does not match" -ec KADM_NO_READ, "Unsealing private data failed" -ec KADM_NO_OPCODE, "Unsupported operation" -ec KADM_NO_HOST, "Could not find administrating host" -ec KADM_UNK_HOST, "Administrating host name is unknown" -ec KADM_NO_SERV, "Could not find service name in services database" -ec KADM_NO_SOCK, "Could not create socket" -ec KADM_NO_CONN, "Could not connect to server" -ec KADM_NO_HERE, "Could not fetch local socket address" -ec KADM_NO_MAST, "Could not fetch master key" -ec KADM_NO_VERI, "Could not verify master key" - -# /* From the server side routines */ -ec KADM_INUSE, "Entry already exists in database" -ec KADM_UK_SERROR, "Database store error" -ec KADM_UK_RERROR, "Database read error" -ec KADM_UNAUTH, "Insufficient access to perform requested operation" -# KADM_DATA isn't really an error, but... -ec KADM_DATA, "Data is available for return to client" -ec KADM_NOENTRY, "No such entry in the database" - -ec KADM_NOMEM, "Memory exhausted" -ec KADM_NO_HOSTNAME, "Could not fetch system hostname" -ec KADM_NO_BIND, "Could not bind port" -ec KADM_LENGTH_ERROR, "Length mismatch problem" -ec KADM_ILL_WILDCARD, "Illegal use of wildcard" - -ec KADM_DB_INUSE, "Database is locked or in use--try again later" -end diff --git a/eBones/lib/libkadm/kadm_stream.c b/eBones/lib/libkadm/kadm_stream.c deleted file mode 100644 index 58a625a464b1d..0000000000000 --- a/eBones/lib/libkadm/kadm_stream.c +++ /dev/null @@ -1,286 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * Stream conversion functions for Kerberos administration server - */ - -#if 0 -#ifndef lint -static char rcsid_kadm_stream_c[] = -"Header: /afs/athena.mit.edu/astaff/project/kerberos/src/lib/kadm/RCS/kadm_stream.c,v 4.2 89/09/26 09:20:48 jtkohl Exp "; -static const char rcsid[] = - "$Id: kadm_stream.c,v 1.1 1995/07/18 16:40:27 mark Exp $"; -#endif lint -#endif - -/* - kadm_stream.c - this holds the stream support routines for the kerberos administration server - - vals_to_stream: converts a vals struct to a stream for transmission - internals build_field_header, vts_[string, char, long, short] - stream_to_vals: converts a stream to a vals struct - internals check_field_header, stv_[string, char, long, short] - error: prints out a kadm error message, returns - fatal: prints out a kadm fatal error message, exits -*/ - -#include <string.h> -#include <kadm.h> - -#define min(a,b) (((a) < (b)) ? (a) : (b)) - -/* -vals_to_stream - recieves : kadm_vals *, u_char * - returns : a realloced and filled in u_char * - -this function creates a byte-stream representation of the kadm_vals structure -*/ - -int -vals_to_stream(dt_in, dt_out) -Kadm_vals *dt_in; -u_char **dt_out; -{ - int vsloop, stsize; /* loop counter, stream size */ - - stsize = build_field_header(dt_in->fields, dt_out); - for (vsloop=31; vsloop>=0; vsloop--) - if (IS_FIELD(vsloop,dt_in->fields)) { - switch (vsloop) { - case KADM_NAME: - stsize+=vts_string(dt_in->name, dt_out, stsize); - break; - case KADM_INST: - stsize+=vts_string(dt_in->instance, dt_out, stsize); - break; - case KADM_EXPDATE: - stsize+=vts_long(dt_in->exp_date, dt_out, stsize); - break; - case KADM_ATTR: - stsize+=vts_short(dt_in->attributes, dt_out, stsize); - break; - case KADM_MAXLIFE: - stsize+=vts_char(dt_in->max_life, dt_out, stsize); - break; - case KADM_DESKEY: - stsize+=vts_long(dt_in->key_high, dt_out, stsize); - stsize+=vts_long(dt_in->key_low, dt_out, stsize); - break; - default: - break; - } -} - return(stsize); -} - -int -build_field_header(cont, st) -u_char *cont; /* container for fields data */ -u_char **st; /* stream */ -{ - *st = (u_char *) malloc (4); - bcopy((char *) cont, (char *) *st, 4); - return 4; /* return pointer to current stream location */ -} - -int -vts_string(dat, st, loc) -char *dat; /* a string to put on the stream */ -u_char **st; /* base pointer to the stream */ -int loc; /* offset into the stream for current data */ -{ - *st = (u_char *) realloc ((char *)*st, (unsigned) (loc + strlen(dat) + 1)); - bcopy(dat, (char *)(*st + loc), strlen(dat)+1); - return strlen(dat)+1; -} - -int -vts_short(dat, st, loc) -u_short dat; /* the attributes field */ -u_char **st; /* a base pointer to the stream */ -int loc; /* offset into the stream for current data */ -{ - u_short temp; /* to hold the net order short */ - - temp = htons(dat); /* convert to network order */ - *st = (u_char *) realloc ((char *)*st, (unsigned)(loc + sizeof(u_short))); - bcopy((char *) &temp, (char *)(*st + loc), sizeof(u_short)); - return sizeof(u_short); -} - -int -vts_long(dat, st, loc) -u_long dat; /* the attributes field */ -u_char **st; /* a base pointer to the stream */ -int loc; /* offset into the stream for current data */ -{ - u_long temp; /* to hold the net order short */ - - temp = htonl(dat); /* convert to network order */ - *st = (u_char *) realloc ((char *)*st, (unsigned)(loc + sizeof(u_long))); - bcopy((char *) &temp, (char *)(*st + loc), sizeof(u_long)); - return sizeof(u_long); -} - -int -vts_char(dat, st, loc) -u_char dat; /* the attributes field */ -u_char **st; /* a base pointer to the stream */ -int loc; /* offset into the stream for current data */ -{ - *st = (u_char *) realloc ((char *)*st, (unsigned)(loc + sizeof(u_char))); - (*st)[loc] = (u_char) dat; - return 1; -} - -/* -stream_to_vals - recieves : u_char *, kadm_vals * - returns : a kadm_vals filled in according to u_char * - -this decodes a byte stream represntation of a vals struct into kadm_vals -*/ -int -stream_to_vals(dt_in, dt_out, maxlen) -u_char *dt_in; -Kadm_vals *dt_out; -int maxlen; /* max length to use */ -{ - register int vsloop, stsize; /* loop counter, stream size */ - register int status; - - bzero((char *) dt_out, sizeof(*dt_out)); - - stsize = check_field_header(dt_in, dt_out->fields, maxlen); - if (stsize < 0) - return(-1); - for (vsloop=31; vsloop>=0; vsloop--) - if (IS_FIELD(vsloop,dt_out->fields)) - switch (vsloop) { - case KADM_NAME: - if ((status = stv_string(dt_in, dt_out->name, stsize, - sizeof(dt_out->name), maxlen)) < 0) - return(-1); - stsize += status; - break; - case KADM_INST: - if ((status = stv_string(dt_in, dt_out->instance, stsize, - sizeof(dt_out->instance), maxlen)) < 0) - return(-1); - stsize += status; - break; - case KADM_EXPDATE: - if ((status = stv_long(dt_in, &dt_out->exp_date, stsize, - maxlen)) < 0) - return(-1); - stsize += status; - break; - case KADM_ATTR: - if ((status = stv_short(dt_in, &dt_out->attributes, stsize, - maxlen)) < 0) - return(-1); - stsize += status; - break; - case KADM_MAXLIFE: - if ((status = stv_char(dt_in, &dt_out->max_life, stsize, - maxlen)) < 0) - return(-1); - stsize += status; - break; - case KADM_DESKEY: - if ((status = stv_long(dt_in, &dt_out->key_high, stsize, - maxlen)) < 0) - return(-1); - stsize += status; - if ((status = stv_long(dt_in, &dt_out->key_low, stsize, - maxlen)) < 0) - return(-1); - stsize += status; - break; - default: - break; - } - return stsize; -} - -int -check_field_header(st, cont, maxlen) -u_char *st; /* stream */ -u_char *cont; /* container for fields data */ -int maxlen; -{ - if (4 > maxlen) - return(-1); - bcopy((char *) st, (char *) cont, 4); - return 4; /* return pointer to current stream location */ -} - -int -stv_string(st, dat, loc, stlen, maxlen) -register u_char *st; /* base pointer to the stream */ -char *dat; /* a string to read from the stream */ -register int loc; /* offset into the stream for current data */ -int stlen; /* max length of string to copy in */ -int maxlen; /* max length of input stream */ -{ - int maxcount; /* max count of chars to copy */ - - maxcount = min(maxlen - loc, stlen); - - (void) strncpy(dat, (char *)st + loc, maxcount); - - if (dat[maxcount-1]) /* not null-term --> not enuf room */ - return(-1); - return strlen(dat)+1; -} - -int -stv_short(st, dat, loc, maxlen) -u_char *st; /* a base pointer to the stream */ -u_short *dat; /* the attributes field */ -int loc; /* offset into the stream for current data */ -int maxlen; -{ - u_short temp; /* to hold the net order short */ - - if (loc + sizeof(u_short) > maxlen) - return(-1); - bcopy((char *)((u_long)st+(u_long)loc), (char *) &temp, sizeof(u_short)); - *dat = ntohs(temp); /* convert to network order */ - return sizeof(u_short); -} - -int -stv_long(st, dat, loc, maxlen) -u_char *st; /* a base pointer to the stream */ -u_long *dat; /* the attributes field */ -int loc; /* offset into the stream for current data */ -int maxlen; /* maximum length of st */ -{ - u_long temp; /* to hold the net order short */ - - if (loc + sizeof(u_long) > maxlen) - return(-1); - bcopy((char *)((u_long)st+(u_long)loc), (char *) &temp, sizeof(u_long)); - *dat = ntohl(temp); /* convert to network order */ - return sizeof(u_long); -} - -int -stv_char(st, dat, loc, maxlen) -u_char *st; /* a base pointer to the stream */ -u_char *dat; /* the attributes field */ -int loc; /* offset into the stream for current data */ -int maxlen; -{ - if (loc + 1 > maxlen) - return(-1); - *dat = *(st + loc); - return 1; -} - diff --git a/eBones/lib/libkadm/kadm_supp.c b/eBones/lib/libkadm/kadm_supp.c deleted file mode 100644 index 353fed0ed9b33..0000000000000 --- a/eBones/lib/libkadm/kadm_supp.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * Support functions for Kerberos administration server & clients - */ - -#if 0 -#ifndef lint -static char rcsid_kadm_supp_c[] = -"Header: /afs/athena.mit.edu/astaff/project/kerberos/src/lib/kadm/RCS/kadm_supp.c,v 4.1 89/09/26 09:21:07 jtkohl Exp "; -static const char rcsid[] = - "$Id: kadm_supp.c,v 1.1 1995/07/18 16:40:28 mark Exp $"; -#endif lint -#endif - -/* - kadm_supp.c - this holds the support routines for the kerberos administration server - - error: prints out a kadm error message, returns - fatal: prints out a kadm fatal error message, exits - prin_vals: prints out data associated with a Principal in the vals - structure -*/ - -#include <string.h> -#include <time.h> -#include <kadm.h> -#include <krb_db.h> - -/* -prin_vals: - recieves : a vals structure -*/ -void -prin_vals(vals) -Kadm_vals *vals; -{ - printf("Info in Database for %s.%s:\n", vals->name, vals->instance); - printf(" Max Life: %d Exp Date: %s\n",vals->max_life, - asctime(localtime((long *)&vals->exp_date))); - printf(" Attribs: %.2x key: %lu %lu\n",vals->attributes, - vals->key_low, vals->key_high); -} - -#ifdef notdef -nierror(s) -int s; -{ - printf("Kerberos admin server loses..... %s\n",error_message(s)); - return(s); -} -#endif - -/* kadm_prin_to_vals takes a fields arguments, a Kadm_vals and a Principal, - it copies the fields in Principal specified by fields into Kadm_vals, - i.e from old to new */ - -void -kadm_prin_to_vals(fields, new, old) -u_char fields[FLDSZ]; -Kadm_vals *new; -Principal *old; -{ - bzero((char *)new, sizeof(*new)); - if (IS_FIELD(KADM_NAME,fields)) { - (void) strncpy(new->name, old->name, ANAME_SZ); - SET_FIELD(KADM_NAME, new->fields); - } - if (IS_FIELD(KADM_INST,fields)) { - (void) strncpy(new->instance, old->instance, INST_SZ); - SET_FIELD(KADM_INST, new->fields); - } - if (IS_FIELD(KADM_EXPDATE,fields)) { - new->exp_date = old->exp_date; - SET_FIELD(KADM_EXPDATE, new->fields); - } - if (IS_FIELD(KADM_ATTR,fields)) { - new->attributes = old->attributes; - SET_FIELD(KADM_MAXLIFE, new->fields); - } - if (IS_FIELD(KADM_MAXLIFE,fields)) { - new->max_life = old->max_life; - SET_FIELD(KADM_MAXLIFE, new->fields); - } - if (IS_FIELD(KADM_DESKEY,fields)) { - new->key_low = old->key_low; - new->key_high = old->key_high; - SET_FIELD(KADM_DESKEY, new->fields); - } -} - -void -kadm_vals_to_prin(fields, new, old) -u_char fields[FLDSZ]; -Principal *new; -Kadm_vals *old; -{ - - bzero((char *)new, sizeof(*new)); - if (IS_FIELD(KADM_NAME,fields)) - (void) strncpy(new->name, old->name, ANAME_SZ); - if (IS_FIELD(KADM_INST,fields)) - (void) strncpy(new->instance, old->instance, INST_SZ); - if (IS_FIELD(KADM_EXPDATE,fields)) - new->exp_date = old->exp_date; - if (IS_FIELD(KADM_ATTR,fields)) - new->attributes = old->attributes; - if (IS_FIELD(KADM_MAXLIFE,fields)) - new->max_life = old->max_life; - if (IS_FIELD(KADM_DESKEY,fields)) { - new->key_low = old->key_low; - new->key_high = old->key_high; - } -} diff --git a/eBones/lib/libkdb/Makefile b/eBones/lib/libkdb/Makefile deleted file mode 100644 index 29beb2401b309..0000000000000 --- a/eBones/lib/libkdb/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.4 1995/09/13 17:23:53 markm Exp $ - -LIB= kdb -CFLAGS+=-DKERBEROS -DDEBUG -SRCS= krb_cache.c krb_dbm.c krb_kdb_utils.c krb_lib.c print_princ.c - -.include <bsd.lib.mk> diff --git a/eBones/lib/libkdb/krb_cache.c b/eBones/lib/libkdb/krb_cache.c deleted file mode 100644 index 1c7c9ce3d7f27..0000000000000 --- a/eBones/lib/libkdb/krb_cache.c +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This is where a cache would be implemented, if it were necessary. - * - * from: krb_cache.c,v 4.5 89/01/24 18:12:34 jon Exp $ - * $Id: krb_cache.c,v 1.3 1995/07/18 16:37:12 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: krb_cache.c,v 1.3 1995/07/18 16:37:12 mark Exp $"; -#endif lint -#endif - -#include <stdio.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/uio.h> -#include <sys/time.h> -#include <sys/resource.h> -#include <strings.h> -#include <des.h> -#include <krb.h> -#include <krb_db.h> - -#ifdef DEBUG -extern int debug; -extern long kerb_debug; -#endif -static init = 0; - -/* - * initialization routine for cache - */ - -int -kerb_cache_init() -{ - init = 1; - return (0); -} - -/* - * look up a principal in the cache returns number of principals found - */ - -int -kerb_cache_get_principal(serv, inst, principal, max) - char *serv; /* could have wild card */ - char *inst; /* could have wild card */ - Principal *principal; - unsigned int max; /* max number of name structs to return */ - -{ - int found = 0; - - if (!init) - kerb_cache_init(); -#ifdef DEBUG - if (kerb_debug & 2) { - fprintf(stderr, "cache_get_principal for %s %s max = %d\n", - serv, inst, max); - if (found) { - fprintf(stderr, "cache get %s %s found %s %s\n", - serv, inst, principal->name, principal->instance); - } else { - fprintf(stderr, "cache %s %s not found\n", serv, - inst); - } - } -#endif - return (found); -} - -/* - * insert/replace a principal in the cache returns number of principals - * inserted - */ - -int -kerb_cache_put_principal(principal, max) - Principal *principal; - unsigned int max; /* max number of principal structs to - * insert */ - -{ - u_long i; - int count = 0; - - if (!init) - kerb_cache_init(); - -#ifdef DEBUG - if (kerb_debug & 2) { - fprintf(stderr, "kerb_cache_put_principal max = %d", - max); - } -#endif - - for (i = 0; i < max; i++) { -#ifdef DEBUG - if (kerb_debug & 2) - fprintf(stderr, "\n %s %s", - principal->name, principal->instance); -#endif - /* DO IT */ - count++; - principal++; - } - return count; -} - -/* - * look up a dba in the cache returns number of dbas found - */ - -int -kerb_cache_get_dba(serv, inst, dba, max) - char *serv; /* could have wild card */ - char *inst; /* could have wild card */ - Dba *dba; - unsigned int max; /* max number of name structs to return */ - -{ - int found = 0; - - if (!init) - kerb_cache_init(); - -#ifdef DEBUG - if (kerb_debug & 2) { - fprintf(stderr, "cache_get_dba for %s %s max = %d\n", - serv, inst, max); - if (found) { - fprintf(stderr, "cache get %s %s found %s %s\n", - serv, inst, dba->name, dba->instance); - } else { - fprintf(stderr, "cache %s %s not found\n", serv, inst); - } - } -#endif - return (found); -} - -/* - * insert/replace a dba in the cache returns number of dbas inserted - */ - -int -kerb_cache_put_dba(dba, max) - Dba *dba; - unsigned int max; /* max number of dba structs to insert */ - -{ - u_long i; - int count = 0; - - if (!init) - kerb_cache_init(); -#ifdef DEBUG - if (kerb_debug & 2) { - fprintf(stderr, "kerb_cache_put_dba max = %d", max); - } -#endif - for (i = 0; i < max; i++) { -#ifdef DEBUG - if (kerb_debug & 2) - fprintf(stderr, "\n %s %s", - dba->name, dba->instance); -#endif - /* DO IT */ - count++; - dba++; - } - return count; -} - diff --git a/eBones/lib/libkdb/krb_dbl.c b/eBones/lib/libkdb/krb_dbl.c deleted file mode 100644 index 7776298457c00..0000000000000 --- a/eBones/lib/libkdb/krb_dbl.c +++ /dev/null @@ -1 +0,0 @@ -This file is now obsolete. diff --git a/eBones/lib/libkdb/krb_dbm.c b/eBones/lib/libkdb/krb_dbm.c deleted file mode 100644 index 760bd6f6bd37d..0000000000000 --- a/eBones/lib/libkdb/krb_dbm.c +++ /dev/null @@ -1,789 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: krb_dbm.c,v 4.9 89/04/18 16:15:13 wesommer Exp $ - * $Id: krb_dbm.c,v 1.4 1995/08/03 17:15:42 mark Exp $ -*/ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: krb_dbm.c,v 1.4 1995/08/03 17:15:42 mark Exp $"; -#endif lint -#endif - -#if defined(__FreeBSD__) || defined(__NetBSD__) -#define _NDBM_ -#endif - -#if defined(__FreeBSD__) || defined(__NetBSD__) -#define _DBM_ -#endif - -#include <unistd.h> -#include <stdio.h> -#include <stdlib.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/uio.h> -#include <sys/time.h> -#include <sys/stat.h> -#include <sys/resource.h> -#include <sys/errno.h> -#include <strings.h> -#include <des.h> -#include <sys/file.h> -#ifdef _NDBM_ -#include <ndbm.h> -#else /*_NDBM_*/ -#include <dbm.h> -#endif /*_NDBM_*/ -/* before krb_db.h */ -#include <krb.h> -#include <krb_db.h> - -#ifdef dbm_pagfno -#define DB -#endif - -#define KERB_DB_MAX_RETRY 5 - -#ifdef DEBUG -extern int debug; -extern long kerb_debug; -extern char *progname; -#endif - -static init = 0; -static char default_db_name[] = DBM_FILE; -static char *current_db_name = default_db_name; -static void encode_princ_key(datum *key, char *name, char *instance); -static void decode_princ_key(datum *key, char *name, char *instance); -static void encode_princ_contents(datum *contents, Principal *principal); -static void decode_princ_contents(datum *contents, Principal *principal); -static void kerb_dbl_fini(void); -static int kerb_dbl_lock(int mode); -static void kerb_dbl_unlock(void); -static long kerb_start_update(char *db_name); -static long kerb_end_update(char *db_name, long age); - -static struct timeval timestamp;/* current time of request */ -static int non_blocking = 0; - -/* - * This module contains all of the code which directly interfaces to - * the underlying representation of the Kerberos database; this - * implementation uses a DBM or NDBM indexed "file" (actually - * implemented as two separate files) to store the relations, plus a - * third file as a semaphore to allow the database to be replaced out - * from underneath the KDC server. - */ - -/* - * Locking: - * - * There are two distinct locking protocols used. One is designed to - * lock against processes (the admin_server, for one) which make - * incremental changes to the database; the other is designed to lock - * against utilities (kdb_util, kpropd) which replace the entire - * database in one fell swoop. - * - * The first locking protocol is implemented using flock() in the - * krb_dbl_lock() and krb_dbl_unlock routines. - * - * The second locking protocol is necessary because DBM "files" are - * actually implemented as two separate files, and it is impossible to - * atomically rename two files simultaneously. It assumes that the - * database is replaced only very infrequently in comparison to the time - * needed to do a database read operation. - * - * A third file is used as a "version" semaphore; the modification - * time of this file is the "version number" of the database. - * At the start of a read operation, the reader checks the version - * number; at the end of the read operation, it checks again. If the - * version number changed, or if the semaphore was nonexistant at - * either time, the reader sleeps for a second to let things - * stabilize, and then tries again; if it does not succeed after - * KERB_DB_MAX_RETRY attempts, it gives up. - * - * On update, the semaphore file is deleted (if it exists) before any - * update takes place; at the end of the update, it is replaced, with - * a version number strictly greater than the version number which - * existed at the start of the update. - * - * If the system crashes in the middle of an update, the semaphore - * file is not automatically created on reboot; this is a feature, not - * a bug, since the database may be inconsistant. Note that the - * absence of a semaphore file does not prevent another _update_ from - * taking place later. Database replacements take place automatically - * only on slave servers; a crash in the middle of an update will be - * fixed by the next slave propagation. A crash in the middle of an - * update on the master would be somewhat more serious, but this would - * likely be noticed by an administrator, who could fix the problem and - * retry the operation. - */ - -/* Macros to convert ndbm names to dbm names. - * Note that dbm_nextkey() cannot be simply converted using a macro, since - * it is invoked giving the database, and nextkey() needs the previous key. - * - * Instead, all routines call "dbm_next" instead. - */ - -#ifndef _NDBM_ -typedef char DBM; - -#define dbm_open(file, flags, mode) ((dbminit(file) == 0)?"":((char *)0)) -#define dbm_fetch(db, key) fetch(key) -#define dbm_store(db, key, content, flag) store(key, content) -#define dbm_firstkey(db) firstkey() -#define dbm_next(db,key) nextkey(key) -#define dbm_close(db) dbmclose() -#else -#define dbm_next(db,key) dbm_nextkey(db) -#endif - -/* - * Utility routine: generate name of database file. - */ - -static char *gen_dbsuffix(db_name, sfx) - char *db_name; - char *sfx; -{ - char *dbsuffix; - - if (sfx == NULL) - sfx = ".ok"; - - dbsuffix = malloc (strlen(db_name) + strlen(sfx) + 1); - strcpy(dbsuffix, db_name); - strcat(dbsuffix, sfx); - return dbsuffix; -} - -/* - * initialization for data base routines. - */ - -int -kerb_db_init() -{ - init = 1; - return (0); -} - -/* - * gracefully shut down database--must be called by ANY program that does - * a kerb_db_init - */ - -void -kerb_db_fini() -{ -} - -/* - * Set the "name" of the current database to some alternate value. - * - * Passing a null pointer as "name" will set back to the default. - * If the alternate database doesn't exist, nothing is changed. - */ - -int -kerb_db_set_name(name) - char *name; -{ - DBM *db; - - if (name == NULL) - name = default_db_name; - db = dbm_open(name, 0, 0); - if (db == NULL) - return errno; - dbm_close(db); - kerb_dbl_fini(); - current_db_name = name; - return 0; -} - -/* - * Return the last modification time of the database. - */ - -long -kerb_get_db_age() -{ - struct stat st; - char *okname; - long age; - - okname = gen_dbsuffix(current_db_name, ".ok"); - - if (stat (okname, &st) < 0) - age = 0; - else - age = st.st_mtime; - - free (okname); - return age; -} - -/* - * Remove the semaphore file; indicates that database is currently - * under renovation. - * - * This is only for use when moving the database out from underneath - * the server (for example, during slave updates). - */ - -static long -kerb_start_update(db_name) - char *db_name; -{ - char *okname = gen_dbsuffix(db_name, ".ok"); - long age = kerb_get_db_age(); - - if (unlink(okname) < 0 - && errno != ENOENT) { - age = -1; - } - free (okname); - return age; -} - -static long -kerb_end_update(db_name, age) - char *db_name; - long age; -{ - int fd; - int retval = 0; - char *new_okname = gen_dbsuffix(db_name, ".ok#"); - char *okname = gen_dbsuffix(db_name, ".ok"); - - fd = open (new_okname, O_CREAT|O_RDWR|O_TRUNC, 0600); - if (fd < 0) - retval = errno; - else { - struct stat st; - struct timeval tv[2]; - /* make sure that semaphore is "after" previous value. */ - if (fstat (fd, &st) == 0 - && st.st_mtime <= age) { - tv[0].tv_sec = st.st_atime; - tv[0].tv_usec = 0; - tv[1].tv_sec = age; - tv[1].tv_usec = 0; - /* set times.. */ - utimes (new_okname, tv); - fsync(fd); - } - close(fd); - if (rename (new_okname, okname) < 0) - retval = errno; - } - - free (new_okname); - free (okname); - - return retval; -} - -static long -kerb_start_read() -{ - return kerb_get_db_age(); -} - -static long -kerb_end_read(age) - u_long age; -{ - if (kerb_get_db_age() != age || age == -1) { - return -1; - } - return 0; -} - -/* - * Create the database, assuming it's not there. - */ - -int -kerb_db_create(db_name) - char *db_name; -{ - char *okname = gen_dbsuffix(db_name, ".ok"); - int fd; - register int ret = 0; -#ifdef _NDBM_ - DBM *db; - - db = dbm_open(db_name, O_RDWR|O_CREAT|O_EXCL, 0600); - if (db == NULL) - ret = errno; - else - dbm_close(db); -#else - char *dirname = gen_dbsuffix(db_name, ".dir"); - char *pagname = gen_dbsuffix(db_name, ".pag"); - - fd = open(dirname, O_RDWR|O_CREAT|O_EXCL, 0600); - if (fd < 0) - ret = errno; - else { - close(fd); - fd = open (pagname, O_RDWR|O_CREAT|O_EXCL, 0600); - if (fd < 0) - ret = errno; - else - close(fd); - } - if (dbminit(db_name) < 0) - ret = errno; -#endif - if (ret == 0) { - fd = open (okname, O_CREAT|O_RDWR|O_TRUNC, 0600); - if (fd < 0) - ret = errno; - close(fd); - } - return ret; -} - -/* - * "Atomically" rename the database in a way that locks out read - * access in the middle of the rename. - * - * Not perfect; if we crash in the middle of an update, we don't - * necessarily know to complete the transaction the rename, but... - */ - -int -kerb_db_rename(from, to) - char *from; - char *to; -{ -#ifdef _DBM_ - char *fromdb = gen_dbsuffix (from, ".db"); - char *todb = gen_dbsuffix (to, ".db"); -#else - char *fromdir = gen_dbsuffix (from, ".dir"); - char *todir = gen_dbsuffix (to, ".dir"); - char *frompag = gen_dbsuffix (from , ".pag"); - char *topag = gen_dbsuffix (to, ".pag"); -#endif - char *fromok = gen_dbsuffix(from, ".ok"); - long trans = kerb_start_update(to); - int ok = 0; - -#ifdef _DBM_ - if (rename (fromdb, todb) == 0) { -#else - if ((rename (fromdir, todir) == 0) - && (rename (frompag, topag) == 0)) { -#endif - (void) unlink (fromok); - ok = 1; - } - - free (fromok); -#ifdef _DBM_ - free (fromdb); - free (todb); -#else - free (fromdir); - free (todir); - free (frompag); - free (topag); -#endif - if (ok) - return kerb_end_update(to, trans); - else - return -1; -} - -/* - * look up a principal in the data base returns number of principals - * found , and whether there were more than requested. - */ - -int -kerb_db_get_principal(name, inst, principal, max, more) - char *name; /* could have wild card */ - char *inst; /* could have wild card */ - Principal *principal; - unsigned int max; /* max number of name structs to return */ - int *more; /* where there more than 'max' tuples? */ - -{ - int found = 0, code; - extern int errorproc(); - int wildp, wildi; - datum key, contents; - char testname[ANAME_SZ], testinst[INST_SZ]; - u_long trans; - int try; - DBM *db; - - if (!init) - kerb_db_init(); /* initialize database routines */ - - for (try = 0; try < KERB_DB_MAX_RETRY; try++) { - trans = kerb_start_read(); - - if ((code = kerb_dbl_lock(KERB_DBL_SHARED)) != 0) - return -1; - - db = dbm_open(current_db_name, O_RDONLY, 0600); - - *more = 0; - -#ifdef DEBUG - if (kerb_debug & 2) - fprintf(stderr, - "%s: db_get_principal for %s %s max = %d", - progname, name, inst, max); -#endif - - wildp = !strcmp(name, "*"); - wildi = !strcmp(inst, "*"); - - if (!wildi && !wildp) { /* nothing's wild */ - encode_princ_key(&key, name, inst); - contents = dbm_fetch(db, key); - if (contents.dptr == NULL) { - found = 0; - goto done; - } - decode_princ_contents(&contents, principal); -#ifdef DEBUG - if (kerb_debug & 1) { - fprintf(stderr, "\t found %s %s p_n length %d t_n length %d\n", - principal->name, principal->instance, - strlen(principal->name), - strlen(principal->instance)); - } -#endif - found = 1; - goto done; - } - /* process wild cards by looping through entire database */ - - for (key = dbm_firstkey(db); key.dptr != NULL; - key = dbm_next(db, key)) { - decode_princ_key(&key, testname, testinst); - if ((wildp || !strcmp(testname, name)) && - (wildi || !strcmp(testinst, inst))) { /* have a match */ - if (found >= max) { - *more = 1; - goto done; - } else { - found++; - contents = dbm_fetch(db, key); - decode_princ_contents(&contents, principal); -#ifdef DEBUG - if (kerb_debug & 1) { - fprintf(stderr, - "\tfound %s %s p_n length %d t_n length %d\n", - principal->name, principal->instance, - strlen(principal->name), - strlen(principal->instance)); - } -#endif - principal++; /* point to next */ - } - } - } - - done: - kerb_dbl_unlock(); /* unlock read lock */ - dbm_close(db); - if (kerb_end_read(trans) == 0) - break; - found = -1; - if (!non_blocking) - sleep(1); - } - return (found); -} - -/* - * Update a name in the data base. Returns number of names - * successfully updated. - */ - -int -kerb_db_put_principal(principal, max) - Principal *principal; - unsigned int max; /* number of principal structs to - * update */ - -{ - int found = 0, code; - u_long i; - extern int errorproc(); - datum key, contents; - DBM *db; - - gettimeofday(×tamp, NULL); - - if (!init) - kerb_db_init(); - - if ((code = kerb_dbl_lock(KERB_DBL_EXCLUSIVE)) != 0) - return -1; - - db = dbm_open(current_db_name, O_RDWR, 0600); - -#ifdef DEBUG - if (kerb_debug & 2) - fprintf(stderr, "%s: kerb_db_put_principal max = %d", - progname, max); -#endif - - /* for each one, stuff temps, and do replace/append */ - for (i = 0; i < max; i++) { - encode_princ_contents(&contents, principal); - encode_princ_key(&key, principal->name, principal->instance); - dbm_store(db, key, contents, DBM_REPLACE); -#ifdef DEBUG - if (kerb_debug & 1) { - fprintf(stderr, "\n put %s %s\n", - principal->name, principal->instance); - } -#endif - found++; - principal++; /* bump to next struct */ - } - - dbm_close(db); - kerb_dbl_unlock(); /* unlock database */ - return (found); -} - -static void -encode_princ_key(key, name, instance) - datum *key; - char *name, *instance; -{ - static char keystring[ANAME_SZ + INST_SZ]; - - bzero(keystring, ANAME_SZ + INST_SZ); - strncpy(keystring, name, ANAME_SZ); - strncpy(&keystring[ANAME_SZ], instance, INST_SZ); - key->dptr = keystring; - key->dsize = ANAME_SZ + INST_SZ; -} - -static void -decode_princ_key(key, name, instance) - datum *key; - char *name, *instance; -{ - strncpy(name, key->dptr, ANAME_SZ); - strncpy(instance, key->dptr + ANAME_SZ, INST_SZ); - name[ANAME_SZ - 1] = '\0'; - instance[INST_SZ - 1] = '\0'; -} - -static void -encode_princ_contents(contents, principal) - datum *contents; - Principal *principal; -{ - contents->dsize = sizeof(*principal); - contents->dptr = (char *) principal; -} - -static void -decode_princ_contents(contents, principal) - datum *contents; - Principal *principal; -{ - bcopy(contents->dptr, (char *) principal, sizeof(*principal)); -} - -void -kerb_db_get_stat(s) - DB_stat *s; -{ - gettimeofday(×tamp, NULL); - - - s->cpu = 0; - s->elapsed = 0; - s->dio = 0; - s->pfault = 0; - s->t_stamp = timestamp.tv_sec; - s->n_retrieve = 0; - s->n_replace = 0; - s->n_append = 0; - s->n_get_stat = 0; - s->n_put_stat = 0; - /* update local copy too */ -} - -void -kerb_db_put_stat(s) - DB_stat *s; -{ -} - -void -delta_stat(a, b, c) - DB_stat *a, *b, *c; -{ - /* c = a - b then b = a for the next time */ - - c->cpu = a->cpu - b->cpu; - c->elapsed = a->elapsed - b->elapsed; - c->dio = a->dio - b->dio; - c->pfault = a->pfault - b->pfault; - c->t_stamp = a->t_stamp - b->t_stamp; - c->n_retrieve = a->n_retrieve - b->n_retrieve; - c->n_replace = a->n_replace - b->n_replace; - c->n_append = a->n_append - b->n_append; - c->n_get_stat = a->n_get_stat - b->n_get_stat; - c->n_put_stat = a->n_put_stat - b->n_put_stat; - - bcopy(a, b, sizeof(DB_stat)); -} - -/* - * look up a dba in the data base returns number of dbas found , and - * whether there were more than requested. - */ - -int -kerb_db_get_dba(dba_name, dba_inst, dba, max, more) - char *dba_name; /* could have wild card */ - char *dba_inst; /* could have wild card */ - Dba *dba; - unsigned int max; /* max number of name structs to return */ - int *more; /* where there more than 'max' tuples? */ - -{ - *more = 0; - return (0); -} - -int -kerb_db_iterate (func, arg) - int (*func)(); - char *arg; /* void *, really */ -{ - datum key, contents; - Principal *principal; - int code; - DBM *db; - - kerb_db_init(); /* initialize and open the database */ - if ((code = kerb_dbl_lock(KERB_DBL_SHARED)) != 0) - return code; - - db = dbm_open(current_db_name, O_RDONLY, 0600); - - for (key = dbm_firstkey (db); key.dptr != NULL; key = dbm_next(db, key)) { - contents = dbm_fetch (db, key); - /* XXX may not be properly aligned */ - principal = (Principal *) contents.dptr; - if ((code = (*func)(arg, principal)) != 0) - return code; - } - dbm_close(db); - kerb_dbl_unlock(); - return 0; -} - -static int dblfd = -1; -static int mylock = 0; -static int inited = 0; - -static void -kerb_dbl_init() -{ - if (!inited) { - char *filename = gen_dbsuffix (current_db_name, ".ok"); - if ((dblfd = open(filename, 0)) < 0) { - fprintf(stderr, "kerb_dbl_init: couldn't open %s\n", filename); - fflush(stderr); - perror("open"); - exit(1); - } - free(filename); - inited++; - } -} - -static void -kerb_dbl_fini() -{ - close(dblfd); - dblfd = -1; - inited = 0; - mylock = 0; -} - -static int -kerb_dbl_lock(mode) - int mode; -{ - int flock_mode; - - if (!inited) - kerb_dbl_init(); - if (mylock) { /* Detect lock call when lock already - * locked */ - fprintf(stderr, "Kerberos locking error (mylock)\n"); - fflush(stderr); - exit(1); - } - switch (mode) { - case KERB_DBL_EXCLUSIVE: - flock_mode = LOCK_EX; - break; - case KERB_DBL_SHARED: - flock_mode = LOCK_SH; - break; - default: - fprintf(stderr, "invalid lock mode %d\n", mode); - abort(); - } - if (non_blocking) - flock_mode |= LOCK_NB; - - if (flock(dblfd, flock_mode) < 0) - return errno; - mylock++; - return 0; -} - -static void -kerb_dbl_unlock() -{ - if (!mylock) { /* lock already unlocked */ - fprintf(stderr, "Kerberos database lock not locked when unlocking.\n"); - fflush(stderr); - exit(1); - } - if (flock(dblfd, LOCK_UN) < 0) { - fprintf(stderr, "Kerberos database lock error. (unlocking)\n"); - fflush(stderr); - perror("flock"); - exit(1); - } - mylock = 0; -} - -int -kerb_db_set_lockmode(mode) - int mode; -{ - int old = non_blocking; - non_blocking = mode; - return old; -} diff --git a/eBones/lib/libkdb/krb_kdb_utils.c b/eBones/lib/libkdb/krb_kdb_utils.c deleted file mode 100644 index 0256348e2b77b..0000000000000 --- a/eBones/lib/libkdb/krb_kdb_utils.c +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Utility routines for Kerberos programs which directly access - * the database. This code was duplicated in too many places - * before I gathered it here. - * - * Jon Rochlis, MIT Telecom, March 1988 - * - * from: krb_kdb_utils.c,v 4.1 89/07/26 11:01:12 jtkohl Exp $ - * $Id: krb_kdb_utils.c,v 1.3 1995/07/18 16:37:15 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: krb_kdb_utils.c,v 1.3 1995/07/18 16:37:15 mark Exp $"; -#endif lint -#endif - -#include <des.h> -#include <krb.h> -#include <krb_db.h> -#include <kdc.h> -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <sys/file.h> - -long -kdb_get_master_key(prompt, master_key, master_key_sched) - int prompt; - C_Block master_key; - Key_schedule master_key_sched; -{ - int kfile; - - if (prompt) { -#ifdef NOENCRYPTION - placebo_read_password(master_key, - "\nEnter Kerberos master key: ", 0); -#else - des_read_password((des_cblock *)master_key, - "\nEnter Kerberos master key: ", 0); -#endif - printf ("\n"); - } - else { - kfile = open(MKEYFILE, O_RDONLY, 0600); - if (kfile < 0) { - /* oh, for com_err_ */ - return (-1); - } - if (read(kfile, (char *) master_key, 8) != 8) { - return (-1); - } - close(kfile); - } - -#ifndef NOENCRYPTION - key_sched((des_cblock *)master_key,master_key_sched); -#endif - return (0); -} - -/* The caller is reasponsible for cleaning up the master key and sched, - even if we can't verify the master key */ - -/* Returns master key version if successful, otherwise -1 */ - -long -kdb_verify_master_key (master_key, master_key_sched, out) - C_Block master_key; - Key_schedule master_key_sched; - FILE *out; /* setting this to non-null be do output */ -{ - C_Block key_from_db; - Principal principal_data[1]; - int n, more = 0; - long master_key_version; - - /* lookup the master key version */ - n = kerb_get_principal(KERB_M_NAME, KERB_M_INST, principal_data, - 1 /* only one please */, &more); - if ((n != 1) || more) { - if (out != (FILE *) NULL) - fprintf(out, - "verify_master_key: %s, %d found.\n", - "Kerberos error on master key version lookup", - n); - return (-1); - } - - master_key_version = (long) principal_data[0].key_version; - - /* set up the master key */ - if (out != (FILE *) NULL) /* should we punt this? */ - fprintf(out, "Current Kerberos master key version is %d.\n", - principal_data[0].kdc_key_ver); - - /* - * now use the master key to decrypt the key in the db, had better - * be the same! - */ - bcopy(&principal_data[0].key_low, key_from_db, 4); - bcopy(&principal_data[0].key_high, ((long *) key_from_db) + 1, 4); - kdb_encrypt_key (key_from_db, key_from_db, - master_key, master_key_sched, DECRYPT); - - /* the decrypted database key had better equal the master key */ - n = bcmp((char *) master_key, (char *) key_from_db, - sizeof(master_key)); - /* this used to zero the master key here! */ - bzero(key_from_db, sizeof(key_from_db)); - bzero(principal_data, sizeof (principal_data)); - - if (n && (out != (FILE *) NULL)) { - fprintf(out, "\n\07\07verify_master_key: Invalid master key; "); - fprintf(out, "does not match database.\n"); - return (-1); - } - if (out != (FILE *) NULL) { - fprintf(out, "\nMaster key entered. BEWARE!\07\07\n"); - fflush(out); - } - - return (master_key_version); -} - -/* The old algorithm used the key schedule as the initial vector which - was byte order depedent ... */ - -void -kdb_encrypt_key (in, out, master_key, master_key_sched, e_d_flag) - C_Block in, out, master_key; - Key_schedule master_key_sched; - int e_d_flag; -{ - -#ifdef NOENCRYPTION - bcopy(in, out, sizeof(C_Block)); -#else - pcbc_encrypt((des_cblock*)in,(des_cblock*)out,(long)sizeof(C_Block), - master_key_sched,(des_cblock*)master_key,e_d_flag); -#endif -} diff --git a/eBones/lib/libkdb/krb_lib.c b/eBones/lib/libkdb/krb_lib.c deleted file mode 100644 index 2cf4fb8723d6e..0000000000000 --- a/eBones/lib/libkdb/krb_lib.c +++ /dev/null @@ -1,242 +0,0 @@ -/* - * $Source: /usr/cvs/src/eBones/kdb/krb_lib.c,v $ - * $Author: mark $ - * - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * <mit-copyright.h>. - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: krb_lib.c,v 1.3 1995/07/18 16:37:17 mark Exp $"; -#endif lint -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/uio.h> -#include <sys/time.h> -#include <sys/resource.h> -#include <strings.h> -#include <des.h> -#include <krb.h> -#include <krb_db.h> - -#ifdef DEBUG -extern int debug; -extern char *progname; -long kerb_debug; -#endif - -static init = 0; - -/* - * initialization routine for data base - */ - -int -kerb_init() -{ -#ifdef DEBUG - if (!init) { - char *dbg = getenv("KERB_DBG"); - if (dbg) - sscanf(dbg, "%ld", &kerb_debug); - init = 1; - } -#endif - kerb_db_init(); - -#ifdef CACHE - kerb_cache_init(); -#endif - - /* successful init, return 0, else errcode */ - return (0); -} - -/* - * finalization routine for database -- NOTE: MUST be called by any - * program using kerb_init. ALSO will have to be modified to finalize - * caches, if they're ever really implemented. - */ - -void -kerb_fini() -{ - kerb_db_fini(); -} - -/* - * look up a principal in the cache or data base returns number of - * principals found - */ - -int -kerb_get_principal(name, inst, principal, max, more) - char *name; /* could have wild card */ - char *inst; /* could have wild card */ - Principal *principal; - unsigned int max; /* max number of name structs to return */ - int *more; /* more tuples than room for */ - -{ - int found = 0; -#ifdef CACHE - static int wild = 0; -#endif - if (!init) - kerb_init(); - -#ifdef DEBUG - if (kerb_debug & 1) - fprintf(stderr, "\n%s: kerb_get_principal for %s %s max = %d\n", - progname, name, inst, max); -#endif - - /* - * if this is a request including a wild card, have to go to db - * since the cache may not be exhaustive. - */ - - /* clear the principal area */ - bzero((char *) principal, max * sizeof(Principal)); - -#ifdef CACHE - /* - * so check to see if the name contains a wildcard "*" or "?", not - * preceeded by a backslash. - */ - wild = 0; - if (index(name, '*') || index(name, '?') || - index(inst, '*') || index(inst, '?')) - wild = 1; - - if (!wild) { - /* try the cache first */ - found = kerb_cache_get_principal(name, inst, principal, max, more); - if (found) - return (found); - } -#endif - /* If we didn't try cache, or it wasn't there, try db */ - found = kerb_db_get_principal(name, inst, principal, max, more); - /* try to insert principal(s) into cache if it was found */ -#ifdef CACHE - if (found) { - kerb_cache_put_principal(principal, found); - } -#endif - return (found); -} - -/* principals */ -int -kerb_put_principal(principal, n) - Principal *principal; - unsigned int n; /* number of principal structs to write */ -{ - long time(); - struct tm *tp, *localtime(); - - /* set mod date */ - principal->mod_date = time((long *)0); - /* and mod date string */ - - tp = localtime(&principal->mod_date); - (void) sprintf(principal->mod_date_txt, "%4d-%2d-%2d", - tp->tm_year > 1900 ? tp->tm_year : tp->tm_year + 1900, - tp->tm_mon + 1, tp->tm_mday); /* January is 0, not 1 */ -#ifdef DEBUG - if (kerb_debug & 1) { - int i; - fprintf(stderr, "\nkerb_put_principal..."); - for (i = 0; i < n; i++) { - krb_print_principal(&principal[i]); - } - } -#endif - /* write database */ - if (kerb_db_put_principal(principal, n) < 0) { -#ifdef DEBUG - if (kerb_debug & 1) - fprintf(stderr, "\n%s: kerb_db_put_principal err", progname); - /* watch out for cache */ -#endif - return -1; - } -#ifdef CACHE - /* write cache */ - if (!kerb_cache_put_principal(principal, n)) { -#ifdef DEBUG - if (kerb_debug & 1) - fprintf(stderr, "\n%s: kerb_cache_put_principal err", progname); -#endif - return -1; - } -#endif - return 0; -} - -int -kerb_get_dba(name, inst, dba, max, more) - char *name; /* could have wild card */ - char *inst; /* could have wild card */ - Dba *dba; - unsigned int max; /* max number of name structs to return */ - int *more; /* more tuples than room for */ - -{ - int found = 0; -#ifdef CACHE - static int wild = 0; -#endif - if (!init) - kerb_init(); - -#ifdef DEBUG - if (kerb_debug & 1) - fprintf(stderr, "\n%s: kerb_get_dba for %s %s max = %d\n", - progname, name, inst, max); -#endif - /* - * if this is a request including a wild card, have to go to db - * since the cache may not be exhaustive. - */ - - /* clear the dba area */ - bzero((char *) dba, max * sizeof(Dba)); - -#ifdef CACHE - /* - * so check to see if the name contains a wildcard "*" or "?", not - * preceeded by a backslash. - */ - - wild = 0; - if (index(name, '*') || index(name, '?') || - index(inst, '*') || index(inst, '?')) - wild = 1; - - if (!wild) { - /* try the cache first */ - found = kerb_cache_get_dba(name, inst, dba, max, more); - if (found) - return (found); - } -#endif - /* If we didn't try cache, or it wasn't there, try db */ - found = kerb_db_get_dba(name, inst, dba, max, more); -#ifdef CACHE - /* try to insert dba(s) into cache if it was found */ - if (found) { - kerb_cache_put_dba(dba, found); - } -#endif - return (found); -} diff --git a/eBones/lib/libkdb/print_princ.c b/eBones/lib/libkdb/print_princ.c deleted file mode 100644 index 64e910660e22c..0000000000000 --- a/eBones/lib/libkdb/print_princ.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: $Header: /usr/cvs/src/eBones/kdb/print_princ.c,v 1.3 1995/07/18 16:37:19 mark Exp $ - * $Id: print_princ.c,v 1.3 1995/07/18 16:37:19 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: print_princ.c,v 1.3 1995/07/18 16:37:19 mark Exp $"; -#endif lint -#endif - -#include <stdio.h> -#include <time.h> -#include <sys/types.h> -#include <sys/time.h> -#include <strings.h> -#include <krb.h> -#include <krb_db.h> - -extern int debug; - -long kerb_debug; -static struct tm *time_p; - -void -krb_print_principal(a_n) - Principal *a_n; -{ - /* run-time database does not contain string versions */ - time_p = localtime(&(a_n->exp_date)); - - fprintf(stderr, - "\n%s %s expires %4d-%2d-%2d %2d:%2d, max_life %d*5 = %d min attr 0x%02x", - a_n->name, a_n->instance, - time_p->tm_year > 1900 ? time_p->tm_year : time_p->tm_year + 1900, - time_p->tm_mon + 1, time_p->tm_mday, - time_p->tm_hour, time_p->tm_min, - a_n->max_life, 5 * a_n->max_life, a_n->attributes); - - fprintf(stderr, - "\n\tkey_ver %d k_low 0x%08lx k_high 0x%08lx akv %d exists %d\n", - a_n->key_version, a_n->key_low, a_n->key_high, - a_n->kdc_key_ver, (int)a_n->old); - - fflush(stderr); -} diff --git a/eBones/lib/libkrb/Makefile b/eBones/lib/libkrb/Makefile deleted file mode 100644 index d898efdef56ad..0000000000000 --- a/eBones/lib/libkrb/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.13 1996/06/24 04:22:27 jkh Exp $ - -LIB= krb -SHLIB_MINOR= 1 -CFLAGS+=-DKERBEROS -DCRYPT -DDEBUG -DBSD42 -SRCS= krb_err.c create_auth_reply.c create_ciph.c \ - create_death_packet.c create_ticket.c debug_decl.c decomp_ticket.c \ - des_rw.c dest_tkt.c extract_ticket.c fgetst.c get_ad_tkt.c \ - get_admhst.c get_cred.c get_in_tkt.c get_krbhst.c get_krbrlm.c \ - get_phost.c get_pw_tkt.c get_request.c get_svc_in_tkt.c \ - get_tf_fullname.c get_tf_realm.c getrealm.c getst.c in_tkt.c \ - k_gethostname.c klog.c kname_parse.c kntoln.c kparse.c \ - krb_err_txt.c krb_get_in_tkt.c kuserok.c log.c mk_err.c \ - mk_priv.c mk_req.c mk_safe.c month_sname.c \ - netread.c netwrite.c one.c pkt_cipher.c pkt_clen.c rd_err.c \ - rd_priv.c rd_req.c rd_safe.c read_service_key.c recvauth.c \ - save_credentials.c send_to_kdc.c sendauth.c stime.c tf_util.c \ - tkt_string.c util.c - -LDADD+= -lcom_err - -beforeinstall: krb_err.c - ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 krb_err.h \ - ${DESTDIR}/usr/include/kerberosIV - -MAN3= krb.3 krb_realmofhost.3 krb_sendauth.3 krb_set_tkt_string.3 \ - kuserok.3 tf_util.3 - -MLINKS= krb.3 krb_mk_req.3 krb.3 krb_rd_req.3 krb.3 krb_kntoln.3 \ - krb.3 krb_set_key.3 krb.3 krb_get_cred.3 krb.3 krb_mk_priv.3 \ - krb.3 krb_rd_priv.3 krb.3 krb_mk_safe.3 krb.3 krb_rd_safe.3 \ - krb.3 krb_mk_err.3 krb.3 krb_rd_err.3 krb.3 krb_ck_repl.3 \ - krb.3 krb_get_local_addr.3 krb.3 krb_bind_local_addr.3 - -MLINKS+=krb_realmofhost.3 krb_get_phost.3 krb_realmofhost.3 krb_get_krbhst.3 \ - krb_realmofhost.3 krb_get_admhst.3 krb_realmofhost.3 krb_get_lrealm.3 - -MLINKS+=krb_realmofhost.3 realm.3 - -MLINKS+=krb_sendauth.3 krb_recvauth.3 krb_sendauth.3 krb_net_write.3 \ - krb_sendauth.3 krb_net_read.3 - -MLINKS+=krb_sendauth.3 ksend.3 - -MLINKS+=tf_util.3 tf_init.3 tf_util.3 tf_get_pname.3 \ - tf_util.3 tf_get_pinst.3 tf_util.3 tf_get_cred.3 \ - tf_util.3 tf_close.3 - -.include <bsd.lib.mk> - -krb_err.c: ${KRBOBJDIR}/krb_err.h diff --git a/eBones/lib/libkrb/add_ticket.c b/eBones/lib/libkrb/add_ticket.c deleted file mode 100644 index 14ef47c46a0bd..0000000000000 --- a/eBones/lib/libkrb/add_ticket.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: add_ticket.c,v 4.7 88/10/07 06:06:26 shanzer Exp $ - * $Id: add_ticket.c,v 1.3 1995/07/18 16:38:04 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: add_ticket.c,v 1.3 1995/07/18 16:38:04 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> -#include <strings.h> - -/* - * This routine is now obsolete. It used to be possible to request - * more than one ticket at a time from the authentication server, and - * it looks like this routine was used by the server to package the - * tickets to be returned to the client. - */ - -/* - * This routine adds a new ticket to the ciphertext to be returned to - * the client. The routine takes the ciphertext (which doesn't get - * encrypted till later), the number of the ticket (i.e. 1st, 2nd, - * etc) the session key which goes in the ticket and is sent back to - * the user, the lifetime for the ticket, the service name, the - * instance, the realm, the key version number, and the ticket itself. - * - * This routine returns 0 (KSUCCESS) on success, and 1 (KFAILURE) on - * failure. On failure, which occurs when there isn't enough room - * for the ticket, a 0 length ticket is added. - * - * Notes: This routine must be called with successive values of n. - * i.e. the ticket must be added in order. The corresponding routine - * on the client side is extract ticket. - */ - -/* XXX they aren't all used; to avoid incompatible changes we will - * fool lint for the moment */ -/*ARGSUSED */ -int -add_ticket(cipher,n,session,lifetime,sname,instance,realm,kvno,ticket) - KTEXT cipher; /* Ciphertext info for ticket */ - char *sname; /* Service name */ - char *instance; /* Instance */ - int n; /* Relative position of this ticket */ - char *session; /* Session key for this tkt */ - int lifetime; /* Lifetime of this ticket */ - char *realm; /* Realm in which ticket is valid */ - int kvno; /* Key version number of service key */ - KTEXT ticket; /* The ticket itself */ -{ - - /* Note, the 42 is a temporary hack; it will have to be changed. */ - - /* Begin check of ticket length */ - if ((cipher->length + ticket->length + 4 + 42 + - (*(cipher->dat)+1-n)*(11+strlen(realm))) > - MAX_KTXT_LEN) { - bcopy(session,(char *)(cipher->dat+cipher->length),8); - *(cipher->dat+cipher->length+8) = (char) lifetime; - *(cipher->dat+cipher->length+9) = (char) kvno; - (void) strcpy((char *)(cipher->dat+cipher->length+10),realm); - cipher->length += 11 + strlen(realm); - *(cipher->dat+n) = 0; - return(KFAILURE); - } - /* End check of ticket length */ - - /* Add the session key, lifetime, kvno, ticket to the ciphertext */ - bcopy(session,(char *)(cipher->dat+cipher->length),8); - *(cipher->dat+cipher->length+8) = (char) lifetime; - *(cipher->dat+cipher->length+9) = (char) kvno; - (void) strcpy((char *)(cipher->dat+cipher->length+10),realm); - cipher->length += 11 + strlen(realm); - bcopy((char *)(ticket->dat),(char *)(cipher->dat+cipher->length), - ticket->length); - cipher->length += ticket->length; - - /* Set the ticket length at beginning of ciphertext */ - *(cipher->dat+n) = ticket->length; - return(KSUCCESS); -} diff --git a/eBones/lib/libkrb/create_auth_reply.c b/eBones/lib/libkrb/create_auth_reply.c deleted file mode 100644 index e304b173628db..0000000000000 --- a/eBones/lib/libkrb/create_auth_reply.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: create_auth_reply.c,v 4.10 89/01/13 17:47:38 steiner Exp $ - * $Id: create_auth_reply.c,v 1.3 1995/07/18 16:38:06 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: create_auth_reply.c,v 1.3 1995/07/18 16:38:06 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> -#include <strings.h> - -/* - * This routine is called by the Kerberos authentication server - * to create a reply to an authentication request. The routine - * takes the user's name, instance, and realm, the client's - * timestamp, the number of tickets, the user's key version - * number and the ciphertext containing the tickets themselves. - * It constructs a packet and returns a pointer to it. - * - * Notes: The packet returned by this routine is static. Thus, if you - * intend to keep the result beyond the next call to this routine, you - * must copy it elsewhere. - * - * The packet is built in the following format: - * - * variable - * type or constant data - * ---- ----------- ---- - * - * unsigned char KRB_PROT_VERSION protocol version number - * - * unsigned char AUTH_MSG_KDC_REPLY protocol message type - * - * [least significant HOST_BYTE_ORDER sender's (server's) byte - * bit of above field] order - * - * string pname principal's name - * - * string pinst principal's instance - * - * string prealm principal's realm - * - * unsigned long time_ws client's timestamp - * - * unsigned char n number of tickets - * - * unsigned long x_date expiration date - * - * unsigned char kvno master key version - * - * short w_1 cipher length - * - * --- cipher->dat cipher data - */ - -KTEXT -create_auth_reply(pname,pinst,prealm,time_ws,n,x_date,kvno,cipher) - char *pname; /* Principal's name */ - char *pinst; /* Principal's instance */ - char *prealm; /* Principal's authentication domain */ - long time_ws; /* Workstation time */ - int n; /* Number of tickets */ - unsigned long x_date; /* Principal's expiration date */ - int kvno; /* Principal's key version number */ - KTEXT cipher; /* Cipher text with tickets and - * session keys */ -{ - static KTEXT_ST pkt_st; - KTEXT pkt = &pkt_st; - unsigned char *v = pkt->dat; /* Prot vers number */ - unsigned char *t = (pkt->dat+1); /* Prot message type */ - short w_l; /* Cipher length */ - - /* Create fixed part of packet */ - *v = (unsigned char) KRB_PROT_VERSION; - *t = (unsigned char) AUTH_MSG_KDC_REPLY; - *t |= HOST_BYTE_ORDER; - - if (n != 0) - *v = 3; - - /* Add the basic info */ - (void) strcpy((char *) (pkt->dat+2), pname); - pkt->length = 3 + strlen(pname); - (void) strcpy((char *) (pkt->dat+pkt->length),pinst); - pkt->length += 1 + strlen(pinst); - (void) strcpy((char *) (pkt->dat+pkt->length),prealm); - pkt->length += 1 + strlen(prealm); - /* Workstation timestamp */ - bcopy((char *) &time_ws, (char *) (pkt->dat+pkt->length), 4); - pkt->length += 4; - *(pkt->dat+(pkt->length)++) = (unsigned char) n; - /* Expiration date */ - bcopy((char *) &x_date, (char *) (pkt->dat+pkt->length),4); - pkt->length += 4; - - /* Now send the ciphertext and info to help decode it */ - *(pkt->dat+(pkt->length)++) = (unsigned char) kvno; - w_l = (short) cipher->length; - bcopy((char *) &w_l,(char *) (pkt->dat+pkt->length),2); - pkt->length += 2; - bcopy((char *) (cipher->dat), (char *) (pkt->dat+pkt->length), - cipher->length); - pkt->length += cipher->length; - - /* And return the packet */ - return pkt; -} diff --git a/eBones/lib/libkrb/create_ciph.c b/eBones/lib/libkrb/create_ciph.c deleted file mode 100644 index 7fb93e337d1c5..0000000000000 --- a/eBones/lib/libkrb/create_ciph.c +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: create_ciph.c,v 4.8 89/05/18 21:24:26 jis Exp $ - * $Id: create_ciph.c,v 1.3 1995/07/18 16:38:07 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: create_ciph.c,v 1.3 1995/07/18 16:38:07 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <des.h> -#include <strings.h> - -/* - * This routine is used by the authentication server to create - * a packet for its client, containing a ticket for the requested - * service (given in "tkt"), and some information about the ticket, - * - * Returns KSUCCESS no matter what. - * - * The length of the cipher is stored in c->length; the format of - * c->dat is as follows: - * - * variable - * type or constant data - * ---- ----------- ---- - * - * - * 8 bytes session session key for client, service - * - * string service service name - * - * string instance service instance - * - * string realm KDC realm - * - * unsigned char life ticket lifetime - * - * unsigned char kvno service key version number - * - * unsigned char tkt->length length of following ticket - * - * data tkt->dat ticket for service - * - * 4 bytes kdc_time KDC's timestamp - * - * <=7 bytes null null pad to 8 byte multiple - * - */ - -int -create_ciph(c, session, service, instance, realm, life, kvno, tkt, - kdc_time, key) - KTEXT c; /* Text block to hold ciphertext */ - C_Block session; /* Session key to send to user */ - char *service; /* Service name on ticket */ - char *instance; /* Instance name on ticket */ - char *realm; /* Realm of this KDC */ - unsigned long life; /* Lifetime of the ticket */ - int kvno; /* Key version number for service */ - KTEXT tkt; /* The ticket for the service */ - unsigned long kdc_time; /* KDC time */ - C_Block key; /* Key to encrypt ciphertext with */ -{ - char *ptr; - Key_schedule key_s; - - ptr = (char *) c->dat; - - bcopy((char *) session, ptr, 8); - ptr += 8; - - (void) strcpy(ptr,service); - ptr += strlen(service) + 1; - - (void) strcpy(ptr,instance); - ptr += strlen(instance) + 1; - - (void) strcpy(ptr,realm); - ptr += strlen(realm) + 1; - - *(ptr++) = (unsigned char) life; - *(ptr++) = (unsigned char) kvno; - *(ptr++) = (unsigned char) tkt->length; - - bcopy((char *)(tkt->dat),ptr,tkt->length); - ptr += tkt->length; - - bcopy((char *) &kdc_time,ptr,4); - ptr += 4; - - /* guarantee null padded encrypted data to multiple of 8 bytes */ - bzero(ptr, 7); - - c->length = (((ptr - (char *) c->dat) + 7) / 8) * 8; - -#ifndef NOENCRYPTION - key_sched((C_Block *)key,key_s); - pcbc_encrypt((C_Block *)c->dat,(C_Block *)c->dat,(long) c->length,key_s, - (C_Block *)key,ENCRYPT); -#endif /* NOENCRYPTION */ - - return(KSUCCESS); -} diff --git a/eBones/lib/libkrb/create_death_packet.c b/eBones/lib/libkrb/create_death_packet.c deleted file mode 100644 index bdc0e347bf15c..0000000000000 --- a/eBones/lib/libkrb/create_death_packet.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: create_death_packet.c,v 4.9 89/01/17 16:05:59 rfrench Exp $ - * $Id: create_death_packet.c,v 1.3 1995/07/18 16:38:09 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: create_death_packet.c,v 1.3 1995/07/18 16:38:09 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> -#include <strings.h> - -/* - * This routine creates a packet to type AUTH_MSG_DIE which is sent to - * the Kerberos server to make it shut down. It is used only in the - * development environment. - * - * It takes a string "a_name" which is sent in the packet. A pointer - * to the packet is returned. - * - * The format of the killer packet is: - * - * type variable data - * or constant - * ---- ----------- ---- - * - * unsigned char KRB_PROT_VERSION protocol version number - * - * unsigned char AUTH_MSG_DIE message type - * - * [least significant HOST_BYTE_ORDER byte order of sender - * bit of above field] - * - * string a_name presumably, name of - * principal sending killer - * packet - */ - -#ifdef DEBUG -KTEXT -krb_create_death_packet(a_name) - char *a_name; -{ - static KTEXT_ST pkt_st; - KTEXT pkt = &pkt_st; - - unsigned char *v = pkt->dat; - unsigned char *t = (pkt->dat+1); - *v = (unsigned char) KRB_PROT_VERSION; - *t = (unsigned char) AUTH_MSG_DIE; - *t |= HOST_BYTE_ORDER; - (void) strcpy((char *) (pkt->dat+2),a_name); - pkt->length = 3 + strlen(a_name); - return pkt; -} -#endif /* DEBUG */ diff --git a/eBones/lib/libkrb/create_ticket.c b/eBones/lib/libkrb/create_ticket.c deleted file mode 100644 index e1d697419e1bc..0000000000000 --- a/eBones/lib/libkrb/create_ticket.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: create_ticket.c,v 4.11 89/03/22 14:43:23 jtkohl Exp $ - * $Id: create_ticket.c,v 1.3 1995/07/18 16:38:12 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: create_ticket.c,v 1.3 1995/07/18 16:38:12 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> -#include <des.h> -#include <krb.h> -#include <prot.h> -#include <strings.h> - -/* - * Create ticket takes as arguments information that should be in a - * ticket, and the KTEXT object in which the ticket should be - * constructed. It then constructs a ticket and returns, leaving the - * newly created ticket in tkt. - * The length of the ticket is a multiple of - * eight bytes and is in tkt->length. - * - * If the ticket is too long, the ticket will contain nulls. - * The return value of the routine is undefined. - * - * The corresponding routine to extract information from a ticket it - * decomp_ticket. When changes are made to this routine, the - * corresponding changes should also be made to that file. - * - * The packet is built in the following format: - * - * variable - * type or constant data - * ---- ----------- ---- - * - * tkt->length length of ticket (multiple of 8 bytes) - * - * tkt->dat: - * - * unsigned char flags namely, HOST_BYTE_ORDER - * - * string pname client's name - * - * string pinstance client's instance - * - * string prealm client's realm - * - * 4 bytes paddress client's address - * - * 8 bytes session session key - * - * 1 byte life ticket lifetime - * - * 4 bytes time_sec KDC timestamp - * - * string sname service's name - * - * string sinstance service's instance - * - * <=7 bytes null null pad to 8 byte multiple - * - */ - -int krb_create_ticket(tkt, flags, pname, pinstance, prealm, paddress, - session, life, time_sec, sname, sinstance, key) - KTEXT tkt; /* Gets filled in by the ticket */ - unsigned char flags; /* Various Kerberos flags */ - char *pname; /* Principal's name */ - char *pinstance; /* Principal's instance */ - char *prealm; /* Principal's authentication domain */ - long paddress; /* Net address of requesting entity */ - char *session; /* Session key inserted in ticket */ - short life; /* Lifetime of the ticket */ - long time_sec; /* Issue time and date */ - char *sname; /* Service Name */ - char *sinstance; /* Instance Name */ - C_Block key; /* Service's secret key */ -{ - Key_schedule key_s; - register char *data; /* running index into ticket */ - - tkt->length = 0; /* Clear previous data */ - flags |= HOST_BYTE_ORDER; /* ticket byte order */ - bcopy((char *) &flags,(char *) (tkt->dat),sizeof(flags)); - data = ((char *)tkt->dat) + sizeof(flags); - (void) strcpy(data, pname); - data += 1 + strlen(pname); - (void) strcpy(data, pinstance); - data += 1 + strlen(pinstance); - (void) strcpy(data, prealm); - data += 1 + strlen(prealm); - bcopy((char *) &paddress, data, 4); - data += 4; - - bcopy((char *) session, data, 8); - data += 8; - *(data++) = (char) life; - /* issue time */ - bcopy((char *) &time_sec, data, 4); - data += 4; - (void) strcpy(data, sname); - data += 1 + strlen(sname); - (void) strcpy(data, sinstance); - data += 1 + strlen(sinstance); - - /* guarantee null padded ticket to multiple of 8 bytes */ - bzero(data, 7); - tkt->length = ((data - ((char *)tkt->dat) + 7)/8)*8; - - /* Check length of ticket */ - if (tkt->length > (sizeof(KTEXT_ST) - 7)) { - bzero(tkt->dat, tkt->length); - tkt->length = 0; - return KFAILURE /* XXX */; - } - -#ifndef NOENCRYPTION - key_sched((C_Block *)key,key_s); - pcbc_encrypt((C_Block *)tkt->dat,(C_Block *)tkt->dat,(long)tkt->length, - key_s,(C_Block *)key,ENCRYPT); -#endif - return 0; -} diff --git a/eBones/lib/libkrb/debug_decl.c b/eBones/lib/libkrb/debug_decl.c deleted file mode 100644 index f548e2a0bfa97..0000000000000 --- a/eBones/lib/libkrb/debug_decl.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: debug_decl.c,v 4.5 88/10/07 06:07:49 shanzer Exp $ - * $Id: debug_decl.c,v 1.3 1995/07/18 16:38:14 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: debug_decl.c,v 1.3 1995/07/18 16:38:14 mark Exp $"; -#endif lint -#endif - -/* Declare global debugging variables. */ - -int krb_ap_req_debug = 0; -int krb_debug = 0; diff --git a/eBones/lib/libkrb/decomp_ticket.c b/eBones/lib/libkrb/decomp_ticket.c deleted file mode 100644 index 04316ad405770..0000000000000 --- a/eBones/lib/libkrb/decomp_ticket.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: decomp_ticket.c,v 4.12 89/05/16 18:44:46 jtkohl Exp $ - * $Id: decomp_ticket.c,v 1.3 1995/07/18 16:38:15 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: decomp_ticket.c,v 1.3 1995/07/18 16:38:15 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> -#include <des.h> -#include <krb.h> -#include <prot.h> -#include <strings.h> - -/* - * This routine takes a ticket and pointers to the variables that - * should be filled in based on the information in the ticket. It - * fills in values for its arguments. - * - * Note: if the client realm field in the ticket is the null string, - * then the "prealm" variable is filled in with the local realm (as - * defined by KRB_REALM). - * - * If the ticket byte order is different than the host's byte order - * (as indicated by the byte order bit of the "flags" field), then - * the KDC timestamp "time_sec" is byte-swapped. The other fields - * potentially affected by byte order, "paddress" and "session" are - * not byte-swapped. - * - * The routine returns KFAILURE if any of the "pname", "pinstance", - * or "prealm" fields is too big, otherwise it returns KSUCCESS. - * - * The corresponding routine to generate tickets is create_ticket. - * When changes are made to this routine, the corresponding changes - * should also be made to that file. - * - * See create_ticket.c for the format of the ticket packet. - */ - -int -decomp_ticket(tkt, flags, pname, pinstance, prealm, paddress, session, - life, time_sec, sname, sinstance, key, key_s) - KTEXT tkt; /* The ticket to be decoded */ - unsigned char *flags; /* Kerberos ticket flags */ - char *pname; /* Authentication name */ - char *pinstance; /* Principal's instance */ - char *prealm; /* Principal's authentication domain */ - unsigned long *paddress; /* Net address of entity - * requesting ticket */ - C_Block session; /* Session key inserted in ticket */ - int *life; /* Lifetime of the ticket */ - unsigned long *time_sec; /* Issue time and date */ - char *sname; /* Service name */ - char *sinstance; /* Service instance */ - C_Block key; /* Service's secret key - * (to decrypt the ticket) */ - Key_schedule key_s; /* The precomputed key schedule */ -{ - static int tkt_swap_bytes; - unsigned char *uptr; - char *ptr = (char *)tkt->dat; - -#ifndef NOENCRYPTION - pcbc_encrypt((C_Block *)tkt->dat,(C_Block *)tkt->dat,(long)tkt->length, - key_s,(C_Block *)key,DECRYPT); -#endif /* ! NOENCRYPTION */ - - *flags = *ptr; /* get flags byte */ - ptr += sizeof(*flags); - tkt_swap_bytes = 0; - if (HOST_BYTE_ORDER != ((*flags >> K_FLAG_ORDER)& 1)) - tkt_swap_bytes++; - - if (strlen(ptr) > ANAME_SZ) - return(KFAILURE); - (void) strcpy(pname,ptr); /* pname */ - ptr += strlen(pname) + 1; - - if (strlen(ptr) > INST_SZ) - return(KFAILURE); - (void) strcpy(pinstance,ptr); /* instance */ - ptr += strlen(pinstance) + 1; - - if (strlen(ptr) > REALM_SZ) - return(KFAILURE); - (void) strcpy(prealm,ptr); /* realm */ - ptr += strlen(prealm) + 1; - /* temporary hack until realms are dealt with properly */ - if (*prealm == 0) - (void) strcpy(prealm,KRB_REALM); - - bcopy(ptr,(char *)paddress,4); /* net address */ - ptr += 4; - - bcopy(ptr,(char *)session,8); /* session key */ - ptr+= 8; -#ifdef notdef /* DONT SWAP SESSION KEY spm 10/22/86 */ - if (tkt_swap_bytes) - swap_C_Block(session); -#endif - - /* get lifetime, being certain we don't get negative lifetimes */ - uptr = (unsigned char *) ptr++; - *life = (int) *uptr; - - bcopy(ptr,(char *) time_sec,4); /* issue time */ - ptr += 4; - if (tkt_swap_bytes) - swap_u_long(*time_sec); - - (void) strcpy(sname,ptr); /* service name */ - ptr += 1 + strlen(sname); - - (void) strcpy(sinstance,ptr); /* instance */ - ptr += 1 + strlen(sinstance); - return(KSUCCESS); -} diff --git a/eBones/lib/libkrb/des_rw.c b/eBones/lib/libkrb/des_rw.c deleted file mode 100644 index e7e867a20c78f..0000000000000 --- a/eBones/lib/libkrb/des_rw.c +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Copyright (c) 1994 Geoffrey M. Rehmet, Rhodes University - * All rights reserved. - * - * This code is derived from a specification based on software - * which forms part of the 4.4BSD-Lite distribution, which was developed - * by the University of California and its contributors. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the entire comment, - * including the above copyright notice, this list of conditions - * and the following disclaimer, verbatim, at the beginning of - * the source file. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Geoffrey M. Rehmet - * 4. Neither the name of Geoffrey M. Rehmet nor that of Rhodes University - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL GEOFFREY M. REHMET OR RHODES UNIVERSITY BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id: des_rw.c,v 1.4 1995/09/07 21:37:50 markm Exp $ - */ - -/* - * - * NB: THESE ROUTINES WILL FAIL IF NON-BLOCKING I/O IS USED. - * - */ - -/* - * Routines for reading and writing DES encrypted messages onto sockets. - * (These routines will fail if non-blocking I/O is used.) - * - * When a message is written, its length is first transmitted as an int, - * in network byte order. The encrypted message is then transmitted, - * to a multiple of 8 bytes. Messages shorter than 8 bytes are right - * justified into a buffer of length 8 bytes, and the remainder of the - * buffer is filled with random garbage (before encryption): - * - * DDD -------->--+--------+ - * | | - * +--+--+--+--+--+--+--+--+ - * |x |x |x |x |x |D |D |D | - * +--+--+--+--+--+--+--+--+ - * | garbage | data | - * | | - * +-----------------------+----> des_pcbc_encrypt() --> - * - * (Note that the length field sent before the actual message specifies - * the number of data bytes, not the length of the entire padded message. - * - * When data is read, if the message received is longer than the number - * of bytes requested, then the remaining bytes are stored until the - * following call to des_read(). If the number of bytes received is - * less then the number of bytes received, then only the number of bytes - * actually received is returned. - * - * This interface corresponds with the original des_rw.c, except for the - * bugs in des_read() in the original 4.4BSD version. (One bug is - * normally not visible, due to undocumented behaviour of - * des_pcbc_encrypt() in the original MIT libdes.) - * - * XXX Todo: - * 1) Give better error returns on writes - * 2) Improve error checking on reads - * 3) Get rid of need for extern decl. of krb_net_read() - * 4) Tidy garbage generation a bit - * 5) Make the above comment more readable - */ - -#ifdef CRYPT -#ifdef KERBEROS - -#ifndef BUFFER_LEN -#define BUFFER_LEN 10240 -#endif - -#include <stdlib.h> -#include <string.h> -#include <time.h> -#include <unistd.h> - -#include <sys/param.h> -#include <sys/types.h> - -#include <des.h> -#include <krb.h> - -static des_cblock des_key; -static des_key_schedule key_schedule; - -/* - * Buffer for storing extra data when more data is received, then was - * actually requested in des_read(). - */ -static u_char des_buff[BUFFER_LEN]; -static u_char buffer[BUFFER_LEN]; -static unsigned stored = 0; -static u_char *buff_ptr = buffer; - -/* - * Set the encryption key for des_read() and des_write(). - * inkey is the initial vector for the DES encryption, while insched is - * the DES key, in unwrapped form. - */ - -int -des_set_key_krb(inkey, insched) - des_cblock *inkey; - des_key_schedule insched; -{ - bcopy(inkey, des_key, sizeof(des_cblock)); - bcopy(insched, &key_schedule, sizeof(des_key_schedule)); - return 0; -} - -/* - * Clear the key schedule, and initial vector, which were previously - * stored in static vars by des_set_key(). - */ -void -des_clear_key_krb() -{ - bzero(&des_key, sizeof(des_cblock)); - bzero(&key_schedule, sizeof(des_key_schedule)); -} - -int -des_read(fd, buf, len) - int fd; - register char * buf; - int len; -{ - int msg_length; /* length of actual message data */ - int pad_length; /* length of padded message */ - int nread; /* number of bytes actually read */ - int nreturned = 0; - - if(stored >= len) { - bcopy(buff_ptr, buf, len); - stored -= len; - buff_ptr += len; - return(len); - } else { - if (stored) { - bcopy(buff_ptr, buf, stored); - nreturned = stored; - len -= stored; - stored = 0; - buff_ptr = buffer; - } else { - nreturned = 0; - buff_ptr = buffer; - } - } - - nread = krb_net_read(fd, (char *)&msg_length, sizeof(msg_length)); - if(nread != (int)(sizeof(msg_length))) - return(0); - - msg_length = ntohl(msg_length); - pad_length = roundup(msg_length, 8); - - nread = krb_net_read(fd, des_buff, pad_length); - if(nread != pad_length) - return(0); - - des_pcbc_encrypt((des_cblock*) des_buff, (des_cblock*) buff_ptr, - (msg_length < 8 ? 8 : msg_length), - key_schedule, (des_cblock*) &des_key, DES_DECRYPT); - - - if(msg_length < 8) - buff_ptr += (8 - msg_length); - stored = msg_length; - - if(stored >= len) { - bcopy(buff_ptr, buf, len); - stored -= len; - buff_ptr += len; - nreturned += len; - } else { - bcopy(buff_ptr, buf, stored); - nreturned += stored; - stored = 0; - } - - return(nreturned); -} - - -/* - * Write a message onto a file descriptor (generally a socket), using - * DES to encrypt the message. - */ -int -des_write(fd, buf, len) - int fd; - char * buf; - int len; -{ - static int seeded = 0; - char garbage[8]; - long rnd; - int pad_len; - int write_len; - int i; - char *data; - - if(len < 8) { - /* - * Right justify the message in 8 bytes of random garbage. - */ - if(!seeded) { - seeded = 1; - srandom((unsigned)time(NULL)); - } - - for(i = 0 ; i < 8 ; i+= sizeof(long)) { - rnd = random(); - bcopy(&rnd, garbage+i, - (i <= (8 - sizeof(long)))?sizeof(long):(8-i)); - } - bcopy(buf, garbage + 8 - len, len); - data = garbage; - pad_len = 8; - } else { - data = buf; - pad_len = roundup(len, 8); - } - - des_pcbc_encrypt((des_cblock*) data, (des_cblock*) des_buff, - (len < 8)?8:len, key_schedule, (des_cblock*) &des_key, DES_ENCRYPT); - - - write_len = htonl(len); - if(write(fd, &write_len, sizeof(write_len)) != sizeof(write_len)) - return(-1); - if(write(fd, des_buff, pad_len) != pad_len) - return(-1); - - return(len); -} - -#endif /* KERBEROS */ -#endif /* CRYPT */ diff --git a/eBones/lib/libkrb/dest_tkt.c b/eBones/lib/libkrb/dest_tkt.c deleted file mode 100644 index df04be0d08bd5..0000000000000 --- a/eBones/lib/libkrb/dest_tkt.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: dest_tkt.c,v 4.9 89/10/02 16:23:07 jtkohl Exp $ - * $Id: dest_tkt.c,v 1.3 1995/07/18 16:38:19 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: dest_tkt.c,v 1.3 1995/07/18 16:38:19 mark Exp $"; -#endif /* lint */ -#endif - -#include <unistd.h> -#include <stdio.h> -#include <string.h> -#include <krb.h> -#include <sys/file.h> -#include <sys/types.h> -#include <sys/stat.h> -#ifdef TKT_SHMEM -#include <sys/param.h> -#endif -#include <errno.h> - -/* - * dest_tkt() is used to destroy the ticket store upon logout. - * If the ticket file does not exist, dest_tkt() returns RET_TKFIL. - * Otherwise the function returns RET_OK on success, KFAILURE on - * failure. - * - * The ticket file (TKT_FILE) is defined in "krb.h". - */ - -int -dest_tkt() -{ - char *file = TKT_FILE; - int i,fd; - extern int errno; - struct stat statb; - char buf[BUFSIZ]; -#ifdef TKT_SHMEM - char shmidname[MAXPATHLEN]; -#endif /* TKT_SHMEM */ - - errno = 0; - if (lstat(file,&statb) < 0) - goto out; - - if (!(statb.st_mode & S_IFREG) -#ifdef notdef - || statb.st_mode & 077 -#endif - ) - goto out; - - if ((fd = open(file, O_RDWR, 0)) < 0) - goto out; - - bzero(buf, BUFSIZ); - - for (i = 0; i < statb.st_size; i += BUFSIZ) - if (write(fd, buf, BUFSIZ) != BUFSIZ) { - (void) fsync(fd); - (void) close(fd); - goto out; - } - - (void) fsync(fd); - (void) close(fd); - - (void) unlink(file); - -out: - if (errno == ENOENT) return RET_TKFIL; - else if (errno != 0) return KFAILURE; -#ifdef TKT_SHMEM - /* - * handle the shared memory case - */ - (void) strcpy(shmidname, file); - (void) strcat(shmidname, ".shm"); - if ((i = krb_shm_dest(shmidname)) != KSUCCESS) - return(i); -#endif /* TKT_SHMEM */ - return(KSUCCESS); -} diff --git a/eBones/lib/libkrb/extract_ticket.c b/eBones/lib/libkrb/extract_ticket.c deleted file mode 100644 index 8ad3097ee9292..0000000000000 --- a/eBones/lib/libkrb/extract_ticket.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: extract_ticket.c,v 4.6 88/10/07 06:08:15 shanzer Exp $ - * $Id: extract_ticket.c,v 1.3 1995/07/18 16:38:21 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: extract_ticket.c,v 1.3 1995/07/18 16:38:21 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> -#include <strings.h> - -/* - * This routine is obsolete. - * - * This routine accepts the ciphertext returned by kerberos and - * extracts the nth ticket. It also fills in the variables passed as - * session, liftime and kvno. - */ - -void -extract_ticket(cipher,n,session,lifetime,kvno,realm,ticket) - KTEXT cipher; /* The ciphertext */ - int n; /* Which ticket */ - char *session; /* The session key for this tkt */ - int *lifetime; /* The life of this ticket */ - int *kvno; /* The kvno for the service */ - char *realm; /* Realm in which tkt issued */ - KTEXT ticket; /* The ticket itself */ -{ - char *ptr; - int i; - - /* Start after the ticket lengths */ - ptr = (char *) cipher->dat; - ptr = ptr + 1 + (int) *(cipher->dat); - - /* Step through earlier tickets */ - for (i = 1; i < n; i++) - ptr = ptr + 11 + strlen(ptr+10) + (int) *(cipher->dat+i); - bcopy(ptr, (char *) session, 8); /* Save the session key */ - ptr += 8; - *lifetime = *(ptr++); /* Save the life of the ticket */ - *kvno = *(ptr++); /* Save the kvno */ - (void) strcpy(realm,ptr); /* instance */ - ptr += strlen(realm) + 1; - - /* Save the ticket if its length is non zero */ - ticket->length = *(cipher->dat+n); - if (ticket->length) - bcopy(ptr, (char *) (ticket->dat), ticket->length); -} diff --git a/eBones/lib/libkrb/fgetst.c b/eBones/lib/libkrb/fgetst.c deleted file mode 100644 index 796caca7ff746..0000000000000 --- a/eBones/lib/libkrb/fgetst.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: fgetst.c,v 4.0 89/01/23 10:08:31 jtkohl Exp $ - * $Id: fgetst.c,v 1.3 1995/07/18 16:38:23 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: fgetst.c,v 1.3 1995/07/18 16:38:23 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> - -/* - * fgetst takes a file descriptor, a character pointer, and a count. - * It reads from the file it has either read "count" characters, or - * until it reads a null byte. When finished, what has been read exists - * in "s". If "count" characters were actually read, the last is changed - * to a null, so the returned string is always null-terminated. fgetst - * returns the number of characters read, including the null terminator. - */ - -int -fgetst(f, s, n) - FILE *f; - register char *s; - int n; -{ - register int count = n; - int ch; /* NOT char; otherwise you don't see EOF */ - - while ((ch = getc(f)) != EOF && ch && --count) { - *s++ = ch; - } - *s = '\0'; - return (n - count); -} diff --git a/eBones/lib/libkrb/get_ad_tkt.c b/eBones/lib/libkrb/get_ad_tkt.c deleted file mode 100644 index f96644a0a8179..0000000000000 --- a/eBones/lib/libkrb/get_ad_tkt.c +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Copyright 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_ad_tkt.c,v 4.15 89/07/07 15:18:51 jtkohl Exp $ - * $Id: get_ad_tkt.c,v 1.3 1995/07/18 16:38:25 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: get_ad_tkt.c,v 1.3 1995/07/18 16:38:25 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <des.h> -#include <prot.h> -#include <strings.h> - -#include <stdio.h> -#include <errno.h> - -/* use the bsd time.h struct defs for PC too! */ -#include <sys/time.h> -#include <sys/types.h> - -extern int krb_debug; - -struct timeval tt_local = { 0, 0 }; - -int swap_bytes; -unsigned long rep_err_code; - -/* - * get_ad_tkt obtains a new service ticket from Kerberos, using - * the ticket-granting ticket which must be in the ticket file. - * It is typically called by krb_mk_req() when the client side - * of an application is creating authentication information to be - * sent to the server side. - * - * get_ad_tkt takes four arguments: three pointers to strings which - * contain the name, instance, and realm of the service for which the - * ticket is to be obtained; and an integer indicating the desired - * lifetime of the ticket. - * - * It returns an error status if the ticket couldn't be obtained, - * or AD_OK if all went well. The ticket is stored in the ticket - * cache. - * - * The request sent to the Kerberos ticket-granting service looks - * like this: - * - * pkt->dat - * - * TEXT original contents of authenticator+ticket - * pkt->dat built in krb_mk_req call - * - * 4 bytes time_ws always 0 (?) - * char lifetime lifetime argument passed - * string service service name argument - * string sinstance service instance arg. - * - * See "prot.h" for the reply packet layout and definitions of the - * extraction macros like pkt_version(), pkt_msg_type(), etc. - */ - -int -get_ad_tkt(service,sinstance,realm,lifetime) - char *service; - char *sinstance; - char *realm; - int lifetime; -{ - static KTEXT_ST pkt_st; - KTEXT pkt = & pkt_st; /* Packet to KDC */ - static KTEXT_ST rpkt_st; - KTEXT rpkt = &rpkt_st; /* Returned packet */ - static KTEXT_ST cip_st; - KTEXT cip = &cip_st; /* Returned Ciphertext */ - static KTEXT_ST tkt_st; - KTEXT tkt = &tkt_st; /* Current ticket */ - C_Block ses; /* Session key for tkt */ - CREDENTIALS cr; - int kvno; /* Kvno for session key */ - char lrealm[REALM_SZ]; - C_Block key; /* Key for decrypting cipher */ - Key_schedule key_s; - long time_ws = 0; - - char s_name[SNAME_SZ]; - char s_instance[INST_SZ]; - int msg_byte_order; - int kerror; - char rlm[REALM_SZ]; - char *ptr; - - unsigned long kdc_time; /* KDC time */ - - if ((kerror = krb_get_tf_realm(TKT_FILE, lrealm)) != KSUCCESS) - return(kerror); - - /* Create skeleton of packet to be sent */ - (void) gettimeofday(&tt_local,(struct timezone *) 0); - - pkt->length = 0; - - /* - * Look for the session key (and other stuff we don't need) - * in the ticket file for krbtgt.realm@lrealm where "realm" - * is the service's realm (passed in "realm" argument) and - * lrealm is the realm of our initial ticket. If we don't - * have this, we will try to get it. - */ - - if ((kerror = krb_get_cred("krbtgt",realm,lrealm,&cr)) != KSUCCESS) { - /* - * If realm == lrealm, we have no hope, so let's not even try. - */ - if ((strncmp(realm, lrealm, REALM_SZ)) == 0) - return(AD_NOTGT); - else{ - if ((kerror = - get_ad_tkt("krbtgt",realm,lrealm,lifetime)) != KSUCCESS) - return(kerror); - if ((kerror = krb_get_cred("krbtgt",realm,lrealm,&cr)) != KSUCCESS) - return(kerror); - } - } - - /* - * Make up a request packet to the "krbtgt.realm@lrealm". - * Start by calling krb_mk_req() which puts ticket+authenticator - * into "pkt". Then tack other stuff on the end. - */ - - kerror = krb_mk_req(pkt,"krbtgt",realm,lrealm,0L); - - if (kerror) - return(AD_NOTGT); - - /* timestamp */ - bcopy((char *) &time_ws,(char *) (pkt->dat+pkt->length),4); - pkt->length += 4; - *(pkt->dat+(pkt->length)++) = (char) lifetime; - (void) strcpy((char *) (pkt->dat+pkt->length),service); - pkt->length += 1 + strlen(service); - (void) strcpy((char *)(pkt->dat+pkt->length),sinstance); - pkt->length += 1 + strlen(sinstance); - - rpkt->length = 0; - - /* Send the request to the local ticket-granting server */ - if ((kerror = send_to_kdc(pkt, rpkt, realm))) return(kerror); - - /* check packet version of the returned packet */ - if (pkt_version(rpkt) != KRB_PROT_VERSION ) - return(INTK_PROT); - - /* Check byte order */ - msg_byte_order = pkt_msg_type(rpkt) & 1; - swap_bytes = 0; - if (msg_byte_order != HOST_BYTE_ORDER) - swap_bytes++; - - switch (pkt_msg_type(rpkt) & ~1) { - case AUTH_MSG_KDC_REPLY: - break; - case AUTH_MSG_ERR_REPLY: - bcopy(pkt_err_code(rpkt), (char *) &rep_err_code, 4); - if (swap_bytes) - swap_u_long(rep_err_code); - return(rep_err_code); - - default: - return(INTK_PROT); - } - - /* Extract the ciphertext */ - cip->length = pkt_clen(rpkt); /* let clen do the swap */ - - bcopy((char *) pkt_cipher(rpkt),(char *) (cip->dat),cip->length); - -#ifndef NOENCRYPTION - key_sched((C_Block *)cr.session,key_s); - pcbc_encrypt((C_Block *)cip->dat,(C_Block *)cip->dat,(long)cip->length, - key_s,(C_Block *)cr.session,DECRYPT); -#endif - /* Get rid of all traces of key */ - bzero((char *) cr.session, sizeof(key)); - bzero((char *) key_s, sizeof(key_s)); - - ptr = (char *) cip->dat; - - bcopy(ptr,(char *)ses,8); - ptr += 8; - - (void) strcpy(s_name,ptr); - ptr += strlen(s_name) + 1; - - (void) strcpy(s_instance,ptr); - ptr += strlen(s_instance) + 1; - - (void) strcpy(rlm,ptr); - ptr += strlen(rlm) + 1; - - lifetime = (unsigned long) ptr[0]; - kvno = (unsigned long) ptr[1]; - tkt->length = (int) ptr[2]; - ptr += 3; - bcopy(ptr,(char *)(tkt->dat),tkt->length); - ptr += tkt->length; - - if (strcmp(s_name, service) || strcmp(s_instance, sinstance) || - strcmp(rlm, realm)) /* not what we asked for */ - return(INTK_ERR); /* we need a better code here XXX */ - - /* check KDC time stamp */ - bcopy(ptr,(char *)&kdc_time,4); /* Time (coarse) */ - if (swap_bytes) swap_u_long(kdc_time); - - ptr += 4; - - (void) gettimeofday(&tt_local,(struct timezone *) 0); - if (abs((int)(tt_local.tv_sec - kdc_time)) > CLOCK_SKEW) { - return(RD_AP_TIME); /* XXX should probably be better - code */ - } - - if ((kerror = save_credentials(s_name,s_instance,rlm,ses,lifetime, - kvno,tkt,tt_local.tv_sec))) - return(kerror); - - return(AD_OK); -} diff --git a/eBones/lib/libkrb/get_admhst.c b/eBones/lib/libkrb/get_admhst.c deleted file mode 100644 index a01a40ff3ea5d..0000000000000 --- a/eBones/lib/libkrb/get_admhst.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_admhst.c,v 4.0 89/01/23 10:08:55 jtkohl Exp $ - * $Id: get_admhst.c,v 1.3 1995/07/18 16:38:27 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: get_admhst.c,v 1.3 1995/07/18 16:38:27 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> -#include <krb.h> -#include <string.h> - -/* - * Given a Kerberos realm, find a host on which the Kerberos database - * administration server can be found. - * - * krb_get_admhst takes a pointer to be filled in, a pointer to the name - * of the realm for which a server is desired, and an integer n, and - * returns (in h) the nth administrative host entry from the configuration - * file (KRB_CONF, defined in "krb.h") associated with the specified realm. - * - * On error, get_admhst returns KFAILURE. If all goes well, the routine - * returns KSUCCESS. - * - * For the format of the KRB_CONF file, see comments describing the routine - * krb_get_krbhst(). - * - * This is a temporary hack to allow us to find the nearest system running - * a Kerberos admin server. In the long run, this functionality will be - * provided by a nameserver. - */ - -int -krb_get_admhst(h, r, n) - char *h; - char *r; - int n; -{ - FILE *cnffile; - char tr[REALM_SZ]; - char linebuf[BUFSIZ]; - char scratch[64]; - register int i; - - if ((cnffile = fopen(KRB_CONF,"r")) == NULL) { - return(KFAILURE); - } - if (fgets(linebuf, BUFSIZ, cnffile) == NULL) { - /* error reading */ - (void) fclose(cnffile); - return(KFAILURE); - } - if (!index(linebuf, '\n')) { - /* didn't all fit into buffer, punt */ - (void) fclose(cnffile); - return(KFAILURE); - } - for (i = 0; i < n; ) { - /* run through the file, looking for admin host */ - if (fgets(linebuf, BUFSIZ, cnffile) == NULL) { - (void) fclose(cnffile); - return(KFAILURE); - } - /* need to scan for a token after 'admin' to make sure that - admin matched correctly */ - if (sscanf(linebuf, "%s %s admin %s", tr, h, scratch) != 3) - continue; - if (!strcmp(tr,r)) - i++; - } - (void) fclose(cnffile); - return(KSUCCESS); -} diff --git a/eBones/lib/libkrb/get_cred.c b/eBones/lib/libkrb/get_cred.c deleted file mode 100644 index 60233867ebd5e..0000000000000 --- a/eBones/lib/libkrb/get_cred.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_cred.c,v 4.10 89/05/31 17:46:22 jtkohl Exp $ - * $Id: get_cred.c,v 1.3 1995/07/18 16:38:28 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: get_cred.c,v 1.3 1995/07/18 16:38:28 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> -#include <krb.h> - -/* - * krb_get_cred takes a service name, instance, and realm, and a - * structure of type CREDENTIALS to be filled in with ticket - * information. It then searches the ticket file for the appropriate - * ticket and fills in the structure with the corresponding - * information from the file. If successful, it returns KSUCCESS. - * On failure it returns a Kerberos error code. - */ - -int -krb_get_cred(service,instance,realm,c) - char *service; /* Service name */ - char *instance; /* Instance */ - char *realm; /* Auth domain */ - CREDENTIALS *c; /* Credentials struct */ -{ - int tf_status; /* return value of tf function calls */ - - /* Open ticket file and lock it for shared reading */ - if ((tf_status = tf_init(TKT_FILE, R_TKT_FIL)) != KSUCCESS) - return(tf_status); - - /* Copy principal's name and instance into the CREDENTIALS struc c */ - - if ( (tf_status = tf_get_pname(c->pname)) != KSUCCESS || - (tf_status = tf_get_pinst(c->pinst)) != KSUCCESS ) - return (tf_status); - - /* Search for requested service credentials and copy into c */ - - while ((tf_status = tf_get_cred(c)) == KSUCCESS) { - /* Is this the right ticket? */ - if ((strcmp(c->service,service) == 0) && - (strcmp(c->instance,instance) == 0) && - (strcmp(c->realm,realm) == 0)) - break; - } - (void) tf_close(); - - if (tf_status == EOF) - return (GC_NOTKT); - return(tf_status); -} diff --git a/eBones/lib/libkrb/get_in_tkt.c b/eBones/lib/libkrb/get_in_tkt.c deleted file mode 100644 index b95f073280487..0000000000000 --- a/eBones/lib/libkrb/get_in_tkt.c +++ /dev/null @@ -1,286 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_in_tkt.c,v 4.12 89/07/18 16:32:56 jtkohl Exp $ - * $Id: get_in_tkt.c,v 1.3 1995/07/18 16:38:30 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: get_in_tkt.c,v 1.3 1995/07/18 16:38:30 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> - -#ifndef NULL -#define NULL 0 -#endif - -/* - * This file contains two routines: passwd_to_key() converts - * a password into a DES key (prompting for the password if - * not supplied), and krb_get_pw_in_tkt() gets an initial ticket for - * a user. - */ - -/* - * passwd_to_key(): given a password, return a DES key. - * There are extra arguments here which (used to be?) - * used by srvtab_to_key(). - * - * If the "passwd" argument is not null, generate a DES - * key from it, using string_to_key(). - * - * If the "passwd" argument is null, call des_read_password() - * to prompt for a password and then convert it into a DES key. - * - * In either case, the resulting key is put in the "key" argument, - * and 0 is returned. - */ - -/*ARGSUSED */ -static int passwd_to_key(user,instance,realm,passwd,key) - char *user, *instance, *realm, *passwd; - C_Block *key; -{ -#ifdef NOENCRYPTION - if (!passwd) - placebo_read_password(key, "Password: ", 0); -#else - if (passwd) - string_to_key(passwd,key); - else - des_read_password(key,"Password: ",0); -#endif - return (0); -} - -/* - * krb_get_pw_in_tkt() takes the name of the server for which the initial - * ticket is to be obtained, the name of the principal the ticket is - * for, the desired lifetime of the ticket, and the user's password. - * It passes its arguments on to krb_get_in_tkt(), which contacts - * Kerberos to get the ticket, decrypts it using the password provided, - * and stores it away for future use. - * - * krb_get_pw_in_tkt() passes two additional arguments to krb_get_in_tkt(): - * the name of a routine (passwd_to_key()) to be used to get the - * password in case the "password" argument is null and NULL for the - * decryption procedure indicating that krb_get_in_tkt should use the - * default method of decrypting the response from the KDC. - * - * The result of the call to krb_get_in_tkt() is returned. - */ - -int -krb_get_pw_in_tkt(user,instance,realm,service,sinstance,life,password) - char *user, *instance, *realm, *service, *sinstance; - int life; - char *password; -{ - return(krb_get_in_tkt(user,instance,realm,service,sinstance,life, - passwd_to_key, NULL, password)); -} - -#ifdef NOENCRYPTION -/* - * $Source: /usr/cvs/src/eBones/krb/get_in_tkt.c,v $ - * $Author: mark $ - * - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * - * For copying and distribution information, please see the file - * <mit-copyright.h>. - * - * This routine prints the supplied string to standard - * output as a prompt, and reads a password string without - * echoing. - */ - -#include <des.h> -#include "conf.h" - -#include <stdio.h> -#ifdef BSDUNIX -#include <strings.h> -#include <sys/ioctl.h> -#include <signal.h> -#include <setjmp.h> -#else -/* char *strcpy(); -int strcmp(); */ -#endif - -#ifdef BSDUNIX -static jmp_buf env; -#endif - -#ifdef BSDUNIX -static void sig_restore(); -static push_signals(), pop_signals(); -int placebo_read_pw_string(); -#endif - -/*** Routines ****************************************************** */ -int -placebo_read_password(k,prompt,verify) - des_cblock *k; - char *prompt; - int verify; -{ - int ok; - char key_string[BUFSIZ]; - -#ifdef BSDUNIX - if (setjmp(env)) { - ok = -1; - goto lose; - } -#endif - - ok = placebo_read_pw_string(key_string, BUFSIZ, prompt, verify); - if (ok == 0) - bzero(k, sizeof(C_Block)); - -lose: - bzero(key_string, sizeof (key_string)); - return ok; -} - -/* - * This version just returns the string, doesn't map to key. - * - * Returns 0 on success, non-zero on failure. - */ - -int -placebo_read_pw_string(s,max,prompt,verify) - char *s; - int max; - char *prompt; - int verify; -{ - int ok = 0; - char *ptr; - -#ifdef BSDUNIX - jmp_buf old_env; - struct sgttyb tty_state; -#endif - char key_string[BUFSIZ]; - - if (max > BUFSIZ) { - return -1; - } - -#ifdef BSDUNIX - bcopy(old_env, env, sizeof(env)); - if (setjmp(env)) - goto lose; - - /* save terminal state*/ - if (ioctl(0,TIOCGETP,&tty_state) == -1) - return -1; - - push_signals(); - /* Turn off echo */ - tty_state.sg_flags &= ~ECHO; - if (ioctl(0,TIOCSETP,&tty_state) == -1) - return -1; -#endif - while (!ok) { - printf(prompt); - fflush(stdout); -#ifdef CROSSMSDOS - h19line(s,sizeof(s),0); - if (!strlen(s)) - continue; -#else - if (!fgets(s, max, stdin)) { - clearerr(stdin); - continue; - } - if ((ptr = index(s, '\n'))) - *ptr = '\0'; -#endif - if (verify) { - printf("\nVerifying, please re-enter %s",prompt); - fflush(stdout); -#ifdef CROSSMSDOS - h19line(key_string,sizeof(key_string),0); - if (!strlen(key_string)) - continue; -#else - if (!fgets(key_string, sizeof(key_string), stdin)) { - clearerr(stdin); - continue; - } - if ((ptr = index(key_string, '\n'))) - *ptr = '\0'; -#endif - if (strcmp(s,key_string)) { - printf("\n\07\07Mismatch - try again\n"); - fflush(stdout); - continue; - } - } - ok = 1; - } - -#ifdef BSDUNIX -lose: - if (!ok) - bzero(s, max); - printf("\n"); - /* turn echo back on */ - tty_state.sg_flags |= ECHO; - if (ioctl(0,TIOCSETP,&tty_state)) - ok = 0; - pop_signals(); - bcopy(env, old_env, sizeof(env)); -#endif - if (verify) - bzero(key_string, sizeof (key_string)); - s[max-1] = 0; /* force termination */ - return !ok; /* return nonzero if not okay */ -} - -#ifdef BSDUNIX -/* - * this can be static since we should never have more than - * one set saved.... - */ -#ifdef POSIX -static void (*old_sigfunc[NSIG])(); -#else -static int (*old_sigfunc[NSIG])(); -#endif POSIX - -static push_signals() -{ - register i; - for (i = 0; i < NSIG; i++) - old_sigfunc[i] = signal(i,sig_restore); -} - -static pop_signals() -{ - register i; - for (i = 0; i < NSIG; i++) - signal(i,old_sigfunc[i]); -} - -static void sig_restore(sig,code,scp) - int sig,code; - struct sigcontext *scp; -{ - longjmp(env,1); -} -#endif -#endif /* NOENCRYPTION */ diff --git a/eBones/lib/libkrb/get_krbhst.c b/eBones/lib/libkrb/get_krbhst.c deleted file mode 100644 index cfc6e1cb70727..0000000000000 --- a/eBones/lib/libkrb/get_krbhst.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_krbhst.c,v 4.8 89/01/22 20:00:29 rfrench Exp $ - * $Id: get_krbhst.c,v 1.3 1995/07/18 16:38:32 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: get_krbhst.c,v 1.3 1995/07/18 16:38:32 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> -#include <krb.h> -#include <strings.h> - -/* - * Given a Kerberos realm, find a host on which the Kerberos authenti- - * cation server can be found. - * - * krb_get_krbhst takes a pointer to be filled in, a pointer to the name - * of the realm for which a server is desired, and an integer, n, and - * returns (in h) the nth entry from the configuration file (KRB_CONF, - * defined in "krb.h") associated with the specified realm. - * - * On end-of-file, krb_get_krbhst returns KFAILURE. If n=1 and the - * configuration file does not exist, krb_get_krbhst will return KRB_HOST - * (also defined in "krb.h"). If all goes well, the routine returnes - * KSUCCESS. - * - * The KRB_CONF file contains the name of the local realm in the first - * line (not used by this routine), followed by lines indicating realm/host - * entries. The words "admin server" following the hostname indicate that - * the host provides an administrative database server. - * - * For example: - * - * ATHENA.MIT.EDU - * ATHENA.MIT.EDU kerberos-1.mit.edu admin server - * ATHENA.MIT.EDU kerberos-2.mit.edu - * LCS.MIT.EDU kerberos.lcs.mit.edu admin server - * - * This is a temporary hack to allow us to find the nearest system running - * kerberos. In the long run, this functionality will be provided by a - * nameserver. - */ - -int -krb_get_krbhst(h,r,n) - char *h; - char *r; - int n; -{ - FILE *cnffile; - char tr[REALM_SZ]; - char linebuf[BUFSIZ]; - register int i; - - if ((cnffile = fopen(KRB_CONF,"r")) == NULL) { - if (n==1) { - (void) strcpy(h,KRB_HOST); - return(KSUCCESS); - } - else - return(KFAILURE); - } - if (fscanf(cnffile,"%s",tr) == EOF) - return(KFAILURE); - /* run through the file, looking for the nth server for this realm */ - for (i = 1; i <= n;) { - if (fgets(linebuf, BUFSIZ, cnffile) == NULL) { - (void) fclose(cnffile); - return(KFAILURE); - } - if (sscanf(linebuf, "%s %s", tr, h) != 2) - continue; - if (!strcmp(tr,r)) - i++; - } - (void) fclose(cnffile); - return(KSUCCESS); -} diff --git a/eBones/lib/libkrb/get_krbrlm.c b/eBones/lib/libkrb/get_krbrlm.c deleted file mode 100644 index a4803e5a20179..0000000000000 --- a/eBones/lib/libkrb/get_krbrlm.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_krbrlm.c,v 4.8 89/01/22 20:02:54 rfrench Exp $ - * $Id: get_krbrlm.c,v 1.3 1995/07/18 16:38:34 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: get_krbrlm.c,v 1.3 1995/07/18 16:38:34 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> -#include <krb.h> -#include <strings.h> - -/* - * krb_get_lrealm takes a pointer to a string, and a number, n. It fills - * in the string, r, with the name of the nth realm specified on the - * first line of the kerberos config file (KRB_CONF, defined in "krb.h"). - * It returns 0 (KSUCCESS) on success, and KFAILURE on failure. If the - * config file does not exist, and if n=1, a successful return will occur - * with r = KRB_REALM (also defined in "krb.h"). - * - * NOTE: for archaic & compatibility reasons, this routine will only return - * valid results when n = 1. - * - * For the format of the KRB_CONF file, see comments describing the routine - * krb_get_krbhst(). - */ - -int -krb_get_lrealm(r,n) - char *r; - int n; -{ - FILE *cnffile, *fopen(); - - if (n > 1) - return(KFAILURE); /* Temporary restriction */ - - if ((cnffile = fopen(KRB_CONF, "r")) == NULL) { - if (n == 1) { - (void) strcpy(r, KRB_REALM); - return(KSUCCESS); - } - else - return(KFAILURE); - } - - if (fscanf(cnffile,"%s",r) != 1) { - (void) fclose(cnffile); - return(KFAILURE); - } - (void) fclose(cnffile); - return(KSUCCESS); -} diff --git a/eBones/lib/libkrb/get_phost.c b/eBones/lib/libkrb/get_phost.c deleted file mode 100644 index cd83b2d2a1202..0000000000000 --- a/eBones/lib/libkrb/get_phost.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_phost.c,v 4.6 89/01/23 09:25:40 jtkohl Exp $ - * $Id: get_phost.c,v 1.3 1995/07/18 16:38:35 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: get_phost.c,v 1.3 1995/07/18 16:38:35 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> -#include <ctype.h> -#include <netdb.h> - -char *index(); - -/* - * This routine takes an alias for a host name and returns the first - * field, lower case, of its domain name. For example, if "menel" is - * an alias for host officially named "menelaus" (in /etc/hosts), for - * the host whose official name is "MENELAUS.MIT.EDU", the name "menelaus" - * is returned. - * - * This is done for historical Athena reasons: the Kerberos name of - * rcmd servers (rlogin, rsh, rcp) is of the form "rcmd.host@realm" - * where "host"is the lowercase for of the host name ("menelaus"). - * This should go away: the instance should be the domain name - * (MENELAUS.MIT.EDU). But for now we need this routine... - * - * A pointer to the name is returned, if found, otherwise a pointer - * to the original "alias" argument is returned. - */ - -char * krb_get_phost(alias) - char *alias; -{ - struct hostent *h; - char *phost = alias; - if ((h=gethostbyname(alias)) != (struct hostent *)NULL ) { - char *p = index( h->h_name, '.' ); - if (p) - *p = NULL; - p = phost = h->h_name; - do { - if (isupper(*p)) *p=tolower(*p); - } while (*p++); - } - return(phost); -} diff --git a/eBones/lib/libkrb/get_pw_tkt.c b/eBones/lib/libkrb/get_pw_tkt.c deleted file mode 100644 index 48b6126432f74..0000000000000 --- a/eBones/lib/libkrb/get_pw_tkt.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_pw_tkt.c,v 4.6 89/01/13 18:19:11 steiner Exp $ - * $Id: get_pw_tkt.c,v 1.3 1995/07/18 16:38:37 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: get_pw_tkt.c,v 1.3 1995/07/18 16:38:37 mark Exp $"; -#endif /* lint */ -#endif - - -#include <krb.h> - -/* - * Get a ticket for the password-changing server ("changepw.KRB_MASTER"). - * - * Given the name, instance, realm, and current password of the - * principal for which the user wants a password-changing-ticket, - * return either: - * - * GT_PW_BADPW if current password was wrong, - * GT_PW_NULL if principal had a NULL password, - * or the result of the krb_get_pw_in_tkt() call. - * - * First, try to get a ticket for "user.instance@realm" to use the - * "changepw.KRB_MASTER" server (KRB_MASTER is defined in "krb.h"). - * The requested lifetime for the ticket is "1", and the current - * password is the "cpw" argument given. - * - * If the password was bad, give up. - * - * If the principal had a NULL password in the Kerberos database - * (indicating that the principal is known to Kerberos, but hasn't - * got a password yet), try instead to get a ticket for the principal - * "default.changepw@realm" to use the "changepw.KRB_MASTER" server. - * Use the password "changepwkrb" instead of "cpw". Return GT_PW_NULL - * if all goes well, otherwise the error. - * - * If this routine succeeds, a ticket and session key for either the - * principal "user.instance@realm" or "default.changepw@realm" to use - * the password-changing server will be in the user's ticket file. - */ - -int -get_pw_tkt(user,instance,realm,cpw) - char *user; - char *instance; - char *realm; - char *cpw; -{ - int kerror; - - kerror = krb_get_pw_in_tkt(user, instance, realm, "changepw", - KRB_MASTER, 1, cpw); - - if (kerror == INTK_BADPW) - return(GT_PW_BADPW); - - if (kerror == KDC_NULL_KEY) { - kerror = krb_get_pw_in_tkt("default","changepw",realm,"changepw", - KRB_MASTER,1,"changepwkrb"); - if (kerror) - return(kerror); - return(GT_PW_NULL); - } - - return(kerror); -} diff --git a/eBones/lib/libkrb/get_request.c b/eBones/lib/libkrb/get_request.c deleted file mode 100644 index c4982bf3283ce..0000000000000 --- a/eBones/lib/libkrb/get_request.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_request.c,v 4.7 88/12/01 14:00:11 jtkohl Exp $ - * $Id: get_request.c,v 1.3 1995/07/18 16:38:39 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: get_request.c,v 1.3 1995/07/18 16:38:39 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> - -/* - * This procedure is obsolete. It is used in the kerberos_slave - * code for Version 3 tickets. - * - * This procedure sets s_name, and instance to point to - * the corresponding fields from tne nth request in the packet. - * it returns the lifetime requested. Garbage will be returned - * if there are less than n requests in the packet. - */ - -int -get_request(pkt, n, s_name, instance) - KTEXT pkt; /* The packet itself */ - int n; /* Which request do we want */ - char **s_name; /* Service name to be filled in */ - char **instance; /* Instance name to be filled in */ -{ - /* Go to the beginning of the request list */ - char *ptr = (char *) pkt_a_realm(pkt) + 6 + - strlen((char *)pkt_a_realm(pkt)); - - /* Read requests until we hit the right one */ - while (n-- > 1) { - ptr++; - ptr += 1 + strlen(ptr); - ptr += 1 + strlen(ptr); - } - - /* Set the arguments to point to the right place */ - *s_name = 1 + ptr; - *instance = 2 + ptr + strlen(*s_name); - - /* Return the requested lifetime */ - return((int) *ptr); -} diff --git a/eBones/lib/libkrb/get_svc_in_tkt.c b/eBones/lib/libkrb/get_svc_in_tkt.c deleted file mode 100644 index f5680db91d8b3..0000000000000 --- a/eBones/lib/libkrb/get_svc_in_tkt.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_svc_in_tkt.c,v 4.9 89/07/18 16:33:34 jtkohl Exp $ - * $Id: get_svc_in_tkt.c,v 1.3 1995/07/18 16:38:41 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: get_svc_in_tkt.c,v 1.3 1995/07/18 16:38:41 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> - -#ifndef NULL -#define NULL 0 -#endif - -/* - * This file contains two routines: srvtab_to_key(), which gets - * a server's key from a srvtab file, and krb_get_svc_in_tkt() which - * gets an initial ticket for a server. - */ - -/* - * srvtab_to_key(): given a "srvtab" file (where the keys for the - * service on a host are stored), return the private key of the - * given service (user.instance@realm). - * - * srvtab_to_key() passes its arguments on to read_service_key(), - * plus one additional argument, the key version number. - * (Currently, the key version number is always 0; this value - * is treated as a wildcard by read_service_key().) - * - * If the "srvtab" argument is null, KEYFILE (defined in "krb.h") - * is passed in its place. - * - * It returns the return value of the read_service_key() call. - * The service key is placed in "key". - */ - -static int -srvtab_to_key(user, instance, realm, srvtab, key) - char *user, *instance, *realm, *srvtab; - C_Block key; -{ - if (!srvtab) - srvtab = KEYFILE; - - return(read_service_key(user, instance, realm, 0, srvtab, - (char *)key)); -} - -/* - * krb_get_svc_in_tkt() passes its arguments on to krb_get_in_tkt(), - * plus two additional arguments: a pointer to the srvtab_to_key() - * function to be used to get the key from the key file and a NULL - * for the decryption procedure indicating that krb_get_in_tkt should - * use the default method of decrypting the response from the KDC. - * - * It returns the return value of the krb_get_in_tkt() call. - */ - -int -krb_get_svc_in_tkt(user, instance, realm, service, sinstance, life, srvtab) - char *user, *instance, *realm, *service, *sinstance; - int life; - char *srvtab; -{ - return(krb_get_in_tkt(user, instance, realm, service, sinstance, - life, srvtab_to_key, NULL, srvtab)); -} diff --git a/eBones/lib/libkrb/get_tf_fullname.c b/eBones/lib/libkrb/get_tf_fullname.c deleted file mode 100644 index 8d7639992e890..0000000000000 --- a/eBones/lib/libkrb/get_tf_fullname.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_tf_fullname.c,v 4.3 90/03/10 22:40:20 jon Exp $ - * $Id: get_tf_fullname.c,v 1.3 1995/07/18 16:38:42 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: get_tf_fullname.c,v 1.3 1995/07/18 16:38:42 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <strings.h> -#include <stdio.h> - -/* - * This file contains a routine to extract the fullname of a user - * from the ticket file. - */ - -/* - * krb_get_tf_fullname() takes four arguments: the name of the - * ticket file, and variables for name, instance, and realm to be - * returned in. Since the realm of a ticket file is not really fully - * supported, the realm used will be that of the the first ticket in - * the file as this is the one that was obtained with a password by - * krb_get_in_tkt(). - */ - -int -krb_get_tf_fullname(ticket_file, name, instance, realm) - char *ticket_file; - char *name; - char *instance; - char *realm; -{ - int tf_status; - CREDENTIALS c; - - if ((tf_status = tf_init(ticket_file, R_TKT_FIL)) != KSUCCESS) - return(tf_status); - - if (((tf_status = tf_get_pname(c.pname)) != KSUCCESS) || - ((tf_status = tf_get_pinst(c.pinst)) != KSUCCESS)) - return (tf_status); - - if (name) - strcpy(name, c.pname); - if (instance) - strcpy(instance, c.pinst); - if ((tf_status = tf_get_cred(&c)) == KSUCCESS) { - if (realm) - strcpy(realm, c.realm); - } - else { - if (tf_status == EOF) - return(KFAILURE); - else - return(tf_status); - } - (void) tf_close(); - - return(tf_status); -} diff --git a/eBones/lib/libkrb/get_tf_realm.c b/eBones/lib/libkrb/get_tf_realm.c deleted file mode 100644 index 8d75a9df82951..0000000000000 --- a/eBones/lib/libkrb/get_tf_realm.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: get_tf_realm.c,v 4.2 90/01/02 13:40:19 jtkohl Exp $ - * $Id: get_tf_realm.c,v 1.3 1995/07/18 16:38:44 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: get_tf_realm.c,v 1.3 1995/07/18 16:38:44 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <strings.h> - -/* - * This file contains a routine to extract the realm of a kerberos - * ticket file. - */ - -/* - * krb_get_tf_realm() takes two arguments: the name of a ticket - * and a variable to store the name of the realm in. - * - */ - -int -krb_get_tf_realm(ticket_file, realm) - char *ticket_file; - char *realm; -{ - return(krb_get_tf_fullname(ticket_file, 0, 0, realm)); -} diff --git a/eBones/lib/libkrb/getrealm.c b/eBones/lib/libkrb/getrealm.c deleted file mode 100644 index dcd4d28a91990..0000000000000 --- a/eBones/lib/libkrb/getrealm.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * routine to convert hostname into realm name. - * - * from: getrealm.c,v 4.6 90/01/02 13:35:56 jtkohl Exp $ - * $Id: getrealm.c,v 1.3 1995/07/18 16:38:46 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: getrealm.c,v 1.3 1995/07/18 16:38:46 mark Exp $"; -#endif lint -#endif - -#include <strings.h> -#include <stdio.h> -#include <ctype.h> -#include <krb.h> -#include <sys/param.h> - -/* for Ultrix and friends ... */ -#ifndef MAXHOSTNAMELEN -#define MAXHOSTNAMELEN 64 -#endif - -/* - * krb_realmofhost. - * Given a fully-qualified domain-style primary host name, - * return the name of the Kerberos realm for the host. - * If the hostname contains no discernable domain, or an error occurs, - * return the local realm name, as supplied by get_krbrlm(). - * If the hostname contains a domain, but no translation is found, - * the hostname's domain is converted to upper-case and returned. - * - * The format of each line of the translation file is: - * domain_name kerberos_realm - * -or- - * host_name kerberos_realm - * - * domain_name should be of the form .XXX.YYY (e.g. .LCS.MIT.EDU) - * host names should be in the usual form (e.g. FOO.BAR.BAZ) - */ - -static char ret_realm[REALM_SZ+1]; - -char * -krb_realmofhost(host) -char *host; -{ - char *domain; - FILE *trans_file; - char trans_host[MAXHOSTNAMELEN+1]; - char trans_realm[REALM_SZ+1]; - int retval; - - domain = index(host, '.'); - - /* prepare default */ - if (domain) { - char *cp; - - strncpy(ret_realm, &domain[1], REALM_SZ); - ret_realm[REALM_SZ] = '\0'; - /* Upper-case realm */ - for (cp = ret_realm; *cp; cp++) - if (islower(*cp)) - *cp = toupper(*cp); - } else { - krb_get_lrealm(ret_realm, 1); - } - - if ((trans_file = fopen(KRB_RLM_TRANS, "r")) == (FILE *) 0) { - /* krb_errno = KRB_NO_TRANS */ - return(ret_realm); - } - while (1) { - if ((retval = fscanf(trans_file, "%s %s", - trans_host, trans_realm)) != 2) { - if (retval == EOF) { - fclose(trans_file); - return(ret_realm); - } - continue; /* ignore broken lines */ - } - trans_host[MAXHOSTNAMELEN] = '\0'; - trans_realm[REALM_SZ] = '\0'; - if (!strcasecmp(trans_host, host)) { - /* exact match of hostname, so return the realm */ - (void) strcpy(ret_realm, trans_realm); - fclose(trans_file); - return(ret_realm); - } - if ((trans_host[0] == '.') && domain) { - /* this is a domain match */ - if (!strcasecmp(trans_host, domain)) { - /* domain match, save for later */ - (void) strcpy(ret_realm, trans_realm); - continue; - } - } - } -} diff --git a/eBones/lib/libkrb/getst.c b/eBones/lib/libkrb/getst.c deleted file mode 100644 index e50e4bb51e19b..0000000000000 --- a/eBones/lib/libkrb/getst.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * form: getst.c,v 4.5 88/11/15 16:31:39 jtkohl Exp $ - * $Id: getst.c,v 1.3 1995/07/18 16:38:47 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: getst.c,v 1.3 1995/07/18 16:38:47 mark Exp $"; -#endif /* lint */ -#endif - -#include <unistd.h> - -/* - * getst() takes a file descriptor, a string and a count. It reads - * from the file until either it has read "count" characters, or until - * it reads a null byte. When finished, what has been read exists in - * the given string "s". If "count" characters were actually read, the - * last is changed to a null, so the returned string is always null- - * terminated. getst() returns the number of characters read, including - * the null terminator. - */ - -int -getst(fd, s, n) - int fd; - register char *s; - int n; -{ - register count = n; - while (read(fd, s, 1) > 0 && --count) - if (*s++ == '\0') - return (n - count); - *s = '\0'; - return (n - count); -} diff --git a/eBones/lib/libkrb/in_tkt.c b/eBones/lib/libkrb/in_tkt.c deleted file mode 100644 index fe006a10871d6..0000000000000 --- a/eBones/lib/libkrb/in_tkt.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: kt.c,v 4.9 89/10/25 19:03:35 qjb Exp $ - * $Id: in_tkt.c,v 1.4 1995/09/07 21:38:04 markm Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: in_tkt.c,v 1.4 1995/09/07 21:38:04 markm Exp $"; -#endif /* lint */ -#endif - -#include <unistd.h> -#include <string.h> -#include <stdio.h> -#include <krb.h> -#include <sys/file.h> -#include <sys/fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#ifdef TKT_SHMEM -#include <sys/param.h> -#endif - -extern int krb_debug; - -/* - * in_tkt() is used to initialize the ticket store. It creates the - * file to contain the tickets and writes the given user's name "pname" - * and instance "pinst" in the file. in_tkt() returns KSUCCESS on - * success, or KFAILURE if something goes wrong. - */ - -int -in_tkt(pname,pinst) - char *pname; - char *pinst; -{ - int tktfile; - uid_t me, metoo; - struct stat buf; - int count; - char *file = TKT_FILE; - int fd; - register int i; - char charbuf[BUFSIZ]; -#ifdef TKT_SHMEM - char shmidname[MAXPATHLEN]; -#endif /* TKT_SHMEM */ - - me = getuid (); - metoo = geteuid(); - if (lstat(file,&buf) == 0) { - if (buf.st_uid != me && me == 0) { - unlink(file); - } else { - if (buf.st_uid != me || !(buf.st_mode & S_IFREG) || - buf.st_mode & 077) { - if (krb_debug) - fprintf(stderr,"Error initializing %s",file); - return(KFAILURE); - } - /* file already exists, and permissions appear ok, so nuke it */ - if ((fd = open(file, O_RDWR, 0)) < 0) - goto out; /* can't zero it, but we can still try truncating it */ - - bzero(charbuf, sizeof(charbuf)); - - for (i = 0; i < buf.st_size; i += sizeof(charbuf)) - if (write(fd, charbuf, sizeof(charbuf)) != sizeof(charbuf)) { - (void) fsync(fd); - (void) close(fd); - goto out; - } - - (void) fsync(fd); - (void) close(fd); - } - } - out: - /* arrange so the file is owned by the ruid - (swap real & effective uid if necessary). - This isn't a security problem, since the ticket file, if it already - exists, has the right uid (== ruid) and mode. */ - if (me != metoo) { - if (setreuid(metoo, me) < 0) { - /* can't switch??? barf! */ - if (krb_debug) - perror("in_tkt: setreuid"); - return(KFAILURE); - } else - if (krb_debug) - printf("swapped UID's %d and %d\n",metoo,me); - } - if ((tktfile = open(file,O_CREAT | O_TRUNC | O_WRONLY,0600)) < 0) { - if (krb_debug) - fprintf(stderr,"Error initializing %s",TKT_FILE); - return(KFAILURE); - } - if (me != metoo) { - if (setreuid(me, metoo) < 0) { - /* can't switch??? barf! */ - if (krb_debug) - perror("in_tkt: setreuid2"); - return(KFAILURE); - } else - if (krb_debug) - printf("swapped UID's %d and %d\n",me,metoo); - } - if (lstat(file,&buf) < 0) { - if (krb_debug) - fprintf(stderr,"Error initializing %s",TKT_FILE); - return(KFAILURE); - } - - if (buf.st_uid != me || !(buf.st_mode & S_IFREG) || - buf.st_mode & 077) { - if (krb_debug) - fprintf(stderr,"Error initializing %s",TKT_FILE); - return(KFAILURE); - } - - count = strlen(pname)+1; - if (write(tktfile,pname,count) != count) { - (void) close(tktfile); - return(KFAILURE); - } - count = strlen(pinst)+1; - if (write(tktfile,pinst,count) != count) { - (void) close(tktfile); - return(KFAILURE); - } - (void) close(tktfile); -#ifdef TKT_SHMEM - (void) strcpy(shmidname, file); - (void) strcat(shmidname, ".shm"); - return(krb_shm_create(shmidname)); -#else /* !TKT_SHMEM */ - return(KSUCCESS); -#endif /* TKT_SHMEM */ -} diff --git a/eBones/lib/libkrb/k_gethostname.c b/eBones/lib/libkrb/k_gethostname.c deleted file mode 100644 index cfb4f922a6df7..0000000000000 --- a/eBones/lib/libkrb/k_gethostname.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: k_gethostname.c,v 4.1 88/12/01 14:04:42 jtkohl Exp $ - * $Id: k_gethostname.c,v 1.3 1995/07/18 16:38:51 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: k_gethostname.c,v 1.3 1995/07/18 16:38:51 mark Exp $"; -#endif /* lint */ -#endif - -#include <unistd.h> - -#ifndef PC -#ifndef BSD42 -/* teach me how to k_gethostname for your system here */ -#endif -#endif - -#ifdef PC -#include <stdio.h> -typedef long in_name; -#include "custom.h" /* where is this file? */ -extern get_custom(); -#define LEN 64 /* just a guess */ -#endif /* PC */ - -/* - * Return the local host's name in "name", up to "namelen" characters. - * "name" will be null-terminated if "namelen" is big enough. - * The return code is 0 on success, -1 on failure. (The calling - * interface is identical to gethostname(2).) - * - * Currently defined for BSD 4.2 and PC. The BSD version just calls - * gethostname(); the PC code was taken from "kinit.c", and may or may - * not work. - */ - -int -k_gethostname(name, namelen) - char *name; - int namelen; -{ -#ifdef BSD42 - return gethostname(name, namelen); -#endif - -#ifdef PC - char buf[LEN]; - char b1, b2, b3, b4; - register char *ptr; - - get_custom(); /* should check for errors, - * return -1 on failure */ - ptr = (char *) &(custom.c_me); - b1 = *ptr++; - b2 = *ptr++; - b3 = *ptr++; - b4 = *ptr; - (void) sprintf(buf,"PC address %d.%d.%d.%d",b1,b2,b3,b4); - if (strlen(buf) > namelen) - fprintf(stderr, "gethostname: namelen too small; truncating"); - strnpcy(name, buf, namelen); - return 0; -#endif -} diff --git a/eBones/lib/libkrb/klog.c b/eBones/lib/libkrb/klog.c deleted file mode 100644 index 7fdc774af3d5e..0000000000000 --- a/eBones/lib/libkrb/klog.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: klog.c,v 4.6 88/12/01 14:06:05 jtkohl Exp $ - * $Id: klog.c,v 1.3 1995/07/18 16:38:52 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: klog.c,v 1.3 1995/07/18 16:38:52 mark Exp $"; -#endif /* lint */ -#endif - -#include <sys/time.h> -#include <stdio.h> - -#include <krb.h> -#include <klog.h> - -static char *log_name = KRBLOG; -static int is_open; -static char logtxt[1000]; - -/* - * This file contains two logging routines: kset_logfile() - * to determine the file to which log entries should be written; - * and klog() to write log entries to the file. - */ - -/* - * klog() is used to add entries to the logfile (see kset_logfile() - * below). Note that it is probably not portable since it makes - * assumptions about what the compiler will do when it is called - * with less than the correct number of arguments which is the - * way it is usually called. - * - * The log entry consists of a timestamp and the given arguments - * printed according to the given "format" string. - * - * The log file is opened and closed for each log entry. - * - * If the given log type "type" is unknown, or if the log file - * cannot be opened, no entry is made to the log file. - * - * The return value is always a pointer to the formatted log - * text string "logtxt". - */ - -char * klog(type,format,a1,a2,a3,a4,a5,a6,a7,a8,a9,a0) - int type; - char *format; - int a1,a2,a3,a4,a5,a6,a7,a8,a9,a0; -{ - FILE *logfile; - long now; - struct tm *tm; - static int logtype_array[NLOGTYPE] = {0,0}; - static int array_initialized; - - if (!(array_initialized++)) { - logtype_array[L_NET_ERR] = 1; - logtype_array[L_KRB_PERR] = 1; - logtype_array[L_KRB_PWARN] = 1; - logtype_array[L_APPL_REQ] = 1; - logtype_array[L_INI_REQ] = 1; - logtype_array[L_DEATH_REQ] = 1; - logtype_array[L_NTGT_INTK] = 1; - logtype_array[L_ERR_SEXP] = 1; - logtype_array[L_ERR_MKV] = 1; - logtype_array[L_ERR_NKY] = 1; - logtype_array[L_ERR_NUN] = 1; - logtype_array[L_ERR_UNK] = 1; - } - - (void) sprintf(logtxt,format,a1,a2,a3,a4,a5,a6,a7,a8,a9,a0); - - if (!logtype_array[type]) - return(logtxt); - - if ((logfile = fopen(log_name,"a")) == NULL) - return(logtxt); - - (void) time(&now); - tm = localtime(&now); - - fprintf(logfile,"%2d-%s-%02d %02d:%02d:%02d ",tm->tm_mday, - month_sname(tm->tm_mon + 1),tm->tm_year, - tm->tm_hour, tm->tm_min, tm->tm_sec); - fprintf(logfile,"%s\n",logtxt); - (void) fclose(logfile); - return(logtxt); -} - -/* - * kset_logfile() changes the name of the file to which - * messages are logged. If kset_logfile() is not called, - * the logfile defaults to KRBLOG, defined in "krb.h". - */ - -void -kset_logfile(filename) - char *filename; -{ - log_name = filename; - is_open = 0; -} diff --git a/eBones/lib/libkrb/kname_parse.c b/eBones/lib/libkrb/kname_parse.c deleted file mode 100644 index da7ec9393c6b8..0000000000000 --- a/eBones/lib/libkrb/kname_parse.c +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: kname_parse.c,v 4.4 88/12/01 14:07:29 jtkohl Exp $ - * $Id: kname_parse.c,v 1.3 1995/07/18 16:38:54 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kname_parse.c,v 1.3 1995/07/18 16:38:54 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> -#include <krb.h> -#include <strings.h> - -/* max size of full name */ -#define FULL_SZ (ANAME_SZ + INST_SZ + REALM_SZ) - -#define NAME 0 /* which field are we in? */ -#define INST 1 -#define REALM 2 - -extern char *krb_err_txt[]; - -/* - * This file contains four routines for handling Kerberos names. - * - * kname_parse() breaks a Kerberos name into its name, instance, - * and realm components. - * - * k_isname(), k_isinst(), and k_isrealm() check a given string to see if - * it's a syntactically legitimate respective part of a Kerberos name, - * returning 1 if it is, 0 if it isn't. - * - * Definition of "syntactically legitimate" names is according to - * the Project Athena Technical Plan Section E.2.1, page 7 "Specifying - * names", version dated 21 Dec 1987. - */ - -/* - * kname_parse() takes a Kerberos name "fullname" of the form: - * - * username[.instance][@realm] - * - * and returns the three components ("name", "instance", and "realm" - * in the example above) in the given arguments "np", "ip", and "rp". - * - * If successful, it returns KSUCCESS. If there was an error, - * KNAME_FMT is returned. - */ - -int -kname_parse(np, ip, rp, fullname) - char *np, *ip, *rp, *fullname; -{ - static char buf[FULL_SZ]; - char *rnext, *wnext; /* next char to read, write */ - register char c; - int backslash; - int field; - - backslash = 0; - rnext = buf; - wnext = np; - field = NAME; - - if (strlen(fullname) > FULL_SZ) - return KNAME_FMT; - (void) strcpy(buf, fullname); - - while ((c = *rnext++)) { - if (backslash) { - *wnext++ = c; - backslash = 0; - continue; - } - switch (c) { - case '\\': - backslash++; - break; - case '.': - switch (field) { - case NAME: - if (wnext == np) - return KNAME_FMT; - *wnext = '\0'; - field = INST; - wnext = ip; - break; - case INST: - return KNAME_FMT; - /* break; */ - case REALM: - *wnext++ = c; - break; - default: - fprintf(stderr, "unknown field value\n"); - exit(1); - } - break; - case '@': - switch (field) { - case NAME: - if (wnext == np) - return KNAME_FMT; - *ip = '\0'; - /* fall through */ - case INST: - *wnext = '\0'; - field = REALM; - wnext = rp; - break; - case REALM: - return KNAME_FMT; - default: - fprintf(stderr, "unknown field value\n"); - exit(1); - } - break; - default: - *wnext++ = c; - } - } - *wnext = '\0'; - if ((strlen(np) > ANAME_SZ - 1) || - (strlen(ip) > INST_SZ - 1) || - (strlen(rp) > REALM_SZ - 1)) - return KNAME_FMT; - return KSUCCESS; -} - -/* - * k_isname() returns 1 if the given name is a syntactically legitimate - * Kerberos name; returns 0 if it's not. - */ - -int -k_isname(s) - char *s; -{ - register char c; - int backslash = 0; - - if (!*s) - return 0; - if (strlen(s) > ANAME_SZ - 1) - return 0; - while((c = *s++)) { - if (backslash) { - backslash = 0; - continue; - } - switch(c) { - case '\\': - backslash = 1; - break; - case '.': - return 0; - /* break; */ - case '@': - return 0; - /* break; */ - } - } - return 1; -} - - -/* - * k_isinst() returns 1 if the given name is a syntactically legitimate - * Kerberos instance; returns 0 if it's not. - */ - -int -k_isinst(s) - char *s; -{ - register char c; - int backslash = 0; - - if (strlen(s) > INST_SZ - 1) - return 0; - while((c = *s++)) { - if (backslash) { - backslash = 0; - continue; - } - switch(c) { - case '\\': - backslash = 1; - break; - case '.': - return 0; - /* break; */ - case '@': - return 0; - /* break; */ - } - } - return 1; -} - -/* - * k_isrealm() returns 1 if the given name is a syntactically legitimate - * Kerberos realm; returns 0 if it's not. - */ - -int -k_isrealm(s) - char *s; -{ - register char c; - int backslash = 0; - - if (!*s) - return 0; - if (strlen(s) > REALM_SZ - 1) - return 0; - while((c = *s++)) { - if (backslash) { - backslash = 0; - continue; - } - switch(c) { - case '\\': - backslash = 1; - break; - case '@': - return 0; - /* break; */ - } - } - return 1; -} diff --git a/eBones/lib/libkrb/kntoln.c b/eBones/lib/libkrb/kntoln.c deleted file mode 100644 index 388704c09ff39..0000000000000 --- a/eBones/lib/libkrb/kntoln.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: kntoln.c,v 4.7 89/01/23 09:25:15 jtkohl Exp $ - * $Id: kntoln.c,v 1.3 1995/07/18 16:38:56 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: kntoln.c,v 1.3 1995/07/18 16:38:56 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <strings.h> - -/* - * krb_kntoln converts an auth name into a local name by looking up - * the auth name in the /etc/aname file. The format of the aname - * file is: - * - * +-----+-----+-----+-----+------+----------+-------+-------+ - * | anl | inl | rll | lnl | name | instance | realm | lname | - * +-----+-----+-----+-----+------+----------+-------+-------+ - * | 1by | 1by | 1by | 1by | name | instance | realm | lname | - * +-----+-----+-----+-----+------+----------+-------+-------+ - * - * If the /etc/aname file can not be opened it will set the - * local name to the auth name. Thus, in this case it performs as - * the identity function. - * - * The name instance and realm are passed to krb_kntoln through - * the AUTH_DAT structure (ad). - * - * Now here's what it *really* does: - * - * Given a Kerberos name in an AUTH_DAT structure, check that the - * instance is null, and that the realm is the same as the local - * realm, and return the principal's name in "lname". Return - * KSUCCESS if all goes well, otherwise KFAILURE. - */ - -int -krb_kntoln(ad,lname) - AUTH_DAT *ad; - char *lname; -{ - static char lrealm[REALM_SZ] = ""; - - if (!(*lrealm) && (krb_get_lrealm(lrealm,1) == KFAILURE)) - return(KFAILURE); - - if (strcmp(ad->pinst,"")) - return(KFAILURE); - if (strcmp(ad->prealm,lrealm)) - return(KFAILURE); - (void) strcpy(lname,ad->pname); - return(KSUCCESS); -} diff --git a/eBones/lib/libkrb/kparse.c b/eBones/lib/libkrb/kparse.c deleted file mode 100644 index 5b25ac7264362..0000000000000 --- a/eBones/lib/libkrb/kparse.c +++ /dev/null @@ -1,776 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Purpose: - * This module was developed to parse the "~/.klogin" files for - * Kerberos-authenticated rlogin/rcp/rsh services. However, it is - * general purpose and can be used to parse any such parameter file. - * - * The parameter file should consist of one or more entries, with each - * entry on a separate line and consisting of zero or more - * "keyword=value" combinations. The keyword is case insensitive, but - * the value is not. Any string may be enclosed in quotes, and - * c-style "\" literals are supported. A comma may be used to - * separate the k/v combinations, and multiple commas are ignored. - * Whitespace (blank or tab) may be used freely and is ignored. - * - * Full error processing is available. When PS_BAD_KEYWORD or - * PS_SYNTAX is returned from fGetParameterSet(), the string ErrorMsg - * contains a meaningful error message. - * - * Keywords and their default values are programmed by an external - * table. - * - * Routines: - * fGetParameterSet() parse one line of the parameter file - * fGetKeywordValue() parse one "keyword=value" combo - * fGetToken() parse one token - * - * - * from: kparse.c,v 4.5 89/01/21 17:20:39 jtkohl Exp $ - * $Id: kparse.c,v 1.3 1995/07/18 16:38:58 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kparse.c,v 1.3 1995/07/18 16:38:58 mark Exp $"; -#endif lint -#endif - -#include <stdlib.h> -#include <stdio.h> -#include <ctype.h> -#include <kparse.h> - -#ifndef FALSE -#define FALSE 0 -#define TRUE 1 -#endif - -#define MAXKEY 80 -#define MAXVALUE 80 - -int fUngetChar(int ch, FILE *fp); -int fGetChar(FILE *fp); -int fGetLiteral(FILE *fp); - -int LineNbr=1; /* current line nbr in parameter file */ -char ErrorMsg[80]; /* meaningful only when KV_SYNTAX, PS_SYNTAX, - * or PS_BAD_KEYWORD is returned by - * fGetKeywordValue or fGetParameterSet */ - -int -fGetParameterSet( fp,parm,parmcount ) - FILE *fp; - parmtable parm[]; - int parmcount; -{ - int rc,i; - char keyword[MAXKEY]; - char value[MAXVALUE]; - - while (TRUE) { - rc=fGetKeywordValue(fp,keyword,MAXKEY,value,MAXVALUE); - - switch (rc) { - - case KV_EOF: - return(PS_EOF); - - case KV_EOL: - return(PS_OKAY); - - case KV_SYNTAX: - return(PS_SYNTAX); - - case KV_OKAY: - /* - * got a reasonable keyword/value pair. Search the - * parameter table to see if we recognize the keyword; if - * not, return an error. If we DO recognize it, make sure - * it has not already been given. If not already given, - * save the value. - */ - for (i=0; i<parmcount; i++) { - if (strcmp(strutol(keyword),parm[i].keyword)==0) { - if (parm[i].value) { - sprintf(ErrorMsg,"duplicate keyword \"%s\" found", - keyword); - return(PS_BAD_KEYWORD); - } - parm[i].value = strsave( value ); - break; - } - } - if (i >= parmcount) { - sprintf(ErrorMsg, "unrecognized keyword \"%s\" found", - keyword); - return(PS_BAD_KEYWORD); - } - break; - - default: - sprintf(ErrorMsg, - "panic: bad return (%d) from fGetToken()",rc); - break; - } - } -} - -/* - * Routine: ParmCompare - * - * Purpose: - * ParmCompare checks a specified value for a particular keyword. - * fails if keyword not found or keyword found but the value was - * different. Like strcmp, ParmCompare returns 0 for a match found, -1 - * otherwise - */ -int -ParmCompare( parm, parmcount, keyword, value ) - parmtable parm[]; - int parmcount; - char *keyword; - char *value; -{ - int i; - - for (i=0; i<parmcount; i++) { - if (strcmp(parm[i].keyword,keyword)==0) { - if (parm[i].value) { - return(strcmp(parm[i].value,value)); - } else { - return(strcmp(parm[i].defvalue,value)); - } - } - } - return(-1); -} - -void -FreeParameterSet(parm,parmcount) - parmtable parm[]; - int parmcount; -{ - int i; - - for (i=0; i<parmcount; i++) { - if (parm[i].value) { - free(parm[i].value); - parm[i].value = (char *)NULL; - } - } -} - -int -fGetKeywordValue( fp, keyword, klen, value, vlen ) - FILE *fp; - char *keyword; - int klen; - char *value; - int vlen; -{ - int rc; - int gotit; - - *keyword = *value = '\0'; /* preset strings to NULL */ - - /* - * Looking for a keyword. - * return an exception for EOF or BAD_QSTRING - * ignore leading WHITEspace - * ignore any number of leading commas - * newline means we have all the parms for this - * statement; give an indication that there is - * nothing more on this line. - * stop looking if we find QSTRING, STRING, or NUMBER - * return syntax error for any other PUNKtuation - */ - gotit = FALSE; - do { - rc = fGetToken(fp,keyword,klen); - - switch (rc) { - - case GTOK_WHITE: - break; - - case GTOK_EOF: - return(KV_EOF); - - case GTOK_BAD_QSTRING: - sprintf(ErrorMsg,"unterminated string \"%s found",keyword); - return(KV_SYNTAX); - - case GTOK_PUNK: - if (strcmp("\n",keyword)==0) { - return(KV_EOL); - } else if (strcmp(",",keyword)!=0) { - sprintf(ErrorMsg,"expecting rvalue, found \'%s\'",keyword); - } - break; - - case GTOK_STRING: - case GTOK_QSTRING: - case GTOK_NUMBER: - gotit = TRUE; - break; - - default: - sprintf(ErrorMsg,"panic: bad return (%d) from fGetToken()",rc); - return(KV_SYNTAX); - } - - } while (!gotit); - - /* - * now we expect an equal sign. - * skip any whitespace - * stop looking if we find an equal sign - * anything else causes a syntax error - */ - gotit = FALSE; - do { - rc = fGetToken(fp,value,vlen); - - switch (rc) { - - case GTOK_WHITE: - break; - - case GTOK_BAD_QSTRING: - sprintf(ErrorMsg, - "expecting \'=\', found unterminated string \"%s", - value); - return(KV_SYNTAX); - - case GTOK_PUNK: - if (strcmp("=",value)==0) { - gotit = TRUE; - } else { - if (strcmp("\n",value)==0) { - sprintf(ErrorMsg,"expecting \"=\", found newline"); - fUngetChar('\n',fp); - } else { - sprintf(ErrorMsg, - "expecting rvalue, found \'%s\'",keyword); - } - return(KV_SYNTAX); - } - break; - - case GTOK_STRING: - case GTOK_QSTRING: - case GTOK_NUMBER: - sprintf(ErrorMsg,"expecting \'=\', found \"%s\"",value); - return(KV_SYNTAX); - - case GTOK_EOF: - sprintf(ErrorMsg,"expecting \'=\', found EOF"); - return(KV_SYNTAX); - - default: - sprintf(ErrorMsg, - "panic: bad return (%d) from fGetToken()",rc); - return(KV_SYNTAX); - } - - } while ( !gotit ); - - /* - * got the keyword and equal sign, now get a value. - * ignore any whitespace - * any punctuation is a syntax error - */ - gotit = FALSE; - do { - rc = fGetToken(fp,value,vlen); - - switch (rc) { - - case GTOK_WHITE: - break; - - case GTOK_EOF: - sprintf(ErrorMsg,"expecting rvalue, found EOF"); - return(KV_SYNTAX); - - case GTOK_BAD_QSTRING: - sprintf(ErrorMsg,"unterminated quoted string \"%s",value); - return(KV_SYNTAX); - - case GTOK_PUNK: - if (strcmp("\n",value)==0) { - sprintf(ErrorMsg,"expecting rvalue, found newline"); - fUngetChar('\n',fp); - } else { - sprintf(ErrorMsg, - "expecting rvalue, found \'%s\'",value); - } - return(KV_SYNTAX); - break; - - case GTOK_STRING: - case GTOK_QSTRING: - case GTOK_NUMBER: - gotit = TRUE; - return(KV_OKAY); - - default: - sprintf(ErrorMsg, - "panic: bad return (%d) from fGetToken()",rc); - return(KV_SYNTAX); - } - - } while ( !gotit ); - /*NOTREACHED*/ - return(0); /*just to shut up -Wall MRVM*/ -} - -/* - * Routine Name: fGetToken - * - * Function: read the next token from the specified file. - * A token is defined as a group of characters - * terminated by a white space char (SPACE, CR, - * LF, FF, TAB). The token returned is stripped of - * both leading and trailing white space, and is - * terminated by a NULL terminator. An alternate - * definition of a token is a string enclosed in - * single or double quotes. - * - * Explicit Parameters: - * fp pointer to the input FILE - * dest pointer to destination buffer - * maxlen length of the destination buffer. The buffer - * length INCLUDES the NULL terminator. - * - * Implicit Parameters: stderr where the "token too long" message goes - * - * External Procedures: fgetc - * - * Side Effects: None - * - * Return Value: A token classification value, as - * defined in kparse.h. Note that the - * classification for end of file is - * always zero. - */ -int -fGetToken(fp, dest, maxlen) - FILE *fp; - char *dest; - int maxlen; -{ - int ch='\0'; - int len=0; - char *p = dest; - int digits; - - ch=fGetChar(fp); - - /* - * check for a quoted string. If found, take all characters - * that fit until a closing quote is found. Note that this - * algorithm will not behave well for a string which is too long. - */ - if (ISQUOTE(ch)) { - int done = FALSE; - do { - ch = fGetChar(fp); - done = ((maxlen<++len)||ISLINEFEED(ch)||(ch==EOF) - ||ISQUOTE(ch)); - if (ch=='\\') - ch = fGetLiteral(fp); - if (!done) - *p++ = ch; - else if ((ch!=EOF) && !ISQUOTE(ch)) - fUngetChar(ch,fp); - } while (!done); - *p = '\0'; - if (ISLINEFEED(ch)) return(GTOK_BAD_QSTRING); - return(GTOK_QSTRING); - } - - /* - * Not a quoted string. If its a token character (rules are - * defined via the ISTOKENCHAR macro, in kparse.h) take it and all - * token chars following it until we run out of space. - */ - digits=TRUE; - if (ISTOKENCHAR(ch)) { - while ( (ISTOKENCHAR(ch)) && len<maxlen-1 ) { - if (!isdigit(ch)) digits=FALSE; - *p++ = ch; - len++; - ch = fGetChar(fp); - }; - *p = '\0'; - - if (ch!=EOF) { - fUngetChar(ch,fp); - } - if (digits) { - return(GTOK_NUMBER); - } else { - return(GTOK_STRING); - } - } - - /* - * Neither a quoted string nor a token character. Return a string - * with just that one character in it. - */ - if (ch==EOF) { - return(GTOK_EOF); - } - if (!ISWHITESPACE(ch)) { - *p++ = ch; - *p='\0'; - } else { - *p++ = ' '; /* white space is always the - * blank character */ - *p='\0'; - /* - * The character is a white space. Flush all additional white - * space. - */ - while (ISWHITESPACE(ch) && ((ch=fGetChar(fp)) != EOF)) - ; - if (ch!=EOF) { - fUngetChar(ch,fp); - } - return(GTOK_WHITE); - } - return(GTOK_PUNK); -} - -/* - * fGetLiteral is called after we find a '\' in the input stream. A - * string of numbers following the backslash are converted to the - * appropriate value; hex (0xn), octal (0n), and decimal (otherwise) - * are all supported. If the char after the \ is not a number, we - * special case certain values (\n, \f, \r, \b) or return a literal - * otherwise (useful for \", for example). - */ -int -fGetLiteral(fp) - FILE *fp; -{ - int ch; - int n=0; - int base; - - ch = fGetChar(fp); - - if (!isdigit(ch)) { - switch (ch) { - case 'n': return('\n'); - case 'f': return('\f'); - case 'r': return('\r'); - case 'b': return('\b'); - default: return(ch); - } - } - - /* - * got a number. might be decimal (no prefix), octal (prefix 0), - * or hexadecimal (prefix 0x). Set the base appropriately. - */ - if (ch!='0') { - base=10; /* its a decimal number */ - } else { - /* - * found a zero, its either hex or octal - */ - ch = fGetChar(fp); - if ((ch!='x') && (ch!='X')) { - base=010; - } else { - ch = fGetChar(fp); - base=0x10; - } - } - - switch (base) { - - case 010: /* octal */ - while (ISOCTAL(ch)) { - n = (n*base) + ch - '0'; - ch = fGetChar(fp); - } - break; - - case 10: /* decimal */ - while (isdigit(ch)) { - n = (n*base) + ch - '0'; - ch = fGetChar(fp); - } - break; - case 0x10: /* hexadecimal */ - while (isxdigit(ch)) { - if (isdigit(ch)) { - n = (n*base) + ch - '0'; - } else { - n = (n*base) + toupper(ch) - 'A' + 0xA ; - } - ch = fGetChar(fp); - } - break; - default: - fprintf(stderr,"fGetLiteral() died real bad. Fix gettoken.c."); - exit(1); - break; - } - fUngetChar(ch,fp); - return(n); -} - -/* - * exactly the same as ungetc(3) except that the line number of the - * input file is maintained. - */ -int -fUngetChar(ch,fp) - int ch; - FILE *fp; -{ - if (ch=='\n') LineNbr--; - return(ungetc(ch,fp)); -} - - -/* - * exactly the same as fgetc(3) except that the line number of the - * input file is maintained. - */ -int -fGetChar(fp) - FILE *fp; -{ - int ch = fgetc(fp); - if (ch=='\n') LineNbr++; - return(ch); -} - - -/* - * Routine Name: strsave - * - * Function: return a pointer to a saved copy of the - * input string. the copy will be allocated - * as large as necessary. - * - * Explicit Parameters: pointer to string to save - * - * Implicit Parameters: None - * - * External Procedures: malloc,strcpy,strlen - * - * Side Effects: None - * - * Return Value: pointer to copied string - * - */ -char * -strsave(p) - char *p; -{ - return(strcpy(malloc(strlen(p)+1),p)); -} - - -/* - * strutol changes all characters in a string to lower case, in place. - * the pointer to the beginning of the string is returned. - */ - -char * -strutol( start ) - char *start; -{ - char *q; - for (q=start; *q; q++) - if (isupper(*q)) - *q=tolower(*q); - return(start); -} - -#ifdef GTOK_TEST /* mainline test routine for fGetToken() */ - -#define MAXTOKEN 100 - -char *pgm = "gettoken"; - -main(argc,argv) - int argc; - char **argv; -{ - char *p; - int type; - FILE *fp; - - if (--argc) { - fp = fopen(*++argv,"ra"); - if (fp == (FILE *)NULL) { - fprintf(stderr,"can\'t open \"%s\"\n",*argv); - } - } else - fp = stdin; - - p = malloc(MAXTOKEN); - while (type = fGetToken(fp,p,MAXTOKEN)) { - switch(type) { - case GTOK_BAD_QSTRING: - printf("BAD QSTRING!\t"); - break; - case GTOK_EOF: - printf("EOF!\t"); - break; - case GTOK_QSTRING: - printf("QSTRING\t"); - break; - case GTOK_STRING: - printf("STRING\t"); - break; - case GTOK_NUMBER: - printf("NUMBER\t"); - break; - case GTOK_PUNK: - printf("PUNK\t"); - break; - case GTOK_WHITE: - printf("WHITE\t"); - break; - default: - printf("HUH?\t"); - break; - } - if (*p=='\n') - printf("\\n\n"); - else - printf("%s\n",p); - } - exit(0); -} -#endif - -#ifdef KVTEST - -main(argc,argv) - int argc; - char **argv; -{ - int rc,ch; - FILE *fp; - char key[MAXKEY],valu[MAXVALUE]; - char *filename; - - if (argc != 2) { - fprintf(stderr,"usage: test <filename>\n"); - exit(1); - } - - if (!(fp=fopen(*++argv,"r"))) { - fprintf(stderr,"can\'t open input file \"%s\"\n",filename); - exit(1); - } - filename = *argv; - - while ((rc=fGetKeywordValue(fp,key,MAXKEY,valu,MAXVALUE))!=KV_EOF){ - - switch (rc) { - - case KV_EOL: - printf("%s, line %d: nada mas.\n",filename,LineNbr-1); - break; - - case KV_SYNTAX: - printf("%s, line %d: syntax error: %s\n", - filename,LineNbr,ErrorMsg); - while ( ((ch=fGetChar(fp))!=EOF) && (ch!='\n') ); - break; - - case KV_OKAY: - printf("%s, line %d: okay, %s=\"%s\"\n", - filename,LineNbr,key,valu); - break; - - default: - printf("panic: bad return (%d) from fGetKeywordValue\n",rc); - break; - } - } - printf("EOF"); - fclose(fp); - exit(0); -} -#endif - -#ifdef PSTEST - -parmtable kparm[] = { - /* keyword, default, found value */ - { "user", "", (char *)NULL }, - { "realm", "Athena", (char *)NULL }, - { "instance", "", (char *)NULL } -}; - -main(argc,argv) - int argc; - char **argv; -{ - int rc,i,ch; - FILE *fp; - char *filename; - - if (argc != 2) { - fprintf(stderr,"usage: test <filename>\n"); - exit(1); - } - - if (!(fp=fopen(*++argv,"r"))) { - fprintf(stderr,"can\'t open input file \"%s\"\n",filename); - exit(1); - } - filename = *argv; - - while ((rc=fGetParameterSet(fp,kparm,PARMCOUNT(kparm))) != PS_EOF) { - - switch (rc) { - - case PS_BAD_KEYWORD: - printf("%s, line %d: %s\n",filename,LineNbr,ErrorMsg); - while ( ((ch=fGetChar(fp))!=EOF) && (ch!='\n') ); - break; - - case PS_SYNTAX: - printf("%s, line %d: syntax error: %s\n", - filename,LineNbr,ErrorMsg); - while ( ((ch=fGetChar(fp))!=EOF) && (ch!='\n') ); - break; - - case PS_OKAY: - printf("%s, line %d: valid parameter set found:\n", - filename,LineNbr-1); - for (i=0; i<PARMCOUNT(kparm); i++) { - printf("\t%s = \"%s\"\n",kparm[i].keyword, - (kparm[i].value ? kparm[i].value - : kparm[i].defvalue)); - } - break; - - default: - printf("panic: bad return (%d) from fGetParameterSet\n",rc); - break; - } - FreeParameterSet(kparm,PARMCOUNT(kparm)); - } - printf("EOF"); - fclose(fp); - exit(0); -} -#endif diff --git a/eBones/lib/libkrb/krb.3 b/eBones/lib/libkrb/krb.3 deleted file mode 100644 index f2061cd184bf1..0000000000000 --- a/eBones/lib/libkrb/krb.3 +++ /dev/null @@ -1,508 +0,0 @@ -.\" $Source: /home/ncvs/src/eBones/lib/libkrb/krb.3,v $ -.\" $Author: markm $ -.\" $Header: /home/ncvs/src/eBones/lib/libkrb/krb.3,v 1.3 1995/09/13 17:23:55 markm Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <mit-copyright.h>. -.\" -.TH KERBEROS 3 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -Kerberos authentication library -.PP -krb_mk_req, krb_rd_req, krb_kntoln, krb_set_key, -krb_get_cred, krb_mk_priv, krb_rd_priv, krb_mk_safe, -krb_rd_safe, krb_mk_err, krb_rd_err, krb_ck_repl -krb_get_local_addr, krb_bind_local_addr -.SH SYNOPSIS -.nf -.nj -.ft B -#include <des.h> -#include <kerberosIV/krb.h> -.PP -.ft B -extern char *krb_err_txt[]; -.PP -.ft B -int krb_mk_req(authent,service,instance,realm,checksum) -KTEXT authent; -char *service; -char *instance; -char *realm; -u_long checksum; -.PP -.ft B -int krb_rd_req(authent,service,instance,from_addr,ad,fn) -KTEXT authent; -char *service; -char *instance; -u_long from_addr; -AUTH_DAT *ad; -char *fn; -.PP -.ft B -int krb_kntoln(ad,lname) -AUTH_DAT *ad; -char *lname; -.PP -.ft B -int krb_set_key(key,cvt) -char *key; -int cvt; -.PP -.ft B -int krb_get_cred(service,instance,realm,c) -char *service; -char *instance; -char *realm; -CREDENTIALS *c; -.PP -.ft B -long krb_mk_priv(in,out,in_length,schedule,key,sender,receiver) -u_char *in; -u_char *out; -u_long in_length; -des_cblock key; -des_key_schedule schedule; -struct sockaddr_in *sender; -struct sockaddr_in *receiver; -.PP -.ft B -long krb_rd_priv(in,in_length,schedule,key,sender,receiver,msg_data) -u_char *in; -u_long in_length; -Key_schedule schedule; -des_cblock key; -struct sockaddr_in *sender; -struct sockaddr_in *receiver; -MSG_DAT *msg_data; -.PP -.ft B -long krb_mk_safe(in,out,in_length,key,sender,receiver) -u_char *in; -u_char *out; -u_long in_length; -des_cblock key; -struct sockaddr_in *sender; -struct sockaddr_in *receiver; -.PP -.ft B -long krb_rd_safe(in,length,key,sender,receiver,msg_data) -u_char *in; -u_long length; -des_cblock key; -struct sockaddr_in *sender; -struct sockaddr_in *receiver; -MSG_DAT *msg_data; -.PP -.ft B -long krb_mk_err(out,code,string) -u_char *out; -long code; -char *string; -.PP -.ft B -long krb_rd_err(in,length,code,msg_data) -u_char *in; -u_long length; -long code; -MSG_DAT *msg_data; -.PP -.ft B -int krb_get_local_addr(address) -struct sockaddr_in *address; -.PP -.ft B -int krb_bind_local_addr(socket) -int socket; -.fi -.ft R -.SH DESCRIPTION -This library supports network authentication and various related -operations. The library contains many routines beyond those described -in this man page, but they are not intended to be used directly. -Instead, they are called by the routines that are described, the -authentication server and the login program. -.PP -The original MIT implementation of the krb library could fail when used on -multi-homed client machines. Two functions, -.I krb_get_local_addr -and -.I krb_bind_local_addr, -are provided to overcome this limitation. Any -application expected to function in a multi-homed environment (clients -with more than one network interface) that opens sockets to perform -authenticated or encrypted transactions must use one of these functions -to bind its sockets to the local address used and authenticated by Kerberos. -.PP -.I krb_err_txt[] -contains text string descriptions of various Kerberos error codes returned -by some of the routines below. -.PP -.I krb_mk_req -takes a pointer to a text structure in which an authenticator is to be -built. It also takes the name, instance, and realm of the service to be -used and an optional checksum. It is up to the application to decide -how to generate the checksum. -.I krb_mk_req -then retrieves a ticket for the desired service and creates an -authenticator. The authenticator is built in -.I authent -and is accessible -to the calling procedure. -.PP -It is up to the application to get the authenticator to the service -where it will be read by -.I krb_rd_req. -Unless an attacker posesses the session key contained in the ticket, it -will be unable to modify the authenticator. Thus, the checksum can be -used to verify the authenticity of the other data that will pass through -a connection. -.PP -.I krb_rd_req -takes an authenticator of type -.B KTEXT, -a service name, an instance, the address of the -host originating the request, and a pointer to a structure of type -.B AUTH_DAT -which is filled in with information obtained from the authenticator. -It also optionally takes the name of the file in which it will find the -secret key(s) for the service. -If the supplied -.I instance -contains "*", then the first service key with the same service name -found in the service key file will be used, and the -.I instance -argument will be filled in with the chosen instance. This means that -the caller must provide space for such an instance name. -.PP -It is used to find out information about the principal when a request -has been made to a service. It is up to the application protocol to get -the authenticator from the client to the service. The authenticator is -then passed to -.I krb_rd_req -to extract the desired information. -.PP -.I krb_rd_req -returns zero (RD_AP_OK) upon successful authentication. If a packet was -forged, modified, or replayed, authentication will fail. If the -authentication fails, a non-zero value is returned indicating the -particular problem encountered. See -.I krb.h -for the list of error codes. -.PP -If the last argument is the null string (""), krb_rd_req will use the -file /etc/kerberosIV/srvtab to find its keys. If the last argument is -NULL, it will assume that the key has been set by -.I krb_set_key -and will not bother looking further. -.PP -.I krb_kntoln -converts a Kerberos name to a local name. It takes a structure -of type AUTH_DAT and uses the name and instance to look in the database -/etc/kerberosIV/aname to find the corresponding local name. The local name is -returned and can be used by an application to change uids, directories, -or other parameters. It is not an integral part of Kerberos, but is -instead provided to support the use of Kerberos in existing utilities. -.PP -.I krb_set_key -takes as an argument a des key. It then creates -a key schedule from it and saves the original key to be used as an -initialization vector. -It is used to set the server's key which -must be used to decrypt tickets. -.PP -If called with a non-zero second argument, -.I krb_set_key -will first convert the input from a string of arbitrary length to a DES -key by encrypting it with a one-way function. -.PP -In most cases it should not be necessary to call -.I krb_set_key. -The necessary keys will usually be obtained and set inside -.I krb_rd_req. krb_set_key -is provided for those applications that do not wish to place the -application keys on disk. -.PP -.I krb_get_cred -searches the caller's ticket file for a ticket for the given service, instance, -and realm; and, if a ticket is found, fills in the given CREDENTIALS structure -with the ticket information. -.PP -If the ticket was found, -.I krb_get_cred -returns GC_OK. -If the ticket file can't be found, can't be read, doesn't belong to -the user (other than root), isn't a regular file, or is in the wrong -mode, the error GC_TKFIL is returned. -.PP -.I krb_mk_priv -creates an encrypted, authenticated -message from any arbitrary application data, pointed to by -.I in -and -.I in_length -bytes long. -The private session key, pointed to by -.I key -and the key schedule, -.I schedule, -are used to encrypt the data and some header information using -.I pcbc_encrypt. -.I sender -and -.I receiver -point to the Internet address of the two parties. -In addition to providing privacy, this protocol message protects -against modifications, insertions or replays. The encapsulated message and -header are placed in the area pointed to by -.I out -and the routine returns the length of the output, or -1 indicating -an error. -.PP -.I krb_rd_priv -decrypts and authenticates a received -.I krb_mk_priv -message. -.I in -points to the beginning of the received message, whose length -is specified in -.I in_length. -The private session key, pointed to by -.I key, -and the key schedule, -.I schedule, -are used to decrypt and verify the received message. -.I msg_data -is a pointer to a -.I MSG_DAT -struct, defined in -.I krb.h. -The routine fills in the -.I app_data -field with a pointer to the decrypted application data, -.I app_length -with the length of the -.I app_data -field, -.I time_sec -and -.I time_5ms -with the timestamps in the message, and -.I swap -with a 1 if the byte order of the receiver is different than that of -the sender. (The application must still determine if it is appropriate -to byte-swap application data; the Kerberos protocol fields are already taken -care of). The -.I hash -field returns a value useful as input to the -.I krb_ck_repl -routine. - -The routine returns zero if ok, or a Kerberos error code. Modified messages -and old messages cause errors, but it is up to the caller to -check the time sequence of messages, and to check against recently replayed -messages using -.I krb_ck_repl -if so desired. -.PP -.I krb_mk_safe -creates an authenticated, but unencrypted message from any arbitrary -application data, -pointed to by -.I in -and -.I in_length -bytes long. -The private session key, pointed to by -.I key, -is used to seed the -.I quad_cksum() -checksum algorithm used as part of the authentication. -.I sender -and -.I receiver -point to the Internet address of the two parties. -This message does not provide privacy, but does protect (via detection) -against modifications, insertions or replays. The encapsulated message and -header are placed in the area pointed to by -.I out -and the routine returns the length of the output, or -1 indicating -an error. -The authentication provided by this routine is not as strong as that -provided by -.I krb_mk_priv -or by computing the checksum using -.I cbc_cksum -instead, both of which authenticate via DES. -.PP - -.I krb_rd_safe -authenticates a received -.I krb_mk_safe -message. -.I in -points to the beginning of the received message, whose length -is specified in -.I in_length. -The private session key, pointed to by -.I key, -is used to seed the quad_cksum() routine as part of the authentication. -.I msg_data -is a pointer to a -.I MSG_DAT -struct, defined in -.I krb.h . -The routine fills in these -.I MSG_DAT -fields: -the -.I app_data -field with a pointer to the application data, -.I app_length -with the length of the -.I app_data -field, -.I time_sec -and -.I time_5ms -with the timestamps in the message, and -.I swap -with a 1 if the byte order of the receiver is different than that of -the sender. -(The application must still determine if it is appropriate -to byte-swap application data; the Kerberos protocol fields are already taken -care of). The -.I hash -field returns a value useful as input to the -.I krb_ck_repl -routine. - -The routine returns zero if ok, or a Kerberos error code. Modified messages -and old messages cause errors, but it is up to the caller to -check the time sequence of messages, and to check against recently replayed -messages using -.I krb_ck_repl -if so desired. -.PP -.I krb_mk_err -constructs an application level error message that may be used along -with -.I krb_mk_priv -or -.I krb_mk_safe. -.I out -is a pointer to the output buffer, -.I code -is an application specific error code, and -.I string -is an application specific error string. - -.PP -.I krb_rd_err -unpacks a received -.I krb_mk_err -message. -.I in -points to the beginning of the received message, whose length -is specified in -.I in_length. -.I code -is a pointer to a value to be filled in with the error -value provided by the application. -.I msg_data -is a pointer to a -.I MSG_DAT -struct, defined in -.I krb.h . -The routine fills in these -.I MSG_DAT -fields: the -.I app_data -field with a pointer to the application error text, -.I app_length -with the length of the -.I app_data -field, and -.I swap -with a 1 if the byte order of the receiver is different than that of -the sender. (The application must still determine if it is appropriate -to byte-swap application data; the Kerberos protocol fields are already taken -care of). - -The routine returns zero if the error message has been successfully received, -or a Kerberos error code. -.PP -.I krb_get_local_addr -retrieves the address of the local interface used for -all kerberos transactions and copies it to the sockaddr_in pointed to -by -.I address. -This information is usually used to bind additional sockets in client -programs to the kerberos authenticated local address so transactions -to kerberos services on remote machines succeed. This routine may be called -at any time and the address returned will not change during the lifetime of -the program. - -The routine returns zero on success or a Kerberos error code. -.PP -.I krb_bind_local_addr -binds -.I socket -to the address of the local interface used for all kerberos -transactions. The bind allows the system to assign a port for the socket, -so programs wishing to specify an explicit port should use -.I krb_get_local_addr -and perform the bind manually. - -The routine returns zero on success or a Kerberos error code. -.PP -The -.I KTEXT -structure is used to pass around text of varying lengths. It consists -of a buffer for the data, and a length. krb_rd_req takes an argument of this -type containing the authenticator, and krb_mk_req returns the -authenticator in a structure of this type. KTEXT itself is really a -pointer to the structure. The actual structure is of type KTEXT_ST. -.PP -The -.I AUTH_DAT -structure is filled in by krb_rd_req. It must be allocated before -calling krb_rd_req, and a pointer to it is passed. The structure is -filled in with data obtained from Kerberos. -.I MSG_DAT -structure is filled in by either krb_rd_priv, krb_rd_safe, or -krb_rd_err. It must be allocated before the call and a pointer to it -is passed. The structure is -filled in with data obtained from Kerberos. -.PP -.SH FILES -/usr/include/kerberosIV/krb.h -.br -/usr/lib/libkrb.a -.br -/usr/include/des.h -.br -/usr/lib/libdes.a -.br -/etc/kerberosIV/aname -.br -/etc/kerberosIV/srvtab -.br -/tmp/tkt[uid] -.SH "SEE ALSO" -kerberos(1), des_crypt(3) -.SH DIAGNOSTICS -.SH BUGS -The caller of -.I krb_rd_req, krb_rd_priv, and krb_rd_safe -must check time order and for replay attempts. -.I krb_ck_repl -is not implemented yet. -.SH AUTHORS -Clifford Neuman, MIT Project Athena -.br -Steve Miller, MIT Project Athena/Digital Equipment Corporation -.SH RESTRICTIONS -COPYRIGHT 1985,1986,1989 Massachusetts Institute of Technology diff --git a/eBones/lib/libkrb/krb_err.et b/eBones/lib/libkrb/krb_err.et deleted file mode 100644 index 6200280b1200a..0000000000000 --- a/eBones/lib/libkrb/krb_err.et +++ /dev/null @@ -1,269 +0,0 @@ -# Copyright 1987,1988 Massachusetts Institute of Technology -# For copying and distribution information, see the file -# "Copyright.MIT". -# -# from: krb_err.et,v 4.1 89/09/26 09:24:20 jtkohl Exp $ -# $Id: krb_err.et,v 1.3 1995/09/07 21:38:09 markm Exp $ -# - error_table krb - - ec KRBET_KSUCCESS, - "Kerberos successful" - - ec KRBET_KDC_NAME_EXP, - "Kerberos principal expired" - - ec KRBET_KDC_SERVICE_EXP, - "Kerberos service expired" - - ec KRBET_KDC_AUTH_EXP, - "Kerberos auth expired" - - ec KRBET_KDC_PKT_VER, - "Incorrect kerberos master key version" - - ec KRBET_KDC_P_MKEY_VER, - "Incorrect kerberos master key version" - - ec KRBET_KDC_S_MKEY_VER, - "Incorrect kerberos master key version" - - ec KRBET_KDC_BYTE_ORDER, - "Kerberos error: byte order unknown" - - ec KRBET_KDC_PR_UNKNOWN, - "Kerberos principal unknown" - - ec KRBET_KDC_PR_N_UNIQUE, - "Kerberos principal not unique" - - ec KRBET_KDC_NULL_KEY, - "Kerberos principal has null key" - - ec KRBET_KRB_RES11, - "Reserved 11" - - ec KRBET_KRB_RES12, - "Reserved 12" - - ec KRBET_KRB_RES13, - "Reserved 13" - - ec KRBET_KRB_RES14, - "Reserved 14" - - ec KRBET_KRB_RES15, - "Reserved 15" - - ec KRBET_KRB_RES16, - "Reserved 16" - - ec KRBET_KRB_RES17, - "Reserved 17" - - ec KRBET_KRB_RES18, - "Reserved 18" - - ec KRBET_KRB_RES19, - "Reserved 19" - - ec KRBET_KDC_GEN_ERR, - "Generic error from Kerberos KDC" - - ec KRBET_GC_TKFIL, - "Can't read Kerberos ticket file" - - ec KRBET_GC_NOTKT, - "Can't find Kerberos ticket or TGT" - - ec KRBET_KRB_RES23, - "Reserved 23" - - ec KRBET_KRB_RES24, - "Reserved 24" - - ec KRBET_KRB_RES25, - "Reserved 25" - - ec KRBET_MK_AP_TGTEXP, - "Kerberos TGT Expired" - - ec KRBET_KRB_RES27, - "Reserved 27" - - ec KRBET_KRB_RES28, - "Reserved 28" - - ec KRBET_KRB_RES29, - "Reserved 29" - - ec KRBET_KRB_RES30, - "Reserved 30" - - ec KRBET_RD_AP_UNDEC, - "Kerberos error: Can't decode authenticator" - - ec KRBET_RD_AP_EXP, - "Kerberos ticket expired" - - ec KRBET_RD_AP_NYV, - "Kerberos ticket not yet valid" - - ec KRBET_RD_AP_REPEAT, - "Kerberos error: Repeated request" - - ec KRBET_RD_AP_NOT_US, - "The kerberos ticket isn't for us" - - ec KRBET_RD_AP_INCON, - "Kerberos request inconsistent" - - ec KRBET_RD_AP_TIME, - "Kerberos error: delta_t too big" - - ec KRBET_RD_AP_BADD, - "Kerberos error: incorrect net address" - - ec KRBET_RD_AP_VERSION, - "Kerberos protocol version mismatch" - - ec KRBET_RD_AP_MSG_TYPE, - "Kerberos error: invalid msg type" - - ec KRBET_RD_AP_MODIFIED, - "Kerberos error: message stream modified" - - ec KRBET_RD_AP_ORDER, - "Kerberos error: message out of order" - - ec KRBET_RD_AP_UNAUTHOR, - "Kerberos error: unauthorized request" - - ec KRBET_KRB_RES44, - "Reserved 44" - - ec KRBET_KRB_RES45, - "Reserved 45" - - ec KRBET_KRB_RES46, - "Reserved 46" - - ec KRBET_KRB_RES47, - "Reserved 47" - - ec KRBET_KRB_RES48, - "Reserved 48" - - ec KRBET_KRB_RES49, - "Reserved 49" - - ec KRBET_KRB_RES50, - "Reserved 50" - - ec KRBET_GT_PW_NULL, - "Kerberos error: current PW is null" - - ec KRBET_GT_PW_BADPW, - "Kerberos error: Incorrect current password" - - ec KRBET_GT_PW_PROT, - "Kerberos protocol error" - - ec KRBET_GT_PW_KDCERR, - "Error returned by Kerberos KDC" - - ec KRBET_GT_PW_NULLTKT, - "Null Kerberos ticket returned by KDC" - - ec KRBET_SKDC_RETRY, - "Kerberos error: Retry count exceeded" - - ec KRBET_SKDC_CANT, - "Kerberos error: Can't send request" - - ec KRBET_KRB_RES58, - "Reserved 58" - - ec KRBET_KRB_RES59, - "Reserved 59" - - ec KRBET_KRB_RES60, - "Reserved 60" - - ec KRBET_INTK_W_NOTALL, - "Kerberos error: not all tickets returned" - - ec KRBET_INTK_BADPW, - "Kerberos error: incorrect password" - - ec KRBET_INTK_PROT, - "Kerberos error: Protocol Error" - - ec KRBET_KRB_RES64, - "Reserved 64" - - ec KRBET_KRB_RES65, - "Reserved 65" - - ec KRBET_KRB_RES66, - "Reserved 66" - - ec KRBET_KRB_RES67, - "Reserved 67" - - ec KRBET_KRB_RES68, - "Reserved 68" - - ec KRBET_KRB_RES69, - "Reserved 69" - - ec KRBET_INTK_ERR, - "Other error" - - ec KRBET_AD_NOTGT, - "Don't have Kerberos ticket-granting ticket" - - ec KRBET_KRB_RES72, - "Reserved 72" - - ec KRBET_KRB_RES73, - "Reserved 73" - - ec KRBET_KRB_RES74, - "Reserved 74" - - ec KRBET_KRB_RES75, - "Reserved 75" - - ec KRBET_NO_TKT_FIL, - "No ticket file found" - - ec KRBET_TKT_FIL_ACC, - "Couldn't access ticket file" - - ec KRBET_TKT_FIL_LCK, - "Couldn't lock ticket file" - - ec KRBET_TKT_FIL_FMT, - "Bad ticket file format" - - ec KRBET_TKT_FIL_INI, - "tf_init not called first" - - ec KRBET_KNAME_FMT, - "Bad Kerberos name format" - - ec KRBET_GT_LADDR_NOSOCK, - "Can't open socket" - - ec KRBET_GT_LADDR_IFLIST, - "Can't retrieve local interface list" - - ec KRBET_GT_LADDR_NVI, - "No valid local interface found" - - ec KRBET_BND_LADDR_BIND, - "Can't bind local address" - - end - diff --git a/eBones/lib/libkrb/krb_err_txt.c b/eBones/lib/libkrb/krb_err_txt.c deleted file mode 100644 index 040727b99e5f4..0000000000000 --- a/eBones/lib/libkrb/krb_err_txt.c +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: krb_err_txt.c,v 4.7 88/12/01 14:10:14 jtkohl Exp $ - * $Id: krb_err_txt.c,v 1.3 1995/09/07 21:38:10 markm Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: krb_err_txt.c,v 1.3 1995/09/07 21:38:10 markm Exp $"; -#endif lint -#endif - -/* - * This file contains an array of error text strings. - * The associated error codes (which are defined in "krb.h") - * follow the string in the comments at the end of each line. - */ - -char *krb_err_txt[256] = { - "OK", /* 000 */ - "Principal expired (kerberos)", /* 001 */ - "Service expired (kerberos)", /* 002 */ - "Authentication expired (kerberos)", /* 003 */ - "Unknown protocol version number (kerberos)", /* 004 */ - "Principal: Incorrect master key version (kerberos)", /* 005 */ - "Service: Incorrect master key version (kerberos)", /* 006 */ - "Bad byte order (kerberos)", /* 007 */ - "Principal unknown (kerberos)", /* 008 */ - "Principal not unique (kerberos)", /* 009 */ - "Principal has null key (kerberos)", /* 010 */ - "Reserved error message 11 (kerberos)", /* 011 */ - "Reserved error message 12 (kerberos)", /* 012 */ - "Reserved error message 13 (kerberos)", /* 013 */ - "Reserved error message 14 (kerberos)", /* 014 */ - "Reserved error message 15 (kerberos)", /* 015 */ - "Reserved error message 16 (kerberos)", /* 016 */ - "Reserved error message 17 (kerberos)", /* 017 */ - "Reserved error message 18 (kerberos)", /* 018 */ - "Reserved error message 19 (kerberos)", /* 019 */ - "Permission Denied (kerberos)", /* 020 */ - "Can't read ticket file (krb_get_cred)", /* 021 */ - "Can't find ticket (krb_get_cred)", /* 022 */ - "Reserved error message 23 (krb_get_cred)", /* 023 */ - "Reserved error message 24 (krb_get_cred)", /* 024 */ - "Reserved error message 25 (krb_get_cred)", /* 025 */ - "Ticket granting ticket expired (krb_mk_req)", /* 026 */ - "Reserved error message 27 (krb_mk_req)", /* 027 */ - "Reserved error message 28 (krb_mk_req)", /* 028 */ - "Reserved error message 29 (krb_mk_req)", /* 029 */ - "Reserved error message 30 (krb_mk_req)", /* 030 */ - "Can't decode authenticator (krb_rd_req)", /* 031 */ - "Ticket expired (krb_rd_req)", /* 032 */ - "Ticket issue date too far in the future (krb_rd_req)",/* 033 */ - "Repeat request (krb_rd_req)", /* 034 */ - "Ticket for wrong server (krb_rd_req)", /* 035 */ - "Request inconsistent (krb_rd_req)", /* 036 */ - "Time is out of bounds (krb_rd_req)", /* 037 */ - "Incorrect network address (krb_rd_req)", /* 038 */ - "Protocol version mismatch (krb_rd_req)", /* 039 */ - "Illegal message type (krb_rd_req)", /* 040 */ - "Message integrity error (krb_rd_req)", /* 041 */ - "Message duplicate or out of order (krb_rd_req)", /* 042 */ - "Unauthorized request (krb_rd_req)", /* 043 */ - "Reserved error message 44 (krb_rd_req)", /* 044 */ - "Reserved error message 45 (krb_rd_req)", /* 045 */ - "Reserved error message 46 (krb_rd_req)", /* 046 */ - "Reserved error message 47 (krb_rd_req)", /* 047 */ - "Reserved error message 48 (krb_rd_req)", /* 048 */ - "Reserved error message 49 (krb_rd_req)", /* 049 */ - "Reserved error message 50 (krb_rd_req)", /* 050 */ - "Current password is NULL (get_pw_tkt)", /* 051 */ - "Current password incorrect (get_pw_tkt)", /* 052 */ - "Protocol error (gt_pw_tkt)", /* 053 */ - "Error returned by KDC (gt_pw_tkt)", /* 054 */ - "Null ticket returned by KDC (gt_pw_tkt)", /* 055 */ - "Retry count exceeded (send_to_kdc)", /* 056 */ - "Can't send request (send_to_kdc)", /* 057 */ - "Reserved error message 58 (send_to_kdc)", /* 058 */ - "Reserved error message 59 (send_to_kdc)", /* 059 */ - "Reserved error message 60 (send_to_kdc)", /* 060 */ - "Warning: Not ALL tickets returned", /* 061 */ - "Password incorrect", /* 062 */ - "Protocol error (get_intkt)", /* 063 */ - "Reserved error message 64 (get_in_tkt)", /* 064 */ - "Reserved error message 65 (get_in_tkt)", /* 065 */ - "Reserved error message 66 (get_in_tkt)", /* 066 */ - "Reserved error message 67 (get_in_tkt)", /* 067 */ - "Reserved error message 68 (get_in_tkt)", /* 068 */ - "Reserved error message 69 (get_in_tkt)", /* 069 */ - "Generic error (get_intkt)", /* 070 */ - "Don't have ticket granting ticket (get_ad_tkt)", /* 071 */ - "Reserved error message 72 (get_ad_tkt)", /* 072 */ - "Reserved error message 73 (get_ad_tkt)", /* 073 */ - "Reserved error message 74 (get_ad_tkt)", /* 074 */ - "Reserved error message 75 (get_ad_tkt)", /* 075 */ - "No ticket file (tf_util)", /* 076 */ - "Can't access ticket file (tf_util)", /* 077 */ - "Can't lock ticket file; try later (tf_util)", /* 078 */ - "Bad ticket file format (tf_util)", /* 079 */ - "Read ticket file before tf_init (tf_util)", /* 080 */ - "Bad Kerberos name format (kname_parse)", /* 081 */ - "Can't open socket", /* 082 */ - "Can't retrieve local interface list", /* 083 */ - "No valid local interface found", /* 084 */ - "Can't bind local address", /* 085 */ - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "(reserved)", - "Generic kerberos error (kfailure)", /* 255 */ -}; diff --git a/eBones/lib/libkrb/krb_get_in_tkt.c b/eBones/lib/libkrb/krb_get_in_tkt.c deleted file mode 100644 index b6ff308a77c01..0000000000000 --- a/eBones/lib/libkrb/krb_get_in_tkt.c +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Copyright 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: der: krb_get_in_tkt.c,v 4.19 89/07/18 16:31:31 jtkohl Exp $ - * $Id: krb_get_in_tkt.c,v 1.3 1995/07/18 16:39:04 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: krb_get_in_tkt.c,v 1.3 1995/07/18 16:39:04 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <des.h> -#include <prot.h> - -#include <stdio.h> -#include <strings.h> -#include <errno.h> - -/* use the bsd time.h struct defs for PC too! */ -#include <sys/time.h> -#include <sys/types.h> - -int swap_bytes; - -/* - * decrypt_tkt(): Given user, instance, realm, passwd, key_proc - * and the cipher text sent from the KDC, decrypt the cipher text - * using the key returned by key_proc. - */ - -static int -decrypt_tkt(user, instance, realm, arg, key_proc, cipp) - char *user; - char *instance; - char *realm; - char *arg; - int (*key_proc)(); - KTEXT *cipp; -{ - KTEXT cip = *cipp; - C_Block key; /* Key for decrypting cipher */ - Key_schedule key_s; - -#ifndef NOENCRYPTION - /* Attempt to decrypt it */ -#endif - - /* generate a key */ - - { - register int rc; - rc = (*key_proc)(user,instance,realm,arg,key); - if (rc) - return(rc); - } - -#ifndef NOENCRYPTION - key_sched(&key,key_s); - pcbc_encrypt((C_Block *)cip->dat,(C_Block *)cip->dat, - (long) cip->length,key_s,(C_Block *)key,DES_DECRYPT); -#endif /* !NOENCRYPTION */ - /* Get rid of all traces of key */ - bzero((char *)key,sizeof(key)); - bzero((char *)key_s,sizeof(key_s)); - - return(0); -} - -/* - * krb_get_in_tkt() gets a ticket for a given principal to use a given - * service and stores the returned ticket and session key for future - * use. - * - * The "user", "instance", and "realm" arguments give the identity of - * the client who will use the ticket. The "service" and "sinstance" - * arguments give the identity of the server that the client wishes - * to use. (The realm of the server is the same as the Kerberos server - * to whom the request is sent.) The "life" argument indicates the - * desired lifetime of the ticket; the "key_proc" argument is a pointer - * to the routine used for getting the client's private key to decrypt - * the reply from Kerberos. The "decrypt_proc" argument is a pointer - * to the routine used to decrypt the reply from Kerberos; and "arg" - * is an argument to be passed on to the "key_proc" routine. - * - * If all goes well, krb_get_in_tkt() returns INTK_OK, otherwise it - * returns an error code: If an AUTH_MSG_ERR_REPLY packet is returned - * by Kerberos, then the error code it contains is returned. Other - * error codes returned by this routine include INTK_PROT to indicate - * wrong protocol version, INTK_BADPW to indicate bad password (if - * decrypted ticket didn't make sense), INTK_ERR if the ticket was for - * the wrong server or the ticket store couldn't be initialized. - * - * The format of the message sent to Kerberos is as follows: - * - * Size Variable Field - * ---- -------- ----- - * - * 1 byte KRB_PROT_VERSION protocol version number - * 1 byte AUTH_MSG_KDC_REQUEST | message type - * HOST_BYTE_ORDER local byte order in lsb - * string user client's name - * string instance client's instance - * string realm client's realm - * 4 bytes tlocal.tv_sec timestamp in seconds - * 1 byte life desired lifetime - * string service service's name - * string sinstance service's instance - */ - -int -krb_get_in_tkt(user, instance, realm, service, sinstance, life, - key_proc, decrypt_proc, arg) - char *user; - char *instance; - char *realm; - char *service; - char *sinstance; - int life; - int (*key_proc)(); - int (*decrypt_proc)(); - char *arg; -{ - KTEXT_ST pkt_st; - KTEXT pkt = &pkt_st; /* Packet to KDC */ - KTEXT_ST rpkt_st; - KTEXT rpkt = &rpkt_st; /* Returned packet */ - KTEXT_ST cip_st; - KTEXT cip = &cip_st; /* Returned Ciphertext */ - KTEXT_ST tkt_st; - KTEXT tkt = &tkt_st; /* Current ticket */ - C_Block ses; /* Session key for tkt */ - int kvno; /* Kvno for session key */ - unsigned char *v = pkt->dat; /* Prot vers no */ - unsigned char *t = (pkt->dat+1); /* Prot msg type */ - - char s_name[SNAME_SZ]; - char s_instance[INST_SZ]; - char rlm[REALM_SZ]; - int lifetime; - int msg_byte_order; - int kerror; - unsigned long exp_date; - char *ptr; - - struct timeval t_local; - - unsigned long rep_err_code; - - unsigned long kdc_time; /* KDC time */ - - /* BUILD REQUEST PACKET */ - - /* Set up the fixed part of the packet */ - *v = (unsigned char) KRB_PROT_VERSION; - *t = (unsigned char) AUTH_MSG_KDC_REQUEST; - *t |= HOST_BYTE_ORDER; - - /* Now for the variable info */ - (void) strcpy((char *)(pkt->dat+2),user); /* aname */ - pkt->length = 3 + strlen(user); - (void) strcpy((char *)(pkt->dat+pkt->length), - instance); /* instance */ - pkt->length += 1 + strlen(instance); - (void) strcpy((char *)(pkt->dat+pkt->length),realm); /* realm */ - pkt->length += 1 + strlen(realm); - - (void) gettimeofday(&t_local,(struct timezone *) 0); - /* timestamp */ - bcopy((char *)&(t_local.tv_sec),(char *)(pkt->dat+pkt->length), 4); - pkt->length += 4; - - *(pkt->dat+(pkt->length)++) = (char) life; - (void) strcpy((char *)(pkt->dat+pkt->length),service); - pkt->length += 1 + strlen(service); - (void) strcpy((char *)(pkt->dat+pkt->length),sinstance); - pkt->length += 1 + strlen(sinstance); - - rpkt->length = 0; - - /* SEND THE REQUEST AND RECEIVE THE RETURN PACKET */ - - if ((kerror = send_to_kdc(pkt, rpkt, realm))) return(kerror); - - /* check packet version of the returned packet */ - if (pkt_version(rpkt) != KRB_PROT_VERSION) - return(INTK_PROT); - - /* Check byte order */ - msg_byte_order = pkt_msg_type(rpkt) & 1; - swap_bytes = 0; - if (msg_byte_order != HOST_BYTE_ORDER) { - swap_bytes++; - } - - switch (pkt_msg_type(rpkt) & ~1) { - case AUTH_MSG_KDC_REPLY: - break; - case AUTH_MSG_ERR_REPLY: - bcopy(pkt_err_code(rpkt),(char *) &rep_err_code,4); - if (swap_bytes) swap_u_long(rep_err_code); - return((int)rep_err_code); - default: - return(INTK_PROT); - } - - /* EXTRACT INFORMATION FROM RETURN PACKET */ - - /* get the principal's expiration date */ - bcopy(pkt_x_date(rpkt),(char *) &exp_date,sizeof(exp_date)); - if (swap_bytes) swap_u_long(exp_date); - - /* Extract the ciphertext */ - cip->length = pkt_clen(rpkt); /* let clen do the swap */ - - if ((cip->length < 0) || (cip->length > sizeof(cip->dat))) - return(INTK_ERR); /* no appropriate error code - currently defined for INTK_ */ - /* copy information from return packet into "cip" */ - bcopy((char *) pkt_cipher(rpkt),(char *)(cip->dat),cip->length); - - /* Attempt to decrypt the reply. */ - if (decrypt_proc == NULL) - decrypt_proc = decrypt_tkt; - (*decrypt_proc)(user, instance, realm, arg, key_proc, &cip); - - ptr = (char *) cip->dat; - - /* extract session key */ - bcopy(ptr,(char *)ses,8); - ptr += 8; - - if ((strlen(ptr) + (ptr - (char *) cip->dat)) > cip->length) - return(INTK_BADPW); - - /* extract server's name */ - (void) strcpy(s_name,ptr); - ptr += strlen(s_name) + 1; - - if ((strlen(ptr) + (ptr - (char *) cip->dat)) > cip->length) - return(INTK_BADPW); - - /* extract server's instance */ - (void) strcpy(s_instance,ptr); - ptr += strlen(s_instance) + 1; - - if ((strlen(ptr) + (ptr - (char *) cip->dat)) > cip->length) - return(INTK_BADPW); - - /* extract server's realm */ - (void) strcpy(rlm,ptr); - ptr += strlen(rlm) + 1; - - /* extract ticket lifetime, server key version, ticket length */ - /* be sure to avoid sign extension on lifetime! */ - lifetime = (unsigned char) ptr[0]; - kvno = (unsigned char) ptr[1]; - tkt->length = (unsigned char) ptr[2]; - ptr += 3; - - if ((tkt->length < 0) || - ((tkt->length + (ptr - (char *) cip->dat)) > cip->length)) - return(INTK_BADPW); - - /* extract ticket itself */ - bcopy(ptr,(char *)(tkt->dat),tkt->length); - ptr += tkt->length; - - if (strcmp(s_name, service) || strcmp(s_instance, sinstance) || - strcmp(rlm, realm)) /* not what we asked for */ - return(INTK_ERR); /* we need a better code here XXX */ - - /* check KDC time stamp */ - bcopy(ptr,(char *)&kdc_time,4); /* Time (coarse) */ - if (swap_bytes) swap_u_long(kdc_time); - - ptr += 4; - - (void) gettimeofday(&t_local,(struct timezone *) 0); - if (abs((int)(t_local.tv_sec - kdc_time)) > CLOCK_SKEW) { - return(RD_AP_TIME); /* XXX should probably be better - code */ - } - - /* initialize ticket cache */ - if (in_tkt(user,instance) != KSUCCESS) - return(INTK_ERR); - - /* stash ticket, session key, etc. for future use */ - if ((kerror = save_credentials(s_name, s_instance, rlm, ses, - lifetime, kvno, tkt, t_local.tv_sec))) - return(kerror); - - return(INTK_OK); -} diff --git a/eBones/lib/libkrb/krb_realmofhost.3 b/eBones/lib/libkrb/krb_realmofhost.3 deleted file mode 100644 index c3b14cc457882..0000000000000 --- a/eBones/lib/libkrb/krb_realmofhost.3 +++ /dev/null @@ -1,161 +0,0 @@ -.\" from: krb_realmofhost.3,v 4.1 89/01/23 11:10:47 jtkohl Exp $ -.\" $Id: krb_realmofhost.3,v 1.3 1995/07/18 16:41:02 mark Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KRB_REALMOFHOST 3 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -krb_realmofhost, krb_get_phost, krb_get_krbhst, krb_get_admhst, -krb_get_lrealm \- additional Kerberos utility routines -.SH SYNOPSIS -.nf -.nj -.ft B -#include <kerberosIV/krb.h> -#include <des.h> -#include <netinet/in.h> -.PP -.ft B -char *krb_realmofhost(host) -char *host; -.PP -.ft B -char *krb_get_phost(alias) -char *alias; -.PP -.ft B -krb_get_krbhst(host,realm,n) -char *host; -char *realm; -int n; -.PP -.ft B -krb_get_admhst(host,realm,n) -char *host; -char *realm; -int n; -.PP -.ft B -krb_get_lrealm(realm,n) -char *realm; -int n; -.fi -.ft R -.SH DESCRIPTION -.I krb_realmofhost -returns the Kerberos realm of the host -.IR host , -as determined by the translation table -.IR /etc/kerberosIV/krb.realms . -.I host -should be the fully-qualified domain-style primary host name of the host -in question. In order to prevent certain security attacks, this routine -must either have -.I a priori -knowledge of a host's realm, or obtain such information securely. -.PP -The format of the translation file is described by -.IR krb.realms (5). -If -.I host -exactly matches a host_name line, the corresponding realm -is returned. -Otherwise, if the domain portion of -.I host -matches a domain_name line, the corresponding realm -is returned. -If -.I host -contains a domain, but no translation is found, -.IR host 's -domain is converted to upper-case and returned. -If -.I host -contains no discernable domain, or an error occurs, -the local realm name, as supplied by -.IR krb_get_lrealm (3), -is returned. -.PP -.I krb_get_phost -converts the hostname -.I alias -(which can be either an official name or an alias) into the instance -name to be used in obtaining Kerberos tickets for most services, -including the Berkeley rcmd suite (rlogin, rcp, rsh). -.br -The current convention is to return the first segment of the official -domain-style name after conversion to lower case. -.PP -.I krb_get_krbhst -fills in -.I host -with the hostname of the -.IR n th -host running a Kerberos key distribution center (KDC) -for realm -.IR realm , -as specified in the configuration file (\fI/etc/kerberosIV/krb.conf\fR). -The configuration file is described by -.IR krb.conf (5). -If the host is successfully filled in, the routine -returns KSUCCESS. -If the file cannot be opened, and -.I n -equals 1, then the value of KRB_HOST as defined in -.I <krb.h> -is filled in, and KSUCCESS is returned. If there are fewer than -.I n -hosts running a Kerberos KDC for the requested realm, or the -configuration file is malformed, the routine -returns KFAILURE. -.PP -.I krb_get_admhst -fills in -.I host -with the hostname of the -.IR n th -host running a Kerberos KDC database administration server -for realm -.IR realm , -as specified in the configuration file (\fI/etc/kerberosIV/krb.conf\fR). -If the file cannot be opened or is malformed, or there are fewer than -.I n -hosts running a Kerberos KDC database administration server, -the routine returns KFAILURE. -.PP -The character arrays used as return values for -.IR krb_get_krbhst , -.IR krb_get_admhst , -should be large enough to -hold any hostname (MAXHOSTNAMELEN from <sys/param.h>). -.PP -.I krb_get_lrealm -fills in -.I realm -with the -.IR n th -realm of the local host, as specified in the configuration file. -.I realm -should be at least REALM_SZ (from -.IR <krb.h>) characters long. -.PP -.SH SEE ALSO -kerberos(3), krb.conf(5), krb.realms(5) -.SH FILES -.TP 20n -/etc/kerberosIV/krb.realms -translation file for host-to-realm mapping. -.TP -/etc/kerberosIV/krb.conf -local realm-name and realm/server configuration file. -.SH BUGS -The current convention for instance names is too limited; the full -domain name should be used. -.PP -.I krb_get_lrealm -currently only supports -.I n -= 1. It should really consult the user's ticket cache to determine the -user's current realm, rather than consulting a file on the host. diff --git a/eBones/lib/libkrb/krb_sendauth.3 b/eBones/lib/libkrb/krb_sendauth.3 deleted file mode 100644 index 8f250a5925575..0000000000000 --- a/eBones/lib/libkrb/krb_sendauth.3 +++ /dev/null @@ -1,356 +0,0 @@ -.\" from: krb_sendauth.3,v 4.1 89/01/23 11:10:58 jtkohl Exp $ -.\" $Id: krb_sendauth.3,v 1.3 1995/09/13 17:23:57 markm Exp $ -.\" Copyright 1988 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KRB_SENDAUTH 3 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -krb_sendauth, krb_recvauth, krb_net_write, krb_net_read \- -Kerberos routines for sending authentication via network stream sockets -.SH SYNOPSIS -.nf -.nj -.ft B -#include <kerberosIV/krb.h> -#include <des.h> -#include <netinet/in.h> -.PP -.fi -.HP 1i -.ft B -int krb_sendauth(options, fd, ktext, service, inst, realm, checksum, -msg_data, cred, schedule, laddr, faddr, version) -.nf -.RS 0 -.ft B -long options; -int fd; -KTEXT ktext; -char *service, *inst, *realm; -u_long checksum; -MSG_DAT *msg_data; -CREDENTIALS *cred; -Key_schedule schedule; -struct sockaddr_in *laddr, *faddr; -char *version; -.PP -.fi -.HP 1i -.ft B -int krb_recvauth(options, fd, ktext, service, inst, faddr, laddr, -auth_data, filename, schedule, version) -.nf -.RS 0 -.ft B -long options; -int fd; -KTEXT ktext; -char *service, *inst; -struct sockaddr_in *faddr, *laddr; -AUTH_DAT *auth_data; -char *filename; -Key_schedule schedule; -char *version; -.PP -.ft B -int krb_net_write(fd, buf, len) -int fd; -char *buf; -int len; -.PP -.ft B -int krb_net_read(fd, buf, len) -int fd; -char *buf; -int len; -.fi -.SH DESCRIPTION -.PP -These functions, -which are built on top of the core Kerberos library, -provide a convenient means for client and server -programs to send authentication messages -to one another through network connections. -The -.I krb_sendauth -function sends an authenticated ticket from the client program to -the server program by writing the ticket to a network socket. -The -.I krb_recvauth -function receives the ticket from the client by -reading from a network socket. - -To ensure proper behavior on multi-homed systems (machines with more -than one network interface) all sockets used with these routines should -be bound to the same address as that used by the Kerberos library via -.I krb_get_local_addr -or -.I krb_bind_local_addr. - -.SH KRB_SENDAUTH -.PP -This function writes the ticket to -the network socket specified by the -file descriptor -.IR fd, -returning KSUCCESS if the write proceeds successfully, -and an error code if it does not. - -The -.I ktext -argument should point to an allocated KTEXT_ST structure. -The -.IR service, -.IR inst, -and -.IR realm -arguments specify the server program's Kerberos principal name, -instance, and realm. -If you are writing a client that uses the local realm exclusively, -you can set the -.I realm -argument to NULL. - -The -.I version -argument allows the client program to pass an application-specific -version string that the server program can then match against -its own version string. -The -.I version -string can be up to KSEND_VNO_LEN (see -.IR <krb.h> ) -characters in length. - -The -.I checksum -argument can be used to pass checksum information to the -server program. -The client program is responsible for specifying this information. -This checksum information is difficult to corrupt because -.I krb_sendauth -passes it over the network in encrypted form. -The -.I checksum -argument is passed as the checksum argument to -.IR krb_mk_req . - -You can set -.IR krb_sendauth's -other arguments to NULL unless you want the -client and server programs to mutually authenticate -themselves. -In the case of mutual authentication, -the client authenticates itself to the server program, -and demands that the server in turn authenticate itself to -the client. - -.SH KRB_SENDAUTH AND MUTUAL AUTHENTICATION -.PP -If you want mutual authentication, -make sure that you read all pending data from the local socket -before calling -.IR krb_sendauth. -Set -.IR krb_sendauth's -.I options -argument to -.BR KOPT_DO_MUTUAL -(this macro is defined in the -.IR krb.h -file); -make sure that the -.I laddr -argument points to -the address of the local socket, -and that -.I faddr -points to the foreign socket's network address. - -.I Krb_sendauth -fills in the other arguments-- -.IR msg_data , -.IR cred , -and -.IR schedule --before -sending the ticket to the server program. -You must, however, allocate space for these arguments -before calling the function. - -.I Krb_sendauth -supports two other options: -.BR KOPT_DONT_MK_REQ, -and -.BR KOPT_DONT_CANON. -If called with -.I options -set as KOPT_DONT_MK_REQ, -.I krb_sendauth -will not use the -.I krb_mk_req -function to retrieve the ticket from the Kerberos server. -The -.I ktext -argument must point to an existing ticket and authenticator (such as -would be created by -.IR krb_mk_req ), -and the -.IR service, -.IR inst, -and -.IR realm -arguments can be set to NULL. - -If called with -.I options -set as KOPT_DONT_CANON, -.I krb_sendauth -will not convert the service's instance to canonical form using -.IR krb_get_phost (3). - -If you want to call -.I krb_sendauth -with a multiple -.I options -specification, -construct -.I options -as a bitwise-OR of the options you want to specify. - -.SH KRB_RECVAUTH -.PP -The -.I krb_recvauth -function -reads a ticket/authenticator pair from the socket pointed to by the -.I fd -argument. -Set the -.I options -argument -as a bitwise-OR of the options desired. -Currently only KOPT_DO_MUTUAL is useful to the receiver. - -The -.I ktext -argument -should point to an allocated KTEXT_ST structure. -.I Krb_recvauth -fills -.I ktext -with the -ticket/authenticator pair read from -.IR fd , -then passes it to -.IR krb_rd_req . - -The -.I service -and -.I inst -arguments -specify the expected service and instance for which the ticket was -generated. They are also passed to -.IR krb_rd_req. -The -.I inst -argument may be set to "*" if the caller wishes -.I krb_mk_req -to fill in the instance used (note that there must be space in the -.I inst -argument to hold a full instance name, see -.IR krb_mk_req (3)). - -The -.I faddr -argument -should point to the address of the peer which is presenting the ticket. -It is also passed to -.IR krb_rd_req . - -If the client and server plan to mutually authenticate -one another, -the -.I laddr -argument -should point to the local address of the file descriptor. -Otherwise you can set this argument to NULL. - -The -.I auth_data -argument -should point to an allocated AUTH_DAT area. -It is passed to and filled in by -.IR krb_rd_req . -The checksum passed to the corresponding -.I krb_sendauth -is available as part of the filled-in AUTH_DAT area. - -The -.I filename -argument -specifies the filename -which the service program should use to obtain its service key. -.I Krb_recvauth -passes -.I filename -to the -.I krb_rd_req -function. -If you set this argument to "", -.I krb_rd_req -looks for the service key in the file -.IR /etc/kerberosIV/srvtab. - -If the client and server are performing mutual authenication, -the -.I schedule -argument -should point to an allocated Key_schedule. -Otherwise it is ignored and may be NULL. - -The -.I version -argument should point to a character array of at least KSEND_VNO_LEN -characters. It is filled in with the version string passed by the client to -.IR krb_sendauth. -.PP -.SH KRB_NET_WRITE AND KRB_NET_READ -.PP -The -.I krb_net_write -function -emulates the write(2) system call, but guarantees that all data -specified is written to -.I fd -before returning, unless an error condition occurs. -.PP -The -.I krb_net_read -function -emulates the read(2) system call, but guarantees that the requested -amount of data is read from -.I fd -before returning, unless an error condition occurs. -.PP -.SH BUGS -.IR krb_sendauth, -.IR krb_recvauth, -.IR krb_net_write, -and -.IR krb_net_read -will not work properly on sockets set to non-blocking I/O mode. - -.SH SEE ALSO - -krb_mk_req(3), krb_rd_req(3), krb_get_phost(3), krb_get_local_addr(3), -krb_bind_local_addr(3) - -.SH AUTHOR -John T. Kohl, MIT Project Athena -.SH RESTRICTIONS -Copyright 1988, Massachusetts Instititute of Technology. -For copying and distribution information, -please see the file <Copyright.h>. diff --git a/eBones/lib/libkrb/krb_set_tkt_string.3 b/eBones/lib/libkrb/krb_set_tkt_string.3 deleted file mode 100644 index 73b5e5d8d97e8..0000000000000 --- a/eBones/lib/libkrb/krb_set_tkt_string.3 +++ /dev/null @@ -1,43 +0,0 @@ -.\" from: krb_set_tkt_string.3,v 4.1 89/01/23 11:11:09 jtkohl Exp $ -.\" $Id: krb_set_tkt_string.3,v 1.1.1.1 1994/09/30 14:50:07 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KRB_SET_TKT_STRING 3 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -krb_set_tkt_string \- set Kerberos ticket cache file name -.SH SYNOPSIS -.nf -.nj -.ft B -#include <kerberosIV/krb.h> -.PP -.ft B -void krb_set_tkt_string(filename) -char *filename; -.fi -.ft R -.SH DESCRIPTION -.I krb_set_tkt_string -sets the name of the file that holds the user's -cache of Kerberos server tickets and associated session keys. -.PP -The string -.I filename -passed in is copied into local storage. -Only MAXPATHLEN-1 (see <sys/param.h>) characters of the filename are -copied in for use as the cache file name. -.PP -This routine should be called during initialization, before other -Kerberos routines are called; otherwise the routines which fetch the -ticket cache file name may be called and return an undesired ticket file -name until this routine is called. -.SH FILES -.TP 20n -/tmp/tkt[uid] -default ticket file name, unless the environment variable KRBTKFILE is set. -[uid] denotes the user's uid, in decimal. -.SH SEE ALSO -kerberos(3), setenv(3) diff --git a/eBones/lib/libkrb/krbglue.c b/eBones/lib/libkrb/krbglue.c deleted file mode 100644 index f82cf70399f3c..0000000000000 --- a/eBones/lib/libkrb/krbglue.c +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: krbglue.c,v 4.1 89/01/23 15:51:50 wesommer Exp $ - * $Id: krbglue.c,v 1.3 1995/07/18 16:39:05 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -$Id: krbglue.c,v 1.3 1995/07/18 16:39:05 mark Exp $"; -#endif lint -#endif - -#ifndef NCOMPAT -/* - * glue together new libraries and old clients - */ - -#include <stdio.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <des.h> -#include "krb.h" - -/* These definitions should be in krb.h, no? */ -/* -#if defined(__HIGHC__) -#undef __STDC__ -#endif -#ifdef __STDC__ -extern int krb_mk_req (KTEXT, char *, char *, char *, long); -extern int krb_rd_req (KTEXT, char *, char *, long, AUTH_DAT *, char *); -extern int krb_kntoln (AUTH_DAT *, char *); -extern int krb_set_key (char *, int); -extern int krb_get_cred (char *, char *, char *, CREDENTIALS *); -extern long krb_mk_priv (u_char *, u_char *, u_long, Key_schedule, - C_Block, struct sockaddr_in *, - struct sockaddr_in *); -extern long krb_rd_priv (u_char *, u_long, Key_schedule, - C_Block, struct sockaddr_in *, - struct sockaddr_in *, MSG_DAT *); -extern long krb_mk_safe (u_char *, u_char *, u_long, C_Block *, - struct sockaddr_in *, struct sockaddr_in *); -extern long krb_rd_safe (u_char *, u_long, C_Block *, - struct sockaddr_in *, struct sockaddr_in *, - MSG_DAT *); -extern long krb_mk_err (u_char *, long, char *); -extern int krb_rd_err (u_char *, u_long, long *, MSG_DAT *); -extern int krb_get_pw_in_tkt (char *, char *, char *, char *, char *, int, - char *); -extern int krb_get_svc_in_tkt (char *, char *, char *, char *, char *, int, - char *); -extern int krb_get_pw_tkt (char *, char *, char *, char *); -extern int krb_get_lrealm (char *, char *); -extern int krb_realmofhost (char *); -extern char *krb_get_phost (char *); -extern int krb_get_krbhst (char *, char *, int); -#ifdef DEBUG -extern KTEXT krb_create_death_packet (char *); -#endif -#else -extern int krb_mk_req (); -extern int krb_rd_req (); -extern int krb_kntoln (); -extern int krb_set_key (); -extern int krb_get_cred (); -extern long krb_mk_priv (); -extern long krb_rd_priv (); -extern long krb_mk_safe (); -extern long krb_rd_safe (); -extern long krb_mk_err (); -extern int krb_rd_err (); -extern int krb_get_pw_in_tkt (); -extern int krb_get_svc_in_tkt (); -extern int krb_get_pw_tkt (); -extern int krb_get_lrealm (); -extern int krb_realmofhost (); -extern char *krb_get_phost (); -extern int krb_get_krbhst (); -#ifdef DEBUG -extern KTEXT krb_create_death_packet (); -#endif -#endif -*/ - - -int mk_ap_req(authent, service, instance, realm, checksum) - KTEXT authent; - char *service, *instance, *realm; - u_long checksum; -{ - return krb_mk_req(authent,service,instance,realm,checksum); -} - -int rd_ap_req(authent, service, instance, from_addr, ad, fn) - KTEXT authent; - char *service, *instance; - u_long from_addr; - AUTH_DAT *ad; - char *fn; -{ - return krb_rd_req(authent,service,instance,from_addr,ad,fn); -} - -int an_to_ln(ad, lname) - AUTH_DAT *ad; - char *lname; -{ - return krb_kntoln (ad,lname); -} - -int set_serv_key (key, cvt) - char *key; - int cvt; -{ - return krb_set_key(key,cvt); -} - -int get_credentials (svc,inst,rlm,cred) - char *svc, *inst, *rlm; - CREDENTIALS *cred; -{ - return krb_get_cred (svc, inst, rlm, cred); -} - -long mk_private_msg (in,out,in_length,schedule,key,sender,receiver) - u_char *in, *out; - u_long in_length; - Key_schedule schedule; - C_Block key; - struct sockaddr_in *sender, *receiver; -{ - return krb_mk_priv (in,out,in_length,schedule,key,sender,receiver); -} - -long rd_private_msg (in,in_length,schedule,key,sender,receiver,msg_data) - u_char *in; - u_long in_length; - Key_schedule schedule; - C_Block key; - struct sockaddr_in *sender, *receiver; - MSG_DAT *msg_data; -{ - return krb_rd_priv (in,in_length,schedule,key,sender,receiver,msg_data); -} - -long mk_safe_msg (in,out,in_length,key,sender,receiver) - u_char *in, *out; - u_long in_length; - C_Block *key; - struct sockaddr_in *sender, *receiver; -{ - return krb_mk_safe (in,out,in_length,key,sender,receiver); -} - -long rd_safe_msg (in,length,key,sender,receiver,msg_data) - u_char *in; - u_long length; - C_Block *key; - struct sockaddr_in *sender, *receiver; - MSG_DAT *msg_data; -{ - return krb_rd_safe (in,length,key,sender,receiver,msg_data); -} - -long mk_appl_err_msg (out,code,string) - u_char *out; - long code; - char *string; -{ - return krb_mk_err (out,code,string); -} - -long rd_appl_err_msg (in,length,code,msg_data) - u_char *in; - u_long length; - long *code; - MSG_DAT *msg_data; -{ - return krb_rd_err (in,length,code,msg_data); -} - -int get_in_tkt(user,instance,realm,service,sinstance,life,password) - char *user, *instance, *realm, *service, *sinstance; - int life; - char *password; -{ - return krb_get_pw_in_tkt(user,instance,realm,service,sinstance, - life,password); -} - -int get_svc_in_tkt(user, instance, realm, service, sinstance, life, srvtab) - char *user, *instance, *realm, *service, *sinstance; - int life; - char *srvtab; -{ - return krb_get_svc_in_tkt(user, instance, realm, service, sinstance, - life, srvtab); -} - -int get_pw_tkt(user,instance,realm,cpw) - char *user; - char *instance; - char *realm; - char *cpw; -{ - return krb_get_pw_tkt(user,instance,realm,cpw); -} - -int -get_krbrlm (r, n) -char *r; -int n; -{ - return krb_get_lream(r,n); -} - -int -krb_getrealm (host) -{ - return krb_realmofhost(host); -} - -char * -get_phost (host) -char *host -{ - return krb_get_phost(host); -} - -int -get_krbhst (h, r, n) -char *h; -char *r; -int n; -{ - return krb_get_krbhst(h,r,n); -} -#ifdef DEBUG -struct ktext *create_death_packet(a_name) - char *a_name; -{ - return krb_create_death_packet(a_name); -} -#endif /* DEBUG */ - -#if 0 -extern int krb_ck_repl (); - -int check_replay () -{ - return krb_ck_repl (); -} -#endif -#endif /* NCOMPAT */ diff --git a/eBones/lib/libkrb/kuserok.3 b/eBones/lib/libkrb/kuserok.3 deleted file mode 100644 index c7581a6c6f779..0000000000000 --- a/eBones/lib/libkrb/kuserok.3 +++ /dev/null @@ -1,63 +0,0 @@ -.\" from: kuserok.3,v 4.1 89/01/23 11:11:49 jtkohl Exp $ -.\" $Id: kuserok.3,v 1.1.1.1 1994/09/30 14:50:07 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KUSEROK 3 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kuserok \- Kerberos version of ruserok -.SH SYNOPSIS -.nf -.nj -.ft B -#include <kerberosIV/krb.h> -.PP -.ft B -kuserok(kdata, localuser) -AUTH_DAT *auth_data; -char *localuser; -.fi -.ft R -.SH DESCRIPTION -.I kuserok -determines whether a Kerberos principal described by the structure -.I auth_data -is authorized to login as user -.I localuser -according to the authorization file -("~\fIlocaluser\fR/.klogin" by default). It returns 0 (zero) if authorized, -1 (one) if not authorized. -.PP -If there is no account for -.I localuser -on the local machine, authorization is not granted. -If there is no authorization file, and the Kerberos principal described -by -.I auth_data -translates to -.I localuser -(using -.IR krb_kntoln (3)), -authorization is granted. -If the authorization file -can't be accessed, or the file is not owned by -.IR localuser, -authorization is denied. Otherwise, the file is searched for -a matching principal name, instance, and realm. If a match is found, -authorization is granted, else authorization is denied. -.PP -The file entries are in the format: -.nf -.in +5n - name.instance@realm -.in -5n -.fi -with one entry per line. -.SH SEE ALSO -kerberos(3), ruserok(3), krb_kntoln(3) -.SH FILES -.TP 20n -~\fIlocaluser\fR/.klogin -authorization list diff --git a/eBones/lib/libkrb/kuserok.c b/eBones/lib/libkrb/kuserok.c deleted file mode 100644 index 8e5d18ab1e317..0000000000000 --- a/eBones/lib/libkrb/kuserok.c +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * kuserok: check if a kerberos principal has - * access to a local account - * - * from: kuserok.c,v 4.5 89/01/23 09:25:21 jtkohl Exp $ - * $Id: kuserok.c,v 1.3 1995/07/18 16:39:07 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kuserok.c,v 1.3 1995/07/18 16:39:07 mark Exp $"; -#endif lint -#endif - -#include <krb.h> -#include <stdio.h> -#include <unistd.h> -#include <pwd.h> -#include <sys/param.h> -#include <sys/socket.h> -#include <sys/stat.h> -#include <sys/file.h> -#include <strings.h> - -#define OK 0 -#define NOTOK 1 -#define MAX_USERNAME 10 - -/* - * Given a Kerberos principal "kdata", and a local username "luser", - * determine whether user is authorized to login according to the - * authorization file ("~luser/.klogin" by default). Returns OK - * if authorized, NOTOK if not authorized. - * - * If there is no account for "luser" on the local machine, returns - * NOTOK. If there is no authorization file, and the given Kerberos - * name "kdata" translates to the same name as "luser" (using - * krb_kntoln()), returns OK. Otherwise, if the authorization file - * can't be accessed, returns NOTOK. Otherwise, the file is read for - * a matching principal name, instance, and realm. If one is found, - * returns OK, if none is found, returns NOTOK. - * - * The file entries are in the format: - * - * name.instance@realm - * - * one entry per line. - * - * The ATHENA_COMPAT code supports old-style Athena ~luser/.klogin - * file entries. See the file "kparse.c". - */ - -#ifdef ATHENA_COMPAT - -#include <kparse.h> - -/* - * The parmtable defines the keywords we will recognize with their - * default values, and keeps a pointer to the found value. The found - * value should be filled in with strsave(), since FreeParameterSet() - * will release memory for all non-NULL found strings. - * -*** NOTE WELL! *** - * - * The table below is very nice, but we cannot hard-code a default for the - * realm: we have to get the realm via krb_get_lrealm(). Even though the - * default shows as "from krb_get_lrealm, below", it gets changed in - * kuserok to whatever krb_get_lrealm() tells us. That code assumes that - * the realm will be the entry number in the table below, so if you - * change the order of the entries below, you have to change the - * #definition of REALM_SCRIPT to reflect it. - */ -#define REALM_SUBSCRIPT 1 -parmtable kparm[] = { - -/* keyword default found value */ -{"user", "", (char *) NULL}, -{"realm", "see krb_get_lrealm, below", (char *) NULL}, -{"instance", "", (char *) NULL}, -}; -#define KPARMS kparm,PARMCOUNT(kparm) -#endif ATHENA_COMPAT - -int -kuserok(kdata, luser) - AUTH_DAT *kdata; - char *luser; -{ - struct stat sbuf; - struct passwd *pwd; - char pbuf[MAXPATHLEN]; - int isok = NOTOK, rc; - FILE *fp; - char kuser[MAX_USERNAME]; - char principal[ANAME_SZ], inst[INST_SZ], realm[REALM_SZ]; - char linebuf[BUFSIZ]; - char *newline; - int gobble; -#ifdef ATHENA_COMPAT - char local_realm[REALM_SZ]; -#endif ATHENA_COMPAT - - /* no account => no access */ - if ((pwd = getpwnam(luser)) == NULL) { - return(NOTOK); - } - (void) strcpy(pbuf, pwd->pw_dir); - (void) strcat(pbuf, "/.klogin"); - - if (access(pbuf, F_OK)) { /* not accessible */ - /* - * if he's trying to log in as himself, and there is no .klogin file, - * let him. To find out, call - * krb_kntoln to convert the triple in kdata to a name which we can - * string compare. - */ - if (!krb_kntoln(kdata, kuser) && (strcmp(kuser, luser) == 0)) { - return(OK); - } - } - /* open ~/.klogin */ - if ((fp = fopen(pbuf, "r")) == NULL) { - return(NOTOK); - } - /* - * security: if the user does not own his own .klogin file, - * do not grant access - */ - if (fstat(fileno(fp), &sbuf)) { - fclose(fp); - return(NOTOK); - } - if (sbuf.st_uid != pwd->pw_uid) { - fclose(fp); - return(NOTOK); - } - -#ifdef ATHENA_COMPAT - /* Accept old-style .klogin files */ - - /* - * change the default realm from the hard-coded value to the - * accepted realm that Kerberos specifies. - */ - rc = krb_get_lrealm(local_realm, 1); - if (rc == KSUCCESS) - kparm[REALM_SUBSCRIPT].defvalue = local_realm; - else - return (rc); - - /* check each line */ - while ((isok != OK) && (rc = fGetParameterSet(fp, KPARMS)) != PS_EOF) { - switch (rc) { - case PS_BAD_KEYWORD: - case PS_SYNTAX: - while (((gobble = fGetChar(fp)) != EOF) && (gobble != '\n')); - break; - - case PS_OKAY: - isok = (ParmCompare(KPARMS, "user", kdata->pname) || - ParmCompare(KPARMS, "instance", kdata->pinst) || - ParmCompare(KPARMS, "realm", kdata->prealm)); - break; - - default: - break; - } - FreeParameterSet(kparm, PARMCOUNT(kparm)); - } - /* reset the stream for parsing new-style names, if necessary */ - rewind(fp); -#endif ATHENA_COMPAT - - /* check each line */ - while ((isok != OK) && (fgets(linebuf, BUFSIZ, fp) != NULL)) { - /* null-terminate the input string */ - linebuf[BUFSIZ-1] = '\0'; - newline = NULL; - /* nuke the newline if it exists */ - if ((newline = index(linebuf, '\n'))) - *newline = '\0'; - rc = kname_parse(principal, inst, realm, linebuf); - if (rc == KSUCCESS) { - isok = (strncmp(kdata->pname, principal, ANAME_SZ) || - strncmp(kdata->pinst, inst, INST_SZ) || - strncmp(kdata->prealm, realm, REALM_SZ)); - } - /* clean up the rest of the line if necessary */ - if (!newline) - while (((gobble = getc(fp)) != EOF) && gobble != '\n'); - } - fclose(fp); - return(isok); -} diff --git a/eBones/lib/libkrb/log.c b/eBones/lib/libkrb/log.c deleted file mode 100644 index e33477f5cf54f..0000000000000 --- a/eBones/lib/libkrb/log.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: log.c,v 4.7 88/12/01 14:15:14 jtkohl Exp $ - * $Id: log.c,v 1.3 1995/07/18 16:39:09 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: log.c,v 1.3 1995/07/18 16:39:09 mark Exp $"; -#endif /* lint */ -#endif - -#include <sys/time.h> -#include <stdio.h> -#include <krb.h> -#include <klog.h> - -static char *log_name = KRBLOG; -static is_open; - -/* - * This file contains three logging routines: set_logfile() - * to determine the file that log entries should be written to; - * and log() and new_log() to write log entries to the file. - */ - -/* - * log() is used to add entries to the logfile (see set_logfile() - * below). Note that it is probably not portable since it makes - * assumptions about what the compiler will do when it is called - * with less than the correct number of arguments which is the - * way it is usually called. - * - * The log entry consists of a timestamp and the given arguments - * printed according to the given "format". - * - * The log file is opened and closed for each log entry. - * - * The return value is undefined. - */ - -__BEGIN_DECLS -char *month_sname __P((int)); -__END_DECLS - - -/*VARARGS1 */ -void log(format,a1,a2,a3,a4,a5,a6,a7,a8,a9,a0) - char *format; - int a1,a2,a3,a4,a5,a6,a7,a8,a9,a0; -{ - FILE *logfile, *fopen(); - long time(),now; - struct tm *tm; - - if ((logfile = fopen(log_name,"a")) == NULL) - return; - - (void) time(&now); - tm = localtime(&now); - - fprintf(logfile,"%2d-%s-%02d %02d:%02d:%02d ",tm->tm_mday, - month_sname(tm->tm_mon + 1),tm->tm_year, - tm->tm_hour, tm->tm_min, tm->tm_sec); - fprintf(logfile,format,a1,a2,a3,a4,a5,a6,a7,a8,a9,a0); - fprintf(logfile,"\n"); - (void) fclose(logfile); - return; -} - -/* - * set_logfile() changes the name of the file to which - * messages are logged. If set_logfile() is not called, - * the logfile defaults to KRBLOG, defined in "krb.h". - */ - -void -set_logfile(filename) - char *filename; -{ - log_name = filename; - is_open = 0; -} - -/* - * new_log() appends a log entry containing the give time "t" and the - * string "string" to the logfile (see set_logfile() above). The file - * is opened once and left open. The routine returns 1 on failure, 0 - * on success. - */ - -int -new_log(t,string) - long t; - char *string; -{ - static FILE *logfile; - - long time(); - struct tm *tm; - - if (!is_open) { - if ((logfile = fopen(log_name,"a")) == NULL) return(1); - is_open = 1; - } - - if (t) { - tm = localtime(&t); - - fprintf(logfile,"\n%2d-%s-%02d %02d:%02d:%02d %s",tm->tm_mday, - month_sname(tm->tm_mon + 1),tm->tm_year, - tm->tm_hour, tm->tm_min, tm->tm_sec, string); - } - else { - fprintf(logfile,"\n%20s%s","",string); - } - - (void) fflush(logfile); - return(0); -} diff --git a/eBones/lib/libkrb/mk_err.c b/eBones/lib/libkrb/mk_err.c deleted file mode 100644 index 86002403bccf9..0000000000000 --- a/eBones/lib/libkrb/mk_err.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: mk_err.c,v 4.4 88/11/15 16:33:36 jtkohl Exp $ - * $Id: mk_err.c,v 1.3 1995/07/18 16:39:11 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: mk_err.c,v 1.3 1995/07/18 16:39:11 mark Exp $"; -#endif /* lint */ -#endif - -#include <sys/types.h> -#include <krb.h> -#include <prot.h> -#include <strings.h> - -/* - * This routine creates a general purpose error reply message. It - * doesn't use KTEXT because application protocol may have long - * messages, and may want this part of buffer contiguous to other - * stuff. - * - * The error reply is built in "p", using the error code "e" and - * error text "e_string" given. The length of the error reply is - * returned. - * - * The error reply is in the following format: - * - * unsigned char KRB_PROT_VERSION protocol version no. - * unsigned char AUTH_MSG_APPL_ERR message type - * (least significant - * bit of above) HOST_BYTE_ORDER local byte order - * 4 bytes e given error code - * string e_string given error text - */ - -long krb_mk_err(p,e,e_string) - u_char *p; /* Where to build error packet */ - long e; /* Error code */ - char *e_string; /* Text of error */ -{ - u_char *start; - - start = p; - - /* Create fixed part of packet */ - *p++ = (unsigned char) KRB_PROT_VERSION; - *p = (unsigned char) AUTH_MSG_APPL_ERR; - *p++ |= HOST_BYTE_ORDER; - - /* Add the basic info */ - bcopy((char *)&e,(char *)p,4); /* err code */ - p += sizeof(e); - (void) strcpy((char *)p,e_string); /* err text */ - p += strlen(e_string); - - /* And return the length */ - return p-start; -} diff --git a/eBones/lib/libkrb/mk_priv.c b/eBones/lib/libkrb/mk_priv.c deleted file mode 100644 index d45d734c6f170..0000000000000 --- a/eBones/lib/libkrb/mk_priv.c +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Copyright 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This routine constructs a Kerberos 'private msg', i.e. - * cryptographically sealed with a private session key. - * - * Note-- bcopy is used to avoid alignment problems on IBM RT. - * - * Note-- It's too bad that it did a long int compare on the RT before. - * - * Returns either < 0 ===> error, or resulting size of message - * - * Steve Miller Project Athena MIT/DEC - * - * from: mk_priv.c,v 4.13 89/03/22 14:48:59 jtkohl Exp $ - * $Id: mk_priv.c,v 1.3 1995/07/18 16:39:13 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: mk_priv.c,v 1.3 1995/07/18 16:39:13 mark Exp $"; -#endif /* lint */ -#endif - -/* system include files */ -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/time.h> - -/* application include files */ -#include <des.h> -#include <krb.h> -#include <prot.h> -#include "lsb_addr_comp.h" - -extern char *errmsg(); -extern int errno; -extern int krb_debug; - -/* static storage */ - - -static u_long c_length; -static struct timeval msg_time; -static u_char msg_time_5ms; -static long msg_time_sec; - -/* - * krb_mk_priv() constructs an AUTH_MSG_PRIVATE message. It takes - * some user data "in" of "length" bytes and creates a packet in "out" - * consisting of the user data, a timestamp, and the sender's network - * address. -#ifndef NOENCRYTION - * The packet is encrypted by pcbc_encrypt(), using the given - * "key" and "schedule". -#endif - * The length of the resulting packet "out" is - * returned. - * - * It is similar to krb_mk_safe() except for the additional key - * schedule argument "schedule" and the fact that the data is encrypted - * rather than appended with a checksum. Also, the protocol version - * number is "private_msg_ver", defined in krb_rd_priv.c, rather than - * KRB_PROT_VERSION, defined in "krb.h". - * - * The "out" packet consists of: - * - * Size Variable Field - * ---- -------- ----- - * - * 1 byte private_msg_ver protocol version number - * 1 byte AUTH_MSG_PRIVATE | message type plus local - * HOST_BYTE_ORDER byte order in low bit - * - * 4 bytes c_length length of data -#ifndef NOENCRYPT - * we encrypt from here with pcbc_encrypt -#endif - * - * 4 bytes length length of user data - * length in user data - * 1 byte msg_time_5ms timestamp milliseconds - * 4 bytes sender->sin.addr.s_addr sender's IP address - * - * 4 bytes msg_time_sec or timestamp seconds with - * -msg_time_sec direction in sign bit - * - * 0<=n<=7 bytes pad to 8 byte multiple zeroes - */ - -long krb_mk_priv(in,out,length,schedule,key,sender,receiver) - u_char *in; /* application data */ - u_char *out; /* put msg here, leave room for - * header! breaks if in and out - * (header stuff) overlap */ - u_long length; /* of in data */ - Key_schedule schedule; /* precomputed key schedule */ - C_Block key; /* encryption key for seed and ivec */ - struct sockaddr_in *sender; /* sender address */ - struct sockaddr_in *receiver; /* receiver address */ -{ - register u_char *p,*q; - static u_char *c_length_ptr; - extern int private_msg_ver; /* in krb_rd_priv.c */ - - /* - * get the current time to use instead of a sequence #, since - * process lifetime may be shorter than the lifetime of a session - * key. - */ - if (gettimeofday(&msg_time,(struct timezone *)0)) { - return -1; - } - msg_time_sec = (long) msg_time.tv_sec; - msg_time_5ms = msg_time.tv_usec/5000; /* 5ms quanta */ - - p = out; - - *p++ = private_msg_ver; - *p++ = AUTH_MSG_PRIVATE | HOST_BYTE_ORDER; - - /* calculate cipher length */ - c_length_ptr = p; - p += sizeof(c_length); - - q = p; - - /* stuff input length */ - bcopy((char *)&length,(char *)p,sizeof(length)); - p += sizeof(length); - -#ifdef NOENCRYPTION - /* make all the stuff contiguous for checksum */ -#else - /* make all the stuff contiguous for checksum and encryption */ -#endif - bcopy((char *)in,(char *)p,(int) length); - p += length; - - /* stuff time 5ms */ - bcopy((char *)&msg_time_5ms,(char *)p,sizeof(msg_time_5ms)); - p += sizeof(msg_time_5ms); - - /* stuff source address */ - bcopy((char *)&sender->sin_addr.s_addr,(char *)p, - sizeof(sender->sin_addr.s_addr)); - p += sizeof(sender->sin_addr.s_addr); - - /* - * direction bit is the sign bit of the timestamp. Ok - * until 2038?? - */ - /* For compatibility with broken old code, compares are done in VAX - byte order (LSBFIRST) */ - if (lsb_net_ulong_less(sender->sin_addr.s_addr, /* src < recv */ - receiver->sin_addr.s_addr)==-1) - msg_time_sec = -msg_time_sec; - else if (lsb_net_ulong_less(sender->sin_addr.s_addr, - receiver->sin_addr.s_addr)==0) - if (lsb_net_ushort_less(sender->sin_port,receiver->sin_port) == -1) - msg_time_sec = -msg_time_sec; - /* stuff time sec */ - bcopy((char *)&msg_time_sec,(char *)p,sizeof(msg_time_sec)); - p += sizeof(msg_time_sec); - - /* - * All that for one tiny bit! Heaven help those that talk to - * themselves. - */ - -#ifdef notdef - /* - * calculate the checksum of the length, address, sequence, and - * inp data - */ - cksum = quad_cksum(q,NULL,p-q,0,key); - if (krb_debug) - printf("\ncksum = %u",cksum); - /* stuff checksum */ - bcopy((char *) &cksum,(char *) p,sizeof(cksum)); - p += sizeof(cksum); -#endif - - /* - * All the data have been assembled, compute length - */ - - c_length = p - q; - c_length = ((c_length + sizeof(C_Block) -1)/sizeof(C_Block)) * - sizeof(C_Block); - /* stuff the length */ - bcopy((char *) &c_length,(char *)c_length_ptr,sizeof(c_length)); - -#ifndef NOENCRYPTION - pcbc_encrypt((C_Block *)q,(C_Block *)q,(long)(p-q),schedule,(C_Block *)key, - ENCRYPT); -#endif /* NOENCRYPTION */ - - return (q - out + c_length); /* resulting size */ -} diff --git a/eBones/lib/libkrb/mk_req.c b/eBones/lib/libkrb/mk_req.c deleted file mode 100644 index a27c1c0d556b6..0000000000000 --- a/eBones/lib/libkrb/mk_req.c +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: der: mk_req.c,v 4.17 89/07/07 15:20:35 jtkohl Exp $ - * $Id: mk_req.c,v 1.3 1995/07/18 16:39:15 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: mk_req.c,v 1.3 1995/07/18 16:39:15 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> -#include <des.h> -#include <sys/time.h> -#include <strings.h> - -extern int krb_ap_req_debug; -static struct timeval tv_local = { 0, 0 }; -static int lifetime = DEFAULT_TKT_LIFE; - -/* - * krb_mk_req takes a text structure in which an authenticator is to - * be built, the name of a service, an instance, a realm, - * and a checksum. It then retrieves a ticket for - * the desired service and creates an authenticator in the text - * structure passed as the first argument. krb_mk_req returns - * KSUCCESS on success and a Kerberos error code on failure. - * - * The peer procedure on the other end is krb_rd_req. When making - * any changes to this routine it is important to make corresponding - * changes to krb_rd_req. - * - * The authenticator consists of the following: - * - * authent->dat - * - * unsigned char KRB_PROT_VERSION protocol version no. - * unsigned char AUTH_MSG_APPL_REQUEST message type - * (least significant - * bit of above) HOST_BYTE_ORDER local byte ordering - * unsigned char kvno from ticket server's key version - * string realm server's realm - * unsigned char tl ticket length - * unsigned char idl request id length - * text ticket->dat ticket for server - * text req_id->dat request id - * - * The ticket information is retrieved from the ticket cache or - * fetched from Kerberos. The request id (called the "authenticator" - * in the papers on Kerberos) contains the following: - * - * req_id->dat - * - * string cr.pname {name, instance, and - * string cr.pinst realm of principal - * string myrealm making this request} - * 4 bytes checksum checksum argument given - * unsigned char tv_local.tf_usec time (milliseconds) - * 4 bytes tv_local.tv_sec time (seconds) - * - * req_id->length = 3 strings + 3 terminating nulls + 5 bytes for time, - * all rounded up to multiple of 8. - */ - -int -krb_mk_req(authent,service,instance,realm,checksum) - register KTEXT authent; /* Place to build the authenticator */ - char *service; /* Name of the service */ - char *instance; /* Service instance */ - char *realm; /* Authentication domain of service */ - long checksum; /* Checksum of data (optional) */ -{ - static KTEXT_ST req_st; /* Temp storage for req id */ - register KTEXT req_id = &req_st; - unsigned char *v = authent->dat; /* Prot version number */ - unsigned char *t = (authent->dat+1); /* Message type */ - unsigned char *kv = (authent->dat+2); /* Key version no */ - unsigned char *tl = (authent->dat+4+strlen(realm)); /* Tkt len */ - unsigned char *idl = (authent->dat+5+strlen(realm)); /* Reqid len */ - CREDENTIALS cr; /* Credentials used by retr */ - register KTEXT ticket = &(cr.ticket_st); /* Pointer to tkt_st */ - int retval; /* Returned by krb_get_cred */ - static Key_schedule key_s; - char myrealm[REALM_SZ]; - - /* The fixed parts of the authenticator */ - *v = (unsigned char) KRB_PROT_VERSION; - *t = (unsigned char) AUTH_MSG_APPL_REQUEST; - *t |= HOST_BYTE_ORDER; - - /* Get the ticket and move it into the authenticator */ - if (krb_ap_req_debug) - printf("Realm: %s\n",realm); - /* - * Determine realm of these tickets. We will send this to the - * KDC from which we are requesting tickets so it knows what to - * with our session key. - */ - if ((retval = krb_get_tf_realm(TKT_FILE, myrealm)) != KSUCCESS) - return(retval); - - retval = krb_get_cred(service,instance,realm,&cr); - - if (retval == RET_NOTKT) { - if ((retval = get_ad_tkt(service,instance,realm,lifetime))) - return(retval); - if ((retval = krb_get_cred(service,instance,realm,&cr))) - return(retval); - } - - if (retval != KSUCCESS) return (retval); - - if (krb_ap_req_debug) - printf("%s %s %s %s %s\n", service, instance, realm, - cr.pname, cr.pinst); - *kv = (unsigned char) cr.kvno; - (void) strcpy((char *)(authent->dat+3),realm); - *tl = (unsigned char) ticket->length; - bcopy((char *)(ticket->dat),(char *)(authent->dat+6+strlen(realm)), - ticket->length); - authent->length = 6 + strlen(realm) + ticket->length; - if (krb_ap_req_debug) - printf("Ticket->length = %d\n",ticket->length); - if (krb_ap_req_debug) - printf("Issue date: %ld\n",cr.issue_date); - - /* Build request id */ - (void) strcpy((char *)(req_id->dat),cr.pname); /* Auth name */ - req_id->length = strlen(cr.pname)+1; - /* Principal's instance */ - (void) strcpy((char *)(req_id->dat+req_id->length),cr.pinst); - req_id->length += strlen(cr.pinst)+1; - /* Authentication domain */ - (void) strcpy((char *)(req_id->dat+req_id->length),myrealm); - req_id->length += strlen(myrealm)+1; - /* Checksum */ - bcopy((char *)&checksum,(char *)(req_id->dat+req_id->length),4); - req_id->length += 4; - - /* Fill in the times on the request id */ - (void) gettimeofday(&tv_local,(struct timezone *) 0); - *(req_id->dat+(req_id->length)++) = - (unsigned char) tv_local.tv_usec; - /* Time (coarse) */ - bcopy((char *)&(tv_local.tv_sec), - (char *)(req_id->dat+req_id->length), 4); - req_id->length += 4; - - /* Fill to a multiple of 8 bytes for DES */ - req_id->length = ((req_id->length+7)/8)*8; - -#ifndef NOENCRYPTION - key_sched((C_Block *)cr.session,key_s); - pcbc_encrypt((C_Block *)req_id->dat,(C_Block *)req_id->dat, - (long)req_id->length,key_s,(C_Block *)cr.session,ENCRYPT); - bzero((char *) key_s, sizeof(key_s)); -#endif /* NOENCRYPTION */ - - /* Copy it into the authenticator */ - bcopy((char *)(req_id->dat),(char *)(authent->dat+authent->length), - req_id->length); - authent->length += req_id->length; - /* And set the id length */ - *idl = (unsigned char) req_id->length; - /* clean up */ - bzero((char *)req_id, sizeof(*req_id)); - - if (krb_ap_req_debug) - printf("Authent->length = %d\n",authent->length); - if (krb_ap_req_debug) - printf("idl = %d, tl = %d\n",(int) *idl, (int) *tl); - - return(KSUCCESS); -} - -/* - * krb_set_lifetime sets the default lifetime for additional tickets - * obtained via krb_mk_req(). - * - * It returns the previous value of the default lifetime. - */ - -int -krb_set_lifetime(newval) -int newval; -{ - int olife = lifetime; - - lifetime = newval; - return(olife); -} diff --git a/eBones/lib/libkrb/mk_safe.c b/eBones/lib/libkrb/mk_safe.c deleted file mode 100644 index e5490bcd2e9be..0000000000000 --- a/eBones/lib/libkrb/mk_safe.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This routine constructs a Kerberos 'safe msg', i.e. authenticated - * using a private session key to seed a checksum. Msg is NOT - * encrypted. - * - * Note-- bcopy is used to avoid alignment problems on IBM RT - * - * Returns either <0 ===> error, or resulting size of message - * - * Steve Miller Project Athena MIT/DEC - * - * from: mk_safe.c,v 4.12 89/03/22 14:50:49 jtkohl Exp $ - * $Id: mk_safe.c,v 1.3 1995/07/18 16:39:17 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: mk_safe.c,v 1.3 1995/07/18 16:39:17 mark Exp $"; -#endif /* lint */ -#endif - -/* system include files */ -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/time.h> - -/* application include files */ -#include <des.h> -#include <krb.h> -#include <prot.h> -#include "lsb_addr_comp.h" - -extern char *errmsg(); -extern int errno; -extern int krb_debug; - -/* static storage */ - -static u_long cksum; -static C_Block big_cksum[2]; -static struct timeval msg_time; -static u_char msg_time_5ms; -static long msg_time_sec; - -/* - * krb_mk_safe() constructs an AUTH_MSG_SAFE message. It takes some - * user data "in" of "length" bytes and creates a packet in "out" - * consisting of the user data, a timestamp, and the sender's network - * address, followed by a checksum computed on the above, using the - * given "key". The length of the resulting packet is returned. - * - * The "out" packet consists of: - * - * Size Variable Field - * ---- -------- ----- - * - * 1 byte KRB_PROT_VERSION protocol version number - * 1 byte AUTH_MSG_SAFE | message type plus local - * HOST_BYTE_ORDER byte order in low bit - * - * ===================== begin checksum ================================ - * - * 4 bytes length length of user data - * length in user data - * 1 byte msg_time_5ms timestamp milliseconds - * 4 bytes sender->sin.addr.s_addr sender's IP address - * - * 4 bytes msg_time_sec or timestamp seconds with - * -msg_time_sec direction in sign bit - * - * ======================= end checksum ================================ - * - * 16 bytes big_cksum quadratic checksum of - * above using "key" - */ - -long krb_mk_safe(in,out,length,key,sender,receiver) - u_char *in; /* application data */ - u_char *out; /* - * put msg here, leave room for header! - * breaks if in and out (header stuff) - * overlap - */ - u_long length; /* of in data */ - C_Block *key; /* encryption key for seed and ivec */ - struct sockaddr_in *sender; /* sender address */ - struct sockaddr_in *receiver; /* receiver address */ -{ - register u_char *p,*q; - - /* - * get the current time to use instead of a sequence #, since - * process lifetime may be shorter than the lifetime of a session - * key. - */ - if (gettimeofday(&msg_time,(struct timezone *)0)) { - return -1; - } - msg_time_sec = (long) msg_time.tv_sec; - msg_time_5ms = msg_time.tv_usec/5000; /* 5ms quanta */ - - p = out; - - *p++ = KRB_PROT_VERSION; - *p++ = AUTH_MSG_SAFE | HOST_BYTE_ORDER; - - q = p; /* start for checksum stuff */ - /* stuff input length */ - bcopy((char *)&length,(char *)p,sizeof(length)); - p += sizeof(length); - - /* make all the stuff contiguous for checksum */ - bcopy((char *)in,(char *)p,(int) length); - p += length; - - /* stuff time 5ms */ - bcopy((char *)&msg_time_5ms,(char *)p,sizeof(msg_time_5ms)); - p += sizeof(msg_time_5ms); - - /* stuff source address */ - bcopy((char *) &sender->sin_addr.s_addr,(char *)p, - sizeof(sender->sin_addr.s_addr)); - p += sizeof(sender->sin_addr.s_addr); - - /* - * direction bit is the sign bit of the timestamp. Ok until - * 2038?? - */ - /* For compatibility with broken old code, compares are done in VAX - byte order (LSBFIRST) */ - if (lsb_net_ulong_less(sender->sin_addr.s_addr, /* src < recv */ - receiver->sin_addr.s_addr)==-1) - msg_time_sec = -msg_time_sec; - else if (lsb_net_ulong_less(sender->sin_addr.s_addr, - receiver->sin_addr.s_addr)==0) - if (lsb_net_ushort_less(sender->sin_port,receiver->sin_port) == -1) - msg_time_sec = -msg_time_sec; - /* - * all that for one tiny bit! Heaven help those that talk to - * themselves. - */ - - /* stuff time sec */ - bcopy((char *)&msg_time_sec,(char *)p,sizeof(msg_time_sec)); - p += sizeof(msg_time_sec); - -#ifdef NOENCRYPTION - cksum = 0; - bzero(big_cksum, sizeof(big_cksum)); -#else - cksum=quad_cksum((C_Block *)q,big_cksum,p-q,2,key); -#endif - if (krb_debug) - printf("\ncksum = %lu",cksum); - - /* stuff checksum */ - bcopy((char *)big_cksum,(char *)p,sizeof(big_cksum)); - p += sizeof(big_cksum); - - return ((long)(p - out)); /* resulting size */ - -} diff --git a/eBones/lib/libkrb/month_sname.c b/eBones/lib/libkrb/month_sname.c deleted file mode 100644 index f4ef33994bc9a..0000000000000 --- a/eBones/lib/libkrb/month_sname.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: month_sname.c,v 4.4 88/11/15 16:39:32 jtkohl Exp $ - * $Id: month_sname.c,v 1.3 1995/07/18 16:39:19 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: month_sname.c,v 1.3 1995/07/18 16:39:19 mark Exp $"; -#endif /* lint */ -#endif - - -/* - * Given an integer 1-12, month_sname() returns a string - * containing the first three letters of the corresponding - * month. Returns 0 if the argument is out of range. - */ - -char *month_sname(n) - int n; -{ - static char *name[] = { - "Jan","Feb","Mar","Apr","May","Jun", - "Jul","Aug","Sep","Oct","Nov","Dec" - }; - return((n < 1 || n > 12) ? 0 : name [n-1]); -} diff --git a/eBones/lib/libkrb/netread.c b/eBones/lib/libkrb/netread.c deleted file mode 100644 index 628004e251853..0000000000000 --- a/eBones/lib/libkrb/netread.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: netread.c,v 4.1 88/11/15 16:47:21 jtkohl Exp $ - * $Id: netread.c,v 1.3 1995/07/18 16:39:20 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: netread.c,v 1.3 1995/07/18 16:39:20 mark Exp $"; -#endif lint -#endif - -#include <unistd.h> - -/* - * krb_net_read() reads from the file descriptor "fd" to the buffer - * "buf", until either 1) "len" bytes have been read or 2) cannot - * read anymore from "fd". It returns the number of bytes read - * or a read() error. (The calling interface is identical to - * read(2).) - * - * XXX must not use non-blocking I/O - */ - -int -krb_net_read(fd, buf, len) -int fd; -register char *buf; -register int len; -{ - int cc, len2 = 0; - - do { - cc = read(fd, buf, len); - if (cc < 0) - return(cc); /* errno is already set */ - else if (cc == 0) { - return(len2); - } else { - buf += cc; - len2 += cc; - len -= cc; - } - } while (len > 0); - return(len2); -} diff --git a/eBones/lib/libkrb/netwrite.c b/eBones/lib/libkrb/netwrite.c deleted file mode 100644 index f85f7ba5efd77..0000000000000 --- a/eBones/lib/libkrb/netwrite.c +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: netwrite.c,v 4.1 88/11/15 16:48:58 jtkohl Exp $"; - * $Id: netwrite.c,v 1.3 1995/07/18 16:39:22 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: netwrite.c,v 1.3 1995/07/18 16:39:22 mark Exp $"; -#endif lint -#endif - -#include <unistd.h> - -/* - * krb_net_write() writes "len" bytes from "buf" to the file - * descriptor "fd". It returns the number of bytes written or - * a write() error. (The calling interface is identical to - * write(2).) - * - * XXX must not use non-blocking I/O - */ - -int -krb_net_write(fd, buf, len) -int fd; -register char *buf; -int len; -{ - int cc; - register int wrlen = len; - do { - cc = write(fd, buf, wrlen); - if (cc < 0) - return(cc); - else { - buf += cc; - wrlen -= cc; - } - } while (wrlen > 0); - return(len); -} diff --git a/eBones/lib/libkrb/one.c b/eBones/lib/libkrb/one.c deleted file mode 100644 index ef02ae1c878a9..0000000000000 --- a/eBones/lib/libkrb/one.c +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * form: one.c,v 4.1 88/11/15 16:51:41 jtkohl Exp $ - * $Id: one.c,v 1.3 1995/07/18 16:39:24 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: one.c,v 1.3 1995/07/18 16:39:24 mark Exp $"; -#endif lint -#endif - -/* - * definition of variable set to 1. - * used in krb_conf.h to determine host byte order. - */ - -int krbONE = 1; diff --git a/eBones/lib/libkrb/pkt_cipher.c b/eBones/lib/libkrb/pkt_cipher.c deleted file mode 100644 index 9c32b72b0fe96..0000000000000 --- a/eBones/lib/libkrb/pkt_cipher.c +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: pkt_cipher.c,v 4.8 89/01/13 17:46:14 steiner Exp $ - * $Id: pkt_cipher.c,v 1.3 1995/07/18 16:39:25 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: pkt_cipher.c,v 1.3 1995/07/18 16:39:25 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> - - -/* - * This routine takes a reply packet from the Kerberos ticket-granting - * service and returns a pointer to the beginning of the ciphertext in it. - * - * See "prot.h" for packet format. - */ - -KTEXT -pkt_cipher(packet) - KTEXT packet; -{ - unsigned char *ptr = pkt_a_realm(packet) + 6 - + strlen((char *)pkt_a_realm(packet)); - /* Skip a few more fields */ - ptr += 3 + 4; /* add 4 for exp_date */ - - /* And return the pointer */ - return((KTEXT) ptr); -} diff --git a/eBones/lib/libkrb/pkt_clen.c b/eBones/lib/libkrb/pkt_clen.c deleted file mode 100644 index f8dacae34faa2..0000000000000 --- a/eBones/lib/libkrb/pkt_clen.c +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: pkt_clen.c,v 4.7 88/11/15 16:56:36 jtkohl Exp $ - * $Id: pkt_clen.c,v 1.3 1995/07/18 16:39:27 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: pkt_clen.c,v 1.3 1995/07/18 16:39:27 mark Exp $"; -#endif /* lint */ -#endif - -#include <string.h> - -#include <krb.h> -#include <prot.h> - -extern int krb_debug; -extern int swap_bytes; - -/* - * Given a pointer to an AUTH_MSG_KDC_REPLY packet, return the length of - * its ciphertext portion. The external variable "swap_bytes" is assumed - * to have been set to indicate whether or not the packet is in local - * byte order. pkt_clen() takes this into account when reading the - * ciphertext length out of the packet. - */ - -int -pkt_clen(pkt) - KTEXT pkt; -{ - static unsigned short temp,temp2; - int clen = 0; - - /* Start of ticket list */ - unsigned char *ptr = pkt_a_realm(pkt) + 10 - + strlen((char *)pkt_a_realm(pkt)); - - /* Finally the length */ - bcopy((char *)(++ptr),(char *)&temp,2); /* alignment */ - if (swap_bytes) { - /* assume a short is 2 bytes?? */ - swab((char *)&temp,(char *)&temp2,2); - temp = temp2; - } - - clen = (int) temp; - - if (krb_debug) - printf("Clen is %d\n",clen); - return(clen); -} diff --git a/eBones/lib/libkrb/rd_err.c b/eBones/lib/libkrb/rd_err.c deleted file mode 100644 index e46dc6678f0db..0000000000000 --- a/eBones/lib/libkrb/rd_err.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This routine dissects a a Kerberos 'safe msg', - * checking its integrity, and returning a pointer to the application - * data contained and its length. - * - * Returns 0 (RD_AP_OK) for success or an error code (RD_AP_...) - * - * Steve Miller Project Athena MIT/DEC - * - * from: rd_err.c,v 4.5 89/01/13 17:26:38 steiner Exp $ - * $Id: rd_err.c,v 1.3 1995/07/18 16:39:29 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: rd_err.c,v 1.3 1995/07/18 16:39:29 mark Exp $"; -#endif /* lint */ -#endif - -/* system include files */ -#include <string.h> -#include <stdio.h> -#include <errno.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/time.h> - -/* application include files */ -#include <krb.h> -#include <prot.h> - -/* - * Given an AUTH_MSG_APPL_ERR message, "in" and its length "in_length", - * return the error code from the message in "code" and the text in - * "m_data" as follows: - * - * m_data->app_data points to the error text - * m_data->app_length points to the length of the error text - * - * If all goes well, return RD_AP_OK. If the version number - * is wrong, return RD_AP_VERSION, and if it's not an AUTH_MSG_APPL_ERR - * type message, return RD_AP_MSG_TYPE. - * - * The AUTH_MSG_APPL_ERR message format can be found in mk_err.c - */ - -int -krb_rd_err(in,in_length,code,m_data) - u_char *in; /* pointer to the msg received */ - u_long in_length; /* of in msg */ - long *code; /* received error code */ - MSG_DAT *m_data; -{ - register u_char *p; - int swap_bytes = 0; - p = in; /* beginning of message */ - - if (*p++ != KRB_PROT_VERSION) - return(RD_AP_VERSION); - if (((*p) & ~1) != AUTH_MSG_APPL_ERR) - return(RD_AP_MSG_TYPE); - if ((*p++ & 1) != HOST_BYTE_ORDER) - swap_bytes++; - - /* safely get code */ - bcopy((char *)p,(char *)code,sizeof(*code)); - if (swap_bytes) - swap_u_long(*code); - p += sizeof(*code); /* skip over */ - - m_data->app_data = p; /* we're now at the error text - * message */ - m_data->app_length = in_length; - - return(RD_AP_OK); /* OK == 0 */ -} diff --git a/eBones/lib/libkrb/rd_priv.c b/eBones/lib/libkrb/rd_priv.c deleted file mode 100644 index 0c21a1d463b11..0000000000000 --- a/eBones/lib/libkrb/rd_priv.c +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Copyright 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This routine dissects a a Kerberos 'private msg', decrypting it, - * checking its integrity, and returning a pointer to the application - * data contained and its length. - * - * Returns 0 (RD_AP_OK) for success or an error code (RD_AP_...). If - * the return value is RD_AP_TIME, then either the times are too far - * out of synch, OR the packet was modified. - * - * Steve Miller Project Athena MIT/DEC - * - * from: rd_priv.c,v 4.14 89/04/28 11:59:42 jtkohl Exp $ - * $Id: rd_priv.c,v 1.3 1995/07/18 16:39:31 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[]= -"$Id: rd_priv.c,v 1.3 1995/07/18 16:39:31 mark Exp $"; -#endif /* lint */ -#endif - -/* system include files */ -#include <string.h> -#include <stdio.h> -#include <errno.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/time.h> - -/* application include files */ -#include <des.h> -#include <krb.h> -#include <prot.h> -#include "lsb_addr_comp.h" - -extern int krb_debug; - -/* static storage */ - -static u_long c_length; -static int swap_bytes; -static struct timeval local_time; -static long delta_t; -int private_msg_ver = KRB_PROT_VERSION; - -/* -#ifdef NOENCRPYTION - * krb_rd_priv() checks the integrity of an -#else - * krb_rd_priv() decrypts and checks the integrity of an -#endif - * AUTH_MSG_PRIVATE message. Given the message received, "in", - * the length of that message, "in_length", the key "schedule" - * and "key", and the network addresses of the - * "sender" and "receiver" of the message, krb_rd_safe() returns - * RD_AP_OK if the message is okay, otherwise some error code. - * - * The message data retrieved from "in" are returned in the structure - * "m_data". The pointer to the application data - * (m_data->app_data) refers back to the appropriate place in "in". - * - * See the file "mk_priv.c" for the format of the AUTH_MSG_PRIVATE - * message. The structure containing the extracted message - * information, MSG_DAT, is defined in "krb.h". - */ - -long -krb_rd_priv(in,in_length,schedule,key,sender,receiver,m_data) - u_char *in; /* pointer to the msg received */ - u_long in_length; /* length of "in" msg */ - Key_schedule schedule; /* precomputed key schedule */ - C_Block key; /* encryption key for seed and ivec */ - struct sockaddr_in *sender; - struct sockaddr_in *receiver; - MSG_DAT *m_data; /*various input/output data from msg */ -{ - register u_char *p,*q; - static u_long src_addr; /* Can't send structs since no - * guarantees on size */ - - if (gettimeofday(&local_time,(struct timezone *)0)) - return -1; - - p = in; /* beginning of message */ - swap_bytes = 0; - - if (*p++ != KRB_PROT_VERSION && *(p-1) != 3) - return RD_AP_VERSION; - private_msg_ver = *(p-1); - if (((*p) & ~1) != AUTH_MSG_PRIVATE) - return RD_AP_MSG_TYPE; - if ((*p++ & 1) != HOST_BYTE_ORDER) - swap_bytes++; - - /* get cipher length */ - bcopy((char *)p,(char *)&c_length,sizeof(c_length)); - if (swap_bytes) - swap_u_long(c_length); - p += sizeof(c_length); - /* check for rational length so we don't go comatose */ - if (VERSION_SZ + MSG_TYPE_SZ + c_length > in_length) - return RD_AP_MODIFIED; - - - q = p; /* mark start of encrypted stuff */ - -#ifndef NOENCRYPTION - pcbc_encrypt((C_Block *)q,(C_Block *)q,(long)c_length,schedule, - (C_Block *)key,DECRYPT); -#endif - - /* safely get application data length */ - bcopy((char *) p,(char *)&(m_data->app_length), - sizeof(m_data->app_length)); - if (swap_bytes) - swap_u_long(m_data->app_length); - p += sizeof(m_data->app_length); /* skip over */ - - if (m_data->app_length + sizeof(c_length) + sizeof(in_length) + - sizeof(m_data->time_sec) + sizeof(m_data->time_5ms) + - sizeof(src_addr) + VERSION_SZ + MSG_TYPE_SZ - > in_length) - return RD_AP_MODIFIED; - -#ifndef NOENCRYPTION - /* we're now at the decrypted application data */ -#endif - m_data->app_data = p; - - p += m_data->app_length; - - /* safely get time_5ms */ - bcopy((char *) p, (char *)&(m_data->time_5ms), - sizeof(m_data->time_5ms)); - /* don't need to swap-- one byte for now */ - p += sizeof(m_data->time_5ms); - - /* safely get src address */ - bcopy((char *) p,(char *)&src_addr,sizeof(src_addr)); - /* don't swap, net order always */ - p += sizeof(src_addr); - - if (src_addr != (u_long) sender->sin_addr.s_addr) - return RD_AP_MODIFIED; - - /* safely get time_sec */ - bcopy((char *) p, (char *)&(m_data->time_sec), - sizeof(m_data->time_sec)); - if (swap_bytes) swap_u_long(m_data->time_sec); - - p += sizeof(m_data->time_sec); - - /* check direction bit is the sign bit */ - /* For compatibility with broken old code, compares are done in VAX - byte order (LSBFIRST) */ - if (lsb_net_ulong_less(sender->sin_addr.s_addr, - receiver->sin_addr.s_addr)==-1) - /* src < recv */ - m_data->time_sec = - m_data->time_sec; - else if (lsb_net_ulong_less(sender->sin_addr.s_addr, - receiver->sin_addr.s_addr)==0) - if (lsb_net_ushort_less(sender->sin_port,receiver->sin_port)==-1) - /* src < recv */ - m_data->time_sec = - m_data->time_sec; - /* - * all that for one tiny bit! - * Heaven help those that talk to themselves. - */ - - /* check the time integrity of the msg */ - delta_t = abs((int)((long) local_time.tv_sec - - m_data->time_sec)); - if (delta_t > CLOCK_SKEW) - return RD_AP_TIME; - if (krb_debug) - printf("\ndelta_t = %ld",delta_t); - - /* - * caller must check timestamps for proper order and - * replays, since server might have multiple clients - * each with its own timestamps and we don't assume - * tightly synchronized clocks. - */ - -#ifdef notdef - bcopy((char *) p,(char *)&cksum,sizeof(cksum)); - if (swap_bytes) swap_u_long(cksum) - /* - * calculate the checksum of the length, sequence, - * and input data, on the sending byte order!! - */ - calc_cksum = quad_cksum(q,NULL,p-q,0,key); - - if (krb_debug) - printf("\ncalc_cksum = %u, received cksum = %u", - calc_cksum, cksum); - if (cksum != calc_cksum) - return RD_AP_MODIFIED; -#endif - return RD_AP_OK; /* OK == 0 */ -} diff --git a/eBones/lib/libkrb/rd_req.c b/eBones/lib/libkrb/rd_req.c deleted file mode 100644 index 60ee9483d30c7..0000000000000 --- a/eBones/lib/libkrb/rd_req.c +++ /dev/null @@ -1,331 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: der: rd_req.c,v 4.16 89/03/22 14:52:06 jtkohl Exp $ - * $Id: rd_req.c,v 1.3 1995/07/18 16:39:33 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: rd_req.c,v 1.3 1995/07/18 16:39:33 mark Exp $"; -#endif /* lint */ -#endif - -#include <des.h> -#include <krb.h> -#include <prot.h> -#include <sys/time.h> -#include <strings.h> - -extern int krb_ap_req_debug; - -static struct timeval t_local = { 0, 0 }; - -/* - * Keep the following information around for subsequent calls - * to this routine by the same server using the same key. - */ - -static Key_schedule serv_key; /* Key sched to decrypt ticket */ -static C_Block ky; /* Initialization vector */ -static int st_kvno; /* version number for this key */ -static char st_rlm[REALM_SZ]; /* server's realm */ -static char st_nam[ANAME_SZ]; /* service name */ -static char st_inst[INST_SZ]; /* server's instance */ - -/* - * This file contains two functions. krb_set_key() takes a DES - * key or password string and returns a DES key (either the original - * key, or the password converted into a DES key) and a key schedule - * for it. - * - * krb_rd_req() reads an authentication request and returns information - * about the identity of the requestor, or an indication that the - * identity information was not authentic. - */ - -/* - * krb_set_key() takes as its first argument either a DES key or a - * password string. The "cvt" argument indicates how the first - * argument "key" is to be interpreted: if "cvt" is null, "key" is - * taken to be a DES key; if "cvt" is non-null, "key" is taken to - * be a password string, and is converted into a DES key using - * string_to_key(). In either case, the resulting key is returned - * in the external static variable "ky". A key schedule is - * generated for "ky" and returned in the external static variable - * "serv_key". - * - * This routine returns the return value of des_key_sched. - * - * krb_set_key() needs to be in the same .o file as krb_rd_req() so that - * the key set by krb_set_key() is available in private storage for - * krb_rd_req(). - */ - -int -krb_set_key(key,cvt) - char *key; - int cvt; -{ -#ifdef NOENCRYPTION - bzero(ky, sizeof(ky)); - return KSUCCESS; -#else - if (cvt) - string_to_key(key,(C_Block *)ky); - else - bcopy(key,(char *)ky,8); - return(des_key_sched((C_Block *)ky,serv_key)); -#endif -} - - -/* - * krb_rd_req() takes an AUTH_MSG_APPL_REQUEST or - * AUTH_MSG_APPL_REQUEST_MUTUAL message created by krb_mk_req(), - * checks its integrity and returns a judgement as to the requestor's - * identity. - * - * The "authent" argument is a pointer to the received message. - * The "service" and "instance" arguments name the receiving server, - * and are used to get the service's ticket to decrypt the ticket - * in the message, and to compare against the server name inside the - * ticket. "from_addr" is the network address of the host from which - * the message was received; this is checked against the network - * address in the ticket. If "from_addr" is zero, the check is not - * performed. "ad" is an AUTH_DAT structure which is - * filled in with information about the sender's identity according - * to the authenticator and ticket sent in the message. Finally, - * "fn" contains the name of the file containing the server's key. - * (If "fn" is NULL, the server's key is assumed to have been set - * by krb_set_key(). If "fn" is the null string ("") the default - * file KEYFILE, defined in "krb.h", is used.) - * - * krb_rd_req() returns RD_AP_OK if the authentication information - * was genuine, or one of the following error codes (defined in - * "krb.h"): - * - * RD_AP_VERSION - wrong protocol version number - * RD_AP_MSG_TYPE - wrong message type - * RD_AP_UNDEC - couldn't decipher the message - * RD_AP_INCON - inconsistencies found - * RD_AP_BADD - wrong network address - * RD_AP_TIME - client time (in authenticator) - * too far off server time - * RD_AP_NYV - Kerberos time (in ticket) too - * far off server time - * RD_AP_EXP - ticket expired - * - * For the message format, see krb_mk_req(). - * - * Mutual authentication is not implemented. - */ - -int -krb_rd_req(authent,service,instance,from_addr,ad,fn) - register KTEXT authent; /* The received message */ - char *service; /* Service name */ - char *instance; /* Service instance */ - long from_addr; /* Net address of originating host */ - AUTH_DAT *ad; /* Structure to be filled in */ - char *fn; /* Filename to get keys from */ -{ - static KTEXT_ST ticket; /* Temp storage for ticket */ - static KTEXT tkt = &ticket; - static KTEXT_ST req_id_st; /* Temp storage for authenticator */ - register KTEXT req_id = &req_id_st; - - char realm[REALM_SZ]; /* Realm of issuing kerberos */ - static Key_schedule seskey_sched; /* Key sched for session key */ - unsigned char skey[KKEY_SZ]; /* Session key from ticket */ - char sname[SNAME_SZ]; /* Service name from ticket */ - char iname[INST_SZ]; /* Instance name from ticket */ - char r_aname[ANAME_SZ]; /* Client name from authenticator */ - char r_inst[INST_SZ]; /* Client instance from authenticator */ - char r_realm[REALM_SZ]; /* Client realm from authenticator */ - unsigned int r_time_ms; /* Fine time from authenticator */ - unsigned long r_time_sec; /* Coarse time from authenticator */ - register char *ptr; /* For stepping through */ - unsigned long delta_t; /* Time in authenticator - local time */ - long tkt_age; /* Age of ticket */ - static int swap_bytes; /* Need to swap bytes? */ - static int mutual; /* Mutual authentication requested? */ - static unsigned char s_kvno;/* Version number of the server's key - * Kerberos used to encrypt ticket */ - int status; - - if (authent->length <= 0) - return(RD_AP_MODIFIED); - - ptr = (char *) authent->dat; - - /* get msg version, type and byte order, and server key version */ - - /* check version */ - if (KRB_PROT_VERSION != (unsigned int) *ptr++) - return(RD_AP_VERSION); - - /* byte order */ - swap_bytes = 0; - if ((*ptr & 1) != HOST_BYTE_ORDER) - swap_bytes++; - - /* check msg type */ - mutual = 0; - switch (*ptr++ & ~1) { - case AUTH_MSG_APPL_REQUEST: - break; - case AUTH_MSG_APPL_REQUEST_MUTUAL: - mutual++; - break; - default: - return(RD_AP_MSG_TYPE); - } - -#ifdef lint - /* XXX mutual is set but not used; why??? */ - /* this is a crock to get lint to shut up */ - if (mutual) - mutual = 0; -#endif /* lint */ - s_kvno = *ptr++; /* get server key version */ - (void) strcpy(realm,ptr); /* And the realm of the issuing KDC */ - ptr += strlen(ptr) + 1; /* skip the realm "hint" */ - - /* - * If "fn" is NULL, key info should already be set; don't - * bother with ticket file. Otherwise, check to see if we - * already have key info for the given server and key version - * (saved in the static st_* variables). If not, go get it - * from the ticket file. If "fn" is the null string, use the - * default ticket file. - */ - if (fn && (strcmp(st_nam,service) || strcmp(st_inst,instance) || - strcmp(st_rlm,realm) || (st_kvno != s_kvno))) { - if (*fn == 0) fn = KEYFILE; - st_kvno = s_kvno; -#ifndef NOENCRYPTION - if (read_service_key(service,instance,realm,s_kvno,fn,(char *)skey)) - return(RD_AP_UNDEC); - if ((status=krb_set_key((char *)skey,0))) return(status); -#endif - (void) strcpy(st_rlm,realm); - (void) strcpy(st_nam,service); - (void) strcpy(st_inst,instance); - } - - /* Get ticket from authenticator */ - tkt->length = (int) *ptr++; - if ((tkt->length + (ptr+1 - (char *) authent->dat)) > authent->length) - return(RD_AP_MODIFIED); - bcopy(ptr+1,(char *)(tkt->dat),tkt->length); - - if (krb_ap_req_debug) - log("ticket->length: %d",tkt->length); - -#ifndef NOENCRYPTION - /* Decrypt and take apart ticket */ -#endif - - if (decomp_ticket(tkt,&ad->k_flags,ad->pname,ad->pinst,ad->prealm, - &(ad->address),ad->session, &(ad->life), - &(ad->time_sec),sname,iname,ky,serv_key)) - return(RD_AP_UNDEC); - - if (krb_ap_req_debug) { - log("Ticket Contents."); - log(" Aname: %s.%s",ad->pname, - ((int)*(ad->prealm) ? ad->prealm : "Athena")); - log(" Service: %s%s%s",sname,((int)*iname ? "." : ""),iname); - } - - /* Extract the authenticator */ - req_id->length = (int) *(ptr++); - if ((req_id->length + (ptr + tkt->length - (char *) authent->dat)) > - authent->length) - return(RD_AP_MODIFIED); - bcopy(ptr + tkt->length, (char *)(req_id->dat),req_id->length); - -#ifndef NOENCRYPTION - key_sched((C_Block *)ad->session,seskey_sched); - pcbc_encrypt((C_Block *)req_id->dat,(C_Block *)req_id->dat, - (long)req_id->length,seskey_sched,(C_Block *)ad->session,DES_DECRYPT); -#endif /* NOENCRYPTION */ - -#define check_ptr() if ((ptr - (char *) req_id->dat) > req_id->length) return(RD_AP_MODIFIED); - - ptr = (char *) req_id->dat; - (void) strcpy(r_aname,ptr); /* Authentication name */ - ptr += strlen(r_aname)+1; - check_ptr(); - (void) strcpy(r_inst,ptr); /* Authentication instance */ - ptr += strlen(r_inst)+1; - check_ptr(); - (void) strcpy(r_realm,ptr); /* Authentication name */ - ptr += strlen(r_realm)+1; - check_ptr(); - bcopy(ptr,(char *)&ad->checksum,4); /* Checksum */ - ptr += 4; - check_ptr(); - if (swap_bytes) swap_u_long(ad->checksum); - r_time_ms = *(ptr++); /* Time (fine) */ -#ifdef lint - /* XXX r_time_ms is set but not used. why??? */ - /* this is a crock to get lint to shut up */ - if (r_time_ms) - r_time_ms = 0; -#endif /* lint */ - check_ptr(); - /* assume sizeof(r_time_sec) == 4 ?? */ - bcopy(ptr,(char *)&r_time_sec,4); /* Time (coarse) */ - if (swap_bytes) swap_u_long(r_time_sec); - - /* Check for authenticity of the request */ - if (krb_ap_req_debug) - log("Pname: %s %s",ad->pname,r_aname); - if (strcmp(ad->pname,r_aname) != 0) - return(RD_AP_INCON); - if (strcmp(ad->pinst,r_inst) != 0) - return(RD_AP_INCON); - if (krb_ap_req_debug) - log("Realm: %s %s",ad->prealm,r_realm); - if ((strcmp(ad->prealm,r_realm) != 0)) - return(RD_AP_INCON); - - if (krb_ap_req_debug) - log("Address: %d %d",ad->address,from_addr); - if (from_addr && (ad->address != from_addr)) - return(RD_AP_BADD); - - (void) gettimeofday(&t_local,(struct timezone *) 0); - delta_t = abs((int)(t_local.tv_sec - r_time_sec)); - if (delta_t > CLOCK_SKEW) { - if (krb_ap_req_debug) - log("Time out of range: %d - %d = %d", - t_local.tv_sec,r_time_sec,delta_t); - return(RD_AP_TIME); - } - - /* Now check for expiration of ticket */ - - tkt_age = t_local.tv_sec - ad->time_sec; - if (krb_ap_req_debug) - log("Time: %d Issue Date: %d Diff: %d Life %x", - t_local.tv_sec,ad->time_sec,tkt_age,ad->life); - - if (t_local.tv_sec < ad->time_sec) { - if ((ad->time_sec - t_local.tv_sec) > CLOCK_SKEW) - return(RD_AP_NYV); - } - else if ((t_local.tv_sec - ad->time_sec) > 5 * 60 * ad->life) - return(RD_AP_EXP); - - /* All seems OK */ - ad->reply.length = 0; - - return(RD_AP_OK); -} diff --git a/eBones/lib/libkrb/rd_safe.c b/eBones/lib/libkrb/rd_safe.c deleted file mode 100644 index 4d3e8d6735aeb..0000000000000 --- a/eBones/lib/libkrb/rd_safe.c +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This routine dissects a a Kerberos 'safe msg', checking its - * integrity, and returning a pointer to the application data - * contained and its length. - * - * Returns 0 (RD_AP_OK) for success or an error code (RD_AP_...) - * - * Steve Miller Project Athena MIT/DEC - * - * from: rd_safe.c,v 4.12 89/01/23 15:16:16 steiner Exp $ - * $Id: rd_safe.c,v 1.3 1995/07/18 16:39:34 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: rd_safe.c,v 1.3 1995/07/18 16:39:34 mark Exp $"; -#endif /* lint */ -#endif - -/* system include files */ -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/time.h> - -/* application include files */ -#include <des.h> -#include <krb.h> -#include <prot.h> -#include "lsb_addr_comp.h" - -extern char *errmsg(); -extern int errno; -extern int krb_debug; - -/* static storage */ - -static C_Block calc_cksum[2]; -static C_Block big_cksum[2]; -static int swap_bytes; -static struct timeval local_time; -static u_long delta_t; - -/* - * krb_rd_safe() checks the integrity of an AUTH_MSG_SAFE message. - * Given the message received, "in", the length of that message, - * "in_length", the "key" to compute the checksum with, and the - * network addresses of the "sender" and "receiver" of the message, - * krb_rd_safe() returns RD_AP_OK if message is okay, otherwise - * some error code. - * - * The message data retrieved from "in" is returned in the structure - * "m_data". The pointer to the application data (m_data->app_data) - * refers back to the appropriate place in "in". - * - * See the file "mk_safe.c" for the format of the AUTH_MSG_SAFE - * message. The structure containing the extracted message - * information, MSG_DAT, is defined in "krb.h". - */ - -long krb_rd_safe(in,in_length,key,sender,receiver,m_data) - u_char *in; /* pointer to the msg received */ - u_long in_length; /* length of "in" msg */ - C_Block *key; /* encryption key for seed and ivec */ - struct sockaddr_in *sender; /* sender's address */ - struct sockaddr_in *receiver; /* receiver's address -- me */ - MSG_DAT *m_data; /* where to put message information */ -{ - register u_char *p,*q; - static u_long src_addr; /* Can't send structs since no - * guarantees on size */ - /* Be very conservative */ - if (sizeof(u_long) != sizeof(struct in_addr)) { - fprintf(stderr,"\n\ -krb_rd_safe protocol err sizeof(u_long) != sizeof(struct in_addr)"); - exit(-1); - } - - if (gettimeofday(&local_time,(struct timezone *)0)) - return -1; - - p = in; /* beginning of message */ - swap_bytes = 0; - - if (*p++ != KRB_PROT_VERSION) return RD_AP_VERSION; - if (((*p) & ~1) != AUTH_MSG_SAFE) return RD_AP_MSG_TYPE; - if ((*p++ & 1) != HOST_BYTE_ORDER) swap_bytes++; - - q = p; /* mark start of cksum stuff */ - - /* safely get length */ - bcopy((char *)p,(char *)&(m_data->app_length), - sizeof(m_data->app_length)); - if (swap_bytes) swap_u_long(m_data->app_length); - p += sizeof(m_data->app_length); /* skip over */ - - if (m_data->app_length + sizeof(in_length) - + sizeof(m_data->time_sec) + sizeof(m_data->time_5ms) - + sizeof(big_cksum) + sizeof(src_addr) - + VERSION_SZ + MSG_TYPE_SZ > in_length) - return(RD_AP_MODIFIED); - - m_data->app_data = p; /* we're now at the application data */ - - /* skip app data */ - p += m_data->app_length; - - /* safely get time_5ms */ - bcopy((char *)p, (char *)&(m_data->time_5ms), - sizeof(m_data->time_5ms)); - - /* don't need to swap-- one byte for now */ - p += sizeof(m_data->time_5ms); - - /* safely get src address */ - bcopy((char *)p,(char *)&src_addr,sizeof(src_addr)); - - /* don't swap, net order always */ - p += sizeof(src_addr); - - if (src_addr != (u_long) sender->sin_addr.s_addr) - return RD_AP_MODIFIED; - - /* safely get time_sec */ - bcopy((char *)p, (char *)&(m_data->time_sec), - sizeof(m_data->time_sec)); - if (swap_bytes) - swap_u_long(m_data->time_sec); - p += sizeof(m_data->time_sec); - - /* check direction bit is the sign bit */ - /* For compatibility with broken old code, compares are done in VAX - byte order (LSBFIRST) */ - if (lsb_net_ulong_less(sender->sin_addr.s_addr, - receiver->sin_addr.s_addr)==-1) - /* src < recv */ - m_data->time_sec = - m_data->time_sec; - else if (lsb_net_ulong_less(sender->sin_addr.s_addr, - receiver->sin_addr.s_addr)==0) - if (lsb_net_ushort_less(sender->sin_port,receiver->sin_port)==-1) - /* src < recv */ - m_data->time_sec = - m_data->time_sec; - - /* - * All that for one tiny bit! Heaven help those that talk to - * themselves. - */ - - /* check the time integrity of the msg */ - delta_t = abs((int)((long) local_time.tv_sec - m_data->time_sec)); - if (delta_t > CLOCK_SKEW) return RD_AP_TIME; - - /* - * caller must check timestamps for proper order and replays, since - * server might have multiple clients each with its own timestamps - * and we don't assume tightly synchronized clocks. - */ - - bcopy((char *)p,(char *)big_cksum,sizeof(big_cksum)); - if (swap_bytes) swap_u_16(big_cksum); - -#ifdef NOENCRYPTION - bzero(calc_cksum, sizeof(calc_cksum)); -#else - quad_cksum((C_Block *)q,calc_cksum,p-q,2,key); -#endif - - if (krb_debug) - printf("\ncalc_cksum = %lu, received cksum = %lu", - (long) calc_cksum[0], (long) big_cksum[0]); - if (bcmp((char *)big_cksum,(char *)calc_cksum,sizeof(big_cksum))) - return(RD_AP_MODIFIED); - - return(RD_AP_OK); /* OK == 0 */ -} diff --git a/eBones/lib/libkrb/read_service_key.c b/eBones/lib/libkrb/read_service_key.c deleted file mode 100644 index 6064292d96cfd..0000000000000 --- a/eBones/lib/libkrb/read_service_key.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: _service_key.c,v 4.10 90/03/10 19:06:56 jon Exp $ - * $Id: read_service_key.c,v 1.3 1995/07/18 16:39:36 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: read_service_key.c,v 1.3 1995/07/18 16:39:36 mark Exp $"; -#endif /* lint */ -#endif - -#include <krb.h> -#include <stdio.h> -#include <unistd.h> -#include <strings.h> - -/* - * The private keys for servers on a given host are stored in a - * "srvtab" file (typically "/etc/srvtab"). This routine extracts - * a given server's key from the file. - * - * read_service_key() takes the server's name ("service"), "instance", - * and "realm" and a key version number "kvno", and looks in the given - * "file" for the corresponding entry, and if found, returns the entry's - * key field in "key". - * - * If "instance" contains the string "*", then it will match - * any instance, and the chosen instance will be copied to that - * string. For this reason it is important that the there is enough - * space beyond the "*" to receive the entry. - * - * If "kvno" is 0, it is treated as a wild card and the first - * matching entry regardless of the "vno" field is returned. - * - * This routine returns KSUCCESS on success, otherwise KFAILURE. - * - * The format of each "srvtab" entry is as follows: - * - * Size Variable Field in file - * ---- -------- ------------- - * string serv server name - * string inst server instance - * string realm server realm - * 1 byte vno server key version # - * 8 bytes key server's key - * ... ... ... - */ - - -/*ARGSUSED */ -int -read_service_key(service,instance,realm,kvno,file,key) - char *service; /* Service Name */ - char *instance; /* Instance name or "*" */ - char *realm; /* Realm */ - int kvno; /* Key version number */ - char *file; /* Filename */ - char *key; /* Pointer to key to be filled in */ -{ - char serv[SNAME_SZ]; - char inst[INST_SZ]; - char rlm[REALM_SZ]; - unsigned char vno; /* Key version number */ - int wcard; - - int stab, open(); - - if ((stab = open(file, 0, 0)) < NULL) - return(KFAILURE); - - wcard = (instance[0] == '*') && (instance[1] == '\0'); - - while(getst(stab,serv,SNAME_SZ) > 0) { /* Read sname */ - (void) getst(stab,inst,INST_SZ); /* Instance */ - (void) getst(stab,rlm,REALM_SZ); /* Realm */ - /* Vers number */ - if (read(stab,(char *)&vno,1) != 1) { - close(stab); - return(KFAILURE); - } - /* Key */ - if (read(stab,key,8) != 8) { - close(stab); - return(KFAILURE); - } - /* Is this the right service */ - if (strcmp(serv,service)) - continue; - /* How about instance */ - if (!wcard && strcmp(inst,instance)) - continue; - if (wcard) - (void) strncpy(instance,inst,INST_SZ); - /* Is this the right realm */ -#ifdef ATHENA_COMPAT - /* XXX For backward compatibility: if keyfile says "Athena" - and caller wants "ATHENA.MIT.EDU", call it a match */ - if (strcmp(rlm,realm) && - (strcmp(rlm,"Athena") || - strcmp(realm,"ATHENA.MIT.EDU"))) - continue; -#else /* ! ATHENA_COMPAT */ - if (strcmp(rlm,realm)) - continue; -#endif /* ATHENA_COMPAT */ - - /* How about the key version number */ - if (kvno && kvno != (int) vno) - continue; - - (void) close(stab); - return(KSUCCESS); - } - - /* Can't find the requested service */ - (void) close(stab); - return(KFAILURE); -} diff --git a/eBones/lib/libkrb/recvauth.c b/eBones/lib/libkrb/recvauth.c deleted file mode 100644 index 45d68ee750799..0000000000000 --- a/eBones/lib/libkrb/recvauth.c +++ /dev/null @@ -1,290 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: recvauth.c,v 4.4 90/03/10 19:03:08 jon Exp $"; - * $Id: recvauth.c,v 1.3 1995/07/18 16:39:38 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: recvauth.c,v 1.3 1995/07/18 16:39:38 mark Exp $"; -#endif lint -#endif - -#include <krb.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <syslog.h> -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <strings.h> - - -#define KRB_SENDAUTH_VERS "AUTHV0.1" /* MUST be KRB_SENDAUTH_VLEN - chars */ - -/* - * If the protocol changes, you will need to change the version string - * and make appropriate changes in krb_sendauth.c - * be sure to support old versions of krb_sendauth! - */ - -extern int errno; - -/* - * krb_recvauth() reads (and optionally responds to) a message sent - * using krb_sendauth(). The "options" argument is a bit-field of - * selected options (see "sendauth.c" for options description). - * The only option relevant to krb_recvauth() is KOPT_DO_MUTUAL - * (mutual authentication requested). The "fd" argument supplies - * a file descriptor to read from (and write to, if mutual authenti- - * cation is requested). - * - * Part of the received message will be a Kerberos ticket sent by the - * client; this is read into the "ticket" argument. The "service" and - * "instance" arguments supply the server's Kerberos name. If the - * "instance" argument is the string "*", it is treated as a wild card - * and filled in during the krb_rd_req() call (see read_service_key()). - * - * The "faddr" and "laddr" give the sending (client) and receiving - * (local server) network addresses. ("laddr" may be left NULL unless - * mutual authentication is requested, in which case it must be set.) - * - * The authentication information extracted from the message is returned - * in "kdata". The "filename" argument indicates the file where the - * server's key can be found. (It is passed on to krb_rd_req().) If - * left null, the default "/etc/srvtab" will be used. - * - * If mutual authentication is requested, the session key schedule must - * be computed in order to reply; this schedule is returned in the - * "schedule" argument. A string containing the application version - * number from the received message is returned in "version", which - * should be large enough to hold a KRB_SENDAUTH_VLEN-character string. - * - * See krb_sendauth() for the format of the received client message. - * - * This routine supports another client format, for backward - * compatibility, consisting of: - * - * Size Variable Field - * ---- -------- ----- - * - * string tmp_buf, tkt_len length of ticket, in - * ascii - * - * char ' ' (space char) separator - * - * tkt_len ticket->dat the ticket - * - * This old-style version does not support mutual authentication. - * - * krb_recvauth() first reads the protocol version string from the - * given file descriptor. If it doesn't match the current protocol - * version (KRB_SENDAUTH_VERS), the old-style format is assumed. In - * that case, the string of characters up to the first space is read - * and interpreted as the ticket length, then the ticket is read. - * - * If the first string did match KRB_SENDAUTH_VERS, krb_recvauth() - * next reads the application protocol version string. Then the - * ticket length and ticket itself are read. - * - * The ticket is decrypted and checked by the call to krb_rd_req(). - * If no mutual authentication is required, the result of the - * krb_rd_req() call is retured by this routine. If mutual authenti- - * cation is required, a message in the following format is returned - * on "fd": - * - * Size Variable Field - * ---- -------- ----- - * - * 4 bytes tkt_len length of ticket or -1 - * if error occurred - * - * priv_len tmp_buf "private" message created - * by krb_mk_priv() which - * contains the incremented - * checksum sent by the client - * encrypted in the session - * key. (This field is not - * present in case of error.) - * - * If all goes well, KSUCCESS is returned; otherwise KFAILURE or some - * other error code is returned. - */ - -#ifndef max -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#endif /* max */ - -int -krb_recvauth(options, fd, ticket, service, instance, faddr, laddr, kdata, - filename, schedule, version) -long options; /* bit-pattern of options */ -int fd; /* file descr. to read from */ -KTEXT ticket; /* storage for client's ticket */ -char *service; /* service expected */ -char *instance; /* inst expected (may be filled in) */ -struct sockaddr_in *faddr; /* address of foreign host on fd */ -struct sockaddr_in *laddr; /* local address */ -AUTH_DAT *kdata; /* kerberos data (returned) */ -char *filename; /* name of file with service keys */ -Key_schedule schedule; /* key schedule (return) */ -char *version; /* version string (filled in) */ -{ - - int i, cc, old_vers = 0; - char krb_vers[KRB_SENDAUTH_VLEN + 1]; /* + 1 for the null terminator */ - char *cp; - int rem; - long tkt_len, priv_len; - u_long cksum; - u_char tmp_buf[MAX_KTXT_LEN+max(KRB_SENDAUTH_VLEN+1,21)]; - - /* read the protocol version number */ - if (krb_net_read(fd, krb_vers, KRB_SENDAUTH_VLEN) != - KRB_SENDAUTH_VLEN) - return(errno); - krb_vers[KRB_SENDAUTH_VLEN] = '\0'; - - /* check version string */ - if (strcmp(krb_vers,KRB_SENDAUTH_VERS)) { - /* Assume the old version of sendkerberosdata: send ascii - length, ' ', and ticket. */ - if (options & KOPT_DO_MUTUAL) - return(KFAILURE); /* XXX can't do old style with mutual auth */ - old_vers = 1; - - /* copy what we have read into tmp_buf */ - (void) bcopy(krb_vers, (char *) tmp_buf, KRB_SENDAUTH_VLEN); - - /* search for space, and make it a null */ - for (i = 0; i < KRB_SENDAUTH_VLEN; i++) - if (tmp_buf[i]== ' ') { - tmp_buf[i] = '\0'; - /* point cp to the beginning of the real ticket */ - cp = (char *) &tmp_buf[i+1]; - break; - } - - if (i == KRB_SENDAUTH_VLEN) - /* didn't find the space, keep reading to find it */ - for (; i<20; i++) { - if (read(fd, (char *)&tmp_buf[i], 1) != 1) { - return(KFAILURE); - } - if (tmp_buf[i] == ' ') { - tmp_buf[i] = '\0'; - /* point cp to the beginning of the real ticket */ - cp = (char *) &tmp_buf[i+1]; - break; - } - } - - tkt_len = (long) atoi((char *) tmp_buf); - - /* sanity check the length */ - if ((i==20)||(tkt_len<=0)||(tkt_len>MAX_KTXT_LEN)) - return(KFAILURE); - - if (i < KRB_SENDAUTH_VLEN) { - /* since we already got the space, and part of the ticket, - we read fewer bytes to get the rest of the ticket */ - if (krb_net_read(fd, (char *)(tmp_buf+KRB_SENDAUTH_VLEN), - (int) (tkt_len - KRB_SENDAUTH_VLEN + 1 + i)) - != (int)(tkt_len - KRB_SENDAUTH_VLEN + 1 + i)) - return(errno); - } else { - if (krb_net_read(fd, (char *)(tmp_buf+i), (int)tkt_len) != - (int) tkt_len) - return(errno); - } - ticket->length = tkt_len; - /* copy the ticket into the struct */ - (void) bcopy(cp, (char *) ticket->dat, ticket->length); - - } else { - /* read the application version string */ - if (krb_net_read(fd, version, KRB_SENDAUTH_VLEN) != - KRB_SENDAUTH_VLEN) - return(errno); - version[KRB_SENDAUTH_VLEN] = '\0'; - - /* get the length of the ticket */ - if (krb_net_read(fd, (char *)&tkt_len, sizeof(tkt_len)) != - sizeof(tkt_len)) - return(errno); - - /* sanity check */ - ticket->length = ntohl((unsigned long)tkt_len); - if ((ticket->length <= 0) || (ticket->length > MAX_KTXT_LEN)) { - if (options & KOPT_DO_MUTUAL) { - rem = KFAILURE; - goto mutual_fail; - } else - return(KFAILURE); /* XXX there may still be junk on the fd? */ - } - - /* read the ticket */ - if (krb_net_read(fd, (char *) ticket->dat, ticket->length) - != ticket->length) - return(errno); - } - /* - * now have the ticket. decrypt it to get the authenticated - * data. - */ - rem = krb_rd_req(ticket,service,instance,faddr->sin_addr.s_addr, - kdata,filename); - - if (old_vers) return(rem); /* XXX can't do mutual with old client */ - - /* if we are doing mutual auth, compose a response */ - if (options & KOPT_DO_MUTUAL) { - if (rem != KSUCCESS) - /* the krb_rd_req failed */ - goto mutual_fail; - - /* add one to the (formerly) sealed checksum, and re-seal it - for return to the client */ - cksum = kdata->checksum + 1; - cksum = htonl(cksum); -#ifndef NOENCRYPTION - key_sched((C_Block *)kdata->session,schedule); -#endif - priv_len = krb_mk_priv((unsigned char *)&cksum, - tmp_buf, - (unsigned long) sizeof(cksum), - schedule, - kdata->session, - laddr, - faddr); - if (priv_len < 0) { - /* re-sealing failed; notify the client */ - rem = KFAILURE; /* XXX */ -mutual_fail: - priv_len = -1; - tkt_len = htonl((unsigned long) priv_len); - /* a length of -1 is interpreted as an authentication - failure by the client */ - if ((cc = krb_net_write(fd, (char *)&tkt_len, sizeof(tkt_len))) - != sizeof(tkt_len)) - return(cc); - return(rem); - } else { - /* re-sealing succeeded, send the private message */ - tkt_len = htonl((unsigned long)priv_len); - if ((cc = krb_net_write(fd, (char *)&tkt_len, sizeof(tkt_len))) - != sizeof(tkt_len)) - return(cc); - if ((cc = krb_net_write(fd, (char *)tmp_buf, (int) priv_len)) - != (int) priv_len) - return(cc); - } - } - return(rem); -} diff --git a/eBones/lib/libkrb/save_credentials.c b/eBones/lib/libkrb/save_credentials.c deleted file mode 100644 index 268bb77a1c4da..0000000000000 --- a/eBones/lib/libkrb/save_credentials.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: save_credentials.c,v 4.9 89/05/31 17:45:43 jtkohl Exp $ - * $Id: save_credentials.c,v 1.3 1995/07/18 16:39:40 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: save_credentials.c,v 1.3 1995/07/18 16:39:40 mark Exp $"; -#endif /* lint */ -#endif - -#include <stdio.h> -#include <krb.h> - -/* - * This routine takes a ticket and associated info and calls - * tf_save_cred() to store them in the ticket cache. The peer - * routine for extracting a ticket and associated info from the - * ticket cache is krb_get_cred(). When changes are made to - * this routine, the corresponding changes should be made - * in krb_get_cred() as well. - * - * Returns KSUCCESS if all goes well, otherwise an error returned - * by the tf_init() or tf_save_cred() routines. - */ - -int -save_credentials(service, instance, realm, session, lifetime, kvno, - ticket, issue_date) - char *service; /* Service name */ - char *instance; /* Instance */ - char *realm; /* Auth domain */ - C_Block session; /* Session key */ - int lifetime; /* Lifetime */ - int kvno; /* Key version number */ - KTEXT ticket; /* The ticket itself */ - long issue_date; /* The issue time */ -{ - int tf_status; /* return values of the tf_util calls */ - - /* Open and lock the ticket file for writing */ - if ((tf_status = tf_init(TKT_FILE, W_TKT_FIL)) != KSUCCESS) - return(tf_status); - - /* Save credentials by appending to the ticket file */ - tf_status = tf_save_cred(service, instance, realm, session, - lifetime, kvno, ticket, issue_date); - (void) tf_close(); - return (tf_status); -} diff --git a/eBones/lib/libkrb/send_to_kdc.c b/eBones/lib/libkrb/send_to_kdc.c deleted file mode 100644 index c9f4355547dcf..0000000000000 --- a/eBones/lib/libkrb/send_to_kdc.c +++ /dev/null @@ -1,529 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: send_to_kdc.c,v 4.20 90/01/02 13:40:37 jtkohl Exp $ - * $Id: send_to_kdc.c,v 1.9 1995/09/16 23:11:25 gibbs Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid_send_to_kdc_c[] = -"$Id: send_to_kdc.c,v 1.1 1994/03/21 17:35:39 piero Exp "; -#endif /* lint */ -#endif - -#include <krb.h> -#include <prot.h> - -#include <unistd.h> -#include <stdlib.h> -#include <stdio.h> -#include <errno.h> -#include <sys/time.h> -#include <sys/param.h> -#include <sys/types.h> -#ifdef lint -#include <sys/uio.h> /* struct iovec to make lint happy */ -#endif /* lint */ -#include <sys/sysctl.h> -#include <sys/socket.h> -#include <net/if.h> -#include <net/route.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <netdb.h> -#include <strings.h> - -#define S_AD_SZ sizeof(struct sockaddr_in) - -/* Used for extracting addresses from routing messages */ -#define ROUNDUP(a) \ - ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long)) -#define ADVANCE(x, n) (x += ROUNDUP((n)->sin_len)) - -extern int errno; -extern int krb_debug; - -extern char *malloc(), *calloc(), *realloc(); - -int krb_udp_port = 0; - -static struct sockaddr_in local_addr = { S_AD_SZ, - AF_INET - }; - -/* CLIENT_KRB_TIMEOUT indicates the time to wait before - * retrying a server. It's defined in "krb.h". - */ -static struct timeval timeout = { CLIENT_KRB_TIMEOUT, 0}; -static char *prog = "send_to_kdc"; -static send_recv(); - -/* - * This file contains two routines, send_to_kdc() and send_recv(). - * send_recv() is a static routine used by send_to_kdc(). - */ - -/* - * send_to_kdc() sends a message to the Kerberos authentication - * server(s) in the given realm and returns the reply message. - * The "pkt" argument points to the message to be sent to Kerberos; - * the "rpkt" argument will be filled in with Kerberos' reply. - * The "realm" argument indicates the realm of the Kerberos server(s) - * to transact with. If the realm is null, the local realm is used. - * - * If more than one Kerberos server is known for a given realm, - * different servers will be queried until one of them replies. - * Several attempts (retries) are made for each server before - * giving up entirely. - * - * If an answer was received from a Kerberos host, KSUCCESS is - * returned. The following errors can be returned: - * - * SKDC_CANT - can't get local realm - * - can't find "kerberos" in /etc/services database - * - can't open socket - * - can't bind socket - * - all ports in use - * - couldn't find any Kerberos host - * - * SKDC_RETRY - couldn't get an answer from any Kerberos server, - * after several retries - */ - -int -send_to_kdc(pkt,rpkt,realm) - KTEXT pkt; - KTEXT rpkt; - char *realm; -{ - int i, f; - int no_host; /* was a kerberos host found? */ - int retry; - int n_hosts; - int retval; - int addr_count; - struct sockaddr_in to; - struct hostent *host, *hostlist; - char krbhst[MAX_HSTNM]; - char lrealm[REALM_SZ]; - - /* - * If "realm" is non-null, use that, otherwise get the - * local realm. - */ - if (realm) - (void) strcpy(lrealm, realm); - else - if (krb_get_lrealm(lrealm,1)) { - if (krb_debug) - fprintf(stderr, "%s: can't get local realm\n", prog); - return(SKDC_CANT); - } - if (krb_debug) - printf("lrealm is %s\n", lrealm); - if (krb_udp_port == 0) { - register struct servent *sp; - if ((sp = getservbyname("kerberos","udp")) == 0) { - if (krb_debug) - fprintf(stderr, "%s: Can't get kerberos/udp service\n", - prog); - return(SKDC_CANT); - } - krb_udp_port = sp->s_port; - if (krb_debug) - printf("krb_udp_port is %d\n", krb_udp_port); - } - bzero((char *)&to, S_AD_SZ); - hostlist = (struct hostent *) malloc(sizeof(struct hostent)); - if (!hostlist) - return (/*errno */SKDC_CANT); - if ((f = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - if (krb_debug) - fprintf(stderr,"%s: Can't open socket\n", prog); - return(SKDC_CANT); - } - /* from now on, exit through rtn label for cleanup */ - - no_host = 1; - /* get an initial allocation */ - n_hosts = 0; - for (i = 1; krb_get_krbhst(krbhst, lrealm, i) == KSUCCESS; ++i) { - if (krb_debug) { - printf("Getting host entry for %s...",krbhst); - (void) fflush(stdout); - } - host = gethostbyname(krbhst); - if (krb_debug) { - printf("%s.\n", - host ? "Got it" : "Didn't get it"); - (void) fflush(stdout); - } - if (!host) - continue; - no_host = 0; /* found at least one */ - n_hosts++; - /* - * Preserve host network addresses to check against later - */ - hostlist = (struct hostent *) - realloc((char *)hostlist, - (unsigned) - sizeof(struct hostent)*(n_hosts+1)); - if (!hostlist) { - fprintf(stderr, "Could not grow hostlist\n"); - return /*errno */SKDC_CANT; - } - bcopy((char *)host, (char *)&hostlist[n_hosts-1], - sizeof(struct hostent)); - host = &hostlist[n_hosts-1]; -/* At least Sun OS version 3.2 (or worse) and Ultrix version 2.2 - (or worse) only return one address ... */ -#if (defined(ULTRIX022) || (defined(SunOS) && SunOS < 40)) - { - char *cp = malloc((unsigned)host->h_length); - if (!cp) { - retval = /*errno */SKDC_CANT; - goto rtn; - } - bcopy((char *)host->h_addr, cp, host->h_length); - host->h_addr = cp; - } -#else /* !(ULTRIX022 || (SunOS < 40)) */ - /* - * Make a copy of the entire h_addr_list. - */ - { - char *addr; - char **old_addr_list; - addr_count = 0; - old_addr_list = host->h_addr_list; - while(old_addr_list[addr_count++]) - ; - host->h_addr_list = (char **)malloc(addr_count+1 * sizeof(char *)); - if (host->h_addr_list == NULL) { - fprintf(stderr, "Could not allocate host->h_addr_list\n"); - retval = SKDC_CANT; - goto rtn; - } - if (krb_debug) { - printf("h_length = %d\n", host->h_length); - printf("Number of addresses = %d\n", addr_count); - } - for (addr_count = 0; old_addr_list[addr_count]; addr_count++) { - if (krb_debug) - printf ("addr[%d] = %s\n", addr_count, - inet_ntoa(*(struct in_addr *)old_addr_list[addr_count])); - addr = (char *)malloc(host->h_length); - if (addr == NULL) { - fprintf(stderr, "Could not allocate address\n"); - retval = SKDC_CANT; - goto rtn; - } - bcopy(old_addr_list[addr_count], addr, host->h_length); - host->h_addr_list[addr_count] = addr; - } - host->h_addr_list[addr_count] = NULL; - } -#endif /* !(ULTRIX022 || (SunOS < 40)) */ - - bzero((char *)&hostlist[n_hosts], - sizeof(struct hostent)); - to.sin_family = host->h_addrtype; - bcopy(host->h_addr, (char *)&to.sin_addr, - host->h_length); - to.sin_port = krb_udp_port; - if ((retval = krb_bind_local_addr(f)) != KSUCCESS) { - fprintf(stderr, "krb_bind_local_addr: %s", krb_err_txt[retval]); - retval = SKDC_CANT; - goto rtn; - } - if (send_recv(pkt, rpkt, f, &to, hostlist)) { - retval = KSUCCESS; - goto rtn; - } - if (krb_debug) { - printf("Timeout, error, or wrong descriptor\n"); - (void) fflush(stdout); - } - } - if (no_host) { - if (krb_debug) - fprintf(stderr, "%s: can't find any Kerberos host.\n", prog); - retval = SKDC_CANT; - goto rtn; - } - /* - * retry each host in sequence. Some addresses may be unreachable - * from where we are, so loop through them as well. - */ - for (retry = 0; retry < CLIENT_KRB_RETRY; ++retry) { - for (host = hostlist; host->h_name != (char *)NULL; host++) { -#if (defined(ULTRIX022) || (defined(SunOS) && SunOS < 40)) - to.sin_family = host->h_addrtype; - bcopy(host->h_addr_list[addr_count], (char *)&to.sin_addr, - host->h_length); - if (send_recv(pkt, rpkt, f, &to, hostlist)) { - retval = KSUCCESS; - goto rtn; - } -#else /* !(ULTRIX022 || (SunOS < 40)) */ - for (addr_count = 0; host->h_addr_list[addr_count]; addr_count++) { - to.sin_family = host->h_addrtype; - bcopy(host->h_addr_list[addr_count], (char *)&to.sin_addr, - host->h_length); - if (send_recv(pkt, rpkt, f, &to, hostlist)) { - retval = KSUCCESS; - goto rtn; - } - } -#endif /* !(ULTRIX022 || (SunOS < 40)) */ - } - } - retval = SKDC_RETRY; -rtn: - (void) close(f); - if (hostlist) { - if(!no_host) { - register struct hostent *hp; - for (hp = hostlist; hp->h_name; hp++) -#if !(defined(ULTRIX022) || (defined(SunOS) && SunOS < 40)) - if (hp->h_addr_list) { -#endif /* ULTRIX022 || SunOS */ - if (hp->h_addr) - free(hp->h_addr); -#if !(defined(ULTRIX022) || (defined(SunOS) && SunOS < 40)) - free((char *)hp->h_addr_list); - } -#endif /* ULTRIX022 || SunOS */ - } - free((char *)hostlist); - } - return(retval); -} - -/* - * try to send out and receive message. - * return 1 on success, 0 on failure - */ - -static int -send_recv(pkt,rpkt,f,_to,addrs) - KTEXT pkt; - KTEXT rpkt; - int f; - struct sockaddr_in *_to; - struct hostent *addrs; -{ - fd_set readfds; - register struct hostent *hp; - struct sockaddr_in from; - int sin_size; - int numsent; - int addr_count; - - if (krb_debug) { - if (_to->sin_family == AF_INET) - printf("Sending message to %s...", - inet_ntoa(_to->sin_addr)); - else - printf("Sending message..."); - (void) fflush(stdout); - } - if ((numsent = sendto(f,(char *)(pkt->dat), pkt->length, 0, - (struct sockaddr *)_to, - S_AD_SZ)) != pkt->length) { - if (krb_debug) - printf("sent only %d/%d\n",numsent, pkt->length); - return 0; - } - if (krb_debug) { - printf("Sent\nWaiting for reply..."); - (void) fflush(stdout); - } - FD_ZERO(&readfds); - FD_SET(f, &readfds); - errno = 0; - /* select - either recv is ready, or timeout */ - /* see if timeout or error or wrong descriptor */ - if (select(f + 1, &readfds, (fd_set *)0, (fd_set *)0, &timeout) < 1 - || !FD_ISSET(f, &readfds)) { - if (krb_debug) { - fprintf(stderr, "select failed: readfds=%x", - readfds); - perror(""); - } - return 0; - } - sin_size = sizeof(from); - if (recvfrom(f, (char *)(rpkt->dat), sizeof(rpkt->dat), 0, - (struct sockaddr *)&from, &sin_size) - < 0) { - if (krb_debug) - perror("recvfrom"); - return 0; - } - if (krb_debug) { - printf("received packet from %s\n", inet_ntoa(from.sin_addr)); - fflush(stdout); - } -/* At least Sun OS version 3.2 (or worse) and Ultrix version 2.2 - (or worse) only return one address ... */ -#if (defined(ULTRIX022) || (defined(SunOS) && SunOS < 40)) - for (hp = addrs; hp->h_name != (char *)NULL; hp++) { - if (!bcmp(hp->h_addr, (char *)&from.sin_addr.s_addr, - hp->h_length)) { - if (krb_debug) { - printf("Received it\n"); - (void) fflush(stdout); - } - return 1; - } - if (krb_debug) - fprintf(stderr, "packet not from %s\n", - inet_ntoa(*(struct in_addr *)hp->h_addr)); - } -#else /* !(ULTRIX022 || (SunOS < 40)) */ - for (hp = addrs; hp->h_name != (char *)NULL; hp++) { - for (addr_count = 0; hp->h_addr_list[addr_count]; addr_count++) { - if (!bcmp(hp->h_addr_list[addr_count], - (char *)&from.sin_addr.s_addr, hp->h_length)) { - if (krb_debug) { - printf("Received it\n"); - (void) fflush(stdout); - } - return 1; - } - if (krb_debug) - fprintf(stderr, "packet not from %s\n", - inet_ntoa(*(struct in_addr *)hp->h_addr_list[addr_count])); - } - } -#endif /* !(ULTRIX022 || (SunOS < 40)) */ - if (krb_debug) - fprintf(stderr, "%s: received packet from wrong host! (%s)\n", - "send_to_kdc(send_rcv)", inet_ntoa(from.sin_addr)); - return 0; -} - - -static int -setfixedaddr(s) - int s; -{ - struct ifa_msghdr *ifa, *ifa0, *ifa_end; - struct sockaddr_in *cur_addr; - int tries; - int i; - u_long loopback; - int mib[6] = { CTL_NET, PF_ROUTE, 0, AF_INET, NET_RT_IFLIST, 0 }; - size_t len; - - /* Get information about our interfaces */ -#define NUMTRIES 10 - tries = 0; - -retry: - len = 0; - if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0) { - perror("setfixedaddr: Can't get size of interface table: sysctl"); - return GT_LADDR_IFLIST; - } - ifa = (struct ifa_msghdr *)malloc(len); - if (!ifa) { - fprintf(stderr, "setfixedaddr: Cannot malloc\n"); - return (KFAILURE); - } - if (sysctl(mib, 6, ifa, &len, NULL, 0) < 0) { - free(ifa); - if (errno == ENOMEM && tries < NUMTRIES) { - /* Table grew between calls */ - tries++; - goto retry; - } - else { - perror("setfixedaddr: Can't get interface table: sysctl"); - return GT_LADDR_IFLIST; - } - } - loopback = inet_addr("127.0.0.1"); - - ifa0 = ifa; - for(ifa_end = (struct ifa_msghdr *)((caddr_t)ifa + len); - ifa < ifa_end; - (caddr_t)ifa += ifa->ifam_msglen) { - /* Ignore interface name messages and ensure we have an address */ - if (ifa->ifam_type == RTM_IFINFO || !(ifa->ifam_addrs & RTAX_IFA)) - continue; - cur_addr = (struct sockaddr_in *)(ifa + 1); - for (i = 0; i < RTAX_IFA; i++) { - if (ifa->ifam_addrs & (1 << i)) - ADVANCE((caddr_t)cur_addr, cur_addr); - } - if (cur_addr->sin_addr.s_addr != loopback) { - local_addr.sin_addr.s_addr = cur_addr->sin_addr.s_addr; - break; - } - } - free(ifa0); - if (ifa >= ifa_end) { - return GT_LADDR_NVI; - } - if (krb_debug) { - fprintf(stderr, "setfixedaddr: using local address %s\n", - inet_ntoa(local_addr.sin_addr)); - } - return (KSUCCESS); -} - -int -krb_bind_local_addr(s) - int s; -{ - int retval; - if (local_addr.sin_addr.s_addr == INADDR_ANY) { - /* - * We haven't determined the local interface to use - * for kerberos server interactions. Do so now. - */ - if ((retval = setfixedaddr(s)) != KSUCCESS) - return (retval); - } - if (bind(s, (struct sockaddr *)&local_addr, sizeof(local_addr)) < 0) { - perror("krb_bind_local_addr: bind"); - return BND_LADDR_BIND; - } - if (krb_debug) - printf("local_addr = %s\n", inet_ntoa(local_addr.sin_addr)); - return(KSUCCESS); -} - -int -krb_get_local_addr(returned_addr) - struct sockaddr_in *returned_addr; -{ - int retval; - if (local_addr.sin_addr.s_addr == INADDR_ANY) { - /* - * We haven't determined the local interface to use - * for kerberos server interactions. Do so now. - */ - int s; - if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - return GT_LADDR_NOSOCK; - } - if ((retval = setfixedaddr(s)) != KSUCCESS) { - close(s); - return (retval); - } - close(s); - } - if (!returned_addr) - return(KFAILURE); - *returned_addr = local_addr; - if (krb_debug) - printf("local_addr = %s\n", inet_ntoa(local_addr.sin_addr)); - return (KSUCCESS); -} diff --git a/eBones/lib/libkrb/sendauth.c b/eBones/lib/libkrb/sendauth.c deleted file mode 100644 index a1d79e772bc06..0000000000000 --- a/eBones/lib/libkrb/sendauth.c +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: sendauth.c,v 4.6 90/03/10 23:18:28 jon Exp $ - * $Id: sendauth.c,v 1.3 1995/07/18 16:39:44 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: sendauth.c,v 1.3 1995/07/18 16:39:44 mark Exp $"; -#endif lint -#endif - -#include <krb.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <syslog.h> -#include <errno.h> -#include <stdio.h> -#include <strings.h> - -#define KRB_SENDAUTH_VERS "AUTHV0.1" /* MUST be KRB_SENDAUTH_VLEN chars */ -/* - * If the protocol changes, you will need to change the version string - * and make appropriate changes in krb_recvauth.c - */ - -extern int errno; - -extern char *krb_get_phost(); - -/* - * This file contains two routines: krb_sendauth() and krb_sendsrv(). - * - * krb_sendauth() transmits a ticket over a file descriptor for a - * desired service, instance, and realm, doing mutual authentication - * with the server if desired. - * - * krb_sendsvc() sends a service name to a remote knetd server. - */ - -/* - * The first argument to krb_sendauth() contains a bitfield of - * options (the options are defined in "krb.h"): - * - * KOPT_DONT_CANON Don't canonicalize instance as a hostname. - * (If this option is not chosen, krb_get_phost() - * is called to canonicalize it.) - * - * KOPT_DONT_MK_REQ Don't request server ticket from Kerberos. - * A ticket must be supplied in the "ticket" - * argument. - * (If this option is not chosen, and there - * is no ticket for the given server in the - * ticket cache, one will be fetched using - * krb_mk_req() and returned in "ticket".) - * - * KOPT_DO_MUTUAL Do mutual authentication, requiring that the - * receiving server return the checksum+1 encrypted - * in the session key. The mutual authentication - * is done using krb_mk_priv() on the other side - * (see "recvauth.c") and krb_rd_priv() on this - * side. - * - * The "fd" argument is a file descriptor to write to the remote - * server on. The "ticket" argument is used to store the new ticket - * from the krb_mk_req() call. If the KOPT_DONT_MK_REQ options is - * chosen, the ticket must be supplied in the "ticket" argument. - * The "service", "inst", and "realm" arguments identify the ticket. - * If "realm" is null, the local realm is used. - * - * The following arguments are only needed if the KOPT_DO_MUTUAL option - * is chosen: - * - * The "checksum" argument is a number that the server will add 1 to - * to authenticate itself back to the client; the "msg_data" argument - * holds the returned mutual-authentication message from the server - * (i.e., the checksum+1); the "cred" structure is used to hold the - * session key of the server, extracted from the ticket file, for use - * in decrypting the mutual authentication message from the server; - * and "schedule" holds the key schedule for that decryption. The - * the local and server addresses are given in "laddr" and "faddr". - * - * The application protocol version number (of up to KRB_SENDAUTH_VLEN - * characters) is passed in "version". - * - * If all goes well, KSUCCESS is returned, otherwise some error code. - * - * The format of the message sent to the server is: - * - * Size Variable Field - * ---- -------- ----- - * - * KRB_SENDAUTH_VLEN KRB_SENDAUTH_VER sendauth protocol - * bytes version number - * - * KRB_SENDAUTH_VLEN version application protocol - * bytes version number - * - * 4 bytes ticket->length length of ticket - * - * ticket->length ticket->dat ticket itself - */ - -/* - * XXX: Note that krb_rd_priv() is coded in such a way that - * "msg_data->app_data" will be pointing into "priv_buf", which - * will disappear when krb_sendauth() returns. - */ - -int -krb_sendauth(options, fd, ticket, service, inst, realm, checksum, - msg_data, cred, schedule, laddr, faddr, version) -long options; /* bit-pattern of options */ -int fd; /* file descriptor to write onto */ -KTEXT ticket; /* where to put ticket (return); or - * supplied in case of KOPT_DONT_MK_REQ */ -char *service, *inst, *realm; /* service name, instance, realm */ -u_long checksum; /* checksum to include in request */ -MSG_DAT *msg_data; /* mutual auth MSG_DAT (return) */ -CREDENTIALS *cred; /* credentials (return) */ -Key_schedule schedule; /* key schedule (return) */ -struct sockaddr_in *laddr; /* local address */ -struct sockaddr_in *faddr; /* address of foreign host on fd */ -char *version; /* version string */ -{ - int rem, i, cc; - char srv_inst[INST_SZ]; - char krb_realm[REALM_SZ]; - char buf[BUFSIZ]; - long tkt_len; - u_char priv_buf[1024]; - u_long cksum; - - rem=KSUCCESS; - - /* get current realm if not passed in */ - if (!realm) { - rem = krb_get_lrealm(krb_realm,1); - if (rem != KSUCCESS) - return(rem); - realm = krb_realm; - } - - /* copy instance into local storage, canonicalizing if desired */ - if (options & KOPT_DONT_CANON) - (void) strncpy(srv_inst, inst, INST_SZ); - else - (void) strncpy(srv_inst, krb_get_phost(inst), INST_SZ); - - /* get the ticket if desired */ - if (!(options & KOPT_DONT_MK_REQ)) { - rem = krb_mk_req(ticket, service, srv_inst, realm, checksum); - if (rem != KSUCCESS) - return(rem); - } - -#ifdef ATHENA_COMPAT - /* this is only for compatibility with old servers */ - if (options & KOPT_DO_OLDSTYLE) { - (void) sprintf(buf,"%d ",ticket->length); - (void) write(fd, buf, strlen(buf)); - (void) write(fd, (char *) ticket->dat, ticket->length); - return(rem); - } -#endif ATHENA_COMPAT - /* if mutual auth, get credentials so we have service session - keys for decryption below */ - if (options & KOPT_DO_MUTUAL) - if ((cc = krb_get_cred(service, srv_inst, realm, cred))) - return(cc); - - /* zero the buffer */ - (void) bzero(buf, BUFSIZ); - - /* insert version strings */ - (void) strncpy(buf, KRB_SENDAUTH_VERS, KRB_SENDAUTH_VLEN); - (void) strncpy(buf+KRB_SENDAUTH_VLEN, version, KRB_SENDAUTH_VLEN); - - /* increment past vers strings */ - i = 2*KRB_SENDAUTH_VLEN; - - /* put ticket length into buffer */ - tkt_len = htonl((unsigned long) ticket->length); - (void) bcopy((char *) &tkt_len, buf+i, sizeof(tkt_len)); - i += sizeof(tkt_len); - - /* put ticket into buffer */ - (void) bcopy((char *) ticket->dat, buf+i, ticket->length); - i += ticket->length; - - /* write the request to the server */ - if ((cc = krb_net_write(fd, buf, i)) != i) - return(cc); - - /* mutual authentication, if desired */ - if (options & KOPT_DO_MUTUAL) { - /* get the length of the reply */ - if (krb_net_read(fd, (char *) &tkt_len, sizeof(tkt_len)) != - sizeof(tkt_len)) - return(errno); - tkt_len = ntohl((unsigned long)tkt_len); - - /* if the length is negative, the server failed to recognize us. */ - if ((tkt_len < 0) || (tkt_len > sizeof(priv_buf))) - return(KFAILURE); /* XXX */ - /* read the reply... */ - if (krb_net_read(fd, (char *)priv_buf, (int) tkt_len) != (int) tkt_len) - return(errno); - - /* ...and decrypt it */ -#ifndef NOENCRYPTION - key_sched((C_Block *)cred->session,schedule); -#endif - if ((cc = krb_rd_priv(priv_buf,(unsigned long) tkt_len, schedule, - cred->session, faddr, laddr, msg_data))) - return(cc); - - /* fetch the (modified) checksum */ - (void) bcopy((char *)msg_data->app_data, (char *)&cksum, - sizeof(cksum)); - cksum = ntohl(cksum); - - /* if it doesn't match, fail */ - if (cksum != checksum + 1) - return(KFAILURE); /* XXX */ - } - return(KSUCCESS); -} - -#ifdef ATHENA_COMPAT -/* - * krb_sendsvc - */ - -int -krb_sendsvc(fd, service) -int fd; -char *service; -{ - /* write the service name length and then the service name to - the fd */ - long serv_length; - int cc; - - serv_length = htonl((unsigned long)strlen(service)); - if ((cc = krb_net_write(fd, (char *) &serv_length, - sizeof(serv_length))) - != sizeof(serv_length)) - return(cc); - if ((cc = krb_net_write(fd, service, strlen(service))) - != strlen(service)) - return(cc); - return(KSUCCESS); -} -#endif ATHENA_COMPAT diff --git a/eBones/lib/libkrb/stime.c b/eBones/lib/libkrb/stime.c deleted file mode 100644 index 2da246319eb73..0000000000000 --- a/eBones/lib/libkrb/stime.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: stime.c,v 4.5 88/11/15 16:58:05 jtkohl Exp $ - * $Id: stime.c,v 1.3 1995/07/18 16:39:46 mark Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: stime.c,v 1.3 1995/07/18 16:39:46 mark Exp $"; -#endif /* lint */ -#endif - -#include <sys/time.h> -#include <stdio.h> /* for sprintf() */ - -/* - * Given a pointer to a long containing the number of seconds - * since the beginning of time (midnight 1 Jan 1970 GMT), return - * a string containing the local time in the form: - * - * "25-Jan-88 10:17:56" - */ - -char * -stime(t) - long *t; -{ - static char st_data[40]; - static char *st = st_data; - struct tm *tm; - char *month_sname(); - - tm = localtime(t); - (void) sprintf(st,"%2d-%s-%02d %02d:%02d:%02d",tm->tm_mday, - month_sname(tm->tm_mon + 1),tm->tm_year, - tm->tm_hour, tm->tm_min, tm->tm_sec); - return st; -} diff --git a/eBones/lib/libkrb/tf_shm.c b/eBones/lib/libkrb/tf_shm.c deleted file mode 100644 index 31894cb83983a..0000000000000 --- a/eBones/lib/libkrb/tf_shm.c +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Shared memory segment functions for session keys. Derived from code - * contributed by Dan Kolkowitz (kolk@jessica.stanford.edu). - * - * from: tf_shm.c,v 4.2 89/10/25 23:26:46 qjb Exp $ - * $Id: tf_shm.c,v 1.3 1995/07/18 16:39:48 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: tf_shm.c,v 1.3 1995/07/18 16:39:48 mark Exp $"; -#endif lint -#endif - -#include <stdio.h> -#include <sys/types.h> -#include <sys/ipc.h> -#include <sys/shm.h> -#include <krb.h> -#include <des.h> -#include <sys/stat.h> -#include <fcntl.h> - -#define MAX_BUFF sizeof(des_cblock)*1000 /* room for 1k keys */ - -extern int errno; -extern int krb_debug; - -/* - * krb_create_shmtkt: - * - * create a shared memory segment for session keys, leaving its id - * in the specified filename. - */ - -int -krb_shm_create(file_name) -char *file_name; -{ - int retval; - int shmid; - struct shmid_ds shm_buf; - FILE *sfile; - uid_t me, metoo, getuid(), geteuid(); - - (void) krb_shm_dest(file_name); /* nuke it if it exists... - this cleans up to make sure we - don't slowly lose memory. */ - - shmid = shmget((long)IPC_PRIVATE,MAX_BUFF, IPC_CREAT); - if (shmid == -1) { - if (krb_debug) - perror("krb_shm_create shmget"); - return(KFAILURE); /* XXX */ - } - me = getuid(); - metoo = geteuid(); - /* - * now set up the buffer so that we can modify it - */ - shm_buf.shm_perm.uid = me; - shm_buf.shm_perm.gid = getgid(); - shm_buf.shm_perm.mode = 0600; - if (shmctl(shmid,IPC_SET,&shm_buf) < 0) { /*can now map it */ - if (krb_debug) - perror("krb_shm_create shmctl"); - (void) shmctl(shmid, IPC_RMID, 0); - return(KFAILURE); /* XXX */ - } - (void) shmctl(shmid, SHM_LOCK, 0); /* attempt to lock-in-core */ - /* arrange so the file is owned by the ruid - (swap real & effective uid if necessary). */ - if (me != metoo) { - if (setreuid(metoo, me) < 0) { - /* can't switch??? barf! */ - if (krb_debug) - perror("krb_shm_create: setreuid"); - (void) shmctl(shmid, IPC_RMID, 0); - return(KFAILURE); - } else - if (krb_debug) - printf("swapped UID's %d and %d\n",metoo,me); - } - if ((sfile = fopen(file_name,"w")) == 0) { - if (krb_debug) - perror("krb_shm_create file"); - (void) shmctl(shmid, IPC_RMID, 0); - return(KFAILURE); /* XXX */ - } - if (fchmod(fileno(sfile),0600) < 0) { - if (krb_debug) - perror("krb_shm_create fchmod"); - (void) shmctl(shmid, IPC_RMID, 0); - return(KFAILURE); /* XXX */ - } - if (me != metoo) { - if (setreuid(me, metoo) < 0) { - /* can't switch??? barf! */ - if (krb_debug) - perror("krb_shm_create: setreuid2"); - (void) shmctl(shmid, IPC_RMID, 0); - return(KFAILURE); - } else - if (krb_debug) - printf("swapped UID's %d and %d\n",me,metoo); - } - - (void) fprintf(sfile,"%d",shmid); - (void) fflush(sfile); - (void) fclose(sfile); - return(KSUCCESS); -} - - -/* - * krb_is_diskless: - * - * check / to see if file .diskless exists. If so it is diskless. - * Do it this way now to avoid dependencies on a particular routine. - * Choose root file system since that will be private to the client. - */ - -int krb_is_diskless() -{ - struct stat buf; - if (stat("/.diskless",&buf) < 0) - return(0); - else return(1); -} - -/* - * krb_shm_dest: destroy shared memory segment with session keys, and remove - * file pointing to it. - */ - -int krb_shm_dest(file) -char *file; -{ - int shmid; - FILE *sfile; - struct stat st_buf; - - if (stat(file,&st_buf) == 0) { - /* successful stat */ - if ((sfile = fopen(file,"r")) == 0) { - if (krb_debug) - perror("cannot open shared memory file"); - return(KFAILURE); /* XXX */ - } - if (fscanf(sfile,"%d",&shmid) == 1) { - if (shmctl(shmid,IPC_RMID,0) != 0) { - if (krb_debug) - perror("krb_shm_dest: cannot delete shm segment"); - (void) fclose(sfile); - return(KFAILURE); /* XXX */ - } - } else { - if (krb_debug) - fprintf(stderr, "bad format in shmid file\n"); - (void) fclose(sfile); - return(KFAILURE); /* XXX */ - } - (void) fclose(sfile); - (void) unlink(file); - return(KSUCCESS); - } else - return(RET_TKFIL); /* XXX */ -} - - - diff --git a/eBones/lib/libkrb/tf_util.3 b/eBones/lib/libkrb/tf_util.3 deleted file mode 100644 index ee6e436893299..0000000000000 --- a/eBones/lib/libkrb/tf_util.3 +++ /dev/null @@ -1,151 +0,0 @@ -.\" from: tf_util.3,v 4.2 89/04/25 17:17:11 jtkohl Exp $ -.\" $Id: tf_util.3,v 1.1.1.1 1994/09/30 14:50:08 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH TF_UTIL 3 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -tf_init, tf_get_pname, tf_get_pinst, tf_get_cred, tf_close \ -\- Routines for manipulating a Kerberos ticket file -.SH SYNOPSIS -.nf -.nj -.ft B -#include <kerberosIV/krb.h> -.PP -.ft B -extern char *krb_err_txt[]; -.PP -.ft B -tf_init(tf_name, rw) -char *tf_name; -int rw; -.PP -.ft B -tf_get_pname(pname) -char *pname; -.PP -.ft B -tf_get_pinst(pinst) -char *pinst; -.PP -.ft B -tf_get_cred(c) -CREDENTIALS *c; -.PP -.ft B -tf_close() -.PP -.fi -.SH DESCRIPTION -This group of routines are provided to manipulate the Kerberos tickets -file. A ticket file has the following format: -.nf -.in +4 -.sp -principal's name (null-terminated string) -principal's instance (null-terminated string) -CREDENTIAL_1 -CREDENTIAL_2 - ... -CREDENTIAL_n -EOF -.sp -.in -4 -.LP -Where "CREDENTIAL_x" consists of the following fixed-length -fields from the CREDENTIALS structure (defined in <krb.h>): -.nf -.sp -.in +4 - char service[ANAME_SZ] - char instance[INST_SZ] - char realm[REALM_SZ] - des_cblock session - int lifetime - int kvno - KTEXT_ST ticket_st - long issue_date -.in -4 -.sp -.fi -.PP -.I tf_init -must be called before the other ticket file -routines. -It takes the name of the ticket file to use, -and a read/write flag as arguments. -It tries to open the ticket file, checks the mode and if -everything is okay, locks the file. If it's opened for -reading, the lock is shared. If it's opened for writing, -the lock is exclusive. -KSUCCESS is returned if all went well, otherwise one of the -following: -.nf -.sp -NO_TKT_FIL - file wasn't there -TKT_FIL_ACC - file was in wrong mode, etc. -TKT_FIL_LCK - couldn't lock the file, even after a retry -.sp -.fi -.PP -The -.I tf_get_pname -reads the principal's name from a ticket file. -It should only be called after tf_init has been called. The -principal's name is filled into the -.I pname -parameter. If all goes -well, KSUCCESS is returned. -If tf_init wasn't called, TKT_FIL_INI -is returned. -If the principal's name was null, or EOF was encountered, or the -name was longer than ANAME_SZ, TKT_FIL_FMT is returned. -.PP -The -.I tf_get_pinst -reads the principal's instance from a ticket file. -It should only be called after tf_init and tf_get_pname -have been called. -The principal's instance is filled into the -.I pinst -parameter. -If all goes -well, KSUCCESS is returned. -If tf_init wasn't called, TKT_FIL_INI -is returned. -If EOF was encountered, or the -name was longer than INST_SZ, TKT_FIL_FMT is returned. -Note that, unlike the principal name, the instance name may be null. -.PP -The -.I tf_get_cred -routine reads a CREDENTIALS record from a ticket file and -fills in the given structure. -It should only be called after -tf_init, tf_get_pname, and tf_get_pinst have been called. -If all goes well, KSUCCESS is returned. Possible error codes -are: -.nf -.sp -TKT_FIL_INI - tf_init wasn't called first -TKT_FIL_FMT - bad format -EOF - end of file encountered -.sp -.fi -.PP -.I tf_close -closes the ticket file and releases the lock on it. -.SH "SEE ALSO" -krb(3) -.SH DIAGNOSTICS -.SH BUGS -The ticket file routines have to be called in a certain order. -.SH AUTHORS -Jennifer Steiner, MIT Project Athena -.br -Bill Bryant, MIT Project Athena -.SH RESTRICTIONS -Copyright 1987 Massachusetts Institute of Technology diff --git a/eBones/lib/libkrb/tf_util.c b/eBones/lib/libkrb/tf_util.c deleted file mode 100644 index e939c38e9da86..0000000000000 --- a/eBones/lib/libkrb/tf_util.c +++ /dev/null @@ -1,581 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: tf_util.c,v 4.9 90/03/10 19:19:45 jon Exp $ - * $Id: tf_util.c,v 1.3 1995/07/18 16:39:50 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: tf_util.c,v 1.3 1995/07/18 16:39:50 mark Exp $"; -#endif /* lint */ -#endif - -#include <unistd.h> -#include <string.h> -#include <stdio.h> -#include <errno.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/file.h> -#include <krb.h> - -#ifdef TKT_SHMEM -#include <sys/param.h> -#include <sys/ipc.h> -#include <sys/shm.h> -#endif /* TKT_SHMEM */ - -#define TOO_BIG -1 -#define TF_LCK_RETRY ((unsigned)2) /* seconds to sleep before - * retry if ticket file is - * locked */ -extern int krb_debug; - -#ifdef TKT_SHMEM -char *krb_shm_addr = 0; -static char *tmp_shm_addr = 0; -static char krb_dummy_skey[8] = {0,0,0,0,0,0,0,0}; - -#endif /* TKT_SHMEM */ - -/* - * fd must be initialized to something that won't ever occur as a real - * file descriptor. Since open(2) returns only non-negative numbers as - * valid file descriptors, and tf_init always stuffs the return value - * from open in here even if it is an error flag, we must - * a. Initialize fd to a negative number, to indicate that it is - * not initially valid. - * b. When checking for a valid fd, assume that negative values - * are invalid (ie. when deciding whether tf_init has been - * called.) - * c. In tf_close, be sure it gets reinitialized to a negative - * number. - */ -static fd = -1; -static curpos; /* Position in tfbfr */ -static lastpos; /* End of tfbfr */ -static char tfbfr[BUFSIZ]; /* Buffer for ticket data */ - -static int tf_read(char *s, int n); -static int tf_gets(char *s, int n); - -/* - * This file contains routines for manipulating the ticket cache file. - * - * The ticket file is in the following format: - * - * principal's name (null-terminated string) - * principal's instance (null-terminated string) - * CREDENTIAL_1 - * CREDENTIAL_2 - * ... - * CREDENTIAL_n - * EOF - * - * Where "CREDENTIAL_x" consists of the following fixed-length - * fields from the CREDENTIALS structure (see "krb.h"): - * - * char service[ANAME_SZ] - * char instance[INST_SZ] - * char realm[REALM_SZ] - * C_Block session - * int lifetime - * int kvno - * KTEXT_ST ticket_st - * long issue_date - * - * Short description of routines: - * - * tf_init() opens the ticket file and locks it. - * - * tf_get_pname() returns the principal's name. - * - * tf_get_pinst() returns the principal's instance (may be null). - * - * tf_get_cred() returns the next CREDENTIALS record. - * - * tf_save_cred() appends a new CREDENTIAL record to the ticket file. - * - * tf_close() closes the ticket file and releases the lock. - * - * tf_gets() returns the next null-terminated string. It's an internal - * routine used by tf_get_pname(), tf_get_pinst(), and tf_get_cred(). - * - * tf_read() reads a given number of bytes. It's an internal routine - * used by tf_get_cred(). - */ - -/* - * tf_init() should be called before the other ticket file routines. - * It takes the name of the ticket file to use, "tf_name", and a - * read/write flag "rw" as arguments. - * - * It tries to open the ticket file, checks the mode, and if everything - * is okay, locks the file. If it's opened for reading, the lock is - * shared. If it's opened for writing, the lock is exclusive. - * - * Returns KSUCCESS if all went well, otherwise one of the following: - * - * NO_TKT_FIL - file wasn't there - * TKT_FIL_ACC - file was in wrong mode, etc. - * TKT_FIL_LCK - couldn't lock the file, even after a retry - */ - -int -tf_init(tf_name, rw) - char *tf_name; - int rw; -{ - int wflag; - uid_t me, getuid(); - struct stat stat_buf; -#ifdef TKT_SHMEM - char shmidname[MAXPATHLEN]; - FILE *sfp; - int shmid; -#endif - - switch (rw) { - case R_TKT_FIL: - wflag = 0; - break; - case W_TKT_FIL: - wflag = 1; - break; - default: - if (krb_debug) fprintf(stderr, "tf_init: illegal parameter\n"); - return TKT_FIL_ACC; - } - if (lstat(tf_name, &stat_buf) < 0) - switch (errno) { - case ENOENT: - return NO_TKT_FIL; - default: - return TKT_FIL_ACC; - } - me = getuid(); - if ((stat_buf.st_uid != me && me != 0) || - ((stat_buf.st_mode & S_IFMT) != S_IFREG)) - return TKT_FIL_ACC; -#ifdef TKT_SHMEM - (void) strcpy(shmidname, tf_name); - (void) strcat(shmidname, ".shm"); - if (stat(shmidname,&stat_buf) < 0) - return(TKT_FIL_ACC); - if ((stat_buf.st_uid != me && me != 0) || - ((stat_buf.st_mode & S_IFMT) != S_IFREG)) - return TKT_FIL_ACC; -#endif /* TKT_SHMEM */ - - /* - * If "wflag" is set, open the ticket file in append-writeonly mode - * and lock the ticket file in exclusive mode. If unable to lock - * the file, sleep and try again. If we fail again, return with the - * proper error message. - */ - - curpos = sizeof(tfbfr); - -#ifdef TKT_SHMEM - sfp = fopen(shmidname, "r"); /* only need read/write on the - actual tickets */ - if (sfp == 0) - return TKT_FIL_ACC; - shmid = -1; - { - char buf[BUFSIZ]; - int val; /* useful for debugging fscanf */ - /* We provide our own buffer here since some STDIO libraries - barf on unbuffered input with fscanf() */ - - setbuf(sfp, buf); - if ((val = fscanf(sfp,"%d",&shmid)) != 1) { - (void) fclose(sfp); - return TKT_FIL_ACC; - } - if (shmid < 0) { - (void) fclose(sfp); - return TKT_FIL_ACC; - } - (void) fclose(sfp); - } - /* - * global krb_shm_addr is initialized to 0. Ultrix bombs when you try and - * attach the same segment twice so we need this check. - */ - if (!krb_shm_addr) { - if ((krb_shm_addr = shmat(shmid,0,0)) == -1){ - if (krb_debug) - fprintf(stderr, - "cannot attach shared memory for segment %d\n", - shmid); - krb_shm_addr = 0; /* reset so we catch further errors */ - return TKT_FIL_ACC; - } - } - tmp_shm_addr = krb_shm_addr; -#endif /* TKT_SHMEM */ - - if (wflag) { - fd = open(tf_name, O_RDWR, 0600); - if (fd < 0) { - return TKT_FIL_ACC; - } - if (flock(fd, LOCK_EX | LOCK_NB) < 0) { - sleep(TF_LCK_RETRY); - if (flock(fd, LOCK_EX | LOCK_NB) < 0) { - (void) close(fd); - fd = -1; - return TKT_FIL_LCK; - } - } - return KSUCCESS; - } - /* - * Otherwise "wflag" is not set and the ticket file should be opened - * for read-only operations and locked for shared access. - */ - - fd = open(tf_name, O_RDONLY, 0600); - if (fd < 0) { - return TKT_FIL_ACC; - } - if (flock(fd, LOCK_SH | LOCK_NB) < 0) { - sleep(TF_LCK_RETRY); - if (flock(fd, LOCK_SH | LOCK_NB) < 0) { - (void) close(fd); - fd = -1; - return TKT_FIL_LCK; - } - } - return KSUCCESS; -} - -/* - * tf_get_pname() reads the principal's name from the ticket file. It - * should only be called after tf_init() has been called. The - * principal's name is filled into the "p" parameter. If all goes well, - * KSUCCESS is returned. If tf_init() wasn't called, TKT_FIL_INI is - * returned. If the name was null, or EOF was encountered, or the name - * was longer than ANAME_SZ, TKT_FIL_FMT is returned. - */ - -int -tf_get_pname(p) - char *p; -{ - if (fd < 0) { - if (krb_debug) - fprintf(stderr, "tf_get_pname called before tf_init.\n"); - return TKT_FIL_INI; - } - if (tf_gets(p, ANAME_SZ) < 2) /* can't be just a null */ - return TKT_FIL_FMT; - return KSUCCESS; -} - -/* - * tf_get_pinst() reads the principal's instance from a ticket file. - * It should only be called after tf_init() and tf_get_pname() have been - * called. The instance is filled into the "inst" parameter. If all - * goes well, KSUCCESS is returned. If tf_init() wasn't called, - * TKT_FIL_INI is returned. If EOF was encountered, or the instance - * was longer than ANAME_SZ, TKT_FIL_FMT is returned. Note that the - * instance may be null. - */ - -int -tf_get_pinst(inst) - char *inst; -{ - if (fd < 0) { - if (krb_debug) - fprintf(stderr, "tf_get_pinst called before tf_init.\n"); - return TKT_FIL_INI; - } - if (tf_gets(inst, INST_SZ) < 1) - return TKT_FIL_FMT; - return KSUCCESS; -} - -/* - * tf_get_cred() reads a CREDENTIALS record from a ticket file and fills - * in the given structure "c". It should only be called after tf_init(), - * tf_get_pname(), and tf_get_pinst() have been called. If all goes well, - * KSUCCESS is returned. Possible error codes are: - * - * TKT_FIL_INI - tf_init wasn't called first - * TKT_FIL_FMT - bad format - * EOF - end of file encountered - */ - -int -tf_get_cred(c) - CREDENTIALS *c; -{ - KTEXT ticket = &c->ticket_st; /* pointer to ticket */ - int k_errno; - - if (fd < 0) { - if (krb_debug) - fprintf(stderr, "tf_get_cred called before tf_init.\n"); - return TKT_FIL_INI; - } - if ((k_errno = tf_gets(c->service, SNAME_SZ)) < 2) - switch (k_errno) { - case TOO_BIG: - case 1: /* can't be just a null */ - tf_close(); - return TKT_FIL_FMT; - case 0: - return EOF; - } - if ((k_errno = tf_gets(c->instance, INST_SZ)) < 1) - switch (k_errno) { - case TOO_BIG: - return TKT_FIL_FMT; - case 0: - return EOF; - } - if ((k_errno = tf_gets(c->realm, REALM_SZ)) < 2) - switch (k_errno) { - case TOO_BIG: - case 1: /* can't be just a null */ - tf_close(); - return TKT_FIL_FMT; - case 0: - return EOF; - } - if ( - tf_read((char *) (c->session), KEY_SZ) < 1 || - tf_read((char *) &(c->lifetime), sizeof(c->lifetime)) < 1 || - tf_read((char *) &(c->kvno), sizeof(c->kvno)) < 1 || - tf_read((char *) &(ticket->length), sizeof(ticket->length)) - < 1 || - /* don't try to read a silly amount into ticket->dat */ - ticket->length > MAX_KTXT_LEN || - tf_read((char *) (ticket->dat), ticket->length) < 1 || - tf_read((char *) &(c->issue_date), sizeof(c->issue_date)) < 1 - ) { - tf_close(); - return TKT_FIL_FMT; - } -#ifdef TKT_SHMEM - bcopy(tmp_shm_addr,c->session,KEY_SZ); - tmp_shm_addr += KEY_SZ; -#endif /* TKT_SHMEM */ - return KSUCCESS; -} - -/* - * tf_close() closes the ticket file and sets "fd" to -1. If "fd" is - * not a valid file descriptor, it just returns. It also clears the - * buffer used to read tickets. - * - * The return value is not defined. - */ - -void -tf_close() -{ - if (!(fd < 0)) { -#ifdef TKT_SHMEM - if (shmdt(krb_shm_addr)) { - /* what kind of error? */ - if (krb_debug) - fprintf(stderr, "shmdt 0x%x: errno %d",krb_shm_addr, errno); - } else { - krb_shm_addr = 0; - } -#endif TKT_SHMEM - (void) flock(fd, LOCK_UN); - (void) close(fd); - fd = -1; /* see declaration of fd above */ - } - bzero(tfbfr, sizeof(tfbfr)); -} - -/* - * tf_gets() is an internal routine. It takes a string "s" and a count - * "n", and reads from the file until either it has read "n" characters, - * or until it reads a null byte. When finished, what has been read exists - * in "s". If it encounters EOF or an error, it closes the ticket file. - * - * Possible return values are: - * - * n the number of bytes read (including null terminator) - * when all goes well - * - * 0 end of file or read error - * - * TOO_BIG if "count" characters are read and no null is - * encountered. This is an indication that the ticket - * file is seriously ill. - */ - -static int -tf_gets(s, n) - register char *s; - int n; -{ - register count; - - if (fd < 0) { - if (krb_debug) - fprintf(stderr, "tf_gets called before tf_init.\n"); - return TKT_FIL_INI; - } - for (count = n - 1; count > 0; --count) { - if (curpos >= sizeof(tfbfr)) { - lastpos = read(fd, tfbfr, sizeof(tfbfr)); - curpos = 0; - } - if (curpos == lastpos) { - tf_close(); - return 0; - } - *s = tfbfr[curpos++]; - if (*s++ == '\0') - return (n - count); - } - tf_close(); - return TOO_BIG; -} - -/* - * tf_read() is an internal routine. It takes a string "s" and a count - * "n", and reads from the file until "n" bytes have been read. When - * finished, what has been read exists in "s". If it encounters EOF or - * an error, it closes the ticket file. - * - * Possible return values are: - * - * n the number of bytes read when all goes well - * - * 0 on end of file or read error - */ - -static int -tf_read(s, n) - register char *s; - register int n; -{ - register count; - - for (count = n; count > 0; --count) { - if (curpos >= sizeof(tfbfr)) { - lastpos = read(fd, tfbfr, sizeof(tfbfr)); - curpos = 0; - } - if (curpos == lastpos) { - tf_close(); - return 0; - } - *s++ = tfbfr[curpos++]; - } - return n; -} - -/* - * tf_save_cred() appends an incoming ticket to the end of the ticket - * file. You must call tf_init() before calling tf_save_cred(). - * - * The "service", "instance", and "realm" arguments specify the - * server's name; "session" contains the session key to be used with - * the ticket; "kvno" is the server key version number in which the - * ticket is encrypted, "ticket" contains the actual ticket, and - * "issue_date" is the time the ticket was requested (local host's time). - * - * Returns KSUCCESS if all goes well, TKT_FIL_INI if tf_init() wasn't - * called previously, and KFAILURE for anything else that went wrong. - */ - -int -tf_save_cred(service, instance, realm, session, lifetime, kvno, - ticket, issue_date) - char *service; /* Service name */ - char *instance; /* Instance */ - char *realm; /* Auth domain */ - C_Block session; /* Session key */ - int lifetime; /* Lifetime */ - int kvno; /* Key version number */ - KTEXT ticket; /* The ticket itself */ - long issue_date; /* The issue time */ -{ - - off_t lseek(); - int count; /* count for write */ -#ifdef TKT_SHMEM - int *skey_check; -#endif /* TKT_SHMEM */ - - if (fd < 0) { /* fd is ticket file as set by tf_init */ - if (krb_debug) - fprintf(stderr, "tf_save_cred called before tf_init.\n"); - return TKT_FIL_INI; - } - /* Find the end of the ticket file */ - (void) lseek(fd, 0L, 2); -#ifdef TKT_SHMEM - /* scan to end of existing keys: pick first 'empty' slot. - we assume that no real keys will be completely zero (it's a weak - key under DES) */ - - skey_check = (int *) krb_shm_addr; - - while (*skey_check && *(skey_check+1)) - skey_check += 2; - tmp_shm_addr = (char *)skey_check; -#endif /* TKT_SHMEM */ - - /* Write the ticket and associated data */ - /* Service */ - count = strlen(service) + 1; - if (write(fd, service, count) != count) - goto bad; - /* Instance */ - count = strlen(instance) + 1; - if (write(fd, instance, count) != count) - goto bad; - /* Realm */ - count = strlen(realm) + 1; - if (write(fd, realm, count) != count) - goto bad; - /* Session key */ -#ifdef TKT_SHMEM - bcopy(session,tmp_shm_addr,8); - tmp_shm_addr+=8; - if (write(fd,krb_dummy_skey,8) != 8) - goto bad; -#else /* ! TKT_SHMEM */ - if (write(fd, (char *) session, 8) != 8) - goto bad; -#endif /* TKT_SHMEM */ - /* Lifetime */ - if (write(fd, (char *) &lifetime, sizeof(int)) != sizeof(int)) - goto bad; - /* Key vno */ - if (write(fd, (char *) &kvno, sizeof(int)) != sizeof(int)) - goto bad; - /* Tkt length */ - if (write(fd, (char *) &(ticket->length), sizeof(int)) != - sizeof(int)) - goto bad; - /* Ticket */ - count = ticket->length; - if (write(fd, (char *) (ticket->dat), count) != count) - goto bad; - /* Issue date */ - if (write(fd, (char *) &issue_date, sizeof(long)) - != sizeof(long)) - goto bad; - - /* Actually, we should check each write for success */ - return (KSUCCESS); -bad: - return (KFAILURE); -} diff --git a/eBones/lib/libkrb/tkt_string.c b/eBones/lib/libkrb/tkt_string.c deleted file mode 100644 index f7ae210df2239..0000000000000 --- a/eBones/lib/libkrb/tkt_string.c +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: tkt_string.c,v 4.6 89/01/05 12:31:51 raeburn Exp $ - * $Id: tkt_string.c,v 1.3 1995/09/07 21:38:35 markm Exp $ - */ - -#if 0 -#ifndef lint -static char *rcsid = -"$Id: tkt_string.c,v 1.3 1995/09/07 21:38:35 markm Exp $"; -#endif /* lint */ -#endif - -#include <stdlib.h> -#include <stdio.h> -#include <sys/types.h> -#include <krb.h> -#include <string.h> -#include <sys/param.h> - -/* - * This routine is used to generate the name of the file that holds - * the user's cache of server tickets and associated session keys. - * - * If it is set, krb_ticket_string contains the ticket file name. - * Otherwise, the filename is constructed as follows: - * - * If it is set, the environment variable "KRBTKFILE" will be used as - * the ticket file name. Otherwise TKT_ROOT (defined in "krb.h") and - * the user's uid are concatenated to produce the ticket file name - * (e.g., "/tmp/tkt123"). A pointer to the string containing the ticket - * file name is returned. - */ - -static char krb_ticket_string[MAXPATHLEN] = ""; - -char *tkt_string() -{ - char *env; - uid_t getuid(); - - if (!*krb_ticket_string) { - if ((env = getenv("KRBTKFILE"))) { - (void) strncpy(krb_ticket_string, env, - sizeof(krb_ticket_string)-1); - krb_ticket_string[sizeof(krb_ticket_string)-1] = '\0'; - } else { - /* 32 bits of signed integer will always fit in 11 characters - (including the sign), so no need to worry about overflow */ - (void) sprintf(krb_ticket_string, "%s%d",TKT_ROOT,getuid()); - } - } - return krb_ticket_string; -} - -/* - * This routine is used to set the name of the file that holds the user's - * cache of server tickets and associated session keys. - * - * The value passed in is copied into local storage. - * - * NOTE: This routine should be called during initialization, before other - * Kerberos routines are called; otherwise tkt_string() above may be called - * and return an undesired ticket file name until this routine is called. - */ - -void -krb_set_tkt_string(val) -char *val; -{ - - (void) strncpy(krb_ticket_string, val, sizeof(krb_ticket_string)-1); - krb_ticket_string[sizeof(krb_ticket_string)-1] = '\0'; - - return; -} diff --git a/eBones/lib/libkrb/util.c b/eBones/lib/libkrb/util.c deleted file mode 100644 index 68c0dbc1eb4b8..0000000000000 --- a/eBones/lib/libkrb/util.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <mit-copyright.h>. - * - * Miscellaneous debug printing utilities - * - * from: util.c,v 4.8 89/01/17 22:02:08 wesommer Exp $ - * $Id: util.c,v 1.3 1995/07/18 16:39:54 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: util.c,v 1.3 1995/07/18 16:39:54 mark Exp $"; -#endif lint -#endif - -#include <krb.h> -#include <des.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <stdio.h> - -/* - * Print some of the contents of the given authenticator structure - * (AUTH_DAT defined in "krb.h"). Fields printed are: - * - * pname, pinst, prealm, netaddr, flags, cksum, timestamp, session - */ - -void -ad_print(x) -AUTH_DAT *x; -{ - struct in_addr in; - - /* Print the contents of an auth_dat struct. */ - in.s_addr = x->address; - printf("\n%s %s %s %s flags %u cksum 0x%lX\n\ttkt_tm 0x%lX sess_key", - x->pname, x->pinst, x->prealm, inet_ntoa(in), x->k_flags, - x->checksum, x->time_sec); - - printf("[8] ="); -#ifdef NOENCRYPTION - placebo_cblock_print(x->session); -#else - des_cblock_print_file((C_Block *)x->session,stdout); -#endif - /* skip reply for now */ -} - -/* - * Print in hex the 8 bytes of the given session key. - * - * Printed format is: " 0x { x, x, x, x, x, x, x, x }" - */ - -#ifdef NOENCRYPTION -placebo_cblock_print(x) - des_cblock x; -{ - unsigned char *y = (unsigned char *) x; - register int i = 0; - - printf(" 0x { "); - - while (i++ <8) { - printf("%x",*y++); - if (i<8) printf(", "); - } - printf(" }"); -} -#endif diff --git a/eBones/lib/librkinit/Makefile b/eBones/lib/librkinit/Makefile deleted file mode 100644 index 3521599e10458..0000000000000 --- a/eBones/lib/librkinit/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -# @(#)Makefile 8.1 (Berkeley) 6/4/93 - -LIB= rkinit -CFLAGS+=-DKERBEROS -DCRYPT -DDEBUG -I${RKINITOBJDIR} -SRCS= rkinit_err.c rk_lib.c rk_rpc.c rk_util.c rk_krb.c - -LDADD+= -lcom_err - -beforeinstall: - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 rkinit_err.h \ - ${DESTDIR}/usr/include/kerberosIV - -MAN3= rkinit.3 - -.include <bsd.lib.mk> - -rkinit_err.c: ${RKINITOBJDIR}/rkinit_err.h diff --git a/eBones/lib/librkinit/rk_krb.c b/eBones/lib/librkinit/rk_krb.c deleted file mode 100644 index ad8a6537b2d45..0000000000000 --- a/eBones/lib/librkinit/rk_krb.c +++ /dev/null @@ -1,316 +0,0 @@ -/* - * $Id: rk_krb.c,v 1.1 1993/12/10 19:36:09 dglo Exp gibbs $ - * $Source: /usr/src/eBones/librkinit/RCS/rk_krb.c,v $ - * $Author: dglo $ - * - * This file contains the kerberos parts of the rkinit library. - * See the comment at the top of rk_lib.c for a description of the naming - * conventions used within the rkinit library. - */ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid = "$Id: rk_krb.c,v 1.1 1993/12/10 19:36:09 dglo Exp gibbs $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <stdio.h> -#include <string.h> -#include <sys/types.h> -#include <sys/uio.h> -#include <unistd.h> -#include <sys/ioctl.h> -#include <netinet/in.h> -#include <krb.h> -#include <des.h> - -#include <signal.h> -#include <setjmp.h> - -#ifdef POSIX -#include <termios.h> -#else -#include <sgtty.h> -#endif - -#include <rkinit.h> -#include <rkinit_err.h> -#include <rkinit_private.h> - -static jmp_buf env; -static void sig_restore(); -static void push_signals(); -static void pop_signals(); - -/* Information to be passed around within client get_in_tkt */ -typedef struct { - KTEXT scip; /* Server KDC packet */ - char *username; - char *host; -} rkinit_intkt_info; - -static char errbuf[BUFSIZ]; - -/* The compiler complains if this is declared static. */ -#ifdef __STDC__ -int rki_key_proc(char *user, char *instance, char *realm, char *arg, - des_cblock *key) -#else -int rki_key_proc(user, instance, realm, arg, key) - char *user; - char *instance; - char *realm; - char *arg; - des_cblock *key; -#endif /* __STDC__ */ - -{ - rkinit_intkt_info *rii = (rkinit_intkt_info *)arg; - char password[BUFSIZ]; - int ok = 0; -#ifdef POSIX - struct termios ttyb; -#else - struct sgttyb ttyb; /* For turning off echo */ -#endif - - SBCLEAR(ttyb); - BCLEAR(password); - - /* - * If the username does not match the aname in the ticket, - * we will print that too. Otherwise, we won't. - */ - - printf("Kerberos initialization (%s)", rii->host); - if (strcmp(rii->username, user)) - printf(": tickets will be owned by %s", rii->username); - - printf("\nPassword for %s%s%s@%s: ", user, - (instance[0]) ? "." : "", instance, realm); - - fflush(stdout); - - push_signals(); - if (setjmp(env)) { - ok = -1; - goto lose; - } - -#ifndef POSIX - ioctl(0, TIOCGETP, &ttyb); - ttyb.sg_flags &= ~ECHO; - ioctl(0, TIOCSETP, &ttyb); -#else - (void) tcgetattr(0, &ttyb); - ttyb.c_lflag &= ~ECHO; - (void) tcsetattr(0, TCSAFLUSH, &ttyb); -#endif - - bzero(password, sizeof(password)); - if (read(0, password, sizeof(password)) == -1) { - perror("read"); - ok = -1; - goto lose; - } - - if (password[strlen(password)-1] == '\n') - password[strlen(password)-1] = 0; - - /* Generate the key from the password and destroy the password */ - - des_string_to_key(password, key); - -lose: - BCLEAR(password); - -#ifndef POSIX - ttyb.sg_flags |= ECHO; - ioctl(0, TIOCSETP, &ttyb); -#else - ttyb.c_lflag |= ECHO; - (void) tcsetattr(0, TCSAFLUSH, &ttyb); -#endif - - pop_signals(); - printf("\n"); - - return(ok); -} - -#ifdef __STDC__ -static int rki_decrypt_tkt(char *user, char *instance, char *realm, - char *arg, int (*key_proc)(), KTEXT *cipp) -#else -static int rki_decrypt_tkt(user, instance, realm, arg, key_proc, cipp) - char *user; - char *instance; - char *realm; - char *arg; - int (*key_proc)(); - KTEXT *cipp; -#endif /* __STDC__ */ -{ - KTEXT cip = *cipp; - C_Block key; /* Key for decrypting cipher */ - Key_schedule key_s; - KTEXT scip = 0; /* cipher from rkinit server */ - - rkinit_intkt_info *rii = (rkinit_intkt_info *)arg; - - /* generate a key */ - { - register int rc; - rc = (*key_proc)(user, instance, realm, arg, key); - if (rc) - return(rc); - } - - des_key_sched(&key, key_s); - - /* Decrypt information from KDC */ - des_pcbc_encrypt((C_Block *)cip->dat,(C_Block *)cip->dat, - (long) cip->length, key_s, &key, 0); - - /* DescrYPT rkinit server's information from KDC */ - scip = rii->scip; - des_pcbc_encrypt((C_Block *)scip->dat,(C_Block *)scip->dat, - (long) scip->length, key_s, &key, 0); - - /* Get rid of all traces of key */ - bzero((char *)key, sizeof(key)); - bzero((char *)key_s, sizeof(key_s)); - - return(0); -} - -#ifdef __STDC__ -int rki_get_tickets(int version, char *host, char *r_krealm, rkinit_info *info) -#else -int rki_get_tickets(version, host, r_krealm, info) - int version; - char *host; - char *r_krealm; - rkinit_info *info; -#endif /* __STDC__ */ -{ - int status = RKINIT_SUCCESS; - KTEXT_ST auth; - char phost[MAXHOSTNAMELEN]; - KTEXT_ST scip; /* server's KDC packet */ - des_cblock key; - des_key_schedule sched; - struct sockaddr_in caddr; - struct sockaddr_in saddr; - CREDENTIALS cred; - MSG_DAT msg_data; - u_char enc_data[MAX_KTXT_LEN]; - - rkinit_intkt_info rii; - - SBCLEAR(auth); - BCLEAR(phost); - SBCLEAR(rii); - SBCLEAR(scip); - SBCLEAR(caddr); - SBCLEAR(saddr); - SBCLEAR(cred); - SBCLEAR(msg_data); - BCLEAR(enc_data); - - if ((status = rki_send_rkinit_info(version, info)) != RKINIT_SUCCESS) - return(status); - - if ((status = rki_rpc_get_skdc(&scip)) != RKINIT_SUCCESS) - return(status); - - rii.scip = &scip; - rii.host = host; - rii.username = info->username; - - if ((status = krb_get_in_tkt(info->aname, info->inst, info->realm, - "krbtgt", info->realm, 1, - rki_key_proc, rki_decrypt_tkt, (char *)&rii))) { - strcpy(errbuf, krb_err_txt[status]); - rkinit_errmsg(errbuf); - return(RKINIT_KERBEROS); - } - - /* Create an authenticator */ - strcpy(phost, krb_get_phost(host)); - if ((status = krb_mk_req(&auth, KEY, phost, r_krealm, 0))) { - sprintf(errbuf, "krb_mk_req: %s", krb_err_txt[status]); - rkinit_errmsg(errbuf); - return(RKINIT_KERBEROS); - } - - /* Re-encrypt server KDC packet in session key */ - /* Get credentials from ticket file */ - if ((status = krb_get_cred(KEY, phost, r_krealm, &cred))) { - sprintf(errbuf, "krb_get_cred: %s", krb_err_txt[status]); - rkinit_errmsg(errbuf); - return(RKINIT_KERBEROS); - } - - /* Exctract the session key and make the schedule */ - bcopy(cred.session, key, sizeof(key)); - if ((status = des_key_sched(&key, sched))) { - sprintf(errbuf, "des_key_sched: %s", krb_err_txt[status]); - rkinit_errmsg(errbuf); - return(RKINIT_DES); - } - - /* Get client and server addresses */ - if ((status = rki_get_csaddr(&caddr, &saddr)) != RKINIT_SUCCESS) - return(status); - - /* - * scip was passed to krb_get_in_tkt, where it was decrypted. - * Now re-encrypt in the session key. - */ - - msg_data.app_data = enc_data; - if ((msg_data.app_length = - krb_mk_priv(scip.dat, msg_data.app_data, scip.length, sched, key, - &caddr, &saddr)) == -1) { - sprintf(errbuf, "krb_mk_priv failed."); - rkinit_errmsg(errbuf); - return(RKINIT_KERBEROS); - } - - /* Destroy tickets, which we no longer need */ - dest_tkt(); - - if ((status = rki_rpc_send_ckdc(&msg_data)) != RKINIT_SUCCESS) - return(status); - - if ((status = rki_rpc_sendauth(&auth)) != RKINIT_SUCCESS) - return(status); - - if ((status = rki_rpc_get_status())) - return(status); - - return(RKINIT_SUCCESS); -} - - -static void (*old_sigfunc[NSIG])(int); - -static void push_signals() -{ - register i; - for (i = 0; i < NSIG; i++) - old_sigfunc[i] = signal(i,sig_restore); -} - -static void pop_signals() -{ - register i; - for (i = 0; i < NSIG; i++) - signal(i,old_sigfunc[i]); -} - -static void sig_restore(sig,code,scp) - int sig,code; - struct sigcontext *scp; -{ - longjmp(env,1); -} diff --git a/eBones/lib/librkinit/rk_lib.c b/eBones/lib/librkinit/rk_lib.c deleted file mode 100644 index 30c2268d5b74d..0000000000000 --- a/eBones/lib/librkinit/rk_lib.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * $Id: rk_lib.c,v 1.1.1.1 1995/09/15 06:09:30 gibbs Exp $ - * $Source: /home/ncvs/src/eBones/lib/librkinit/rk_lib.c,v $ - * $Author: gibbs $ - * - * This file contains the non-rpc top-level rkinit library routines. - * The routines in the rkinit library that should be called from clients - * are exactly those defined in this file. - * - * The naming convetions used within the rkinit library are as follows: - * Functions intended for general client use start with rkinit_ - * Functions intended for use only inside the library or server start with - * rki_ - * Functions that do network communcation start with rki_rpc_ - * Static functions can be named in any fashion. - */ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid = "$Id: rk_lib.c,v 1.1.1.1 1995/09/15 06:09:30 gibbs Exp $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <stdio.h> -#include <unistd.h> -#include <string.h> -#include <setjmp.h> -#include <krb.h> - -#include <rkinit.h> -#include <rkinit_private.h> -#include <rkinit_err.h> - -#ifdef __STDC__ -char *rkinit_errmsg(char *string) -#else -char *rkinit_errmsg(string) - char *string; -#endif /* __STDC__ */ -{ - static char errmsg[BUFSIZ]; - - if (string) { - BCLEAR(errmsg); - strncpy(errmsg, string, sizeof(errmsg) - 1); - } - - return(errmsg); -} - -#ifdef __STDC__ -int rkinit(char *host, char *r_krealm, rkinit_info *info, int timeout) -#else -int rkinit(host, r_krealm, info, timeout) - char *host; - char *r_krealm; - rkinit_info *info; - int timeout; -#endif /* __STDC__ */ -{ - int status = RKINIT_SUCCESS; - int version = 0; - char phost[MAXHOSTNAMELEN]; - jmp_buf timeout_env; - void (*old_alrm)(int) = NULL; - char origtktfilename[MAXPATHLEN]; /* original ticket file name */ - char tktfilename[MAXPATHLEN]; /* temporary client ticket file */ - - BCLEAR(phost); - BCLEAR(origtktfilename); - BCLEAR(tktfilename); - BCLEAR(timeout_env); - - init_rkin_err_tbl(); - - if ((status = rki_setup_rpc(host))) - return(status); - - if (timeout) - old_alrm = rki_setup_timer(timeout_env); - - /* The alarm handler longjmps us to here. */ - if ((status = setjmp(timeout_env)) == 0) { - - strcpy(origtktfilename, tkt_string()); - sprintf(tktfilename, "/tmp/tkt_rkinit.%d", getpid()); - krb_set_tkt_string(tktfilename); - - if ((status = rki_choose_version(&version)) == RKINIT_SUCCESS) - status = rki_get_tickets(version, host, r_krealm, info); - } - - if (timeout) - rki_restore_timer(old_alrm); - - dest_tkt(); - krb_set_tkt_string(origtktfilename); - - rki_cleanup_rpc(); - - return(status); -} diff --git a/eBones/lib/librkinit/rk_rpc.c b/eBones/lib/librkinit/rk_rpc.c deleted file mode 100644 index d9318993a8229..0000000000000 --- a/eBones/lib/librkinit/rk_rpc.c +++ /dev/null @@ -1,392 +0,0 @@ -/* - * $Id: rk_rpc.c,v 1.1.1.1 1995/09/15 06:09:30 gibbs Exp $ - * $Source: /home/ncvs/src/eBones/lib/librkinit/rk_rpc.c,v $ - * $Author: gibbs $ - * - * This file contains functions that are used for network communication. - * See the comment at the top of rk_lib.c for a description of the naming - * conventions used within the rkinit library. - */ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid = "$Id: rk_rpc.c,v 1.1.1.1 1995/09/15 06:09:30 gibbs Exp $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> -#include <sys/uio.h> -#include <unistd.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <errno.h> - -#include <rkinit.h> -#include <rkinit_err.h> -#include <rkinit_private.h> - -extern int errno; - -static int sock; -struct sockaddr_in saddr; - -static char errbuf[BUFSIZ]; - -char *calloc(); - -#ifdef __STDC__ -int rki_send_packet(int sock, char type, u_int32_t length, const char *data) -#else -int rki_send_packet(sock, type, length, data) - int sock; - char type; - u_int32_t length; - const char *data; -#endif /* __STDC__ */ -{ - int len; - u_char *packet; - u_int32_t pkt_len; - u_int32_t net_pkt_len; - - pkt_len = length + PKT_DATA; - - if ((packet = (u_char *)calloc(pkt_len, sizeof(u_char))) == NULL) { - sprintf(errbuf, "rki_send_packet: failure allocating %d bytes", - pkt_len * sizeof(u_char)); - rkinit_errmsg(errbuf); - return(RKINIT_MEMORY); - } - - net_pkt_len = htonl(pkt_len); - - packet[PKT_TYPE] = type; - bcopy((char *)&net_pkt_len, packet + PKT_LEN, sizeof(u_int32_t)); - bcopy(data, packet + PKT_DATA, length); - - if ((len = write(sock, packet, pkt_len)) != pkt_len) { - if (len == -1) - sprintf(errbuf, "write: %s", sys_errlist[errno]); - else - sprintf(errbuf, "write: %d bytes written; %d bytes actually sent", - pkt_len, len); - rkinit_errmsg(errbuf); - free(packet); - return(RKINIT_WRITE); - } - - free(packet); - return(RKINIT_SUCCESS); -} - -#ifdef __STDC__ -int rki_get_packet(int sock, u_char type, u_int32_t *length, char *data) -#else -int rki_get_packet(sock, type, length, data) - int sock; - u_char type; - u_int32_t *length; - char *data; -#endif /* __STDC__ */ -{ - int len; - int len_sofar = 0; - u_int32_t expected_length = 0; - int got_full_packet = FALSE; - int tries = 0; - u_char *packet; - - u_int32_t max_pkt_len; - - max_pkt_len = *length + PKT_DATA; - - if ((packet = (u_char *)calloc(max_pkt_len, sizeof(u_char))) == NULL) { - sprintf(errbuf, "rki_get_packet: failure allocating %d bytes", - max_pkt_len * sizeof(u_char)); - rkinit_errmsg(errbuf); - return(RKINIT_MEMORY); - } - - /* Read the packet type and length */ - while ((len_sofar < PKT_DATA) && (tries < RETRIES)) { - if ((len = read(sock, packet + len_sofar, PKT_DATA - len_sofar)) < 0) { - sprintf(errbuf, "read: %s", sys_errlist[errno]); - rkinit_errmsg(errbuf); - return(RKINIT_READ); - } - len_sofar += len; - tries++; - } - if (len_sofar < PKT_DATA) { - sprintf(errbuf, - "read: expected to receive at least %d bytes; received %d", - PKT_DATA, len_sofar); - rkinit_errmsg(errbuf); - return(RKINIT_PACKET); - } - bcopy(packet + PKT_LEN, (char *)&expected_length, sizeof(u_int32_t)); - expected_length = ntohl(expected_length); - if (expected_length > max_pkt_len) { - sprintf(errbuf, "%s %d %s %d", - "rki_get_packet: incoming message of size", - expected_length, - "is larger than message buffer of size", - max_pkt_len); - rkinit_errmsg(errbuf); - return(RKINIT_PACKET); - } - tries = 0; - while (!got_full_packet && (tries < RETRIES)) { - if ((len = read(sock, packet + len_sofar, - expected_length - len_sofar)) < 0) { - sprintf(errbuf, "read: %s", sys_errlist[errno]); - rkinit_errmsg(errbuf); - return(RKINIT_READ); - } - len_sofar += len; - if (expected_length == len_sofar) - got_full_packet = TRUE; - } - if (len_sofar < expected_length) { - sprintf(errbuf, - "read: expected to receive at least %d bytes; received %d", - expected_length, len_sofar); - rkinit_errmsg(errbuf); - return(RKINIT_PACKET); - } - if (packet[PKT_TYPE] == MT_DROP) { - BCLEAR(errbuf); - rkinit_errmsg(errbuf); - return(RKINIT_DROPPED); - } - - if (packet[PKT_TYPE] != type) { - sprintf(errbuf, "Expected packet type of %s; got %s", - rki_mt_to_string(type), - rki_mt_to_string(packet[PKT_TYPE])); - rkinit_errmsg(errbuf); - return(RKINIT_PACKET); - } - - *length = len_sofar - PKT_DATA; - bcopy(packet + PKT_DATA, data, *length); - - free(packet); - - return(RKINIT_SUCCESS); -} - -#ifdef __STDC__ -int rki_setup_rpc(char *host) -#else -int rki_setup_rpc(host) - char *host; -#endif /* __STDC__ */ -{ - struct hostent *hp; - struct servent *sp; - int port, retval; - - SBCLEAR(saddr); - SBCLEAR(hp); - SBCLEAR(sp); - - if ((hp = gethostbyname(host)) == NULL) { - sprintf(errbuf, "%s: unknown host.", host); - rkinit_errmsg(errbuf); - return(RKINIT_HOST); - } - - if ((sp = getservbyname(SERVENT, "tcp"))) - port = sp->s_port; - else - /* Fall back on known port number */ - port = htons(PORT); - - saddr.sin_family = hp->h_addrtype; - bcopy(hp->h_addr, (char *)&saddr.sin_addr, hp->h_length); - saddr.sin_port = port; - - if ((sock = socket(hp->h_addrtype, SOCK_STREAM, IPPROTO_IP)) < 0) { - sprintf(errbuf, "socket: %s", sys_errlist[errno]); - rkinit_errmsg(errbuf); - return(RKINIT_SOCKET); - } - if ((retval = krb_bind_local_addr(sock)) != KSUCCESS) { - sprintf(errbuf, "krb_bind_local_addr: %s", krb_err_txt[retval]); - rkinit_errmsg(errbuf); - close(sock); - return(RKINIT_SOCKET); - } - if (connect(sock, (struct sockaddr *)&saddr, sizeof (saddr)) < 0) { - sprintf(errbuf, "connect: %s", sys_errlist[errno]); - rkinit_errmsg(errbuf); - close(sock); - return(RKINIT_CONNECT); - } - - return(RKINIT_SUCCESS); -} - -#ifdef __STDC__ -int rki_rpc_exchange_version_info(int c_lversion, int c_hversion, - int *s_lversion, int *s_hversion) -#else -int rki_rpc_exchange_version_info(c_lversion, c_hversion, - s_lversion, s_hversion) - int c_lversion; - int c_hversion; - int *s_lversion; - int *s_hversion; -#endif /* __STDC__ */ -{ - int status = RKINIT_SUCCESS; - u_char version_info[VERSION_INFO_SIZE]; - u_int32_t length = sizeof(version_info); - - version_info[0] = (u_char) c_lversion; - version_info[1] = (u_char) c_hversion; - - if ((status = rki_send_packet(sock, MT_CVERSION, length, - (char *)version_info)) != RKINIT_SUCCESS) - return(status); - - if ((status = rki_get_packet(sock, MT_SVERSION, &length, - (char *)version_info)) != RKINIT_SUCCESS) - return(status); - - *s_lversion = (int) version_info[0]; - *s_hversion = (int) version_info[1]; - - return(RKINIT_SUCCESS); -} - -#ifdef __STDC__ -int rki_rpc_send_rkinit_info(rkinit_info *info) -#else -int rki_rpc_send_rkinit_info(info) - rkinit_info *info; -#endif /* __STDC__ */ -{ - rkinit_info info_copy; - - bcopy(info, &info_copy, sizeof(rkinit_info)); - info_copy.lifetime = htonl(info_copy.lifetime); - return(rki_send_packet(sock, MT_RKINIT_INFO, sizeof(rkinit_info), - (char *)&info_copy)); -} - -#ifdef __STDC__ -int rki_rpc_get_status(void) -#else -int rki_rpc_get_status() -#endif /* __STDC__ */ -{ - char msg[BUFSIZ]; - int status = RKINIT_SUCCESS; - u_int32_t length = sizeof(msg); - - if ((status = rki_get_packet(sock, MT_STATUS, &length, msg))) - return(status); - - if (length == 0) - return(RKINIT_SUCCESS); - else { - rkinit_errmsg(msg); - return(RKINIT_DAEMON); - } -} - -#ifdef __STDC__ -int rki_rpc_get_ktext(int sock, KTEXT auth, u_char type) -#else -int rki_rpc_get_ktext(sock, auth, type) - int sock; - KTEXT auth; - u_char type; -#endif /* __STDC__ */ -{ - int status = RKINIT_SUCCESS; - u_int32_t length = MAX_KTXT_LEN; - - if ((status = rki_get_packet(sock, type, &length, (char *)auth->dat))) - return(status); - - auth->length = length; - - return(RKINIT_SUCCESS); -} - -#ifdef __STDC__ -int rki_rpc_sendauth(KTEXT auth) -#else -int rki_rpc_sendauth(auth) - KTEXT auth; -#endif /* __STDC__ */ -{ - return(rki_send_packet(sock, MT_AUTH, auth->length, (char *)auth->dat)); -} - - -#ifdef __STDC__ -int rki_rpc_get_skdc(KTEXT scip) -#else -int rki_rpc_get_skdc(scip) - KTEXT scip; -#endif /* __STDC__ */ -{ - return(rki_rpc_get_ktext(sock, scip, MT_SKDC)); -} - -#ifdef __STDC__ -int rki_rpc_send_ckdc(MSG_DAT *scip) -#else -int rki_rpc_send_ckdc(scip) - MSG_DAT *scip; -#endif /* __STDC__ */ -{ - return(rki_send_packet(sock, MT_CKDC, scip->app_length, - (char *)scip->app_data)); -} - -#ifdef __STDC__ -int rki_get_csaddr(struct sockaddr_in *caddrp, struct sockaddr_in *saddrp) -#else -int rki_get_csaddr(caddrp, saddrp) - struct sockaddr_in *caddrp; - struct sockaddr_in *saddrp; -#endif /* __STDC__ */ -{ - int addrlen = sizeof(struct sockaddr_in); - - bcopy((char *)&saddr, (char *)saddrp, addrlen); - - if (getsockname(sock, (struct sockaddr *)caddrp, &addrlen) < 0) { - sprintf(errbuf, "getsockname: %s", sys_errlist[errno]); - rkinit_errmsg(errbuf); - return(RKINIT_GETSOCK); - } - - return(RKINIT_SUCCESS); -} - -#ifdef __STDC__ -void rki_drop_server(void) -#else -void rki_drop_server() -#endif /* __STDC__ */ -{ - (void) rki_send_packet(sock, MT_DROP, 0, ""); -} - -#ifdef __STDC__ -void rki_cleanup_rpc(void) -#else -void rki_cleanup_rpc() -#endif /* __STDC__ */ -{ - rki_drop_server(); - (void) close(sock); -} diff --git a/eBones/lib/librkinit/rk_util.c b/eBones/lib/librkinit/rk_util.c deleted file mode 100644 index 4333d38d306f9..0000000000000 --- a/eBones/lib/librkinit/rk_util.c +++ /dev/null @@ -1,214 +0,0 @@ -/* - * $Id: rk_util.c,v 1.1 1993/12/10 19:36:09 dglo Exp gibbs $ - * $Source: /usr/src/eBones/librkinit/RCS/rk_util.c,v $ - * $Author: dglo $ - * - * This file contains internal routines for general use by the rkinit - * library and server. - * - * See the comment at the top of rk_lib.c for a description of the naming - * conventions used within the rkinit library. - */ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid = "$Id: rk_util.c,v 1.1 1993/12/10 19:36:09 dglo Exp gibbs $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <stdio.h> -#include <sys/types.h> -#include <string.h> -#include <setjmp.h> -#include <signal.h> -#include <sys/time.h> - -#ifdef DEBUG -#include <syslog.h> -#endif /* DEBUG */ - -#include <rkinit.h> -#include <rkinit_private.h> -#include <rkinit_err.h> - -#define RKINIT_TIMEOUTVAL 60 - -static char errbuf[BUFSIZ]; -static jmp_buf timeout_env; - -#ifdef DEBUG -static int _rkinit_server_ = FALSE; - -#ifdef __STDC__ -void rki_dmsg(char *string) -#else -void rki_dmsg(string) - char *string; -#endif /* __STDC__ */ -{ - if (_rkinit_server_) - syslog(LOG_NOTICE, string); - else - printf("%s\n", string); -} - -#ifdef __STDC__ -void rki_i_am_server(void) -#else -void rki_i_am_server() -#endif /* __STDC__ */ -{ - _rkinit_server_ = TRUE; -} -#else /* DEBUG */ -#ifdef __STDC__ -void rki_dmsg(char *string) -#else -void rki_dmsg(string) - char *string; -#endif /* __STDC__ */ -{ - return; -} - -#endif /* DEBUG */ - -#ifdef __STDC__ -const char *rki_mt_to_string(int mt) -#else -const char *rki_mt_to_string(mt) - int mt; -#endif /* __STDC__ */ -{ - char *string = 0; - - switch(mt) { - case MT_STATUS: - string = "Status message"; - break; - case MT_CVERSION: - string = "Client version"; - break; - case MT_SVERSION: - string = "Server version"; - break; - case MT_RKINIT_INFO: - string = "Rkinit information"; - break; - case MT_SKDC: - string = "Server kdc packet"; - break; - case MT_CKDC: - string = "Client kdc packet"; - break; - case MT_AUTH: - string = "Authenticator"; - break; - case MT_DROP: - string = "Drop server"; - break; - default: - string = "Unknown message type"; - break; - } - - return(string); -} - -#ifdef __STDC__ -int rki_choose_version(int *version) -#else -int rki_choose_version(version) - int *version; -#endif /* __STDC__ */ -{ - int s_lversion; /* lowest version number server supports */ - int s_hversion; /* highest version number server supports */ - int status = RKINIT_SUCCESS; - - if ((status = - rki_rpc_exchange_version_info(RKINIT_LVERSION, RKINIT_HVERSION, - &s_lversion, - &s_hversion)) != RKINIT_SUCCESS) - return(status); - - *version = min(RKINIT_HVERSION, s_hversion); - if (*version < max(RKINIT_LVERSION, s_lversion)) { - sprintf(errbuf, - "Can't run version %d client against version %d server.", - RKINIT_HVERSION, s_hversion); - rkinit_errmsg(errbuf); - status = RKINIT_VERSION; - } - - return(status); -} - -#ifdef __STDC__ -int rki_send_rkinit_info(int version, rkinit_info *info) -#else -int rki_send_rkinit_info(version, info) - int version; - rkinit_info *info; -#endif /* __STDC__ */ -{ - int status = 0; - - if ((status = rki_rpc_send_rkinit_info(info)) != RKINIT_SUCCESS) - return(status); - - return(rki_rpc_get_status()); -} - -#ifdef __STDC__ -static void rki_timeout(int signal) -#else -static void rki_timeout(signal) - int signal; -#endif /* __STDC__ */ -{ - sprintf(errbuf, "%d seconds exceeded.", RKINIT_TIMEOUTVAL); - rkinit_errmsg(errbuf); - longjmp(timeout_env, RKINIT_TIMEOUT); - return; -} - -#ifdef __STDC__ -static void set_timer(int secs) -#else -static void set_timer(secs) - int secs; -#endif /* __STDC__ */ -{ - struct itimerval timer; /* Time structure for timeout */ - - /* Set up an itimer structure to send an alarm signal after TIMEOUT - seconds. */ - timer.it_interval.tv_sec = secs; - timer.it_interval.tv_usec = 0; - timer.it_value = timer.it_interval; - - (void) setitimer (ITIMER_REAL, &timer, (struct itimerval *)0); -} - - -#ifdef __STDC__ -void (*rki_setup_timer(jmp_buf env))(int) -#else -void (*rki_setup_timer(env))(int) - jmp_buf env; -#endif /* __STDC__ */ -{ - bcopy((char *)env, (char *)timeout_env, sizeof(jmp_buf)); - set_timer(RKINIT_TIMEOUTVAL); - return(signal(SIGALRM, rki_timeout)); -} - -#ifdef __STDC__ -void rki_restore_timer(void (*old_alrm)(int)) -#else -void rki_restore_timer(old_alrm) - void (*old_alrm)(int); -#endif /* __STDC__ */ -{ - set_timer(0); - (void) signal(SIGALRM, old_alrm); -} diff --git a/eBones/lib/librkinit/rkinit.3 b/eBones/lib/librkinit/rkinit.3 deleted file mode 100644 index fe6bdf7a1fb65..0000000000000 --- a/eBones/lib/librkinit/rkinit.3 +++ /dev/null @@ -1,167 +0,0 @@ -.\" -.\" $Header: /local/cvsfiles/kerberos/src/appl/rkinit/man/rkinit.3,v 1.1 1991/12/03 23:21:29 eichin Exp $ -.\" $Source: /local/cvsfiles/kerberos/src/appl/rkinit/man/rkinit.3,v $ -.\" $Author: eichin $ -.\" -.\" -.TH RKINIT 3 "November 12, 1989" -.SH NAME -rkinit, rkinit_errmsg -.SH SYNOPSIS -.nf -.nj -.ft B -#include <rkinit.h> -#include <rkinit_err.h> -.PP -.ft B -int rkinit(host, r_krealm, info, timeout) - char *host; - char *r_krealm; - rkinit_info *info; - int timeout; -.PP -.ft B -char *rkinit_errmsg(string) - char *string; -.fi -.ft R -.SH DESCRIPTION -This library contains the calls necessary to interface with the -.I rkinit -system of remote ticket establishment. See -.IR rkinit (1) -for more information on -.I rkinit -.PP -.I rkinit.h -is the header file that contains information that all clients -will need to use. -.PP -.I rkinit_err.h -is the -.I com_err -error table header file. See -.IR com_err (3) -for more information about -.I com_err. -.PP -.IR rkinit () -takes as arguments the name of the host on which you wish to -establish tickets, the kerberos realm of the remote host, a -fully initialized rkinit_info structure, and a boolean value -telling -whether or not -.IR rkinit () -should time out if the transaction -fails to complete after a certain about of time. -This call does not know about about default values, so -something must be filled in for everything except for the ticket -filename in the rkinit_info structure described below. - -.nf -.nj -.ft B -This is the rkinit_info type: - -typedef struct { - char aname[ANAME_SZ + 1]; - char inst[INST_SZ + 1]; - char realm[REALM_SZ + 1]; - char sname[ANAME_SZ + 1]; - char sinst[INST_SZ + 1]; - char username[9]; /* max local name length + 1 */ - char tktfilename[MAXPATHLEN + 1]; - long lifetime; -} rkinit_info; -.fi -.ft R - -.I aname -is the name part of the kerberos principal for which tickets are -being requested. - -.I inst -is the instance part. - -.I realm -is the realm part. - -.I sname -is the service name of the key that will appear in the remote -initial ticket (for example, "krbtgt"). - -.I sname -is the service instance. - -.I username -is the name of the local user on the remote host who will own -the ticket file. - -.I tktfilename -is the name of the file on the remote host in which the -tickets will be stored. This is the only field in the structure -for which a blank value is filled in. If this value is left -blank, the server will figure out what to call the ticket file -by using the kerberos library default as determined by -.I TKT_FILE -as defined in -.IR krb.h . - -.I lifetime -is the lifetime of the tickets in the usual five minute -intervals. It is possible with this routine, as with -.IR krb_get_in_tkt (3) -to request tickets with zero lifetime. - -.IR rkinit (), -while it is running, opens a socket, changes the name -of the default kerberos ticket file, and changes the signal -handler for the ALRM signal (if timeout != 0). rkinit() -restores all these values when it exits whether it exits with -an error or not, so clients using the rkinit library need not -worry about this information. - -.IR rkinit_errmsg () -takes a string as its only argument. Passing -other than NULL to this routine should be done -by only the rkinit library and server. -Doing this sets the current rkinit -error message. Calling -.IR rkinit_errmsg () -with NULL as the argument returns the current rkinit error -message. -Although the rkinit library uses -.IR com_err (3) -for error handling, the error messages returned by -.IR com_err () -may not be specific enough. A client could report the error -message returned by rkinit as follows: - - -.nf -.nj -.ft B -if (status = rkinit(host, r_krealm, &info, timeout)) { - com_err(argv[0], status, "while obtaining remote tickets:"); - fprintf(stderr, "%s\\n", rkinit_errmsg(0)); - exit(1); -} -.fi -.ft R - -.SH SEE ALSO -kerberos(1), kerberos(3), rkinit(1), rkinitd(8) - -.SH DIAGNOSTICS -.IR rkinit () -is usually good about reporting error messages to the client. -It will probably not handle uninitialized variables well, -however. Make sure that things like the realm of the remote -host and the lifetime of the tickets have been properly -initialized before calling -.IR rkinit (). - - -.SH AUTHOR -Emanuel Jay Berkenbilt (MIT-Project Athena) diff --git a/eBones/lib/librkinit/rkinit_err.et b/eBones/lib/librkinit/rkinit_err.et deleted file mode 100644 index d0ade5ba11cbc..0000000000000 --- a/eBones/lib/librkinit/rkinit_err.et +++ /dev/null @@ -1,32 +0,0 @@ -# -# $Header: /local/cvsfiles/kerberos/src/appl/rkinit/lib/rkinit_err.et,v 1.1 1991/12/03 23:20:58 eichin Exp $ -# $Source: /local/cvsfiles/kerberos/src/appl/rkinit/lib/rkinit_err.et,v $ -# $Author: eichin $ -# -# These error messages will probably not be printed by com_err. -# Instead, a better error message (with specific information) -# will be obtained by a call to rkinit_errmsg(). -# - -et rkin - -ec RKINIT_RCSID, "$Header: /local/cvsfiles/kerberos/src/appl/rkinit/lib/rkinit_err.et,v 1.1 1991/12/03 23:20:58 eichin Exp $" -ec RKINIT_VERSION, "Version mismatch" -ec RKINIT_HOST, "Failure getting host information" -ec RKINIT_SERV, "Failure getting service information (/etc/services)" -ec RKINIT_SOCKET, "Failure setting up socket" -ec RKINIT_CONNECT, "Failure connecting" -ec RKINIT_PACKET, "Bad packet type" -ec RKINIT_WRITE, "Failure writing" -ec RKINIT_READ, "Failure reading" -ec RKINIT_DAEMON, "Error reported by rkinitd" -ec RKINIT_KERBEROS, "Kerberos error" -ec RKINIT_DES, "Des error" -ec RKINIT_GETPEER, "Failure in getpeername" -ec RKINIT_GETSOCK, "Failure in getsockname" -ec RKINIT_MEMORY, "Out of memory" -ec RKINIT_TIMEOUT, "Timed out" -ec RKINIT_DROPPED, "Connection dropped" - -ec RKINIT_LAST, "Last error message" -end diff --git a/eBones/lib/libtelnet/Makefile b/eBones/lib/libtelnet/Makefile deleted file mode 100644 index 94f75499080ed..0000000000000 --- a/eBones/lib/libtelnet/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# From: @(#)Makefile 8.2 (Berkeley) 12/15/93 -# $Id$ - -LIB= telnet -SRCS= encrypt.c genget.c getent.c misc.c - -CFLAGS+= -DHAS_CGETENT -DENCRYPTION - -.if exists(${DESTDIR}/usr/lib/libkrb.a) && defined(MAKE_EBONES) -CFLAGS+= -DDES_ENCRYPTION -DAUTHENTICATION -DKRB4 -I/usr/include/kerberosIV -SRCS+= auth.c kerberos.c enc_des.c -LDADD+= -ldes -lkrb -DPADD+= ${LIBDES} ${LIBKRB} -.endif - -# Not Yet -#SRCS += spx.c rsaencpwd.c read_password.c - -# KRB4_ENCPWD not yet defined -# Used only in krb4encpwd.c and rsaencpwd.c, not yet active -#LDADD+= -ldescrypt - -.include <bsd.lib.mk> diff --git a/eBones/lib/libtelnet/auth-proto.h b/eBones/lib/libtelnet/auth-proto.h deleted file mode 100644 index bdcb0307fe31d..0000000000000 --- a/eBones/lib/libtelnet/auth-proto.h +++ /dev/null @@ -1,100 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)auth-proto.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America is assumed - * to require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ - -#if !defined(P) -#ifdef __STDC__ -#define P(x) x -#else -#define P(x) () -#endif -#endif - -#if defined(AUTHENTICATION) -Authenticator *findauthenticator P((int, int)); - -void auth_init P((char *, int)); -int auth_cmd P((int, char **)); -void auth_request P((void)); -void auth_send P((unsigned char *, int)); -void auth_send_retry P((void)); -void auth_is P((unsigned char *, int)); -void auth_reply P((unsigned char *, int)); -void auth_finished P((Authenticator *, int)); -int auth_wait P((char *)); -void auth_disable_name P((char *)); -void auth_gen_printsub P((unsigned char *, int, unsigned char *, int)); -void auth_name P((unsigned char *, int)); -void auth_printsub P((unsigned char *, int, unsigned char *, int)); -int auth_sendname P((unsigned char *, int)); -void auth_encrypt_user P((char *)); - -#ifdef KRB4 -int kerberos4_init P((Authenticator *, int)); -int kerberos4_send P((Authenticator *)); -void kerberos4_is P((Authenticator *, unsigned char *, int)); -void kerberos4_reply P((Authenticator *, unsigned char *, int)); -int kerberos4_status P((Authenticator *, char *, int)); -void kerberos4_printsub P((unsigned char *, int, unsigned char *, int)); -#endif - -#ifdef KRB5 -int kerberos5_init P((Authenticator *, int)); -int kerberos5_send P((Authenticator *)); -void kerberos5_is P((Authenticator *, unsigned char *, int)); -void kerberos5_reply P((Authenticator *, unsigned char *, int)); -int kerberos5_status P((Authenticator *, char *, int)); -void kerberos5_printsub P((unsigned char *, int, unsigned char *, int)); -#endif -#endif diff --git a/eBones/lib/libtelnet/auth.c b/eBones/lib/libtelnet/auth.c deleted file mode 100644 index 624baa1f479e1..0000000000000 --- a/eBones/lib/libtelnet/auth.c +++ /dev/null @@ -1,674 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)auth.c 8.3 (Berkeley) 5/30/95"; -#endif /* not lint */ - -/* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America is assumed - * to require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ - - -#if defined(AUTHENTICATION) -#include <stdio.h> -#include <sys/types.h> -#include <signal.h> -#define AUTH_NAMES -#include <arpa/telnet.h> -#ifdef __STDC__ -#include <stdlib.h> -#include <unistd.h> -#endif -#ifdef NO_STRING_H -#include <strings.h> -#else -#include <string.h> -#endif - -#include "encrypt.h" -#include "auth.h" -#include "misc-proto.h" -#include "auth-proto.h" - -#define typemask(x) (1<<((x)-1)) - -#ifdef KRB4_ENCPWD -extern krb4encpwd_init(); -extern krb4encpwd_send(); -extern krb4encpwd_is(); -extern krb4encpwd_reply(); -extern krb4encpwd_status(); -extern krb4encpwd_printsub(); -#endif - -#ifdef RSA_ENCPWD -extern rsaencpwd_init(); -extern rsaencpwd_send(); -extern rsaencpwd_is(); -extern rsaencpwd_reply(); -extern rsaencpwd_status(); -extern rsaencpwd_printsub(); -#endif - -int auth_debug_mode = 0; -static char *Name = "Noname"; -static int Server = 0; -static Authenticator *authenticated = 0; -static int authenticating = 0; -static int validuser = 0; -static unsigned char _auth_send_data[256]; -static unsigned char *auth_send_data; -static int auth_send_cnt = 0; - -int auth_onoff(char *type, int on); -void auth_encrypt_user(char *name); - -/* - * Authentication types supported. Plese note that these are stored - * in priority order, i.e. try the first one first. - */ -Authenticator authenticators[] = { -#ifdef SPX - { AUTHTYPE_SPX, AUTH_WHO_CLIENT|AUTH_HOW_MUTUAL, - spx_init, - spx_send, - spx_is, - spx_reply, - spx_status, - spx_printsub }, - { AUTHTYPE_SPX, AUTH_WHO_CLIENT|AUTH_HOW_ONE_WAY, - spx_init, - spx_send, - spx_is, - spx_reply, - spx_status, - spx_printsub }, -#endif -#ifdef KRB5 -# ifdef ENCRYPTION - { AUTHTYPE_KERBEROS_V5, AUTH_WHO_CLIENT|AUTH_HOW_MUTUAL, - kerberos5_init, - kerberos5_send, - kerberos5_is, - kerberos5_reply, - kerberos5_status, - kerberos5_printsub }, -# endif /* ENCRYPTION */ - { AUTHTYPE_KERBEROS_V5, AUTH_WHO_CLIENT|AUTH_HOW_ONE_WAY, - kerberos5_init, - kerberos5_send, - kerberos5_is, - kerberos5_reply, - kerberos5_status, - kerberos5_printsub }, -#endif -#ifdef KRB4 -# ifdef ENCRYPTION - { AUTHTYPE_KERBEROS_V4, AUTH_WHO_CLIENT|AUTH_HOW_MUTUAL, - kerberos4_init, - kerberos4_send, - kerberos4_is, - kerberos4_reply, - kerberos4_status, - kerberos4_printsub }, -# endif /* ENCRYPTION */ - { AUTHTYPE_KERBEROS_V4, AUTH_WHO_CLIENT|AUTH_HOW_ONE_WAY, - kerberos4_init, - kerberos4_send, - kerberos4_is, - kerberos4_reply, - kerberos4_status, - kerberos4_printsub }, -#endif -#ifdef KRB4_ENCPWD - { AUTHTYPE_KRB4_ENCPWD, AUTH_WHO_CLIENT|AUTH_HOW_MUTUAL, - krb4encpwd_init, - krb4encpwd_send, - krb4encpwd_is, - krb4encpwd_reply, - krb4encpwd_status, - krb4encpwd_printsub }, -#endif -#ifdef RSA_ENCPWD - { AUTHTYPE_RSA_ENCPWD, AUTH_WHO_CLIENT|AUTH_HOW_ONE_WAY, - rsaencpwd_init, - rsaencpwd_send, - rsaencpwd_is, - rsaencpwd_reply, - rsaencpwd_status, - rsaencpwd_printsub }, -#endif - { 0, }, -}; - -static Authenticator NoAuth = { 0 }; - -static int i_support = 0; -static int i_wont_support = 0; - - Authenticator * -findauthenticator(type, way) - int type; - int way; -{ - Authenticator *ap = authenticators; - - while (ap->type && (ap->type != type || ap->way != way)) - ++ap; - return(ap->type ? ap : 0); -} - - void -auth_init(name, server) - char *name; - int server; -{ - Authenticator *ap = authenticators; - - Server = server; - Name = name; - - i_support = 0; - authenticated = 0; - authenticating = 0; - while (ap->type) { - if (!ap->init || (*ap->init)(ap, server)) { - i_support |= typemask(ap->type); - if (auth_debug_mode) - printf(">>>%s: I support auth type %d %d\r\n", - Name, - ap->type, ap->way); - } - else if (auth_debug_mode) - printf(">>>%s: Init failed: auth type %d %d\r\n", - Name, ap->type, ap->way); - ++ap; - } -} - - void -auth_disable_name(name) - char *name; -{ - int x; - for (x = 0; x < AUTHTYPE_CNT; ++x) { - if (!strcasecmp(name, AUTHTYPE_NAME(x))) { - i_wont_support |= typemask(x); - break; - } - } -} - - int -getauthmask(type, maskp) - char *type; - int *maskp; -{ - register int x; - - if (!strcasecmp(type, AUTHTYPE_NAME(0))) { - *maskp = -1; - return(1); - } - - for (x = 1; x < AUTHTYPE_CNT; ++x) { - if (!strcasecmp(type, AUTHTYPE_NAME(x))) { - *maskp = typemask(x); - return(1); - } - } - return(0); -} - - int -auth_enable(type) - char * type; -{ - return(auth_onoff(type, 1)); -} - - int -auth_disable(type) - char * type; -{ - return(auth_onoff(type, 0)); -} - - int -auth_onoff(type, on) - char *type; - int on; -{ - int i, mask = -1; - Authenticator *ap; - - if (!strcasecmp(type, "?") || !strcasecmp(type, "help")) { - printf("auth %s 'type'\n", on ? "enable" : "disable"); - printf("Where 'type' is one of:\n"); - printf("\t%s\n", AUTHTYPE_NAME(0)); - mask = 0; - for (ap = authenticators; ap->type; ap++) { - if ((mask & (i = typemask(ap->type))) != 0) - continue; - mask |= i; - printf("\t%s\n", AUTHTYPE_NAME(ap->type)); - } - return(0); - } - - if (!getauthmask(type, &mask)) { - printf("%s: invalid authentication type\n", type); - return(0); - } - if (on) - i_wont_support &= ~mask; - else - i_wont_support |= mask; - return(1); -} - - int -auth_togdebug(on) - int on; -{ - if (on < 0) - auth_debug_mode ^= 1; - else - auth_debug_mode = on; - printf("auth debugging %s\n", auth_debug_mode ? "enabled" : "disabled"); - return(1); -} - - int -auth_status() -{ - Authenticator *ap; - int i, mask; - - if (i_wont_support == -1) - printf("Authentication disabled\n"); - else - printf("Authentication enabled\n"); - - mask = 0; - for (ap = authenticators; ap->type; ap++) { - if ((mask & (i = typemask(ap->type))) != 0) - continue; - mask |= i; - printf("%s: %s\n", AUTHTYPE_NAME(ap->type), - (i_wont_support & typemask(ap->type)) ? - "disabled" : "enabled"); - } - return(1); -} - -/* - * This routine is called by the server to start authentication - * negotiation. - */ - void -auth_request() -{ - static unsigned char str_request[64] = { IAC, SB, - TELOPT_AUTHENTICATION, - TELQUAL_SEND, }; - Authenticator *ap = authenticators; - unsigned char *e = str_request + 4; - - if (!authenticating) { - authenticating = 1; - while (ap->type) { - if (i_support & ~i_wont_support & typemask(ap->type)) { - if (auth_debug_mode) { - printf(">>>%s: Sending type %d %d\r\n", - Name, ap->type, ap->way); - } - *e++ = ap->type; - *e++ = ap->way; - } - ++ap; - } - *e++ = IAC; - *e++ = SE; - net_write(str_request, e - str_request); - printsub('>', &str_request[2], e - str_request - 2); - } -} - -/* - * This is called when an AUTH SEND is received. - * It should never arrive on the server side (as only the server can - * send an AUTH SEND). - * You should probably respond to it if you can... - * - * If you want to respond to the types out of order (i.e. even - * if he sends LOGIN KERBEROS and you support both, you respond - * with KERBEROS instead of LOGIN (which is against what the - * protocol says)) you will have to hack this code... - */ - void -auth_send(data, cnt) - unsigned char *data; - int cnt; -{ - Authenticator *ap; - static unsigned char str_none[] = { IAC, SB, TELOPT_AUTHENTICATION, - TELQUAL_IS, AUTHTYPE_NULL, 0, - IAC, SE }; - if (Server) { - if (auth_debug_mode) { - printf(">>>%s: auth_send called!\r\n", Name); - } - return; - } - - if (auth_debug_mode) { - printf(">>>%s: auth_send got:", Name); - printd(data, cnt); printf("\r\n"); - } - - /* - * Save the data, if it is new, so that we can continue looking - * at it if the authorization we try doesn't work - */ - if (data < _auth_send_data || - data > _auth_send_data + sizeof(_auth_send_data)) { - auth_send_cnt = cnt > sizeof(_auth_send_data) - ? sizeof(_auth_send_data) - : cnt; - memmove((void *)_auth_send_data, (void *)data, auth_send_cnt); - auth_send_data = _auth_send_data; - } else { - /* - * This is probably a no-op, but we just make sure - */ - auth_send_data = data; - auth_send_cnt = cnt; - } - while ((auth_send_cnt -= 2) >= 0) { - if (auth_debug_mode) - printf(">>>%s: He supports %d\r\n", - Name, *auth_send_data); - if ((i_support & ~i_wont_support) & typemask(*auth_send_data)) { - ap = findauthenticator(auth_send_data[0], - auth_send_data[1]); - if (ap && ap->send) { - if (auth_debug_mode) - printf(">>>%s: Trying %d %d\r\n", - Name, auth_send_data[0], - auth_send_data[1]); - if ((*ap->send)(ap)) { - /* - * Okay, we found one we like - * and did it. - * we can go home now. - */ - if (auth_debug_mode) - printf(">>>%s: Using type %d\r\n", - Name, *auth_send_data); - auth_send_data += 2; - return; - } - } - /* else - * just continue on and look for the - * next one if we didn't do anything. - */ - } - auth_send_data += 2; - } - net_write(str_none, sizeof(str_none)); - printsub('>', &str_none[2], sizeof(str_none) - 2); - if (auth_debug_mode) - printf(">>>%s: Sent failure message\r\n", Name); - auth_finished(0, AUTH_REJECT); -#ifdef KANNAN - /* - * We requested strong authentication, however no mechanisms worked. - * Therefore, exit on client end. - */ - printf("Unable to securely authenticate user ... exit\n"); - exit(0); -#endif /* KANNAN */ -} - - void -auth_send_retry() -{ - /* - * if auth_send_cnt <= 0 then auth_send will end up rejecting - * the authentication and informing the other side of this. - */ - auth_send(auth_send_data, auth_send_cnt); -} - - void -auth_is(data, cnt) - unsigned char *data; - int cnt; -{ - Authenticator *ap; - - if (cnt < 2) - return; - - if (data[0] == AUTHTYPE_NULL) { - auth_finished(0, AUTH_REJECT); - return; - } - - if ((ap = findauthenticator(data[0], data[1]))) { - if (ap->is) - (*ap->is)(ap, data+2, cnt-2); - } else if (auth_debug_mode) - printf(">>>%s: Invalid authentication in IS: %d\r\n", - Name, *data); -} - - void -auth_reply(data, cnt) - unsigned char *data; - int cnt; -{ - Authenticator *ap; - - if (cnt < 2) - return; - - if ((ap = findauthenticator(data[0], data[1]))) { - if (ap->reply) - (*ap->reply)(ap, data+2, cnt-2); - } else if (auth_debug_mode) - printf(">>>%s: Invalid authentication in SEND: %d\r\n", - Name, *data); -} - - void -auth_name(data, cnt) - unsigned char *data; - int cnt; -{ - unsigned char savename[256]; - - if (cnt < 1) { - if (auth_debug_mode) - printf(">>>%s: Empty name in NAME\r\n", Name); - return; - } - if (cnt > sizeof(savename) - 1) { - if (auth_debug_mode) - printf(">>>%s: Name in NAME (%d) exceeds %d length\r\n", - Name, cnt, sizeof(savename)-1); - return; - } - memmove((void *)savename, (void *)data, cnt); - savename[cnt] = '\0'; /* Null terminate */ - if (auth_debug_mode) - printf(">>>%s: Got NAME [%s]\r\n", Name, savename); - auth_encrypt_user(savename); -} - - int -auth_sendname(cp, len) - unsigned char *cp; - int len; -{ - static unsigned char str_request[256+6] - = { IAC, SB, TELOPT_AUTHENTICATION, TELQUAL_NAME, }; - register unsigned char *e = str_request + 4; - register unsigned char *ee = &str_request[sizeof(str_request)-2]; - - while (--len >= 0) { - if ((*e++ = *cp++) == IAC) - *e++ = IAC; - if (e >= ee) - return(0); - } - *e++ = IAC; - *e++ = SE; - net_write(str_request, e - str_request); - printsub('>', &str_request[2], e - &str_request[2]); - return(1); -} - - void -auth_finished(ap, result) - Authenticator *ap; - int result; -{ - if (!(authenticated = ap)) - authenticated = &NoAuth; - validuser = result; -} - - /* ARGSUSED */ - static void -auth_intr(sig) - int sig; -{ - auth_finished(0, AUTH_REJECT); -} - - int -auth_wait(name) - char *name; -{ - if (auth_debug_mode) - printf(">>>%s: in auth_wait.\r\n", Name); - - if (Server && !authenticating) - return(0); - - (void) signal(SIGALRM, auth_intr); - alarm(30); - while (!authenticated) - if (telnet_spin()) - break; - alarm(0); - (void) signal(SIGALRM, SIG_DFL); - - /* - * Now check to see if the user is valid or not - */ - if (!authenticated || authenticated == &NoAuth) - return(AUTH_REJECT); - - if (validuser == AUTH_VALID) - validuser = AUTH_USER; - - if (authenticated->status) - validuser = (*authenticated->status)(authenticated, - name, validuser); - return(validuser); -} - - void -auth_debug(mode) - int mode; -{ - auth_debug_mode = mode; -} - - void -auth_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - Authenticator *ap; - - if ((ap = findauthenticator(data[1], data[2])) && ap->printsub) - (*ap->printsub)(data, cnt, buf, buflen); - else - auth_gen_printsub(data, cnt, buf, buflen); -} - - void -auth_gen_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - register unsigned char *cp; - unsigned char tbuf[16]; - - cnt -= 3; - data += 3; - buf[buflen-1] = '\0'; - buf[buflen-2] = '*'; - buflen -= 2; - for (; cnt > 0; cnt--, data++) { - sprintf((char *)tbuf, " %d", *data); - for (cp = tbuf; *cp && buflen > 0; --buflen) - *buf++ = *cp++; - if (buflen <= 0) - return; - } - *buf = '\0'; -} -#endif diff --git a/eBones/lib/libtelnet/auth.h b/eBones/lib/libtelnet/auth.h deleted file mode 100644 index 615e8a07b8948..0000000000000 --- a/eBones/lib/libtelnet/auth.h +++ /dev/null @@ -1,87 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)auth.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America is assumed - * to require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ - -#ifndef __AUTH__ -#define __AUTH__ - -#define AUTH_REJECT 0 /* Rejected */ -#define AUTH_UNKNOWN 1 /* We don't know who he is, but he's okay */ -#define AUTH_OTHER 2 /* We know him, but not his name */ -#define AUTH_USER 3 /* We know he name */ -#define AUTH_VALID 4 /* We know him, and he needs no password */ - -#if !defined(P) -#ifdef __STDC__ -#define P(x) x -#else -#define P(x) () -#endif -#endif - -typedef struct XauthP { - int type; - int way; - int (*init) P((struct XauthP *, int)); - int (*send) P((struct XauthP *)); - void (*is) P((struct XauthP *, unsigned char *, int)); - void (*reply) P((struct XauthP *, unsigned char *, int)); - int (*status) P((struct XauthP *, char *, int)); - void (*printsub) P((unsigned char *, int, unsigned char *, int)); -} Authenticator; - -#include "auth-proto.h" - -extern auth_debug_mode; -#endif diff --git a/eBones/lib/libtelnet/enc-proto.h b/eBones/lib/libtelnet/enc-proto.h deleted file mode 100644 index 8e15ffdab8d1b..0000000000000 --- a/eBones/lib/libtelnet/enc-proto.h +++ /dev/null @@ -1,126 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)enc-proto.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America is assumed - * to require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ -#if !defined(P) -#ifdef __STDC__ -#define P(x) x -#else -#define P(x) () -#endif -#endif - -#ifdef ENCRYPTION -void encrypt_init P((char *, int)); -Encryptions *findencryption P((int)); -void encrypt_send_supprt P((void)); -void encrypt_auto P((int)); -void decrypt_auto P((int)); -void encrypt_is P((unsigned char *, int)); -void encrypt_reply P((unsigned char *, int)); -void encrypt_start_input P((int)); -void encrypt_session_key P((Session_Key *, int)); -void encrypt_end_input P((void)); -void encrypt_start_output P((int)); -void encrypt_end_output P((void)); -void encrypt_send_request_start P((void)); -void encrypt_send_request_end P((void)); -void encrypt_send_end P((void)); -void encrypt_wait P((void)); -void encrypt_send_support P((void)); -void encrypt_send_keyid P((int, unsigned char *, int, int)); -void encrypt_start P((unsigned char *, int)); -void encrypt_end P((void)); -void encrypt_support P((unsigned char *, int)); -void encrypt_request_start P((unsigned char *, int)); -void encrypt_request_end P((void)); -void encrypt_enc_keyid P((unsigned char *, int)); -void encrypt_dec_keyid P((unsigned char *, int)); -void encrypt_printsub P((unsigned char *, int, unsigned char *, int)); -int net_write P((unsigned char *, int)); - -#ifndef TELENTD -int encrypt_cmd P((int, char **)); -void encrypt_display P((void)); -#endif - -void krbdes_encrypt P((unsigned char *, int)); -int krbdes_decrypt P((int)); -int krbdes_is P((unsigned char *, int)); -int krbdes_reply P((unsigned char *, int)); -void krbdes_init P((int)); -int krbdes_start P((int, int)); -void krbdes_session P((Session_Key *, int)); -void krbdes_printsub P((unsigned char *, int, unsigned char *, int)); - -void cfb64_encrypt P((unsigned char *, int)); -int cfb64_decrypt P((int)); -void cfb64_init P((int)); -int cfb64_start P((int, int)); -int cfb64_is P((unsigned char *, int)); -int cfb64_reply P((unsigned char *, int)); -void cfb64_session P((Session_Key *, int)); -int cfb64_keyid P((int, unsigned char *, int *)); -void cfb64_printsub P((unsigned char *, int, unsigned char *, int)); - -void ofb64_encrypt P((unsigned char *, int)); -int ofb64_decrypt P((int)); -void ofb64_init P((int)); -int ofb64_start P((int, int)); -int ofb64_is P((unsigned char *, int)); -int ofb64_reply P((unsigned char *, int)); -void ofb64_session P((Session_Key *, int)); -int ofb64_keyid P((int, unsigned char *, int *)); -void ofb64_printsub P((unsigned char *, int, unsigned char *, int)); - -#endif /* ENCRYPTION */ diff --git a/eBones/lib/libtelnet/enc_des.c b/eBones/lib/libtelnet/enc_des.c deleted file mode 100644 index 8e4b9a7f4b78c..0000000000000 --- a/eBones/lib/libtelnet/enc_des.c +++ /dev/null @@ -1,720 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)enc_des.c 8.3 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#ifdef ENCRYPTION -# ifdef AUTHENTICATION -# ifdef DES_ENCRYPTION -#include <arpa/telnet.h> -#include <stdio.h> -#ifdef __STDC__ -#include <stdlib.h> -#endif - -#include <des.h> -#include <string.h> -#include "encrypt.h" -#include "key-proto.h" -#include "misc-proto.h" - -extern encrypt_debug_mode; - -#define CFB 0 -#define OFB 1 - -#define NO_SEND_IV 1 -#define NO_RECV_IV 2 -#define NO_KEYID 4 -#define IN_PROGRESS (NO_SEND_IV|NO_RECV_IV|NO_KEYID) -#define SUCCESS 0 -#define FAILED -1 - - -struct fb { - Block krbdes_key; - Schedule krbdes_sched; - Block temp_feed; - unsigned char fb_feed[64]; - int need_start; - int state[2]; - int keyid[2]; - int once; - struct stinfo { - Block str_output; - Block str_feed; - Block str_iv; - Block str_ikey; - Schedule str_sched; - int str_index; - int str_flagshift; - } streams[2]; -}; - -static struct fb fb[2]; - -struct keyidlist { - char *keyid; - int keyidlen; - char *key; - int keylen; - int flags; -} keyidlist [] = { - { "\0", 1, 0, 0, 0 }, /* default key of zero */ - { 0, 0, 0, 0, 0 } -}; - -#define KEYFLAG_MASK 03 - -#define KEYFLAG_NOINIT 00 -#define KEYFLAG_INIT 01 -#define KEYFLAG_OK 02 -#define KEYFLAG_BAD 03 - -#define KEYFLAG_SHIFT 2 - -#define SHIFT_VAL(a,b) (KEYFLAG_SHIFT*((a)+((b)*2))) - -#define FB64_IV 1 -#define FB64_IV_OK 2 -#define FB64_IV_BAD 3 - - -void fb64_stream_iv P((Block, struct stinfo *)); -void fb64_init P((struct fb *)); -static int fb64_start P((struct fb *, int, int)); -int fb64_is P((unsigned char *, int, struct fb *)); -int fb64_reply P((unsigned char *, int, struct fb *)); -static void fb64_session P((Session_Key *, int, struct fb *)); -void fb64_stream_key P((Block, struct stinfo *)); -int fb64_keyid P((int, unsigned char *, int *, struct fb *)); - - void -cfb64_init(server) - int server; -{ - fb64_init(&fb[CFB]); - fb[CFB].fb_feed[4] = ENCTYPE_DES_CFB64; - fb[CFB].streams[0].str_flagshift = SHIFT_VAL(0, CFB); - fb[CFB].streams[1].str_flagshift = SHIFT_VAL(1, CFB); -} - - void -ofb64_init(server) - int server; -{ - fb64_init(&fb[OFB]); - fb[OFB].fb_feed[4] = ENCTYPE_DES_OFB64; - fb[CFB].streams[0].str_flagshift = SHIFT_VAL(0, OFB); - fb[CFB].streams[1].str_flagshift = SHIFT_VAL(1, OFB); -} - - void -fb64_init(fbp) - register struct fb *fbp; -{ - memset((void *)fbp, 0, sizeof(*fbp)); - fbp->state[0] = fbp->state[1] = FAILED; - fbp->fb_feed[0] = IAC; - fbp->fb_feed[1] = SB; - fbp->fb_feed[2] = TELOPT_ENCRYPT; - fbp->fb_feed[3] = ENCRYPT_IS; -} - -/* - * Returns: - * -1: some error. Negotiation is done, encryption not ready. - * 0: Successful, initial negotiation all done. - * 1: successful, negotiation not done yet. - * 2: Not yet. Other things (like getting the key from - * Kerberos) have to happen before we can continue. - */ - int -cfb64_start(dir, server) - int dir; - int server; -{ - return(fb64_start(&fb[CFB], dir, server)); -} - int -ofb64_start(dir, server) - int dir; - int server; -{ - return(fb64_start(&fb[OFB], dir, server)); -} - - static int -fb64_start(fbp, dir, server) - struct fb *fbp; - int dir; - int server; -{ - int x; - unsigned char *p; - register int state; - - switch (dir) { - case DIR_DECRYPT: - /* - * This is simply a request to have the other side - * start output (our input). He will negotiate an - * IV so we need not look for it. - */ - state = fbp->state[dir-1]; - if (state == FAILED) - state = IN_PROGRESS; - break; - - case DIR_ENCRYPT: - state = fbp->state[dir-1]; - if (state == FAILED) - state = IN_PROGRESS; - else if ((state & NO_SEND_IV) == 0) - break; - - if (!VALIDKEY(fbp->krbdes_key)) { - fbp->need_start = 1; - break; - } - state &= ~NO_SEND_IV; - state |= NO_RECV_IV; - if (encrypt_debug_mode) - printf("Creating new feed\r\n"); - /* - * Create a random feed and send it over. - */ - des_new_random_key((Block *)fbp->temp_feed); - des_ecb_encrypt((Block *)fbp->temp_feed, (Block *)fbp->temp_feed, - fbp->krbdes_sched, 1); - p = fbp->fb_feed + 3; - *p++ = ENCRYPT_IS; - p++; - *p++ = FB64_IV; - for (x = 0; x < sizeof(Block); ++x) { - if ((*p++ = fbp->temp_feed[x]) == IAC) - *p++ = IAC; - } - *p++ = IAC; - *p++ = SE; - printsub('>', &fbp->fb_feed[2], p - &fbp->fb_feed[2]); - net_write(fbp->fb_feed, p - fbp->fb_feed); - break; - default: - return(FAILED); - } - return(fbp->state[dir-1] = state); -} - -/* - * Returns: - * -1: some error. Negotiation is done, encryption not ready. - * 0: Successful, initial negotiation all done. - * 1: successful, negotiation not done yet. - */ - int -cfb64_is(data, cnt) - unsigned char *data; - int cnt; -{ - return(fb64_is(data, cnt, &fb[CFB])); -} - int -ofb64_is(data, cnt) - unsigned char *data; - int cnt; -{ - return(fb64_is(data, cnt, &fb[OFB])); -} - - int -fb64_is(data, cnt, fbp) - unsigned char *data; - int cnt; - struct fb *fbp; -{ - unsigned char *p; - register int state = fbp->state[DIR_DECRYPT-1]; - - if (cnt-- < 1) - goto failure; - - switch (*data++) { - case FB64_IV: - if (cnt != sizeof(Block)) { - if (encrypt_debug_mode) - printf("CFB64: initial vector failed on size\r\n"); - state = FAILED; - goto failure; - } - - if (encrypt_debug_mode) - printf("CFB64: initial vector received\r\n"); - - if (encrypt_debug_mode) - printf("Initializing Decrypt stream\r\n"); - - fb64_stream_iv((void *)data, &fbp->streams[DIR_DECRYPT-1]); - - p = fbp->fb_feed + 3; - *p++ = ENCRYPT_REPLY; - p++; - *p++ = FB64_IV_OK; - *p++ = IAC; - *p++ = SE; - printsub('>', &fbp->fb_feed[2], p - &fbp->fb_feed[2]); - net_write(fbp->fb_feed, p - fbp->fb_feed); - - state = fbp->state[DIR_DECRYPT-1] = IN_PROGRESS; - break; - - default: - if (encrypt_debug_mode) { - printf("Unknown option type: %d\r\n", *(data-1)); - printd(data, cnt); - printf("\r\n"); - } - /* FALL THROUGH */ - failure: - /* - * We failed. Send an FB64_IV_BAD option - * to the other side so it will know that - * things failed. - */ - p = fbp->fb_feed + 3; - *p++ = ENCRYPT_REPLY; - p++; - *p++ = FB64_IV_BAD; - *p++ = IAC; - *p++ = SE; - printsub('>', &fbp->fb_feed[2], p - &fbp->fb_feed[2]); - net_write(fbp->fb_feed, p - fbp->fb_feed); - - break; - } - return(fbp->state[DIR_DECRYPT-1] = state); -} - -/* - * Returns: - * -1: some error. Negotiation is done, encryption not ready. - * 0: Successful, initial negotiation all done. - * 1: successful, negotiation not done yet. - */ - int -cfb64_reply(data, cnt) - unsigned char *data; - int cnt; -{ - return(fb64_reply(data, cnt, &fb[CFB])); -} - int -ofb64_reply(data, cnt) - unsigned char *data; - int cnt; -{ - return(fb64_reply(data, cnt, &fb[OFB])); -} - - - int -fb64_reply(data, cnt, fbp) - unsigned char *data; - int cnt; - struct fb *fbp; -{ - register int state = fbp->state[DIR_ENCRYPT-1]; - - if (cnt-- < 1) - goto failure; - - switch (*data++) { - case FB64_IV_OK: - fb64_stream_iv(fbp->temp_feed, &fbp->streams[DIR_ENCRYPT-1]); - if (state == FAILED) - state = IN_PROGRESS; - state &= ~NO_RECV_IV; - encrypt_send_keyid(DIR_ENCRYPT, (unsigned char *)"\0", 1, 1); - break; - - case FB64_IV_BAD: - memset(fbp->temp_feed, 0, sizeof(Block)); - fb64_stream_iv(fbp->temp_feed, &fbp->streams[DIR_ENCRYPT-1]); - state = FAILED; - break; - - default: - if (encrypt_debug_mode) { - printf("Unknown option type: %d\r\n", data[-1]); - printd(data, cnt); - printf("\r\n"); - } - /* FALL THROUGH */ - failure: - state = FAILED; - break; - } - return(fbp->state[DIR_ENCRYPT-1] = state); -} - - void -cfb64_session(key, server) - Session_Key *key; - int server; -{ - fb64_session(key, server, &fb[CFB]); -} - - void -ofb64_session(key, server) - Session_Key *key; - int server; -{ - fb64_session(key, server, &fb[OFB]); -} - - static void -fb64_session(key, server, fbp) - Session_Key *key; - int server; - struct fb *fbp; -{ - - if (!key || key->type != SK_DES) { - if (encrypt_debug_mode) - printf("Can't set krbdes's session key (%d != %d)\r\n", - key ? key->type : -1, SK_DES); - return; - } - memmove((void *)fbp->krbdes_key, (void *)key->data, sizeof(Block)); - - fb64_stream_key(fbp->krbdes_key, &fbp->streams[DIR_ENCRYPT-1]); - fb64_stream_key(fbp->krbdes_key, &fbp->streams[DIR_DECRYPT-1]); - - if (fbp->once == 0) { - des_set_random_generator_seed((Block *)fbp->krbdes_key); - fbp->once = 1; - } - des_key_sched((Block *)fbp->krbdes_key, fbp->krbdes_sched); - /* - * Now look to see if krbdes_start() was was waiting for - * the key to show up. If so, go ahead an call it now - * that we have the key. - */ - if (fbp->need_start) { - fbp->need_start = 0; - fb64_start(fbp, DIR_ENCRYPT, server); - } -} - -/* - * We only accept a keyid of 0. If we get a keyid of - * 0, then mark the state as SUCCESS. - */ - int -cfb64_keyid(dir, kp, lenp) - int dir, *lenp; - unsigned char *kp; -{ - return(fb64_keyid(dir, kp, lenp, &fb[CFB])); -} - - int -ofb64_keyid(dir, kp, lenp) - int dir, *lenp; - unsigned char *kp; -{ - return(fb64_keyid(dir, kp, lenp, &fb[OFB])); -} - - int -fb64_keyid(dir, kp, lenp, fbp) - int dir, *lenp; - unsigned char *kp; - struct fb *fbp; -{ - register int state = fbp->state[dir-1]; - - if (*lenp != 1 || (*kp != '\0')) { - *lenp = 0; - return(state); - } - - if (state == FAILED) - state = IN_PROGRESS; - - state &= ~NO_KEYID; - - return(fbp->state[dir-1] = state); -} - - void -fb64_printsub(data, cnt, buf, buflen, type) - unsigned char *data, *buf, *type; - int cnt, buflen; -{ - char lbuf[32]; - register int i; - char *cp; - - buf[buflen-1] = '\0'; /* make sure it's NULL terminated */ - buflen -= 1; - - switch(data[2]) { - case FB64_IV: - sprintf(lbuf, "%s_IV", type); - cp = lbuf; - goto common; - - case FB64_IV_OK: - sprintf(lbuf, "%s_IV_OK", type); - cp = lbuf; - goto common; - - case FB64_IV_BAD: - sprintf(lbuf, "%s_IV_BAD", type); - cp = lbuf; - goto common; - - default: - sprintf(lbuf, " %d (unknown)", data[2]); - cp = lbuf; - common: - for (; (buflen > 0) && (*buf = *cp++); buf++) - buflen--; - for (i = 3; i < cnt; i++) { - sprintf(lbuf, " %d", data[i]); - for (cp = lbuf; (buflen > 0) && (*buf = *cp++); buf++) - buflen--; - } - break; - } -} - - void -cfb64_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - fb64_printsub(data, cnt, buf, buflen, "CFB64"); -} - - void -ofb64_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - fb64_printsub(data, cnt, buf, buflen, "OFB64"); -} - - void -fb64_stream_iv(seed, stp) - Block seed; - register struct stinfo *stp; -{ - - memmove((void *)stp->str_iv, (void *)seed, sizeof(Block)); - memmove((void *)stp->str_output, (void *)seed, sizeof(Block)); - - des_key_sched((Block *)stp->str_ikey, stp->str_sched); - - stp->str_index = sizeof(Block); -} - - void -fb64_stream_key(key, stp) - Block key; - register struct stinfo *stp; -{ - memmove((void *)stp->str_ikey, (void *)key, sizeof(Block)); - des_key_sched((Block *)key, stp->str_sched); - - memmove((void *)stp->str_output, (void *)stp->str_iv, sizeof(Block)); - - stp->str_index = sizeof(Block); -} - -/* - * DES 64 bit Cipher Feedback - * - * key --->+-----+ - * +->| DES |--+ - * | +-----+ | - * | v - * INPUT --(--------->(+)+---> DATA - * | | - * +-------------+ - * - * - * Given: - * iV: Initial vector, 64 bits (8 bytes) long. - * Dn: the nth chunk of 64 bits (8 bytes) of data to encrypt (decrypt). - * On: the nth chunk of 64 bits (8 bytes) of encrypted (decrypted) output. - * - * V0 = DES(iV, key) - * On = Dn ^ Vn - * V(n+1) = DES(On, key) - */ - - void -cfb64_encrypt(s, c) - register unsigned char *s; - int c; -{ - register struct stinfo *stp = &fb[CFB].streams[DIR_ENCRYPT-1]; - register int index; - - index = stp->str_index; - while (c-- > 0) { - if (index == sizeof(Block)) { - Block b; - des_ecb_encrypt((Block *)stp->str_output, (Block *)b, stp->str_sched, 1); - memmove((void *)stp->str_feed, (void *)b, sizeof(Block)); - index = 0; - } - - /* On encryption, we store (feed ^ data) which is cypher */ - *s = stp->str_output[index] = (stp->str_feed[index] ^ *s); - s++; - index++; - } - stp->str_index = index; -} - - int -cfb64_decrypt(data) - int data; -{ - register struct stinfo *stp = &fb[CFB].streams[DIR_DECRYPT-1]; - int index; - - if (data == -1) { - /* - * Back up one byte. It is assumed that we will - * never back up more than one byte. If we do, this - * may or may not work. - */ - if (stp->str_index) - --stp->str_index; - return(0); - } - - index = stp->str_index++; - if (index == sizeof(Block)) { - Block b; - des_ecb_encrypt((Block *)stp->str_output, (Block *)b, stp->str_sched, 1); - memmove((void *)stp->str_feed, (void *)b, sizeof(Block)); - stp->str_index = 1; /* Next time will be 1 */ - index = 0; /* But now use 0 */ - } - - /* On decryption we store (data) which is cypher. */ - stp->str_output[index] = data; - return(data ^ stp->str_feed[index]); -} - -/* - * DES 64 bit Output Feedback - * - * key --->+-----+ - * +->| DES |--+ - * | +-----+ | - * +-----------+ - * v - * INPUT -------->(+) ----> DATA - * - * Given: - * iV: Initial vector, 64 bits (8 bytes) long. - * Dn: the nth chunk of 64 bits (8 bytes) of data to encrypt (decrypt). - * On: the nth chunk of 64 bits (8 bytes) of encrypted (decrypted) output. - * - * V0 = DES(iV, key) - * V(n+1) = DES(Vn, key) - * On = Dn ^ Vn - */ - void -ofb64_encrypt(s, c) - register unsigned char *s; - int c; -{ - register struct stinfo *stp = &fb[OFB].streams[DIR_ENCRYPT-1]; - register int index; - - index = stp->str_index; - while (c-- > 0) { - if (index == sizeof(Block)) { - Block b; - des_ecb_encrypt((Block *)stp->str_feed, (Block *)b, stp->str_sched, 1); - memmove((void *)stp->str_feed, (void *)b, sizeof(Block)); - index = 0; - } - *s++ ^= stp->str_feed[index]; - index++; - } - stp->str_index = index; -} - - int -ofb64_decrypt(data) - int data; -{ - register struct stinfo *stp = &fb[OFB].streams[DIR_DECRYPT-1]; - int index; - - if (data == -1) { - /* - * Back up one byte. It is assumed that we will - * never back up more than one byte. If we do, this - * may or may not work. - */ - if (stp->str_index) - --stp->str_index; - return(0); - } - - index = stp->str_index++; - if (index == sizeof(Block)) { - Block b; - des_ecb_encrypt((Block *)stp->str_feed, (Block *)b, stp->str_sched, 1); - memmove((void *)stp->str_feed, (void *)b, sizeof(Block)); - stp->str_index = 1; /* Next time will be 1 */ - index = 0; /* But now use 0 */ - } - - return(data ^ stp->str_feed[index]); -} -# endif /* DES_ENCRYPTION */ -# endif /* AUTHENTICATION */ -#endif /* ENCRYPTION */ diff --git a/eBones/lib/libtelnet/encrypt.c b/eBones/lib/libtelnet/encrypt.c deleted file mode 100644 index 41dd5cc71044f..0000000000000 --- a/eBones/lib/libtelnet/encrypt.c +++ /dev/null @@ -1,1016 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)encrypt.c 8.2 (Berkeley) 5/30/95"; -#endif /* not lint */ - -/* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America is assumed - * to require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ - -#ifdef ENCRYPTION - -#define ENCRYPT_NAMES -#include <stdio.h> -#include <arpa/telnet.h> - -#include "encrypt.h" -#include "misc.h" - -#ifdef __STDC__ -#include <stdlib.h> -#endif -#ifdef NO_STRING_H -#include <strings.h> -#else -#include <string.h> -#endif - -/* - * These functions pointers point to the current routines - * for encrypting and decrypting data. - */ -void (*encrypt_output) P((unsigned char *, int)); -int (*decrypt_input) P((int)); - -int EncryptType(char *type, char *mode); -int EncryptStart(char *mode); -int EncryptStop(char *mode); -int EncryptStartInput(void); -int EncryptStartOutput(void); -int EncryptStopInput(void); -int EncryptStopOutput(void); - -int Ambiguous(char **s); -int isprefix(char *s1, char *s2); -char **genget(char *name, char **table, int stlen); - -int encrypt_debug_mode = 0; -static int decrypt_mode = 0; -static int encrypt_mode = 0; -static int encrypt_verbose = 0; -static int autoencrypt = 0; -static int autodecrypt = 0; -static int havesessionkey = 0; -static int Server = 0; -static char *Name = "Noname"; - -#define typemask(x) ((x) > 0 ? 1 << ((x)-1) : 0) - -static long i_support_encrypt = typemask(ENCTYPE_DES_CFB64) - | typemask(ENCTYPE_DES_OFB64); -static long i_support_decrypt = typemask(ENCTYPE_DES_CFB64) - | typemask(ENCTYPE_DES_OFB64); -static long i_wont_support_encrypt = 0; -static long i_wont_support_decrypt = 0; -#define I_SUPPORT_ENCRYPT (i_support_encrypt & ~i_wont_support_encrypt) -#define I_SUPPORT_DECRYPT (i_support_decrypt & ~i_wont_support_decrypt) - -static long remote_supports_encrypt = 0; -static long remote_supports_decrypt = 0; - -static Encryptions encryptions[] = { -#ifdef DES_ENCRYPTION - { "DES_CFB64", ENCTYPE_DES_CFB64, - cfb64_encrypt, - cfb64_decrypt, - cfb64_init, - cfb64_start, - cfb64_is, - cfb64_reply, - cfb64_session, - cfb64_keyid, - cfb64_printsub }, - { "DES_OFB64", ENCTYPE_DES_OFB64, - ofb64_encrypt, - ofb64_decrypt, - ofb64_init, - ofb64_start, - ofb64_is, - ofb64_reply, - ofb64_session, - ofb64_keyid, - ofb64_printsub }, -#endif /* DES_ENCRYPTION */ - { 0, }, -}; - -static unsigned char str_send[64] = { IAC, SB, TELOPT_ENCRYPT, - ENCRYPT_SUPPORT }; -static unsigned char str_suplen = 0; -static unsigned char str_start[72] = { IAC, SB, TELOPT_ENCRYPT }; -static unsigned char str_end[] = { IAC, SB, TELOPT_ENCRYPT, 0, IAC, SE }; - - Encryptions * -findencryption(type) - int type; -{ - Encryptions *ep = encryptions; - - if (!(I_SUPPORT_ENCRYPT & remote_supports_decrypt & typemask(type))) - return(0); - while (ep->type && ep->type != type) - ++ep; - return(ep->type ? ep : 0); -} - - Encryptions * -finddecryption(type) - int type; -{ - Encryptions *ep = encryptions; - - if (!(I_SUPPORT_DECRYPT & remote_supports_encrypt & typemask(type))) - return(0); - while (ep->type && ep->type != type) - ++ep; - return(ep->type ? ep : 0); -} - -#define MAXKEYLEN 64 - -static struct key_info { - unsigned char keyid[MAXKEYLEN]; - int keylen; - int dir; - int *modep; - Encryptions *(*getcrypt)(); -} ki[2] = { - { { 0 }, 0, DIR_ENCRYPT, &encrypt_mode, findencryption }, - { { 0 }, 0, DIR_DECRYPT, &decrypt_mode, finddecryption }, -}; - -static void encrypt_keyid(struct key_info *kp, unsigned char *keyid, int len); - - void -encrypt_init(name, server) - char *name; - int server; -{ - Encryptions *ep = encryptions; - - Name = name; - Server = server; - i_support_encrypt = i_support_decrypt = 0; - remote_supports_encrypt = remote_supports_decrypt = 0; - encrypt_mode = 0; - decrypt_mode = 0; - encrypt_output = 0; - decrypt_input = 0; -#ifdef notdef - encrypt_verbose = !server; -#endif - - str_suplen = 4; - - while (ep->type) { - if (encrypt_debug_mode) - printf(">>>%s: I will support %s\r\n", - Name, ENCTYPE_NAME(ep->type)); - i_support_encrypt |= typemask(ep->type); - i_support_decrypt |= typemask(ep->type); - if ((i_wont_support_decrypt & typemask(ep->type)) == 0) - if ((str_send[str_suplen++] = ep->type) == IAC) - str_send[str_suplen++] = IAC; - if (ep->init) - (*ep->init)(Server); - ++ep; - } - str_send[str_suplen++] = IAC; - str_send[str_suplen++] = SE; -} - - void -encrypt_list_types() -{ - Encryptions *ep = encryptions; - - printf("Valid encryption types:\n"); - while (ep->type) { - printf("\t%s (%d)\r\n", ENCTYPE_NAME(ep->type), ep->type); - ++ep; - } -} - - int -EncryptEnable(type, mode) - char *type, *mode; -{ - if (isprefix(type, "help") || isprefix(type, "?")) { - printf("Usage: encrypt enable <type> [input|output]\n"); - encrypt_list_types(); - return(0); - } - if (EncryptType(type, mode)) - return(EncryptStart(mode)); - return(0); -} - - int -EncryptDisable(type, mode) - char *type, *mode; -{ - register Encryptions *ep; - int ret = 0; - - if (isprefix(type, "help") || isprefix(type, "?")) { - printf("Usage: encrypt disable <type> [input|output]\n"); - encrypt_list_types(); - } else if ((ep = (Encryptions *)genget(type, (char **)encryptions, - sizeof(Encryptions))) == 0) { - printf("%s: invalid encryption type\n", type); - } else if (Ambiguous((char **)ep)) { - printf("Ambiguous type '%s'\n", type); - } else { - if ((mode == 0) || (isprefix(mode, "input") ? 1 : 0)) { - if (decrypt_mode == ep->type) - EncryptStopInput(); - i_wont_support_decrypt |= typemask(ep->type); - ret = 1; - } - if ((mode == 0) || (isprefix(mode, "output"))) { - if (encrypt_mode == ep->type) - EncryptStopOutput(); - i_wont_support_encrypt |= typemask(ep->type); - ret = 1; - } - if (ret == 0) - printf("%s: invalid encryption mode\n", mode); - } - return(ret); -} - - int -EncryptType(type, mode) - char *type; - char *mode; -{ - register Encryptions *ep; - int ret = 0; - - if (isprefix(type, "help") || isprefix(type, "?")) { - printf("Usage: encrypt type <type> [input|output]\n"); - encrypt_list_types(); - } else if ((ep = (Encryptions *)genget(type, (char **)encryptions, - sizeof(Encryptions))) == 0) { - printf("%s: invalid encryption type\n", type); - } else if (Ambiguous((char **)ep)) { - printf("Ambiguous type '%s'\n", type); - } else { - if ((mode == 0) || isprefix(mode, "input")) { - decrypt_mode = ep->type; - i_wont_support_decrypt &= ~typemask(ep->type); - ret = 1; - } - if ((mode == 0) || isprefix(mode, "output")) { - encrypt_mode = ep->type; - i_wont_support_encrypt &= ~typemask(ep->type); - ret = 1; - } - if (ret == 0) - printf("%s: invalid encryption mode\n", mode); - } - return(ret); -} - - int -EncryptStart(mode) - char *mode; -{ - register int ret = 0; - if (mode) { - if (isprefix(mode, "input")) - return(EncryptStartInput()); - if (isprefix(mode, "output")) - return(EncryptStartOutput()); - if (isprefix(mode, "help") || isprefix(mode, "?")) { - printf("Usage: encrypt start [input|output]\n"); - return(0); - } - printf("%s: invalid encryption mode 'encrypt start ?' for help\n", mode); - return(0); - } - ret += EncryptStartInput(); - ret += EncryptStartOutput(); - return(ret); -} - - int -EncryptStartInput() -{ - if (decrypt_mode) { - encrypt_send_request_start(); - return(1); - } - printf("No previous decryption mode, decryption not enabled\r\n"); - return(0); -} - - int -EncryptStartOutput() -{ - if (encrypt_mode) { - encrypt_start_output(encrypt_mode); - return(1); - } - printf("No previous encryption mode, encryption not enabled\r\n"); - return(0); -} - - int -EncryptStop(mode) - char *mode; -{ - int ret = 0; - if (mode) { - if (isprefix(mode, "input")) - return(EncryptStopInput()); - if (isprefix(mode, "output")) - return(EncryptStopOutput()); - if (isprefix(mode, "help") || isprefix(mode, "?")) { - printf("Usage: encrypt stop [input|output]\n"); - return(0); - } - printf("%s: invalid encryption mode 'encrypt stop ?' for help\n", mode); - return(0); - } - ret += EncryptStopInput(); - ret += EncryptStopOutput(); - return(ret); -} - - int -EncryptStopInput() -{ - encrypt_send_request_end(); - return(1); -} - - int -EncryptStopOutput() -{ - encrypt_send_end(); - return(1); -} - - void -encrypt_display() -{ - if (encrypt_output) - printf("Currently encrypting output with %s\r\n", - ENCTYPE_NAME(encrypt_mode)); - if (decrypt_input) - printf("Currently decrypting input with %s\r\n", - ENCTYPE_NAME(decrypt_mode)); -} - - int -EncryptStatus() -{ - if (encrypt_output) - printf("Currently encrypting output with %s\r\n", - ENCTYPE_NAME(encrypt_mode)); - else if (encrypt_mode) { - printf("Currently output is clear text.\r\n"); - printf("Last encryption mode was %s\r\n", - ENCTYPE_NAME(encrypt_mode)); - } - if (decrypt_input) { - printf("Currently decrypting input with %s\r\n", - ENCTYPE_NAME(decrypt_mode)); - } else if (decrypt_mode) { - printf("Currently input is clear text.\r\n"); - printf("Last decryption mode was %s\r\n", - ENCTYPE_NAME(decrypt_mode)); - } - return 1; -} - - void -encrypt_send_support() -{ - if (str_suplen) { - /* - * If the user has requested that decryption start - * immediatly, then send a "REQUEST START" before - * we negotiate the type. - */ - if (!Server && autodecrypt) - encrypt_send_request_start(); - net_write(str_send, str_suplen); - printsub('>', &str_send[2], str_suplen - 2); - str_suplen = 0; - } -} - - int -EncryptDebug(on) - int on; -{ - if (on < 0) - encrypt_debug_mode ^= 1; - else - encrypt_debug_mode = on; - printf("Encryption debugging %s\r\n", - encrypt_debug_mode ? "enabled" : "disabled"); - return(1); -} - - int -EncryptVerbose(on) - int on; -{ - if (on < 0) - encrypt_verbose ^= 1; - else - encrypt_verbose = on; - printf("Encryption %s verbose\r\n", - encrypt_verbose ? "is" : "is not"); - return(1); -} - - int -EncryptAutoEnc(on) - int on; -{ - encrypt_auto(on); - printf("Automatic encryption of output is %s\r\n", - autoencrypt ? "enabled" : "disabled"); - return(1); -} - - int -EncryptAutoDec(on) - int on; -{ - decrypt_auto(on); - printf("Automatic decryption of input is %s\r\n", - autodecrypt ? "enabled" : "disabled"); - return(1); -} - -/* - * Called when ENCRYPT SUPPORT is received. - */ - void -encrypt_support(typelist, cnt) - unsigned char *typelist; - int cnt; -{ - register int type, use_type = 0; - Encryptions *ep; - - /* - * Forget anything the other side has previously told us. - */ - remote_supports_decrypt = 0; - - while (cnt-- > 0) { - type = *typelist++; - if (encrypt_debug_mode) - printf(">>>%s: He is supporting %s (%d)\r\n", - Name, - ENCTYPE_NAME(type), type); - if ((type < ENCTYPE_CNT) && - (I_SUPPORT_ENCRYPT & typemask(type))) { - remote_supports_decrypt |= typemask(type); - if (use_type == 0) - use_type = type; - } - } - if (use_type) { - ep = findencryption(use_type); - if (!ep) - return; - type = ep->start ? (*ep->start)(DIR_ENCRYPT, Server) : 0; - if (encrypt_debug_mode) - printf(">>>%s: (*ep->start)() returned %d\r\n", - Name, type); - if (type < 0) - return; - encrypt_mode = use_type; - if (type == 0) - encrypt_start_output(use_type); - } -} - - void -encrypt_is(data, cnt) - unsigned char *data; - int cnt; -{ - Encryptions *ep; - register int type, ret; - - if (--cnt < 0) - return; - type = *data++; - if (type < ENCTYPE_CNT) - remote_supports_encrypt |= typemask(type); - if (!(ep = finddecryption(type))) { - if (encrypt_debug_mode) - printf(">>>%s: Can't find type %s (%d) for initial negotiation\r\n", - Name, - ENCTYPE_NAME_OK(type) - ? ENCTYPE_NAME(type) : "(unknown)", - type); - return; - } - if (!ep->is) { - if (encrypt_debug_mode) - printf(">>>%s: No initial negotiation needed for type %s (%d)\r\n", - Name, - ENCTYPE_NAME_OK(type) - ? ENCTYPE_NAME(type) : "(unknown)", - type); - ret = 0; - } else { - ret = (*ep->is)(data, cnt); - if (encrypt_debug_mode) - printf("(*ep->is)(%p, %d) returned %s(%d)\n", data, cnt, - (ret < 0) ? "FAIL " : - (ret == 0) ? "SUCCESS " : "MORE_TO_DO ", ret); - } - if (ret < 0) { - autodecrypt = 0; - } else { - decrypt_mode = type; - if (ret == 0 && autodecrypt) - encrypt_send_request_start(); - } -} - - void -encrypt_reply(data, cnt) - unsigned char *data; - int cnt; -{ - Encryptions *ep; - register int ret, type; - - if (--cnt < 0) - return; - type = *data++; - if (!(ep = findencryption(type))) { - if (encrypt_debug_mode) - printf(">>>%s: Can't find type %s (%d) for initial negotiation\r\n", - Name, - ENCTYPE_NAME_OK(type) - ? ENCTYPE_NAME(type) : "(unknown)", - type); - return; - } - if (!ep->reply) { - if (encrypt_debug_mode) - printf(">>>%s: No initial negotiation needed for type %s (%d)\r\n", - Name, - ENCTYPE_NAME_OK(type) - ? ENCTYPE_NAME(type) : "(unknown)", - type); - ret = 0; - } else { - ret = (*ep->reply)(data, cnt); - if (encrypt_debug_mode) - printf("(*ep->reply)(%p, %d) returned %s(%d)\n", - data, cnt, - (ret < 0) ? "FAIL " : - (ret == 0) ? "SUCCESS " : "MORE_TO_DO ", ret); - } - if (encrypt_debug_mode) - printf(">>>%s: encrypt_reply returned %d\n", Name, ret); - if (ret < 0) { - autoencrypt = 0; - } else { - encrypt_mode = type; - if (ret == 0 && autoencrypt) - encrypt_start_output(type); - } -} - -/* - * Called when a ENCRYPT START command is received. - */ - void -encrypt_start(data, cnt) - unsigned char *data; - int cnt; -{ - Encryptions *ep; - - if (!decrypt_mode) { - /* - * Something is wrong. We should not get a START - * command without having already picked our - * decryption scheme. Send a REQUEST-END to - * attempt to clear the channel... - */ - printf("%s: Warning, Cannot decrypt input stream!!!\r\n", Name); - encrypt_send_request_end(); - return; - } - - if ((ep = finddecryption(decrypt_mode))) { - decrypt_input = ep->input; - if (encrypt_verbose) - printf("[ Input is now decrypted with type %s ]\r\n", - ENCTYPE_NAME(decrypt_mode)); - if (encrypt_debug_mode) - printf(">>>%s: Start to decrypt input with type %s\r\n", - Name, ENCTYPE_NAME(decrypt_mode)); - } else { - printf("%s: Warning, Cannot decrypt type %s (%d)!!!\r\n", - Name, - ENCTYPE_NAME_OK(decrypt_mode) - ? ENCTYPE_NAME(decrypt_mode) - : "(unknown)", - decrypt_mode); - encrypt_send_request_end(); - } -} - - void -encrypt_session_key(key, server) - Session_Key *key; - int server; -{ - Encryptions *ep = encryptions; - - havesessionkey = 1; - - while (ep->type) { - if (ep->session) - (*ep->session)(key, server); -#ifdef notdef - if (!encrypt_output && autoencrypt && !server) - encrypt_start_output(ep->type); - if (!decrypt_input && autodecrypt && !server) - encrypt_send_request_start(); -#endif - ++ep; - } -} - -/* - * Called when ENCRYPT END is received. - */ - void -encrypt_end() -{ - decrypt_input = 0; - if (encrypt_debug_mode) - printf(">>>%s: Input is back to clear text\r\n", Name); - if (encrypt_verbose) - printf("[ Input is now clear text ]\r\n"); -} - -/* - * Called when ENCRYPT REQUEST-END is received. - */ - void -encrypt_request_end() -{ - encrypt_send_end(); -} - -/* - * Called when ENCRYPT REQUEST-START is received. If we receive - * this before a type is picked, then that indicates that the - * other side wants us to start encrypting data as soon as we - * can. - */ - void -encrypt_request_start(data, cnt) - unsigned char *data; - int cnt; -{ - if (encrypt_mode == 0) { - if (Server) - autoencrypt = 1; - return; - } - encrypt_start_output(encrypt_mode); -} - -static unsigned char str_keyid[(MAXKEYLEN*2)+5] = { IAC, SB, TELOPT_ENCRYPT }; - - void -encrypt_enc_keyid(keyid, len) - unsigned char *keyid; - int len; -{ - encrypt_keyid(&ki[1], keyid, len); -} - - void -encrypt_dec_keyid(keyid, len) - unsigned char *keyid; - int len; -{ - encrypt_keyid(&ki[0], keyid, len); -} - - void -encrypt_keyid(kp, keyid, len) - struct key_info *kp; - unsigned char *keyid; - int len; -{ - Encryptions *ep; - int dir = kp->dir; - register int ret = 0; - - if (!(ep = (*kp->getcrypt)(*kp->modep))) { - if (len == 0) - return; - kp->keylen = 0; - } else if (len == 0) { - /* - * Empty option, indicates a failure. - */ - if (kp->keylen == 0) - return; - kp->keylen = 0; - if (ep->keyid) - (void)(*ep->keyid)(dir, kp->keyid, &kp->keylen); - - } else if ((len != kp->keylen) || - (memcmp(keyid, kp->keyid, len) != 0)) { - /* - * Length or contents are different - */ - kp->keylen = len; - memmove(kp->keyid, keyid, len); - if (ep->keyid) - (void)(*ep->keyid)(dir, kp->keyid, &kp->keylen); - } else { - if (ep->keyid) - ret = (*ep->keyid)(dir, kp->keyid, &kp->keylen); - if ((ret == 0) && (dir == DIR_ENCRYPT) && autoencrypt) - encrypt_start_output(*kp->modep); - return; - } - - encrypt_send_keyid(dir, kp->keyid, kp->keylen, 0); -} - - void -encrypt_send_keyid(dir, keyid, keylen, saveit) - int dir; - unsigned char *keyid; - int keylen; - int saveit; -{ - unsigned char *strp; - - str_keyid[3] = (dir == DIR_ENCRYPT) - ? ENCRYPT_ENC_KEYID : ENCRYPT_DEC_KEYID; - if (saveit) { - struct key_info *kp = &ki[(dir == DIR_ENCRYPT) ? 0 : 1]; - memmove(kp->keyid, keyid, keylen); - kp->keylen = keylen; - } - - for (strp = &str_keyid[4]; keylen > 0; --keylen) { - if ((*strp++ = *keyid++) == IAC) - *strp++ = IAC; - } - *strp++ = IAC; - *strp++ = SE; - net_write(str_keyid, strp - str_keyid); - printsub('>', &str_keyid[2], strp - str_keyid - 2); -} - - void -encrypt_auto(on) - int on; -{ - if (on < 0) - autoencrypt ^= 1; - else - autoencrypt = on ? 1 : 0; -} - - void -decrypt_auto(on) - int on; -{ - if (on < 0) - autodecrypt ^= 1; - else - autodecrypt = on ? 1 : 0; -} - - void -encrypt_start_output(type) - int type; -{ - Encryptions *ep; - register unsigned char *p; - register int i; - - if (!(ep = findencryption(type))) { - if (encrypt_debug_mode) { - printf(">>>%s: Can't encrypt with type %s (%d)\r\n", - Name, - ENCTYPE_NAME_OK(type) - ? ENCTYPE_NAME(type) : "(unknown)", - type); - } - return; - } - if (ep->start) { - i = (*ep->start)(DIR_ENCRYPT, Server); - if (encrypt_debug_mode) { - printf(">>>%s: Encrypt start: %s (%d) %s\r\n", - Name, - (i < 0) ? "failed" : - "initial negotiation in progress", - i, ENCTYPE_NAME(type)); - } - if (i) - return; - } - p = str_start + 3; - *p++ = ENCRYPT_START; - for (i = 0; i < ki[0].keylen; ++i) { - if ((*p++ = ki[0].keyid[i]) == IAC) - *p++ = IAC; - } - *p++ = IAC; - *p++ = SE; - net_write(str_start, p - str_start); - net_encrypt(); - printsub('>', &str_start[2], p - &str_start[2]); - /* - * If we are already encrypting in some mode, then - * encrypt the ring (which includes our request) in - * the old mode, mark it all as "clear text" and then - * switch to the new mode. - */ - encrypt_output = ep->output; - encrypt_mode = type; - if (encrypt_debug_mode) - printf(">>>%s: Started to encrypt output with type %s\r\n", - Name, ENCTYPE_NAME(type)); - if (encrypt_verbose) - printf("[ Output is now encrypted with type %s ]\r\n", - ENCTYPE_NAME(type)); -} - - void -encrypt_send_end() -{ - if (!encrypt_output) - return; - - str_end[3] = ENCRYPT_END; - net_write(str_end, sizeof(str_end)); - net_encrypt(); - printsub('>', &str_end[2], sizeof(str_end) - 2); - /* - * Encrypt the output buffer now because it will not be done by - * netflush... - */ - encrypt_output = 0; - if (encrypt_debug_mode) - printf(">>>%s: Output is back to clear text\r\n", Name); - if (encrypt_verbose) - printf("[ Output is now clear text ]\r\n"); -} - - void -encrypt_send_request_start() -{ - register unsigned char *p; - register int i; - - p = &str_start[3]; - *p++ = ENCRYPT_REQSTART; - for (i = 0; i < ki[1].keylen; ++i) { - if ((*p++ = ki[1].keyid[i]) == IAC) - *p++ = IAC; - } - *p++ = IAC; - *p++ = SE; - net_write(str_start, p - str_start); - printsub('>', &str_start[2], p - &str_start[2]); - if (encrypt_debug_mode) - printf(">>>%s: Request input to be encrypted\r\n", Name); -} - - void -encrypt_send_request_end() -{ - str_end[3] = ENCRYPT_REQEND; - net_write(str_end, sizeof(str_end)); - printsub('>', &str_end[2], sizeof(str_end) - 2); - - if (encrypt_debug_mode) - printf(">>>%s: Request input to be clear text\r\n", Name); -} - - void -encrypt_wait() -{ - if (encrypt_debug_mode) - printf(">>>%s: in encrypt_wait\r\n", Name); - if (!havesessionkey || !(I_SUPPORT_ENCRYPT & remote_supports_decrypt)) - return; - while (autoencrypt && !encrypt_output) - if (telnet_spin()) - return; -} - - void -encrypt_debug(mode) - int mode; -{ - encrypt_debug_mode = mode; -} - - void -encrypt_gen_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - char tbuf[16], *cp; - - cnt -= 2; - data += 2; - buf[buflen-1] = '\0'; - buf[buflen-2] = '*'; - buflen -= 2;; - for (; cnt > 0; cnt--, data++) { - sprintf(tbuf, " %d", *data); - for (cp = tbuf; *cp && buflen > 0; --buflen) - *buf++ = *cp++; - if (buflen <= 0) - return; - } - *buf = '\0'; -} - - void -encrypt_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - Encryptions *ep; - register int type = data[1]; - - for (ep = encryptions; ep->type && ep->type != type; ep++) - ; - - if (ep->printsub) - (*ep->printsub)(data, cnt, buf, buflen); - else - encrypt_gen_printsub(data, cnt, buf, buflen); -} -#endif /* ENCRYPTION */ diff --git a/eBones/lib/libtelnet/encrypt.h b/eBones/lib/libtelnet/encrypt.h deleted file mode 100644 index 1c942dc6e7e88..0000000000000 --- a/eBones/lib/libtelnet/encrypt.h +++ /dev/null @@ -1,108 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)encrypt.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America is assumed - * to require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ - -#ifdef ENCRYPTION -# ifndef __ENCRYPTION__ -# define __ENCRYPTION__ - -#define DIR_DECRYPT 1 -#define DIR_ENCRYPT 2 - -typedef unsigned char Block[8]; -typedef unsigned char *BlockT; -typedef struct { Block __; } Schedule[16]; - -#define VALIDKEY(key) ( key[0] | key[1] | key[2] | key[3] | \ - key[4] | key[5] | key[6] | key[7]) - -#define SAMEKEY(k1, k2) (!bcmp((void *)k1, (void *)k2, sizeof(Block))) - -typedef struct { - short type; - int length; - unsigned char *data; -} Session_Key; - -# if !defined(P) -# ifdef __STDC__ -# define P(x) x -# else -# define P(x) () -# endif -# endif - -typedef struct { - char *name; - int type; - void (*output) P((unsigned char *, int)); - int (*input) P((int)); - void (*init) P((int)); - int (*start) P((int, int)); - int (*is) P((unsigned char *, int)); - int (*reply) P((unsigned char *, int)); - void (*session) P((Session_Key *, int)); - int (*keyid) P((int, unsigned char *, int *)); - void (*printsub) P((unsigned char *, int, unsigned char *, int)); -} Encryptions; - -#define SK_DES 1 /* Matched Kerberos v5 KEYTYPE_DES */ - -#include "enc-proto.h" - -extern int encrypt_debug_mode; -extern int (*decrypt_input) P((int)); -extern void (*encrypt_output) P((unsigned char *, int)); -# endif /* __ENCRYPTION__ */ -#endif /* ENCRYPTION */ diff --git a/eBones/lib/libtelnet/getent.c b/eBones/lib/libtelnet/getent.c deleted file mode 100644 index 05626f11d4135..0000000000000 --- a/eBones/lib/libtelnet/getent.c +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)getent.c 8.2 (Berkeley) 12/15/93"; -#endif /* not lint */ - -static char *area; - -/*ARGSUSED*/ -getent(cp, name) -char *cp, *name; -{ -#ifdef HAS_CGETENT - char *dba[2]; - - dba[0] = "/etc/gettytab"; - dba[1] = 0; - return((cgetent(&area, dba, name) == 0) ? 1 : 0); -#else - return(0); -#endif -} - -#ifndef SOLARIS -/*ARGSUSED*/ -char * -getstr(id, cpp) -char *id, **cpp; -{ -# ifdef HAS_CGETENT - char *answer; - return((cgetstr(area, id, &answer) > 0) ? answer : 0); -# else - return(0); -# endif -} -#endif diff --git a/eBones/lib/libtelnet/kerberos.c b/eBones/lib/libtelnet/kerberos.c deleted file mode 100644 index d87659729910f..0000000000000 --- a/eBones/lib/libtelnet/kerberos.c +++ /dev/null @@ -1,550 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)kerberos.c 8.3 (Berkeley) 5/30/95"; -#endif /* not lint */ - -/* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America is assumed - * to require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ - -#ifdef KRB4 -#include <sys/types.h> -#include <arpa/telnet.h> -#include <stdio.h> -#include <des.h> /* BSD wont include this in krb.h, so we do it here */ -#include <krb.h> -#ifdef __STDC__ -#include <stdlib.h> -#endif -#ifdef NO_STRING_H -#include <strings.h> -#else -#include <string.h> -#endif - -#include "encrypt.h" -#include "auth.h" -#include "misc.h" - -int kerberos4_cksum P((unsigned char *, int)); -int kuserok P((AUTH_DAT *, char *)); - -extern auth_debug_mode; - -static unsigned char str_data[1024] = { IAC, SB, TELOPT_AUTHENTICATION, 0, - AUTHTYPE_KERBEROS_V4, }; - -#define KRB_AUTH 0 /* Authentication data follows */ -#define KRB_REJECT 1 /* Rejected (reason might follow) */ -#define KRB_ACCEPT 2 /* Accepted */ -#define KRB_CHALLENGE 3 /* Challenge for mutual auth. */ -#define KRB_RESPONSE 4 /* Response for mutual auth. */ - -#define KRB_SERVICE_NAME "rcmd" - -static KTEXT_ST auth; -static char name[ANAME_SZ]; -static AUTH_DAT adat = { 0 }; -#ifdef ENCRYPTION -static Block session_key = { 0 }; -static des_key_schedule sched; -static Block challenge = { 0 }; -#endif /* ENCRYPTION */ - - static int -Data(ap, type, d, c) - Authenticator *ap; - int type; - void *d; - int c; -{ - unsigned char *p = str_data + 4; - unsigned char *cd = (unsigned char *)d; - - if (c == -1) - c = strlen((char *)cd); - - if (auth_debug_mode) { - printf("%s:%d: [%d] (%d)", - str_data[3] == TELQUAL_IS ? ">>>IS" : ">>>REPLY", - str_data[3], - type, c); - printd(d, c); - printf("\r\n"); - } - *p++ = ap->type; - *p++ = ap->way; - *p++ = type; - while (c-- > 0) { - if ((*p++ = *cd++) == IAC) - *p++ = IAC; - } - *p++ = IAC; - *p++ = SE; - if (str_data[3] == TELQUAL_IS) - printsub('>', &str_data[2], p - (&str_data[2])); - return(net_write(str_data, p - str_data)); -} - - int -kerberos4_init(ap, server) - Authenticator *ap; - int server; -{ - FILE *fp; - - if (server) { - str_data[3] = TELQUAL_REPLY; - if ((fp = fopen(KEYFILE, "r")) == NULL) - return(0); - fclose(fp); - } else { - str_data[3] = TELQUAL_IS; - } - return(1); -} - -char dst_realm_buf[REALM_SZ], *dest_realm = NULL; -int dst_realm_sz = REALM_SZ; - - int -kerberos4_send(ap) - Authenticator *ap; -{ - KTEXT_ST auth; - char instance[INST_SZ]; - char *realm; - char *krb_realmofhost(); - char *krb_get_phost(); - CREDENTIALS cred; - int r; - - printf("[ Trying KERBEROS4 ... ]\n"); - if (!UserNameRequested) { - if (auth_debug_mode) { - printf("Kerberos V4: no user name supplied\r\n"); - } - return(0); - } - - memset(instance, 0, sizeof(instance)); - - if ((realm = krb_get_phost(RemoteHostName))) - strncpy(instance, realm, sizeof(instance)); - - instance[sizeof(instance)-1] = '\0'; - - realm = dest_realm ? dest_realm : krb_realmofhost(RemoteHostName); - - if (!realm) { - printf("Kerberos V4: no realm for %s\r\n", RemoteHostName); - return(0); - } - if ((r = krb_mk_req(&auth, KRB_SERVICE_NAME, instance, realm, 0L))) { - printf("mk_req failed: %s\r\n", krb_err_txt[r]); - return(0); - } - if ((r = krb_get_cred(KRB_SERVICE_NAME, instance, realm, &cred))) { - printf("get_cred failed: %s\r\n", krb_err_txt[r]); - return(0); - } - if (!auth_sendname(UserNameRequested, strlen(UserNameRequested))) { - if (auth_debug_mode) - printf("Not enough room for user name\r\n"); - return(0); - } - if (auth_debug_mode) - printf("Sent %d bytes of authentication data\r\n", auth.length); - if (!Data(ap, KRB_AUTH, (void *)auth.dat, auth.length)) { - if (auth_debug_mode) - printf("Not enough room for authentication data\r\n"); - return(0); - } -#ifdef ENCRYPTION - /* - * If we are doing mutual authentication, get set up to send - * the challenge, and verify it when the response comes back. - */ - if ((ap->way & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) { - register int i; - - des_key_sched(&cred.session, sched); - des_init_random_number_generator(&cred.session); - des_new_random_key(&session_key); - des_ecb_encrypt(&session_key, &session_key, sched, 0); - des_ecb_encrypt(&session_key, &challenge, sched, 0); - /* - * Increment the challenge by 1, and encrypt it for - * later comparison. - */ - for (i = 7; i >= 0; --i) { - register int x; - x = (unsigned int)challenge[i] + 1; - challenge[i] = x; /* ignore overflow */ - if (x < 256) /* if no overflow, all done */ - break; - } - des_ecb_encrypt(&challenge, &challenge, sched, 1); - } -#endif /* ENCRYPTION */ - - if (auth_debug_mode) { - printf("CK: %d:", kerberos4_cksum(auth.dat, auth.length)); - printd(auth.dat, auth.length); - printf("\r\n"); - printf("Sent Kerberos V4 credentials to server\r\n"); - } - return(1); -} - - void -kerberos4_is(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ -#ifdef ENCRYPTION - Session_Key skey; - Block datablock; -#endif /* ENCRYPTION */ - char realm[REALM_SZ]; - char instance[INST_SZ]; - int r; - - if (cnt-- < 1) - return; - switch (*data++) { - case KRB_AUTH: - if (krb_get_lrealm(realm, 1) != KSUCCESS) { - Data(ap, KRB_REJECT, (void *)"No local V4 Realm.", -1); - auth_finished(ap, AUTH_REJECT); - if (auth_debug_mode) - printf("No local realm\r\n"); - return; - } - memmove((void *)auth.dat, (void *)data, auth.length = cnt); - if (auth_debug_mode) { - printf("Got %d bytes of authentication data\r\n", cnt); - printf("CK: %d:", kerberos4_cksum(auth.dat, auth.length)); - printd(auth.dat, auth.length); - printf("\r\n"); - } - instance[0] = '*'; instance[1] = 0; - if ((r = krb_rd_req(&auth, KRB_SERVICE_NAME, - instance, 0, &adat, ""))) { - if (auth_debug_mode) - printf("Kerberos failed him as %s\r\n", name); - Data(ap, KRB_REJECT, (void *)krb_err_txt[r], -1); - auth_finished(ap, AUTH_REJECT); - return; - } -#ifdef ENCRYPTION - memmove((void *)session_key, (void *)adat.session, sizeof(Block)); -#endif /* ENCRYPTION */ - krb_kntoln(&adat, name); - - if (UserNameRequested && !kuserok(&adat, UserNameRequested)) - Data(ap, KRB_ACCEPT, (void *)0, 0); - else - Data(ap, KRB_REJECT, - (void *)"user is not authorized", -1); - auth_finished(ap, AUTH_USER); - break; - - case KRB_CHALLENGE: -#ifndef ENCRYPTION - Data(ap, KRB_RESPONSE, (void *)0, 0); -#else /* ENCRYPTION */ - if (!VALIDKEY(session_key)) { - /* - * We don't have a valid session key, so just - * send back a response with an empty session - * key. - */ - Data(ap, KRB_RESPONSE, (void *)0, 0); - break; - } - - /* - * Initialize the random number generator since it's - * used later on by the encryption routine. - */ - des_init_random_number_generator(&session_key); - des_key_sched(&session_key, sched); - memmove((void *)datablock, (void *)data, sizeof(Block)); - /* - * Take the received encrypted challenge, and encrypt - * it again to get a unique session_key for the - * ENCRYPT option. - */ - des_ecb_encrypt(&datablock, &session_key, sched, 1); - skey.type = SK_DES; - skey.length = 8; - skey.data = session_key; - encrypt_session_key(&skey, 1); - /* - * Now decrypt the received encrypted challenge, - * increment by one, re-encrypt it and send it back. - */ - des_ecb_encrypt(&datablock, &challenge, sched, 0); - for (r = 7; r >= 0; r--) { - register int t; - t = (unsigned int)challenge[r] + 1; - challenge[r] = t; /* ignore overflow */ - if (t < 256) /* if no overflow, all done */ - break; - } - des_ecb_encrypt(&challenge, &challenge, sched, 1); - Data(ap, KRB_RESPONSE, (void *)challenge, sizeof(challenge)); -#endif /* ENCRYPTION */ - break; - - default: - if (auth_debug_mode) - printf("Unknown Kerberos option %d\r\n", data[-1]); - Data(ap, KRB_REJECT, 0, 0); - break; - } -} - - void -kerberos4_reply(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ -#ifdef ENCRYPTION - Session_Key skey; -#endif /* ENCRYPTION */ - - if (cnt-- < 1) - return; - switch (*data++) { - case KRB_REJECT: - if (cnt > 0) { - printf("[ Kerberos V4 refuses authentication because %.*s ]\r\n", - cnt, data); - } else - printf("[ Kerberos V4 refuses authentication ]\r\n"); - auth_send_retry(); - return; - case KRB_ACCEPT: - printf("[ Kerberos V4 accepts you ]\n"); - if ((ap->way & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) { - /* - * Send over the encrypted challenge. - */ -#ifndef ENCRYPTION - Data(ap, KRB_CHALLENGE, (void *)0, 0); -#else /* ENCRYPTION */ - Data(ap, KRB_CHALLENGE, (void *)session_key, - sizeof(session_key)); - des_ecb_encrypt(&session_key, &session_key, sched, 1); - skey.type = SK_DES; - skey.length = 8; - skey.data = session_key; - encrypt_session_key(&skey, 0); -#endif /* ENCRYPTION */ - return; - } - auth_finished(ap, AUTH_USER); - return; - case KRB_RESPONSE: -#ifdef ENCRYPTION - /* - * Verify that the response to the challenge is correct. - */ - if ((cnt != sizeof(Block)) || - (0 != memcmp((void *)data, (void *)challenge, - sizeof(challenge)))) - { -#endif /* ENCRYPTION */ - printf("[ Kerberos V4 challenge failed!!! ]\r\n"); - auth_send_retry(); - return; -#ifdef ENCRYPTION - } - printf("[ Kerberos V4 challenge successful ]\r\n"); - auth_finished(ap, AUTH_USER); -#endif /* ENCRYPTION */ - break; - default: - if (auth_debug_mode) - printf("Unknown Kerberos option %d\r\n", data[-1]); - return; - } -} - - int -kerberos4_status(ap, name, level) - Authenticator *ap; - char *name; - int level; -{ - if (level < AUTH_USER) - return(level); - - if (UserNameRequested && !kuserok(&adat, UserNameRequested)) { - strcpy(name, UserNameRequested); - return(AUTH_VALID); - } else - return(AUTH_USER); -} - -#define BUMP(buf, len) while (*(buf)) {++(buf), --(len);} -#define ADDC(buf, len, c) if ((len) > 0) {*(buf)++ = (c); --(len);} - - void -kerberos4_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - char lbuf[32]; - register int i; - - buf[buflen-1] = '\0'; /* make sure its NULL terminated */ - buflen -= 1; - - switch(data[3]) { - case KRB_REJECT: /* Rejected (reason might follow) */ - strncpy((char *)buf, " REJECT ", buflen); - goto common; - - case KRB_ACCEPT: /* Accepted (name might follow) */ - strncpy((char *)buf, " ACCEPT ", buflen); - common: - BUMP(buf, buflen); - if (cnt <= 4) - break; - ADDC(buf, buflen, '"'); - for (i = 4; i < cnt; i++) - ADDC(buf, buflen, data[i]); - ADDC(buf, buflen, '"'); - ADDC(buf, buflen, '\0'); - break; - - case KRB_AUTH: /* Authentication data follows */ - strncpy((char *)buf, " AUTH", buflen); - goto common2; - - case KRB_CHALLENGE: - strncpy((char *)buf, " CHALLENGE", buflen); - goto common2; - - case KRB_RESPONSE: - strncpy((char *)buf, " RESPONSE", buflen); - goto common2; - - default: - sprintf(lbuf, " %d (unknown)", data[3]); - strncpy((char *)buf, lbuf, buflen); - common2: - BUMP(buf, buflen); - for (i = 4; i < cnt; i++) { - sprintf(lbuf, " %d", data[i]); - strncpy((char *)buf, lbuf, buflen); - BUMP(buf, buflen); - } - break; - } -} - - int -kerberos4_cksum(d, n) - unsigned char *d; - int n; -{ - int ck = 0; - - /* - * A comment is probably needed here for those not - * well versed in the "C" language. Yes, this is - * supposed to be a "switch" with the body of the - * "switch" being a "while" statement. The whole - * purpose of the switch is to allow us to jump into - * the middle of the while() loop, and then not have - * to do any more switch()s. - * - * Some compilers will spit out a warning message - * about the loop not being entered at the top. - */ - switch (n&03) - while (n > 0) { - case 0: - ck ^= (int)*d++ << 24; - --n; - case 3: - ck ^= (int)*d++ << 16; - --n; - case 2: - ck ^= (int)*d++ << 8; - --n; - case 1: - ck ^= (int)*d++; - --n; - } - return(ck); -} -#endif - -#ifdef notdef - -prkey(msg, key) - char *msg; - unsigned char *key; -{ - register int i; - printf("%s:", msg); - for (i = 0; i < 8; i++) - printf(" %3d", key[i]); - printf("\r\n"); -} -#endif diff --git a/eBones/lib/libtelnet/kerberos5.c b/eBones/lib/libtelnet/kerberos5.c deleted file mode 100644 index 69a381aa73ffe..0000000000000 --- a/eBones/lib/libtelnet/kerberos5.c +++ /dev/null @@ -1,764 +0,0 @@ -/* - * $Source: /home/ncvs/src/secure/lib/libtelnet/kerberos5.c,v $ - * $Author: rgrimes $ - * $Id: kerberos5.c,v 1.2 1995/05/30 06:11:54 rgrimes Exp $ - */ - -#if !defined(lint) && !defined(SABER) -static -#ifdef __STDC__ -const -#endif -char rcsid_kerberos5_c[] = "$Id: kerberos5.c,v 1.2 1995/05/30 06:11:54 rgrimes Exp $"; -#endif /* lint */ - -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)kerberos5.c 8.3 (Berkeley) 5/30/95"; -#endif /* not lint */ - -/* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America may - * require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ - - -#ifdef KRB5 -#include <arpa/telnet.h> -#include <stdio.h> -#include <krb5/krb5.h> -#include <krb5/asn1.h> -#include <krb5/crc-32.h> -#include <krb5/los-proto.h> -#include <krb5/ext-proto.h> -#include <com_err.h> -#include <netdb.h> -#include <ctype.h> - -/* kerberos 5 include files (ext-proto.h) will get an appropriate stdlib.h - and string.h/strings.h */ - -#include "encrypt.h" -#include "auth.h" -#include "misc.h" - -extern auth_debug_mode; - -#ifdef FORWARD -int forward_flags = 0; /* Flags get set in telnet/main.c on -f and -F */ - -/* These values need to be the same as those defined in telnet/main.c. */ -/* Either define them in both places, or put in some common header file. */ -#define OPTS_FORWARD_CREDS 0x00000002 -#define OPTS_FORWARDABLE_CREDS 0x00000001 - -void kerberos5_forward(); - -#endif /* FORWARD */ - -static unsigned char str_data[1024] = { IAC, SB, TELOPT_AUTHENTICATION, 0, - AUTHTYPE_KERBEROS_V5, }; -/*static unsigned char str_name[1024] = { IAC, SB, TELOPT_AUTHENTICATION, - TELQUAL_NAME, };*/ - -#define KRB_AUTH 0 /* Authentication data follows */ -#define KRB_REJECT 1 /* Rejected (reason might follow) */ -#define KRB_ACCEPT 2 /* Accepted */ -#define KRB_RESPONSE 3 /* Response for mutual auth. */ - -#ifdef FORWARD -#define KRB_FORWARD 4 /* Forwarded credentials follow */ -#define KRB_FORWARD_ACCEPT 5 /* Forwarded credentials accepted */ -#define KRB_FORWARD_REJECT 6 /* Forwarded credentials rejected */ -#endif /* FORWARD */ - -static krb5_data auth; - /* telnetd gets session key from here */ -static krb5_tkt_authent *authdat = NULL; -/* telnet matches the AP_REQ and AP_REP with this */ -static krb5_authenticator authenticator; - -/* some compilers can't hack void *, so we use the Kerberos krb5_pointer, - which is either void * or char *, depending on the compiler. */ - -#define Voidptr krb5_pointer - -Block session_key; - - static int -Data(ap, type, d, c) - Authenticator *ap; - int type; - Voidptr d; - int c; -{ - unsigned char *p = str_data + 4; - unsigned char *cd = (unsigned char *)d; - - if (c == -1) - c = strlen((char *)cd); - - if (auth_debug_mode) { - printf("%s:%d: [%d] (%d)", - str_data[3] == TELQUAL_IS ? ">>>IS" : ">>>REPLY", - str_data[3], - type, c); - printd(d, c); - printf("\r\n"); - } - *p++ = ap->type; - *p++ = ap->way; - *p++ = type; - while (c-- > 0) { - if ((*p++ = *cd++) == IAC) - *p++ = IAC; - } - *p++ = IAC; - *p++ = SE; - if (str_data[3] == TELQUAL_IS) - printsub('>', &str_data[2], p - &str_data[2]); - return(net_write(str_data, p - str_data)); -} - - int -kerberos5_init(ap, server) - Authenticator *ap; - int server; -{ - if (server) - str_data[3] = TELQUAL_REPLY; - else - str_data[3] = TELQUAL_IS; - krb5_init_ets(); - return(1); -} - - int -kerberos5_send(ap) - Authenticator *ap; -{ - char **realms; - char *name; - char *p1, *p2; - krb5_checksum ksum; - krb5_octet sum[CRC32_CKSUM_LENGTH]; - krb5_principal server; - krb5_error_code r; - krb5_ccache ccache; - krb5_creds creds; /* telnet gets session key from here */ - extern krb5_flags krb5_kdc_default_options; - int ap_opts; - -#ifdef ENCRYPTION - krb5_keyblock *newkey = 0; -#endif /* ENCRYPTION */ - - ksum.checksum_type = CKSUMTYPE_CRC32; - ksum.contents = sum; - ksum.length = sizeof(sum); - memset((Voidptr )sum, 0, sizeof(sum)); - - if (!UserNameRequested) { - if (auth_debug_mode) { - printf("Kerberos V5: no user name supplied\r\n"); - } - return(0); - } - - if (r = krb5_cc_default(&ccache)) { - if (auth_debug_mode) { - printf("Kerberos V5: could not get default ccache\r\n"); - } - return(0); - } - - if ((name = malloc(strlen(RemoteHostName)+1)) == NULL) { - if (auth_debug_mode) - printf("Out of memory for hostname in Kerberos V5\r\n"); - return(0); - } - - if (r = krb5_get_host_realm(RemoteHostName, &realms)) { - if (auth_debug_mode) - printf("Kerberos V5: no realm for %s\r\n", RemoteHostName); - free(name); - return(0); - } - - p1 = RemoteHostName; - p2 = name; - - while (*p2 = *p1++) { - if (isupper(*p2)) - *p2 |= 040; - ++p2; - } - - if (r = krb5_build_principal_ext(&server, - strlen(realms[0]), realms[0], - 4, "host", - p2 - name, name, - 0)) { - if (auth_debug_mode) { - printf("Kerberos V5: failure setting up principal (%s)\r\n", - error_message(r)); - } - free(name); - krb5_free_host_realm(realms); - return(0); - } - - - memset((char *)&creds, 0, sizeof(creds)); - creds.server = server; - - if (r = krb5_cc_get_principal(ccache, &creds.client)) { - if (auth_debug_mode) { - printf("Kerberos V5: failure on principal (%s)\r\n", - error_message(r)); - } - free(name); - krb5_free_principal(server); - krb5_free_host_realm(realms); - return(0); - } - - if (r = krb5_get_credentials(krb5_kdc_default_options, ccache, &creds)) { - if (auth_debug_mode) { - printf("Kerberos V5: failure on credentials(%d)\r\n",r); - } - free(name); - krb5_free_host_realm(realms); - krb5_free_principal(server); - return(0); - } - - if ((ap->way & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) - ap_opts = AP_OPTS_MUTUAL_REQUIRED; - else - ap_opts = 0; - - r = krb5_mk_req_extended(ap_opts, &ksum, krb5_kdc_default_options, 0, -#ifdef ENCRYPTION - &newkey, -#else /* ENCRYPTION */ - 0, -#endif /* ENCRYPTION */ - ccache, &creds, &authenticator, &auth); - /* don't let the key get freed if we clean up the authenticator */ - authenticator.subkey = 0; - - free(name); - krb5_free_host_realm(realms); - krb5_free_principal(server); -#ifdef ENCRYPTION - if (newkey) { - /* keep the key in our private storage, but don't use it - yet---see kerberos5_reply() below */ - if (newkey->keytype != KEYTYPE_DES) { - if (creds.keyblock.keytype == KEYTYPE_DES) - /* use the session key in credentials instead */ - memmove((char *)session_key, - (char *)creds.keyblock.contents, sizeof(Block)); - else - /* XXX ? */; - } else { - memmove((char *)session_key, (char *)newkey->contents, - sizeof(Block)); - } - krb5_free_keyblock(newkey); - } -#endif /* ENCRYPTION */ - if (r) { - if (auth_debug_mode) { - printf("Kerberos V5: mk_req failed (%s)\r\n", - error_message(r)); - } - return(0); - } - - if (!auth_sendname(UserNameRequested, strlen(UserNameRequested))) { - if (auth_debug_mode) - printf("Not enough room for user name\r\n"); - return(0); - } - if (!Data(ap, KRB_AUTH, auth.data, auth.length)) { - if (auth_debug_mode) - printf("Not enough room for authentication data\r\n"); - return(0); - } - if (auth_debug_mode) { - printf("Sent Kerberos V5 credentials to server\r\n"); - } - return(1); -} - - void -kerberos5_is(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ - int r; - struct hostent *hp; - char *p1, *p2; - static char *realm = NULL; - krb5_principal server; - krb5_ap_rep_enc_part reply; - krb5_data outbuf; -#ifdef ENCRYPTION - Session_Key skey; -#endif /* ENCRYPTION */ - char *name; - char *getenv(); - krb5_data inbuf; - - if (cnt-- < 1) - return; - switch (*data++) { - case KRB_AUTH: - auth.data = (char *)data; - auth.length = cnt; - - if (!(hp = gethostbyname(LocalHostName))) { - if (auth_debug_mode) - printf("Cannot resolve local host name\r\n"); - Data(ap, KRB_REJECT, "Unknown local hostname.", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - - if (!realm && (krb5_get_default_realm(&realm))) { - if (auth_debug_mode) - printf("Could not get default realm\r\n"); - Data(ap, KRB_REJECT, "Could not get default realm.", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - - if ((name = malloc(strlen(hp->h_name)+1)) == NULL) { - if (auth_debug_mode) - printf("Out of memory for hostname in Kerberos V5\r\n"); - Data(ap, KRB_REJECT, "Out of memory.", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - - p1 = hp->h_name; - p2 = name; - - while (*p2 = *p1++) { - if (isupper(*p2)) - *p2 |= 040; - ++p2; - } - - if (authdat) - krb5_free_tkt_authent(authdat); - - r = krb5_build_principal_ext(&server, - strlen(realm), realm, - 4, "host", - p2 - name, name, - 0); - if (!r) { - r = krb5_rd_req_simple(&auth, server, 0, &authdat); - krb5_free_principal(server); - } - if (r) { - char errbuf[128]; - - errout: - authdat = 0; - (void) strcpy(errbuf, "Read req failed: "); - (void) strcat(errbuf, error_message(r)); - Data(ap, KRB_REJECT, errbuf, -1); - if (auth_debug_mode) - printf("%s\r\n", errbuf); - return; - } - free(name); - if ((ap->way & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) { - /* do ap_rep stuff here */ - reply.ctime = authdat->authenticator->ctime; - reply.cusec = authdat->authenticator->cusec; - reply.subkey = 0; /* use the one he gave us, so don't - need to return one here */ - reply.seq_number = 0; /* we don't do seq #'s. */ - - if (r = krb5_mk_rep(&reply, - authdat->authenticator->subkey ? - authdat->authenticator->subkey : - authdat->ticket->enc_part2->session, - &outbuf)) { - goto errout; - } - Data(ap, KRB_RESPONSE, outbuf.data, outbuf.length); - } - if (krb5_unparse_name(authdat->ticket->enc_part2 ->client, - &name)) - name = 0; - Data(ap, KRB_ACCEPT, name, name ? -1 : 0); - if (auth_debug_mode) { - printf("Kerberos5 identifies him as ``%s''\r\n", - name ? name : ""); - } - auth_finished(ap, AUTH_USER); - - free(name); - if (authdat->authenticator->subkey && - authdat->authenticator->subkey->keytype == KEYTYPE_DES) { - memmove((Voidptr )session_key, - (Voidptr )authdat->authenticator->subkey->contents, - sizeof(Block)); - } else if (authdat->ticket->enc_part2->session->keytype == - KEYTYPE_DES) { - memmove((Voidptr )session_key, - (Voidptr )authdat->ticket->enc_part2->session->contents, - sizeof(Block)); - } else - break; - -#ifdef ENCRYPTION - skey.type = SK_DES; - skey.length = 8; - skey.data = session_key; - encrypt_session_key(&skey, 1); -#endif /* ENCRYPTION */ - break; -#ifdef FORWARD - case KRB_FORWARD: - inbuf.data = (char *)data; - inbuf.length = cnt; - if (r = rd_and_store_for_creds(&inbuf, authdat->ticket, - UserNameRequested)) { - char errbuf[128]; - - (void) strcpy(errbuf, "Read forwarded creds failed: "); - (void) strcat(errbuf, error_message(r)); - Data(ap, KRB_FORWARD_REJECT, errbuf, -1); - if (auth_debug_mode) - printf("Could not read forwarded credentials\r\n"); - } - else - Data(ap, KRB_FORWARD_ACCEPT, 0, 0); - if (auth_debug_mode) - printf("Forwarded credentials obtained\r\n"); - break; -#endif /* FORWARD */ - default: - if (auth_debug_mode) - printf("Unknown Kerberos option %d\r\n", data[-1]); - Data(ap, KRB_REJECT, 0, 0); - break; - } -} - - void -kerberos5_reply(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ - Session_Key skey; - static int mutual_complete = 0; - - if (cnt-- < 1) - return; - switch (*data++) { - case KRB_REJECT: - if (cnt > 0) { - printf("[ Kerberos V5 refuses authentication because %.*s ]\r\n", - cnt, data); - } else - printf("[ Kerberos V5 refuses authentication ]\r\n"); - auth_send_retry(); - return; - case KRB_ACCEPT: - if ((ap->way & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL && - !mutual_complete) { - printf("[ Kerberos V5 accepted you, but didn't provide mutual authentication! ]\n"); - auth_send_retry(); - return; - } - if (cnt) - printf("[ Kerberos V5 accepts you as ``%.*s'' ]\n", cnt, data); - else - printf("[ Kerberos V5 accepts you ]\n"); - auth_finished(ap, AUTH_USER); -#ifdef FORWARD - if (forward_flags & OPTS_FORWARD_CREDS) - kerberos5_forward(ap); -#endif /* FORWARD */ - break; - case KRB_RESPONSE: - if ((ap->way & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) { - /* the rest of the reply should contain a krb_ap_rep */ - krb5_ap_rep_enc_part *reply; - krb5_data inbuf; - krb5_error_code r; - krb5_keyblock tmpkey; - - inbuf.length = cnt; - inbuf.data = (char *)data; - - tmpkey.keytype = KEYTYPE_DES; - tmpkey.contents = session_key; - tmpkey.length = sizeof(Block); - - if (r = krb5_rd_rep(&inbuf, &tmpkey, &reply)) { - printf("[ Mutual authentication failed: %s ]\n", - error_message(r)); - auth_send_retry(); - return; - } - if (reply->ctime != authenticator.ctime || - reply->cusec != authenticator.cusec) { - printf("[ Mutual authentication failed (mismatched KRB_AP_REP) ]\n"); - auth_send_retry(); - return; - } - krb5_free_ap_rep_enc_part(reply); -#ifdef ENCRYPTION - skey.type = SK_DES; - skey.length = 8; - skey.data = session_key; - encrypt_session_key(&skey, 0); -#endif /* ENCRYPTION */ - mutual_complete = 1; - } - return; -#ifdef FORWARD - case KRB_FORWARD_ACCEPT: - printf("[ Kerberos V5 accepted forwarded credentials ]\n"); - return; - case KRB_FORWARD_REJECT: - printf("[ Kerberos V5 refuses forwarded credentials because %.*s ]\r\n", - cnt, data); - return; -#endif /* FORWARD */ - default: - if (auth_debug_mode) - printf("Unknown Kerberos option %d\r\n", data[-1]); - return; - } -} - - int -kerberos5_status(ap, name, level) - Authenticator *ap; - char *name; - int level; -{ - if (level < AUTH_USER) - return(level); - - if (UserNameRequested && - krb5_kuserok(authdat->ticket->enc_part2->client, UserNameRequested)) - { - strcpy(name, UserNameRequested); - return(AUTH_VALID); - } else - return(AUTH_USER); -} - -#define BUMP(buf, len) while (*(buf)) {++(buf), --(len);} -#define ADDC(buf, len, c) if ((len) > 0) {*(buf)++ = (c); --(len);} - - void -kerberos5_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - char lbuf[32]; - register int i; - - buf[buflen-1] = '\0'; /* make sure its NULL terminated */ - buflen -= 1; - - switch(data[3]) { - case KRB_REJECT: /* Rejected (reason might follow) */ - strncpy((char *)buf, " REJECT ", buflen); - goto common; - - case KRB_ACCEPT: /* Accepted (name might follow) */ - strncpy((char *)buf, " ACCEPT ", buflen); - common: - BUMP(buf, buflen); - if (cnt <= 4) - break; - ADDC(buf, buflen, '"'); - for (i = 4; i < cnt; i++) - ADDC(buf, buflen, data[i]); - ADDC(buf, buflen, '"'); - ADDC(buf, buflen, '\0'); - break; - - - case KRB_AUTH: /* Authentication data follows */ - strncpy((char *)buf, " AUTH", buflen); - goto common2; - - case KRB_RESPONSE: - strncpy((char *)buf, " RESPONSE", buflen); - goto common2; - -#ifdef FORWARD - case KRB_FORWARD: /* Forwarded credentials follow */ - strncpy((char *)buf, " FORWARD", buflen); - goto common2; - - case KRB_FORWARD_ACCEPT: /* Forwarded credentials accepted */ - strncpy((char *)buf, " FORWARD_ACCEPT", buflen); - goto common2; - - case KRB_FORWARD_REJECT: /* Forwarded credentials rejected */ - /* (reason might follow) */ - strncpy((char *)buf, " FORWARD_REJECT", buflen); - goto common2; -#endif /* FORWARD */ - - default: - sprintf(lbuf, " %d (unknown)", data[3]); - strncpy((char *)buf, lbuf, buflen); - common2: - BUMP(buf, buflen); - for (i = 4; i < cnt; i++) { - sprintf(lbuf, " %d", data[i]); - strncpy((char *)buf, lbuf, buflen); - BUMP(buf, buflen); - } - break; - } -} - -#ifdef FORWARD - void -kerberos5_forward(ap) - Authenticator *ap; -{ - struct hostent *hp; - krb5_creds *local_creds; - krb5_error_code r; - krb5_data forw_creds; - extern krb5_cksumtype krb5_kdc_req_sumtype; - krb5_ccache ccache; - int i; - - if (!(local_creds = (krb5_creds *) - calloc(1, sizeof(*local_creds)))) { - if (auth_debug_mode) - printf("Kerberos V5: could not allocate memory for credentials\r\n"); - return; - } - - if (r = krb5_sname_to_principal(RemoteHostName, "host", 1, - &local_creds->server)) { - if (auth_debug_mode) - printf("Kerberos V5: could not build server name - %s\r\n", - error_message(r)); - krb5_free_creds(local_creds); - return; - } - - if (r = krb5_cc_default(&ccache)) { - if (auth_debug_mode) - printf("Kerberos V5: could not get default ccache - %s\r\n", - error_message(r)); - krb5_free_creds(local_creds); - return; - } - - if (r = krb5_cc_get_principal(ccache, &local_creds->client)) { - if (auth_debug_mode) - printf("Kerberos V5: could not get default principal - %s\r\n", - error_message(r)); - krb5_free_creds(local_creds); - return; - } - - /* Get ticket from credentials cache */ - if (r = krb5_get_credentials(KRB5_GC_CACHED, ccache, local_creds)) { - if (auth_debug_mode) - printf("Kerberos V5: could not obtain credentials - %s\r\n", - error_message(r)); - krb5_free_creds(local_creds); - return; - } - - if (r = get_for_creds(ETYPE_DES_CBC_CRC, - krb5_kdc_req_sumtype, - RemoteHostName, - local_creds->client, - &local_creds->keyblock, - forward_flags & OPTS_FORWARDABLE_CREDS, - &forw_creds)) { - if (auth_debug_mode) - printf("Kerberos V5: error getting forwarded creds - %s\r\n", - error_message(r)); - krb5_free_creds(local_creds); - return; - } - - /* Send forwarded credentials */ - if (!Data(ap, KRB_FORWARD, forw_creds.data, forw_creds.length)) { - if (auth_debug_mode) - printf("Not enough room for authentication data\r\n"); - } - else { - if (auth_debug_mode) - printf("Forwarded local Kerberos V5 credentials to server\r\n"); - } - - krb5_free_creds(local_creds); -} -#endif /* FORWARD */ - -#endif /* KRB5 */ diff --git a/eBones/lib/libtelnet/key-proto.h b/eBones/lib/libtelnet/key-proto.h deleted file mode 100644 index 9668a775be505..0000000000000 --- a/eBones/lib/libtelnet/key-proto.h +++ /dev/null @@ -1,71 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)key-proto.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America is assumed - * to require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. - * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. - */ - -#ifndef __KEY_PROTO__ -#define __KEY_PROTO__ - -#if !defined(P) -#ifdef __STDC__ -#define P(x) x -#else -#define P(x) () -#endif -#endif - -int key_file_exists P((void)); -void key_lookup P((unsigned char *, Block)); -void key_stream_init P((Block, Block, int)); -unsigned char key_stream P((int, int)); -#endif diff --git a/eBones/lib/libtelnet/krb4encpwd.c b/eBones/lib/libtelnet/krb4encpwd.c deleted file mode 100644 index 5c484c288cd0b..0000000000000 --- a/eBones/lib/libtelnet/krb4encpwd.c +++ /dev/null @@ -1,445 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)krb4encpwd.c 8.3 (Berkeley) 5/30/95"; -#endif /* not lint */ - - -#ifdef KRB4_ENCPWD -/* - * COPYRIGHT (C) 1990 DIGITAL EQUIPMENT CORPORATION - * ALL RIGHTS RESERVED - * - * "Digital Equipment Corporation authorizes the reproduction, - * distribution and modification of this software subject to the following - * restrictions: - * - * 1. Any partial or whole copy of this software, or any modification - * thereof, must include this copyright notice in its entirety. - * - * 2. This software is supplied "as is" with no warranty of any kind, - * expressed or implied, for any purpose, including any warranty of fitness - * or merchantibility. DIGITAL assumes no responsibility for the use or - * reliability of this software, nor promises to provide any form of - * support for it on any basis. - * - * 3. Distribution of this software is authorized only if no profit or - * remuneration of any kind is received in exchange for such distribution. - * - * 4. This software produces public key authentication certificates - * bearing an expiration date established by DIGITAL and RSA Data - * Security, Inc. It may cease to generate certificates after the expiration - * date. Any modification of this software that changes or defeats - * the expiration date or its effect is unauthorized. - * - * 5. Software that will renew or extend the expiration date of - * authentication certificates produced by this software may be obtained - * from RSA Data Security, Inc., 10 Twin Dolphin Drive, Redwood City, CA - * 94065, (415)595-8782, or from DIGITAL" - * - */ - -#include <sys/types.h> -#include <arpa/telnet.h> -#include <pwd.h> -#include <stdio.h> - -#include <des.h> -#include <krb.h> -#ifdef __STDC__ -#include <stdlib.h> -#endif -#ifdef NO_STRING_H -#include <strings.h> -#else -#include <string.h> -#endif - -#include "encrypt.h" -#include "auth.h" -#include "misc.h" - -int krb_mk_encpwd_req P((KTEXT, char *, char *, char *, char *, char *, char *)); -int krb_rd_encpwd_req P((KTEXT, char *, char *, u_long, AUTH_DAT *, char *, char *, char *, char *)); - -extern auth_debug_mode; - -static unsigned char str_data[1024] = { IAC, SB, TELOPT_AUTHENTICATION, 0, - AUTHTYPE_KRB4_ENCPWD, }; -static unsigned char str_name[1024] = { IAC, SB, TELOPT_AUTHENTICATION, - TELQUAL_NAME, }; - -#define KRB4_ENCPWD_AUTH 0 /* Authentication data follows */ -#define KRB4_ENCPWD_REJECT 1 /* Rejected (reason might follow) */ -#define KRB4_ENCPWD_ACCEPT 2 /* Accepted */ -#define KRB4_ENCPWD_CHALLENGE 3 /* Challenge for mutual auth. */ -#define KRB4_ENCPWD_ACK 4 /* Acknowledge */ - -#define KRB_SERVICE_NAME "rcmd" - -static KTEXT_ST auth; -static char name[ANAME_SZ]; -static char user_passwd[ANAME_SZ]; -static AUTH_DAT adat = { 0 }; -#ifdef ENCRYPTION -static Block session_key = { 0 }; -#endif /* ENCRYPTION */ -static char challenge[REALM_SZ]; - - static int -Data(ap, type, d, c) - Authenticator *ap; - int type; - void *d; - int c; -{ - unsigned char *p = str_data + 4; - unsigned char *cd = (unsigned char *)d; - - if (c == -1) - c = strlen((char *)cd); - - if (0) { - printf("%s:%d: [%d] (%d)", - str_data[3] == TELQUAL_IS ? ">>>IS" : ">>>REPLY", - str_data[3], - type, c); - printd(d, c); - printf("\r\n"); - } - *p++ = ap->type; - *p++ = ap->way; - *p++ = type; - while (c-- > 0) { - if ((*p++ = *cd++) == IAC) - *p++ = IAC; - } - *p++ = IAC; - *p++ = SE; - if (str_data[3] == TELQUAL_IS) - printsub('>', &str_data[2], p - (&str_data[2])); - return(net_write(str_data, p - str_data)); -} - - int -krb4encpwd_init(ap, server) - Authenticator *ap; - int server; -{ - char hostname[80], *cp, *realm; - C_Block skey; - - if (server) { - str_data[3] = TELQUAL_REPLY; - } else { - str_data[3] = TELQUAL_IS; - gethostname(hostname, sizeof(hostname)); - realm = krb_realmofhost(hostname); - cp = strchr(hostname, '.'); - if (*cp != NULL) *cp = NULL; - if (read_service_key(KRB_SERVICE_NAME, hostname, realm, 0, - KEYFILE, (char *)skey)) { - return(0); - } - } - return(1); -} - - int -krb4encpwd_send(ap) - Authenticator *ap; -{ - - printf("[ Trying KRB4ENCPWD ... ]\n"); - if (!UserNameRequested) { - return(0); - } - if (!auth_sendname(UserNameRequested, strlen(UserNameRequested))) { - return(0); - } - - if (!Data(ap, KRB4_ENCPWD_ACK, (void *)NULL, 0)) { - return(0); - } - - return(1); -} - - void -krb4encpwd_is(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ - Session_Key skey; - Block datablock; - char r_passwd[ANAME_SZ], r_user[ANAME_SZ]; - char lhostname[ANAME_SZ], *cp; - int r; - time_t now; - - if (cnt-- < 1) - return; - switch (*data++) { - case KRB4_ENCPWD_AUTH: - memmove((void *)auth.dat, (void *)data, auth.length = cnt); - - gethostname(lhostname, sizeof(lhostname)); - if ((cp = strchr(lhostname, '.')) != 0) *cp = '\0'; - - if (r = krb_rd_encpwd_req(&auth, KRB_SERVICE_NAME, lhostname, 0, &adat, NULL, challenge, r_user, r_passwd)) { - Data(ap, KRB4_ENCPWD_REJECT, (void *)"Auth failed", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - auth_encrypt_userpwd(r_passwd); - if (passwdok(UserNameRequested, UserPassword) == 0) { - /* - * illegal username and password - */ - Data(ap, KRB4_ENCPWD_REJECT, (void *)"Illegal password", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - - memmove((void *)session_key, (void *)adat.session, sizeof(Block)); - Data(ap, KRB4_ENCPWD_ACCEPT, (void *)0, 0); - auth_finished(ap, AUTH_USER); - break; - - case KRB4_ENCPWD_CHALLENGE: - /* - * Take the received random challenge text and save - * for future authentication. - */ - memmove((void *)challenge, (void *)data, sizeof(Block)); - break; - - - case KRB4_ENCPWD_ACK: - /* - * Receive ack, if mutual then send random challenge - */ - - /* - * If we are doing mutual authentication, get set up to send - * the challenge, and verify it when the response comes back. - */ - - if ((ap->way & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) { - register int i; - - time(&now); - sprintf(challenge, "%x", now); - Data(ap, KRB4_ENCPWD_CHALLENGE, (void *)challenge, strlen(challenge)); - } - break; - - default: - Data(ap, KRB4_ENCPWD_REJECT, 0, 0); - break; - } -} - - - void -krb4encpwd_reply(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ - Session_Key skey; - KTEXT_ST krb_token; - Block enckey; - CREDENTIALS cred; - int r; - char randchal[REALM_SZ], instance[ANAME_SZ], *cp; - char hostname[80], *realm; - - if (cnt-- < 1) - return; - switch (*data++) { - case KRB4_ENCPWD_REJECT: - if (cnt > 0) { - printf("[ KRB4_ENCPWD refuses authentication because %.*s ]\r\n", - cnt, data); - } else - printf("[ KRB4_ENCPWD refuses authentication ]\r\n"); - auth_send_retry(); - return; - case KRB4_ENCPWD_ACCEPT: - printf("[ KRB4_ENCPWD accepts you ]\n"); - auth_finished(ap, AUTH_USER); - return; - case KRB4_ENCPWD_CHALLENGE: - /* - * Verify that the response to the challenge is correct. - */ - - gethostname(hostname, sizeof(hostname)); - realm = krb_realmofhost(hostname); - memmove((void *)challenge, (void *)data, cnt); - memset(user_passwd, 0, sizeof(user_passwd)); - local_des_read_pw_string(user_passwd, sizeof(user_passwd)-1, "Password: ", 0); - UserPassword = user_passwd; - Challenge = challenge; - strcpy(instance, RemoteHostName); - if ((cp = strchr(instance, '.')) != 0) *cp = '\0'; - - if (r = krb_mk_encpwd_req(&krb_token, KRB_SERVICE_NAME, instance, realm, Challenge, UserNameRequested, user_passwd)) { - krb_token.length = 0; - } - - if (!Data(ap, KRB4_ENCPWD_AUTH, (void *)krb_token.dat, krb_token.length)) { - return; - } - - break; - - default: - return; - } -} - - int -krb4encpwd_status(ap, name, level) - Authenticator *ap; - char *name; - int level; -{ - - if (level < AUTH_USER) - return(level); - - if (UserNameRequested && passwdok(UserNameRequested, UserPassword)) { - strcpy(name, UserNameRequested); - return(AUTH_VALID); - } else { - return(AUTH_USER); - } -} - -#define BUMP(buf, len) while (*(buf)) {++(buf), --(len);} -#define ADDC(buf, len, c) if ((len) > 0) {*(buf)++ = (c); --(len);} - - void -krb4encpwd_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - char lbuf[32]; - register int i; - - buf[buflen-1] = '\0'; /* make sure its NULL terminated */ - buflen -= 1; - - switch(data[3]) { - case KRB4_ENCPWD_REJECT: /* Rejected (reason might follow) */ - strncpy((char *)buf, " REJECT ", buflen); - goto common; - - case KRB4_ENCPWD_ACCEPT: /* Accepted (name might follow) */ - strncpy((char *)buf, " ACCEPT ", buflen); - common: - BUMP(buf, buflen); - if (cnt <= 4) - break; - ADDC(buf, buflen, '"'); - for (i = 4; i < cnt; i++) - ADDC(buf, buflen, data[i]); - ADDC(buf, buflen, '"'); - ADDC(buf, buflen, '\0'); - break; - - case KRB4_ENCPWD_AUTH: /* Authentication data follows */ - strncpy((char *)buf, " AUTH", buflen); - goto common2; - - case KRB4_ENCPWD_CHALLENGE: - strncpy((char *)buf, " CHALLENGE", buflen); - goto common2; - - case KRB4_ENCPWD_ACK: - strncpy((char *)buf, " ACK", buflen); - goto common2; - - default: - sprintf(lbuf, " %d (unknown)", data[3]); - strncpy((char *)buf, lbuf, buflen); - common2: - BUMP(buf, buflen); - for (i = 4; i < cnt; i++) { - sprintf(lbuf, " %d", data[i]); - strncpy((char *)buf, lbuf, buflen); - BUMP(buf, buflen); - } - break; - } -} - -int passwdok(name, passwd) -char *name, *passwd; -{ - char *crypt(); - char *salt, *p; - struct passwd *pwd; - int passwdok_status = 0; - - if (pwd = getpwnam(name)) - salt = pwd->pw_passwd; - else salt = "xx"; - - p = crypt(passwd, salt); - - if (pwd && !strcmp(p, pwd->pw_passwd)) { - passwdok_status = 1; - } else passwdok_status = 0; - return(passwdok_status); -} - -#endif - -#ifdef notdef - -prkey(msg, key) - char *msg; - unsigned char *key; -{ - register int i; - printf("%s:", msg); - for (i = 0; i < 8; i++) - printf(" %3d", key[i]); - printf("\r\n"); -} -#endif diff --git a/eBones/lib/libtelnet/read_password.c b/eBones/lib/libtelnet/read_password.c deleted file mode 100644 index 4676ed3a01bb2..0000000000000 --- a/eBones/lib/libtelnet/read_password.c +++ /dev/null @@ -1,145 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)read_password.c 8.3 (Berkeley) 5/30/95"; -#endif /* not lint */ - -/* - * $Source: /mit/kerberos/src/lib/des/RCS/read_password.c,v $ - * $Author: jon $ - * - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * - * For copying and distribution information, please see the file - * <mit-copyright.h>. - * - * This routine prints the supplied string to standard - * output as a prompt, and reads a password string without - * echoing. - */ - -#if defined(RSA_ENCPWD) || defined(KRB4_ENCPWD) - -#include <stdio.h> -#include <strings.h> -#include <sys/ioctl.h> -#include <signal.h> -#include <setjmp.h> - -static jmp_buf env; - -/*** Routines ****************************************************** */ -/* - * This version just returns the string, doesn't map to key. - * - * Returns 0 on success, non-zero on failure. - */ - -int -local_des_read_pw_string(s,max,prompt,verify) - char *s; - int max; - char *prompt; - int verify; -{ - int ok = 0; - char *ptr; - - jmp_buf old_env; - struct sgttyb tty_state; - char key_string[BUFSIZ]; - - if (max > BUFSIZ) { - return -1; - } - - /* XXX assume jmp_buf is typedef'ed to an array */ - memmove((char *)env, (char *)old_env, sizeof(env)); - if (setjmp(env)) - goto lose; - - /* save terminal state*/ - if (ioctl(0,TIOCGETP,(char *)&tty_state) == -1) - return -1; -/* - push_signals(); -*/ - /* Turn off echo */ - tty_state.sg_flags &= ~ECHO; - if (ioctl(0,TIOCSETP,(char *)&tty_state) == -1) - return -1; - while (!ok) { - (void) printf(prompt); - (void) fflush(stdout); - while (!fgets(s, max, stdin)); - - if ((ptr = strchr(s, '\n'))) - *ptr = '\0'; - if (verify) { - printf("\nVerifying, please re-enter %s",prompt); - (void) fflush(stdout); - if (!fgets(key_string, sizeof(key_string), stdin)) { - clearerr(stdin); - continue; - } - if ((ptr = strchr(key_string, '\n'))) - *ptr = '\0'; - if (strcmp(s,key_string)) { - printf("\n\07\07Mismatch - try again\n"); - (void) fflush(stdout); - continue; - } - } - ok = 1; - } - -lose: - if (!ok) - memset(s, 0, max); - printf("\n"); - /* turn echo back on */ - tty_state.sg_flags |= ECHO; - if (ioctl(0,TIOCSETP,(char *)&tty_state)) - ok = 0; -/* - pop_signals(); -*/ - memmove((char *)old_env, (char *)env, sizeof(env)); - if (verify) - memset(key_string, 0, sizeof (key_string)); - s[max-1] = 0; /* force termination */ - return !ok; /* return nonzero if not okay */ -} -#endif /* defined(RSA_ENCPWD) || defined(KRB4_ENCPWD) */ diff --git a/eBones/lib/libtelnet/rsaencpwd.c b/eBones/lib/libtelnet/rsaencpwd.c deleted file mode 100644 index 3492132a5df28..0000000000000 --- a/eBones/lib/libtelnet/rsaencpwd.c +++ /dev/null @@ -1,492 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)rsaencpwd.c 8.3 (Berkeley) 5/30/95"; -#endif /* not lint */ - - -#ifdef RSA_ENCPWD -/* - * COPYRIGHT (C) 1990 DIGITAL EQUIPMENT CORPORATION - * ALL RIGHTS RESERVED - * - * "Digital Equipment Corporation authorizes the reproduction, - * distribution and modification of this software subject to the following - * restrictions: - * - * 1. Any partial or whole copy of this software, or any modification - * thereof, must include this copyright notice in its entirety. - * - * 2. This software is supplied "as is" with no warranty of any kind, - * expressed or implied, for any purpose, including any warranty of fitness - * or merchantibility. DIGITAL assumes no responsibility for the use or - * reliability of this software, nor promises to provide any form of - * support for it on any basis. - * - * 3. Distribution of this software is authorized only if no profit or - * remuneration of any kind is received in exchange for such distribution. - * - * 4. This software produces public key authentication certificates - * bearing an expiration date established by DIGITAL and RSA Data - * Security, Inc. It may cease to generate certificates after the expiration - * date. Any modification of this software that changes or defeats - * the expiration date or its effect is unauthorized. - * - * 5. Software that will renew or extend the expiration date of - * authentication certificates produced by this software may be obtained - * from RSA Data Security, Inc., 10 Twin Dolphin Drive, Redwood City, CA - * 94065, (415)595-8782, or from DIGITAL" - * - */ - -#include <sys/types.h> -#include <arpa/telnet.h> -#include <pwd.h> -#include <stdio.h> - -#ifdef __STDC__ -#include <stdlib.h> -#endif -#ifdef NO_STRING_H -#include <strings.h> -#else -#include <string.h> -#endif - -#include "encrypt.h" -#include "auth.h" -#include "misc.h" -#include "cdc.h" - -extern auth_debug_mode; - -static unsigned char str_data[1024] = { IAC, SB, TELOPT_AUTHENTICATION, 0, - AUTHTYPE_RSA_ENCPWD, }; -static unsigned char str_name[1024] = { IAC, SB, TELOPT_AUTHENTICATION, - TELQUAL_NAME, }; - -#define RSA_ENCPWD_AUTH 0 /* Authentication data follows */ -#define RSA_ENCPWD_REJECT 1 /* Rejected (reason might follow) */ -#define RSA_ENCPWD_ACCEPT 2 /* Accepted */ -#define RSA_ENCPWD_CHALLENGEKEY 3 /* Challenge and public key */ - -#define NAME_SZ 40 -#define CHAL_SZ 20 -#define PWD_SZ 40 - -static KTEXT_ST auth; -static char name[NAME_SZ]; -static char user_passwd[PWD_SZ]; -static char key_file[2*NAME_SZ]; -static char lhostname[NAME_SZ]; -static char challenge[CHAL_SZ]; -static int challenge_len; - - static int -Data(ap, type, d, c) - Authenticator *ap; - int type; - void *d; - int c; -{ - unsigned char *p = str_data + 4; - unsigned char *cd = (unsigned char *)d; - - if (c == -1) - c = strlen((char *)cd); - - if (0) { - printf("%s:%d: [%d] (%d)", - str_data[3] == TELQUAL_IS ? ">>>IS" : ">>>REPLY", - str_data[3], - type, c); - printd(d, c); - printf("\r\n"); - } - *p++ = ap->type; - *p++ = ap->way; - if (type != NULL) *p++ = type; - while (c-- > 0) { - if ((*p++ = *cd++) == IAC) - *p++ = IAC; - } - *p++ = IAC; - *p++ = SE; - if (str_data[3] == TELQUAL_IS) - printsub('>', &str_data[2], p - (&str_data[2])); - return(net_write(str_data, p - str_data)); -} - - int -rsaencpwd_init(ap, server) - Authenticator *ap; - int server; -{ - char *cp; - FILE *fp; - - if (server) { - str_data[3] = TELQUAL_REPLY; - memset(key_file, 0, sizeof(key_file)); - gethostname(lhostname, sizeof(lhostname)); - if ((cp = strchr(lhostname, '.')) != 0) *cp = '\0'; - strcpy(key_file, "/etc/."); - strcat(key_file, lhostname); - strcat(key_file, "_privkey"); - if ((fp=fopen(key_file, "r"))==NULL) return(0); - fclose(fp); - } else { - str_data[3] = TELQUAL_IS; - } - return(1); -} - - int -rsaencpwd_send(ap) - Authenticator *ap; -{ - - printf("[ Trying RSAENCPWD ... ]\n"); - if (!UserNameRequested) { - return(0); - } - if (!auth_sendname(UserNameRequested, strlen(UserNameRequested))) { - return(0); - } - if (!Data(ap, NULL, (void *)NULL, 0)) { - return(0); - } - - - return(1); -} - - void -rsaencpwd_is(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ - Session_Key skey; - Block datablock; - char r_passwd[PWD_SZ], r_user[NAME_SZ]; - char *cp, key[160]; - char chalkey[160], *ptr; - FILE *fp; - int r, i, j, chalkey_len, len; - time_t now; - - cnt--; - switch (*data++) { - case RSA_ENCPWD_AUTH: - memmove((void *)auth.dat, (void *)data, auth.length = cnt); - - if ((fp=fopen(key_file, "r"))==NULL) { - Data(ap, RSA_ENCPWD_REJECT, (void *)"Auth failed", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - /* - * get privkey - */ - fscanf(fp, "%x;", &len); - for (i=0;i<len;i++) { - j = getc(fp); key[i]=j; - } - fclose(fp); - - r = accept_rsa_encpwd(&auth, key, challenge, - challenge_len, r_passwd); - if (r < 0) { - Data(ap, RSA_ENCPWD_REJECT, (void *)"Auth failed", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - auth_encrypt_userpwd(r_passwd); - if (rsaencpwd_passwdok(UserNameRequested, UserPassword) == 0) { - /* - * illegal username and password - */ - Data(ap, RSA_ENCPWD_REJECT, (void *)"Illegal password", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - - Data(ap, RSA_ENCPWD_ACCEPT, (void *)0, 0); - auth_finished(ap, AUTH_USER); - break; - - - case IAC: - - /* - * If we are doing mutual authentication, get set up to send - * the challenge, and verify it when the response comes back. - */ - if ((ap->way & AUTH_HOW_MASK) == AUTH_HOW_ONE_WAY) { - register int i; - - - time(&now); - if ((now % 2) == 0) { - sprintf(challenge, "%x", now); - challenge_len = strlen(challenge); - } else { - strcpy(challenge, "randchal"); - challenge_len = 8; - } - - if ((fp=fopen(key_file, "r"))==NULL) { - Data(ap, RSA_ENCPWD_REJECT, (void *)"Auth failed", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - /* - * skip privkey - */ - fscanf(fp, "%x;", &len); - for (i=0;i<len;i++) { - j = getc(fp); - } - /* - * get pubkey - */ - fscanf(fp, "%x;", &len); - for (i=0;i<len;i++) { - j = getc(fp); key[i]=j; - } - fclose(fp); - chalkey[0] = 0x30; - ptr = (char *) &chalkey[1]; - chalkey_len = 1+NumEncodeLengthOctets(i)+i+1+NumEncodeLengthOctets(challenge_len)+challenge_len; - EncodeLength(ptr, chalkey_len); - ptr +=NumEncodeLengthOctets(chalkey_len); - *ptr++ = 0x04; /* OCTET STRING */ - *ptr++ = challenge_len; - memmove(ptr, challenge, challenge_len); - ptr += challenge_len; - *ptr++ = 0x04; /* OCTET STRING */ - EncodeLength(ptr, i); - ptr += NumEncodeLengthOctets(i); - memmove(ptr, key, i); - chalkey_len = 1+NumEncodeLengthOctets(chalkey_len)+chalkey_len; - Data(ap, RSA_ENCPWD_CHALLENGEKEY, (void *)chalkey, chalkey_len); - } - break; - - default: - Data(ap, RSA_ENCPWD_REJECT, 0, 0); - break; - } -} - - - void -rsaencpwd_reply(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ - Session_Key skey; - KTEXT_ST token; - Block enckey; - int r, pubkey_len; - char randchal[CHAL_SZ], *cp; - char chalkey[160], pubkey[128], *ptr; - - if (cnt-- < 1) - return; - switch (*data++) { - case RSA_ENCPWD_REJECT: - if (cnt > 0) { - printf("[ RSA_ENCPWD refuses authentication because %.*s ]\r\n", - cnt, data); - } else - printf("[ RSA_ENCPWD refuses authentication ]\r\n"); - auth_send_retry(); - return; - case RSA_ENCPWD_ACCEPT: - printf("[ RSA_ENCPWD accepts you ]\n"); - auth_finished(ap, AUTH_USER); - return; - case RSA_ENCPWD_CHALLENGEKEY: - /* - * Verify that the response to the challenge is correct. - */ - - memmove((void *)chalkey, (void *)data, cnt); - ptr = (char *) &chalkey[0]; - ptr += DecodeHeaderLength(chalkey); - if (*ptr != 0x04) { - return; - } - *ptr++; - challenge_len = DecodeValueLength(ptr); - ptr += NumEncodeLengthOctets(challenge_len); - memmove(challenge, ptr, challenge_len); - ptr += challenge_len; - if (*ptr != 0x04) { - return; - } - *ptr++; - pubkey_len = DecodeValueLength(ptr); - ptr += NumEncodeLengthOctets(pubkey_len); - memmove(pubkey, ptr, pubkey_len); - memset(user_passwd, 0, sizeof(user_passwd)); - local_des_read_pw_string(user_passwd, sizeof(user_passwd)-1, "Password: ", 0); - UserPassword = user_passwd; - Challenge = challenge; - r = init_rsa_encpwd(&token, user_passwd, challenge, challenge_len, pubkey); - if (r < 0) { - token.length = 1; - } - - if (!Data(ap, RSA_ENCPWD_AUTH, (void *)token.dat, token.length)) { - return; - } - - break; - - default: - return; - } -} - - int -rsaencpwd_status(ap, name, level) - Authenticator *ap; - char *name; - int level; -{ - - if (level < AUTH_USER) - return(level); - - if (UserNameRequested && rsaencpwd_passwdok(UserNameRequested, UserPassword)) { - strcpy(name, UserNameRequested); - return(AUTH_VALID); - } else { - return(AUTH_USER); - } -} - -#define BUMP(buf, len) while (*(buf)) {++(buf), --(len);} -#define ADDC(buf, len, c) if ((len) > 0) {*(buf)++ = (c); --(len);} - - void -rsaencpwd_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - char lbuf[32]; - register int i; - - buf[buflen-1] = '\0'; /* make sure its NULL terminated */ - buflen -= 1; - - switch(data[3]) { - case RSA_ENCPWD_REJECT: /* Rejected (reason might follow) */ - strncpy((char *)buf, " REJECT ", buflen); - goto common; - - case RSA_ENCPWD_ACCEPT: /* Accepted (name might follow) */ - strncpy((char *)buf, " ACCEPT ", buflen); - common: - BUMP(buf, buflen); - if (cnt <= 4) - break; - ADDC(buf, buflen, '"'); - for (i = 4; i < cnt; i++) - ADDC(buf, buflen, data[i]); - ADDC(buf, buflen, '"'); - ADDC(buf, buflen, '\0'); - break; - - case RSA_ENCPWD_AUTH: /* Authentication data follows */ - strncpy((char *)buf, " AUTH", buflen); - goto common2; - - case RSA_ENCPWD_CHALLENGEKEY: - strncpy((char *)buf, " CHALLENGEKEY", buflen); - goto common2; - - default: - sprintf(lbuf, " %d (unknown)", data[3]); - strncpy((char *)buf, lbuf, buflen); - common2: - BUMP(buf, buflen); - for (i = 4; i < cnt; i++) { - sprintf(lbuf, " %d", data[i]); - strncpy((char *)buf, lbuf, buflen); - BUMP(buf, buflen); - } - break; - } -} - -int rsaencpwd_passwdok(name, passwd) -char *name, *passwd; -{ - char *crypt(); - char *salt, *p; - struct passwd *pwd; - int passwdok_status = 0; - - if (pwd = getpwnam(name)) - salt = pwd->pw_passwd; - else salt = "xx"; - - p = crypt(passwd, salt); - - if (pwd && !strcmp(p, pwd->pw_passwd)) { - passwdok_status = 1; - } else passwdok_status = 0; - return(passwdok_status); -} - -#endif - -#ifdef notdef - -prkey(msg, key) - char *msg; - unsigned char *key; -{ - register int i; - printf("%s:", msg); - for (i = 0; i < 8; i++) - printf(" %3d", key[i]); - printf("\r\n"); -} -#endif diff --git a/eBones/lib/libtelnet/spx.c b/eBones/lib/libtelnet/spx.c deleted file mode 100644 index 40260307cef66..0000000000000 --- a/eBones/lib/libtelnet/spx.c +++ /dev/null @@ -1,587 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char sccsid[] = "@(#)spx.c 8.2 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#ifdef SPX -/* - * COPYRIGHT (C) 1990 DIGITAL EQUIPMENT CORPORATION - * ALL RIGHTS RESERVED - * - * "Digital Equipment Corporation authorizes the reproduction, - * distribution and modification of this software subject to the following - * restrictions: - * - * 1. Any partial or whole copy of this software, or any modification - * thereof, must include this copyright notice in its entirety. - * - * 2. This software is supplied "as is" with no warranty of any kind, - * expressed or implied, for any purpose, including any warranty of fitness - * or merchantibility. DIGITAL assumes no responsibility for the use or - * reliability of this software, nor promises to provide any form of - * support for it on any basis. - * - * 3. Distribution of this software is authorized only if no profit or - * remuneration of any kind is received in exchange for such distribution. - * - * 4. This software produces public key authentication certificates - * bearing an expiration date established by DIGITAL and RSA Data - * Security, Inc. It may cease to generate certificates after the expiration - * date. Any modification of this software that changes or defeats - * the expiration date or its effect is unauthorized. - * - * 5. Software that will renew or extend the expiration date of - * authentication certificates produced by this software may be obtained - * from RSA Data Security, Inc., 10 Twin Dolphin Drive, Redwood City, CA - * 94065, (415)595-8782, or from DIGITAL" - * - */ - -#include <sys/types.h> -#include <arpa/telnet.h> -#include <stdio.h> -#include "gssapi_defs.h" -#ifdef __STDC__ -#include <stdlib.h> -#endif -#ifdef NO_STRING_H -#include <strings.h> -#else -#include <string.h> -#endif - -#include <pwd.h> -#include "encrypt.h" -#include "auth.h" -#include "misc.h" - -extern auth_debug_mode; - -static unsigned char str_data[1024] = { IAC, SB, TELOPT_AUTHENTICATION, 0, - AUTHTYPE_SPX, }; -static unsigned char str_name[1024] = { IAC, SB, TELOPT_AUTHENTICATION, - TELQUAL_NAME, }; - -#define SPX_AUTH 0 /* Authentication data follows */ -#define SPX_REJECT 1 /* Rejected (reason might follow) */ -#define SPX_ACCEPT 2 /* Accepted */ - -#ifdef ENCRYPTION -static Block session_key = { 0 }; -#endif /* ENCRYPTION */ -static Block challenge = { 0 }; - - -/*******************************************************************/ - -gss_OID_set actual_mechs; -gss_OID actual_mech_type, output_name_type; -int major_status, status, msg_ctx = 0, new_status; -int req_flags = 0, ret_flags, lifetime_rec; -gss_cred_id_t gss_cred_handle; -gss_ctx_id_t actual_ctxhandle, context_handle; -gss_buffer_desc output_token, input_token, input_name_buffer; -gss_buffer_desc status_string; -gss_name_t desired_targname, src_name; -gss_channel_bindings input_chan_bindings; -char lhostname[GSS_C_MAX_PRINTABLE_NAME]; -char targ_printable[GSS_C_MAX_PRINTABLE_NAME]; -int to_addr=0, from_addr=0; -char *address; -gss_buffer_desc fullname_buffer; -gss_OID fullname_type; -gss_cred_id_t gss_delegated_cred_handle; - -/*******************************************************************/ - - - - static int -Data(ap, type, d, c) - Authenticator *ap; - int type; - void *d; - int c; -{ - unsigned char *p = str_data + 4; - unsigned char *cd = (unsigned char *)d; - - if (c == -1) - c = strlen((char *)cd); - - if (0) { - printf("%s:%d: [%d] (%d)", - str_data[3] == TELQUAL_IS ? ">>>IS" : ">>>REPLY", - str_data[3], - type, c); - printd(d, c); - printf("\r\n"); - } - *p++ = ap->type; - *p++ = ap->way; - *p++ = type; - while (c-- > 0) { - if ((*p++ = *cd++) == IAC) - *p++ = IAC; - } - *p++ = IAC; - *p++ = SE; - if (str_data[3] == TELQUAL_IS) - printsub('>', &str_data[2], p - (&str_data[2])); - return(net_write(str_data, p - str_data)); -} - - int -spx_init(ap, server) - Authenticator *ap; - int server; -{ - gss_cred_id_t tmp_cred_handle; - - if (server) { - str_data[3] = TELQUAL_REPLY; - gethostname(lhostname, sizeof(lhostname)); - strcpy(targ_printable, "SERVICE:rcmd@"); - strcat(targ_printable, lhostname); - input_name_buffer.length = strlen(targ_printable); - input_name_buffer.value = targ_printable; - major_status = gss_import_name(&status, - &input_name_buffer, - GSS_C_NULL_OID, - &desired_targname); - major_status = gss_acquire_cred(&status, - desired_targname, - 0, - GSS_C_NULL_OID_SET, - GSS_C_ACCEPT, - &tmp_cred_handle, - &actual_mechs, - &lifetime_rec); - if (major_status != GSS_S_COMPLETE) return(0); - } else { - str_data[3] = TELQUAL_IS; - } - return(1); -} - - int -spx_send(ap) - Authenticator *ap; -{ - Block enckey; - int r; - - gss_OID actual_mech_type, output_name_type; - int msg_ctx = 0, new_status, status; - int req_flags = 0, ret_flags, lifetime_rec, major_status; - gss_buffer_desc output_token, input_token, input_name_buffer; - gss_buffer_desc output_name_buffer, status_string; - gss_name_t desired_targname; - gss_channel_bindings input_chan_bindings; - char targ_printable[GSS_C_MAX_PRINTABLE_NAME]; - int from_addr=0, to_addr=0, myhostlen, j; - int deleg_flag=1, mutual_flag=0, replay_flag=0, seq_flag=0; - char *address; - - printf("[ Trying SPX ... ]\n"); - strcpy(targ_printable, "SERVICE:rcmd@"); - strcat(targ_printable, RemoteHostName); - - input_name_buffer.length = strlen(targ_printable); - input_name_buffer.value = targ_printable; - - if (!UserNameRequested) { - return(0); - } - - major_status = gss_import_name(&status, - &input_name_buffer, - GSS_C_NULL_OID, - &desired_targname); - - - major_status = gss_display_name(&status, - desired_targname, - &output_name_buffer, - &output_name_type); - - printf("target is '%s'\n", output_name_buffer.value); fflush(stdout); - - major_status = gss_release_buffer(&status, &output_name_buffer); - - input_chan_bindings = (gss_channel_bindings) - malloc(sizeof(gss_channel_bindings_desc)); - - input_chan_bindings->initiator_addrtype = GSS_C_AF_INET; - input_chan_bindings->initiator_address.length = 4; - address = (char *) malloc(4); - input_chan_bindings->initiator_address.value = (char *) address; - address[0] = ((from_addr & 0xff000000) >> 24); - address[1] = ((from_addr & 0xff0000) >> 16); - address[2] = ((from_addr & 0xff00) >> 8); - address[3] = (from_addr & 0xff); - input_chan_bindings->acceptor_addrtype = GSS_C_AF_INET; - input_chan_bindings->acceptor_address.length = 4; - address = (char *) malloc(4); - input_chan_bindings->acceptor_address.value = (char *) address; - address[0] = ((to_addr & 0xff000000) >> 24); - address[1] = ((to_addr & 0xff0000) >> 16); - address[2] = ((to_addr & 0xff00) >> 8); - address[3] = (to_addr & 0xff); - input_chan_bindings->application_data.length = 0; - - req_flags = 0; - if (deleg_flag) req_flags = req_flags | 1; - if (mutual_flag) req_flags = req_flags | 2; - if (replay_flag) req_flags = req_flags | 4; - if (seq_flag) req_flags = req_flags | 8; - - major_status = gss_init_sec_context(&status, /* minor status */ - GSS_C_NO_CREDENTIAL, /* cred handle */ - &actual_ctxhandle, /* ctx handle */ - desired_targname, /* target name */ - GSS_C_NULL_OID, /* mech type */ - req_flags, /* req flags */ - 0, /* time req */ - input_chan_bindings, /* chan binding */ - GSS_C_NO_BUFFER, /* input token */ - &actual_mech_type, /* actual mech */ - &output_token, /* output token */ - &ret_flags, /* ret flags */ - &lifetime_rec); /* time rec */ - - if ((major_status != GSS_S_COMPLETE) && - (major_status != GSS_S_CONTINUE_NEEDED)) { - gss_display_status(&new_status, - status, - GSS_C_MECH_CODE, - GSS_C_NULL_OID, - &msg_ctx, - &status_string); - printf("%s\n", status_string.value); - return(0); - } - - if (!auth_sendname(UserNameRequested, strlen(UserNameRequested))) { - return(0); - } - - if (!Data(ap, SPX_AUTH, (void *)output_token.value, output_token.length)) { - return(0); - } - - return(1); -} - - void -spx_is(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ - Session_Key skey; - Block datablock; - int r; - - if (cnt-- < 1) - return; - switch (*data++) { - case SPX_AUTH: - input_token.length = cnt; - input_token.value = (char *) data; - - gethostname(lhostname, sizeof(lhostname)); - - strcpy(targ_printable, "SERVICE:rcmd@"); - strcat(targ_printable, lhostname); - - input_name_buffer.length = strlen(targ_printable); - input_name_buffer.value = targ_printable; - - major_status = gss_import_name(&status, - &input_name_buffer, - GSS_C_NULL_OID, - &desired_targname); - - major_status = gss_acquire_cred(&status, - desired_targname, - 0, - GSS_C_NULL_OID_SET, - GSS_C_ACCEPT, - &gss_cred_handle, - &actual_mechs, - &lifetime_rec); - - major_status = gss_release_name(&status, desired_targname); - - input_chan_bindings = (gss_channel_bindings) - malloc(sizeof(gss_channel_bindings_desc)); - - input_chan_bindings->initiator_addrtype = GSS_C_AF_INET; - input_chan_bindings->initiator_address.length = 4; - address = (char *) malloc(4); - input_chan_bindings->initiator_address.value = (char *) address; - address[0] = ((from_addr & 0xff000000) >> 24); - address[1] = ((from_addr & 0xff0000) >> 16); - address[2] = ((from_addr & 0xff00) >> 8); - address[3] = (from_addr & 0xff); - input_chan_bindings->acceptor_addrtype = GSS_C_AF_INET; - input_chan_bindings->acceptor_address.length = 4; - address = (char *) malloc(4); - input_chan_bindings->acceptor_address.value = (char *) address; - address[0] = ((to_addr & 0xff000000) >> 24); - address[1] = ((to_addr & 0xff0000) >> 16); - address[2] = ((to_addr & 0xff00) >> 8); - address[3] = (to_addr & 0xff); - input_chan_bindings->application_data.length = 0; - - major_status = gss_accept_sec_context(&status, - &context_handle, - gss_cred_handle, - &input_token, - input_chan_bindings, - &src_name, - &actual_mech_type, - &output_token, - &ret_flags, - &lifetime_rec, - &gss_delegated_cred_handle); - - - if (major_status != GSS_S_COMPLETE) { - - major_status = gss_display_name(&status, - src_name, - &fullname_buffer, - &fullname_type); - Data(ap, SPX_REJECT, (void *)"auth failed", -1); - auth_finished(ap, AUTH_REJECT); - return; - } - - major_status = gss_display_name(&status, - src_name, - &fullname_buffer, - &fullname_type); - - - Data(ap, SPX_ACCEPT, (void *)output_token.value, output_token.length); - auth_finished(ap, AUTH_USER); - break; - - default: - Data(ap, SPX_REJECT, 0, 0); - break; - } -} - - - void -spx_reply(ap, data, cnt) - Authenticator *ap; - unsigned char *data; - int cnt; -{ - Session_Key skey; - - if (cnt-- < 1) - return; - switch (*data++) { - case SPX_REJECT: - if (cnt > 0) { - printf("[ SPX refuses authentication because %.*s ]\r\n", - cnt, data); - } else - printf("[ SPX refuses authentication ]\r\n"); - auth_send_retry(); - return; - case SPX_ACCEPT: - printf("[ SPX accepts you ]\n"); - if ((ap->way & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) { - /* - * Send over the encrypted challenge. - */ - input_token.value = (char *) data; - input_token.length = cnt; - - major_status = gss_init_sec_context(&status, /* minor stat */ - GSS_C_NO_CREDENTIAL, /* cred handle */ - &actual_ctxhandle, /* ctx handle */ - desired_targname, /* target name */ - GSS_C_NULL_OID, /* mech type */ - req_flags, /* req flags */ - 0, /* time req */ - input_chan_bindings, /* chan binding */ - &input_token, /* input token */ - &actual_mech_type, /* actual mech */ - &output_token, /* output token */ - &ret_flags, /* ret flags */ - &lifetime_rec); /* time rec */ - - if (major_status != GSS_S_COMPLETE) { - gss_display_status(&new_status, - status, - GSS_C_MECH_CODE, - GSS_C_NULL_OID, - &msg_ctx, - &status_string); - printf("[ SPX mutual response fails ... '%s' ]\r\n", - status_string.value); - auth_send_retry(); - return; - } - } - auth_finished(ap, AUTH_USER); - return; - - default: - return; - } -} - - int -spx_status(ap, name, level) - Authenticator *ap; - char *name; - int level; -{ - - gss_buffer_desc fullname_buffer, acl_file_buffer; - gss_OID fullname_type; - char acl_file[160], fullname[160]; - int major_status, status = 0; - struct passwd *pwd; - - /* - * hard code fullname to - * "SPX:/C=US/O=Digital/OU=LKG/OU=Sphinx/OU=Users/CN=Kannan Alagappan" - * and acl_file to "~kannan/.sphinx" - */ - - pwd = getpwnam(UserNameRequested); - if (pwd == NULL) { - return(AUTH_USER); /* not authenticated */ - } - - strcpy(acl_file, pwd->pw_dir); - strcat(acl_file, "/.sphinx"); - acl_file_buffer.value = acl_file; - acl_file_buffer.length = strlen(acl_file); - - major_status = gss_display_name(&status, - src_name, - &fullname_buffer, - &fullname_type); - - if (level < AUTH_USER) - return(level); - - major_status = gss__check_acl(&status, &fullname_buffer, - &acl_file_buffer); - - if (major_status == GSS_S_COMPLETE) { - strcpy(name, UserNameRequested); - return(AUTH_VALID); - } else { - return(AUTH_USER); - } - -} - -#define BUMP(buf, len) while (*(buf)) {++(buf), --(len);} -#define ADDC(buf, len, c) if ((len) > 0) {*(buf)++ = (c); --(len);} - - void -spx_printsub(data, cnt, buf, buflen) - unsigned char *data, *buf; - int cnt, buflen; -{ - char lbuf[32]; - register int i; - - buf[buflen-1] = '\0'; /* make sure its NULL terminated */ - buflen -= 1; - - switch(data[3]) { - case SPX_REJECT: /* Rejected (reason might follow) */ - strncpy((char *)buf, " REJECT ", buflen); - goto common; - - case SPX_ACCEPT: /* Accepted (name might follow) */ - strncpy((char *)buf, " ACCEPT ", buflen); - common: - BUMP(buf, buflen); - if (cnt <= 4) - break; - ADDC(buf, buflen, '"'); - for (i = 4; i < cnt; i++) - ADDC(buf, buflen, data[i]); - ADDC(buf, buflen, '"'); - ADDC(buf, buflen, '\0'); - break; - - case SPX_AUTH: /* Authentication data follows */ - strncpy((char *)buf, " AUTH", buflen); - goto common2; - - default: - sprintf(lbuf, " %d (unknown)", data[3]); - strncpy((char *)buf, lbuf, buflen); - common2: - BUMP(buf, buflen); - for (i = 4; i < cnt; i++) { - sprintf(lbuf, " %d", data[i]); - strncpy((char *)buf, lbuf, buflen); - BUMP(buf, buflen); - } - break; - } -} - -#endif - -#ifdef notdef - -prkey(msg, key) - char *msg; - unsigned char *key; -{ - register int i; - printf("%s:", msg); - for (i = 0; i < 8; i++) - printf(" %3d", key[i]); - printf("\r\n"); -} -#endif diff --git a/eBones/libexec/Makefile b/eBones/libexec/Makefile deleted file mode 100644 index b7193e672228e..0000000000000 --- a/eBones/libexec/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.1 1995/09/13 17:23:59 markm Exp $ - -SUBDIR= kpropd registerd rkinitd - -.include <bsd.subdir.mk> diff --git a/eBones/libexec/Makefile.inc b/eBones/libexec/Makefile.inc deleted file mode 100644 index d694f9b03653d..0000000000000 --- a/eBones/libexec/Makefile.inc +++ /dev/null @@ -1,5 +0,0 @@ -# @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 - -BINDIR?= /usr/libexec - -.include "../Makefile.inc" diff --git a/eBones/libexec/kpropd/Makefile b/eBones/libexec/kpropd/Makefile deleted file mode 100644 index 4b95d184f2460..0000000000000 --- a/eBones/libexec/kpropd/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id$ - -PROG= kpropd -CFLAGS+=-I${.CURDIR}/../../usr.sbin/kprop -DKERBEROS -DPADD+= ${LIBKRB} ${LIBDES} -LDADD= -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -NOMAN= noman - -.include <bsd.prog.mk> diff --git a/eBones/libexec/kpropd/kpropd.c b/eBones/libexec/kpropd/kpropd.c deleted file mode 100644 index 1b232dfc0ded5..0000000000000 --- a/eBones/libexec/kpropd/kpropd.c +++ /dev/null @@ -1,453 +0,0 @@ -/* - * Copyright 1987 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * MIT.Copyright. - * - * kprop/kpropd have been abandonded by Project Athena (for good reason) - * however they still form the basis for one of the better ways for - * distributing kerberos databases. This version of kpropd has been - * adapted from the MIT distribution to work properly in a 4.4BSD - * environment. - * - * $Revision: 1.1.1.1 $ $Date: 1995/08/03 07:37:19 $ $State: Exp $ - * $Source: /usr/cvs/src/eBones/kpropd/kpropd.c,v $ - * - * Log: kpropd.c,v - * Revision 4.5 92/10/23 15:45:46 tytso Make it possible - * to specify the location of the kdb_util program. - * - * Revision 4.4 91/06/15 03:20:51 probe Fixed <sys/types.h> inclusion - * - * Revision 4.3 89/05/16 15:06:04 wesommer Fix operator precedence stuff. - * Programmer: John Kohl. - * - * Revision 4.2 89/03/23 10:24:00 jtkohl NOENCRYPTION changes - * - * Revision 4.1 89/01/24 20:33:48 root name change - * - * Revision 4.0 89/01/24 18:45:06 wesommer Original version; programmer: - * wesommer auditor: jon - * - * Revision 4.5 88/01/08 18:07:46 jon formatting and rcs header changes */ - -/* - * This program is run on slave servers, to catch updates "pushed" from the - * master kerberos server in a realm. - */ - -#if 0 -#ifndef lint -static char rcsid_kpropd_c[] = -"$Header: /usr/cvs/src/eBones/kpropd/kpropd.c,v 1.1.1.1 1995/08/03 07:37:19 mark Exp $"; -#endif /* lint */ -#endif - -#include <errno.h> -#include <unistd.h> -#include <ctype.h> -#include <sys/types.h> -#include <sys/file.h> -#include <sys/socket.h> -#include <sys/stat.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <netdb.h> -#include <syslog.h> -#include <krb.h> -#include <krb_db.h> - -#include "kprop.h" - -static char kprop_version[KPROP_PROT_VERSION_LEN] = KPROP_PROT_VERSION; - -int debug = 0; - -int pause_int = 300; /* 5 minutes in seconds */ -unsigned long get_data_checksum(int fd, Key_schedule key_sched); -void recv_auth(int in, int out, int private, - struct sockaddr_in *remote, struct sockaddr_in *local, - AUTH_DAT *ad); -static void SlowDeath(void); -void recv_clear(int in, int out); - /* leave room for private msg overhead */ -static char buf[KPROP_BUFSIZ + 64]; - -static void -usage() -{ - fprintf(stderr, "\nUsage: kpropd [-r realm] [-s srvtab] [-P kdb_util] fname\n"); - exit(2); -} - -void -main(argc, argv) - int argc; - char **argv; -{ - struct sockaddr_in from; - struct sockaddr_in sin; - int s2, fd, n, fdlock; - int from_len; - char local_file[256]; - char local_temp[256]; - struct hostent *hp; - char hostname[256]; - char from_str[128]; - long kerror; - AUTH_DAT auth_dat; - KTEXT_ST ticket; - char my_instance[INST_SZ]; - char my_realm[REALM_SZ]; - char cmd[1024]; - short net_transfer_mode, transfer_mode; - Key_schedule session_sched; - char version[9]; - int c; - extern char *optarg; - extern int optind; - int rflag = 0; - char *srvtab = ""; - char *local_db = DBM_FILE; - char *kdb_util = KPROP_KDB_UTIL; - - if (argv[argc - 1][0] == 'k' && isdigit(argv[argc - 1][1])) { - argc--; /* ttys file hack */ - } - while ((c = getopt(argc, argv, "r:s:d:P:")) != EOF) { - switch (c) { - case 'r': - rflag++; - strcpy(my_realm, optarg); - break; - case 's': - srvtab = optarg; - break; - case 'd': - local_db = optarg; - break; - case 'P': - kdb_util = optarg; - break; - default: - usage(); - break; - } - } - if (optind != argc - 1) - usage(); - - openlog("kpropd", LOG_PID, LOG_AUTH); - - strcpy(local_file, argv[optind]); - strcat(strcpy(local_temp, argv[optind]), ".tmp"); - -#ifdef STANDALONE - - if ((sp = getservbyname("krb_prop", "tcp")) == NULL) { - syslog(LOG_ERR, "tcp/krb_prop: unknown service."); - SlowDeath(); - } - bzero(&sin, sizeof sin); - sin.sin_port = sp->s_port; - sin.sin_family = AF_INET; - - if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - syslog(LOG_ERR, "socket: %m"); - SlowDeath(); - } - if (bind(s, (struct sockaddr *)&sin, sizeof sin) < 0) { - syslog(LOG_ERR, "bind: %m"); - SlowDeath(); - } - -#endif /* STANDALONE */ - - if (!rflag) { - kerror = krb_get_lrealm(my_realm, 1); - if (kerror != KSUCCESS) { - syslog(LOG_ERR, "can't get local realm. %s", - krb_err_txt[kerror]); - SlowDeath(); - } - } - if (gethostname(my_instance, sizeof(my_instance)) != 0) { - syslog(LOG_ERR, "gethostname: %m"); - SlowDeath(); - } - -#ifdef STANDALONE - listen(s, 5); - for (;;) { - from_len = sizeof from; - if ((s2 = accept(s, (struct sockaddr *)&from, &from_len)) < 0) { - syslog(LOG_ERR, "accept: %m"); - continue; - } -#else /* !STANDALONE */ - - s2 = 0; - from_len = sizeof from; - if (getpeername(0, (struct sockaddr *)&from, &from_len) < 0) { - syslog(LOG_ERR, "getpeername: %m"); - SlowDeath(); - } - -#endif /* !STANDALONE */ - - strcpy(from_str, inet_ntoa(from.sin_addr)); - - if ((hp = gethostbyaddr((char *) &(from.sin_addr.s_addr), - from_len, AF_INET)) == NULL) { - strcpy(hostname, "UNKNOWN"); - } else { - strcpy(hostname, hp->h_name); - } - - syslog(LOG_INFO, "connection from %s, %s", hostname, from_str); - - /* for krb_rd_{priv, safe} */ - n = sizeof sin; - if (getsockname(s2, (struct sockaddr *)&sin, &n) != 0) { - syslog(LOG_ERR, "can't get socketname: %m"); - SlowDeath(); - } - if (n != sizeof(sin)) { - syslog(LOG_ERR, "can't get socketname (length)"); - SlowDeath(); - } - if ((fdlock = open(local_temp, O_WRONLY | O_CREAT, 0600)) < 0) { - syslog(LOG_ERR, "open: %m"); - SlowDeath(); - } - if (flock(fdlock, LOCK_EX | LOCK_NB)) { - syslog(LOG_ERR, "flock: %m"); - SlowDeath(); - } - if ((fd = creat(local_temp, 0600)) < 0) { - syslog(LOG_ERR, "creat: %m"); - SlowDeath(); - } - if ((n = read(s2, buf, sizeof(kprop_version))) - != sizeof(kprop_version)) { - syslog(LOG_ERR, - "can't read protocol version (%d bytes)", n); - SlowDeath(); - } - if (strncmp(buf, kprop_version, sizeof(kprop_version)) != 0) { - syslog(LOG_ERR, "unsupported version %s", buf); - SlowDeath(); - } - if ((n = read(s2, &net_transfer_mode, - sizeof(net_transfer_mode))) - != sizeof(net_transfer_mode)) { - syslog(LOG_ERR, "can't read transfer mode"); - SlowDeath(); - } - transfer_mode = ntohs(net_transfer_mode); - kerror = krb_recvauth(KOPT_DO_MUTUAL, s2, &ticket, - KPROP_SERVICE_NAME, - my_instance, - &from, - &sin, - &auth_dat, - srvtab, - session_sched, - version); - if (kerror != KSUCCESS) { - syslog(LOG_ERR, "%s calling getkdata", - krb_err_txt[kerror]); - SlowDeath(); - } - syslog(LOG_INFO, "connection from %s.%s@%s", - auth_dat.pname, auth_dat.pinst, auth_dat.prealm); - - /* - * AUTHORIZATION is done here. We might want to expand this - * to read an acl file at some point, but allowing for now - * KPROP_SERVICE_NAME.KRB_MASTER@local-realm is fine ... - */ - - if ((strcmp(KPROP_SERVICE_NAME, auth_dat.pname) != 0) || - (strcmp(KRB_MASTER, auth_dat.pinst) != 0) || - (strcmp(my_realm, auth_dat.prealm) != 0)) { - syslog(LOG_NOTICE, "authorization denied"); - SlowDeath(); - } - switch (transfer_mode) { - case KPROP_TRANSFER_PRIVATE: - recv_auth(s2, fd, 1 /* private */ , &from, &sin, &auth_dat); - break; - case KPROP_TRANSFER_SAFE: - recv_auth(s2, fd, 0 /* safe */ , &from, &sin, &auth_dat); - break; - case KPROP_TRANSFER_CLEAR: - recv_clear(s2, fd); - break; - default: - syslog(LOG_ERR, "bad transfer mode %d", transfer_mode); - SlowDeath(); - } - - if (transfer_mode != KPROP_TRANSFER_PRIVATE) { - syslog(LOG_ERR, "non-private transfers not supported\n"); - SlowDeath(); -#ifdef doesnt_work_yet - lseek(fd, (long) 0, L_SET); - if (auth_dat.checksum != get_data_checksum(fd, session_sched)) { - syslog(LOG_ERR, "checksum doesn't match"); - SlowDeath(); - } -#endif - } else { - struct stat st; - fstat(fd, &st); - if (st.st_size != auth_dat.checksum) { - syslog(LOG_ERR, "length doesn't match"); - SlowDeath(); - } - } - close(fd); - close(s2); - - if (rename(local_temp, local_file) < 0) { - syslog(LOG_ERR, "rename: %m"); - SlowDeath(); - } - - if (flock(fdlock, LOCK_UN)) { - syslog(LOG_ERR, "flock (unlock): %m"); - SlowDeath(); - } - close(fdlock); - sprintf(cmd, "%s load %s %s\n", kdb_util, local_file, local_db); - if (system(cmd) != 0) { - syslog(LOG_ERR, "couldn't load database"); - SlowDeath(); - } - -#ifdef STANDALONE - } -#endif - -} - -void -recv_auth(in, out, private, remote, local, ad) - int in, out; - int private; - struct sockaddr_in *remote, *local; - AUTH_DAT *ad; -{ - u_long length; - long kerror; - int n; - MSG_DAT msg_data; - Key_schedule session_sched; - - if (private) -#ifdef NOENCRYPTION - bzero((char *) session_sched, sizeof(session_sched)); -#else - if (key_sched((C_Block *)ad->session, session_sched)) { - syslog(LOG_ERR, "can't make key schedule"); - SlowDeath(); - } -#endif - - while (1) { - n = krb_net_read(in, (char *)&length, sizeof length); - if (n == 0) - break; - if (n < 0) { - syslog(LOG_ERR, "read: %m"); - SlowDeath(); - } - length = ntohl(length); - if (length > sizeof buf) { - syslog(LOG_ERR, "read length %d, bigger than buf %d", - length, sizeof buf); - SlowDeath(); - } - n = krb_net_read(in, buf, length); - if (n < 0) { - syslog(LOG_ERR, "kpropd: read: %m"); - SlowDeath(); - } - if (private) - kerror = krb_rd_priv(buf, n, session_sched, ad->session, - remote, local, &msg_data); - else - kerror = krb_rd_safe(buf, n, (C_Block *)ad->session, - remote, local, &msg_data); - if (kerror != KSUCCESS) { - syslog(LOG_ERR, "%s: %s", - private ? "krb_rd_priv" : "krb_rd_safe", - krb_err_txt[kerror]); - SlowDeath(); - } - if (write(out, msg_data.app_data, msg_data.app_length) != - msg_data.app_length) { - syslog(LOG_ERR, "write: %m"); - SlowDeath(); - } - } -} - -void -recv_clear(in, out) - int in, out; -{ - int n; - - while (1) { - n = read(in, buf, sizeof buf); - if (n == 0) - break; - if (n < 0) { - syslog(LOG_ERR, "read: %m"); - SlowDeath(); - } - if (write(out, buf, n) != n) { - syslog(LOG_ERR, "write: %m"); - SlowDeath(); - } - } -} - -static void -SlowDeath() -{ -#ifdef STANDALONE - sleep(pause_int); -#endif - exit(1); -} - -#ifdef doesnt_work_yet -unsigned long -get_data_checksum(fd, key_sched) - int fd; - Key_schedule key_sched; -{ - unsigned long cksum = 0; - unsigned long cbc_cksum(); - int n; - char buf[BUFSIZ]; - char obuf[8]; - - while (n = read(fd, buf, sizeof buf)) { - if (n < 0) { - syslog(LOG_ERR, "read (in checksum test): %m"); - SlowDeath(); - } -#ifndef NOENCRYPTION - cksum += cbc_cksum(buf, obuf, n, key_sched, key_sched); -#endif - } - return cksum; -} -#endif diff --git a/eBones/libexec/registerd/Makefile b/eBones/libexec/registerd/Makefile deleted file mode 100644 index 1afe721205b2c..0000000000000 --- a/eBones/libexec/registerd/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# -# Copyright (c) 1990 The Regents of the University of California. -# All rights reserved. -# -# %sccs.include.redist.sh -# -# @(#)Makefile 8.1 (Berkeley) 6/1/93 -# -# $Id: Makefile,v 1.5 1995/09/14 04:05:16 gibbs Exp $ - -PROG= registerd -SRCS= registerd.c -CFLAGS+=-DCRYPT -DKERBEROS -I${.CURDIR}/../../usr.bin/register -DPADD+= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD= -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN8= registerd.8 - -.include <bsd.prog.mk> diff --git a/eBones/libexec/registerd/registerd.8 b/eBones/libexec/registerd/registerd.8 deleted file mode 100644 index 3fc8e2873140b..0000000000000 --- a/eBones/libexec/registerd/registerd.8 +++ /dev/null @@ -1,71 +0,0 @@ -.\" Copyright (c) 1990, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)registerd.8 8.2 (Berkeley) 12/11/93 -.\" -.Dd December 11, 1993 -.Dt REGISTERD 8 -.Os -.Sh NAME -.Nm registerd -.Nd Kerberos registration daemon -.Sh SYNOPSIS -.Nm registerd -.Sh DESCRIPTION -Act as a registration agent for a Kerberos domain. -.Sh FILES -.Bl -tag -width /etc/kerberosIV/register_keys -compact -.It Pa /etc/kerberosIV/principal* -Kerberos database -.It Pa /etc/kerberosIV/register_keys/ -directory containing -.Tn DES -keys for trusted hosts -.It Pa .update.keyxx.xx.xx.xx -shared -.Tn DES -key with server -.El -.Sh SEE ALSO -.Xr registerd 8 , -.Xr kerberos 1 -.Sh DIAGNOSTICS -.Dq Already exists , -if the user already exists in the Kerberos database. -.Pp -.Dq Permission Denied , -if the host on which register is being run is untrusted. -.Sh HISTORY -The -.Nm registerd -utility -first appeared in 4.4BSD. - diff --git a/eBones/libexec/registerd/registerd.c b/eBones/libexec/registerd/registerd.c deleted file mode 100644 index 7c749240ae1ba..0000000000000 --- a/eBones/libexec/registerd/registerd.c +++ /dev/null @@ -1,355 +0,0 @@ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if 0 -#ifndef lint -static char copyright[] = -"@(#) Copyright (c) 1990, 1993\n\ - The Regents of the University of California. All rights reserved.\n"; -static char sccsid[] = "@(#)registerd.c 8.1 (Berkeley) 6/1/93"; -#endif /* not lint */ -#endif - -#include <sys/types.h> -#include <sys/time.h> -#include <sys/signal.h> -#include <sys/resource.h> -#include <sys/param.h> -#include <sys/file.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <syslog.h> -#include <des.h> -#include <krb.h> -#include <krb_db.h> -#include <string.h> -#include <stdio.h> -#include <unistd.h> -#include "register_proto.h" -#include "pathnames.h" - -#define KBUFSIZ (sizeof(struct keyfile_data)) -#define RCRYPT 0x00 -#define CLEAR 0x01 - -char *progname, msgbuf[BUFSIZ]; - -void cleanup(void); -void die(int); -void send_packet(char *msg, int flag); -int net_get_principal(char *pname, char *iname, C_Block *keyp); -int do_append(struct sockaddr_in *sinp); - -void -main(argc, argv) - int argc; - char **argv; -{ - static Key_schedule schedule; - static struct rlimit rl = { 0, 0 }; - struct keyfile_data *kfile; - u_char code; - int kf, retval, sval; - struct sockaddr_in sin; - char keyfile[MAXPATHLEN], keybuf[KBUFSIZ]; - - progname = argv[0]; /* for the library routines */ - - openlog("registerd", LOG_PID, LOG_AUTH); - - signal(SIGHUP, SIG_IGN); - signal(SIGINT, SIG_IGN); - signal(SIGTSTP, SIG_IGN); - signal(SIGPIPE, die); - - if (setrlimit(RLIMIT_CORE, &rl) < 0) { - syslog(LOG_ERR, "setrlimit: %m"); - exit(1); - } - - - /* figure out who we are talking to */ - - sval = sizeof(sin); - if (getpeername(0, (struct sockaddr *) &sin, &sval) < 0) { - syslog(LOG_ERR, "getpeername: %m"); - exit(1); - } - - /* get encryption key */ - - (void) sprintf(keyfile, "%s/%s%s", - SERVER_KEYDIR, - KEYFILE_BASE, - inet_ntoa(sin.sin_addr)); - - if ((kf = open(keyfile, O_RDONLY)) < 0) { - syslog(LOG_ERR, - "error opening Kerberos update keyfile (%s): %m", keyfile); - sprintf(msgbuf, - "couldn't open session keyfile for your host"); - send_packet(msgbuf, CLEAR); - exit(1); - } - - if (read(kf, keybuf, KBUFSIZ) != KBUFSIZ) { - syslog(LOG_ERR, "wrong read size of Kerberos update keyfile"); - sprintf(msgbuf, - "couldn't read session key from your host's keyfile"); - send_packet(msgbuf, CLEAR); - exit(1); - } - sprintf(msgbuf, GOTKEY_MSG); - send_packet(msgbuf, CLEAR); - kfile = (struct keyfile_data *) keybuf; - key_sched((C_Block *)kfile->kf_key, schedule); - des_set_key_krb((des_cblock *)kfile->kf_key, schedule); - - /* read the command code byte */ - - if (des_read(0, &code, 1) == 1) { - - switch(code) { - case APPEND_DB: - retval = do_append(&sin); - break; - case ABORT: - cleanup(); - close(0); - exit(0); - default: - retval = KFAILURE; - syslog(LOG_NOTICE, - "invalid command code on db update (0x%x)", - code); - } - - } else { - retval = KFAILURE; - syslog(LOG_ERR, - "couldn't read command code on Kerberos update"); - } - - code = (u_char) retval; - if (code != KSUCCESS) { - sprintf(msgbuf, "%s", krb_err_txt[code]); - send_packet(msgbuf, RCRYPT); - } else { - sprintf(msgbuf, "Update complete."); - send_packet(msgbuf, RCRYPT); - } - cleanup(); - close(0); - exit(0); -} - -#define MAX_PRINCIPAL 10 -static Principal principal_data[MAX_PRINCIPAL]; -static C_Block key, master_key; -static Key_schedule master_key_schedule; - -int -do_append(sinp) - struct sockaddr_in *sinp; -{ - Principal default_princ; - char input_name[ANAME_SZ]; - char input_instance[INST_SZ]; - int j,n, more; - long mkeyversion; - - - - /* get master key from MKEYFILE */ - if (kdb_get_master_key(0, master_key, master_key_schedule) != 0) { - syslog(LOG_ERR, "couldn't get master key"); - return(KFAILURE); - } - - mkeyversion = kdb_verify_master_key(master_key, master_key_schedule, NULL); - if (mkeyversion < 0) { - syslog(LOG_ERR, "couldn't validate master key"); - return(KFAILURE); - } - - n = kerb_get_principal(KERB_DEFAULT_NAME, KERB_DEFAULT_INST, - &default_princ, 1, &more); - - if (n != 1) { - syslog(LOG_ERR, "couldn't get default principal"); - return(KFAILURE); - } - - /* - * get principal name, instance, and password from network. - * convert password to key and store it - */ - - if (net_get_principal(input_name, input_instance, (C_Block *)key) != 0) { - return(KFAILURE); - } - - - j = kerb_get_principal( - input_name, - input_instance, - principal_data, - MAX_PRINCIPAL, - &more - ); - - if (j != 0) { - /* already in database, no update */ - syslog(LOG_NOTICE, - "attempt to add duplicate entry for principal %s.%s", - input_name, input_instance); - return(KDC_PR_N_UNIQUE); - } - - /* - * set up principal's name, instance - */ - - strcpy(principal_data[0].name, input_name); - strcpy(principal_data[0].instance, input_instance); - principal_data[0].old = NULL; - - - /* and the expiration date and version #s */ - - principal_data[0].exp_date = default_princ.exp_date; - strcpy(principal_data[0].exp_date_txt, default_princ.exp_date_txt); - principal_data[0].max_life = default_princ.max_life; - principal_data[0].attributes = default_princ.attributes; - principal_data[0].kdc_key_ver = default_princ.kdc_key_ver; - - - /* and the key */ - - kdb_encrypt_key(key, key, master_key, master_key_schedule, - ENCRYPT); - bcopy(key, &principal_data[0].key_low, 4); - bcopy(((long *) key) + 1, &principal_data[0].key_high,4); - bzero(key, sizeof(key)); - - principal_data[0].key_version = 1; /* 1st entry */ - - /* and write it to the database */ - - if (kerb_put_principal(&principal_data[0], 1)) { - syslog(LOG_INFO, "Kerberos update failure: put_principal failed"); - return(KFAILURE); - } - - syslog(LOG_NOTICE, "Kerberos update: wrote new record for %s.%s from %s", - principal_data[0].name, - principal_data[0].instance, - inet_ntoa(sinp->sin_addr) - ); - - return(KSUCCESS); - -} - -void -send_packet(msg,flag) - char *msg; - int flag; -{ - int len = strlen(msg); - msg[len++] = '\n'; - msg[len] = '\0'; - if (len > sizeof(msgbuf)) { - syslog(LOG_ERR, "send_packet: invalid msg size"); - return; - } - if (flag == RCRYPT) { - if (des_write(0, msg, len) != len) - syslog(LOG_ERR, "couldn't write reply message"); - } else if (flag == CLEAR) { - if (write(0, msg, len) != len) - syslog(LOG_ERR, "couldn't write reply message"); - } else - syslog(LOG_ERR, "send_packet: invalid flag (%d)", flag); - -} - -int -net_get_principal(pname, iname, keyp) - char *pname, *iname; - C_Block *keyp; -{ - int cc; - static char password[255]; - - cc = des_read(0, pname, ANAME_SZ); - if (cc != ANAME_SZ) { - syslog(LOG_ERR, "couldn't get principal name"); - return(-1); - } - - cc = des_read(0, iname, INST_SZ); - if (cc != INST_SZ) { - syslog(LOG_ERR, "couldn't get instance name"); - return(-1); - } - - cc = des_read(0, password, 255); - if (cc != 255) { - syslog(LOG_ERR, "couldn't get password"); - bzero(password, 255); - return(-1); - } - - string_to_key(password, (des_cblock *)*keyp); - bzero(password, 255); - return(0); -} - -void -cleanup() -{ - bzero(master_key, sizeof(master_key)); - bzero(key, sizeof(key)); - bzero(master_key_schedule, sizeof(master_key_schedule)); -} - -void -die(sig) - int sig; -{ - syslog(LOG_ERR, "remote end died (SIGPIPE)"); - cleanup(); - exit(1); -} diff --git a/eBones/libexec/rkinitd/Makefile b/eBones/libexec/rkinitd/Makefile deleted file mode 100644 index 5a925345b2f57..0000000000000 --- a/eBones/libexec/rkinitd/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# @(#)Makefile 8.1 (Berkeley) 6/4/93 - -PROG= rkinitd -SRCS= ${RKINITOBJDIR}/rkinit_err.h rkinitd.c util.c rpc.c krb.c -CFLAGS+=-I${KRBOBJDIR} -I${RKINITOBJDIR} -DKERBEROS -DPADD= ${LIBKRB} ${LIBDES} -LDADD= -L${RKINITOBJDIR} -lrkinit -L${KRBOBJDIR} -lkrb \ - -L${DESOBJDIR} -ldes - -MAN8= rkinitd.8 - -.include <bsd.prog.mk> diff --git a/eBones/libexec/rkinitd/krb.c b/eBones/libexec/rkinitd/krb.c deleted file mode 100644 index 23734db4307d4..0000000000000 --- a/eBones/libexec/rkinitd/krb.c +++ /dev/null @@ -1,388 +0,0 @@ -/* - * $Id: krb.c,v 1.1 1993/07/29 22:45:19 dglo Exp gibbs $ - * $Source: /usr/src/eBones/rkinitd/RCS/krb.c,v $ - * $Author: dglo $ - * - * This file contains all of the kerberos part of rkinitd. - */ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid = "$Id: krb.c,v 1.1 1993/07/29 22:45:19 dglo Exp gibbs $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <stdio.h> -#include <sys/types.h> -#include <errno.h> -#include <syslog.h> -#include <netinet/in.h> -#include <setjmp.h> -#include <string.h> -#include <unistd.h> -#include <pwd.h> -#include <krb.h> -#include <des.h> - -#include <rkinit.h> -#include <rkinit_private.h> -#include <rkinit_err.h> - -#include "rkinitd.h" - -#define FAILURE (!RKINIT_SUCCESS) - -extern int errno; - -static char errbuf[BUFSIZ]; - -typedef struct { - jmp_buf env; -} rkinitd_intkt_info; - - -#if defined(_AIX) && defined(_IBMR2) - -#include <sys/id.h> - -/* - * The RIOS has bizzarre ideas about changing uids around. They are - * such that the seteuid and setruid calls here fail. For this reason - * we are replacing the seteuid and setruid calls. - * - * The bizzarre ideas are as follows: - * - * The effective ID may be changed only to the current real or - * saved IDs. - * - * The saved uid may be set only if the real and effective - * uids are being set to the same value. - * - * The real uid may be set only if the effective - * uid is being set to the same value. - */ - -#ifdef __STDC__ -static int setruid(uid_t ruid) -#else -static int setruid(ruid) - uid_t ruid; -#endif /* __STDC__ */ -{ - uid_t euid; - - euid = geteuid(); - - if (setuidx(ID_REAL | ID_EFFECTIVE, ruid) == -1) - return (-1); - - return (setuidx(ID_EFFECTIVE, euid)); -} - - -#ifdef __STDC__ -static int seteuid(uid_t euid) -#else -static int seteuid(euid) - uid_t euid; -#endif /* __STDC__ */ -{ - uid_t ruid; - - ruid = getuid(); - - if (setuidx(ID_SAVED | ID_REAL | ID_EFFECTIVE, euid) == -1) - return (-1); - - return (setruid(ruid)); -} - - -#ifdef __STDC__ -static int setreuid(uid_t ruid, uid_t euid) -#else -static int setreuid(ruid, euid) - uid_t ruid; - uid_t euid; -#endif /* __STDC__ */ -{ - if (seteuid(euid) == -1) - return (-1); - - return (setruid(ruid)); -} - - -#ifdef __STDC__ -static int setuid(uid_t uid) -#else -static int setuid(uid) - uid_t uid; -#endif /* __STDC__ */ -{ - return (setreuid(uid, uid)); -} - -#endif /* RIOS */ - - -#ifdef __STDC__ -static void this_phost(char *host, int hostlen) -#else -static void this_phost(host, hostlen) - char *host; - int hostlen; -#endif /* __STDC__ */ -{ - char this_host[MAXHOSTNAMELEN + 1]; - - BCLEAR(this_host); - - if (gethostname(this_host, sizeof(this_host)) < 0) { - sprintf(errbuf, "gethostname: %s", sys_errlist[errno]); - rkinit_errmsg(errbuf); - error(); - exit(1); - } - - strncpy(host, krb_get_phost(this_host), hostlen - 1); -} - -#ifdef __STDC__ -static int decrypt_tkt(char *user, char *instance, char *realm, char *arg, - int (*key_proc)(), KTEXT *cipp) -#else -static int decrypt_tkt(user, instance, realm, arg, key_proc, cipp) - char *user; - char *instance; - char *realm; - char *arg; - int (*key_proc)(); - KTEXT *cipp; -#endif /* __STDC__ */ -{ - MSG_DAT msg_data; /* Message data containing decrypted data */ - KTEXT_ST auth; /* Authenticator */ - AUTH_DAT auth_dat; /* Authentication data */ - KTEXT cip = *cipp; - MSG_DAT scip; - int status = 0; - des_cblock key; - des_key_schedule sched; - char phost[MAXHOSTNAMELEN + 1]; - struct sockaddr_in caddr; /* client internet address */ - struct sockaddr_in saddr; /* server internet address */ - - rkinitd_intkt_info *rii = (rkinitd_intkt_info *)arg; - - u_char enc_data[MAX_KTXT_LEN]; - - SBCLEAR(auth); - SBCLEAR(auth_dat); - SBCLEAR(scip); - BCLEAR(enc_data); - - scip.app_data = enc_data; - - /* - * Exchange with the client our response from the KDC (ticket encrypted - * in user's private key) for the same ticket encrypted in our - * (not yet known) session key. - */ - - rpc_exchange_tkt(cip, &scip); - - /* - * Get the authenticator - */ - - SBCLEAR(auth); - - rpc_getauth(&auth, &caddr, &saddr); - - /* - * Decode authenticator and extract session key. The first zero - * means we don't care what host this comes from. This needs to - * be done with euid of root so that /etc/srvtab can be read. - */ - - BCLEAR(phost); - this_phost(phost, sizeof(phost)); - - /* - * This function has to use longjmp to return to the caller - * because the kerberos library routine that calls it doesn't - * pay attention to the return value it gives. That means that - * if any of these routines failed, the error returned to the client - * would be "password incorrect". - */ - - if ((status = krb_rd_req(&auth, KEY, phost, caddr.sin_addr.s_addr, - &auth_dat, KEYFILE))) { - sprintf(errbuf, "krb_rd_req: %s", krb_err_txt[status]); - rkinit_errmsg(errbuf); - longjmp(rii->env, status); - } - - bcopy(auth_dat.session, key, sizeof(key)); - if (des_key_sched(&key, sched)) { - sprintf(errbuf, "Error in des_key_sched"); - rkinit_errmsg(errbuf); - longjmp(rii->env, RKINIT_DES); - } - - /* Decrypt the data. */ - if ((status = - krb_rd_priv((u_char *)scip.app_data, scip.app_length, - sched, key, &caddr, &saddr, &msg_data)) == KSUCCESS) { - cip->length = msg_data.app_length; - bcopy(msg_data.app_data, cip->dat, msg_data.app_length); - cip->dat[cip->length] = 0; - } - else { - sprintf(errbuf, "krb_rd_priv: %s", krb_err_txt[status]); - rkinit_errmsg(errbuf); - longjmp(rii->env, status); - } - - return(status); -} - -#ifdef __STDC__ -static int validate_user(char *aname, char *inst, char *realm, - char *username, char *errmsg) -#else -static int validate_user(aname, inst, realm, username, errmsg) - char *aname; - char *inst; - char *realm; - char *username; - char *errmsg; -#endif /* __STDC__ */ -{ - struct passwd *pwnam; /* For access_check and uid */ - AUTH_DAT auth_dat; - int kstatus = KSUCCESS; - - SBCLEAR(auth_dat); - - if ((pwnam = getpwnam(username)) == NULL) { - sprintf(errmsg, "%s does not exist on the remote host.", username); - return(FAILURE); - } - - strcpy(auth_dat.pname, aname); - strcpy(auth_dat.pinst, inst); - strcpy(auth_dat.prealm, realm); - - if (seteuid(pwnam->pw_uid) < 0) { - sprintf(errmsg, "Failure setting euid to %d: %s\n", pwnam->pw_uid, - sys_errlist[errno]); - strcpy(errbuf, errmsg); - error(); - return(FAILURE); - } - kstatus = kuserok(&auth_dat, username); - if (seteuid(0) < 0) { - sprintf(errmsg, "Failure setting euid to 0: %s\n", - sys_errlist[errno]); - strcpy(errbuf, errmsg); - error(); - return(FAILURE); - } - - if (kstatus != KSUCCESS) { - sprintf(errmsg, "%s has not allowed you to log in with", username); - if (strlen(auth_dat.pinst)) - sprintf(errmsg, "%s %s.%s", errmsg, auth_dat.pname, - auth_dat.pinst); - else - sprintf(errmsg, "%s %s", errmsg, auth_dat.pname); - sprintf(errmsg, "%s@%s tickets.", errmsg, auth_dat.prealm); - return(FAILURE); - } - - /* - * Set real uid to owner of ticket file. The library takes care - * of making the appropriate change. - */ - if (setruid(pwnam->pw_uid) < 0) { - sprintf(errmsg, "Failure setting ruid to %d: %s\n", pwnam->pw_uid, - sys_errlist[errno]); - strcpy(errbuf, errmsg); - error(); - return(FAILURE); - } - - return(RKINIT_SUCCESS); -} - -#ifdef __STDC__ -int get_tickets(int version) -#else -int get_tickets(version) - int version; -#endif /* __STDC__ */ -{ - rkinit_info info; - AUTH_DAT auth_dat; - - int status; - char errmsg[BUFSIZ]; /* error message for client */ - - rkinitd_intkt_info rii; - - SBCLEAR(info); - SBCLEAR(auth_dat); - BCLEAR(errmsg); - SBCLEAR(rii); - - rpc_get_rkinit_info(&info); - - /* - * The validate_user routine makes sure that the principal in question - * is allowed to log in as username, and if so, does a setuid(localuid). - * If there is an access violation or an error in setting the uid, - * an error is returned and the string errmsg is initialized with - * an error message that will be sent back to the client. - */ - if ((status = validate_user(info.aname, info.inst, info.realm, - info.username, errmsg)) != RKINIT_SUCCESS) { - rpc_send_error(errmsg); - exit(0); - } - else - rpc_send_success(); - - /* - * If the name of a ticket file was specified, set it; otherwise, - * just use the default. - */ - if (strlen(info.tktfilename)) - krb_set_tkt_string(info.tktfilename); - - /* - * Call internal kerberos library routine so that we can supply - * our own ticket decryption routine. - */ - - /* - * We need a setjmp here because krb_get_in_tkt ignores the - * return value of decrypt_tkt. Thus if we want any of its - * return values to reach the client, we have to jump out of - * the routine. - */ - - if (setjmp(rii.env) == 0) { - if ((status = krb_get_in_tkt(info.aname, info.inst, info.realm, - info.sname, info.sinst, info.lifetime, - NULL, decrypt_tkt, (char *)&rii))) { - strcpy(errmsg, krb_err_txt[status]); - rpc_send_error(errmsg); - } - else - rpc_send_success(); - } - else - rpc_send_error(errbuf); - - return(RKINIT_SUCCESS); -} diff --git a/eBones/libexec/rkinitd/rkinitd.8 b/eBones/libexec/rkinitd/rkinitd.8 deleted file mode 100644 index 841ee09cf49bf..0000000000000 --- a/eBones/libexec/rkinitd/rkinitd.8 +++ /dev/null @@ -1,42 +0,0 @@ -.\" -.\" $Header: /home/ncvs/src/eBones/libexec/rkinitd/rkinitd.8,v 1.1.1.1 1995/09/15 06:13:43 gibbs Exp $ -.\" $Source: /home/ncvs/src/eBones/libexec/rkinitd/rkinitd.8,v $ -.\" $Author: gibbs $ -.\" -.\" -.TH RKINITD 8 "November 12, 1989" -.UC 4 -.SH NAME -rkinitd \- server for -.I rkinit, -a remote kerberos ticket establishment utility -.SH SYNOPSIS -.B rkinitd -.SH DESCRIPTION -.I rkinitd -is the server for -.I rkinit. -See -.IR rkinit (1) -for information about -.I rkinit. -.I rkinitd -is started from inetd and must be run as root or be installed -setuid(root) as it needs to be able to read /etc/kerberosIV/srvtab and -change its uid to create tickets. - -.I rkinitd -times out in 60 seconds if the transaction is not completed. - -.I rkinitd -must be running on a machine that is registered for rlogin -service; that is, the host must have a srvtab containing an rcmd.<host> -key where <host> is the value returned by the -.IR krb_get_phost (3) -kerberos library call. - -.SH SEE ALSO -rkinit(1), inetd(8), kerberos(1), kerberos(3) - -.SH AUTHOR -Emanuel Jay Berkenbilt (MIT-Project Athena) diff --git a/eBones/libexec/rkinitd/rkinitd.c b/eBones/libexec/rkinitd/rkinitd.c deleted file mode 100644 index 724414977c24f..0000000000000 --- a/eBones/libexec/rkinitd/rkinitd.c +++ /dev/null @@ -1,137 +0,0 @@ -/* - * $Id: rkinitd.c,v 1.1 1993/12/10 18:54:19 dglo Exp gibbs $ - * $Source: /usr/src/eBones/rkinitd/RCS/rkinitd.c,v $ - * $Author: dglo $ - * - * This is the main source file for rkinit - */ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid = "$Id: rkinitd.c,v 1.1 1993/12/10 18:54:19 dglo Exp gibbs $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <stdio.h> -#include <ctype.h> -#include <errno.h> -#include <sys/types.h> -#include <sys/file.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <strings.h> -#include <signal.h> -#include <sys/time.h> -#include <pwd.h> -#include <unistd.h> -#include <krb.h> -#include <des.h> -#include <syslog.h> - -#include <rkinit.h> -#include <rkinit_err.h> -#include <rkinit_private.h> - -#include "rkinitd.h" - -extern int errno; - -static int inetd = TRUE; /* True if we were started by inetd */ - -#ifdef __STDC__ -static void usage(void) -#else -static void usage() -#endif /* __STDC__ */ -{ - syslog(LOG_ERR, "rkinitd usage: rkinitd [-notimeout]\n"); - exit(1); -} - -#ifdef __STDC__ -void error(void) -#else -void error() -#endif /* __STDC__ */ -{ - char errbuf[BUFSIZ]; - - strcpy(errbuf, rkinit_errmsg(0)); - if (strlen(errbuf)) { - if (inetd) - syslog(LOG_ERR, "rkinitd: %s", errbuf); - else - fprintf(stderr, "rkinitd: %s\n", errbuf); - } -} - -int -#ifdef __STDC__ -main(int argc, char *argv[]) -#else -main(argc, argv) - int argc; - char *argv[]; -#endif /* __STDC__ */ -{ - int version; /* Version of the transaction */ - - int notimeout = FALSE; /* Should we not timeout? */ - - static char *envinit[1]; /* Empty environment */ - extern char **environ; /* This process's environment */ - - int status = 0; /* General error code */ - - /* - * Clear the environment so that this process does not inherit - * kerberos ticket variable information from the person who started - * the process (if a person started it...). - */ - environ = envinit; - - /* Initialize com_err error table */ - init_rkin_err_tbl(); - -#ifdef DEBUG - /* This only works if the library was compiled with DEBUG defined */ - rki_i_am_server(); -#endif /* DEBUG */ - - /* - * Make sure that we are running as root or can arrange to be - * running as root. We need both to be able to read /etc/srvtab - * and to be able to change uid to create tickets. - */ - - (void) setuid(0); - if (getuid() != 0) { - syslog(LOG_ERR, "rkinitd: not running as root.\n"); - exit(1); - } - - /* Determine whether to time out */ - if (argc == 2) { - if (strcmp(argv[1], "-notimeout")) - usage(); - else - notimeout = TRUE; - } - else if (argc != 1) - usage(); - - inetd = setup_rpc(notimeout); - - if ((status = choose_version(&version) != RKINIT_SUCCESS)) { - error(); - exit(1); - } - - if ((status = get_tickets(version) != RKINIT_SUCCESS)) { - error(); - exit(1); - } - - exit(0); -} - - diff --git a/eBones/libexec/rkinitd/rkinitd.h b/eBones/libexec/rkinitd/rkinitd.h deleted file mode 100644 index 1a65cba24ae36..0000000000000 --- a/eBones/libexec/rkinitd/rkinitd.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * $Id: rkinitd.h,v 1.1 1993/12/10 19:02:10 dglo Exp gibbs $ - * $Source: /usr/src/eBones/rkinitd/RCS/rkinitd.h,v $ - * $Author: dglo $ - * - * This header file contains function declarations for use for rkinitd - */ - -#ifndef __RKINITD_H__ -#define __RKINITD_H__ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid_rkinitd_h = "$Id: rkinitd.h,v 1.1 1993/12/10 19:02:10 dglo Exp gibbs $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#ifdef __STDC__ -#define RK_PROTO(x) x -#else -#define RK_PROTO(x) () -#endif /* __STDC__ */ - -int get_tickets RK_PROTO((int)); -void error RK_PROTO((void)); -int setup_rpc RK_PROTO((int)) ; -void rpc_exchange_version_info RK_PROTO((int *, int *, int, int)); -void rpc_get_rkinit_info RK_PROTO((rkinit_info *)); -void rpc_send_error RK_PROTO((char *)); -void rpc_send_success RK_PROTO((void)); -void rpc_exchange_tkt RK_PROTO((KTEXT, MSG_DAT *)); -void rpc_getauth RK_PROTO((KTEXT, struct sockaddr_in *, struct sockaddr_in *)); -int choose_version RK_PROTO((int *)); - - -#endif /* __RKINITD_H__ */ diff --git a/eBones/libexec/rkinitd/rpc.c b/eBones/libexec/rkinitd/rpc.c deleted file mode 100644 index 97d4f9f85c4e4..0000000000000 --- a/eBones/libexec/rkinitd/rpc.c +++ /dev/null @@ -1,222 +0,0 @@ -/* - * $Id: rpc.c,v 1.1 1993/12/10 18:59:29 dglo Exp gibbs $ - * $Source: /usr/src/eBones/rkinitd/RCS/rpc.c,v $ - * $Author: dglo $ - * - * This file contains the network parts of the rkinit server. - */ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid = "$Id: rpc.c,v 1.1 1993/12/10 18:59:29 dglo Exp gibbs $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <stdio.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <sys/time.h> -#include <sys/socket.h> -#include <syslog.h> -#include <signal.h> -#include <errno.h> -#include <string.h> - -#include <rkinit.h> -#include <rkinit_err.h> -#include <rkinit_private.h> - -#include "rkinitd.h" - -#define RKINITD_TIMEOUT 60 - -extern int errno; - -static int in; /* sockets */ -static int out; - -static char errbuf[BUFSIZ]; - -void error(); - -#ifdef __STDC__ -static void timeout(int signal) -#else -static void timeout(signal) - int signal; -#endif /* __STDC__ */ -{ - syslog(LOG_WARNING, "rkinitd timed out.\n"); - exit(1); - - return; -} - -/* - * This function does all the network setup for rkinitd. - * It returns true if we were started from inetd, or false if - * we were started from the commandline. - * It causes the program to exit if there is an error. - */ -#ifdef __STDC__ -int setup_rpc(int notimeout) -#else -int setup_rpc(notimeout) - int notimeout; /* True if we should not timeout */ -#endif /* __STDC__ */ -{ - struct itimerval timer; /* Time structure for timeout */ - - /* For now, support only inetd. */ - in = 0; - out = 1; - - if (! notimeout) { - SBCLEAR(timer); - - /* Set up an itimer structure to send an alarm signal after timeout - seconds. */ - timer.it_interval.tv_sec = RKINITD_TIMEOUT; - timer.it_interval.tv_usec = 0; - timer.it_value = timer.it_interval; - - /* Start the timer. */ - if (setitimer (ITIMER_REAL, &timer, (struct itimerval *)0) < 0) { - sprintf(errbuf, "setitimer: %s", sys_errlist[errno]); - rkinit_errmsg(errbuf); - error(); - exit(1); - } - - signal(SIGALRM, timeout); - } - - return(TRUE); -} - -#ifdef __STDC__ -void rpc_exchange_version_info(int *c_lversion, int *c_hversion, - int s_lversion, int s_hversion) -#else -void rpc_exchange_version_info(c_lversion, c_hversion, s_lversion, s_hversion) - int *c_lversion; - int *c_hversion; - int s_lversion; - int s_hversion; -#endif /* __STDC__ */ -{ - u_char version_info[VERSION_INFO_SIZE]; - u_int32_t length = sizeof(version_info); - - if (rki_get_packet(in, MT_CVERSION, &length, (char *)version_info) != - RKINIT_SUCCESS) { - error(); - exit(1); - } - - *c_lversion = version_info[0]; - *c_hversion = version_info[1]; - - version_info[0] = s_lversion; - version_info[1] = s_hversion; - - if (rki_send_packet(out, MT_SVERSION, length, (char *)version_info) != - RKINIT_SUCCESS) { - error(); - exit(1); - } -} - -#ifdef __STDC__ -void rpc_get_rkinit_info(rkinit_info *info) -#else -void rpc_get_rkinit_info(info) - rkinit_info *info; -#endif /* __STDC__ */ -{ - u_int32_t length = sizeof(rkinit_info); - - if (rki_get_packet(in, MT_RKINIT_INFO, &length, (char *)info)) { - error(); - exit(1); - } - - info->lifetime = ntohl(info->lifetime); -} - -#ifdef __STDC__ -void rpc_send_error(char *errmsg) -#else -void rpc_send_error(errmsg) - char *errmsg; -#endif /* __STDC__ */ -{ - if (rki_send_packet(out, MT_STATUS, strlen(errmsg), errmsg)) { - error(); - exit(1); - } -} - -#ifdef __STDC__ -void rpc_send_success(void) -#else -void rpc_send_success() -#endif /* __STDC__ */ -{ - if (rki_send_packet(out, MT_STATUS, 0, "")) { - error(); - exit(1); - } -} - -#ifdef __STDC__ -void rpc_exchange_tkt(KTEXT cip, MSG_DAT *scip) -#else -void rpc_exchange_tkt(cip, scip) - KTEXT cip; - MSG_DAT *scip; -#endif /* __STDC__ */ -{ - u_int32_t length = MAX_KTXT_LEN; - - if (rki_send_packet(out, MT_SKDC, cip->length, (char *)cip->dat)) { - error(); - exit(1); - } - - if (rki_get_packet(in, MT_CKDC, &length, (char *)scip->app_data)) { - error(); - exit(1); - } - scip->app_length = length; -} - -#ifdef __STDC__ -void rpc_getauth(KTEXT auth, struct sockaddr_in *caddr, - struct sockaddr_in *saddr) -#else -void rpc_getauth(auth, caddr, saddr) - KTEXT auth; - struct sockaddr_in *caddr; - struct sockaddr_in *saddr; -#endif /* __STDC__ */ -{ - int addrlen = sizeof(struct sockaddr_in); - - if (rki_rpc_get_ktext(in, auth, MT_AUTH)) { - error(); - exit(1); - } - - if (getpeername(in, (struct sockaddr *)caddr, &addrlen) < 0) { - sprintf(errbuf, "getpeername: %s", sys_errlist[errno]); - rkinit_errmsg(errbuf); - error(); - exit(1); - } - - if (getsockname(out, (struct sockaddr *)saddr, &addrlen) < 0) { - sprintf(errbuf, "getsockname: %s", sys_errlist[errno]); - rkinit_errmsg(errbuf); - error(); - exit(1); - } -} diff --git a/eBones/libexec/rkinitd/util.c b/eBones/libexec/rkinitd/util.c deleted file mode 100644 index 20812051dc48f..0000000000000 --- a/eBones/libexec/rkinitd/util.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * $Id: util.c,v 1.1 1993/12/10 18:59:29 dglo Exp gibbs $ - * $Source: /usr/src/eBones/rkinitd/RCS/util.c,v $ - * $Author: dglo $ - * - * This file contains general rkinit server utilities. - */ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid = "$Id: util.c,v 1.1 1993/12/10 18:59:29 dglo Exp gibbs $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <stdio.h> -#include <rkinit.h> -#include <rkinit_err.h> -#include <rkinit_private.h> - -#include "rkinitd.h" - -static char errbuf[BUFSIZ]; - -void rpc_exchange_version_info(); -void error(); - -#ifdef __STDC__ -int choose_version(int *version) -#else -int choose_version(version) - int *version; -#endif /* __STDC__ */ -{ - int c_lversion; /* lowest version number client supports */ - int c_hversion; /* highest version number client supports */ - int status = RKINIT_SUCCESS; - - rpc_exchange_version_info(&c_lversion, &c_hversion, - RKINIT_LVERSION, RKINIT_HVERSION); - - *version = min(RKINIT_HVERSION, c_hversion); - if (*version < max(RKINIT_LVERSION, c_lversion)) { - sprintf(errbuf, - "Can't run version %d client against version %d server.", - c_hversion, RKINIT_HVERSION); - rkinit_errmsg(errbuf); - return(RKINIT_VERSION); - } - - return(status); -} diff --git a/eBones/libexec/telnetd/Makefile b/eBones/libexec/telnetd/Makefile deleted file mode 100644 index c0c82eef67918..0000000000000 --- a/eBones/libexec/telnetd/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# @(#)Makefile 8.2 (Berkeley) 12/15/93 -# $Id$ - -# Do not define -DKLUDGELINEMODE, as it does not interact well with many -# telnet implementations. - -PROG= telnetd -MAN8= telnetd.8 - -SRCS= authenc.c global.c slc.c state.c sys_term.c telnetd.c \ - termstat.c utility.c - -DPADD= ${TELNETOBJDIR}/libtelnet.a ${LIBUTIL} ${LIBTERMCAP} -LDADD= -L${TELNETOBJDIR} -lutil -ltermcap -ltelnet - -CFLAGS+= -DLINEMODE -DUSE_TERMIO -DDIAGNOSTICS -DOLD_ENVIRON -DENV_HACK -CFLAGS+= -DENCRYPTION -I${.CURDIR}/../../lib - -.if exists(${DESTDIR}/usr/lib/libkrb.a) && (defined(MAKE_EBONES)) -CFLAGS+=-DAUTHENTICATION -LDADD+= -ldes -lkrb -DPADD+= ${LIBDES} ${LIBKRB} -.endif - -# Used only in krb4encpwd.c and rsaencpwd.c (libtelnet), not yet active -#LDADD+= -ldescrypt - -.include <bsd.prog.mk> diff --git a/eBones/libexec/telnetd/authenc.c b/eBones/libexec/telnetd/authenc.c deleted file mode 100644 index bff80a2b58792..0000000000000 --- a/eBones/libexec/telnetd/authenc.c +++ /dev/null @@ -1,91 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)authenc.c 8.2 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#if defined(AUTHENTICATION) || defined(ENCRYPTION) -#include "telnetd.h" -#include <libtelnet/misc.h> - - int -net_write(str, len) - unsigned char *str; - int len; -{ - if (nfrontp + len < netobuf + BUFSIZ) { - memmove((void *)nfrontp, (void *)str, len); - nfrontp += len; - return(len); - } - return(0); -} - - void -net_encrypt() -{ -#ifdef ENCRYPTION - char *s = (nclearto > nbackp) ? nclearto : nbackp; - if (s < nfrontp && encrypt_output) { - (*encrypt_output)((unsigned char *)s, nfrontp - s); - } - nclearto = nfrontp; -#endif /* ENCRYPTION */ -} - - int -telnet_spin() -{ - ttloop(); - return(0); -} - - char * -telnet_getenv(val) - char *val; -{ - extern char *getenv(); - return(getenv(val)); -} - - char * -telnet_gets(prompt, result, length, echo) - char *prompt; - char *result; - int length; - int echo; -{ - return((char *)0); -} -#endif /* defined(AUTHENTICATION) || defined(ENCRYPTION) */ diff --git a/eBones/libexec/telnetd/defs.h b/eBones/libexec/telnetd/defs.h deleted file mode 100644 index a73d4a6199783..0000000000000 --- a/eBones/libexec/telnetd/defs.h +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)defs.h 8.1 (Berkeley) 6/4/93 - */ - -/* - * Telnet server defines - */ -#include <sys/types.h> -#include <sys/param.h> - -#ifndef BSD -# define BSD 43 -#endif - -#if defined(CRAY) && !defined(LINEMODE) -# define SYSV_TERMIO -# define LINEMODE -# define KLUDGELINEMODE -# define DIAGNOSTICS -# if defined(UNICOS50) && !defined(UNICOS5) -# define UNICOS5 -# endif -# if !defined(UNICOS5) -# define BFTPDAEMON -# define HAS_IP_TOS -# endif -#endif /* CRAY */ -#if defined(UNICOS5) && !defined(NO_SETSID) -# define NO_SETSID -#endif - -#if defined(PRINTOPTIONS) && defined(DIAGNOSTICS) -#define TELOPTS -#define TELCMDS -#define SLC_NAMES -#endif - -#if defined(SYSV_TERMIO) && !defined(USE_TERMIO) -# define USE_TERMIO -#endif - -#include <sys/socket.h> -#ifndef CRAY -#include <sys/wait.h> -#endif /* CRAY */ -#include <fcntl.h> -#include <sys/file.h> -#include <sys/stat.h> -#include <sys/time.h> -#ifndef FILIO_H -#include <sys/ioctl.h> -#else -#include <sys/filio.h> -#endif - -#include <netinet/in.h> - -#include <arpa/telnet.h> - -#include <stdio.h> -#ifdef __STDC__ -#include <stdlib.h> -#endif -#include <signal.h> -#include <errno.h> -#include <netdb.h> -#include <syslog.h> -#ifndef LOG_DAEMON -#define LOG_DAEMON 0 -#endif -#ifndef LOG_ODELAY -#define LOG_ODELAY 0 -#endif -#include <ctype.h> -#ifndef NO_STRING_H -#include <string.h> -#else -#include <strings.h> -#endif - -#ifndef USE_TERMIO -#include <sgtty.h> -#else -# ifdef SYSV_TERMIO -# include <termio.h> -# else -# include <termios.h> -# endif -#endif -#if !defined(USE_TERMIO) || defined(NO_CC_T) -typedef unsigned char cc_t; -#endif - -#ifdef __STDC__ -#include <unistd.h> -#endif - -#ifndef _POSIX_VDISABLE -# ifdef VDISABLE -# define _POSIX_VDISABLE VDISABLE -# else -# define _POSIX_VDISABLE ((unsigned char)'\377') -# endif -#endif - - -#ifdef CRAY -# ifdef CRAY1 -# include <sys/pty.h> -# ifndef FD_ZERO -# include <sys/select.h> -# endif /* FD_ZERO */ -# endif /* CRAY1 */ - -#include <memory.h> -#endif /* CRAY */ - -#ifdef __hpux -#include <sys/ptyio.h> -#endif - -#if !defined(TIOCSCTTY) && defined(TCSETCTTY) -# define TIOCSCTTY TCSETCTTY -#endif - -#ifndef FD_SET -#ifndef HAVE_fd_set -typedef struct fd_set { int fds_bits[1]; } fd_set; -#endif - -#define FD_SET(n, p) ((p)->fds_bits[0] |= (1<<(n))) -#define FD_CLR(n, p) ((p)->fds_bits[0] &= ~(1<<(n))) -#define FD_ISSET(n, p) ((p)->fds_bits[0] & (1<<(n))) -#define FD_ZERO(p) ((p)->fds_bits[0] = 0) -#endif /* FD_SET */ - -/* - * I/O data buffers defines - */ -#define NETSLOP 64 -#ifdef CRAY -#undef BUFSIZ -#define BUFSIZ 2048 -#endif - -#define NIACCUM(c) { *netip++ = c; \ - ncc++; \ - } - -/* clock manipulations */ -#define settimer(x) (clocks.x = ++clocks.system) -#define sequenceIs(x,y) (clocks.x < clocks.y) - -/* - * Linemode support states, in decreasing order of importance - */ -#define REAL_LINEMODE 0x04 -#define KLUDGE_OK 0x03 -#define NO_AUTOKLUDGE 0x02 -#define KLUDGE_LINEMODE 0x01 -#define NO_LINEMODE 0x00 - -/* - * Structures of information for each special character function. - */ -typedef struct { - unsigned char flag; /* the flags for this function */ - cc_t val; /* the value of the special character */ -} slcent, *Slcent; - -typedef struct { - slcent defset; /* the default settings */ - slcent current; /* the current settings */ - cc_t *sptr; /* a pointer to the char in */ - /* system data structures */ -} slcfun, *Slcfun; - -#ifdef DIAGNOSTICS -/* - * Diagnostics capabilities - */ -#define TD_REPORT 0x01 /* Report operations to client */ -#define TD_EXERCISE 0x02 /* Exercise client's implementation */ -#define TD_NETDATA 0x04 /* Display received data stream */ -#define TD_PTYDATA 0x08 /* Display data passed to pty */ -#define TD_OPTIONS 0x10 /* Report just telnet options */ -#endif /* DIAGNOSTICS */ - -/* - * We keep track of each side of the option negotiation. - */ - -#define MY_STATE_WILL 0x01 -#define MY_WANT_STATE_WILL 0x02 -#define MY_STATE_DO 0x04 -#define MY_WANT_STATE_DO 0x08 - -/* - * Macros to check the current state of things - */ - -#define my_state_is_do(opt) (options[opt]&MY_STATE_DO) -#define my_state_is_will(opt) (options[opt]&MY_STATE_WILL) -#define my_want_state_is_do(opt) (options[opt]&MY_WANT_STATE_DO) -#define my_want_state_is_will(opt) (options[opt]&MY_WANT_STATE_WILL) - -#define my_state_is_dont(opt) (!my_state_is_do(opt)) -#define my_state_is_wont(opt) (!my_state_is_will(opt)) -#define my_want_state_is_dont(opt) (!my_want_state_is_do(opt)) -#define my_want_state_is_wont(opt) (!my_want_state_is_will(opt)) - -#define set_my_state_do(opt) (options[opt] |= MY_STATE_DO) -#define set_my_state_will(opt) (options[opt] |= MY_STATE_WILL) -#define set_my_want_state_do(opt) (options[opt] |= MY_WANT_STATE_DO) -#define set_my_want_state_will(opt) (options[opt] |= MY_WANT_STATE_WILL) - -#define set_my_state_dont(opt) (options[opt] &= ~MY_STATE_DO) -#define set_my_state_wont(opt) (options[opt] &= ~MY_STATE_WILL) -#define set_my_want_state_dont(opt) (options[opt] &= ~MY_WANT_STATE_DO) -#define set_my_want_state_wont(opt) (options[opt] &= ~MY_WANT_STATE_WILL) - -/* - * Tricky code here. What we want to know is if the MY_STATE_WILL - * and MY_WANT_STATE_WILL bits have the same value. Since the two - * bits are adjacent, a little arithmatic will show that by adding - * in the lower bit, the upper bit will be set if the two bits were - * different, and clear if they were the same. - */ -#define my_will_wont_is_changing(opt) \ - ((options[opt]+MY_STATE_WILL) & MY_WANT_STATE_WILL) - -#define my_do_dont_is_changing(opt) \ - ((options[opt]+MY_STATE_DO) & MY_WANT_STATE_DO) - -/* - * Make everything symetrical - */ - -#define HIS_STATE_WILL MY_STATE_DO -#define HIS_WANT_STATE_WILL MY_WANT_STATE_DO -#define HIS_STATE_DO MY_STATE_WILL -#define HIS_WANT_STATE_DO MY_WANT_STATE_WILL - -#define his_state_is_do my_state_is_will -#define his_state_is_will my_state_is_do -#define his_want_state_is_do my_want_state_is_will -#define his_want_state_is_will my_want_state_is_do - -#define his_state_is_dont my_state_is_wont -#define his_state_is_wont my_state_is_dont -#define his_want_state_is_dont my_want_state_is_wont -#define his_want_state_is_wont my_want_state_is_dont - -#define set_his_state_do set_my_state_will -#define set_his_state_will set_my_state_do -#define set_his_want_state_do set_my_want_state_will -#define set_his_want_state_will set_my_want_state_do - -#define set_his_state_dont set_my_state_wont -#define set_his_state_wont set_my_state_dont -#define set_his_want_state_dont set_my_want_state_wont -#define set_his_want_state_wont set_my_want_state_dont - -#define his_will_wont_is_changing my_do_dont_is_changing -#define his_do_dont_is_changing my_will_wont_is_changing diff --git a/eBones/libexec/telnetd/ext.h b/eBones/libexec/telnetd/ext.h deleted file mode 100644 index db3f1c395313f..0000000000000 --- a/eBones/libexec/telnetd/ext.h +++ /dev/null @@ -1,242 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ext.h 8.2 (Berkeley) 12/15/93 - */ - -/* - * Telnet server variable declarations - */ -extern char options[256]; -extern char do_dont_resp[256]; -extern char will_wont_resp[256]; -extern int linemode; /* linemode on/off */ -#ifdef LINEMODE -extern int uselinemode; /* what linemode to use (on/off) */ -extern int editmode; /* edit modes in use */ -extern int useeditmode; /* edit modes to use */ -extern int alwayslinemode; /* command line option */ -extern int lmodetype; /* Client support for linemode */ -#endif /* LINEMODE */ -extern int flowmode; /* current flow control state */ -extern int restartany; /* restart output on any character state */ -#ifdef DIAGNOSTICS -extern int diagnostic; /* telnet diagnostic capabilities */ -#endif /* DIAGNOSTICS */ -#ifdef BFTPDAEMON -extern int bftpd; /* behave as bftp daemon */ -#endif /* BFTPDAEMON */ -#if defined(SecurID) -extern int require_SecurID; -#endif -#if defined(AUTHENTICATION) -extern int auth_level; -#endif - -extern slcfun slctab[NSLC + 1]; /* slc mapping table */ - -char *terminaltype; - -/* - * I/O data buffers, pointers, and counters. - */ -extern char ptyobuf[BUFSIZ+NETSLOP], *pfrontp, *pbackp; - -extern char netibuf[BUFSIZ], *netip; - -extern char netobuf[BUFSIZ+NETSLOP], *nfrontp, *nbackp; -extern char *neturg; /* one past last bye of urgent data */ - -extern int pcc, ncc; - -#if defined(CRAY2) && defined(UNICOS5) -extern int unpcc; /* characters left unprocessed by CRAY-2 terminal routine */ -extern char *unptyip; /* pointer to remaining characters in buffer */ -#endif - -extern int pty, net; -extern char *line; -extern int SYNCHing; /* we are in TELNET SYNCH mode */ - -#ifndef P -# ifdef __STDC__ -# define P(x) x -# else -# define P(x) () -# endif -#endif - -extern void - _termstat P((void)), - add_slc P((int, int, int)), - check_slc P((void)), - change_slc P((int, int, int)), - cleanup P((int)), - clientstat P((int, int, int)), - copy_termbuf P((char *, int)), - deferslc P((void)), - defer_terminit P((void)), - do_opt_slc P((unsigned char *, int)), - doeof P((void)), - dooption P((int)), - dontoption P((int)), - edithost P((char *, char *)), - fatal P((int, char *)), - fatalperror P((int, char *)), - get_slc_defaults P((void)), - init_env P((void)), - init_termbuf P((void)), - interrupt P((void)), - localstat P((void)), - flowstat P((void)), - netclear P((void)), - netflush P((void)), -#ifdef DIAGNOSTICS - printoption P((char *, int)), - printdata P((char *, char *, int)), - printsub P((int, unsigned char *, int)), -#endif - ptyflush P((void)), - putchr P((int)), - putf P((char *, char *)), - recv_ayt P((void)), - send_do P((int, int)), - send_dont P((int, int)), - send_slc P((void)), - send_status P((void)), - send_will P((int, int)), - send_wont P((int, int)), - sendbrk P((void)), - sendsusp P((void)), - set_termbuf P((void)), - start_login P((char *, int, char *)), - start_slc P((int)), -#if defined(AUTHENTICATION) - start_slave P((char *)), -#else - start_slave P((char *, int, char *)), -#endif - suboption P((void)), - telrcv P((void)), - ttloop P((void)), - tty_binaryin P((int)), - tty_binaryout P((int)); - -extern int - end_slc P((unsigned char **)), - getnpty P((void)), -#ifndef convex - getpty P((int *)), -#endif - login_tty P((int)), - spcset P((int, cc_t *, cc_t **)), - stilloob P((int)), - terminit P((void)), - termstat P((void)), - tty_flowmode P((void)), - tty_restartany P((void)), - tty_isbinaryin P((void)), - tty_isbinaryout P((void)), - tty_iscrnl P((void)), - tty_isecho P((void)), - tty_isediting P((void)), - tty_islitecho P((void)), - tty_isnewmap P((void)), - tty_israw P((void)), - tty_issofttab P((void)), - tty_istrapsig P((void)), - tty_linemode P((void)); - -extern void - tty_rspeed P((int)), - tty_setecho P((int)), - tty_setedit P((int)), - tty_setlinemode P((int)), - tty_setlitecho P((int)), - tty_setsig P((int)), - tty_setsofttab P((int)), - tty_tspeed P((int)), - willoption P((int)), - wontoption P((int)), - writenet P((unsigned char *, int)); - -#ifdef ENCRYPTION -extern void (*encrypt_output) P((unsigned char *, int)); -extern int (*decrypt_input) P((int)); -extern char *nclearto; -#endif /* ENCRYPTION */ - - -/* - * The following are some clocks used to decide how to interpret - * the relationship between various variables. - */ - -extern struct { - int - system, /* what the current time is */ - echotoggle, /* last time user entered echo character */ - modenegotiated, /* last time operating mode negotiated */ - didnetreceive, /* last time we read data from network */ - ttypesubopt, /* ttype subopt is received */ - tspeedsubopt, /* tspeed subopt is received */ - environsubopt, /* environ subopt is received */ - oenvironsubopt, /* old environ subopt is received */ - xdisplocsubopt, /* xdisploc subopt is received */ - baseline, /* time started to do timed action */ - gotDM; /* when did we last see a data mark */ -} clocks; - - -#if defined(CRAY2) && defined(UNICOS5) -extern int needtermstat; -#endif - -#ifndef DEFAULT_IM -# ifdef CRAY -# define DEFAULT_IM "\r\n\r\nCray UNICOS (%h) (%t)\r\n\r\r\n\r" -# else -# ifdef sun -# define DEFAULT_IM "\r\n\r\nSunOS UNIX (%h) (%t)\r\n\r\r\n\r" -# else -# ifdef ultrix -# define DEFAULT_IM "\r\n\r\nULTRIX (%h) (%t)\r\n\r\r\n\r" -# else -# ifdef __FreeBSD__ -# define DEFAULT_IM "\r\n\r\nFreeBSD (%h) (%t)\r\n\r\r\n\r" -# else -# define DEFAULT_IM "\r\n\r\n4.4 BSD UNIX (%h) (%t)\r\n\r\r\n\r" -# endif -# endif -# endif -# endif -#endif diff --git a/eBones/libexec/telnetd/global.c b/eBones/libexec/telnetd/global.c deleted file mode 100644 index 0699d005d48bc..0000000000000 --- a/eBones/libexec/telnetd/global.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)global.c 8.1 (Berkeley) 6/4/93"; -#endif /* not lint */ - -/* - * Allocate global variables. We do this - * by including the header file that defines - * them all as externs, but first we define - * the keyword "extern" to be nothing, so that - * we will actually allocate the space. - */ - -#include "defs.h" -#define extern -#include "ext.h" diff --git a/eBones/libexec/telnetd/pathnames.h b/eBones/libexec/telnetd/pathnames.h deleted file mode 100644 index 4e14a88b49cdf..0000000000000 --- a/eBones/libexec/telnetd/pathnames.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)pathnames.h 8.1 (Berkeley) 6/4/93 - */ - -#if BSD > 43 - -# include <paths.h> - -# ifndef _PATH_LOGIN -# define _PATH_LOGIN "/usr/bin/login" -# endif - -#else - -# define _PATH_TTY "/dev/tty" -# ifndef _PATH_LOGIN -# define _PATH_LOGIN "/bin/login" -# endif - -#endif - -#ifdef BFTPDAEMON -#define BFTPPATH "/usr/ucb/bftp" -#endif /* BFTPDAEMON */ diff --git a/eBones/libexec/telnetd/slc.c b/eBones/libexec/telnetd/slc.c deleted file mode 100644 index 9579d0df32ff8..0000000000000 --- a/eBones/libexec/telnetd/slc.c +++ /dev/null @@ -1,491 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)slc.c 8.2 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#include "telnetd.h" - -#ifdef LINEMODE -/* - * local varibles - */ -static unsigned char *def_slcbuf = (unsigned char *)0; -static int def_slclen = 0; -static int slcchange; /* change to slc is requested */ -static unsigned char *slcptr; /* pointer into slc buffer */ -static unsigned char slcbuf[NSLC*6]; /* buffer for slc negotiation */ - -/* - * send_slc - * - * Write out the current special characters to the client. - */ - void -send_slc() -{ - register int i; - - /* - * Send out list of triplets of special characters - * to client. We only send info on the characters - * that are currently supported. - */ - for (i = 1; i <= NSLC; i++) { - if ((slctab[i].defset.flag & SLC_LEVELBITS) == SLC_NOSUPPORT) - continue; - add_slc((unsigned char)i, slctab[i].current.flag, - slctab[i].current.val); - } - -} /* end of send_slc */ - -/* - * default_slc - * - * Set pty special characters to all the defaults. - */ - void -default_slc() -{ - register int i; - - for (i = 1; i <= NSLC; i++) { - slctab[i].current.val = slctab[i].defset.val; - if (slctab[i].current.val == (cc_t)(_POSIX_VDISABLE)) - slctab[i].current.flag = SLC_NOSUPPORT; - else - slctab[i].current.flag = slctab[i].defset.flag; - if (slctab[i].sptr) { - *(slctab[i].sptr) = slctab[i].defset.val; - } - } - slcchange = 1; - -} /* end of default_slc */ -#endif /* LINEMODE */ - -/* - * get_slc_defaults - * - * Initialize the slc mapping table. - */ - void -get_slc_defaults() -{ - register int i; - - init_termbuf(); - - for (i = 1; i <= NSLC; i++) { - slctab[i].defset.flag = - spcset(i, &slctab[i].defset.val, &slctab[i].sptr); - slctab[i].current.flag = SLC_NOSUPPORT; - slctab[i].current.val = 0; - } - -} /* end of get_slc_defaults */ - -#ifdef LINEMODE -/* - * add_slc - * - * Add an slc triplet to the slc buffer. - */ - void -add_slc(func, flag, val) - register char func, flag; - register cc_t val; -{ - - if ((*slcptr++ = (unsigned char)func) == 0xff) - *slcptr++ = 0xff; - - if ((*slcptr++ = (unsigned char)flag) == 0xff) - *slcptr++ = 0xff; - - if ((*slcptr++ = (unsigned char)val) == 0xff) - *slcptr++ = 0xff; - -} /* end of add_slc */ - -/* - * start_slc - * - * Get ready to process incoming slc's and respond to them. - * - * The parameter getit is non-zero if it is necessary to grab a copy - * of the terminal control structures. - */ - void -start_slc(getit) - register int getit; -{ - - slcchange = 0; - if (getit) - init_termbuf(); - (void) sprintf((char *)slcbuf, "%c%c%c%c", - IAC, SB, TELOPT_LINEMODE, LM_SLC); - slcptr = slcbuf + 4; - -} /* end of start_slc */ - -/* - * end_slc - * - * Finish up the slc negotiation. If something to send, then send it. - */ - int -end_slc(bufp) - register unsigned char **bufp; -{ - register int len; - void netflush(); - - /* - * If a change has occured, store the new terminal control - * structures back to the terminal driver. - */ - if (slcchange) { - set_termbuf(); - } - - /* - * If the pty state has not yet been fully processed and there is a - * deferred slc request from the client, then do not send any - * sort of slc negotiation now. We will respond to the client's - * request very soon. - */ - if (def_slcbuf && (terminit() == 0)) { - return(0); - } - - if (slcptr > (slcbuf + 4)) { - if (bufp) { - *bufp = &slcbuf[4]; - return(slcptr - slcbuf - 4); - } else { - (void) sprintf((char *)slcptr, "%c%c", IAC, SE); - slcptr += 2; - len = slcptr - slcbuf; - writenet(slcbuf, len); - netflush(); /* force it out immediately */ - DIAG(TD_OPTIONS, printsub('>', slcbuf+2, len-2);); - } - } - return (0); - -} /* end of end_slc */ - -/* - * process_slc - * - * Figure out what to do about the client's slc - */ - void -process_slc(func, flag, val) - register unsigned char func, flag; - register cc_t val; -{ - register int hislevel, mylevel, ack; - - /* - * Ensure that we know something about this function - */ - if (func > NSLC) { - add_slc(func, SLC_NOSUPPORT, 0); - return; - } - - /* - * Process the special case requests of 0 SLC_DEFAULT 0 - * and 0 SLC_VARIABLE 0. Be a little forgiving here, don't - * worry about whether the value is actually 0 or not. - */ - if (func == 0) { - if ((flag = flag & SLC_LEVELBITS) == SLC_DEFAULT) { - default_slc(); - send_slc(); - } else if (flag == SLC_VARIABLE) { - send_slc(); - } - return; - } - - /* - * Appears to be a function that we know something about. So - * get on with it and see what we know. - */ - - hislevel = flag & SLC_LEVELBITS; - mylevel = slctab[func].current.flag & SLC_LEVELBITS; - ack = flag & SLC_ACK; - /* - * ignore the command if: - * the function value and level are the same as what we already have; - * or the level is the same and the ack bit is set - */ - if (hislevel == mylevel && (val == slctab[func].current.val || ack)) { - return; - } else if (ack) { - /* - * If we get here, we got an ack, but the levels don't match. - * This shouldn't happen. If it does, it is probably because - * we have sent two requests to set a variable without getting - * a response between them, and this is the first response. - * So, ignore it, and wait for the next response. - */ - return; - } else { - change_slc(func, flag, val); - } - -} /* end of process_slc */ - -/* - * change_slc - * - * Process a request to change one of our special characters. - * Compare client's request with what we are capable of supporting. - */ - void -change_slc(func, flag, val) - register char func, flag; - register cc_t val; -{ - register int hislevel, mylevel; - - hislevel = flag & SLC_LEVELBITS; - mylevel = slctab[(int)func].defset.flag & SLC_LEVELBITS; - /* - * If client is setting a function to NOSUPPORT - * or DEFAULT, then we can easily and directly - * accomodate the request. - */ - if (hislevel == SLC_NOSUPPORT) { - slctab[(int)func].current.flag = flag; - slctab[(int)func].current.val = (cc_t)_POSIX_VDISABLE; - flag |= SLC_ACK; - add_slc(func, flag, val); - return; - } - if (hislevel == SLC_DEFAULT) { - /* - * Special case here. If client tells us to use - * the default on a function we don't support, then - * return NOSUPPORT instead of what we may have as a - * default level of DEFAULT. - */ - if (mylevel == SLC_DEFAULT) { - slctab[(int)func].current.flag = SLC_NOSUPPORT; - } else { - slctab[(int)func].current.flag = slctab[(int)func].defset.flag; - } - slctab[(int)func].current.val = slctab[(int)func].defset.val; - add_slc(func, slctab[(int)func].current.flag, - slctab[(int)func].current.val); - return; - } - - /* - * Client wants us to change to a new value or he - * is telling us that he can't change to our value. - * Some of the slc's we support and can change, - * some we do support but can't change, - * and others we don't support at all. - * If we can change it then we have a pointer to - * the place to put the new value, so change it, - * otherwise, continue the negotiation. - */ - if (slctab[(int)func].sptr) { - /* - * We can change this one. - */ - slctab[(int)func].current.val = val; - *(slctab[(int)func].sptr) = val; - slctab[(int)func].current.flag = flag; - flag |= SLC_ACK; - slcchange = 1; - add_slc(func, flag, val); - } else { - /* - * It is not possible for us to support this - * request as he asks. - * - * If our level is DEFAULT, then just ack whatever was - * sent. - * - * If he can't change and we can't change, - * then degenerate to NOSUPPORT. - * - * Otherwise we send our level back to him, (CANTCHANGE - * or NOSUPPORT) and if CANTCHANGE, send - * our value as well. - */ - if (mylevel == SLC_DEFAULT) { - slctab[(int)func].current.flag = flag; - slctab[(int)func].current.val = val; - flag |= SLC_ACK; - } else if (hislevel == SLC_CANTCHANGE && - mylevel == SLC_CANTCHANGE) { - flag &= ~SLC_LEVELBITS; - flag |= SLC_NOSUPPORT; - slctab[(int)func].current.flag = flag; - } else { - flag &= ~SLC_LEVELBITS; - flag |= mylevel; - slctab[(int)func].current.flag = flag; - if (mylevel == SLC_CANTCHANGE) { - slctab[(int)func].current.val = - slctab[(int)func].defset.val; - val = slctab[(int)func].current.val; - } - } - add_slc(func, flag, val); - } - -} /* end of change_slc */ - -#if defined(USE_TERMIO) && (VEOF == VMIN) -cc_t oldeofc = '\004'; -#endif - -/* - * check_slc - * - * Check the special characters in use and notify the client if any have - * changed. Only those characters that are capable of being changed are - * likely to have changed. If a local change occurs, kick the support level - * and flags up to the defaults. - */ - void -check_slc() -{ - register int i; - - for (i = 1; i <= NSLC; i++) { -#if defined(USE_TERMIO) && (VEOF == VMIN) - /* - * In a perfect world this would be a neat little - * function. But in this world, we should not notify - * client of changes to the VEOF char when - * ICANON is off, because it is not representing - * a special character. - */ - if (i == SLC_EOF) { - if (!tty_isediting()) - continue; - else if (slctab[i].sptr) - oldeofc = *(slctab[i].sptr); - } -#endif /* defined(USE_TERMIO) && defined(SYSV_TERMIO) */ - if (slctab[i].sptr && - (*(slctab[i].sptr) != slctab[i].current.val)) { - slctab[i].current.val = *(slctab[i].sptr); - if (*(slctab[i].sptr) == (cc_t)_POSIX_VDISABLE) - slctab[i].current.flag = SLC_NOSUPPORT; - else - slctab[i].current.flag = slctab[i].defset.flag; - add_slc((unsigned char)i, slctab[i].current.flag, - slctab[i].current.val); - } - } -} /* check_slc */ - -/* - * do_opt_slc - * - * Process an slc option buffer. Defer processing of incoming slc's - * until after the terminal state has been processed. Save the first slc - * request that comes along, but discard all others. - * - * ptr points to the beginning of the buffer, len is the length. - */ - void -do_opt_slc(ptr, len) - register unsigned char *ptr; - register int len; -{ - register unsigned char func, flag; - cc_t val; - register unsigned char *end = ptr + len; - - if (terminit()) { /* go ahead */ - while (ptr < end) { - func = *ptr++; - if (ptr >= end) break; - flag = *ptr++; - if (ptr >= end) break; - val = (cc_t)*ptr++; - - process_slc(func, flag, val); - - } - } else { - /* - * save this slc buffer if it is the first, otherwise dump - * it. - */ - if (def_slcbuf == (unsigned char *)0) { - def_slclen = len; - def_slcbuf = (unsigned char *)malloc((unsigned)len); - if (def_slcbuf == (unsigned char *)0) - return; /* too bad */ - memmove(def_slcbuf, ptr, len); - } - } - -} /* end of do_opt_slc */ - -/* - * deferslc - * - * Do slc stuff that was deferred. - */ - void -deferslc() -{ - if (def_slcbuf) { - start_slc(1); - do_opt_slc(def_slcbuf, def_slclen); - (void) end_slc(0); - free(def_slcbuf); - def_slcbuf = (unsigned char *)0; - def_slclen = 0; - } - -} /* end of deferslc */ - -#endif /* LINEMODE */ diff --git a/eBones/libexec/telnetd/state.c b/eBones/libexec/telnetd/state.c deleted file mode 100644 index faf4088b537fb..0000000000000 --- a/eBones/libexec/telnetd/state.c +++ /dev/null @@ -1,1615 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)state.c 8.5 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#include "telnetd.h" -#if defined(AUTHENTICATION) -#include <libtelnet/auth.h> -#endif -#if defined(ENCRYPTION) -#include <libtelnet/encrypt.h> -#endif - -unsigned char doopt[] = { IAC, DO, '%', 'c', 0 }; -unsigned char dont[] = { IAC, DONT, '%', 'c', 0 }; -unsigned char will[] = { IAC, WILL, '%', 'c', 0 }; -unsigned char wont[] = { IAC, WONT, '%', 'c', 0 }; -int not42 = 1; - -/* - * Buffer for sub-options, and macros - * for suboptions buffer manipulations - */ -unsigned char subbuffer[512], *subpointer= subbuffer, *subend= subbuffer; - -#define SB_CLEAR() subpointer = subbuffer -#define SB_TERM() { subend = subpointer; SB_CLEAR(); } -#define SB_ACCUM(c) if (subpointer < (subbuffer+sizeof subbuffer)) { \ - *subpointer++ = (c); \ - } -#define SB_GET() ((*subpointer++)&0xff) -#define SB_EOF() (subpointer >= subend) -#define SB_LEN() (subend - subpointer) - -#ifdef ENV_HACK -unsigned char *subsave; -#define SB_SAVE() subsave = subpointer; -#define SB_RESTORE() subpointer = subsave; -#endif - - -/* - * State for recv fsm - */ -#define TS_DATA 0 /* base state */ -#define TS_IAC 1 /* look for double IAC's */ -#define TS_CR 2 /* CR-LF ->'s CR */ -#define TS_SB 3 /* throw away begin's... */ -#define TS_SE 4 /* ...end's (suboption negotiation) */ -#define TS_WILL 5 /* will option negotiation */ -#define TS_WONT 6 /* wont " */ -#define TS_DO 7 /* do " */ -#define TS_DONT 8 /* dont " */ - - void -telrcv() -{ - register int c; - static int state = TS_DATA; -#if defined(CRAY2) && defined(UNICOS5) - char *opfrontp = pfrontp; -#endif - - while (ncc > 0) { - if ((&ptyobuf[BUFSIZ] - pfrontp) < 2) - break; - c = *netip++ & 0377, ncc--; -#ifdef ENCRYPTION - if (decrypt_input) - c = (*decrypt_input)(c); -#endif /* ENCRYPTION */ - switch (state) { - - case TS_CR: - state = TS_DATA; - /* Strip off \n or \0 after a \r */ - if ((c == 0) || (c == '\n')) { - break; - } - /* FALL THROUGH */ - - case TS_DATA: - if (c == IAC) { - state = TS_IAC; - break; - } - /* - * We now map \r\n ==> \r for pragmatic reasons. - * Many client implementations send \r\n when - * the user hits the CarriageReturn key. - * - * We USED to map \r\n ==> \n, since \r\n says - * that we want to be in column 1 of the next - * printable line, and \n is the standard - * unix way of saying that (\r is only good - * if CRMOD is set, which it normally is). - */ - if ((c == '\r') && his_state_is_wont(TELOPT_BINARY)) { - int nc = *netip; -#ifdef ENCRYPTION - if (decrypt_input) - nc = (*decrypt_input)(nc & 0xff); -#endif /* ENCRYPTION */ -#ifdef LINEMODE - /* - * If we are operating in linemode, - * convert to local end-of-line. - */ - if (linemode && (ncc > 0) && (('\n' == nc) || - ((0 == nc) && tty_iscrnl())) ) { - netip++; ncc--; - c = '\n'; - } else -#endif - { -#ifdef ENCRYPTION - if (decrypt_input) - (void)(*decrypt_input)(-1); -#endif /* ENCRYPTION */ - state = TS_CR; - } - } - *pfrontp++ = c; - break; - - case TS_IAC: -gotiac: switch (c) { - - /* - * Send the process on the pty side an - * interrupt. Do this with a NULL or - * interrupt char; depending on the tty mode. - */ - case IP: - DIAG(TD_OPTIONS, - printoption("td: recv IAC", c)); - interrupt(); - break; - - case BREAK: - DIAG(TD_OPTIONS, - printoption("td: recv IAC", c)); - sendbrk(); - break; - - /* - * Are You There? - */ - case AYT: - DIAG(TD_OPTIONS, - printoption("td: recv IAC", c)); - recv_ayt(); - break; - - /* - * Abort Output - */ - case AO: - { - DIAG(TD_OPTIONS, - printoption("td: recv IAC", c)); - ptyflush(); /* half-hearted */ - init_termbuf(); - - if (slctab[SLC_AO].sptr && - *slctab[SLC_AO].sptr != (cc_t)(_POSIX_VDISABLE)) { - *pfrontp++ = - (unsigned char)*slctab[SLC_AO].sptr; - } - - netclear(); /* clear buffer back */ - *nfrontp++ = IAC; - *nfrontp++ = DM; - neturg = nfrontp-1; /* off by one XXX */ - DIAG(TD_OPTIONS, - printoption("td: send IAC", DM)); - break; - } - - /* - * Erase Character and - * Erase Line - */ - case EC: - case EL: - { - cc_t ch; - - DIAG(TD_OPTIONS, - printoption("td: recv IAC", c)); - ptyflush(); /* half-hearted */ - init_termbuf(); - if (c == EC) - ch = *slctab[SLC_EC].sptr; - else - ch = *slctab[SLC_EL].sptr; - if (ch != (cc_t)(_POSIX_VDISABLE)) - *pfrontp++ = (unsigned char)ch; - break; - } - - /* - * Check for urgent data... - */ - case DM: - DIAG(TD_OPTIONS, - printoption("td: recv IAC", c)); - SYNCHing = stilloob(net); - settimer(gotDM); - break; - - - /* - * Begin option subnegotiation... - */ - case SB: - state = TS_SB; - SB_CLEAR(); - continue; - - case WILL: - state = TS_WILL; - continue; - - case WONT: - state = TS_WONT; - continue; - - case DO: - state = TS_DO; - continue; - - case DONT: - state = TS_DONT; - continue; - case EOR: - if (his_state_is_will(TELOPT_EOR)) - doeof(); - break; - - /* - * Handle RFC 10xx Telnet linemode option additions - * to command stream (EOF, SUSP, ABORT). - */ - case xEOF: - doeof(); - break; - - case SUSP: - sendsusp(); - break; - - case ABORT: - sendbrk(); - break; - - case IAC: - *pfrontp++ = c; - break; - } - state = TS_DATA; - break; - - case TS_SB: - if (c == IAC) { - state = TS_SE; - } else { - SB_ACCUM(c); - } - break; - - case TS_SE: - if (c != SE) { - if (c != IAC) { - /* - * bad form of suboption negotiation. - * handle it in such a way as to avoid - * damage to local state. Parse - * suboption buffer found so far, - * then treat remaining stream as - * another command sequence. - */ - - /* for DIAGNOSTICS */ - SB_ACCUM(IAC); - SB_ACCUM(c); - subpointer -= 2; - - SB_TERM(); - suboption(); - state = TS_IAC; - goto gotiac; - } - SB_ACCUM(c); - state = TS_SB; - } else { - /* for DIAGNOSTICS */ - SB_ACCUM(IAC); - SB_ACCUM(SE); - subpointer -= 2; - - SB_TERM(); - suboption(); /* handle sub-option */ - state = TS_DATA; - } - break; - - case TS_WILL: - willoption(c); - state = TS_DATA; - continue; - - case TS_WONT: - wontoption(c); - state = TS_DATA; - continue; - - case TS_DO: - dooption(c); - state = TS_DATA; - continue; - - case TS_DONT: - dontoption(c); - state = TS_DATA; - continue; - - default: - syslog(LOG_ERR, "telnetd: panic state=%d\n", state); - printf("telnetd: panic state=%d\n", state); - exit(1); - } - } -#if defined(CRAY2) && defined(UNICOS5) - if (!linemode) { - char xptyobuf[BUFSIZ+NETSLOP]; - char xbuf2[BUFSIZ]; - register char *cp; - int n = pfrontp - opfrontp, oc; - memmove(xptyobuf, opfrontp, n); - pfrontp = opfrontp; - pfrontp += term_input(xptyobuf, pfrontp, n, BUFSIZ+NETSLOP, - xbuf2, &oc, BUFSIZ); - for (cp = xbuf2; oc > 0; --oc) - if ((*nfrontp++ = *cp++) == IAC) - *nfrontp++ = IAC; - } -#endif /* defined(CRAY2) && defined(UNICOS5) */ -} /* end of telrcv */ - -/* - * The will/wont/do/dont state machines are based on Dave Borman's - * Telnet option processing state machine. - * - * These correspond to the following states: - * my_state = the last negotiated state - * want_state = what I want the state to go to - * want_resp = how many requests I have sent - * All state defaults are negative, and resp defaults to 0. - * - * When initiating a request to change state to new_state: - * - * if ((want_resp == 0 && new_state == my_state) || want_state == new_state) { - * do nothing; - * } else { - * want_state = new_state; - * send new_state; - * want_resp++; - * } - * - * When receiving new_state: - * - * if (want_resp) { - * want_resp--; - * if (want_resp && (new_state == my_state)) - * want_resp--; - * } - * if ((want_resp == 0) && (new_state != want_state)) { - * if (ok_to_switch_to new_state) - * want_state = new_state; - * else - * want_resp++; - * send want_state; - * } - * my_state = new_state; - * - * Note that new_state is implied in these functions by the function itself. - * will and do imply positive new_state, wont and dont imply negative. - * - * Finally, there is one catch. If we send a negative response to a - * positive request, my_state will be the positive while want_state will - * remain negative. my_state will revert to negative when the negative - * acknowlegment arrives from the peer. Thus, my_state generally tells - * us not only the last negotiated state, but also tells us what the peer - * wants to be doing as well. It is important to understand this difference - * as we may wish to be processing data streams based on our desired state - * (want_state) or based on what the peer thinks the state is (my_state). - * - * This all works fine because if the peer sends a positive request, the data - * that we receive prior to negative acknowlegment will probably be affected - * by the positive state, and we can process it as such (if we can; if we - * can't then it really doesn't matter). If it is that important, then the - * peer probably should be buffering until this option state negotiation - * is complete. - * - */ - void -send_do(option, init) - int option, init; -{ - if (init) { - if ((do_dont_resp[option] == 0 && his_state_is_will(option)) || - his_want_state_is_will(option)) - return; - /* - * Special case for TELOPT_TM: We send a DO, but pretend - * that we sent a DONT, so that we can send more DOs if - * we want to. - */ - if (option == TELOPT_TM) - set_his_want_state_wont(option); - else - set_his_want_state_will(option); - do_dont_resp[option]++; - } - (void) sprintf(nfrontp, (char *)doopt, option); - nfrontp += sizeof (dont) - 2; - - DIAG(TD_OPTIONS, printoption("td: send do", option)); -} - -#ifdef AUTHENTICATION -extern void auth_request(); -#endif -#ifdef LINEMODE -extern void doclientstat(); -#endif -#ifdef ENCRYPTION -extern void encrypt_send_support(); -#endif /* ENCRYPTION */ - - void -willoption(option) - int option; -{ - int changeok = 0; - void (*func)() = 0; - - /* - * process input from peer. - */ - - DIAG(TD_OPTIONS, printoption("td: recv will", option)); - - if (do_dont_resp[option]) { - do_dont_resp[option]--; - if (do_dont_resp[option] && his_state_is_will(option)) - do_dont_resp[option]--; - } - if (do_dont_resp[option] == 0) { - if (his_want_state_is_wont(option)) { - switch (option) { - - case TELOPT_BINARY: - init_termbuf(); - tty_binaryin(1); - set_termbuf(); - changeok++; - break; - - case TELOPT_ECHO: - /* - * See comments below for more info. - */ - not42 = 0; /* looks like a 4.2 system */ - break; - - case TELOPT_TM: -#if defined(LINEMODE) && defined(KLUDGELINEMODE) - /* - * This telnetd implementation does not really - * support timing marks, it just uses them to - * support the kludge linemode stuff. If we - * receive a will or wont TM in response to our - * do TM request that may have been sent to - * determine kludge linemode support, process - * it, otherwise TM should get a negative - * response back. - */ - /* - * Handle the linemode kludge stuff. - * If we are not currently supporting any - * linemode at all, then we assume that this - * is the client telling us to use kludge - * linemode in response to our query. Set the - * linemode type that is to be supported, note - * that the client wishes to use linemode, and - * eat the will TM as though it never arrived. - */ - if (lmodetype < KLUDGE_LINEMODE) { - lmodetype = KLUDGE_LINEMODE; - clientstat(TELOPT_LINEMODE, WILL, 0); - send_wont(TELOPT_SGA, 1); - } else if (lmodetype == NO_AUTOKLUDGE) { - lmodetype = KLUDGE_OK; - } -#endif /* defined(LINEMODE) && defined(KLUDGELINEMODE) */ - /* - * We never respond to a WILL TM, and - * we leave the state WONT. - */ - return; - - case TELOPT_LFLOW: - /* - * If we are going to support flow control - * option, then don't worry peer that we can't - * change the flow control characters. - */ - slctab[SLC_XON].defset.flag &= ~SLC_LEVELBITS; - slctab[SLC_XON].defset.flag |= SLC_DEFAULT; - slctab[SLC_XOFF].defset.flag &= ~SLC_LEVELBITS; - slctab[SLC_XOFF].defset.flag |= SLC_DEFAULT; - case TELOPT_TTYPE: - case TELOPT_SGA: - case TELOPT_NAWS: - case TELOPT_TSPEED: - case TELOPT_XDISPLOC: - case TELOPT_NEW_ENVIRON: - case TELOPT_OLD_ENVIRON: - changeok++; - break; - -#ifdef LINEMODE - case TELOPT_LINEMODE: -# ifdef KLUDGELINEMODE - /* - * Note client's desire to use linemode. - */ - lmodetype = REAL_LINEMODE; -# endif /* KLUDGELINEMODE */ - func = doclientstat; - changeok++; - break; -#endif /* LINEMODE */ - -#ifdef AUTHENTICATION - case TELOPT_AUTHENTICATION: - func = auth_request; - changeok++; - break; -#endif - -#ifdef ENCRYPTION - case TELOPT_ENCRYPT: - func = encrypt_send_support; - changeok++; - break; -#endif /* ENCRYPTION */ - - default: - break; - } - if (changeok) { - set_his_want_state_will(option); - send_do(option, 0); - } else { - do_dont_resp[option]++; - send_dont(option, 0); - } - } else { - /* - * Option processing that should happen when - * we receive conformation of a change in - * state that we had requested. - */ - switch (option) { - case TELOPT_ECHO: - not42 = 0; /* looks like a 4.2 system */ - /* - * Egads, he responded "WILL ECHO". Turn - * it off right now! - */ - send_dont(option, 1); - /* - * "WILL ECHO". Kludge upon kludge! - * A 4.2 client is now echoing user input at - * the tty. This is probably undesireable and - * it should be stopped. The client will - * respond WONT TM to the DO TM that we send to - * check for kludge linemode. When the WONT TM - * arrives, linemode will be turned off and a - * change propogated to the pty. This change - * will cause us to process the new pty state - * in localstat(), which will notice that - * linemode is off and send a WILL ECHO - * so that we are properly in character mode and - * all is well. - */ - break; -#ifdef LINEMODE - case TELOPT_LINEMODE: -# ifdef KLUDGELINEMODE - /* - * Note client's desire to use linemode. - */ - lmodetype = REAL_LINEMODE; -# endif /* KLUDGELINEMODE */ - func = doclientstat; - break; -#endif /* LINEMODE */ - -#ifdef AUTHENTICATION - case TELOPT_AUTHENTICATION: - func = auth_request; - break; -#endif - -#ifdef ENCRYPTION - case TELOPT_ENCRYPT: - func = encrypt_send_support; - break; -#endif /* ENCRYPTION */ - case TELOPT_LFLOW: - func = flowstat; - break; - } - } - } - set_his_state_will(option); - if (func) - (*func)(); -} /* end of willoption */ - - void -send_dont(option, init) - int option, init; -{ - if (init) { - if ((do_dont_resp[option] == 0 && his_state_is_wont(option)) || - his_want_state_is_wont(option)) - return; - set_his_want_state_wont(option); - do_dont_resp[option]++; - } - (void) sprintf(nfrontp, (char *)dont, option); - nfrontp += sizeof (doopt) - 2; - - DIAG(TD_OPTIONS, printoption("td: send dont", option)); -} - - void -wontoption(option) - int option; -{ - /* - * Process client input. - */ - - DIAG(TD_OPTIONS, printoption("td: recv wont", option)); - - if (do_dont_resp[option]) { - do_dont_resp[option]--; - if (do_dont_resp[option] && his_state_is_wont(option)) - do_dont_resp[option]--; - } - if (do_dont_resp[option] == 0) { - if (his_want_state_is_will(option)) { - /* it is always ok to change to negative state */ - switch (option) { - case TELOPT_ECHO: - not42 = 1; /* doesn't seem to be a 4.2 system */ - break; - - case TELOPT_BINARY: - init_termbuf(); - tty_binaryin(0); - set_termbuf(); - break; - -#ifdef LINEMODE - case TELOPT_LINEMODE: -# ifdef KLUDGELINEMODE - /* - * If real linemode is supported, then client is - * asking to turn linemode off. - */ - if (lmodetype != REAL_LINEMODE) - break; -# endif /* KLUDGELINEMODE */ - clientstat(TELOPT_LINEMODE, WONT, 0); - break; -#endif /* LINEMODE */ - - case TELOPT_TM: - /* - * If we get a WONT TM, and had sent a DO TM, - * don't respond with a DONT TM, just leave it - * as is. Short circut the state machine to - * achive this. - */ - set_his_want_state_wont(TELOPT_TM); - return; - - case TELOPT_LFLOW: - /* - * If we are not going to support flow control - * option, then let peer know that we can't - * change the flow control characters. - */ - slctab[SLC_XON].defset.flag &= ~SLC_LEVELBITS; - slctab[SLC_XON].defset.flag |= SLC_CANTCHANGE; - slctab[SLC_XOFF].defset.flag &= ~SLC_LEVELBITS; - slctab[SLC_XOFF].defset.flag |= SLC_CANTCHANGE; - break; - -#if defined(AUTHENTICATION) - case TELOPT_AUTHENTICATION: - auth_finished(0, AUTH_REJECT); - break; -#endif - - /* - * For options that we might spin waiting for - * sub-negotiation, if the client turns off the - * option rather than responding to the request, - * we have to treat it here as if we got a response - * to the sub-negotiation, (by updating the timers) - * so that we'll break out of the loop. - */ - case TELOPT_TTYPE: - settimer(ttypesubopt); - break; - - case TELOPT_TSPEED: - settimer(tspeedsubopt); - break; - - case TELOPT_XDISPLOC: - settimer(xdisplocsubopt); - break; - - case TELOPT_OLD_ENVIRON: - settimer(oenvironsubopt); - break; - - case TELOPT_NEW_ENVIRON: - settimer(environsubopt); - break; - - default: - break; - } - set_his_want_state_wont(option); - if (his_state_is_will(option)) - send_dont(option, 0); - } else { - switch (option) { - case TELOPT_TM: -#if defined(LINEMODE) && defined(KLUDGELINEMODE) - if (lmodetype < NO_AUTOKLUDGE) { - lmodetype = NO_LINEMODE; - clientstat(TELOPT_LINEMODE, WONT, 0); - send_will(TELOPT_SGA, 1); - send_will(TELOPT_ECHO, 1); - } -#endif /* defined(LINEMODE) && defined(KLUDGELINEMODE) */ - break; - -#if defined(AUTHENTICATION) - case TELOPT_AUTHENTICATION: - auth_finished(0, AUTH_REJECT); - break; -#endif - default: - break; - } - } - } - set_his_state_wont(option); - -} /* end of wontoption */ - - void -send_will(option, init) - int option, init; -{ - if (init) { - if ((will_wont_resp[option] == 0 && my_state_is_will(option))|| - my_want_state_is_will(option)) - return; - set_my_want_state_will(option); - will_wont_resp[option]++; - } - (void) sprintf(nfrontp, (char *)will, option); - nfrontp += sizeof (doopt) - 2; - - DIAG(TD_OPTIONS, printoption("td: send will", option)); -} - -#if !defined(LINEMODE) || !defined(KLUDGELINEMODE) -/* - * When we get a DONT SGA, we will try once to turn it - * back on. If the other side responds DONT SGA, we - * leave it at that. This is so that when we talk to - * clients that understand KLUDGELINEMODE but not LINEMODE, - * we'll keep them in char-at-a-time mode. - */ -int turn_on_sga = 0; -#endif - - void -dooption(option) - int option; -{ - int changeok = 0; - - /* - * Process client input. - */ - - DIAG(TD_OPTIONS, printoption("td: recv do", option)); - - if (will_wont_resp[option]) { - will_wont_resp[option]--; - if (will_wont_resp[option] && my_state_is_will(option)) - will_wont_resp[option]--; - } - if ((will_wont_resp[option] == 0) && (my_want_state_is_wont(option))) { - switch (option) { - case TELOPT_ECHO: -#ifdef LINEMODE -# ifdef KLUDGELINEMODE - if (lmodetype == NO_LINEMODE) -# else - if (his_state_is_wont(TELOPT_LINEMODE)) -# endif -#endif - { - init_termbuf(); - tty_setecho(1); - set_termbuf(); - } - changeok++; - break; - - case TELOPT_BINARY: - init_termbuf(); - tty_binaryout(1); - set_termbuf(); - changeok++; - break; - - case TELOPT_SGA: -#if defined(LINEMODE) && defined(KLUDGELINEMODE) - /* - * If kludge linemode is in use, then we must - * process an incoming do SGA for linemode - * purposes. - */ - if (lmodetype == KLUDGE_LINEMODE) { - /* - * Receipt of "do SGA" in kludge - * linemode is the peer asking us to - * turn off linemode. Make note of - * the request. - */ - clientstat(TELOPT_LINEMODE, WONT, 0); - /* - * If linemode did not get turned off - * then don't tell peer that we did. - * Breaking here forces a wont SGA to - * be returned. - */ - if (linemode) - break; - } -#else - turn_on_sga = 0; -#endif /* defined(LINEMODE) && defined(KLUDGELINEMODE) */ - changeok++; - break; - - case TELOPT_STATUS: - changeok++; - break; - - case TELOPT_TM: - /* - * Special case for TM. We send a WILL, but - * pretend we sent a WONT. - */ - send_will(option, 0); - set_my_want_state_wont(option); - set_my_state_wont(option); - return; - - case TELOPT_LOGOUT: - /* - * When we get a LOGOUT option, respond - * with a WILL LOGOUT, make sure that - * it gets written out to the network, - * and then just go away... - */ - set_my_want_state_will(TELOPT_LOGOUT); - send_will(TELOPT_LOGOUT, 0); - set_my_state_will(TELOPT_LOGOUT); - (void)netflush(); - cleanup(0); - /* NOT REACHED */ - break; - -#ifdef ENCRYPTION - case TELOPT_ENCRYPT: - changeok++; - break; -#endif /* ENCRYPTION */ - case TELOPT_LINEMODE: - case TELOPT_TTYPE: - case TELOPT_NAWS: - case TELOPT_TSPEED: - case TELOPT_LFLOW: - case TELOPT_XDISPLOC: -#ifdef TELOPT_ENVIRON - case TELOPT_NEW_ENVIRON: -#endif - case TELOPT_OLD_ENVIRON: - default: - break; - } - if (changeok) { - set_my_want_state_will(option); - send_will(option, 0); - } else { - will_wont_resp[option]++; - send_wont(option, 0); - } - } - set_my_state_will(option); - -} /* end of dooption */ - - void -send_wont(option, init) - int option, init; -{ - if (init) { - if ((will_wont_resp[option] == 0 && my_state_is_wont(option)) || - my_want_state_is_wont(option)) - return; - set_my_want_state_wont(option); - will_wont_resp[option]++; - } - (void) sprintf(nfrontp, (char *)wont, option); - nfrontp += sizeof (wont) - 2; - - DIAG(TD_OPTIONS, printoption("td: send wont", option)); -} - - void -dontoption(option) - int option; -{ - /* - * Process client input. - */ - - - DIAG(TD_OPTIONS, printoption("td: recv dont", option)); - - if (will_wont_resp[option]) { - will_wont_resp[option]--; - if (will_wont_resp[option] && my_state_is_wont(option)) - will_wont_resp[option]--; - } - if ((will_wont_resp[option] == 0) && (my_want_state_is_will(option))) { - switch (option) { - case TELOPT_BINARY: - init_termbuf(); - tty_binaryout(0); - set_termbuf(); - break; - - case TELOPT_ECHO: /* we should stop echoing */ -#ifdef LINEMODE -# ifdef KLUDGELINEMODE - if ((lmodetype != REAL_LINEMODE) && - (lmodetype != KLUDGE_LINEMODE)) -# else - if (his_state_is_wont(TELOPT_LINEMODE)) -# endif -#endif - { - init_termbuf(); - tty_setecho(0); - set_termbuf(); - } - break; - - case TELOPT_SGA: -#if defined(LINEMODE) && defined(KLUDGELINEMODE) - /* - * If kludge linemode is in use, then we - * must process an incoming do SGA for - * linemode purposes. - */ - if ((lmodetype == KLUDGE_LINEMODE) || - (lmodetype == KLUDGE_OK)) { - /* - * The client is asking us to turn - * linemode on. - */ - lmodetype = KLUDGE_LINEMODE; - clientstat(TELOPT_LINEMODE, WILL, 0); - /* - * If we did not turn line mode on, - * then what do we say? Will SGA? - * This violates design of telnet. - * Gross. Very Gross. - */ - } - break; -#else - set_my_want_state_wont(option); - if (my_state_is_will(option)) - send_wont(option, 0); - set_my_state_wont(option); - if (turn_on_sga ^= 1) - send_will(option, 1); - return; -#endif /* defined(LINEMODE) && defined(KLUDGELINEMODE) */ - - default: - break; - } - - set_my_want_state_wont(option); - if (my_state_is_will(option)) - send_wont(option, 0); - } - set_my_state_wont(option); - -} /* end of dontoption */ - -#ifdef ENV_HACK -int env_ovar = -1; -int env_ovalue = -1; -#else /* ENV_HACK */ -# define env_ovar OLD_ENV_VAR -# define env_ovalue OLD_ENV_VALUE -#endif /* ENV_HACK */ - -/* - * suboption() - * - * Look at the sub-option buffer, and try to be helpful to the other - * side. - * - * Currently we recognize: - * - * Terminal type is - * Linemode - * Window size - * Terminal speed - */ - void -suboption() -{ - register int subchar; - - DIAG(TD_OPTIONS, {netflush(); printsub('<', subpointer, SB_LEN()+2);}); - - subchar = SB_GET(); - switch (subchar) { - case TELOPT_TSPEED: { - register int xspeed, rspeed; - - if (his_state_is_wont(TELOPT_TSPEED)) /* Ignore if option disabled */ - break; - - settimer(tspeedsubopt); - - if (SB_EOF() || SB_GET() != TELQUAL_IS) - return; - - xspeed = atoi((char *)subpointer); - - while (SB_GET() != ',' && !SB_EOF()); - if (SB_EOF()) - return; - - rspeed = atoi((char *)subpointer); - clientstat(TELOPT_TSPEED, xspeed, rspeed); - - break; - - } /* end of case TELOPT_TSPEED */ - - case TELOPT_TTYPE: { /* Yaaaay! */ - static char terminalname[41]; - - if (his_state_is_wont(TELOPT_TTYPE)) /* Ignore if option disabled */ - break; - settimer(ttypesubopt); - - if (SB_EOF() || SB_GET() != TELQUAL_IS) { - return; /* ??? XXX but, this is the most robust */ - } - - terminaltype = terminalname; - - while ((terminaltype < (terminalname + sizeof terminalname-1)) && - !SB_EOF()) { - register int c; - - c = SB_GET(); - if (isupper(c)) { - c = tolower(c); - } - *terminaltype++ = c; /* accumulate name */ - } - *terminaltype = 0; - terminaltype = terminalname; - break; - } /* end of case TELOPT_TTYPE */ - - case TELOPT_NAWS: { - register int xwinsize, ywinsize; - - if (his_state_is_wont(TELOPT_NAWS)) /* Ignore if option disabled */ - break; - - if (SB_EOF()) - return; - xwinsize = SB_GET() << 8; - if (SB_EOF()) - return; - xwinsize |= SB_GET(); - if (SB_EOF()) - return; - ywinsize = SB_GET() << 8; - if (SB_EOF()) - return; - ywinsize |= SB_GET(); - clientstat(TELOPT_NAWS, xwinsize, ywinsize); - - break; - - } /* end of case TELOPT_NAWS */ - -#ifdef LINEMODE - case TELOPT_LINEMODE: { - register int request; - - if (his_state_is_wont(TELOPT_LINEMODE)) /* Ignore if option disabled */ - break; - /* - * Process linemode suboptions. - */ - if (SB_EOF()) - break; /* garbage was sent */ - request = SB_GET(); /* get will/wont */ - - if (SB_EOF()) - break; /* another garbage check */ - - if (request == LM_SLC) { /* SLC is not preceeded by WILL or WONT */ - /* - * Process suboption buffer of slc's - */ - start_slc(1); - do_opt_slc(subpointer, subend - subpointer); - (void) end_slc(0); - break; - } else if (request == LM_MODE) { - if (SB_EOF()) - return; - useeditmode = SB_GET(); /* get mode flag */ - clientstat(LM_MODE, 0, 0); - break; - } - - if (SB_EOF()) - break; - switch (SB_GET()) { /* what suboption? */ - case LM_FORWARDMASK: - /* - * According to spec, only server can send request for - * forwardmask, and client can only return a positive response. - * So don't worry about it. - */ - - default: - break; - } - break; - } /* end of case TELOPT_LINEMODE */ -#endif - case TELOPT_STATUS: { - int mode; - - if (SB_EOF()) - break; - mode = SB_GET(); - switch (mode) { - case TELQUAL_SEND: - if (my_state_is_will(TELOPT_STATUS)) - send_status(); - break; - - case TELQUAL_IS: - break; - - default: - break; - } - break; - } /* end of case TELOPT_STATUS */ - - case TELOPT_XDISPLOC: { - if (SB_EOF() || SB_GET() != TELQUAL_IS) - return; - settimer(xdisplocsubopt); - subpointer[SB_LEN()] = '\0'; - (void)setenv("DISPLAY", (char *)subpointer, 1); - break; - } /* end of case TELOPT_XDISPLOC */ - -#ifdef TELOPT_NEW_ENVIRON - case TELOPT_NEW_ENVIRON: -#endif - case TELOPT_OLD_ENVIRON: { - register int c; - register char *cp, *varp, *valp; - - if (SB_EOF()) - return; - c = SB_GET(); - if (c == TELQUAL_IS) { - if (subchar == TELOPT_OLD_ENVIRON) - settimer(oenvironsubopt); - else - settimer(environsubopt); - } else if (c != TELQUAL_INFO) { - return; - } - -#ifdef TELOPT_NEW_ENVIRON - if (subchar == TELOPT_NEW_ENVIRON) { - while (!SB_EOF()) { - c = SB_GET(); - if ((c == NEW_ENV_VAR) || (c == ENV_USERVAR)) - break; - } - } else -#endif - { -#ifdef ENV_HACK - /* - * We only want to do this if we haven't already decided - * whether or not the other side has its VALUE and VAR - * reversed. - */ - if (env_ovar < 0) { - register int last = -1; /* invalid value */ - int empty = 0; - int got_var = 0, got_value = 0, got_uservar = 0; - - /* - * The other side might have its VALUE and VAR values - * reversed. To be interoperable, we need to determine - * which way it is. If the first recognized character - * is a VAR or VALUE, then that will tell us what - * type of client it is. If the fist recognized - * character is a USERVAR, then we continue scanning - * the suboption looking for two consecutive - * VAR or VALUE fields. We should not get two - * consecutive VALUE fields, so finding two - * consecutive VALUE or VAR fields will tell us - * what the client is. - */ - SB_SAVE(); - while (!SB_EOF()) { - c = SB_GET(); - switch(c) { - case OLD_ENV_VAR: - if (last < 0 || last == OLD_ENV_VAR - || (empty && (last == OLD_ENV_VALUE))) - goto env_ovar_ok; - got_var++; - last = OLD_ENV_VAR; - break; - case OLD_ENV_VALUE: - if (last < 0 || last == OLD_ENV_VALUE - || (empty && (last == OLD_ENV_VAR))) - goto env_ovar_wrong; - got_value++; - last = OLD_ENV_VALUE; - break; - case ENV_USERVAR: - /* count strings of USERVAR as one */ - if (last != ENV_USERVAR) - got_uservar++; - if (empty) { - if (last == OLD_ENV_VALUE) - goto env_ovar_ok; - if (last == OLD_ENV_VAR) - goto env_ovar_wrong; - } - last = ENV_USERVAR; - break; - case ENV_ESC: - if (!SB_EOF()) - c = SB_GET(); - /* FALL THROUGH */ - default: - empty = 0; - continue; - } - empty = 1; - } - if (empty) { - if (last == OLD_ENV_VALUE) - goto env_ovar_ok; - if (last == OLD_ENV_VAR) - goto env_ovar_wrong; - } - /* - * Ok, the first thing was a USERVAR, and there - * are not two consecutive VAR or VALUE commands, - * and none of the VAR or VALUE commands are empty. - * If the client has sent us a well-formed option, - * then the number of VALUEs received should always - * be less than or equal to the number of VARs and - * USERVARs received. - * - * If we got exactly as many VALUEs as VARs and - * USERVARs, the client has the same definitions. - * - * If we got exactly as many VARs as VALUEs and - * USERVARS, the client has reversed definitions. - */ - if (got_uservar + got_var == got_value) { - env_ovar_ok: - env_ovar = OLD_ENV_VAR; - env_ovalue = OLD_ENV_VALUE; - } else if (got_uservar + got_value == got_var) { - env_ovar_wrong: - env_ovar = OLD_ENV_VALUE; - env_ovalue = OLD_ENV_VAR; - DIAG(TD_OPTIONS, {sprintf(nfrontp, - "ENVIRON VALUE and VAR are reversed!\r\n"); - nfrontp += strlen(nfrontp);}); - - } - } - SB_RESTORE(); -#endif - - while (!SB_EOF()) { - c = SB_GET(); - if ((c == env_ovar) || (c == ENV_USERVAR)) - break; - } - } - - if (SB_EOF()) - return; - - cp = varp = (char *)subpointer; - valp = 0; - - while (!SB_EOF()) { - c = SB_GET(); - if (subchar == TELOPT_OLD_ENVIRON) { - if (c == env_ovar) - c = NEW_ENV_VAR; - else if (c == env_ovalue) - c = NEW_ENV_VALUE; - } - switch (c) { - - case NEW_ENV_VALUE: - *cp = '\0'; - cp = valp = (char *)subpointer; - break; - - case NEW_ENV_VAR: - case ENV_USERVAR: - *cp = '\0'; - if (valp) - (void)setenv(varp, valp, 1); - else - unsetenv(varp); - cp = varp = (char *)subpointer; - valp = 0; - break; - - case ENV_ESC: - if (SB_EOF()) - break; - c = SB_GET(); - /* FALL THROUGH */ - default: - *cp++ = c; - break; - } - } - *cp = '\0'; - if (valp) - (void)setenv(varp, valp, 1); - else - unsetenv(varp); - break; - } /* end of case TELOPT_NEW_ENVIRON */ -#if defined(AUTHENTICATION) - case TELOPT_AUTHENTICATION: - if (SB_EOF()) - break; - switch(SB_GET()) { - case TELQUAL_SEND: - case TELQUAL_REPLY: - /* - * These are sent by us and cannot be sent by - * the client. - */ - break; - case TELQUAL_IS: - auth_is(subpointer, SB_LEN()); - break; - case TELQUAL_NAME: - auth_name(subpointer, SB_LEN()); - break; - } - break; -#endif -#ifdef ENCRYPTION - case TELOPT_ENCRYPT: - if (SB_EOF()) - break; - switch(SB_GET()) { - case ENCRYPT_SUPPORT: - encrypt_support(subpointer, SB_LEN()); - break; - case ENCRYPT_IS: - encrypt_is(subpointer, SB_LEN()); - break; - case ENCRYPT_REPLY: - encrypt_reply(subpointer, SB_LEN()); - break; - case ENCRYPT_START: - encrypt_start(subpointer, SB_LEN()); - break; - case ENCRYPT_END: - encrypt_end(); - break; - case ENCRYPT_REQSTART: - encrypt_request_start(subpointer, SB_LEN()); - break; - case ENCRYPT_REQEND: - /* - * We can always send an REQEND so that we cannot - * get stuck encrypting. We should only get this - * if we have been able to get in the correct mode - * anyhow. - */ - encrypt_request_end(); - break; - case ENCRYPT_ENC_KEYID: - encrypt_enc_keyid(subpointer, SB_LEN()); - break; - case ENCRYPT_DEC_KEYID: - encrypt_dec_keyid(subpointer, SB_LEN()); - break; - default: - break; - } - break; -#endif /* ENCRYPTION */ - - default: - break; - } /* end of switch */ - -} /* end of suboption */ - - void -doclientstat() -{ - clientstat(TELOPT_LINEMODE, WILL, 0); -} - -#define ADD(c) *ncp++ = c -#define ADD_DATA(c) { *ncp++ = c; if (c == SE || c == IAC) *ncp++ = c; } - void -send_status() -{ - unsigned char statusbuf[256]; - register unsigned char *ncp; - register unsigned char i; - - ncp = statusbuf; - - netflush(); /* get rid of anything waiting to go out */ - - ADD(IAC); - ADD(SB); - ADD(TELOPT_STATUS); - ADD(TELQUAL_IS); - - /* - * We check the want_state rather than the current state, - * because if we received a DO/WILL for an option that we - * don't support, and the other side didn't send a DONT/WONT - * in response to our WONT/DONT, then the "state" will be - * WILL/DO, and the "want_state" will be WONT/DONT. We - * need to go by the latter. - */ - for (i = 0; i < (unsigned char)NTELOPTS; i++) { - if (my_want_state_is_will(i)) { - ADD(WILL); - ADD_DATA(i); - } - if (his_want_state_is_will(i)) { - ADD(DO); - ADD_DATA(i); - } - } - - if (his_want_state_is_will(TELOPT_LFLOW)) { - ADD(SB); - ADD(TELOPT_LFLOW); - if (flowmode) { - ADD(LFLOW_ON); - } else { - ADD(LFLOW_OFF); - } - ADD(SE); - - if (restartany >= 0) { - ADD(SB); - ADD(TELOPT_LFLOW); - if (restartany) { - ADD(LFLOW_RESTART_ANY); - } else { - ADD(LFLOW_RESTART_XON); - } - ADD(SE); - } - } - -#ifdef LINEMODE - if (his_want_state_is_will(TELOPT_LINEMODE)) { - unsigned char *cp, *cpe; - int len; - - ADD(SB); - ADD(TELOPT_LINEMODE); - ADD(LM_MODE); - ADD_DATA(editmode); - ADD(SE); - - ADD(SB); - ADD(TELOPT_LINEMODE); - ADD(LM_SLC); - start_slc(0); - send_slc(); - len = end_slc(&cp); - for (cpe = cp + len; cp < cpe; cp++) - ADD_DATA(*cp); - ADD(SE); - } -#endif /* LINEMODE */ - - ADD(IAC); - ADD(SE); - - writenet(statusbuf, ncp - statusbuf); - netflush(); /* Send it on its way */ - - DIAG(TD_OPTIONS, - {printsub('>', statusbuf, ncp - statusbuf); netflush();}); -} diff --git a/eBones/libexec/telnetd/sys_term.c b/eBones/libexec/telnetd/sys_term.c deleted file mode 100644 index f9b1617dc1663..0000000000000 --- a/eBones/libexec/telnetd/sys_term.c +++ /dev/null @@ -1,2325 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)sys_term.c 8.4+1 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#include "telnetd.h" -#include "pathnames.h" - -#if defined(AUTHENTICATION) -#include <libtelnet/auth.h> -#endif - -extern char *altlogin; -int cleanopen(char *line); -void scrub_env(void); - -#if defined(CRAY) || defined(__hpux) -# define PARENT_DOES_UTMP -#endif - -int utmp_len = MAXHOSTNAMELEN; -#ifdef NEWINIT -#include <initreq.h> -#else /* NEWINIT*/ -# ifdef UTMPX -# include <utmpx.h> -struct utmpx wtmp; -# else -# include <utmp.h> -struct utmp wtmp; -# endif /* UTMPX */ - -# ifndef PARENT_DOES_UTMP -#ifdef _PATH_WTMP -char wtmpf[] = _PATH_WTMP; -#else -char wtmpf[] = "/usr/adm/wtmp"; -#endif -#ifdef _PATH_UTMP -char utmpf[] = _PATH_UTMP; -#else -char utmpf[] = "/etc/utmp"; -#endif -# else /* PARENT_DOES_UTMP */ -char wtmpf[] = "/etc/wtmp"; -# endif /* PARENT_DOES_UTMP */ - -#include <libutil.h> - -# ifdef CRAY -#include <tmpdir.h> -#include <sys/wait.h> -# if (UNICOS_LVL == '7.0') || (UNICOS_LVL == '7.1') -# define UNICOS7x -# endif - -# ifdef UNICOS7x -#include <sys/sysv.h> -#include <sys/secstat.h> -extern int secflag; -extern struct sysv sysv; -# endif /* UNICOS7x */ -# endif /* CRAY */ -#endif /* NEWINIT */ - -#ifdef STREAMSPTY -#include <sac.h> -#include <sys/stropts.h> -#endif - -#define SCPYN(a, b) (void) strncpy(a, b, sizeof(a)) -#define SCMPN(a, b) strncmp(a, b, sizeof(a)) - -#ifdef STREAMS -#include <sys/stream.h> -#endif -#ifdef __hpux -#include <sys/resource.h> -#include <sys/proc.h> -#endif -#include <sys/tty.h> -#ifdef t_erase -#undef t_erase -#undef t_kill -#undef t_intrc -#undef t_quitc -#undef t_startc -#undef t_stopc -#undef t_eofc -#undef t_brkc -#undef t_suspc -#undef t_dsuspc -#undef t_rprntc -#undef t_flushc -#undef t_werasc -#undef t_lnextc -#endif - -#if defined(UNICOS5) && defined(CRAY2) && !defined(EXTPROC) -# define EXTPROC 0400 -#endif - -#ifndef USE_TERMIO -struct termbuf { - struct sgttyb sg; - struct tchars tc; - struct ltchars ltc; - int state; - int lflags; -} termbuf, termbuf2; -# define cfsetospeed(tp, val) (tp)->sg.sg_ospeed = (val) -# define cfsetispeed(tp, val) (tp)->sg.sg_ispeed = (val) -# define cfgetospeed(tp) (tp)->sg.sg_ospeed -# define cfgetispeed(tp) (tp)->sg.sg_ispeed -#else /* USE_TERMIO */ -# ifdef SYSV_TERMIO -# define termios termio -# endif -# ifndef TCSANOW -# ifdef TCSETS -# define TCSANOW TCSETS -# define TCSADRAIN TCSETSW -# define tcgetattr(f, t) ioctl(f, TCGETS, (char *)t) -# else -# ifdef TCSETA -# define TCSANOW TCSETA -# define TCSADRAIN TCSETAW -# define tcgetattr(f, t) ioctl(f, TCGETA, (char *)t) -# else -# define TCSANOW TIOCSETA -# define TCSADRAIN TIOCSETAW -# define tcgetattr(f, t) ioctl(f, TIOCGETA, (char *)t) -# endif -# endif -# define tcsetattr(f, a, t) ioctl(f, a, t) -# define cfsetospeed(tp, val) (tp)->c_cflag &= ~CBAUD; \ - (tp)->c_cflag |= (val) -# define cfgetospeed(tp) ((tp)->c_cflag & CBAUD) -# ifdef CIBAUD -# define cfsetispeed(tp, val) (tp)->c_cflag &= ~CIBAUD; \ - (tp)->c_cflag |= ((val)<<IBSHIFT) -# define cfgetispeed(tp) (((tp)->c_cflag & CIBAUD)>>IBSHIFT) -# else -# define cfsetispeed(tp, val) (tp)->c_cflag &= ~CBAUD; \ - (tp)->c_cflag |= (val) -# define cfgetispeed(tp) ((tp)->c_cflag & CBAUD) -# endif -# endif /* TCSANOW */ -struct termios termbuf, termbuf2; /* pty control structure */ -# ifdef STREAMSPTY -int ttyfd = -1; -# endif -#endif /* USE_TERMIO */ - -/* - * init_termbuf() - * copy_termbuf(cp) - * set_termbuf() - * - * These three routines are used to get and set the "termbuf" structure - * to and from the kernel. init_termbuf() gets the current settings. - * copy_termbuf() hands in a new "termbuf" to write to the kernel, and - * set_termbuf() writes the structure into the kernel. - */ - - void -init_termbuf() -{ -#ifndef USE_TERMIO - (void) ioctl(pty, TIOCGETP, (char *)&termbuf.sg); - (void) ioctl(pty, TIOCGETC, (char *)&termbuf.tc); - (void) ioctl(pty, TIOCGLTC, (char *)&termbuf.ltc); -# ifdef TIOCGSTATE - (void) ioctl(pty, TIOCGSTATE, (char *)&termbuf.state); -# endif -#else -# ifdef STREAMSPTY - (void) tcgetattr(ttyfd, &termbuf); -# else - (void) tcgetattr(pty, &termbuf); -# endif -#endif - termbuf2 = termbuf; -} - -#if defined(LINEMODE) && defined(TIOCPKT_IOCTL) - void -copy_termbuf(cp, len) - char *cp; - int len; -{ - if (len > sizeof(termbuf)) - len = sizeof(termbuf); - memmove((char *)&termbuf, cp, len); - termbuf2 = termbuf; -} -#endif /* defined(LINEMODE) && defined(TIOCPKT_IOCTL) */ - - void -set_termbuf() -{ - /* - * Only make the necessary changes. - */ -#ifndef USE_TERMIO - if (memcmp((char *)&termbuf.sg, (char *)&termbuf2.sg, - sizeof(termbuf.sg))) - (void) ioctl(pty, TIOCSETN, (char *)&termbuf.sg); - if (memcmp((char *)&termbuf.tc, (char *)&termbuf2.tc, - sizeof(termbuf.tc))) - (void) ioctl(pty, TIOCSETC, (char *)&termbuf.tc); - if (memcmp((char *)&termbuf.ltc, (char *)&termbuf2.ltc, - sizeof(termbuf.ltc))) - (void) ioctl(pty, TIOCSLTC, (char *)&termbuf.ltc); - if (termbuf.lflags != termbuf2.lflags) - (void) ioctl(pty, TIOCLSET, (char *)&termbuf.lflags); -#else /* USE_TERMIO */ - if (memcmp((char *)&termbuf, (char *)&termbuf2, sizeof(termbuf))) -# ifdef STREAMSPTY - (void) tcsetattr(ttyfd, TCSANOW, &termbuf); -# else - (void) tcsetattr(pty, TCSANOW, &termbuf); -# endif -# if defined(CRAY2) && defined(UNICOS5) - needtermstat = 1; -# endif -#endif /* USE_TERMIO */ -} - - -/* - * spcset(func, valp, valpp) - * - * This function takes various special characters (func), and - * sets *valp to the current value of that character, and - * *valpp to point to where in the "termbuf" structure that - * value is kept. - * - * It returns the SLC_ level of support for this function. - */ - -#ifndef USE_TERMIO - int -spcset(func, valp, valpp) - int func; - cc_t *valp; - cc_t **valpp; -{ - switch(func) { - case SLC_EOF: - *valp = termbuf.tc.t_eofc; - *valpp = (cc_t *)&termbuf.tc.t_eofc; - return(SLC_VARIABLE); - case SLC_EC: - *valp = termbuf.sg.sg_erase; - *valpp = (cc_t *)&termbuf.sg.sg_erase; - return(SLC_VARIABLE); - case SLC_EL: - *valp = termbuf.sg.sg_kill; - *valpp = (cc_t *)&termbuf.sg.sg_kill; - return(SLC_VARIABLE); - case SLC_IP: - *valp = termbuf.tc.t_intrc; - *valpp = (cc_t *)&termbuf.tc.t_intrc; - return(SLC_VARIABLE|SLC_FLUSHIN|SLC_FLUSHOUT); - case SLC_ABORT: - *valp = termbuf.tc.t_quitc; - *valpp = (cc_t *)&termbuf.tc.t_quitc; - return(SLC_VARIABLE|SLC_FLUSHIN|SLC_FLUSHOUT); - case SLC_XON: - *valp = termbuf.tc.t_startc; - *valpp = (cc_t *)&termbuf.tc.t_startc; - return(SLC_VARIABLE); - case SLC_XOFF: - *valp = termbuf.tc.t_stopc; - *valpp = (cc_t *)&termbuf.tc.t_stopc; - return(SLC_VARIABLE); - case SLC_AO: - *valp = termbuf.ltc.t_flushc; - *valpp = (cc_t *)&termbuf.ltc.t_flushc; - return(SLC_VARIABLE); - case SLC_SUSP: - *valp = termbuf.ltc.t_suspc; - *valpp = (cc_t *)&termbuf.ltc.t_suspc; - return(SLC_VARIABLE); - case SLC_EW: - *valp = termbuf.ltc.t_werasc; - *valpp = (cc_t *)&termbuf.ltc.t_werasc; - return(SLC_VARIABLE); - case SLC_RP: - *valp = termbuf.ltc.t_rprntc; - *valpp = (cc_t *)&termbuf.ltc.t_rprntc; - return(SLC_VARIABLE); - case SLC_LNEXT: - *valp = termbuf.ltc.t_lnextc; - *valpp = (cc_t *)&termbuf.ltc.t_lnextc; - return(SLC_VARIABLE); - case SLC_FORW1: - *valp = termbuf.tc.t_brkc; - *valpp = (cc_t *)&termbuf.ltc.t_lnextc; - return(SLC_VARIABLE); - case SLC_BRK: - case SLC_SYNCH: - case SLC_AYT: - case SLC_EOR: - *valp = (cc_t)0; - *valpp = (cc_t *)0; - return(SLC_DEFAULT); - default: - *valp = (cc_t)0; - *valpp = (cc_t *)0; - return(SLC_NOSUPPORT); - } -} - -#else /* USE_TERMIO */ - - int -spcset(func, valp, valpp) - int func; - cc_t *valp; - cc_t **valpp; -{ - -#define setval(a, b) *valp = termbuf.c_cc[a]; \ - *valpp = &termbuf.c_cc[a]; \ - return(b); -#define defval(a) *valp = ((cc_t)a); *valpp = (cc_t *)0; return(SLC_DEFAULT); - - switch(func) { - case SLC_EOF: - setval(VEOF, SLC_VARIABLE); - case SLC_EC: - setval(VERASE, SLC_VARIABLE); - case SLC_EL: - setval(VKILL, SLC_VARIABLE); - case SLC_IP: - setval(VINTR, SLC_VARIABLE|SLC_FLUSHIN|SLC_FLUSHOUT); - case SLC_ABORT: - setval(VQUIT, SLC_VARIABLE|SLC_FLUSHIN|SLC_FLUSHOUT); - case SLC_XON: -#ifdef VSTART - setval(VSTART, SLC_VARIABLE); -#else - defval(0x13); -#endif - case SLC_XOFF: -#ifdef VSTOP - setval(VSTOP, SLC_VARIABLE); -#else - defval(0x11); -#endif - case SLC_EW: -#ifdef VWERASE - setval(VWERASE, SLC_VARIABLE); -#else - defval(0); -#endif - case SLC_RP: -#ifdef VREPRINT - setval(VREPRINT, SLC_VARIABLE); -#else - defval(0); -#endif - case SLC_LNEXT: -#ifdef VLNEXT - setval(VLNEXT, SLC_VARIABLE); -#else - defval(0); -#endif - case SLC_AO: -#if !defined(VDISCARD) && defined(VFLUSHO) -# define VDISCARD VFLUSHO -#endif -#ifdef VDISCARD - setval(VDISCARD, SLC_VARIABLE|SLC_FLUSHOUT); -#else - defval(0); -#endif - case SLC_SUSP: -#ifdef VSUSP - setval(VSUSP, SLC_VARIABLE|SLC_FLUSHIN); -#else - defval(0); -#endif -#ifdef VEOL - case SLC_FORW1: - setval(VEOL, SLC_VARIABLE); -#endif -#ifdef VEOL2 - case SLC_FORW2: - setval(VEOL2, SLC_VARIABLE); -#endif - case SLC_AYT: -#ifdef VSTATUS - setval(VSTATUS, SLC_VARIABLE); -#else - defval(0); -#endif - - case SLC_BRK: - case SLC_SYNCH: - case SLC_EOR: - defval(0); - - default: - *valp = 0; - *valpp = 0; - return(SLC_NOSUPPORT); - } -} -#endif /* USE_TERMIO */ - -#ifdef CRAY -/* - * getnpty() - * - * Return the number of pty's configured into the system. - */ - int -getnpty() -{ -#ifdef _SC_CRAY_NPTY - int numptys; - - if ((numptys = sysconf(_SC_CRAY_NPTY)) != -1) - return numptys; - else -#endif /* _SC_CRAY_NPTY */ - return 128; -} -#endif /* CRAY */ - -#ifndef convex -/* - * getpty() - * - * Allocate a pty. As a side effect, the external character - * array "line" contains the name of the slave side. - * - * Returns the file descriptor of the opened pty. - */ -#ifndef __GNUC__ -char *line = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; -#else -static char Xline[] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; -char *line = Xline; -#endif -#ifdef CRAY -char *myline = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; -#endif /* CRAY */ - - int -getpty(ptynum) -int *ptynum; -{ - register int p; -#ifdef STREAMSPTY - int t; - char *ptsname(); - - p = open("/dev/ptmx", 2); - if (p > 0) { - grantpt(p); - unlockpt(p); - strcpy(line, ptsname(p)); - return(p); - } - -#else /* ! STREAMSPTY */ -#ifndef CRAY - register char *cp, *p1, *p2; - register int i; -#if defined(sun) && defined(TIOCGPGRP) && BSD < 199207 - int dummy; -#endif - -#ifndef __hpux - (void) sprintf(line, "/dev/ptyXX"); - p1 = &line[8]; - p2 = &line[9]; -#else - (void) sprintf(line, "/dev/ptym/ptyXX"); - p1 = &line[13]; - p2 = &line[14]; -#endif - - for (cp = "pqrsPQRS"; *cp; cp++) { - struct stat stb; - - *p1 = *cp; - *p2 = '0'; - /* - * This stat() check is just to keep us from - * looping through all 256 combinations if there - * aren't that many ptys available. - */ - if (stat(line, &stb) < 0) - break; - for (i = 0; i < 32; i++) { - *p2 = "0123456789abcdefghijklmnopqrstuv"[i]; - p = open(line, 2); - if (p > 0) { -#ifndef __hpux - line[5] = 't'; -#else - for (p1 = &line[8]; *p1; p1++) - *p1 = *(p1+1); - line[9] = 't'; -#endif - chown(line, 0, 0); - chmod(line, 0600); -#if defined(sun) && defined(TIOCGPGRP) && BSD < 199207 - if (ioctl(p, TIOCGPGRP, &dummy) == 0 - || errno != EIO) { - chmod(line, 0666); - close(p); - line[5] = 'p'; - } else -#endif /* defined(sun) && defined(TIOCGPGRP) && BSD < 199207 */ - return(p); - } - } - } -#else /* CRAY */ - extern lowpty, highpty; - struct stat sb; - - for (*ptynum = lowpty; *ptynum <= highpty; (*ptynum)++) { - (void) sprintf(myline, "/dev/pty/%03d", *ptynum); - p = open(myline, 2); - if (p < 0) - continue; - (void) sprintf(line, "/dev/ttyp%03d", *ptynum); - /* - * Here are some shenanigans to make sure that there - * are no listeners lurking on the line. - */ - if(stat(line, &sb) < 0) { - (void) close(p); - continue; - } - if(sb.st_uid || sb.st_gid || sb.st_mode != 0600) { - chown(line, 0, 0); - chmod(line, 0600); - (void)close(p); - p = open(myline, 2); - if (p < 0) - continue; - } - /* - * Now it should be safe...check for accessability. - */ - if (access(line, 6) == 0) - return(p); - else { - /* no tty side to pty so skip it */ - (void) close(p); - } - } -#endif /* CRAY */ -#endif /* STREAMSPTY */ - return(-1); -} -#endif /* convex */ - -#ifdef LINEMODE -/* - * tty_flowmode() Find out if flow control is enabled or disabled. - * tty_linemode() Find out if linemode (external processing) is enabled. - * tty_setlinemod(on) Turn on/off linemode. - * tty_isecho() Find out if echoing is turned on. - * tty_setecho(on) Enable/disable character echoing. - * tty_israw() Find out if terminal is in RAW mode. - * tty_binaryin(on) Turn on/off BINARY on input. - * tty_binaryout(on) Turn on/off BINARY on output. - * tty_isediting() Find out if line editing is enabled. - * tty_istrapsig() Find out if signal trapping is enabled. - * tty_setedit(on) Turn on/off line editing. - * tty_setsig(on) Turn on/off signal trapping. - * tty_issofttab() Find out if tab expansion is enabled. - * tty_setsofttab(on) Turn on/off soft tab expansion. - * tty_islitecho() Find out if typed control chars are echoed literally - * tty_setlitecho() Turn on/off literal echo of control chars - * tty_tspeed(val) Set transmit speed to val. - * tty_rspeed(val) Set receive speed to val. - */ - -#ifdef convex -static int linestate; -#endif - - int -tty_linemode() -{ -#ifndef convex -#ifndef USE_TERMIO - return(termbuf.state & TS_EXTPROC); -#else - return(termbuf.c_lflag & EXTPROC); -#endif -#else - return(linestate); -#endif -} - - void -tty_setlinemode(on) - int on; -{ -#ifdef TIOCEXT -# ifndef convex - set_termbuf(); -# else - linestate = on; -# endif - (void) ioctl(pty, TIOCEXT, (char *)&on); -# ifndef convex - init_termbuf(); -# endif -#else /* !TIOCEXT */ -# ifdef EXTPROC - if (on) - termbuf.c_lflag |= EXTPROC; - else - termbuf.c_lflag &= ~EXTPROC; -# endif -#endif /* TIOCEXT */ -} -#endif /* LINEMODE */ - - int -tty_isecho() -{ -#ifndef USE_TERMIO - return (termbuf.sg.sg_flags & ECHO); -#else - return (termbuf.c_lflag & ECHO); -#endif -} - - int -tty_flowmode() -{ -#ifndef USE_TERMIO - return(((termbuf.tc.t_startc) > 0 && (termbuf.tc.t_stopc) > 0) ? 1 : 0); -#else - return((termbuf.c_iflag & IXON) ? 1 : 0); -#endif -} - - int -tty_restartany() -{ -#ifndef USE_TERMIO -# ifdef DECCTQ - return((termbuf.lflags & DECCTQ) ? 0 : 1); -# else - return(-1); -# endif -#else - return((termbuf.c_iflag & IXANY) ? 1 : 0); -#endif -} - - void -tty_setecho(on) - int on; -{ -#ifndef USE_TERMIO - if (on) - termbuf.sg.sg_flags |= ECHO|CRMOD; - else - termbuf.sg.sg_flags &= ~(ECHO|CRMOD); -#else - if (on) - termbuf.c_lflag |= ECHO; - else - termbuf.c_lflag &= ~ECHO; -#endif -} - - int -tty_israw() -{ -#ifndef USE_TERMIO - return(termbuf.sg.sg_flags & RAW); -#else - return(!(termbuf.c_lflag & ICANON)); -#endif -} - -#if defined (AUTHENTICATION) && defined(NO_LOGIN_F) && defined(LOGIN_R) - int -tty_setraw(on) -{ -# ifndef USE_TERMIO - if (on) - termbuf.sg.sg_flags |= RAW; - else - termbuf.sg.sg_flags &= ~RAW; -# else - if (on) - termbuf.c_lflag &= ~ICANON; - else - termbuf.c_lflag |= ICANON; -# endif -} -#endif - - void -tty_binaryin(on) - int on; -{ -#ifndef USE_TERMIO - if (on) - termbuf.lflags |= LPASS8; - else - termbuf.lflags &= ~LPASS8; -#else - if (on) { - termbuf.c_iflag &= ~ISTRIP; - } else { - termbuf.c_iflag |= ISTRIP; - } -#endif -} - - void -tty_binaryout(on) - int on; -{ -#ifndef USE_TERMIO - if (on) - termbuf.lflags |= LLITOUT; - else - termbuf.lflags &= ~LLITOUT; -#else - if (on) { - termbuf.c_cflag &= ~(CSIZE|PARENB); - termbuf.c_cflag |= CS8; - termbuf.c_oflag &= ~OPOST; - } else { - termbuf.c_cflag &= ~CSIZE; - termbuf.c_cflag |= CS7|PARENB; - termbuf.c_oflag |= OPOST; - } -#endif -} - - int -tty_isbinaryin() -{ -#ifndef USE_TERMIO - return(termbuf.lflags & LPASS8); -#else - return(!(termbuf.c_iflag & ISTRIP)); -#endif -} - - int -tty_isbinaryout() -{ -#ifndef USE_TERMIO - return(termbuf.lflags & LLITOUT); -#else - return(!(termbuf.c_oflag&OPOST)); -#endif -} - -#ifdef LINEMODE - int -tty_isediting() -{ -#ifndef USE_TERMIO - return(!(termbuf.sg.sg_flags & (CBREAK|RAW))); -#else - return(termbuf.c_lflag & ICANON); -#endif -} - - int -tty_istrapsig() -{ -#ifndef USE_TERMIO - return(!(termbuf.sg.sg_flags&RAW)); -#else - return(termbuf.c_lflag & ISIG); -#endif -} - - void -tty_setedit(on) - int on; -{ -#ifndef USE_TERMIO - if (on) - termbuf.sg.sg_flags &= ~CBREAK; - else - termbuf.sg.sg_flags |= CBREAK; -#else - if (on) - termbuf.c_lflag |= ICANON; - else - termbuf.c_lflag &= ~ICANON; -#endif -} - - void -tty_setsig(on) - int on; -{ -#ifndef USE_TERMIO - if (on) - ; -#else - if (on) - termbuf.c_lflag |= ISIG; - else - termbuf.c_lflag &= ~ISIG; -#endif -} -#endif /* LINEMODE */ - - int -tty_issofttab() -{ -#ifndef USE_TERMIO - return (termbuf.sg.sg_flags & XTABS); -#else -# ifdef OXTABS - return (termbuf.c_oflag & OXTABS); -# endif -# ifdef TABDLY - return ((termbuf.c_oflag & TABDLY) == TAB3); -# endif -#endif -} - - void -tty_setsofttab(on) - int on; -{ -#ifndef USE_TERMIO - if (on) - termbuf.sg.sg_flags |= XTABS; - else - termbuf.sg.sg_flags &= ~XTABS; -#else - if (on) { -# ifdef OXTABS - termbuf.c_oflag |= OXTABS; -# endif -# ifdef TABDLY - termbuf.c_oflag &= ~TABDLY; - termbuf.c_oflag |= TAB3; -# endif - } else { -# ifdef OXTABS - termbuf.c_oflag &= ~OXTABS; -# endif -# ifdef TABDLY - termbuf.c_oflag &= ~TABDLY; - termbuf.c_oflag |= TAB0; -# endif - } -#endif -} - - int -tty_islitecho() -{ -#ifndef USE_TERMIO - return (!(termbuf.lflags & LCTLECH)); -#else -# ifdef ECHOCTL - return (!(termbuf.c_lflag & ECHOCTL)); -# endif -# ifdef TCTLECH - return (!(termbuf.c_lflag & TCTLECH)); -# endif -# if !defined(ECHOCTL) && !defined(TCTLECH) - return (0); /* assumes ctl chars are echoed '^x' */ -# endif -#endif -} - - void -tty_setlitecho(on) - int on; -{ -#ifndef USE_TERMIO - if (on) - termbuf.lflags &= ~LCTLECH; - else - termbuf.lflags |= LCTLECH; -#else -# ifdef ECHOCTL - if (on) - termbuf.c_lflag &= ~ECHOCTL; - else - termbuf.c_lflag |= ECHOCTL; -# endif -# ifdef TCTLECH - if (on) - termbuf.c_lflag &= ~TCTLECH; - else - termbuf.c_lflag |= TCTLECH; -# endif -#endif -} - - int -tty_iscrnl() -{ -#ifndef USE_TERMIO - return (termbuf.sg.sg_flags & CRMOD); -#else - return (termbuf.c_iflag & ICRNL); -#endif -} - -/* - * Try to guess whether speeds are "encoded" (4.2BSD) or just numeric (4.4BSD). - */ -#if B4800 != 4800 -#define DECODE_BAUD -#endif - -#ifdef DECODE_BAUD - -/* - * A table of available terminal speeds - */ -struct termspeeds { - int speed; - int value; -} termspeeds[] = { - { 0, B0 }, { 50, B50 }, { 75, B75 }, - { 110, B110 }, { 134, B134 }, { 150, B150 }, - { 200, B200 }, { 300, B300 }, { 600, B600 }, - { 1200, B1200 }, { 1800, B1800 }, { 2400, B2400 }, - { 4800, B4800 }, -#ifdef B7200 - { 7200, B7200 }, -#endif - { 9600, B9600 }, -#ifdef B14400 - { 14400, B14400 }, -#endif -#ifdef B19200 - { 19200, B19200 }, -#endif -#ifdef B28800 - { 28800, B28800 }, -#endif -#ifdef B38400 - { 38400, B38400 }, -#endif -#ifdef B57600 - { 57600, B57600 }, -#endif -#ifdef B115200 - { 115200, B115200 }, -#endif -#ifdef B230400 - { 230400, B230400 }, -#endif - { -1, 0 } -}; -#endif /* DECODE_BUAD */ - - void -tty_tspeed(val) - int val; -{ -#ifdef DECODE_BAUD - register struct termspeeds *tp; - - for (tp = termspeeds; (tp->speed != -1) && (val > tp->speed); tp++) - ; - if (tp->speed == -1) /* back up to last valid value */ - --tp; - cfsetospeed(&termbuf, tp->value); -#else /* DECODE_BUAD */ - cfsetospeed(&termbuf, val); -#endif /* DECODE_BUAD */ -} - - void -tty_rspeed(val) - int val; -{ -#ifdef DECODE_BAUD - register struct termspeeds *tp; - - for (tp = termspeeds; (tp->speed != -1) && (val > tp->speed); tp++) - ; - if (tp->speed == -1) /* back up to last valid value */ - --tp; - cfsetispeed(&termbuf, tp->value); -#else /* DECODE_BAUD */ - cfsetispeed(&termbuf, val); -#endif /* DECODE_BAUD */ -} - -#if defined(CRAY2) && defined(UNICOS5) - int -tty_isnewmap() -{ - return((termbuf.c_oflag & OPOST) && (termbuf.c_oflag & ONLCR) && - !(termbuf.c_oflag & ONLRET)); -} -#endif - -#ifdef PARENT_DOES_UTMP -# ifndef NEWINIT -extern struct utmp wtmp; -extern char wtmpf[]; -# else /* NEWINIT */ -int gotalarm; - - /* ARGSUSED */ - void -nologinproc(sig) - int sig; -{ - gotalarm++; -} -# endif /* NEWINIT */ -#endif /* PARENT_DOES_UTMP */ - -#ifndef NEWINIT -# ifdef PARENT_DOES_UTMP -extern void utmp_sig_init P((void)); -extern void utmp_sig_reset P((void)); -extern void utmp_sig_wait P((void)); -extern void utmp_sig_notify P((int)); -# endif /* PARENT_DOES_UTMP */ -#endif - -/* - * getptyslave() - * - * Open the slave side of the pty, and do any initialization - * that is necessary. The return value is a file descriptor - * for the slave side. - */ - void -getptyslave() -{ - register int t = -1; - char erase; - -#if !defined(CRAY) || !defined(NEWINIT) -# ifdef LINEMODE - int waslm; -# endif -# ifdef TIOCGWINSZ - struct winsize ws; - extern int def_row, def_col; -# endif - extern int def_tspeed, def_rspeed; - /* - * Opening the slave side may cause initilization of the - * kernel tty structure. We need remember the state of - * if linemode was turned on - * terminal window size - * terminal speed - * erase character - * so that we can re-set them if we need to. - */ -# ifdef LINEMODE - waslm = tty_linemode(); -# endif - erase = termbuf.c_cc[VERASE]; - - /* - * Make sure that we don't have a controlling tty, and - * that we are the session (process group) leader. - */ -# ifdef TIOCNOTTY - t = open(_PATH_TTY, O_RDWR); - if (t >= 0) { - (void) ioctl(t, TIOCNOTTY, (char *)0); - (void) close(t); - } -# endif - - -# ifdef PARENT_DOES_UTMP - /* - * Wait for our parent to get the utmp stuff to get done. - */ - utmp_sig_wait(); -# endif - - t = cleanopen(line); - if (t < 0) - fatalperror(net, line); - -#ifdef STREAMSPTY -#ifdef USE_TERMIO - ttyfd = t; -#endif - if (ioctl(t, I_PUSH, "ptem") < 0) - fatal(net, "I_PUSH ptem"); - if (ioctl(t, I_PUSH, "ldterm") < 0) - fatal(net, "I_PUSH ldterm"); - if (ioctl(t, I_PUSH, "ttcompat") < 0) - fatal(net, "I_PUSH ttcompat"); - if (ioctl(pty, I_PUSH, "pckt") < 0) - fatal(net, "I_PUSH pckt"); -#endif - - /* - * set up the tty modes as we like them to be. - */ - init_termbuf(); -# ifdef TIOCGWINSZ - if (def_row || def_col) { - memset((char *)&ws, 0, sizeof(ws)); - ws.ws_col = def_col; - ws.ws_row = def_row; - (void)ioctl(t, TIOCSWINSZ, (char *)&ws); - } -# endif - - /* - * Settings for sgtty based systems - */ -# ifndef USE_TERMIO - termbuf.sg.sg_flags |= CRMOD|ANYP|ECHO|XTABS; -# endif /* USE_TERMIO */ - - /* - * Settings for UNICOS (and HPUX) - */ -# if defined(CRAY) || defined(__hpux) - termbuf.c_oflag = OPOST|ONLCR|TAB3; - termbuf.c_iflag = IGNPAR|ISTRIP|ICRNL|IXON; - termbuf.c_lflag = ISIG|ICANON|ECHO|ECHOE|ECHOK; - termbuf.c_cflag = EXTB|HUPCL|CS8; -# endif - - /* - * Settings for all other termios/termio based - * systems, other than 4.4BSD. In 4.4BSD the - * kernel does the initial terminal setup. - */ -# if defined(USE_TERMIO) && !(defined(CRAY) || defined(__hpux)) && (BSD <= 43) -# ifndef OXTABS -# define OXTABS 0 -# endif - termbuf.c_lflag |= ECHO; - termbuf.c_oflag |= ONLCR|OXTABS; - termbuf.c_iflag |= ICRNL; - termbuf.c_iflag &= ~IXOFF; -# endif /* defined(USE_TERMIO) && !defined(CRAY) && (BSD <= 43) */ - tty_rspeed((def_rspeed > 0) ? def_rspeed : 9600); - tty_tspeed((def_tspeed > 0) ? def_tspeed : 9600); - if (erase) - termbuf.c_cc[VERASE] = erase; -# ifdef LINEMODE - if (waslm) - tty_setlinemode(1); -# endif /* LINEMODE */ - - /* - * Set the tty modes, and make this our controlling tty. - */ - set_termbuf(); - if (login_tty(t) == -1) - fatalperror(net, "login_tty"); -#endif /* !defined(CRAY) || !defined(NEWINIT) */ - if (net > 2) - (void) close(net); -#if defined(AUTHENTICATION) && defined(NO_LOGIN_F) && defined(LOGIN_R) - /* - * Leave the pty open so that we can write out the rlogin - * protocol for /bin/login, if the authentication works. - */ -#else - if (pty > 2) { - (void) close(pty); - pty = -1; - } -#endif -} - -#if !defined(CRAY) || !defined(NEWINIT) -#ifndef O_NOCTTY -#define O_NOCTTY 0 -#endif -/* - * Open the specified slave side of the pty, - * making sure that we have a clean tty. - */ - int -cleanopen(line) - char *line; -{ - register int t; -#ifdef UNICOS7x - struct secstat secbuf; -#endif /* UNICOS7x */ - -#ifndef STREAMSPTY - /* - * Make sure that other people can't open the - * slave side of the connection. - */ - (void) chown(line, 0, 0); - (void) chmod(line, 0600); -#endif - -# if !defined(CRAY) && (BSD > 43) - (void) revoke(line); -# endif -#ifdef UNICOS7x - if (secflag) { - if (secstat(line, &secbuf) < 0) - return(-1); - if (setulvl(secbuf.st_slevel) < 0) - return(-1); - if (setucmp(secbuf.st_compart) < 0) - return(-1); - } -#endif /* UNICOS7x */ - - t = open(line, O_RDWR|O_NOCTTY); - -#ifdef UNICOS7x - if (secflag) { - if (setulvl(sysv.sy_minlvl) < 0) - return(-1); - if (setucmp(0) < 0) - return(-1); - } -#endif /* UNICOS7x */ - - if (t < 0) - return(-1); - - /* - * Hangup anybody else using this ttyp, then reopen it for - * ourselves. - */ -# if !(defined(CRAY) || defined(__hpux)) && (BSD <= 43) && !defined(STREAMSPTY) - (void) signal(SIGHUP, SIG_IGN); - vhangup(); - (void) signal(SIGHUP, SIG_DFL); - t = open(line, O_RDWR|O_NOCTTY); - if (t < 0) - return(-1); -# endif -# if defined(CRAY) && defined(TCVHUP) - { - register int i; - (void) signal(SIGHUP, SIG_IGN); - (void) ioctl(t, TCVHUP, (char *)0); - (void) signal(SIGHUP, SIG_DFL); - -#ifdef UNICOS7x - if (secflag) { - if (secstat(line, &secbuf) < 0) - return(-1); - if (setulvl(secbuf.st_slevel) < 0) - return(-1); - if (setucmp(secbuf.st_compart) < 0) - return(-1); - } -#endif /* UNICOS7x */ - - i = open(line, O_RDWR); - -#ifdef UNICOS7x - if (secflag) { - if (setulvl(sysv.sy_minlvl) < 0) - return(-1); - if (setucmp(0) < 0) - return(-1); - } -#endif /* UNICOS7x */ - - if (i < 0) - return(-1); - (void) close(t); - t = i; - } -# endif /* defined(CRAY) && defined(TCVHUP) */ - return(t); -} -#endif /* !defined(CRAY) || !defined(NEWINIT) */ - -#if BSD <= 43 - - int -login_tty(t) - int t; -{ - if (setsid() < 0) { -#ifdef ultrix - /* - * The setsid() may have failed because we - * already have a pgrp == pid. Zero out - * our pgrp and try again... - */ - if ((setpgrp(0, 0) < 0) || (setsid() < 0)) -#endif - fatalperror(net, "setsid()"); - } -# ifdef TIOCSCTTY - if (ioctl(t, TIOCSCTTY, (char *)0) < 0) - fatalperror(net, "ioctl(sctty)"); -# if defined(CRAY) - /* - * Close the hard fd to /dev/ttypXXX, and re-open through - * the indirect /dev/tty interface. - */ - close(t); - if ((t = open("/dev/tty", O_RDWR)) < 0) - fatalperror(net, "open(/dev/tty)"); -# endif -# else - /* - * We get our controlling tty assigned as a side-effect - * of opening up a tty device. But on BSD based systems, - * this only happens if our process group is zero. The - * setsid() call above may have set our pgrp, so clear - * it out before opening the tty... - */ -# ifndef SOLARIS - (void) setpgrp(0, 0); -# else - (void) setpgrp(); -# endif - close(open(line, O_RDWR)); -# endif - if (t != 0) - (void) dup2(t, 0); - if (t != 1) - (void) dup2(t, 1); - if (t != 2) - (void) dup2(t, 2); - if (t > 2) - close(t); - return(0); -} -#endif /* BSD <= 43 */ - -#ifdef NEWINIT -char *gen_id = "fe"; -#endif - -/* - * startslave(host) - * - * Given a hostname, do whatever - * is necessary to startup the login process on the slave side of the pty. - */ - -/* ARGSUSED */ - void -startslave(host, autologin, autoname) - char *host; - int autologin; - char *autoname; -{ - register int i; - long time(); -#ifdef NEWINIT - extern char *ptyip; - struct init_request request; - void nologinproc(); - register int n; -#endif /* NEWINIT */ - -#if defined(AUTHENTICATION) - if (!autoname || !autoname[0]) - autologin = 0; - - if (autologin < auth_level) { - fatal(net, "Authorization failed"); - exit(1); - } -#endif - -#ifndef NEWINIT -# ifdef PARENT_DOES_UTMP - utmp_sig_init(); -# endif /* PARENT_DOES_UTMP */ - - if ((i = fork()) < 0) - fatalperror(net, "fork"); - if (i) { -# ifdef PARENT_DOES_UTMP - /* - * Cray parent will create utmp entry for child and send - * signal to child to tell when done. Child waits for signal - * before doing anything important. - */ - register int pid = i; - void sigjob P((int)); - - setpgrp(); - utmp_sig_reset(); /* reset handler to default */ - /* - * Create utmp entry for child - */ - (void) time(&wtmp.ut_time); - wtmp.ut_type = LOGIN_PROCESS; - wtmp.ut_pid = pid; - SCPYN(wtmp.ut_user, "LOGIN"); - SCPYN(wtmp.ut_host, host); - SCPYN(wtmp.ut_line, line + sizeof("/dev/") - 1); -#ifndef __hpux - SCPYN(wtmp.ut_id, wtmp.ut_line+3); -#else - SCPYN(wtmp.ut_id, wtmp.ut_line+7); -#endif - pututline(&wtmp); - endutent(); - if ((i = open(wtmpf, O_WRONLY|O_APPEND)) >= 0) { - (void) write(i, (char *)&wtmp, sizeof(struct utmp)); - (void) close(i); - } -#ifdef CRAY - (void) signal(WJSIGNAL, sigjob); -#endif - utmp_sig_notify(pid); -# endif /* PARENT_DOES_UTMP */ - } else { - getptyslave(autologin); - start_login(host, autologin, autoname); - /*NOTREACHED*/ - } -#else /* NEWINIT */ - - /* - * Init will start up login process if we ask nicely. We only wait - * for it to start up and begin normal telnet operation. - */ - if ((i = open(INIT_FIFO, O_WRONLY)) < 0) { - char tbuf[128]; - (void) sprintf(tbuf, "Can't open %s\n", INIT_FIFO); - fatalperror(net, tbuf); - } - memset((char *)&request, 0, sizeof(request)); - request.magic = INIT_MAGIC; - SCPYN(request.gen_id, gen_id); - SCPYN(request.tty_id, &line[8]); - SCPYN(request.host, host); - SCPYN(request.term_type, terminaltype ? terminaltype : "network"); -#if !defined(UNICOS5) - request.signal = SIGCLD; - request.pid = getpid(); -#endif -#ifdef BFTPDAEMON - /* - * Are we working as the bftp daemon? - */ - if (bftpd) { - SCPYN(request.exec_name, BFTPPATH); - } -#endif /* BFTPDAEMON */ - if (write(i, (char *)&request, sizeof(request)) < 0) { - char tbuf[128]; - (void) sprintf(tbuf, "Can't write to %s\n", INIT_FIFO); - fatalperror(net, tbuf); - } - (void) close(i); - (void) signal(SIGALRM, nologinproc); - for (i = 0; ; i++) { - char tbuf[128]; - alarm(15); - n = read(pty, ptyip, BUFSIZ); - if (i == 3 || n >= 0 || !gotalarm) - break; - gotalarm = 0; - sprintf(tbuf, "telnetd: waiting for /etc/init to start login process on %s\r\n", line); - (void) write(net, tbuf, strlen(tbuf)); - } - if (n < 0 && gotalarm) - fatal(net, "/etc/init didn't start login process"); - pcc += n; - alarm(0); - (void) signal(SIGALRM, SIG_DFL); - - return; -#endif /* NEWINIT */ -} - -char *envinit[3]; -extern char **environ; - - void -init_env() -{ - extern char *getenv(); - char **envp; - - envp = envinit; - if ((*envp = getenv("TZ"))) - *envp++ -= 3; -#if defined(CRAY) || defined(__hpux) - else - *envp++ = "TZ=GMT0"; -#endif - *envp = 0; - environ = envinit; -} - -#ifndef NEWINIT - -/* - * start_login(host) - * - * Assuming that we are now running as a child processes, this - * function will turn us into the login process. - */ - - void -start_login(host, autologin, name) - char *host; - int autologin; - char *name; -{ - register char **argv; - char **addarg(), *user; - extern char *getenv(); -#ifdef UTMPX - register int pid = getpid(); - struct utmpx utmpx; -#endif -#ifdef SOLARIS - char *term; - char termbuf[64]; -#endif - -#ifdef UTMPX - /* - * Create utmp entry for child - */ - - memset(&utmpx, 0, sizeof(utmpx)); - SCPYN(utmpx.ut_user, ".telnet"); - SCPYN(utmpx.ut_line, line + sizeof("/dev/") - 1); - utmpx.ut_pid = pid; - utmpx.ut_id[0] = 't'; - utmpx.ut_id[1] = 'n'; - utmpx.ut_id[2] = SC_WILDC; - utmpx.ut_id[3] = SC_WILDC; - utmpx.ut_type = LOGIN_PROCESS; - (void) time(&utmpx.ut_tv.tv_sec); - if (makeutx(&utmpx) == NULL) - fatal(net, "makeutx failed"); -#endif - - scrub_env(); - - /* - * -h : pass on name of host. - * WARNING: -h is accepted by login if and only if - * getuid() == 0. - * -p : don't clobber the environment (so terminal type stays set). - * - * -f : force this login, he has already been authenticated - */ - argv = addarg(0, "login"); - -#if !defined(NO_LOGIN_H) - -# if defined (AUTHENTICATION) && defined(NO_LOGIN_F) && defined(LOGIN_R) - /* - * Don't add the "-h host" option if we are going - * to be adding the "-r host" option down below... - */ - if ((auth_level < 0) || (autologin != AUTH_VALID)) -# endif - { - argv = addarg(argv, "-h"); - argv = addarg(argv, host); -#ifdef SOLARIS - /* - * SVR4 version of -h takes TERM= as second arg, or - - */ - term = getenv("TERM"); - if (term == NULL || term[0] == 0) { - term = "-"; - } else { - strcpy(termbuf, "TERM="); - strncat(termbuf, term, sizeof(termbuf) - 6); - term = termbuf; - } - argv = addarg(argv, term); -#endif - } -#endif -#if !defined(NO_LOGIN_P) - argv = addarg(argv, "-p"); -#endif -#ifdef LINEMODE - /* - * Set the environment variable "LINEMODE" to either - * "real" or "kludge" if we are operating in either - * real or kludge linemode. - */ - if (lmodetype == REAL_LINEMODE) - setenv("LINEMODE", "real", 1); -# ifdef KLUDGELINEMODE - else if (lmodetype == KLUDGE_LINEMODE || lmodetype == KLUDGE_OK) - setenv("LINEMODE", "kludge", 1); -# endif -#endif -#ifdef BFTPDAEMON - /* - * Are we working as the bftp daemon? If so, then ask login - * to start bftp instead of shell. - */ - if (bftpd) { - argv = addarg(argv, "-e"); - argv = addarg(argv, BFTPPATH); - } else -#endif -#if defined (SecurID) - /* - * don't worry about the -f that might get sent. - * A -s is supposed to override it anyhow. - */ - if (require_SecurID) - argv = addarg(argv, "-s"); -#endif -#if defined (AUTHENTICATION) - if (auth_level >= 0 && autologin == AUTH_VALID) { -# if !defined(NO_LOGIN_F) - argv = addarg(argv, "-f"); - argv = addarg(argv, "--"); - argv = addarg(argv, name); -# else -# if defined(LOGIN_R) - /* - * We don't have support for "login -f", but we - * can fool /bin/login into thinking that we are - * rlogind, and allow us to log in without a - * password. The rlogin protocol expects - * local-user\0remote-user\0term/speed\0 - */ - - if (pty > 2) { - register char *cp; - char speed[128]; - int isecho, israw, xpty, len; - extern int def_rspeed; -# ifndef LOGIN_HOST - /* - * Tell login that we are coming from "localhost". - * If we passed in the real host name, then the - * user would have to allow .rhost access from - * every machine that they want authenticated - * access to work from, which sort of defeats - * the purpose of an authenticated login... - * So, we tell login that the session is coming - * from "localhost", and the user will only have - * to have "localhost" in their .rhost file. - */ -# define LOGIN_HOST "localhost" -# endif - argv = addarg(argv, "-r"); - argv = addarg(argv, LOGIN_HOST); - - xpty = pty; -# ifndef STREAMSPTY - pty = 0; -# else - ttyfd = 0; -# endif - init_termbuf(); - isecho = tty_isecho(); - israw = tty_israw(); - if (isecho || !israw) { - tty_setecho(0); /* Turn off echo */ - tty_setraw(1); /* Turn on raw */ - set_termbuf(); - } - len = strlen(name)+1; - write(xpty, name, len); - write(xpty, name, len); - sprintf(speed, "%s/%d", (cp = getenv("TERM")) ? cp : "", - (def_rspeed > 0) ? def_rspeed : 9600); - len = strlen(speed)+1; - write(xpty, speed, len); - - if (isecho || !israw) { - init_termbuf(); - tty_setecho(isecho); - tty_setraw(israw); - set_termbuf(); - if (!israw) { - /* - * Write a newline to ensure - * that login will be able to - * read the line... - */ - write(xpty, "\n", 1); - } - } - pty = xpty; - } -# else - argv = addarg(argv, "--"); - argv = addarg(argv, name); -# endif -# endif - } else -#endif - if (getenv("USER")) { - argv = addarg(argv, "--"); - argv = addarg(argv, getenv("USER")); -#if defined(LOGIN_ARGS) && defined(NO_LOGIN_P) - { - register char **cpp; - for (cpp = environ; *cpp; cpp++) - argv = addarg(argv, *cpp); - } -#endif - /* - * Assume that login will set the USER variable - * correctly. For SysV systems, this means that - * USER will no longer be set, just LOGNAME by - * login. (The problem is that if the auto-login - * fails, and the user then specifies a different - * account name, he can get logged in with both - * LOGNAME and USER in his environment, but the - * USER value will be wrong. - */ - unsetenv("USER"); - } -#ifdef SOLARIS - else { - char **p; - - argv = addarg(argv, ""); /* no login name */ - for (p = environ; *p; p++) { - argv = addarg(argv, *p); - } - } -#endif /* SOLARIS */ -#if defined(AUTHENTICATION) && defined(NO_LOGIN_F) && defined(LOGIN_R) - if (pty > 2) - close(pty); -#endif - closelog(); - - if (altlogin == NULL) { - altlogin = _PATH_LOGIN; - } - execv(altlogin, argv); - - syslog(LOG_ERR, "%s: %m\n", altlogin); - fatalperror(net, altlogin); - /*NOTREACHED*/ -} - - char ** -addarg(argv, val) - register char **argv; - register char *val; -{ - register char **cpp; - - if (argv == NULL) { - /* - * 10 entries, a leading length, and a null - */ - argv = (char **)malloc(sizeof(*argv) * 12); - if (argv == NULL) - return(NULL); - *argv++ = (char *)10; - *argv = (char *)0; - } - for (cpp = argv; *cpp; cpp++) - ; - if (cpp == &argv[(int)argv[-1]]) { - --argv; - *argv = (char *)((int)(*argv) + 10); - argv = (char **)realloc(argv, sizeof(*argv)*((int)(*argv) + 2)); - if (argv == NULL) - return(NULL); - argv++; - cpp = &argv[(int)argv[-1] - 10]; - } - *cpp++ = val; - *cpp = 0; - return(argv); -} -#endif /* NEWINIT */ - -/* - * scrub_env() - * - * Remove a few things from the environment that - * don't need to be there. - */ - void -scrub_env() -{ - register char **cpp, **cpp2; - - for (cpp2 = cpp = environ; *cpp; cpp++) { -#ifdef __FreeBSD__ - if (strncmp(*cpp, "LD_LIBRARY_PATH=", 16) && - strncmp(*cpp, "LD_PRELOAD=", 11) && -#else - if (strncmp(*cpp, "LD_", 3) && - strncmp(*cpp, "_RLD_", 5) && - strncmp(*cpp, "LIBPATH=", 8) && -#endif - strncmp(*cpp, "IFS=", 4)) - *cpp2++ = *cpp; - } - *cpp2 = 0; -} - -/* - * cleanup() - * - * This is the routine to call when we are all through, to - * clean up anything that needs to be cleaned up. - */ - /* ARGSUSED */ - void -cleanup(sig) - int sig; -{ -#ifndef PARENT_DOES_UTMP -# if (BSD > 43) || defined(convex) - char *p; - - p = line + sizeof("/dev/") - 1; - if (logout(p)) - logwtmp(p, "", ""); - (void)chmod(line, 0666); - (void)chown(line, 0, 0); - *p = 'p'; - (void)chmod(line, 0666); - (void)chown(line, 0, 0); - (void) shutdown(net, 2); - exit(1); -# else - void rmut(); - - rmut(); - vhangup(); /* XXX */ - (void) shutdown(net, 2); - exit(1); -# endif -#else /* PARENT_DOES_UTMP */ -# ifdef NEWINIT - (void) shutdown(net, 2); - exit(1); -# else /* NEWINIT */ -# ifdef CRAY - static int incleanup = 0; - register int t; - int child_status; /* status of child process as returned by waitpid */ - int flags = WNOHANG|WUNTRACED; - - /* - * 1: Pick up the zombie, if we are being called - * as the signal handler. - * 2: If we are a nested cleanup(), return. - * 3: Try to clean up TMPDIR. - * 4: Fill in utmp with shutdown of process. - * 5: Close down the network and pty connections. - * 6: Finish up the TMPDIR cleanup, if needed. - */ - if (sig == SIGCHLD) { - while (waitpid(-1, &child_status, flags) > 0) - ; /* VOID */ - /* Check if the child process was stopped - * rather than exited. We want cleanup only if - * the child has died. - */ - if (WIFSTOPPED(child_status)) { - return; - } - } - t = sigblock(sigmask(SIGCHLD)); - if (incleanup) { - sigsetmask(t); - return; - } - incleanup = 1; - sigsetmask(t); -#ifdef UNICOS7x - if (secflag) { - /* - * We need to set ourselves back to a null - * label to clean up. - */ - - setulvl(sysv.sy_minlvl); - setucmp((long)0); - } -#endif /* UNICOS7x */ - - t = cleantmp(&wtmp); - setutent(); /* just to make sure */ -# endif /* CRAY */ - rmut(line); - close(pty); - (void) shutdown(net, 2); -# ifdef CRAY - if (t == 0) - cleantmp(&wtmp); -# endif /* CRAY */ - exit(1); -# endif /* NEWINT */ -#endif /* PARENT_DOES_UTMP */ -} - -#if defined(PARENT_DOES_UTMP) && !defined(NEWINIT) -/* - * _utmp_sig_rcv - * utmp_sig_init - * utmp_sig_wait - * These three functions are used to coordinate the handling of - * the utmp file between the server and the soon-to-be-login shell. - * The server actually creates the utmp structure, the child calls - * utmp_sig_wait(), until the server calls utmp_sig_notify() and - * signals the future-login shell to proceed. - */ -static int caught=0; /* NZ when signal intercepted */ -static void (*func)(); /* address of previous handler */ - - void -_utmp_sig_rcv(sig) - int sig; -{ - caught = 1; - (void) signal(SIGUSR1, func); -} - - void -utmp_sig_init() -{ - /* - * register signal handler for UTMP creation - */ - if ((int)(func = signal(SIGUSR1, _utmp_sig_rcv)) == -1) - fatalperror(net, "telnetd/signal"); -} - - void -utmp_sig_reset() -{ - (void) signal(SIGUSR1, func); /* reset handler to default */ -} - -# ifdef __hpux -# define sigoff() /* do nothing */ -# define sigon() /* do nothing */ -# endif - - void -utmp_sig_wait() -{ - /* - * Wait for parent to write our utmp entry. - */ - sigoff(); - while (caught == 0) { - pause(); /* wait until we get a signal (sigon) */ - sigoff(); /* turn off signals while we check caught */ - } - sigon(); /* turn on signals again */ -} - - void -utmp_sig_notify(pid) -{ - kill(pid, SIGUSR1); -} - -# ifdef CRAY -static int gotsigjob = 0; - - /*ARGSUSED*/ - void -sigjob(sig) - int sig; -{ - register int jid; - register struct jobtemp *jp; - - while ((jid = waitjob(NULL)) != -1) { - if (jid == 0) { - return; - } - gotsigjob++; - jobend(jid, NULL, NULL); - } -} - -/* - * jid_getutid: - * called by jobend() before calling cleantmp() - * to find the correct $TMPDIR to cleanup. - */ - - struct utmp * -jid_getutid(jid) - int jid; -{ - struct utmp *cur = NULL; - - setutent(); /* just to make sure */ - while (cur = getutent()) { - if ( (cur->ut_type != NULL) && (jid == cur->ut_jid) ) { - return(cur); - } - } - - return(0); -} - -/* - * Clean up the TMPDIR that login created. - * The first time this is called we pick up the info - * from the utmp. If the job has already gone away, - * then we'll clean up and be done. If not, then - * when this is called the second time it will wait - * for the signal that the job is done. - */ - int -cleantmp(wtp) - register struct utmp *wtp; -{ - struct utmp *utp; - static int first = 1; - register int mask, omask, ret; - extern struct utmp *getutid P((const struct utmp *_Id)); - - - mask = sigmask(WJSIGNAL); - - if (first == 0) { - omask = sigblock(mask); - while (gotsigjob == 0) - sigpause(omask); - return(1); - } - first = 0; - setutent(); /* just to make sure */ - - utp = getutid(wtp); - if (utp == 0) { - syslog(LOG_ERR, "Can't get /etc/utmp entry to clean TMPDIR"); - return(-1); - } - /* - * Nothing to clean up if the user shell was never started. - */ - if (utp->ut_type != USER_PROCESS || utp->ut_jid == 0) - return(1); - - /* - * Block the WJSIGNAL while we are in jobend(). - */ - omask = sigblock(mask); - ret = jobend(utp->ut_jid, utp->ut_tpath, utp->ut_user); - sigsetmask(omask); - return(ret); -} - - int -jobend(jid, path, user) - register int jid; - register char *path; - register char *user; -{ - static int saved_jid = 0; - static int pty_saved_jid = 0; - static char saved_path[sizeof(wtmp.ut_tpath)+1]; - static char saved_user[sizeof(wtmp.ut_user)+1]; - - /* - * this little piece of code comes into play - * only when ptyreconnect is used to reconnect - * to an previous session. - * - * this is the only time when the - * "saved_jid != jid" code is executed. - */ - - if ( saved_jid && saved_jid != jid ) { - if (!path) { /* called from signal handler */ - pty_saved_jid = jid; - } else { - pty_saved_jid = saved_jid; - } - } - - if (path) { - strncpy(saved_path, path, sizeof(wtmp.ut_tpath)); - strncpy(saved_user, user, sizeof(wtmp.ut_user)); - saved_path[sizeof(saved_path)] = '\0'; - saved_user[sizeof(saved_user)] = '\0'; - } - if (saved_jid == 0) { - saved_jid = jid; - return(0); - } - - /* if the jid has changed, get the correct entry from the utmp file */ - - if ( saved_jid != jid ) { - struct utmp *utp = NULL; - struct utmp *jid_getutid(); - - utp = jid_getutid(pty_saved_jid); - - if (utp == 0) { - syslog(LOG_ERR, "Can't get /etc/utmp entry to clean TMPDIR"); - return(-1); - } - - cleantmpdir(jid, utp->ut_tpath, utp->ut_user); - return(1); - } - - cleantmpdir(jid, saved_path, saved_user); - return(1); -} - -/* - * Fork a child process to clean up the TMPDIR - */ -cleantmpdir(jid, tpath, user) - register int jid; - register char *tpath; - register char *user; -{ - switch(fork()) { - case -1: - syslog(LOG_ERR, "TMPDIR cleanup(%s): fork() failed: %m\n", - tpath); - break; - case 0: - execl(CLEANTMPCMD, CLEANTMPCMD, user, tpath, 0); - syslog(LOG_ERR, "TMPDIR cleanup(%s): execl(%s) failed: %m\n", - tpath, CLEANTMPCMD); - exit(1); - default: - /* - * Forget about child. We will exit, and - * /etc/init will pick it up. - */ - break; - } -} -# endif /* CRAY */ -#endif /* defined(PARENT_DOES_UTMP) && !defined(NEWINIT) */ - -/* - * rmut() - * - * This is the function called by cleanup() to - * remove the utmp entry for this person. - */ - -#ifdef UTMPX - void -rmut() -{ - register f; - int found = 0; - struct utmp *u, *utmp; - int nutmp; - struct stat statbf; - - struct utmpx *utxp, utmpx; - - /* - * This updates the utmpx and utmp entries and make a wtmp/x entry - */ - - SCPYN(utmpx.ut_line, line + sizeof("/dev/") - 1); - utxp = getutxline(&utmpx); - if (utxp) { - utxp->ut_type = DEAD_PROCESS; - utxp->ut_exit.e_termination = 0; - utxp->ut_exit.e_exit = 0; - (void) time(&utmpx.ut_tv.tv_sec); - utmpx.ut_tv.tv_usec = 0; - modutx(utxp); - } - endutxent(); -} /* end of rmut */ -#endif - -#if !defined(UTMPX) && !(defined(CRAY) || defined(__hpux)) && BSD <= 43 - void -rmut() -{ - register f; - int found = 0; - struct utmp *u, *utmp; - int nutmp; - struct stat statbf; - - f = open(utmpf, O_RDWR); - if (f >= 0) { - (void) fstat(f, &statbf); - utmp = (struct utmp *)malloc((unsigned)statbf.st_size); - if (!utmp) - syslog(LOG_ERR, "utmp malloc failed"); - if (statbf.st_size && utmp) { - nutmp = read(f, (char *)utmp, (int)statbf.st_size); - nutmp /= sizeof(struct utmp); - - for (u = utmp ; u < &utmp[nutmp] ; u++) { - if (SCMPN(u->ut_line, line+5) || - u->ut_name[0]==0) - continue; - (void) lseek(f, ((long)u)-((long)utmp), L_SET); - SCPYN(u->ut_name, ""); - SCPYN(u->ut_host, ""); - (void) time(&u->ut_time); - (void) write(f, (char *)u, sizeof(wtmp)); - found++; - } - } - (void) close(f); - } - if (found) { - f = open(wtmpf, O_WRONLY|O_APPEND); - if (f >= 0) { - SCPYN(wtmp.ut_line, line+5); - SCPYN(wtmp.ut_name, ""); - SCPYN(wtmp.ut_host, ""); - (void) time(&wtmp.ut_time); - (void) write(f, (char *)&wtmp, sizeof(wtmp)); - (void) close(f); - } - } - (void) chmod(line, 0666); - (void) chown(line, 0, 0); - line[strlen("/dev/")] = 'p'; - (void) chmod(line, 0666); - (void) chown(line, 0, 0); -} /* end of rmut */ -#endif /* CRAY */ - -#ifdef __hpux -rmut (line) -char *line; -{ - struct utmp utmp; - struct utmp *utptr; - int fd; /* for /etc/wtmp */ - - utmp.ut_type = USER_PROCESS; - (void) strncpy(utmp.ut_id, line+12, sizeof(utmp.ut_id)); - (void) setutent(); - utptr = getutid(&utmp); - /* write it out only if it exists */ - if (utptr) { - utptr->ut_type = DEAD_PROCESS; - utptr->ut_time = time((long *) 0); - (void) pututline(utptr); - /* set wtmp entry if wtmp file exists */ - if ((fd = open(wtmpf, O_WRONLY | O_APPEND)) >= 0) { - (void) write(fd, utptr, sizeof(utmp)); - (void) close(fd); - } - } - (void) endutent(); - - (void) chmod(line, 0666); - (void) chown(line, 0, 0); - line[14] = line[13]; - line[13] = line[12]; - line[8] = 'm'; - line[9] = '/'; - line[10] = 'p'; - line[11] = 't'; - line[12] = 'y'; - (void) chmod(line, 0666); - (void) chown(line, 0, 0); -} -#endif diff --git a/eBones/libexec/telnetd/telnetd.8 b/eBones/libexec/telnetd/telnetd.8 deleted file mode 100644 index 846189ddf4baa..0000000000000 --- a/eBones/libexec/telnetd/telnetd.8 +++ /dev/null @@ -1,613 +0,0 @@ -.\" Copyright (c) 1983, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)telnetd.8 8.4 (Berkeley) 6/1/94 -.\" -.Dd June 1, 1994 -.Dt TELNETD 8 -.Os BSD 4.2 -.Sh NAME -.Nm telnetd -.Nd DARPA -.Tn TELNET -protocol server -.Sh SYNOPSIS -.Nm /usr/libexec/telnetd -.Op Fl BUhlkns -.Op Fl D Ar debugmode -.Op Fl I Ns Ar initid -.Op Fl S Ar tos -.Op Fl X Ar authtype -.Op Fl a Ar authmode -.Op Fl edebug -.Op Fl P Ar loginprog -.Op Fl r Ns Ar lowpty-highpty -.Op Fl u Ar len -.Op Fl debug Op Ar port -.Sh DESCRIPTION -The -.Nm telnetd -command is a server which supports the -.Tn DARPA -standard -.Tn TELNET -virtual terminal protocol. -.Nm Telnetd -is normally invoked by the internet server (see -.Xr inetd 8 ) -for requests to connect to the -.Tn TELNET -port as indicated by the -.Pa /etc/services -file (see -.Xr services 5 ) . -The -.Fl debug -option may be used to start up -.Nm telnetd -manually, instead of through -.Xr inetd 8 . -If started up this way, -.Ar port -may be specified to run -.Nm telnetd -on an alternate -.Tn TCP -port number. -.Pp -The -.Nm telnetd -command accepts the following options: -.Bl -tag -width "-a authmode" -.It Fl a Ar authmode -This option may be used for specifying what mode should -be used for authentication. -Note that this option is only useful if -.Nm telnetd -has been compiled with support for the -.Dv AUTHENTICATION -option. -There are several valid values for -.Ar authmode: -.Bl -tag -width debug -.It debug -Turns on authentication debugging code. -.It user -Only allow connections when the remote user -can provide valid authentication information -to identify the remote user, -and is allowed access to the specified account -without providing a password. -.It valid -Only allow connections when the remote user -can provide valid authentication information -to identify the remote user. -The -.Xr login 1 -command will provide any additional user verification -needed if the remote user is not allowed automatic -access to the specified account. -.It other -Only allow connections that supply some authentication information. -This option is currently not supported -by any of the existing authentication mechanisms, -and is thus the same as specifying -.Fl a -.Cm valid . -.It none -This is the default state. -Authentication information is not required. -If no or insufficient authentication information -is provided, then the -.Xr login 1 -program will provide the necessary user -verification. -.It off -This disables the authentication code. -All user verification will happen through the -.Xr login 1 -program. -.El -.It Fl B -Specifies bftp server mode. In this mode, -.Nm telnetd -causes login to start a -.Xr bftp 1 -session rather than the user's -normal shell. In bftp daemon mode normal -logins are not supported, and it must be used -on a port other than the normal -.Tn TELNET -port. -.It Fl D Ar debugmode -This option may be used for debugging purposes. -This allows -.Nm telnetd -to print out debugging information -to the connection, allowing the user to see what -.Nm telnetd -is doing. -There are several possible values for -.Ar debugmode: -.Bl -tag -width exercise -.It Cm options -Prints information about the negotiation of -.Tn TELNET -options. -.It Cm report -Prints the -.Cm options -information, plus some additional information -about what processing is going on. -.It Cm netdata -Displays the data stream received by -.Nm telnetd. -.It Cm ptydata -Displays data written to the pty. -.It Cm exercise -Has not been implemented yet. -.El -.It Fl debug -Enables debugging on each socket created by -.Nm telnetd -(see -.Dv SO_DEBUG -in -.Xr socket 2 ) . -.It Fl edebug -If -.Nm telnetd -has been compiled with support for data encryption, then the -.Fl edebug -option may be used to enable encryption debugging code. -.It Fl P Ar loginprog -Specifies an alternate -.Xr login 1 -command to run to complete the login. The alternate command must -understand the same command arguments as the standard login. -.It Fl h -Disables the printing of host-specific information before -login has been completed. -.It Fl I Ar initid -This option is only applicable to -.Tn UNICOS -systems prior to 7.0. -It specifies the -.Dv ID -from -.Pa /etc/inittab -to use when init starts login sessions. The default -.Dv ID -is -.Dv fe. -.It Fl k -This option is only useful if -.Nm telnetd -has been compiled with both linemode and kludge linemode -support. If the -.Fl k -option is specified, then if the remote client does not -support the -.Dv LINEMODE -option, then -.Nm telnetd -will operate in character at a time mode. -It will still support kludge linemode, but will only -go into kludge linemode if the remote client requests -it. -(This is done by by the client sending -.Dv DONT SUPPRESS-GO-AHEAD -and -.Dv DONT ECHO . ) -The -.Fl k -option is most useful when there are remote clients -that do not support kludge linemode, but pass the heuristic -(if they respond with -.Dv WILL TIMING-MARK -in response to a -.Dv DO TIMING-MARK) -for kludge linemode support. -.It Fl l -Specifies line mode. Tries to force clients to use line- -at-a-time mode. -If the -.Dv LINEMODE -option is not supported, it will go -into kludge linemode. -.It Fl n -Disable -.Dv TCP -keep-alives. Normally -.Nm telnetd -enables the -.Tn TCP -keep-alive mechanism to probe connections that -have been idle for some period of time to determine -if the client is still there, so that idle connections -from machines that have crashed or can no longer -be reached may be cleaned up. -.It Fl r Ar lowpty-highpty -This option is only enabled when -.Nm telnetd -is compiled for -.Dv UNICOS. -It specifies an inclusive range of pseudo-terminal devices to -use. If the system has sysconf variable -.Dv _SC_CRAY_NPTY -configured, the default pty search range is 0 to -.Dv _SC_CRAY_NPTY; -otherwise, the default range is 0 to 128. Either -.Ar lowpty -or -.Ar highpty -may be omitted to allow changing -either end of the search range. If -.Ar lowpty -is omitted, the - character is still required so that -.Nm telnetd -can differentiate -.Ar highpty -from -.Ar lowpty . -.It Fl s -This option is only enabled if -.Nm telnetd -is compiled with support for -.Tn SecurID -cards. -It causes the -.Fl s -option to be passed on to -.Xr login 1 , -and thus is only useful if -.Xr login 1 -supports the -.Fl s -flag to indicate that only -.Tn SecurID -validated logins are allowed, and is -usually useful for controlling remote logins -from outside of a firewall. -.It Fl S Ar tos -.It Fl u Ar len -This option is used to specify the size of the field -in the -.Dv utmp -structure that holds the remote host name. -If the resolved host name is longer than -.Ar len , -the dotted decimal value will be used instead. -This allows hosts with very long host names that -overflow this field to still be uniquely identified. -Specifying -.Fl u0 -indicates that only dotted decimal addresses -should be put into the -.Pa utmp -file. -.ne 1i -.It Fl U -This option causes -.Nm telnetd -to refuse connections from addresses that -cannot be mapped back into a symbolic name -via the -.Xr gethostbyaddr 3 -routine. -.It Fl X Ar authtype -This option is only valid if -.Nm telnetd -has been built with support for the authentication option. -It disables the use of -.Ar authtype -authentication, and -can be used to temporarily disable -a specific authentication type without having to recompile -.Nm telnetd . -.El -.Pp -.Nm Telnetd -operates by allocating a pseudo-terminal device (see -.Xr pty 4 ) -for a client, then creating a login process which has -the slave side of the pseudo-terminal as -.Dv stdin , -.Dv stdout -and -.Dv stderr . -.Nm Telnetd -manipulates the master side of the pseudo-terminal, -implementing the -.Tn TELNET -protocol and passing characters -between the remote client and the login process. -.Pp -When a -.Tn TELNET -session is started up, -.Nm telnetd -sends -.Tn TELNET -options to the client side indicating -a willingness to do the -following -.Tn TELNET -options, which are described in more detail below: -.Bd -literal -offset indent -DO AUTHENTICATION -WILL ENCRYPT -DO TERMINAL TYPE -DO TSPEED -DO XDISPLOC -DO NEW-ENVIRON -DO ENVIRON -WILL SUPPRESS GO AHEAD -DO ECHO -DO LINEMODE -DO NAWS -WILL STATUS -DO LFLOW -DO TIMING-MARK -.Ed -.Pp -The pseudo-terminal allocated to the client is configured -to operate in \*(lqcooked\*(rq mode, and with -.Dv XTABS and -.Dv CRMOD -enabled (see -.Xr tty 4 ) . -.Pp -.Nm Telnetd -has support for enabling locally the following -.Tn TELNET -options: -.Bl -tag -width "DO AUTHENTICATION" -.It "WILL ECHO" -When the -.Dv LINEMODE -option is enabled, a -.Dv WILL ECHO -or -.Dv WONT ECHO -will be sent to the client to indicate the -current state of terminal echoing. -When terminal echo is not desired, a -.Dv WILL ECHO -is sent to indicate that -.Tn telnetd -will take care of echoing any data that needs to be -echoed to the terminal, and then nothing is echoed. -When terminal echo is desired, a -.Dv WONT ECHO -is sent to indicate that -.Tn telnetd -will not be doing any terminal echoing, so the -client should do any terminal echoing that is needed. -.It "WILL BINARY" -Indicates that the client is willing to send a -8 bits of data, rather than the normal 7 bits -of the Network Virtual Terminal. -.It "WILL SGA" -Indicates that it will not be sending -.Dv IAC GA, -go ahead, commands. -.It "WILL STATUS" -Indicates a willingness to send the client, upon -request, of the current status of all -.Tn TELNET -options. -.It "WILL TIMING-MARK" -Whenever a -.Dv DO TIMING-MARK -command is received, it is always responded -to with a -.Dv WILL TIMING-MARK -.ne 1i -.It "WILL LOGOUT" -When a -.Dv DO LOGOUT -is received, a -.Dv WILL LOGOUT -is sent in response, and the -.Tn TELNET -session is shut down. -.It "WILL ENCRYPT" -Only sent if -.Nm telnetd -is compiled with support for data encryption, and -indicates a willingness to decrypt -the data stream. -.El -.Pp -.Nm Telnetd -has support for enabling remotely the following -.Tn TELNET -options: -.Bl -tag -width "DO AUTHENTICATION" -.It "DO BINARY" -Sent to indicate that -.Tn telnetd -is willing to receive an 8 bit data stream. -.It "DO LFLOW" -Requests that the client handle flow control -characters remotely. -.It "DO ECHO" -This is not really supported, but is sent to identify a 4.2BSD -.Xr telnet 1 -client, which will improperly respond with -.Dv WILL ECHO. -If a -.Dv WILL ECHO -is received, a -.Dv DONT ECHO -will be sent in response. -.It "DO TERMINAL-TYPE" -Indicates a desire to be able to request the -name of the type of terminal that is attached -to the client side of the connection. -.It "DO SGA" -Indicates that it does not need to receive -.Dv IAC GA, -the go ahead command. -.It "DO NAWS" -Requests that the client inform the server when -the window (display) size changes. -.It "DO TERMINAL-SPEED" -Indicates a desire to be able to request information -about the speed of the serial line to which -the client is attached. -.It "DO XDISPLOC" -Indicates a desire to be able to request the name -of the X windows display that is associated with -the telnet client. -.It "DO NEW-ENVIRON" -Indicates a desire to be able to request environment -variable information, as described in RFC 1572. -.It "DO ENVIRON" -Indicates a desire to be able to request environment -variable information, as described in RFC 1408. -.It "DO LINEMODE" -Only sent if -.Nm telnetd -is compiled with support for linemode, and -requests that the client do line by line processing. -.It "DO TIMING-MARK" -Only sent if -.Nm telnetd -is compiled with support for both linemode and -kludge linemode, and the client responded with -.Dv WONT LINEMODE. -If the client responds with -.Dv WILL TM, -the it is assumed that the client supports -kludge linemode. -Note that the -.Op Fl k -option can be used to disable this. -.It "DO AUTHENTICATION" -Only sent if -.Nm telnetd -is compiled with support for authentication, and -indicates a willingness to receive authentication -information for automatic login. -.It "DO ENCRYPT" -Only sent if -.Nm telnetd -is compiled with support for data encryption, and -indicates a willingness to decrypt -the data stream. -.Sh ENVIRONMENT -.Sh FILES -.Pa /etc/services -.br -.Pa /etc/inittab -(UNICOS systems only) -.br -.Pa /etc/iptos -(if supported) -.br -.Pa /usr/ucb/bftp -(if supported) -.Sh "SEE ALSO" -.Xr telnet 1 , -.Xr login 1 , -.Xr bftp 1 -(if supported) -.Sh STANDARDS -.Bl -tag -compact -width RFC-1572 -.It Cm RFC-854 -.Tn TELNET -PROTOCOL SPECIFICATION -.It Cm RFC-855 -TELNET OPTION SPECIFICATIONS -.It Cm RFC-856 -TELNET BINARY TRANSMISSION -.It Cm RFC-857 -TELNET ECHO OPTION -.It Cm RFC-858 -TELNET SUPPRESS GO AHEAD OPTION -.It Cm RFC-859 -TELNET STATUS OPTION -.It Cm RFC-860 -TELNET TIMING MARK OPTION -.It Cm RFC-861 -TELNET EXTENDED OPTIONS - LIST OPTION -.It Cm RFC-885 -TELNET END OF RECORD OPTION -.It Cm RFC-1073 -Telnet Window Size Option -.It Cm RFC-1079 -Telnet Terminal Speed Option -.It Cm RFC-1091 -Telnet Terminal-Type Option -.It Cm RFC-1096 -Telnet X Display Location Option -.It Cm RFC-1123 -Requirements for Internet Hosts -- Application and Support -.It Cm RFC-1184 -Telnet Linemode Option -.It Cm RFC-1372 -Telnet Remote Flow Control Option -.It Cm RFC-1416 -Telnet Authentication Option -.It Cm RFC-1411 -Telnet Authentication: Kerberos Version 4 -.It Cm RFC-1412 -Telnet Authentication: SPX -.It Cm RFC-1571 -Telnet Environment Option Interoperability Issues -.It Cm RFC-1572 -Telnet Environment Option -.Sh BUGS -Some -.Tn TELNET -commands are only partially implemented. -.Pp -Because of bugs in the original 4.2 BSD -.Xr telnet 1 , -.Nm telnetd -performs some dubious protocol exchanges to try to discover if the remote -client is, in fact, a 4.2 BSD -.Xr telnet 1 . -.Pp -Binary mode -has no common interpretation except between similar operating systems -(Unix in this case). -.Pp -The terminal type name received from the remote client is converted to -lower case. -.Pp -.Nm Telnetd -never sends -.Tn TELNET -.Dv IAC GA -(go ahead) commands. diff --git a/eBones/libexec/telnetd/telnetd.c b/eBones/libexec/telnetd/telnetd.c deleted file mode 100644 index 5191653c2aaaa..0000000000000 --- a/eBones/libexec/telnetd/telnetd.c +++ /dev/null @@ -1,1611 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char copyright[] = -"@(#) Copyright (c) 1989, 1993\n\ - The Regents of the University of California. All rights reserved.\n"; -#endif /* not lint */ - -#ifndef lint -static const char sccsid[] = "@(#)telnetd.c 8.4 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#include "telnetd.h" -#include "pathnames.h" - -#if defined(_SC_CRAY_SECURE_SYS) && !defined(SCM_SECURITY) -/* - * UNICOS 6.0/6.1 do not have SCM_SECURITY defined, so we can - * use it to tell us to turn off all the socket security code, - * since that is only used in UNICOS 7.0 and later. - */ -# undef _SC_CRAY_SECURE_SYS -#endif - -#if defined(_SC_CRAY_SECURE_SYS) -#include <sys/sysv.h> -#include <sys/secdev.h> -# ifdef SO_SEC_MULTI /* 8.0 code */ -#include <sys/secparm.h> -#include <sys/usrv.h> -# endif /* SO_SEC_MULTI */ -int secflag; -char tty_dev[16]; -struct secdev dv; -struct sysv sysv; -# ifdef SO_SEC_MULTI /* 8.0 code */ -struct socksec ss; -# else /* SO_SEC_MULTI */ /* 7.0 code */ -struct socket_security ss; -# endif /* SO_SEC_MULTI */ -#endif /* _SC_CRAY_SECURE_SYS */ - -#if defined(AUTHENTICATION) -#include <libtelnet/auth.h> -int auth_level = 0; -#endif -#if defined(ENCRYPTION) -#include <libtelnet/encrypt.h> -#endif -#include <libtelnet/misc.h> -#if defined(SecurID) -int require_SecurID = 0; -#endif - -extern int utmp_len; -int registerd_host_only = 0; - -#ifdef STREAMSPTY -# include <stropts.h> -# include <termio.h> -/* make sure we don't get the bsd version */ -# include "/usr/include/sys/tty.h" -# include <sys/ptyvar.h> - -/* - * Because of the way ptyibuf is used with streams messages, we need - * ptyibuf+1 to be on a full-word boundary. The following wierdness - * is simply to make that happen. - */ -long ptyibufbuf[BUFSIZ/sizeof(long)+1]; -char *ptyibuf = ((char *)&ptyibufbuf[1])-1; -char *ptyip = ((char *)&ptyibufbuf[1])-1; -char ptyibuf2[BUFSIZ]; -unsigned char ctlbuf[BUFSIZ]; -struct strbuf strbufc, strbufd; - -#else /* ! STREAMPTY */ - -/* - * I/O data buffers, - * pointers, and counters. - */ -char ptyibuf[BUFSIZ], *ptyip = ptyibuf; -char ptyibuf2[BUFSIZ]; - -# include <termcap.h> - -int readstream(int p, char *ibuf, int bufsize); -void doit(struct sockaddr_in *who); -int terminaltypeok(char *s); -void startslave(char *host, int autologin, char *autoname); - -#endif /* ! STREAMPTY */ - -int hostinfo = 1; /* do we print login banner? */ - -#ifdef CRAY -extern int newmap; /* nonzero if \n maps to ^M^J */ -int lowpty = 0, highpty; /* low, high pty numbers */ -#endif /* CRAY */ - -int debug = 0; -int keepalive = 1; -char *progname; -char *altlogin; - -extern void usage P((void)); - -/* - * The string to pass to getopt(). We do it this way so - * that only the actual options that we support will be - * passed off to getopt(). - */ -char valid_opts[] = { - 'd', ':', 'h', 'k', 'n', 'p', ':', 'S', ':', 'u', ':', 'U', -#ifdef AUTHENTICATION - 'a', ':', 'X', ':', -#endif -#ifdef BFTPDAEMON - 'B', -#endif -#ifdef DIAGNOSTICS - 'D', ':', -#endif -#ifdef ENCRYPTION - 'e', ':', -#endif -#if defined(CRAY) && defined(NEWINIT) - 'I', ':', -#endif -#ifdef LINEMODE - 'l', -#endif -#ifdef CRAY - 'r', ':', -#endif -#ifdef SecurID - 's', -#endif - '\0' -}; - -main(argc, argv) - char *argv[]; -{ - struct sockaddr_in from; - int on = 1, fromlen; - register int ch; - extern char *optarg; - extern int optind; -#if defined(IPPROTO_IP) && defined(IP_TOS) - int tos = -1; -#endif - - pfrontp = pbackp = ptyobuf; - netip = netibuf; - nfrontp = nbackp = netobuf; -#ifdef ENCRYPTION - nclearto = 0; -#endif /* ENCRYPTION */ - - progname = *argv; - -#ifdef CRAY - /* - * Get number of pty's before trying to process options, - * which may include changing pty range. - */ - highpty = getnpty(); -#endif /* CRAY */ - - while ((ch = getopt(argc, argv, valid_opts)) != EOF) { - switch(ch) { - -#ifdef AUTHENTICATION - case 'a': - /* - * Check for required authentication level - */ - if (strcmp(optarg, "debug") == 0) { - extern int auth_debug_mode; - auth_debug_mode = 1; - } else if (strcasecmp(optarg, "none") == 0) { - auth_level = 0; - } else if (strcasecmp(optarg, "other") == 0) { - auth_level = AUTH_OTHER; - } else if (strcasecmp(optarg, "user") == 0) { - auth_level = AUTH_USER; - } else if (strcasecmp(optarg, "valid") == 0) { - auth_level = AUTH_VALID; - } else if (strcasecmp(optarg, "off") == 0) { - /* - * This hack turns off authentication - */ - auth_level = -1; - } else { - fprintf(stderr, - "telnetd: unknown authorization level for -a\n"); - } - break; -#endif /* AUTHENTICATION */ - -#ifdef BFTPDAEMON - case 'B': - bftpd++; - break; -#endif /* BFTPDAEMON */ - - case 'd': - if (strcmp(optarg, "ebug") == 0) { - debug++; - break; - } - usage(); - /* NOTREACHED */ - break; - -#ifdef DIAGNOSTICS - case 'D': - /* - * Check for desired diagnostics capabilities. - */ - if (!strcmp(optarg, "report")) { - diagnostic |= TD_REPORT|TD_OPTIONS; - } else if (!strcmp(optarg, "exercise")) { - diagnostic |= TD_EXERCISE; - } else if (!strcmp(optarg, "netdata")) { - diagnostic |= TD_NETDATA; - } else if (!strcmp(optarg, "ptydata")) { - diagnostic |= TD_PTYDATA; - } else if (!strcmp(optarg, "options")) { - diagnostic |= TD_OPTIONS; - } else { - usage(); - /* NOT REACHED */ - } - break; -#endif /* DIAGNOSTICS */ - -#ifdef ENCRYPTION - case 'e': - if (strcmp(optarg, "debug") == 0) { - extern int encrypt_debug_mode; - encrypt_debug_mode = 1; - break; - } - usage(); - /* NOTREACHED */ - break; -#endif /* ENCRYPTION */ - - case 'h': - hostinfo = 0; - break; - -#if defined(CRAY) && defined(NEWINIT) - case 'I': - { - extern char *gen_id; - gen_id = optarg; - break; - } -#endif /* defined(CRAY) && defined(NEWINIT) */ - -#ifdef LINEMODE - case 'l': - alwayslinemode = 1; - break; -#endif /* LINEMODE */ - - case 'k': -#if defined(LINEMODE) && defined(KLUDGELINEMODE) - lmodetype = NO_AUTOKLUDGE; -#else - /* ignore -k option if built without kludge linemode */ -#endif /* defined(LINEMODE) && defined(KLUDGELINEMODE) */ - break; - - case 'n': - keepalive = 0; - break; - - case 'p': - altlogin = optarg; - break; - -#ifdef CRAY - case 'r': - { - char *strchr(); - char *c; - - /* - * Allow the specification of alterations - * to the pty search range. It is legal to - * specify only one, and not change the - * other from its default. - */ - c = strchr(optarg, '-'); - if (c) { - *c++ = '\0'; - highpty = atoi(c); - } - if (*optarg != '\0') - lowpty = atoi(optarg); - if ((lowpty > highpty) || (lowpty < 0) || - (highpty > 32767)) { - usage(); - /* NOT REACHED */ - } - break; - } -#endif /* CRAY */ - -#ifdef SecurID - case 's': - /* SecurID required */ - require_SecurID = 1; - break; -#endif /* SecurID */ - case 'S': -#ifdef HAS_GETTOS - if ((tos = parsetos(optarg, "tcp")) < 0) - fprintf(stderr, "%s%s%s\n", - "telnetd: Bad TOS argument '", optarg, - "'; will try to use default TOS"); -#else - fprintf(stderr, "%s%s\n", "TOS option unavailable; ", - "-S flag not supported\n"); -#endif - break; - - case 'u': - utmp_len = atoi(optarg); - break; - - case 'U': - registerd_host_only = 1; - break; - -#ifdef AUTHENTICATION - case 'X': - /* - * Check for invalid authentication types - */ - auth_disable_name(optarg); - break; -#endif /* AUTHENTICATION */ - - default: - fprintf(stderr, "telnetd: %c: unknown option\n", ch); - /* FALLTHROUGH */ - case '?': - usage(); - /* NOTREACHED */ - } - } - - argc -= optind; - argv += optind; - - if (debug) { - int s, ns, foo; - struct servent *sp; - static struct sockaddr_in sin = { AF_INET }; - - if (argc > 1) { - usage(); - /* NOT REACHED */ - } else if (argc == 1) { - if ((sp = getservbyname(*argv, "tcp"))) { - sin.sin_port = sp->s_port; - } else { - sin.sin_port = atoi(*argv); - if ((int)sin.sin_port <= 0) { - fprintf(stderr, "telnetd: %s: bad port #\n", *argv); - usage(); - /* NOT REACHED */ - } - sin.sin_port = htons((u_short)sin.sin_port); - } - } else { - sp = getservbyname("telnet", "tcp"); - if (sp == 0) { - fprintf(stderr, "telnetd: tcp/telnet: unknown service\n"); - exit(1); - } - sin.sin_port = sp->s_port; - } - - s = socket(AF_INET, SOCK_STREAM, 0); - if (s < 0) { - perror("telnetd: socket");; - exit(1); - } - (void) setsockopt(s, SOL_SOCKET, SO_REUSEADDR, - (char *)&on, sizeof(on)); - if (bind(s, (struct sockaddr *)&sin, sizeof sin) < 0) { - perror("bind"); - exit(1); - } - if (listen(s, 1) < 0) { - perror("listen"); - exit(1); - } - foo = sizeof sin; - ns = accept(s, (struct sockaddr *)&sin, &foo); - if (ns < 0) { - perror("accept"); - exit(1); - } - (void) dup2(ns, 0); - (void) close(ns); - (void) close(s); -#ifdef convex - } else if (argc == 1) { - ; /* VOID*/ /* Just ignore the host/port name */ -#endif - } else if (argc > 0) { - usage(); - /* NOT REACHED */ - } - -#if defined(_SC_CRAY_SECURE_SYS) - secflag = sysconf(_SC_CRAY_SECURE_SYS); - - /* - * Get socket's security label - */ - if (secflag) { - int szss = sizeof(ss); -#ifdef SO_SEC_MULTI /* 8.0 code */ - int sock_multi; - int szi = sizeof(int); -#endif /* SO_SEC_MULTI */ - - memset((char *)&dv, 0, sizeof(dv)); - - if (getsysv(&sysv, sizeof(struct sysv)) != 0) { - perror("getsysv"); - exit(1); - } - - /* - * Get socket security label and set device values - * {security label to be set on ttyp device} - */ -#ifdef SO_SEC_MULTI /* 8.0 code */ - if ((getsockopt(0, SOL_SOCKET, SO_SECURITY, - (char *)&ss, &szss) < 0) || - (getsockopt(0, SOL_SOCKET, SO_SEC_MULTI, - (char *)&sock_multi, &szi) < 0)) { - perror("getsockopt"); - exit(1); - } else { - dv.dv_actlvl = ss.ss_actlabel.lt_level; - dv.dv_actcmp = ss.ss_actlabel.lt_compart; - if (!sock_multi) { - dv.dv_minlvl = dv.dv_maxlvl = dv.dv_actlvl; - dv.dv_valcmp = dv.dv_actcmp; - } else { - dv.dv_minlvl = ss.ss_minlabel.lt_level; - dv.dv_maxlvl = ss.ss_maxlabel.lt_level; - dv.dv_valcmp = ss.ss_maxlabel.lt_compart; - } - dv.dv_devflg = 0; - } -#else /* SO_SEC_MULTI */ /* 7.0 code */ - if (getsockopt(0, SOL_SOCKET, SO_SECURITY, - (char *)&ss, &szss) >= 0) { - dv.dv_actlvl = ss.ss_slevel; - dv.dv_actcmp = ss.ss_compart; - dv.dv_minlvl = ss.ss_minlvl; - dv.dv_maxlvl = ss.ss_maxlvl; - dv.dv_valcmp = ss.ss_maxcmp; - } -#endif /* SO_SEC_MULTI */ - } -#endif /* _SC_CRAY_SECURE_SYS */ - - openlog("telnetd", LOG_PID | LOG_ODELAY, LOG_DAEMON); - fromlen = sizeof (from); - if (getpeername(0, (struct sockaddr *)&from, &fromlen) < 0) { - fprintf(stderr, "%s: ", progname); - perror("getpeername"); - _exit(1); - } - if (keepalive && - setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, - (char *)&on, sizeof (on)) < 0) { - syslog(LOG_WARNING, "setsockopt (SO_KEEPALIVE): %m"); - } - -#if defined(IPPROTO_IP) && defined(IP_TOS) - { -# if defined(HAS_GETTOS) - struct tosent *tp; - if (tos < 0 && (tp = gettosbyname("telnet", "tcp"))) - tos = tp->t_tos; -# endif - if (tos < 0) - tos = 020; /* Low Delay bit */ - if (tos - && (setsockopt(0, IPPROTO_IP, IP_TOS, - (char *)&tos, sizeof(tos)) < 0) - && (errno != ENOPROTOOPT) ) - syslog(LOG_WARNING, "setsockopt (IP_TOS): %m"); - } -#endif /* defined(IPPROTO_IP) && defined(IP_TOS) */ - net = 0; - doit(&from); - /* NOTREACHED */ -} /* end of main */ - - void -usage() -{ - fprintf(stderr, "Usage: telnetd"); -#ifdef AUTHENTICATION - fprintf(stderr, " [-a (debug|other|user|valid|off|none)]\n\t"); -#endif -#ifdef BFTPDAEMON - fprintf(stderr, " [-B]"); -#endif - fprintf(stderr, " [-debug]"); -#ifdef DIAGNOSTICS - fprintf(stderr, " [-D (options|report|exercise|netdata|ptydata)]\n\t"); -#endif -#ifdef AUTHENTICATION - fprintf(stderr, " [-edebug]"); -#endif - fprintf(stderr, " [-h]"); -#if defined(CRAY) && defined(NEWINIT) - fprintf(stderr, " [-Iinitid]"); -#endif -#if defined(LINEMODE) && defined(KLUDGELINEMODE) - fprintf(stderr, " [-k]"); -#endif -#ifdef LINEMODE - fprintf(stderr, " [-l]"); -#endif - fprintf(stderr, " [-n]"); -#ifdef CRAY - fprintf(stderr, " [-r[lowpty]-[highpty]]"); -#endif - fprintf(stderr, "\n\t"); -#ifdef SecurID - fprintf(stderr, " [-s]"); -#endif -#ifdef HAS_GETTOS - fprintf(stderr, " [-S tos]"); -#endif -#ifdef AUTHENTICATION - fprintf(stderr, " [-X auth-type]"); -#endif - fprintf(stderr, " [-u utmp_hostname_length] [-U]"); - fprintf(stderr, " [port]\n"); - exit(1); -} - -/* - * getterminaltype - * - * Ask the other end to send along its terminal type and speed. - * Output is the variable terminaltype filled in. - */ -static unsigned char ttytype_sbbuf[] = { - IAC, SB, TELOPT_TTYPE, TELQUAL_SEND, IAC, SE -}; - - int -getterminaltype(name) - char *name; -{ - int retval = -1; - void _gettermname(); - - settimer(baseline); -#if defined(AUTHENTICATION) - /* - * Handle the Authentication option before we do anything else. - */ - send_do(TELOPT_AUTHENTICATION, 1); - while (his_will_wont_is_changing(TELOPT_AUTHENTICATION)) - ttloop(); - if (his_state_is_will(TELOPT_AUTHENTICATION)) { - retval = auth_wait(name); - } -#endif - -#ifdef ENCRYPTION - send_will(TELOPT_ENCRYPT, 1); -#endif /* ENCRYPTION */ - send_do(TELOPT_TTYPE, 1); - send_do(TELOPT_TSPEED, 1); - send_do(TELOPT_XDISPLOC, 1); - send_do(TELOPT_NEW_ENVIRON, 1); - send_do(TELOPT_OLD_ENVIRON, 1); - while ( -#ifdef ENCRYPTION - his_do_dont_is_changing(TELOPT_ENCRYPT) || -#endif /* ENCRYPTION */ - his_will_wont_is_changing(TELOPT_TTYPE) || - his_will_wont_is_changing(TELOPT_TSPEED) || - his_will_wont_is_changing(TELOPT_XDISPLOC) || - his_will_wont_is_changing(TELOPT_NEW_ENVIRON) || - his_will_wont_is_changing(TELOPT_OLD_ENVIRON)) { - ttloop(); - } -#ifdef ENCRYPTION - /* - * Wait for the negotiation of what type of encryption we can - * send with. If autoencrypt is not set, this will just return. - */ - if (his_state_is_will(TELOPT_ENCRYPT)) { - encrypt_wait(); - } -#endif /* ENCRYPTION */ - if (his_state_is_will(TELOPT_TSPEED)) { - static unsigned char sb[] = - { IAC, SB, TELOPT_TSPEED, TELQUAL_SEND, IAC, SE }; - - memmove(nfrontp, sb, sizeof sb); - nfrontp += sizeof sb; - DIAG(TD_OPTIONS, printsub('>', sb + 2, sizeof sb - 2);); - } - if (his_state_is_will(TELOPT_XDISPLOC)) { - static unsigned char sb[] = - { IAC, SB, TELOPT_XDISPLOC, TELQUAL_SEND, IAC, SE }; - - memmove(nfrontp, sb, sizeof sb); - nfrontp += sizeof sb; - DIAG(TD_OPTIONS, printsub('>', sb + 2, sizeof sb - 2);); - } - if (his_state_is_will(TELOPT_NEW_ENVIRON)) { - static unsigned char sb[] = - { IAC, SB, TELOPT_NEW_ENVIRON, TELQUAL_SEND, IAC, SE }; - - memmove(nfrontp, sb, sizeof sb); - nfrontp += sizeof sb; - DIAG(TD_OPTIONS, printsub('>', sb + 2, sizeof sb - 2);); - } - else if (his_state_is_will(TELOPT_OLD_ENVIRON)) { - static unsigned char sb[] = - { IAC, SB, TELOPT_OLD_ENVIRON, TELQUAL_SEND, IAC, SE }; - - memmove(nfrontp, sb, sizeof sb); - nfrontp += sizeof sb; - DIAG(TD_OPTIONS, printsub('>', sb + 2, sizeof sb - 2);); - } - if (his_state_is_will(TELOPT_TTYPE)) { - - memmove(nfrontp, ttytype_sbbuf, sizeof ttytype_sbbuf); - nfrontp += sizeof ttytype_sbbuf; - DIAG(TD_OPTIONS, printsub('>', ttytype_sbbuf + 2, - sizeof ttytype_sbbuf - 2);); - } - if (his_state_is_will(TELOPT_TSPEED)) { - while (sequenceIs(tspeedsubopt, baseline)) - ttloop(); - } - if (his_state_is_will(TELOPT_XDISPLOC)) { - while (sequenceIs(xdisplocsubopt, baseline)) - ttloop(); - } - if (his_state_is_will(TELOPT_NEW_ENVIRON)) { - while (sequenceIs(environsubopt, baseline)) - ttloop(); - } - if (his_state_is_will(TELOPT_OLD_ENVIRON)) { - while (sequenceIs(oenvironsubopt, baseline)) - ttloop(); - } - if (his_state_is_will(TELOPT_TTYPE)) { - char first[256], last[256]; - - while (sequenceIs(ttypesubopt, baseline)) - ttloop(); - - /* - * If the other side has already disabled the option, then - * we have to just go with what we (might) have already gotten. - */ - if (his_state_is_will(TELOPT_TTYPE) && !terminaltypeok(terminaltype)) { - (void) strncpy(first, terminaltype, sizeof(first)-1); - first[sizeof(first)-1] = '\0'; - for(;;) { - /* - * Save the unknown name, and request the next name. - */ - (void) strncpy(last, terminaltype, sizeof(last)-1); - last[sizeof(last)-1] = '\0'; - _gettermname(); - if (terminaltypeok(terminaltype)) - break; - if ((strncmp(last, terminaltype, sizeof(last)) == 0) || - his_state_is_wont(TELOPT_TTYPE)) { - /* - * We've hit the end. If this is the same as - * the first name, just go with it. - */ - if (strncmp(first, terminaltype, sizeof(first)) == 0) - break; - /* - * Get the terminal name one more time, so that - * RFC1091 compliant telnets will cycle back to - * the start of the list. - */ - _gettermname(); - if (strncmp(first, terminaltype, sizeof(first)) != 0) { - (void) strncpy(terminaltype, first, sizeof(terminaltype)-1); - terminaltype[sizeof(terminaltype)-1] = '\0'; - } - break; - } - } - } - } - return(retval); -} /* end of getterminaltype */ - - void -_gettermname() -{ - /* - * If the client turned off the option, - * we can't send another request, so we - * just return. - */ - if (his_state_is_wont(TELOPT_TTYPE)) - return; - settimer(baseline); - memmove(nfrontp, ttytype_sbbuf, sizeof ttytype_sbbuf); - nfrontp += sizeof ttytype_sbbuf; - DIAG(TD_OPTIONS, printsub('>', ttytype_sbbuf + 2, - sizeof ttytype_sbbuf - 2);); - while (sequenceIs(ttypesubopt, baseline)) - ttloop(); -} - - int -terminaltypeok(s) - char *s; -{ - char buf[1024]; - - if (terminaltype == NULL) - return(1); - - /* - * tgetent() will return 1 if the type is known, and - * 0 if it is not known. If it returns -1, it couldn't - * open the database. But if we can't open the database, - * it won't help to say we failed, because we won't be - * able to verify anything else. So, we treat -1 like 1. - */ - if (tgetent(buf, s) == 0) - return(0); - return(1); -} - -#ifndef MAXHOSTNAMELEN -#define MAXHOSTNAMELEN 64 -#endif /* MAXHOSTNAMELEN */ - -char *hostname; -char host_name[MAXHOSTNAMELEN]; -char remote_host_name[MAXHOSTNAMELEN]; - -extern void telnet P((int, int, char *)); - -int level; -char user_name[256]; -/* - * Get a pty, scan input lines. - */ -void -doit(who) - struct sockaddr_in *who; -{ - char *host, *inet_ntoa(); - struct hostent *hp; - int ptynum; - - /* - * Find an available pty to use. - */ -#ifndef convex - pty = getpty(&ptynum); - if (pty < 0) - fatal(net, "All network ports in use"); -#else - for (;;) { - char *lp; - extern char *line, *getpty(); - - if ((lp = getpty()) == NULL) - fatal(net, "Out of ptys"); - - if ((pty = open(lp, 2)) >= 0) { - strcpy(line,lp); - line[5] = 't'; - break; - } - } -#endif - -#if defined(_SC_CRAY_SECURE_SYS) - /* - * set ttyp line security label - */ - if (secflag) { - char slave_dev[16]; - - sprintf(tty_dev, "/dev/pty/%03d", ptynum); - if (setdevs(tty_dev, &dv) < 0) - fatal(net, "cannot set pty security"); - sprintf(slave_dev, "/dev/ttyp%03d", ptynum); - if (setdevs(slave_dev, &dv) < 0) - fatal(net, "cannot set tty security"); - } -#endif /* _SC_CRAY_SECURE_SYS */ - - /* get name of connected client */ - hp = gethostbyaddr((char *)&who->sin_addr, sizeof (struct in_addr), - who->sin_family); - - if (hp == NULL && registerd_host_only) { - fatal(net, "Couldn't resolve your address into a host name.\r\n\ - Please contact your net administrator"); - } else if (hp && - (strlen(hp->h_name) <= (unsigned int)((utmp_len < 0) ? -utmp_len - : utmp_len))) { - host = hp->h_name; - } else { - host = inet_ntoa(who->sin_addr); - } - /* - * We must make a copy because Kerberos is probably going - * to also do a gethost* and overwrite the static data... - */ - strncpy(remote_host_name, host, sizeof(remote_host_name)-1); - remote_host_name[sizeof(remote_host_name)-1] = 0; - host = remote_host_name; - - (void) gethostname(host_name, sizeof (host_name)); - hostname = host_name; - -#if defined(AUTHENTICATION) || defined(ENCRYPTION) - auth_encrypt_init(hostname, host, "TELNETD", 1); -#endif - - init_env(); - /* - * get terminal type. - */ - *user_name = 0; - level = getterminaltype(user_name); - setenv("TERM", terminaltype ? terminaltype : "network", 1); - -#if defined(_SC_CRAY_SECURE_SYS) - if (secflag) { - if (setulvl(dv.dv_actlvl) < 0) - fatal(net,"cannot setulvl()"); - if (setucmp(dv.dv_actcmp) < 0) - fatal(net, "cannot setucmp()"); - } -#endif /* _SC_CRAY_SECURE_SYS */ - - telnet(net, pty, host); /* begin server process */ - - /*NOTREACHED*/ -} /* end of doit */ - -#if defined(CRAY2) && defined(UNICOS5) && defined(UNICOS50) - int -Xterm_output(ibufp, obuf, icountp, ocount) - char **ibufp, *obuf; - int *icountp, ocount; -{ - int ret; - ret = term_output(*ibufp, obuf, *icountp, ocount); - *ibufp += *icountp; - *icountp = 0; - return(ret); -} -#define term_output Xterm_output -#endif /* defined(CRAY2) && defined(UNICOS5) && defined(UNICOS50) */ - -/* - * Main loop. Select from pty and network, and - * hand data to telnet receiver finite state machine. - */ - void -telnet(f, p, host) - int f, p; - char *host; -{ - int on = 1; -#define TABBUFSIZ 512 - char defent[TABBUFSIZ]; - char defstrs[TABBUFSIZ]; -#undef TABBUFSIZ - char *HE; - char *HN; - char *IM; - void netflush(); - int nfd; - - /* - * Initialize the slc mapping table. - */ - get_slc_defaults(); - - /* - * Do some tests where it is desireable to wait for a response. - * Rather than doing them slowly, one at a time, do them all - * at once. - */ - if (my_state_is_wont(TELOPT_SGA)) - send_will(TELOPT_SGA, 1); - /* - * Is the client side a 4.2 (NOT 4.3) system? We need to know this - * because 4.2 clients are unable to deal with TCP urgent data. - * - * To find out, we send out a "DO ECHO". If the remote system - * answers "WILL ECHO" it is probably a 4.2 client, and we note - * that fact ("WILL ECHO" ==> that the client will echo what - * WE, the server, sends it; it does NOT mean that the client will - * echo the terminal input). - */ - send_do(TELOPT_ECHO, 1); - -#ifdef LINEMODE - if (his_state_is_wont(TELOPT_LINEMODE)) { - /* Query the peer for linemode support by trying to negotiate - * the linemode option. - */ - linemode = 0; - editmode = 0; - send_do(TELOPT_LINEMODE, 1); /* send do linemode */ - } -#endif /* LINEMODE */ - - /* - * Send along a couple of other options that we wish to negotiate. - */ - send_do(TELOPT_NAWS, 1); - send_will(TELOPT_STATUS, 1); - flowmode = 1; /* default flow control state */ - restartany = -1; /* uninitialized... */ - send_do(TELOPT_LFLOW, 1); - - /* - * Spin, waiting for a response from the DO ECHO. However, - * some REALLY DUMB telnets out there might not respond - * to the DO ECHO. So, we spin looking for NAWS, (most dumb - * telnets so far seem to respond with WONT for a DO that - * they don't understand...) because by the time we get the - * response, it will already have processed the DO ECHO. - * Kludge upon kludge. - */ - while (his_will_wont_is_changing(TELOPT_NAWS)) - ttloop(); - - /* - * But... - * The client might have sent a WILL NAWS as part of its - * startup code; if so, we'll be here before we get the - * response to the DO ECHO. We'll make the assumption - * that any implementation that understands about NAWS - * is a modern enough implementation that it will respond - * to our DO ECHO request; hence we'll do another spin - * waiting for the ECHO option to settle down, which is - * what we wanted to do in the first place... - */ - if (his_want_state_is_will(TELOPT_ECHO) && - his_state_is_will(TELOPT_NAWS)) { - while (his_will_wont_is_changing(TELOPT_ECHO)) - ttloop(); - } - /* - * On the off chance that the telnet client is broken and does not - * respond to the DO ECHO we sent, (after all, we did send the - * DO NAWS negotiation after the DO ECHO, and we won't get here - * until a response to the DO NAWS comes back) simulate the - * receipt of a will echo. This will also send a WONT ECHO - * to the client, since we assume that the client failed to - * respond because it believes that it is already in DO ECHO - * mode, which we do not want. - */ - if (his_want_state_is_will(TELOPT_ECHO)) { - DIAG(TD_OPTIONS, - {sprintf(nfrontp, "td: simulating recv\r\n"); - nfrontp += strlen(nfrontp);}); - willoption(TELOPT_ECHO); - } - - /* - * Finally, to clean things up, we turn on our echo. This - * will break stupid 4.2 telnets out of local terminal echo. - */ - - if (my_state_is_wont(TELOPT_ECHO)) - send_will(TELOPT_ECHO, 1); - -#ifndef STREAMSPTY - /* - * Turn on packet mode - */ - (void) ioctl(p, TIOCPKT, (char *)&on); -#endif - -#if defined(LINEMODE) && defined(KLUDGELINEMODE) - /* - * Continuing line mode support. If client does not support - * real linemode, attempt to negotiate kludge linemode by sending - * the do timing mark sequence. - */ - if (lmodetype < REAL_LINEMODE) - send_do(TELOPT_TM, 1); -#endif /* defined(LINEMODE) && defined(KLUDGELINEMODE) */ - - /* - * Call telrcv() once to pick up anything received during - * terminal type negotiation, 4.2/4.3 determination, and - * linemode negotiation. - */ - telrcv(); - - (void) ioctl(f, FIONBIO, (char *)&on); - (void) ioctl(p, FIONBIO, (char *)&on); -#if defined(CRAY2) && defined(UNICOS5) - init_termdriver(f, p, interrupt, sendbrk); -#endif - -#if defined(SO_OOBINLINE) - (void) setsockopt(net, SOL_SOCKET, SO_OOBINLINE, - (char *)&on, sizeof on); -#endif /* defined(SO_OOBINLINE) */ - -#ifdef SIGTSTP - (void) signal(SIGTSTP, SIG_IGN); -#endif -#ifdef SIGTTOU - /* - * Ignoring SIGTTOU keeps the kernel from blocking us - * in ttioct() in /sys/tty.c. - */ - (void) signal(SIGTTOU, SIG_IGN); -#endif - - (void) signal(SIGCHLD, cleanup); - -#if defined(CRAY2) && defined(UNICOS5) - /* - * Cray-2 will send a signal when pty modes are changed by slave - * side. Set up signal handler now. - */ - if ((int)signal(SIGUSR1, termstat) < 0) - perror("signal"); - else if (ioctl(p, TCSIGME, (char *)SIGUSR1) < 0) - perror("ioctl:TCSIGME"); - /* - * Make processing loop check terminal characteristics early on. - */ - termstat(); -#endif - -#ifdef TIOCNOTTY - { - register int t; - t = open(_PATH_TTY, O_RDWR); - if (t >= 0) { - (void) ioctl(t, TIOCNOTTY, (char *)0); - (void) close(t); - } - } -#endif - -#if defined(CRAY) && defined(NEWINIT) && defined(TIOCSCTTY) - (void) setsid(); - ioctl(p, TIOCSCTTY, 0); -#endif - - /* - * Show banner that getty never gave. - * - * We put the banner in the pty input buffer. This way, it - * gets carriage return null processing, etc., just like all - * other pty --> client data. - */ - -#if !defined(CRAY) || !defined(NEWINIT) - if (getenv("USER")) - hostinfo = 0; -#endif - - if (getent(defent, "default") == 1) { - char *getstr(); - char *cp=defstrs; - - HE = getstr("he", &cp); - HN = getstr("hn", &cp); - IM = getstr("im", &cp); - if (HN && *HN) - (void) strcpy(host_name, HN); - if (IM == 0) - IM = ""; - } else { - IM = DEFAULT_IM; - HE = 0; - } - edithost(HE, host_name); - if (hostinfo && *IM) - putf(IM, ptyibuf2); - - if (pcc) - (void) strncat(ptyibuf2, ptyip, pcc+1); - ptyip = ptyibuf2; - pcc = strlen(ptyip); -#ifdef LINEMODE - /* - * Last check to make sure all our states are correct. - */ - init_termbuf(); - localstat(); -#endif /* LINEMODE */ - - DIAG(TD_REPORT, - {sprintf(nfrontp, "td: Entering processing loop\r\n"); - nfrontp += strlen(nfrontp);}); - - /* - * Startup the login process on the slave side of the terminal - * now. We delay this until here to insure option negotiation - * is complete. - */ - startslave(host, level, user_name); - - nfd = ((f > p) ? f : p) + 1; - for (;;) { - fd_set ibits, obits, xbits; - register int c; - - if (ncc < 0 && pcc < 0) - break; - -#if defined(CRAY2) && defined(UNICOS5) - if (needtermstat) - _termstat(); -#endif /* defined(CRAY2) && defined(UNICOS5) */ - FD_ZERO(&ibits); - FD_ZERO(&obits); - FD_ZERO(&xbits); - /* - * Never look for input if there's still - * stuff in the corresponding output buffer - */ - if (nfrontp - nbackp || pcc > 0) { - FD_SET(f, &obits); - } else { - FD_SET(p, &ibits); - } - if (pfrontp - pbackp || ncc > 0) { - FD_SET(p, &obits); - } else { - FD_SET(f, &ibits); - } - if (!SYNCHing) { - FD_SET(f, &xbits); - } - if ((c = select(nfd, &ibits, &obits, &xbits, - (struct timeval *)0)) < 1) { - if (c == -1) { - if (errno == EINTR) { - continue; - } - } - sleep(5); - continue; - } - - /* - * Any urgent data? - */ - if (FD_ISSET(net, &xbits)) { - SYNCHing = 1; - } - - /* - * Something to read from the network... - */ - if (FD_ISSET(net, &ibits)) { -#if !defined(SO_OOBINLINE) - /* - * In 4.2 (and 4.3 beta) systems, the - * OOB indication and data handling in the kernel - * is such that if two separate TCP Urgent requests - * come in, one byte of TCP data will be overlaid. - * This is fatal for Telnet, but we try to live - * with it. - * - * In addition, in 4.2 (and...), a special protocol - * is needed to pick up the TCP Urgent data in - * the correct sequence. - * - * What we do is: if we think we are in urgent - * mode, we look to see if we are "at the mark". - * If we are, we do an OOB receive. If we run - * this twice, we will do the OOB receive twice, - * but the second will fail, since the second - * time we were "at the mark", but there wasn't - * any data there (the kernel doesn't reset - * "at the mark" until we do a normal read). - * Once we've read the OOB data, we go ahead - * and do normal reads. - * - * There is also another problem, which is that - * since the OOB byte we read doesn't put us - * out of OOB state, and since that byte is most - * likely the TELNET DM (data mark), we would - * stay in the TELNET SYNCH (SYNCHing) state. - * So, clocks to the rescue. If we've "just" - * received a DM, then we test for the - * presence of OOB data when the receive OOB - * fails (and AFTER we did the normal mode read - * to clear "at the mark"). - */ - if (SYNCHing) { - int atmark; - - (void) ioctl(net, SIOCATMARK, (char *)&atmark); - if (atmark) { - ncc = recv(net, netibuf, sizeof (netibuf), MSG_OOB); - if ((ncc == -1) && (errno == EINVAL)) { - ncc = read(net, netibuf, sizeof (netibuf)); - if (sequenceIs(didnetreceive, gotDM)) { - SYNCHing = stilloob(net); - } - } - } else { - ncc = read(net, netibuf, sizeof (netibuf)); - } - } else { - ncc = read(net, netibuf, sizeof (netibuf)); - } - settimer(didnetreceive); -#else /* !defined(SO_OOBINLINE)) */ - ncc = read(net, netibuf, sizeof (netibuf)); -#endif /* !defined(SO_OOBINLINE)) */ - if (ncc < 0 && errno == EWOULDBLOCK) - ncc = 0; - else { - if (ncc <= 0) { - break; - } - netip = netibuf; - } - DIAG((TD_REPORT | TD_NETDATA), - {sprintf(nfrontp, "td: netread %d chars\r\n", ncc); - nfrontp += strlen(nfrontp);}); - DIAG(TD_NETDATA, printdata("nd", netip, ncc)); - } - - /* - * Something to read from the pty... - */ - if (FD_ISSET(p, &ibits)) { -#ifndef STREAMSPTY - pcc = read(p, ptyibuf, BUFSIZ); -#else - pcc = readstream(p, ptyibuf, BUFSIZ); -#endif - /* - * On some systems, if we try to read something - * off the master side before the slave side is - * opened, we get EIO. - */ - if (pcc < 0 && (errno == EWOULDBLOCK || -#ifdef EAGAIN - errno == EAGAIN || -#endif - errno == EIO)) { - pcc = 0; - } else { - if (pcc <= 0) - break; -#if !defined(CRAY2) || !defined(UNICOS5) -#ifdef LINEMODE - /* - * If ioctl from pty, pass it through net - */ - if (ptyibuf[0] & TIOCPKT_IOCTL) { - copy_termbuf(ptyibuf+1, pcc-1); - localstat(); - pcc = 1; - } -#endif /* LINEMODE */ - if (ptyibuf[0] & TIOCPKT_FLUSHWRITE) { - netclear(); /* clear buffer back */ -#ifndef NO_URGENT - /* - * There are client telnets on some - * operating systems get screwed up - * royally if we send them urgent - * mode data. - */ - *nfrontp++ = IAC; - *nfrontp++ = DM; - neturg = nfrontp-1; /* off by one XXX */ - DIAG(TD_OPTIONS, - printoption("td: send IAC", DM)); - -#endif - } - if (his_state_is_will(TELOPT_LFLOW) && - (ptyibuf[0] & - (TIOCPKT_NOSTOP|TIOCPKT_DOSTOP))) { - int newflow = - ptyibuf[0] & TIOCPKT_DOSTOP ? 1 : 0; - if (newflow != flowmode) { - flowmode = newflow; - (void) sprintf(nfrontp, - "%c%c%c%c%c%c", - IAC, SB, TELOPT_LFLOW, - flowmode ? LFLOW_ON - : LFLOW_OFF, - IAC, SE); - nfrontp += 6; - DIAG(TD_OPTIONS, printsub('>', - (unsigned char *)nfrontp-4, - 4);); - } - } - pcc--; - ptyip = ptyibuf+1; -#else /* defined(CRAY2) && defined(UNICOS5) */ - if (!uselinemode) { - unpcc = pcc; - unptyip = ptyibuf; - pcc = term_output(&unptyip, ptyibuf2, - &unpcc, BUFSIZ); - ptyip = ptyibuf2; - } else - ptyip = ptyibuf; -#endif /* defined(CRAY2) && defined(UNICOS5) */ - } - } - - while (pcc > 0) { - if ((&netobuf[BUFSIZ] - nfrontp) < 2) - break; - c = *ptyip++ & 0377, pcc--; - if (c == IAC) - *nfrontp++ = c; -#if defined(CRAY2) && defined(UNICOS5) - else if (c == '\n' && - my_state_is_wont(TELOPT_BINARY) && newmap) - *nfrontp++ = '\r'; -#endif /* defined(CRAY2) && defined(UNICOS5) */ - *nfrontp++ = c; - if ((c == '\r') && (my_state_is_wont(TELOPT_BINARY))) { - if (pcc > 0 && ((*ptyip & 0377) == '\n')) { - *nfrontp++ = *ptyip++ & 0377; - pcc--; - } else - *nfrontp++ = '\0'; - } - } -#if defined(CRAY2) && defined(UNICOS5) - /* - * If chars were left over from the terminal driver, - * note their existence. - */ - if (!uselinemode && unpcc) { - pcc = unpcc; - unpcc = 0; - ptyip = unptyip; - } -#endif /* defined(CRAY2) && defined(UNICOS5) */ - - if (FD_ISSET(f, &obits) && (nfrontp - nbackp) > 0) - netflush(); - if (ncc > 0) - telrcv(); - if (FD_ISSET(p, &obits) && (pfrontp - pbackp) > 0) - ptyflush(); - } - cleanup(0); -} /* end of telnet */ - -#ifndef TCSIG -# ifdef TIOCSIG -# define TCSIG TIOCSIG -# endif -#endif - -#ifdef STREAMSPTY - -int flowison = -1; /* current state of flow: -1 is unknown */ - -int readstream(p, ibuf, bufsize) - int p; - char *ibuf; - int bufsize; -{ - int flags = 0; - int ret = 0; - struct termios *tsp; - struct termio *tp; - struct iocblk *ip; - char vstop, vstart; - int ixon; - int newflow; - - strbufc.maxlen = BUFSIZ; - strbufc.buf = (char *)ctlbuf; - strbufd.maxlen = bufsize-1; - strbufd.len = 0; - strbufd.buf = ibuf+1; - ibuf[0] = 0; - - ret = getmsg(p, &strbufc, &strbufd, &flags); - if (ret < 0) /* error of some sort -- probably EAGAIN */ - return(-1); - - if (strbufc.len <= 0 || ctlbuf[0] == M_DATA) { - /* data message */ - if (strbufd.len > 0) { /* real data */ - return(strbufd.len + 1); /* count header char */ - } else { - /* nothing there */ - errno = EAGAIN; - return(-1); - } - } - - /* - * It's a control message. Return 1, to look at the flag we set - */ - - switch (ctlbuf[0]) { - case M_FLUSH: - if (ibuf[1] & FLUSHW) - ibuf[0] = TIOCPKT_FLUSHWRITE; - return(1); - - case M_IOCTL: - ip = (struct iocblk *) (ibuf+1); - - switch (ip->ioc_cmd) { - case TCSETS: - case TCSETSW: - case TCSETSF: - tsp = (struct termios *) - (ibuf+1 + sizeof(struct iocblk)); - vstop = tsp->c_cc[VSTOP]; - vstart = tsp->c_cc[VSTART]; - ixon = tsp->c_iflag & IXON; - break; - case TCSETA: - case TCSETAW: - case TCSETAF: - tp = (struct termio *) (ibuf+1 + sizeof(struct iocblk)); - vstop = tp->c_cc[VSTOP]; - vstart = tp->c_cc[VSTART]; - ixon = tp->c_iflag & IXON; - break; - default: - errno = EAGAIN; - return(-1); - } - - newflow = (ixon && (vstart == 021) && (vstop == 023)) ? 1 : 0; - if (newflow != flowison) { /* it's a change */ - flowison = newflow; - ibuf[0] = newflow ? TIOCPKT_DOSTOP : TIOCPKT_NOSTOP; - return(1); - } - } - - /* nothing worth doing anything about */ - errno = EAGAIN; - return(-1); -} -#endif /* STREAMSPTY */ - -/* - * Send interrupt to process on other side of pty. - * If it is in raw mode, just write NULL; - * otherwise, write intr char. - */ - void -interrupt() -{ - ptyflush(); /* half-hearted */ - -#if defined(STREAMSPTY) && defined(TIOCSIGNAL) - /* Streams PTY style ioctl to post a signal */ - { - int sig = SIGINT; - (void) ioctl(pty, TIOCSIGNAL, &sig); - (void) ioctl(pty, I_FLUSH, FLUSHR); - } -#else -#ifdef TCSIG - (void) ioctl(pty, TCSIG, (char *)SIGINT); -#else /* TCSIG */ - init_termbuf(); - *pfrontp++ = slctab[SLC_IP].sptr ? - (unsigned char)*slctab[SLC_IP].sptr : '\177'; -#endif /* TCSIG */ -#endif -} - -/* - * Send quit to process on other side of pty. - * If it is in raw mode, just write NULL; - * otherwise, write quit char. - */ - void -sendbrk() -{ - ptyflush(); /* half-hearted */ -#ifdef TCSIG - (void) ioctl(pty, TCSIG, (char *)SIGQUIT); -#else /* TCSIG */ - init_termbuf(); - *pfrontp++ = slctab[SLC_ABORT].sptr ? - (unsigned char)*slctab[SLC_ABORT].sptr : '\034'; -#endif /* TCSIG */ -} - - void -sendsusp() -{ -#ifdef SIGTSTP - ptyflush(); /* half-hearted */ -# ifdef TCSIG - (void) ioctl(pty, TCSIG, (char *)SIGTSTP); -# else /* TCSIG */ - *pfrontp++ = slctab[SLC_SUSP].sptr ? - (unsigned char)*slctab[SLC_SUSP].sptr : '\032'; -# endif /* TCSIG */ -#endif /* SIGTSTP */ -} - -/* - * When we get an AYT, if ^T is enabled, use that. Otherwise, - * just send back "[Yes]". - */ - void -recv_ayt() -{ -#if defined(SIGINFO) && defined(TCSIG) - if (slctab[SLC_AYT].sptr && *slctab[SLC_AYT].sptr != _POSIX_VDISABLE) { - (void) ioctl(pty, TCSIG, (char *)SIGINFO); - return; - } -#endif - (void) strcpy(nfrontp, "\r\n[Yes]\r\n"); - nfrontp += 9; -} - - void -doeof() -{ - init_termbuf(); - -#if defined(LINEMODE) && defined(USE_TERMIO) && (VEOF == VMIN) - if (!tty_isediting()) { - extern char oldeofc; - *pfrontp++ = oldeofc; - return; - } -#endif - *pfrontp++ = slctab[SLC_EOF].sptr ? - (unsigned char)*slctab[SLC_EOF].sptr : '\004'; -} diff --git a/eBones/libexec/telnetd/telnetd.h b/eBones/libexec/telnetd/telnetd.h deleted file mode 100644 index 234b9739e7580..0000000000000 --- a/eBones/libexec/telnetd/telnetd.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)telnetd.h 8.1 (Berkeley) 6/4/93 - */ - - -#include "defs.h" -#include "ext.h" - -#ifdef DIAGNOSTICS -#define DIAG(a,b) if (diagnostic & (a)) b -#else -#define DIAG(a,b) -#endif - -/* other external variables */ -extern char **environ; -extern int errno; - diff --git a/eBones/libexec/telnetd/termstat.c b/eBones/libexec/telnetd/termstat.c deleted file mode 100644 index 551355d004d32..0000000000000 --- a/eBones/libexec/telnetd/termstat.c +++ /dev/null @@ -1,673 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)termstat.c 8.2 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#include "telnetd.h" - -#if defined(ENCRYPTION) -#include <libtelnet/encrypt.h> -#endif - -/* - * local variables - */ -int def_tspeed = -1, def_rspeed = -1; -#ifdef TIOCSWINSZ -int def_row = 0, def_col = 0; -#endif -#ifdef LINEMODE -static int _terminit = 0; -#endif /* LINEMODE */ - -#if defined(CRAY2) && defined(UNICOS5) -int newmap = 1; /* nonzero if \n maps to ^M^J */ -#endif - -#ifdef LINEMODE -/* - * localstat - * - * This function handles all management of linemode. - * - * Linemode allows the client to do the local editing of data - * and send only complete lines to the server. Linemode state is - * based on the state of the pty driver. If the pty is set for - * external processing, then we can use linemode. Further, if we - * can use real linemode, then we can look at the edit control bits - * in the pty to determine what editing the client should do. - * - * Linemode support uses the following state flags to keep track of - * current and desired linemode state. - * alwayslinemode : true if -l was specified on the telnetd - * command line. It means to have linemode on as much as - * possible. - * - * lmodetype: signifies whether the client can - * handle real linemode, or if use of kludgeomatic linemode - * is preferred. It will be set to one of the following: - * REAL_LINEMODE : use linemode option - * NO_KLUDGE : don't initiate kludge linemode. - * KLUDGE_LINEMODE : use kludge linemode - * NO_LINEMODE : client is ignorant of linemode - * - * linemode, uselinemode : linemode is true if linemode - * is currently on, uselinemode is the state that we wish - * to be in. If another function wishes to turn linemode - * on or off, it sets or clears uselinemode. - * - * editmode, useeditmode : like linemode/uselinemode, but - * these contain the edit mode states (edit and trapsig). - * - * The state variables correspond to some of the state information - * in the pty. - * linemode: - * In real linemode, this corresponds to whether the pty - * expects external processing of incoming data. - * In kludge linemode, this more closely corresponds to the - * whether normal processing is on or not. (ICANON in - * system V, or COOKED mode in BSD.) - * If the -l option was specified (alwayslinemode), then - * an attempt is made to force external processing on at - * all times. - * - * The following heuristics are applied to determine linemode - * handling within the server. - * 1) Early on in starting up the server, an attempt is made - * to negotiate the linemode option. If this succeeds - * then lmodetype is set to REAL_LINEMODE and all linemode - * processing occurs in the context of the linemode option. - * 2) If the attempt to negotiate the linemode option failed, - * and the "-k" (don't initiate kludge linemode) isn't set, - * then we try to use kludge linemode. We test for this - * capability by sending "do Timing Mark". If a positive - * response comes back, then we assume that the client - * understands kludge linemode (ech!) and the - * lmodetype flag is set to KLUDGE_LINEMODE. - * 3) Otherwise, linemode is not supported at all and - * lmodetype remains set to NO_LINEMODE (which happens - * to be 0 for convenience). - * 4) At any time a command arrives that implies a higher - * state of linemode support in the client, we move to that - * linemode support. - * - * A short explanation of kludge linemode is in order here. - * 1) The heuristic to determine support for kludge linemode - * is to send a do timing mark. We assume that a client - * that supports timing marks also supports kludge linemode. - * A risky proposition at best. - * 2) Further negotiation of linemode is done by changing the - * the server's state regarding SGA. If server will SGA, - * then linemode is off, if server won't SGA, then linemode - * is on. - */ - void -localstat() -{ - void netflush(); - int need_will_echo = 0; - -#if defined(CRAY2) && defined(UNICOS5) - /* - * Keep track of that ol' CR/NL mapping while we're in the - * neighborhood. - */ - newmap = tty_isnewmap(); -#endif /* defined(CRAY2) && defined(UNICOS5) */ - - /* - * Check for changes to flow control if client supports it. - */ - flowstat(); - - /* - * Check linemode on/off state - */ - uselinemode = tty_linemode(); - - /* - * If alwayslinemode is on, and pty is changing to turn it off, then - * force linemode back on. - */ - if (alwayslinemode && linemode && !uselinemode) { - uselinemode = 1; - tty_setlinemode(uselinemode); - } - - if (uselinemode) { - /* - * Check for state of BINARY options. - * - * We only need to do the binary dance if we are actually going - * to use linemode. As this confuses some telnet clients - * that don't support linemode, and doesn't gain us - * anything, we don't do it unless we're doing linemode. - * -Crh (henrich@msu.edu) - */ - - if (tty_isbinaryin()) { - if (his_want_state_is_wont(TELOPT_BINARY)) - send_do(TELOPT_BINARY, 1); - } else { - if (his_want_state_is_will(TELOPT_BINARY)) - send_dont(TELOPT_BINARY, 1); - } - - if (tty_isbinaryout()) { - if (my_want_state_is_wont(TELOPT_BINARY)) - send_will(TELOPT_BINARY, 1); - } else { - if (my_want_state_is_will(TELOPT_BINARY)) - send_wont(TELOPT_BINARY, 1); - } - } - -#ifdef ENCRYPTION - /* - * If the terminal is not echoing, but editing is enabled, - * something like password input is going to happen, so - * if we the other side is not currently sending encrypted - * data, ask the other side to start encrypting. - */ - if (his_state_is_will(TELOPT_ENCRYPT)) { - static int enc_passwd = 0; - if (uselinemode && !tty_isecho() && tty_isediting() - && (enc_passwd == 0) && !decrypt_input) { - encrypt_send_request_start(); - enc_passwd = 1; - } else if (enc_passwd) { - encrypt_send_request_end(); - enc_passwd = 0; - } - } -#endif /* ENCRYPTION */ - - /* - * Do echo mode handling as soon as we know what the - * linemode is going to be. - * If the pty has echo turned off, then tell the client that - * the server will echo. If echo is on, then the server - * will echo if in character mode, but in linemode the - * client should do local echoing. The state machine will - * not send anything if it is unnecessary, so don't worry - * about that here. - * - * If we need to send the WILL ECHO (because echo is off), - * then delay that until after we have changed the MODE. - * This way, when the user is turning off both editing - * and echo, the client will get editing turned off first. - * This keeps the client from going into encryption mode - * and then right back out if it is doing auto-encryption - * when passwords are being typed. - */ - if (uselinemode) { - if (tty_isecho()) - send_wont(TELOPT_ECHO, 1); - else - need_will_echo = 1; -#ifdef KLUDGELINEMODE - if (lmodetype == KLUDGE_OK) - lmodetype = KLUDGE_LINEMODE; -#endif - } - - /* - * If linemode is being turned off, send appropriate - * command and then we're all done. - */ - if (!uselinemode && linemode) { -# ifdef KLUDGELINEMODE - if (lmodetype == REAL_LINEMODE) { -# endif /* KLUDGELINEMODE */ - send_dont(TELOPT_LINEMODE, 1); -# ifdef KLUDGELINEMODE - } else if (lmodetype == KLUDGE_LINEMODE) - send_will(TELOPT_SGA, 1); -# endif /* KLUDGELINEMODE */ - send_will(TELOPT_ECHO, 1); - linemode = uselinemode; - goto done; - } - -# ifdef KLUDGELINEMODE - /* - * If using real linemode check edit modes for possible later use. - * If we are in kludge linemode, do the SGA negotiation. - */ - if (lmodetype == REAL_LINEMODE) { -# endif /* KLUDGELINEMODE */ - useeditmode = 0; - if (tty_isediting()) - useeditmode |= MODE_EDIT; - if (tty_istrapsig()) - useeditmode |= MODE_TRAPSIG; - if (tty_issofttab()) - useeditmode |= MODE_SOFT_TAB; - if (tty_islitecho()) - useeditmode |= MODE_LIT_ECHO; -# ifdef KLUDGELINEMODE - } else if (lmodetype == KLUDGE_LINEMODE) { - if (tty_isediting() && uselinemode) - send_wont(TELOPT_SGA, 1); - else - send_will(TELOPT_SGA, 1); - } -# endif /* KLUDGELINEMODE */ - - /* - * Negotiate linemode on if pty state has changed to turn it on. - * Send appropriate command and send along edit mode, then all done. - */ - if (uselinemode && !linemode) { -# ifdef KLUDGELINEMODE - if (lmodetype == KLUDGE_LINEMODE) { - send_wont(TELOPT_SGA, 1); - } else if (lmodetype == REAL_LINEMODE) { -# endif /* KLUDGELINEMODE */ - send_do(TELOPT_LINEMODE, 1); - /* send along edit modes */ - (void) sprintf(nfrontp, "%c%c%c%c%c%c%c", IAC, SB, - TELOPT_LINEMODE, LM_MODE, useeditmode, - IAC, SE); - nfrontp += 7; - editmode = useeditmode; -# ifdef KLUDGELINEMODE - } -# endif /* KLUDGELINEMODE */ - linemode = uselinemode; - goto done; - } - -# ifdef KLUDGELINEMODE - /* - * None of what follows is of any value if not using - * real linemode. - */ - if (lmodetype < REAL_LINEMODE) - goto done; -# endif /* KLUDGELINEMODE */ - - if (linemode && his_state_is_will(TELOPT_LINEMODE)) { - /* - * If edit mode changed, send edit mode. - */ - if (useeditmode != editmode) { - /* - * Send along appropriate edit mode mask. - */ - (void) sprintf(nfrontp, "%c%c%c%c%c%c%c", IAC, SB, - TELOPT_LINEMODE, LM_MODE, useeditmode, - IAC, SE); - nfrontp += 7; - editmode = useeditmode; - } - - - /* - * Check for changes to special characters in use. - */ - start_slc(0); - check_slc(); - (void) end_slc(0); - } - -done: - if (need_will_echo) - send_will(TELOPT_ECHO, 1); - /* - * Some things should be deferred until after the pty state has - * been set by the local process. Do those things that have been - * deferred now. This only happens once. - */ - if (_terminit == 0) { - _terminit = 1; - defer_terminit(); - } - - netflush(); - set_termbuf(); - return; - -} /* end of localstat */ -#endif /* LINEMODE */ - -/* - * flowstat - * - * Check for changes to flow control - */ - void -flowstat() -{ - if (his_state_is_will(TELOPT_LFLOW)) { - if (tty_flowmode() != flowmode) { - flowmode = tty_flowmode(); - (void) sprintf(nfrontp, "%c%c%c%c%c%c", - IAC, SB, TELOPT_LFLOW, - flowmode ? LFLOW_ON : LFLOW_OFF, - IAC, SE); - nfrontp += 6; - } - if (tty_restartany() != restartany) { - restartany = tty_restartany(); - (void) sprintf(nfrontp, "%c%c%c%c%c%c", - IAC, SB, TELOPT_LFLOW, - restartany ? LFLOW_RESTART_ANY - : LFLOW_RESTART_XON, - IAC, SE); - nfrontp += 6; - } - } -} - -/* - * clientstat - * - * Process linemode related requests from the client. - * Client can request a change to only one of linemode, editmode or slc's - * at a time, and if using kludge linemode, then only linemode may be - * affected. - */ - void -clientstat(code, parm1, parm2) - register int code, parm1, parm2; -{ - void netflush(); - - /* - * Get a copy of terminal characteristics. - */ - init_termbuf(); - - /* - * Process request from client. code tells what it is. - */ - switch (code) { -#ifdef LINEMODE - case TELOPT_LINEMODE: - /* - * Don't do anything unless client is asking us to change - * modes. - */ - uselinemode = (parm1 == WILL); - if (uselinemode != linemode) { -# ifdef KLUDGELINEMODE - /* - * If using kludge linemode, make sure that - * we can do what the client asks. - * We can not turn off linemode if alwayslinemode - * and the ICANON bit is set. - */ - if (lmodetype == KLUDGE_LINEMODE) { - if (alwayslinemode && tty_isediting()) { - uselinemode = 1; - } - } - - /* - * Quit now if we can't do it. - */ - if (uselinemode == linemode) - return; - - /* - * If using real linemode and linemode is being - * turned on, send along the edit mode mask. - */ - if (lmodetype == REAL_LINEMODE && uselinemode) -# else /* KLUDGELINEMODE */ - if (uselinemode) -# endif /* KLUDGELINEMODE */ - { - useeditmode = 0; - if (tty_isediting()) - useeditmode |= MODE_EDIT; - if (tty_istrapsig) - useeditmode |= MODE_TRAPSIG; - if (tty_issofttab()) - useeditmode |= MODE_SOFT_TAB; - if (tty_islitecho()) - useeditmode |= MODE_LIT_ECHO; - (void) sprintf(nfrontp, "%c%c%c%c%c%c%c", IAC, - SB, TELOPT_LINEMODE, LM_MODE, - useeditmode, IAC, SE); - nfrontp += 7; - editmode = useeditmode; - } - - - tty_setlinemode(uselinemode); - - linemode = uselinemode; - - if (!linemode) - send_will(TELOPT_ECHO, 1); - } - break; - - case LM_MODE: - { - register int ack, changed; - - /* - * Client has sent along a mode mask. If it agrees with - * what we are currently doing, ignore it; if not, it could - * be viewed as a request to change. Note that the server - * will change to the modes in an ack if it is different from - * what we currently have, but we will not ack the ack. - */ - useeditmode &= MODE_MASK; - ack = (useeditmode & MODE_ACK); - useeditmode &= ~MODE_ACK; - - if ((changed = (useeditmode ^ editmode))) { - /* - * This check is for a timing problem. If the - * state of the tty has changed (due to the user - * application) we need to process that info - * before we write in the state contained in the - * ack!!! This gets out the new MODE request, - * and when the ack to that command comes back - * we'll set it and be in the right mode. - */ - if (ack) - localstat(); - if (changed & MODE_EDIT) - tty_setedit(useeditmode & MODE_EDIT); - - if (changed & MODE_TRAPSIG) - tty_setsig(useeditmode & MODE_TRAPSIG); - - if (changed & MODE_SOFT_TAB) - tty_setsofttab(useeditmode & MODE_SOFT_TAB); - - if (changed & MODE_LIT_ECHO) - tty_setlitecho(useeditmode & MODE_LIT_ECHO); - - set_termbuf(); - - if (!ack) { - (void) sprintf(nfrontp, "%c%c%c%c%c%c%c", IAC, - SB, TELOPT_LINEMODE, LM_MODE, - useeditmode|MODE_ACK, - IAC, SE); - nfrontp += 7; - } - - editmode = useeditmode; - } - - break; - - } /* end of case LM_MODE */ -#endif /* LINEMODE */ - - case TELOPT_NAWS: -#ifdef TIOCSWINSZ - { - struct winsize ws; - - def_col = parm1; - def_row = parm2; -#ifdef LINEMODE - /* - * Defer changing window size until after terminal is - * initialized. - */ - if (terminit() == 0) - return; -#endif /* LINEMODE */ - - /* - * Change window size as requested by client. - */ - - ws.ws_col = parm1; - ws.ws_row = parm2; - (void) ioctl(pty, TIOCSWINSZ, (char *)&ws); - } -#endif /* TIOCSWINSZ */ - - break; - - case TELOPT_TSPEED: - { - def_tspeed = parm1; - def_rspeed = parm2; -#ifdef LINEMODE - /* - * Defer changing the terminal speed. - */ - if (terminit() == 0) - return; -#endif /* LINEMODE */ - /* - * Change terminal speed as requested by client. - * We set the receive speed first, so that if we can't - * store seperate receive and transmit speeds, the transmit - * speed will take precedence. - */ - tty_rspeed(parm2); - tty_tspeed(parm1); - set_termbuf(); - - break; - - } /* end of case TELOPT_TSPEED */ - - default: - /* What? */ - break; - } /* end of switch */ - -#if defined(CRAY2) && defined(UNICOS5) - /* - * Just in case of the likely event that we changed the pty state. - */ - rcv_ioctl(); -#endif /* defined(CRAY2) && defined(UNICOS5) */ - - netflush(); - -} /* end of clientstat */ - -#if defined(CRAY2) && defined(UNICOS5) - void -termstat() -{ - needtermstat = 1; -} - - void -_termstat() -{ - needtermstat = 0; - init_termbuf(); - localstat(); - rcv_ioctl(); -} -#endif /* defined(CRAY2) && defined(UNICOS5) */ - -#ifdef LINEMODE -/* - * defer_terminit - * - * Some things should not be done until after the login process has started - * and all the pty modes are set to what they are supposed to be. This - * function is called when the pty state has been processed for the first time. - * It calls other functions that do things that were deferred in each module. - */ - void -defer_terminit() -{ - - /* - * local stuff that got deferred. - */ - if (def_tspeed != -1) { - clientstat(TELOPT_TSPEED, def_tspeed, def_rspeed); - def_tspeed = def_rspeed = 0; - } - -#ifdef TIOCSWINSZ - if (def_col || def_row) { - struct winsize ws; - - memset((char *)&ws, 0, sizeof(ws)); - ws.ws_col = def_col; - ws.ws_row = def_row; - (void) ioctl(pty, TIOCSWINSZ, (char *)&ws); - } -#endif - - /* - * The only other module that currently defers anything. - */ - deferslc(); - -} /* end of defer_terminit */ - -/* - * terminit - * - * Returns true if the pty state has been processed yet. - */ - int -terminit() -{ - return(_terminit); - -} /* end of terminit */ -#endif /* LINEMODE */ diff --git a/eBones/libexec/telnetd/utility.c b/eBones/libexec/telnetd/utility.c deleted file mode 100644 index b432fb282910d..0000000000000 --- a/eBones/libexec/telnetd/utility.c +++ /dev/null @@ -1,1209 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)utility.c 8.4 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#ifdef __FreeBSD__ -#include <locale.h> -#endif -#define PRINTOPTIONS -#include "telnetd.h" - -#if defined(AUTHENTICATION) -#include <libtelnet/auth.h> -#endif -#if defined(ENCRYPTION) -#include <libtelnet/encrypt.h> -#endif - -/* - * utility functions performing io related tasks - */ - -/* - * ttloop - * - * A small subroutine to flush the network output buffer, get some data - * from the network, and pass it through the telnet state machine. We - * also flush the pty input buffer (by dropping its data) if it becomes - * too full. - */ - - void -ttloop() -{ - void netflush(); - - DIAG(TD_REPORT, {sprintf(nfrontp, "td: ttloop\r\n"); - nfrontp += strlen(nfrontp);}); - if (nfrontp-nbackp) { - netflush(); - } - ncc = read(net, netibuf, sizeof netibuf); - if (ncc < 0) { - syslog(LOG_INFO, "ttloop: read: %m\n"); - exit(1); - } else if (ncc == 0) { - syslog(LOG_INFO, "ttloop: peer died: %m\n"); - exit(1); - } - DIAG(TD_REPORT, {sprintf(nfrontp, "td: ttloop read %d chars\r\n", ncc); - nfrontp += strlen(nfrontp);}); - netip = netibuf; - telrcv(); /* state machine */ - if (ncc > 0) { - pfrontp = pbackp = ptyobuf; - telrcv(); - } -} /* end of ttloop */ - -/* - * Check a descriptor to see if out of band data exists on it. - */ - int -stilloob(s) - int s; /* socket number */ -{ - static struct timeval timeout = { 0 }; - fd_set excepts; - int value; - - do { - FD_ZERO(&excepts); - FD_SET(s, &excepts); - memset((char *)&timeout, 0, sizeof timeout); - value = select(s+1, (fd_set *)0, (fd_set *)0, &excepts, &timeout); - } while ((value == -1) && (errno == EINTR)); - - if (value < 0) { - fatalperror(pty, "select"); - } - if (FD_ISSET(s, &excepts)) { - return 1; - } else { - return 0; - } -} - - void -ptyflush() -{ - int n; - - if ((n = pfrontp - pbackp) > 0) { - DIAG((TD_REPORT | TD_PTYDATA), - { sprintf(nfrontp, "td: ptyflush %d chars\r\n", n); - nfrontp += strlen(nfrontp); }); - DIAG(TD_PTYDATA, printdata("pd", pbackp, n)); - n = write(pty, pbackp, n); - } - if (n < 0) { - if (errno == EWOULDBLOCK || errno == EINTR) - return; - cleanup(0); - } - pbackp += n; - if (pbackp == pfrontp) - pbackp = pfrontp = ptyobuf; -} - -/* - * nextitem() - * - * Return the address of the next "item" in the TELNET data - * stream. This will be the address of the next character if - * the current address is a user data character, or it will - * be the address of the character following the TELNET command - * if the current address is a TELNET IAC ("I Am a Command") - * character. - */ - char * -nextitem(current) - char *current; -{ - if ((*current&0xff) != IAC) { - return current+1; - } - switch (*(current+1)&0xff) { - case DO: - case DONT: - case WILL: - case WONT: - return current+3; - case SB: /* loop forever looking for the SE */ - { - register char *look = current+2; - - for (;;) { - if ((*look++&0xff) == IAC) { - if ((*look++&0xff) == SE) { - return look; - } - } - } - } - default: - return current+2; - } -} /* end of nextitem */ - - -/* - * netclear() - * - * We are about to do a TELNET SYNCH operation. Clear - * the path to the network. - * - * Things are a bit tricky since we may have sent the first - * byte or so of a previous TELNET command into the network. - * So, we have to scan the network buffer from the beginning - * until we are up to where we want to be. - * - * A side effect of what we do, just to keep things - * simple, is to clear the urgent data pointer. The principal - * caller should be setting the urgent data pointer AFTER calling - * us in any case. - */ - void -netclear() -{ - register char *thisitem, *next; - char *good; -#define wewant(p) ((nfrontp > p) && ((*p&0xff) == IAC) && \ - ((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL)) - -#ifdef ENCRYPTION - thisitem = nclearto > netobuf ? nclearto : netobuf; -#else /* ENCRYPTION */ - thisitem = netobuf; -#endif /* ENCRYPTION */ - - while ((next = nextitem(thisitem)) <= nbackp) { - thisitem = next; - } - - /* Now, thisitem is first before/at boundary. */ - -#ifdef ENCRYPTION - good = nclearto > netobuf ? nclearto : netobuf; -#else /* ENCRYPTION */ - good = netobuf; /* where the good bytes go */ -#endif /* ENCRYPTION */ - - while (nfrontp > thisitem) { - if (wewant(thisitem)) { - int length; - - next = thisitem; - do { - next = nextitem(next); - } while (wewant(next) && (nfrontp > next)); - length = next-thisitem; - memmove(good, thisitem, length); - good += length; - thisitem = next; - } else { - thisitem = nextitem(thisitem); - } - } - - nbackp = netobuf; - nfrontp = good; /* next byte to be sent */ - neturg = 0; -} /* end of netclear */ - -/* - * netflush - * Send as much data as possible to the network, - * handling requests for urgent data. - */ - void -netflush() -{ - int n; - extern int not42; - - if ((n = nfrontp - nbackp) > 0) { - DIAG(TD_REPORT, - { sprintf(nfrontp, "td: netflush %d chars\r\n", n); - n += strlen(nfrontp); /* get count first */ - nfrontp += strlen(nfrontp); /* then move pointer */ - }); -#ifdef ENCRYPTION - if (encrypt_output) { - char *s = nclearto ? nclearto : nbackp; - if (nfrontp - s > 0) { - (*encrypt_output)((unsigned char *)s, nfrontp-s); - nclearto = nfrontp; - } - } -#endif /* ENCRYPTION */ - /* - * if no urgent data, or if the other side appears to be an - * old 4.2 client (and thus unable to survive TCP urgent data), - * write the entire buffer in non-OOB mode. - */ - if ((neturg == 0) || (not42 == 0)) { - n = write(net, nbackp, n); /* normal write */ - } else { - n = neturg - nbackp; - /* - * In 4.2 (and 4.3) systems, there is some question about - * what byte in a sendOOB operation is the "OOB" data. - * To make ourselves compatible, we only send ONE byte - * out of band, the one WE THINK should be OOB (though - * we really have more the TCP philosophy of urgent data - * rather than the Unix philosophy of OOB data). - */ - if (n > 1) { - n = send(net, nbackp, n-1, 0); /* send URGENT all by itself */ - } else { - n = send(net, nbackp, n, MSG_OOB); /* URGENT data */ - } - } - } - if (n < 0) { - if (errno == EWOULDBLOCK || errno == EINTR) - return; - cleanup(0); - } - nbackp += n; -#ifdef ENCRYPTION - if (nbackp > nclearto) - nclearto = 0; -#endif /* ENCRYPTION */ - if (nbackp >= neturg) { - neturg = 0; - } - if (nbackp == nfrontp) { - nbackp = nfrontp = netobuf; -#ifdef ENCRYPTION - nclearto = 0; -#endif /* ENCRYPTION */ - } - return; -} /* end of netflush */ - - -/* - * writenet - * - * Just a handy little function to write a bit of raw data to the net. - * It will force a transmit of the buffer if necessary - * - * arguments - * ptr - A pointer to a character string to write - * len - How many bytes to write - */ - void -writenet(ptr, len) - register unsigned char *ptr; - register int len; -{ - /* flush buffer if no room for new data) */ - if ((&netobuf[BUFSIZ] - nfrontp) < len) { - /* if this fails, don't worry, buffer is a little big */ - netflush(); - } - - memmove(nfrontp, ptr, len); - nfrontp += len; - -} /* end of writenet */ - - -/* - * miscellaneous functions doing a variety of little jobs follow ... - */ - - - void -fatal(f, msg) - int f; - char *msg; -{ - char buf[BUFSIZ]; - - (void) sprintf(buf, "telnetd: %s.\r\n", msg); -#ifdef ENCRYPTION - if (encrypt_output) { - /* - * Better turn off encryption first.... - * Hope it flushes... - */ - encrypt_send_end(); - netflush(); - } -#endif /* ENCRYPTION */ - (void) write(f, buf, (int)strlen(buf)); - sleep(1); /*XXX*/ - exit(1); -} - - void -fatalperror(f, msg) - int f; - char *msg; -{ - char buf[BUFSIZ], *strerror(); - - (void) sprintf(buf, "%s: %s", msg, strerror(errno)); - fatal(f, buf); -} - -char editedhost[32]; - - void -edithost(pat, host) - register char *pat; - register char *host; -{ - register char *res = editedhost; - char *strncpy(); - - if (!pat) - pat = ""; - while (*pat) { - switch (*pat) { - - case '#': - if (*host) - host++; - break; - - case '@': - if (*host) - *res++ = *host++; - break; - - default: - *res++ = *pat; - break; - } - if (res == &editedhost[sizeof editedhost - 1]) { - *res = '\0'; - return; - } - pat++; - } - if (*host) - (void) strncpy(res, host, - sizeof editedhost - (res - editedhost) -1); - else - *res = '\0'; - editedhost[sizeof editedhost - 1] = '\0'; -} - -static char *putlocation; - - void -putstr(s) - register char *s; -{ - - while (*s) - putchr(*s++); -} - - void -putchr(cc) - int cc; -{ - *putlocation++ = cc; -} - -#ifdef __FreeBSD__ -static char fmtstr[] = { "%+" }; -#else -/* - * This is split on two lines so that SCCS will not see the M - * between two % signs and expand it... - */ -static char fmtstr[] = { "%l:%M\ -%P on %A, %d %B %Y" }; -#endif - - void -putf(cp, where) - register char *cp; - char *where; -{ - char *slash; - time_t t; - char db[100]; -#ifdef STREAMSPTY - extern char *strchr(); -#else - extern char *strrchr(); -#endif - - putlocation = where; - - while (*cp) { - if (*cp != '%') { - putchr(*cp++); - continue; - } - switch (*++cp) { - - case 't': -#ifdef STREAMSPTY - /* names are like /dev/pts/2 -- we want pts/2 */ - slash = strchr(line+1, '/'); -#else - slash = strrchr(line, '/'); -#endif - if (slash == (char *) 0) - putstr(line); - else - putstr(&slash[1]); - break; - - case 'h': - putstr(editedhost); - break; - - case 'd': -#ifdef __FreeBSD__ - setlocale(LC_TIME, ""); -#endif - (void)time(&t); - (void)strftime(db, sizeof(db), fmtstr, localtime(&t)); - putstr(db); - break; - - case '%': - putchr('%'); - break; - } - cp++; - } -} - -#ifdef DIAGNOSTICS -/* - * Print telnet options and commands in plain text, if possible. - */ - void -printoption(fmt, option) - register char *fmt; - register int option; -{ - if (TELOPT_OK(option)) - sprintf(nfrontp, "%s %s\r\n", fmt, TELOPT(option)); - else if (TELCMD_OK(option)) - sprintf(nfrontp, "%s %s\r\n", fmt, TELCMD(option)); - else - sprintf(nfrontp, "%s %d\r\n", fmt, option); - nfrontp += strlen(nfrontp); - return; -} - - void -printsub(direction, pointer, length) - char direction; /* '<' or '>' */ - unsigned char *pointer; /* where suboption data sits */ - int length; /* length of suboption data */ -{ - register int i; - char buf[512]; - - if (!(diagnostic & TD_OPTIONS)) - return; - - if (direction) { - sprintf(nfrontp, "td: %s suboption ", - direction == '<' ? "recv" : "send"); - nfrontp += strlen(nfrontp); - if (length >= 3) { - register int j; - - i = pointer[length-2]; - j = pointer[length-1]; - - if (i != IAC || j != SE) { - sprintf(nfrontp, "(terminated by "); - nfrontp += strlen(nfrontp); - if (TELOPT_OK(i)) - sprintf(nfrontp, "%s ", TELOPT(i)); - else if (TELCMD_OK(i)) - sprintf(nfrontp, "%s ", TELCMD(i)); - else - sprintf(nfrontp, "%d ", i); - nfrontp += strlen(nfrontp); - if (TELOPT_OK(j)) - sprintf(nfrontp, "%s", TELOPT(j)); - else if (TELCMD_OK(j)) - sprintf(nfrontp, "%s", TELCMD(j)); - else - sprintf(nfrontp, "%d", j); - nfrontp += strlen(nfrontp); - sprintf(nfrontp, ", not IAC SE!) "); - nfrontp += strlen(nfrontp); - } - } - length -= 2; - } - if (length < 1) { - sprintf(nfrontp, "(Empty suboption??\?)"); - nfrontp += strlen(nfrontp); - return; - } - switch (pointer[0]) { - case TELOPT_TTYPE: - sprintf(nfrontp, "TERMINAL-TYPE "); - nfrontp += strlen(nfrontp); - switch (pointer[1]) { - case TELQUAL_IS: - sprintf(nfrontp, "IS \"%.*s\"", length-2, (char *)pointer+2); - break; - case TELQUAL_SEND: - sprintf(nfrontp, "SEND"); - break; - default: - sprintf(nfrontp, - "- unknown qualifier %d (0x%x).", - pointer[1], pointer[1]); - } - nfrontp += strlen(nfrontp); - break; - case TELOPT_TSPEED: - sprintf(nfrontp, "TERMINAL-SPEED"); - nfrontp += strlen(nfrontp); - if (length < 2) { - sprintf(nfrontp, " (empty suboption??\?)"); - nfrontp += strlen(nfrontp); - break; - } - switch (pointer[1]) { - case TELQUAL_IS: - sprintf(nfrontp, " IS %.*s", length-2, (char *)pointer+2); - nfrontp += strlen(nfrontp); - break; - default: - if (pointer[1] == 1) - sprintf(nfrontp, " SEND"); - else - sprintf(nfrontp, " %d (unknown)", pointer[1]); - nfrontp += strlen(nfrontp); - for (i = 2; i < length; i++) { - sprintf(nfrontp, " ?%d?", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - } - break; - - case TELOPT_LFLOW: - sprintf(nfrontp, "TOGGLE-FLOW-CONTROL"); - nfrontp += strlen(nfrontp); - if (length < 2) { - sprintf(nfrontp, " (empty suboption??\?)"); - nfrontp += strlen(nfrontp); - break; - } - switch (pointer[1]) { - case LFLOW_OFF: - sprintf(nfrontp, " OFF"); break; - case LFLOW_ON: - sprintf(nfrontp, " ON"); break; - case LFLOW_RESTART_ANY: - sprintf(nfrontp, " RESTART-ANY"); break; - case LFLOW_RESTART_XON: - sprintf(nfrontp, " RESTART-XON"); break; - default: - sprintf(nfrontp, " %d (unknown)", pointer[1]); - } - nfrontp += strlen(nfrontp); - for (i = 2; i < length; i++) { - sprintf(nfrontp, " ?%d?", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - - case TELOPT_NAWS: - sprintf(nfrontp, "NAWS"); - nfrontp += strlen(nfrontp); - if (length < 2) { - sprintf(nfrontp, " (empty suboption??\?)"); - nfrontp += strlen(nfrontp); - break; - } - if (length == 2) { - sprintf(nfrontp, " ?%d?", pointer[1]); - nfrontp += strlen(nfrontp); - break; - } - sprintf(nfrontp, " %d %d (%d)", - pointer[1], pointer[2], - (int)((((unsigned int)pointer[1])<<8)|((unsigned int)pointer[2]))); - nfrontp += strlen(nfrontp); - if (length == 4) { - sprintf(nfrontp, " ?%d?", pointer[3]); - nfrontp += strlen(nfrontp); - break; - } - sprintf(nfrontp, " %d %d (%d)", - pointer[3], pointer[4], - (int)((((unsigned int)pointer[3])<<8)|((unsigned int)pointer[4]))); - nfrontp += strlen(nfrontp); - for (i = 5; i < length; i++) { - sprintf(nfrontp, " ?%d?", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - - case TELOPT_LINEMODE: - sprintf(nfrontp, "LINEMODE "); - nfrontp += strlen(nfrontp); - if (length < 2) { - sprintf(nfrontp, " (empty suboption??\?)"); - nfrontp += strlen(nfrontp); - break; - } - switch (pointer[1]) { - case WILL: - sprintf(nfrontp, "WILL "); - goto common; - case WONT: - sprintf(nfrontp, "WONT "); - goto common; - case DO: - sprintf(nfrontp, "DO "); - goto common; - case DONT: - sprintf(nfrontp, "DONT "); - common: - nfrontp += strlen(nfrontp); - if (length < 3) { - sprintf(nfrontp, "(no option??\?)"); - nfrontp += strlen(nfrontp); - break; - } - switch (pointer[2]) { - case LM_FORWARDMASK: - sprintf(nfrontp, "Forward Mask"); - nfrontp += strlen(nfrontp); - for (i = 3; i < length; i++) { - sprintf(nfrontp, " %x", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - default: - sprintf(nfrontp, "%d (unknown)", pointer[2]); - nfrontp += strlen(nfrontp); - for (i = 3; i < length; i++) { - sprintf(nfrontp, " %d", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - } - break; - - case LM_SLC: - sprintf(nfrontp, "SLC"); - nfrontp += strlen(nfrontp); - for (i = 2; i < length - 2; i += 3) { - if (SLC_NAME_OK(pointer[i+SLC_FUNC])) - sprintf(nfrontp, " %s", SLC_NAME(pointer[i+SLC_FUNC])); - else - sprintf(nfrontp, " %d", pointer[i+SLC_FUNC]); - nfrontp += strlen(nfrontp); - switch (pointer[i+SLC_FLAGS]&SLC_LEVELBITS) { - case SLC_NOSUPPORT: - sprintf(nfrontp, " NOSUPPORT"); break; - case SLC_CANTCHANGE: - sprintf(nfrontp, " CANTCHANGE"); break; - case SLC_VARIABLE: - sprintf(nfrontp, " VARIABLE"); break; - case SLC_DEFAULT: - sprintf(nfrontp, " DEFAULT"); break; - } - nfrontp += strlen(nfrontp); - sprintf(nfrontp, "%s%s%s", - pointer[i+SLC_FLAGS]&SLC_ACK ? "|ACK" : "", - pointer[i+SLC_FLAGS]&SLC_FLUSHIN ? "|FLUSHIN" : "", - pointer[i+SLC_FLAGS]&SLC_FLUSHOUT ? "|FLUSHOUT" : ""); - nfrontp += strlen(nfrontp); - if (pointer[i+SLC_FLAGS]& ~(SLC_ACK|SLC_FLUSHIN| - SLC_FLUSHOUT| SLC_LEVELBITS)) { - sprintf(nfrontp, "(0x%x)", pointer[i+SLC_FLAGS]); - nfrontp += strlen(nfrontp); - } - sprintf(nfrontp, " %d;", pointer[i+SLC_VALUE]); - nfrontp += strlen(nfrontp); - if ((pointer[i+SLC_VALUE] == IAC) && - (pointer[i+SLC_VALUE+1] == IAC)) - i++; - } - for (; i < length; i++) { - sprintf(nfrontp, " ?%d?", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - - case LM_MODE: - sprintf(nfrontp, "MODE "); - nfrontp += strlen(nfrontp); - if (length < 3) { - sprintf(nfrontp, "(no mode??\?)"); - nfrontp += strlen(nfrontp); - break; - } - { - char tbuf[32]; - sprintf(tbuf, "%s%s%s%s%s", - pointer[2]&MODE_EDIT ? "|EDIT" : "", - pointer[2]&MODE_TRAPSIG ? "|TRAPSIG" : "", - pointer[2]&MODE_SOFT_TAB ? "|SOFT_TAB" : "", - pointer[2]&MODE_LIT_ECHO ? "|LIT_ECHO" : "", - pointer[2]&MODE_ACK ? "|ACK" : ""); - sprintf(nfrontp, "%s", tbuf[1] ? &tbuf[1] : "0"); - nfrontp += strlen(nfrontp); - } - if (pointer[2]&~(MODE_EDIT|MODE_TRAPSIG|MODE_ACK)) { - sprintf(nfrontp, " (0x%x)", pointer[2]); - nfrontp += strlen(nfrontp); - } - for (i = 3; i < length; i++) { - sprintf(nfrontp, " ?0x%x?", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - default: - sprintf(nfrontp, "%d (unknown)", pointer[1]); - nfrontp += strlen(nfrontp); - for (i = 2; i < length; i++) { - sprintf(nfrontp, " %d", pointer[i]); - nfrontp += strlen(nfrontp); - } - } - break; - - case TELOPT_STATUS: { - register char *cp; - register int j, k; - - sprintf(nfrontp, "STATUS"); - nfrontp += strlen(nfrontp); - - switch (pointer[1]) { - default: - if (pointer[1] == TELQUAL_SEND) - sprintf(nfrontp, " SEND"); - else - sprintf(nfrontp, " %d (unknown)", pointer[1]); - nfrontp += strlen(nfrontp); - for (i = 2; i < length; i++) { - sprintf(nfrontp, " ?%d?", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - case TELQUAL_IS: - sprintf(nfrontp, " IS\r\n"); - nfrontp += strlen(nfrontp); - - for (i = 2; i < length; i++) { - switch(pointer[i]) { - case DO: cp = "DO"; goto common2; - case DONT: cp = "DONT"; goto common2; - case WILL: cp = "WILL"; goto common2; - case WONT: cp = "WONT"; goto common2; - common2: - i++; - if (TELOPT_OK(pointer[i])) - sprintf(nfrontp, " %s %s", cp, TELOPT(pointer[i])); - else - sprintf(nfrontp, " %s %d", cp, pointer[i]); - nfrontp += strlen(nfrontp); - - sprintf(nfrontp, "\r\n"); - nfrontp += strlen(nfrontp); - break; - - case SB: - sprintf(nfrontp, " SB "); - nfrontp += strlen(nfrontp); - i++; - j = k = i; - while (j < length) { - if (pointer[j] == SE) { - if (j+1 == length) - break; - if (pointer[j+1] == SE) - j++; - else - break; - } - pointer[k++] = pointer[j++]; - } - printsub(0, &pointer[i], k - i); - if (i < length) { - sprintf(nfrontp, " SE"); - nfrontp += strlen(nfrontp); - i = j; - } else - i = j - 1; - - sprintf(nfrontp, "\r\n"); - nfrontp += strlen(nfrontp); - - break; - - default: - sprintf(nfrontp, " %d", pointer[i]); - nfrontp += strlen(nfrontp); - break; - } - } - break; - } - break; - } - - case TELOPT_XDISPLOC: - sprintf(nfrontp, "X-DISPLAY-LOCATION "); - nfrontp += strlen(nfrontp); - switch (pointer[1]) { - case TELQUAL_IS: - sprintf(nfrontp, "IS \"%.*s\"", length-2, (char *)pointer+2); - break; - case TELQUAL_SEND: - sprintf(nfrontp, "SEND"); - break; - default: - sprintf(nfrontp, "- unknown qualifier %d (0x%x).", - pointer[1], pointer[1]); - } - nfrontp += strlen(nfrontp); - break; - - case TELOPT_NEW_ENVIRON: - sprintf(nfrontp, "NEW-ENVIRON "); - goto env_common1; - case TELOPT_OLD_ENVIRON: - sprintf(nfrontp, "OLD-ENVIRON"); - env_common1: - nfrontp += strlen(nfrontp); - switch (pointer[1]) { - case TELQUAL_IS: - sprintf(nfrontp, "IS "); - goto env_common; - case TELQUAL_SEND: - sprintf(nfrontp, "SEND "); - goto env_common; - case TELQUAL_INFO: - sprintf(nfrontp, "INFO "); - env_common: - nfrontp += strlen(nfrontp); - { - register int noquote = 2; - for (i = 2; i < length; i++ ) { - switch (pointer[i]) { - case NEW_ENV_VAR: - sprintf(nfrontp, "\" VAR " + noquote); - nfrontp += strlen(nfrontp); - noquote = 2; - break; - - case NEW_ENV_VALUE: - sprintf(nfrontp, "\" VALUE " + noquote); - nfrontp += strlen(nfrontp); - noquote = 2; - break; - - case ENV_ESC: - sprintf(nfrontp, "\" ESC " + noquote); - nfrontp += strlen(nfrontp); - noquote = 2; - break; - - case ENV_USERVAR: - sprintf(nfrontp, "\" USERVAR " + noquote); - nfrontp += strlen(nfrontp); - noquote = 2; - break; - - default: - if (isprint(pointer[i]) && pointer[i] != '"') { - if (noquote) { - *nfrontp++ = '"'; - noquote = 0; - } - *nfrontp++ = pointer[i]; - } else { - sprintf(nfrontp, "\" %03o " + noquote, - pointer[i]); - nfrontp += strlen(nfrontp); - noquote = 2; - } - break; - } - } - if (!noquote) - *nfrontp++ = '"'; - break; - } - } - break; - -#if defined(AUTHENTICATION) - case TELOPT_AUTHENTICATION: - sprintf(nfrontp, "AUTHENTICATION"); - nfrontp += strlen(nfrontp); - - if (length < 2) { - sprintf(nfrontp, " (empty suboption??\?)"); - nfrontp += strlen(nfrontp); - break; - } - switch (pointer[1]) { - case TELQUAL_REPLY: - case TELQUAL_IS: - sprintf(nfrontp, " %s ", (pointer[1] == TELQUAL_IS) ? - "IS" : "REPLY"); - nfrontp += strlen(nfrontp); - if (AUTHTYPE_NAME_OK(pointer[2])) - sprintf(nfrontp, "%s ", AUTHTYPE_NAME(pointer[2])); - else - sprintf(nfrontp, "%d ", pointer[2]); - nfrontp += strlen(nfrontp); - if (length < 3) { - sprintf(nfrontp, "(partial suboption??\?)"); - nfrontp += strlen(nfrontp); - break; - } - sprintf(nfrontp, "%s|%s", - ((pointer[3] & AUTH_WHO_MASK) == AUTH_WHO_CLIENT) ? - "CLIENT" : "SERVER", - ((pointer[3] & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) ? - "MUTUAL" : "ONE-WAY"); - nfrontp += strlen(nfrontp); - - auth_printsub(&pointer[1], length - 1, buf, sizeof(buf)); - sprintf(nfrontp, "%s", buf); - nfrontp += strlen(nfrontp); - break; - - case TELQUAL_SEND: - i = 2; - sprintf(nfrontp, " SEND "); - nfrontp += strlen(nfrontp); - while (i < length) { - if (AUTHTYPE_NAME_OK(pointer[i])) - sprintf(nfrontp, "%s ", AUTHTYPE_NAME(pointer[i])); - else - sprintf(nfrontp, "%d ", pointer[i]); - nfrontp += strlen(nfrontp); - if (++i >= length) { - sprintf(nfrontp, "(partial suboption??\?)"); - nfrontp += strlen(nfrontp); - break; - } - sprintf(nfrontp, "%s|%s ", - ((pointer[i] & AUTH_WHO_MASK) == AUTH_WHO_CLIENT) ? - "CLIENT" : "SERVER", - ((pointer[i] & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) ? - "MUTUAL" : "ONE-WAY"); - nfrontp += strlen(nfrontp); - ++i; - } - break; - - case TELQUAL_NAME: - i = 2; - sprintf(nfrontp, " NAME \""); - nfrontp += strlen(nfrontp); - while (i < length) - *nfrontp += pointer[i++]; - *nfrontp += '"'; - break; - - default: - for (i = 2; i < length; i++) { - sprintf(nfrontp, " ?%d?", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - } - break; -#endif - -#ifdef ENCRYPTION - case TELOPT_ENCRYPT: - sprintf(nfrontp, "ENCRYPT"); - nfrontp += strlen(nfrontp); - if (length < 2) { - sprintf(nfrontp, " (empty suboption??\?)"); - nfrontp += strlen(nfrontp); - break; - } - switch (pointer[1]) { - case ENCRYPT_START: - sprintf(nfrontp, " START"); - nfrontp += strlen(nfrontp); - break; - - case ENCRYPT_END: - sprintf(nfrontp, " END"); - nfrontp += strlen(nfrontp); - break; - - case ENCRYPT_REQSTART: - sprintf(nfrontp, " REQUEST-START"); - nfrontp += strlen(nfrontp); - break; - - case ENCRYPT_REQEND: - sprintf(nfrontp, " REQUEST-END"); - nfrontp += strlen(nfrontp); - break; - - case ENCRYPT_IS: - case ENCRYPT_REPLY: - sprintf(nfrontp, " %s ", (pointer[1] == ENCRYPT_IS) ? - "IS" : "REPLY"); - nfrontp += strlen(nfrontp); - if (length < 3) { - sprintf(nfrontp, " (partial suboption??\?)"); - nfrontp += strlen(nfrontp); - break; - } - if (ENCTYPE_NAME_OK(pointer[2])) - sprintf(nfrontp, "%s ", ENCTYPE_NAME(pointer[2])); - else - sprintf(nfrontp, " %d (unknown)", pointer[2]); - nfrontp += strlen(nfrontp); - - encrypt_printsub(&pointer[1], length - 1, buf, sizeof(buf)); - sprintf(nfrontp, "%s", buf); - nfrontp += strlen(nfrontp); - break; - - case ENCRYPT_SUPPORT: - i = 2; - sprintf(nfrontp, " SUPPORT "); - nfrontp += strlen(nfrontp); - while (i < length) { - if (ENCTYPE_NAME_OK(pointer[i])) - sprintf(nfrontp, "%s ", ENCTYPE_NAME(pointer[i])); - else - sprintf(nfrontp, "%d ", pointer[i]); - nfrontp += strlen(nfrontp); - i++; - } - break; - - case ENCRYPT_ENC_KEYID: - sprintf(nfrontp, " ENC_KEYID"); - nfrontp += strlen(nfrontp); - goto encommon; - - case ENCRYPT_DEC_KEYID: - sprintf(nfrontp, " DEC_KEYID"); - nfrontp += strlen(nfrontp); - goto encommon; - - default: - sprintf(nfrontp, " %d (unknown)", pointer[1]); - nfrontp += strlen(nfrontp); - encommon: - for (i = 2; i < length; i++) { - sprintf(nfrontp, " %d", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - } - break; -#endif /* ENCRYPTION */ - - default: - if (TELOPT_OK(pointer[0])) - sprintf(nfrontp, "%s (unknown)", TELOPT(pointer[0])); - else - sprintf(nfrontp, "%d (unknown)", pointer[i]); - nfrontp += strlen(nfrontp); - for (i = 1; i < length; i++) { - sprintf(nfrontp, " %d", pointer[i]); - nfrontp += strlen(nfrontp); - } - break; - } - sprintf(nfrontp, "\r\n"); - nfrontp += strlen(nfrontp); -} - -/* - * Dump a data buffer in hex and ascii to the output data stream. - */ - void -printdata(tag, ptr, cnt) - register char *tag; - register char *ptr; - register int cnt; -{ - register int i; - char xbuf[30]; - - while (cnt) { - /* flush net output buffer if no room for new data) */ - if ((&netobuf[BUFSIZ] - nfrontp) < 80) { - netflush(); - } - - /* add a line of output */ - sprintf(nfrontp, "%s: ", tag); - nfrontp += strlen(nfrontp); - for (i = 0; i < 20 && cnt; i++) { - sprintf(nfrontp, "%02x", *ptr); - nfrontp += strlen(nfrontp); - if (isprint(*ptr)) { - xbuf[i] = *ptr; - } else { - xbuf[i] = '.'; - } - if (i % 2) { - *nfrontp = ' '; - nfrontp++; - } - cnt--; - ptr++; - } - xbuf[i] = '\0'; - sprintf(nfrontp, " %s\r\n", xbuf ); - nfrontp += strlen(nfrontp); - } -} -#endif /* DIAGNOSTICS */ diff --git a/eBones/man/Makefile b/eBones/man/Makefile deleted file mode 100644 index 6c74d1cb3d73a..0000000000000 --- a/eBones/man/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# from: @(#)Makefile 5.4 (Berkeley) 7/25/90 -# $Id$ - -MAN1= kerberos.1 -MAN5= krb.conf.5 krb.realms.5 - -.include <bsd.prog.mk> diff --git a/eBones/man/kerberos.1 b/eBones/man/kerberos.1 deleted file mode 100644 index c489b880c23c8..0000000000000 --- a/eBones/man/kerberos.1 +++ /dev/null @@ -1,259 +0,0 @@ -.\" from: kerberos.1,v 4.7 89/01/23 11:39:33 jtkohl Exp $ -.\" $Id: kerberos.1,v 1.2 1994/07/19 19:27:33 g89r4222 Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KERBEROS 1 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kerberos \- introduction to the Kerberos system - -.SH DESCRIPTION -The -Kerberos -system authenticates -individual users in a network environment. -After authenticating yourself to -Kerberos, -you can use network utilities such as -.IR rlogin , -.IR rcp , -and -.IR rsh -without -having to present passwords to remote hosts and without having to bother -with -.I \.rhosts -files. -Note that these utilities will work without passwords only if -the remote machines you deal with -support the -Kerberos -system. -All Athena timesharing machines and public workstations support -Kerberos. -.PP -Before you can use -Kerberos, -you must register as an Athena user, -and you must make sure you have been added to -the -Kerberos -database. -You can use the -.I kinit -command to find out. -This command -tries to log you into the -Kerberos -system. -.I kinit -will prompt you for a username and password. -Enter your username and password. -If the utility lets you login without giving you a message, -you have already been registered. -.PP -If you enter your username and -.I kinit -responds with this message: -.nf - -Principal unknown (kerberos) - -.fi -you haven't been registered as a -Kerberos -user. -See your system administrator. -.PP -A Kerberos name contains three parts. -The first is the -.I principal name, -which is usually a user's or service's name. -The second is the -.I instance, -which in the case of a user is usually null. -Some users may have privileged instances, however, -such as ``root'' or ``admin''. -In the case of a service, the instance is the -name of the machine on which it runs; i.e. there -can be an -.I rlogin -service running on the machine ABC, which -is different from the rlogin service running on -the machine XYZ. -The third part of a Kerberos name -is the -.I realm. -The realm corresponds to the Kerberos service providing -authentication for the principal. -For example, at MIT there is a Kerberos running at the -Laboratory for Computer Science and one running at -Project Athena. -.PP -When writing a Kerberos name, the principal name is -separated from the instance (if not null) by a period, -and the realm (if not the local realm) follows, preceded by -an ``@'' sign. -The following are examples of valid Kerberos names: -.sp -.nf -.in +8 -billb -jis.admin -srz@lcs.mit.edu -treese.root@athena.mit.edu -.in -8 -.fi -.PP -When you authenticate yourself with -Kerberos, -through either the workstation -.I toehold -system or the -.I kinit -command, -Kerberos -gives you an initial -Kerberos -.IR ticket . -(A -Kerberos -ticket -is an encrypted protocol message that provides authentication.) -Kerberos -uses this ticket for network utilities -such as -.I rlogin -and -.IR rcp . -The ticket transactions are done transparently, -so you don't have to worry about their management. -.PP -Note, however, that tickets expire. -Privileged tickets, such as root instance tickets, -expire in a few minutes, while tickets that carry more ordinary -privileges may be good for several hours or a day, depending on the -installation's policy. -If your login session extends beyond the time limit, -you will have to re-authenticate yourself to -Kerberos -to get new tickets. -Use the -.IR kinit -command to re-authenticate yourself. -.PP -If you use the -.I kinit -command to get your tickets, -make sure you use the -.I kdestroy -command -to destroy your tickets before you end your login session. -You should probably put the -.I kdestroy -command in your -.I \.logout -file so that your tickets will be destroyed automatically when you logout. -For more information about the -.I kinit -and -.I kdestroy -commands, -see the -.I kinit(1) -and -.I kdestroy(1) -manual pages. -.PP -Currently, -Kerberos -supports the following network services: -.IR rlogin , -.IR rsh , -and -.IR rcp . -Other services are being worked on, -such as the -.IR pop -mail system and NFS (network file system), -but are not yet available. - -.SH "SEE ALSO" -kdestroy(1), kinit(1), klist(1), kpasswd(1), des_crypt(3), kerberos(3), -kadmin(8) -.SH BUGS -Kerberos -will not do authentication forwarding. -In other words, -if you use -.I rlogin -to login to a remote host, -you cannot use -Kerberos -services from that host -until you authenticate yourself explicitly on that host. -Although you may need to authenticate yourself on the remote -host, -be aware that when you do so, -.I rlogin -sends your password across the network in clear text. - -.SH AUTHORS -Steve Miller, MIT Project Athena/Digital Equipment Corporation -.br -Clifford Neuman, MIT Project Athena - -The following people helped out on various aspects of the system: - -Jeff Schiller designed and wrote the administration server and its -user interface, kadmin. -He also wrote the dbm version of the database management system. - -Mark Colan developed the -Kerberos -versions of -.IR rlogin , -.IR rsh , -and -.IR rcp , -as well as contributing work on the servers. - -John Ostlund developed the -Kerberos -versions of -.I passwd -and -.IR userreg . - -Stan Zanarotti pioneered Kerberos in a foreign realm (LCS), -and made many contributions based on that experience. - -Many people contributed code and/or useful ideas, including -Jim Aspnes, -Bob Baldwin, -John Barba, -Richard Basch, -Jim Bloom, -Bill Bryant, -Rob French, -Dan Geer, -David Jedlinsky, -John Kohl, -John Kubiatowicz, -Bob McKie, -Brian Murphy, -Ken Raeburn, -Chris Reed, -Jon Rochlis, -Mike Shanzer, -Bill Sommerfeld, -Jennifer Steiner, -Ted Ts'o, -and -Win Treese. - -.SH RESTRICTIONS - -COPYRIGHT 1985,1986 Massachusetts Institute of Technology diff --git a/eBones/man/krb.conf.5 b/eBones/man/krb.conf.5 deleted file mode 100644 index 4a87007f8da32..0000000000000 --- a/eBones/man/krb.conf.5 +++ /dev/null @@ -1,32 +0,0 @@ -.\" from: krb.conf.5,v 4.1 89/01/23 11:10:34 jtkohl Exp $ -.\" $Id: krb.conf.5,v 1.1.1.1 1994/09/30 14:50:07 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KRB.CONF 5 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -/etc/kerberosIV/krb.conf \- Kerberos configuration file -.SH DESCRIPTION -.I krb.conf -contains configuration information describing the Kerberos realm and the -Kerberos key distribution center (KDC) servers for known realms. -.PP -.I krb.conf -contains the name of the local realm in the first -line, followed by lines indicating realm/host -entries. The first token is a realm name, and the second is the hostname -of a host running a KDC for that realm. -The words "admin server" following the hostname indicate that -the host also provides an administrative database server. -For example: -.nf -.in +1i -ATHENA.MIT.EDU -ATHENA.MIT.EDU kerberos-1.mit.edu admin server -ATHENA.MIT.EDU kerberos-2.mit.edu -LCS.MIT.EDU kerberos.lcs.mit.edu admin server -.in -1i -.SH SEE ALSO -krb.realms(5), krb_get_krbhst(3), krb_get_lrealm(3) diff --git a/eBones/man/krb.realms.5 b/eBones/man/krb.realms.5 deleted file mode 100644 index 877477f1c6aea..0000000000000 --- a/eBones/man/krb.realms.5 +++ /dev/null @@ -1,39 +0,0 @@ -.\" from: krb.realms.5,v 4.1 89/01/23 11:10:41 jtkohl Exp $ -.\" $Id: krb.realms.5,v 1.1.1.1 1994/09/30 14:50:07 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KRB.REALMS 5 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -/etc/kerberosIV/krb.realms \- host to Kerberos realm translation file -.SH DESCRIPTION -.I krb.realms -provides a translation from a hostname to the Kerberos realm name for -the services provided by that host. -.PP -Each line of the translation file is in one of the following forms -(domain_name should be of the form .XXX.YYY, e.g. .LCS.MIT.EDU): -.nf -.in +5n -host_name kerberos_realm -domain_name kerberos_realm -.in -5n -.fi -If a hostname exactly matches the -.I host_name -field in a line of the first -form, the corresponding realm is the realm of the host. -If a hostname does not match any -.I host_name -in the file, but its -domain exactly matches the -.I domain_name -field in a line of the second -form, the corresponding realm is the realm of the host. -.PP -If no translation entry applies, the host's realm is considered to be -the hostname's domain portion converted to upper case. -.SH SEE ALSO -krb_realmofhost(3) diff --git a/eBones/patchlevel.h b/eBones/patchlevel.h deleted file mode 100644 index 87e5061c8a8bd..0000000000000 --- a/eBones/patchlevel.h +++ /dev/null @@ -1,6 +0,0 @@ -/*- - * $Id: patchlevel.h,v 1.3 1995/07/18 16:34:26 mark Exp $ - */ - -#define PATCHLEVEL 9 -#define FreeBSD_PL 0.1 diff --git a/eBones/usr.bin/Makefile b/eBones/usr.bin/Makefile deleted file mode 100644 index fa796caeb8f59..0000000000000 --- a/eBones/usr.bin/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.1 1995/09/13 17:24:05 markm Exp $ - -SUBDIR= kadmin kdestroy kinit klist ksrvtgt register rkinit - -.include <bsd.subdir.mk> diff --git a/eBones/usr.bin/Makefile.inc b/eBones/usr.bin/Makefile.inc deleted file mode 100644 index 5506596ac57e0..0000000000000 --- a/eBones/usr.bin/Makefile.inc +++ /dev/null @@ -1,5 +0,0 @@ -# @(#)Makefile.inc 8.1 (Berkeley) 6/6/93 - -BINDIR?= /usr/bin - -.include "../Makefile.inc" diff --git a/eBones/usr.bin/kadmin/Makefile b/eBones/usr.bin/kadmin/Makefile deleted file mode 100644 index 74457e0af5037..0000000000000 --- a/eBones/usr.bin/kadmin/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# $Id$ - -PROG= kadmin -SRCS= ${KRBOBJDIR}/krb_err.h kadmin.c kadmin_cmds.c -CLEANFILES+= kadmin_cmds.c krb_err.c -CFLAGS+= -DPOSIX -I${.CURDIR}/../../lib/libkadm -I${KRBOBJDIR} -DKERBEROS -DPADD= ${LIBKRB} ${LIBDES} -LDADD+= -L${KADMOBJDIR} -lkadm -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -LDADD+= -lss -lcom_err -MAN8= kadmin.8 - -kadmin_cmds.c: kadmin_cmds.ct - test -e kadmin_cmds.ct || ln -s ${.CURDIR}/kadmin_cmds.ct . - mk_cmds kadmin_cmds.ct - -.include <bsd.prog.mk> diff --git a/eBones/usr.bin/kadmin/kadmin.8 b/eBones/usr.bin/kadmin/kadmin.8 deleted file mode 100644 index 6e15015713260..0000000000000 --- a/eBones/usr.bin/kadmin/kadmin.8 +++ /dev/null @@ -1,158 +0,0 @@ -.\" from: kadmin.8,v 4.2 89/07/25 17:20:02 jtkohl Exp $ -.\" $Id: kadmin.8,v 1.2 1994/07/19 19:27:22 g89r4222 Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KADMIN 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kadmin \- network utility for Kerberos database administration -.SH SYNOPSIS -.B kadmin [-u user] [-r default_realm] [-m] -.SH DESCRIPTION -This utility provides a unified administration interface to -the -Kerberos -master database. -Kerberos -administrators -use -.I kadmin -to register new users and services to the master database, -and to change information about existing database entries. -For instance, an administrator can use -.I kadmin -to change a user's -Kerberos -password. -A Kerberos administrator is a user with an ``admin'' instance -whose name appears on one of the Kerberos administration access control -lists. If the \-u option is used, -.I user -will be used as the administrator instead of the local user. -If the \-r option is used, -.I default_realm -will be used as the default realm for transactions. Otherwise, -the local realm will be used by default. -If the \-m option is used, multiple requests will be permitted -on only one entry of the admin password. Some sites won't -support this option. - -The -.I kadmin -program communicates over the network with the -.I kadmind -program, which runs on the machine housing the Kerberos master -database. -The -.I kadmind -creates new entries and makes modifications to the database. - -When you enter the -.I kadmin -command, -the program displays a message that welcomes you and explains -how to ask for help. -Then -.I kadmin -waits for you to enter commands (which are described below). -It then asks you for your -.I admin -password before accessing the database. - -Use the -.I add_new_key -(or -.I ank -for short) -command to register a new principal -with the master database. -The command requires one argument, -the principal's name. The name -given can be fully qualified using -the standard -.I name.instance@realm -convention. -You are asked to enter your -.I admin -password, -then prompted twice to enter the principal's -new password. If no realm is specified, -the local realm is used unless another was -given on the commandline with the \-r flag. -If no instance is -specified, a null instance is used. If -a realm other than the default realm is specified, -you will need to supply your admin password for -the other realm. - -Use the -.I change_password (cpw) -to change a principal's -Kerberos -password. -The command requires one argument, -the principal's -name. -You are asked to enter your -.I admin -password, -then prompted twice to enter the principal's new password. -The name -given can be fully qualified using -the standard -.I name.instance@realm -convention. - -Use the -.I change_admin_password (cap) -to change your -.I admin -instance password. -This command requires no arguments. -It prompts you for your old -.I admin -password, then prompts you twice to enter the new -.I admin -password. If this is your first command, -the default realm is used. Otherwise, the realm -used in the last command is used. - -Use the -.I destroy_tickets (dest) -command to destroy your admin tickets explicitly. - -Use the -.I list_requests (lr) -command to get a list of possible commands. - -Use the -.I help -command to display -.IR kadmin's -various help messages. -If entered without an argument, -.I help -displays a general help message. -You can get detailed information on specific -.I kadmin -commands -by entering -.I help -.IR command_name . - -To quit the program, type -.IR quit . - -.SH BUGS -The user interface is primitive, and the command names could be better. - -.SH "SEE ALSO" -kerberos(1), kadmind(8), kpasswd(1), ksrvutil(8) -.br -``A Subsystem Utilities Package for UNIX'' by Ken Raeburn -.SH AUTHORS -Jeffrey I. Schiller, MIT Project Athena -.br -Emanuel Jay Berkenbilt, MIT Project Athena diff --git a/eBones/usr.bin/kadmin/kadmin.c b/eBones/usr.bin/kadmin/kadmin.c deleted file mode 100644 index 54ccedcfab7c2..0000000000000 --- a/eBones/usr.bin/kadmin/kadmin.c +++ /dev/null @@ -1,636 +0,0 @@ -/* - * $Source$ - * $Author$ - * - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * Kerberos database administrator's tool. - * - * The default behavior of kadmin is if the -m option is given - * on the commandline, multiple requests are allowed to be given - * with one entry of the admin password (until the tickets expire). - * If you do not want this to be an available option, compile with - * NO_MULTIPLE defined. - */ - -#if 0 -#ifndef lint -static char rcsid_kadmin_c[] = -"BonesHeader: /afs/athena.mit.edu/astaff/project/kerberos/src/kadmin/RCS/kadmin.c,v 4.5 89/09/26 14:17:54 qjb Exp "; -#endif lint -#endif - -#include <unistd.h> -#include <string.h> -#include <stdio.h> -#include <stdlib.h> -#include <time.h> -#include <sys/param.h> -#include <pwd.h> -#include <ss/ss.h> -#include <com_err.h> -#include <krb_err.h> -#include <kadm.h> - -#define BAD_PW 1 -#define GOOD_PW 0 -#define FUDGE_VALUE 15 /* for ticket expiration time */ -#define PE_NO 0 -#define PE_YES 1 -#define PE_UNSURE 2 - -/* for get_password, whether it should do the swapping...necessary for - using vals structure, unnecessary for change_pw requests */ -#define DONTSWAP 0 -#define SWAP 1 - -static void do_init(int argc, char *argv[]); -void clean_up(void); -int get_password(unsigned long *low, unsigned long *high, char *prompt, - int byteswap); -int get_admin_password(void); -int princ_exists(char *name, char *instance, char *realm); - -extern ss_request_table admin_cmds; - -static char myname[ANAME_SZ]; -static char default_realm[REALM_SZ]; /* default kerberos realm */ -static char krbrlm[REALM_SZ]; /* current realm being administered */ -#ifndef NO_MULTIPLE -static int multiple = 0; /* Allow multiple requests per ticket */ -#endif - -int -main(argc, argv) - int argc; - char *argv[]; -{ - int sci_idx; - int code; - char tktstring[MAXPATHLEN]; - - void quit(); - - sci_idx = ss_create_invocation("admin", "2.0", (char *) NULL, - &admin_cmds, &code); - if (code) { - ss_perror(sci_idx, code, "creating invocation"); - exit(1); - } - (void) sprintf(tktstring, "/tmp/tkt_adm_%d",getpid()); - krb_set_tkt_string(tktstring); - - do_init(argc, argv); - - printf("Welcome to the Kerberos Administration Program, version 2\n"); - printf("Type \"help\" if you need it.\n"); - ss_listen(sci_idx, &code); - printf("\n"); - quit(); - exit(0); -} - -int -setvals(vals, string) - Kadm_vals *vals; - char *string; -{ - char realm[REALM_SZ]; - int status = KADM_SUCCESS; - - bzero(vals, sizeof(*vals)); - bzero(realm, sizeof(realm)); - - SET_FIELD(KADM_NAME,vals->fields); - SET_FIELD(KADM_INST,vals->fields); - if ((status = kname_parse(vals->name, vals->instance, realm, string))) { - printf("kerberos error: %s\n", krb_err_txt[status]); - return status; - } - if (!realm[0]) - strcpy(realm, default_realm); - if (strcmp(realm, krbrlm)) { - strcpy(krbrlm, realm); - if ((status = kadm_init_link(PWSERV_NAME, KRB_MASTER, krbrlm)) - != KADM_SUCCESS) - printf("kadm error for realm %s: %s\n", - krbrlm, error_message(status)); - } - if (status) - return 1; - else - return KADM_SUCCESS; -} - -void -change_password(argc, argv) - int argc; - char *argv[]; -{ - Kadm_vals old, new; - int status; - char pw_prompt[BUFSIZ]; - - if (argc != 2) { - printf("Usage: change_password loginname\n"); - return; - } - - if (setvals(&old, argv[1]) != KADM_SUCCESS) - return; - - new = old; - - SET_FIELD(KADM_DESKEY,new.fields); - - if (princ_exists(old.name, old.instance, krbrlm) != PE_NO) { - /* get the admin's password */ - if (get_admin_password() != GOOD_PW) - return; - - /* get the new password */ - (void) sprintf(pw_prompt, "New password for %s:", argv[1]); - - if (get_password(&new.key_low, &new.key_high, - pw_prompt, SWAP) == GOOD_PW) { - status = kadm_mod(&old, &new); - if (status == KADM_SUCCESS) { - printf("Password changed for %s.\n", argv[1]); - } else { - printf("kadmin: %s\nwhile changing password for %s", - error_message(status), argv[1]); - } - } else - printf("Error reading password; password unchanged\n"); - bzero((char *)&new, sizeof(new)); -#ifndef NO_MULTIPLE - if (!multiple) - clean_up(); -#endif - } - else - printf("kadmin: Principal does not exist.\n"); - return; -} - -/*ARGSUSED*/ -void -change_admin_password(argc, argv) - int argc; - char *argv[]; -{ - des_cblock newkey; - unsigned long low, high; - int status; - char prompt_pw[BUFSIZ]; - - if (argc != 1) { - printf("Usage: change_admin_password\n"); - return; - } - /* get the admin's password */ - if (get_admin_password() != GOOD_PW) - return; - - (void) sprintf(prompt_pw, "New password for %s.admin:",myname); - if (get_password(&low, &high, prompt_pw, DONTSWAP) == GOOD_PW) { - bcopy((char *)&low,(char *) newkey,4); - bcopy((char *)&high, (char *)(((long *) newkey) + 1),4); - low = high = 0L; - if ((status = kadm_change_pw(newkey)) == KADM_SUCCESS) - printf("Admin password changed\n"); - else - printf("kadm error: %s\n",error_message(status)); - bzero((char *)newkey, sizeof(newkey)); - } else - printf("Error reading password; password unchanged\n"); -#ifndef NO_MULTIPLE - if (!multiple) - clean_up(); -#endif - return; -} - -void -add_new_key(argc, argv) - int argc; - char *argv[]; -{ - Kadm_vals new; - char pw_prompt[BUFSIZ]; - int status; - - if (argc != 2) { - printf("Usage: add_new_key user_name.\n"); - return; - } - if (setvals(&new, argv[1]) != KADM_SUCCESS) - return; - - SET_FIELD(KADM_DESKEY,new.fields); - - if (princ_exists(new.name, new.instance, krbrlm) != PE_YES) { - /* get the admin's password */ - if (get_admin_password() != GOOD_PW) - return; - - /* get the new password */ - (void) sprintf(pw_prompt, "Password for %s:", argv[1]); - - if (get_password(&new.key_low, &new.key_high, - pw_prompt, SWAP) == GOOD_PW) { - status = kadm_add(&new); - if (status == KADM_SUCCESS) { - printf("%s added to database.\n", argv[1]); - } else { - printf("kadm error: %s\n",error_message(status)); - } - } else - printf("Error reading password; %s not added\n",argv[1]); - bzero((char *)&new, sizeof(new)); -#ifndef NO_MULTIPLE - if (!multiple) - clean_up(); -#endif - } - else - printf("kadmin: Principal already exists.\n"); - return; -} - -void -get_entry(argc, argv) - int argc; - char *argv[]; -{ - int status; - u_char fields[4]; - Kadm_vals vals; - - if (argc != 2) { - printf("Usage: get_entry username\n"); - return; - } - - bzero(fields, sizeof(fields)); - - SET_FIELD(KADM_NAME,fields); - SET_FIELD(KADM_INST,fields); - SET_FIELD(KADM_EXPDATE,fields); - SET_FIELD(KADM_ATTR,fields); - SET_FIELD(KADM_MAXLIFE,fields); - - if (setvals(&vals, argv[1]) != KADM_SUCCESS) - return; - - - if (princ_exists(vals.name, vals.instance, krbrlm) != PE_NO) { - /* get the admin's password */ - if (get_admin_password() != GOOD_PW) - return; - - if ((status = kadm_get(&vals, fields)) == KADM_SUCCESS) - prin_vals(&vals); - else - printf("kadm error: %s\n",error_message(status)); - -#ifndef NO_MULTIPLE - if (!multiple) - clean_up(); -#endif - } - else - printf("kadmin: Principal does not exist.\n"); - return; -} - - -void -help(argc, argv) - int argc; - char *argv[]; -{ - if (argc == 1) { - printf("Welcome to the Kerberos administration program."); - printf("Type \"?\" to get\n"); - printf("a list of requests that are available. You can"); - printf(" get help on each of\n"); - printf("the commands by typing \"help command_name\"."); - printf(" Some functions of this\n"); - printf("program will require an \"admin\" password"); - printf(" from you. This is a password\n"); - printf("private to you, that is used to authenticate"); - printf(" requests from this\n"); - printf("program. You can change this password with"); - printf(" the \"change_admin_password\"\n"); - printf("(or short form \"cap\") command. Good Luck! \n"); - } else if (!strcmp(argv[1], "change_password") || - !strcmp(argv[1], "cpw")) { - printf("Usage: change_password user_name.\n"); - printf("\n"); - printf("user_name is the name of the user whose password"); - printf(" you wish to change. \n"); - printf("His/her password is changed in the kerberos database\n"); - printf("When this command is issued, first the \"Admin\""); - printf(" password will be prompted\n"); - printf("for and if correct the user's new password will"); - printf(" be prompted for (twice with\n"); - printf("appropriate comparison). Note: No minimum password"); - printf(" length restrictions apply, but\n"); - printf("longer passwords are more secure.\n"); - } else if (!strcmp(argv[1], "change_admin_password") || - !strcmp(argv[1], "cap")) { - printf("Usage: change_admin_password.\n"); - printf("\n"); - printf("This command takes no arguments and is used"); - printf(" to change your private\n"); - printf("\"Admin\" password. It will first prompt for"); - printf(" the (current) \"Admin\"\n"); - printf("password and then ask for the new password"); - printf(" by prompting:\n"); - printf("\n"); - printf("New password for <Your User Name>.admin:\n"); - printf("\n"); - printf("Enter the new admin password that you desire"); - printf(" (it will be asked for\n"); - printf("twice to avoid errors).\n"); - } else if (!strcmp(argv[1], "add_new_key") || - !strcmp(argv[1], "ank")) { - printf("Usage: add_new_key user_name.\n"); - printf("\n"); - printf("user_name is the name of a new user to put"); - printf(" in the kerberos database. Your\n"); - printf("\"Admin\" password and the user's password"); - printf(" are prompted for. The user's\n"); - printf("password will be asked for"); - printf(" twice to avoid errors.\n"); - } else if (!strcmp(argv[1], "get_entry") || - !strcmp(argv[1], "get")) { - printf("Usage: get_entry user_name.\n"); - printf("\n"); - printf("user_name is the name of a user whose"); - printf(" entry you wish to review. Your\n"); - printf("\"Admin\" password is prompted for. "); - printf(" The key field is not filled in, for\n"); - printf("security reasons.\n"); - } else if (!strcmp(argv[1], "destroy_tickets") || - !strcmp(argv[1], "dest")) { - printf("Usage: destroy_tickets\n"); - printf("\n"); - printf("Destroy your admin tickets. This will"); - printf(" cause you to be prompted for your\n"); - printf("admin password on your next request.\n"); - } else if (!strcmp(argv[1], "list_requests") || - !strcmp(argv[1], "lr") || - !strcmp(argv[1], "?")) { - printf("Usage: list_requests\n"); - printf("\n"); - printf("This command lists what other commands are"); - printf(" currently available.\n"); - } else if (!strcmp(argv[1], "exit") || - !strcmp(argv[1], "quit") || - !strcmp(argv[1], "q")) { - printf("Usage: quit\n"); - printf("\n"); - printf("This command exits this program.\n"); - } else { - printf("Sorry there is no such command as %s.", argv[1]); - printf(" Type \"help\" for more information. \n"); - } - return; -} - -void -go_home(str,x) -char *str; -int x; -{ - fprintf(stderr, "%s: %s\n", str, error_message(x)); - clean_up(); - exit(1); -} - -static int inited = 0; - -void -usage() -{ - fprintf(stderr, "Usage: kadmin [-u admin_name] [-r default_realm]"); -#ifndef NO_MULTIPLE - fprintf(stderr, " [-m]"); -#endif - fprintf(stderr, "\n"); -#ifndef NO_MULTIPLE - fprintf(stderr, " -m allows multiple admin requests to be "); - fprintf(stderr, "serviced with one entry of admin\n"); - fprintf(stderr, " password.\n"); -#endif - exit(1); -} - -static void -do_init(argc, argv) - int argc; - char *argv[]; -{ - struct passwd *pw; - extern char *optarg; - extern int optind; - int c; -#ifndef NO_MULTIPLE -#define OPTION_STRING "u:r:m" -#else -#define OPTION_STRING "u:r:" -#endif - - bzero(myname, sizeof(myname)); - - if (!inited) { - /* - * This is only as a default/initial realm; we don't care - * about failure. - */ - if (krb_get_lrealm(default_realm, 1) != KSUCCESS) - strcpy(default_realm, KRB_REALM); - - /* - * If we can reach the local realm, initialize to it. Otherwise, - * don't initialize. - */ - if (kadm_init_link(PWSERV_NAME, KRB_MASTER, krbrlm) != KADM_SUCCESS) - bzero(krbrlm, sizeof(krbrlm)); - else - strcpy(krbrlm, default_realm); - - while ((c = getopt(argc, argv, OPTION_STRING)) != EOF) - switch (c) { - case 'u': - strncpy(myname, optarg, sizeof(myname) - 1); - break; - case 'r': - bzero(default_realm, sizeof(default_realm)); - strncpy(default_realm, optarg, sizeof(default_realm) - 1); - break; -#ifndef NO_MULTIPLE - case 'm': - multiple++; - break; -#endif - default: - usage(); - break; - } - if (optind < argc) - usage(); - if (!myname[0]) { - pw = getpwuid((int) getuid()); - if (!pw) { - fprintf(stderr, - "You aren't in the password file. Who are you?\n"); - exit(1); - } - (void) strcpy(myname, pw->pw_name); - } - inited = 1; - } -} - -#ifdef NOENCRYPTION -#define read_long_pw_string placebo_read_pw_string -#else -#define read_long_pw_string des_read_pw_string -#endif -extern int read_long_pw_string(); - -int -get_admin_password() -{ - int status; - char admin_passwd[MAX_KPW_LEN]; /* Admin's password */ - int ticket_life = 1; /* minimum ticket lifetime */ -#ifndef NO_MULTIPLE - CREDENTIALS c; - - if (multiple) { - /* If admin tickets exist and are valid, just exit. */ - bzero(&c, sizeof(c)); - if (krb_get_cred(PWSERV_NAME, KADM_SINST, krbrlm, &c) == KSUCCESS) - /* - * If time is less than lifetime - FUDGE_VALUE after issue date, - * tickets will probably last long enough for the next - * transaction. - */ - if (time(0) < (c.issue_date + (5 * 60 * c.lifetime) - FUDGE_VALUE)) - return(KADM_SUCCESS); - ticket_life = DEFAULT_TKT_LIFE; - } -#endif - - if (princ_exists(myname, "admin", krbrlm) != PE_NO) { - if (read_long_pw_string(admin_passwd, sizeof(admin_passwd)-1, - "Admin password:", 0)) { - fprintf(stderr, "Error reading admin password.\n"); - goto bad; - } - status = krb_get_pw_in_tkt(myname, "admin", krbrlm, PWSERV_NAME, - KADM_SINST, ticket_life, admin_passwd); - bzero(admin_passwd, sizeof(admin_passwd)); - } - else - status = KDC_PR_UNKNOWN; - - switch(status) { - case GT_PW_OK: - return(GOOD_PW); - case KDC_PR_UNKNOWN: - printf("Principal %s.admin@%s does not exist.\n", myname, krbrlm); - goto bad; - case GT_PW_BADPW: - printf("Incorrect admin password.\n"); - goto bad; - default: - com_err("kadmin", status+krb_err_base, - "while getting password tickets"); - goto bad; - } - - bad: - bzero(admin_passwd, sizeof(admin_passwd)); - (void) dest_tkt(); - return(BAD_PW); -} - -void -clean_up() -{ - (void) dest_tkt(); - return; -} - -void -quit() -{ - printf("Cleaning up and exiting.\n"); - clean_up(); - exit(0); -} - -int -princ_exists(name, instance, realm) - char *name; - char *instance; - char *realm; -{ - int status; - - status = krb_get_pw_in_tkt(name, instance, realm, "krbtgt", realm, 1, ""); - - if ((status == KSUCCESS) || (status == INTK_BADPW)) - return(PE_YES); - else if (status == KDC_PR_UNKNOWN) - return(PE_NO); - else - return(PE_UNSURE); -} - -int -get_password(low, high, prompt, byteswap) -unsigned long *low, *high; -char *prompt; -int byteswap; -{ - char new_passwd[MAX_KPW_LEN]; /* new password */ - des_cblock newkey; - - do { - if (read_long_pw_string(new_passwd, sizeof(new_passwd)-1, prompt, 1)) - return(BAD_PW); - if (strlen(new_passwd) == 0) - printf("Null passwords are not allowed; try again.\n"); - } while (strlen(new_passwd) == 0); - -#ifdef NOENCRYPTION - bzero((char *) newkey, sizeof(newkey)); -#else - des_string_to_key(new_passwd, &newkey); -#endif - bzero(new_passwd, sizeof(new_passwd)); - - bcopy((char *) newkey,(char *)low,4); - bcopy((char *)(((long *) newkey) + 1), (char *)high,4); - - bzero((char *) newkey, sizeof(newkey)); - -#ifdef NOENCRYPTION - *low = 1; -#endif - - if (byteswap != DONTSWAP) { - *low = htonl(*low); - *high = htonl(*high); - } - return(GOOD_PW); -} diff --git a/eBones/usr.bin/kadmin/kadmin_cmds.ct b/eBones/usr.bin/kadmin/kadmin_cmds.ct deleted file mode 100644 index 141ac154e1f13..0000000000000 --- a/eBones/usr.bin/kadmin/kadmin_cmds.ct +++ /dev/null @@ -1,41 +0,0 @@ -# $Source: /usr/cvs/src/eBones/kadmin/kadmin_cmds.ct,v $ -# $Author: mark $ -# $Header: /usr/cvs/src/eBones/kadmin/kadmin_cmds.ct,v 1.1 1995/07/18 16:36:56 mark Exp $ -# -# Copyright 1988 by the Massachusetts Institute of Technology. -# -# For copying and distribution information, please see the file -# <mit-copyright.h>. -# -# Command table for Kerberos administration tool -# - command_table admin_cmds; - - request change_password, - "Change a user's password", - change_password, cpw; - - request change_admin_password, "Change your admin password", - change_admin_password, cap; - - request add_new_key, "Add new user to kerberos database", - add_new_key, ank; - - request get_entry, "Get entry from kerberos database", - get_entry, get; - - request clean_up, "Destroy admin tickets", - destroy_tickets, dest; - - request help,"Request help with this program", - help; - -# list_requests is generic -- unrelated to Kerberos - - request ss_list_requests, "List available requests.", - list_requests, lr, "?"; - - request quit, "Exit program.", - quit, exit, q; - - end; diff --git a/eBones/usr.bin/kdestroy/Makefile b/eBones/usr.bin/kdestroy/Makefile deleted file mode 100644 index d61e691c84f5b..0000000000000 --- a/eBones/usr.bin/kdestroy/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.5 1995/09/14 04:06:04 gibbs Exp $ - -PROG= kdestroy -CFLAGS+=-DKERBEROS -DDEBUG -DBSD42 -DPADD= ${LIBKRB} ${LIBDES} -LDADD= -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN1= kdestroy.1 - -.include <bsd.prog.mk> diff --git a/eBones/usr.bin/kdestroy/kdestroy.1 b/eBones/usr.bin/kdestroy/kdestroy.1 deleted file mode 100644 index 709935366e73a..0000000000000 --- a/eBones/usr.bin/kdestroy/kdestroy.1 +++ /dev/null @@ -1,81 +0,0 @@ -.\" from: kdestroy.1,v 4.9 89/01/23 11:39:50 jtkohl Exp $ -.\" $Id: kdestroy.1,v 1.2 1994/07/19 19:27:32 g89r4222 Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KDESTROY 1 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kdestroy \- destroy Kerberos tickets -.SH SYNOPSIS -.B kdestroy -[ -.B \-f -] -[ -.B \-q -] -.SH DESCRIPTION -The -.I kdestroy -utility destroys the user's active -Kerberos -authorization tickets by writing zeros to the file that contains them. -If the ticket file does not exist, -.I kdestroy -displays a message to that effect. -.PP -After overwriting the file, -.I kdestroy -removes the file from the system. -The utility -displays a message indicating the success or failure of the -operation. -If -.I kdestroy -is unable to destroy the ticket file, -the utility will warn you by making your terminal beep. -.PP -In the Athena workstation environment, -the -.I toehold -service automatically destroys your tickets when you -end a workstation session. -If your site does not provide a similar ticket-destroying mechanism, -you can place the -.I kdestroy -command in your -.I .logout -file so that your tickets are destroyed automatically -when you logout. -.PP -The options to -.I kdestroy -are as follows: -.TP 7 -.B \-f -.I kdestroy -runs without displaying the status message. -.TP -.B \-q -.I kdestroy -will not make your terminal beep if it fails to destroy the tickets. -.SH FILES -KRBTKFILE environment variable if set, otherwise -.br -/tmp/tkt[uid] -.SH SEE ALSO -kerberos(1), kinit(1), klist(1) -.SH BUGS -.PP -Only the tickets in the user's current ticket file are destroyed. -Separate ticket files are used to hold root instance and password -changing tickets. These files should probably be destroyed too, or -all of a user's tickets kept in a single ticket file. -.SH AUTHORS -Steve Miller, MIT Project Athena/Digital Equipment Corporation -.br -Clifford Neuman, MIT Project Athena -.br -Bill Sommerfeld, MIT Project Athena diff --git a/eBones/usr.bin/kdestroy/kdestroy.c b/eBones/usr.bin/kdestroy/kdestroy.c deleted file mode 100644 index 926eea52da956..0000000000000 --- a/eBones/usr.bin/kdestroy/kdestroy.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This program causes Kerberos tickets to be destroyed. - * Options are: - * - * -q[uiet] - no bell even if tickets not destroyed - * -f[orce] - no message printed at all - * - * from: kdestroy.c,v 4.5 88/03/18 15:16:02 steiner Exp $ - * $Id: kdestroy.c,v 1.3 1995/07/18 16:37:44 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kdestroy.c,v 1.3 1995/07/18 16:37:44 mark Exp $"; -#endif lint -#endif - -#include <stdio.h> -#include <krb.h> -#ifdef BSD42 -#include <strings.h> -#endif BSD42 - - -static char *pname; - -static void -usage() -{ - fprintf(stderr, "Usage: %s [-f] [-q]\n", pname); - exit(1); -} - -int -main(argc, argv) - int argc; - char *argv[]; -{ - int fflag=0, qflag=0, k_errno; - register char *cp; - - cp = rindex (argv[0], '/'); - if (cp == NULL) - pname = argv[0]; - else - pname = cp+1; - - if (argc > 2) - usage(); - else if (argc == 2) { - if (!strcmp(argv[1], "-f")) - ++fflag; - else if (!strcmp(argv[1], "-q")) - ++qflag; - else usage(); - } - - k_errno = dest_tkt(); - - if (fflag) { - if (k_errno != 0 && k_errno != RET_TKFIL) - exit(1); - else - exit(0); - } else { - if (k_errno == 0) - printf("Tickets destroyed.\n"); - else if (k_errno == RET_TKFIL) - fprintf(stderr, "No tickets to destroy.\n"); - else { - fprintf(stderr, "Tickets NOT destroyed.\n"); - if (!qflag) - fprintf(stderr, "\007"); - exit(1); - } - } - exit(0); -} diff --git a/eBones/usr.bin/kinit/Makefile b/eBones/usr.bin/kinit/Makefile deleted file mode 100644 index 94549dceb4ece..0000000000000 --- a/eBones/usr.bin/kinit/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.5 1995/09/14 04:06:11 gibbs Exp $ - -PROG= kinit -CFLAGS+=-DKERBEROS -DDEBUG -DBSD42 -DPADD= ${LIBKRB} ${LIBDES} -LDADD= -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN1= kinit.1 - -.include <bsd.prog.mk> diff --git a/eBones/usr.bin/kinit/kinit.1 b/eBones/usr.bin/kinit/kinit.1 deleted file mode 100644 index f9a97a738201a..0000000000000 --- a/eBones/usr.bin/kinit/kinit.1 +++ /dev/null @@ -1,133 +0,0 @@ -.\" from: kinit.1,v 4.6 89/01/23 11:39:11 jtkohl Exp $ -.\" $Id: kinit.1,v 1.2 1994/07/19 19:27:36 g89r4222 Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KINIT 1 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kinit \- Kerberos login utility -.SH SYNOPSIS -.B kinit -[ -.B \-irvl -] -.SH DESCRIPTION -The -.I kinit -command is used to login to the -Kerberos -authentication and authorization system. -Note that only registered -Kerberos -users can use the -Kerberos -system. -For information about registering as a -Kerberos -user, -see the -.I kerberos(1) -manual page. -.PP -If you are logged in to a workstation that is running the -.I toehold -service, -you do not have to use -.I kinit. -The -.I toehold -login procedure will log you into -Kerberos -automatically. -You will need to use -.I kinit -only in those situations in which -your original tickets have expired. -(Tickets expire in about a day.) -Note as well that -.I toehold -will automatically destroy your tickets when you logout from the workstation. -.PP -When you use -.I kinit -without options, -the utility -prompts for your username and Kerberos password, -and tries to authenticate your login with the local -Kerberos -server. -.PP -If -Kerberos -authenticates the login attempt, -.I kinit -retrieves your initial ticket and puts it in the ticket file specified by -your KRBTKFILE environment variable. -If this variable is undefined, -your ticket will be stored in the -.IR /tmp -directory, -in the file -.I tktuid , -where -.I uid -specifies your user identification number. -.PP -If you have logged in to -Kerberos -without the benefit of the workstation -.I toehold -system, -make sure you use the -.I kdestroy -command to destroy any active tickets before you end your login session. -You may want to put the -.I kdestroy -command in your -.I \.logout -file so that your tickets will be destroyed automatically when you logout. -.PP -The options to -.I kinit -are as follows: -.TP 7 -.B \-i -.I kinit -prompts you for a -Kerberos -instance. -.TP -.B \-r -.I kinit -prompts you for a -Kerberos -realm. -This option lets you authenticate yourself with a remote -Kerberos -server. -.TP -.B \-v -Verbose mode. -.I kinit -prints the name of the ticket file used, and -a status message indicating the success or failure of -your login attempt. -.TP -.B \-l -.I kinit -prompts you for a ticket lifetime in minutes. Due to protocol -restrictions in Kerberos Version 4, this value must be between 5 and -1275 minutes. -.SH SEE ALSO -.PP -kerberos(1), kdestroy(1), klist(1), toehold(1) -.SH BUGS -The -.B \-r -option has not been fully implemented. -.SH AUTHORS -Steve Miller, MIT Project Athena/Digital Equipment Corporation -.br -Clifford Neuman, MIT Project Athena diff --git a/eBones/usr.bin/kinit/kinit.c b/eBones/usr.bin/kinit/kinit.c deleted file mode 100644 index 86c38ee65a2d7..0000000000000 --- a/eBones/usr.bin/kinit/kinit.c +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Routine to initialize user to Kerberos. Prompts optionally for - * user, instance and realm. Authenticates user and gets a ticket - * for the Kerberos ticket-granting service for future use. - * - * Options are: - * - * -i[instance] - * -r[realm] - * -v[erbose] - * -l[ifetime] - * - * from: kinit.c,v 4.12 90/03/20 16:11:15 jon Exp $ - * $Id: kinit.c,v 1.4 1995/09/07 21:37:29 markm Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kinit.c,v 1.4 1995/09/07 21:37:29 markm Exp $"; -#endif lint -#endif - -#include <unistd.h> -#include <stdlib.h> -#include <stdio.h> -#include <pwd.h> -#include <krb.h> - -#ifndef ORGANIZATION -#define ORGANIZATION "MIT Project Athena" -#endif /*ORGANIZATION*/ - -#ifdef PC -#define LEN 64 /* just guessing */ -#endif PC - -#if defined(BSD42) || defined(__FreeBSD__) || defined(__NetBSD__) -#include <strings.h> -#include <sys/param.h> -#if defined(ultrix) || defined(sun) -#define LEN 64 -#else -#define LEN MAXHOSTNAMELEN -#endif /* defined(ultrix) || defined(sun) */ -#endif /* BSD42 */ - -#define LIFE 96 /* lifetime of ticket in 5-minute units */ - -char *progname; - -void usage(void); - -void -get_input(s, size, stream) -char *s; -int size; -FILE *stream; -{ - char *p; - - if (fgets(s, size, stream) == NULL) - exit(1); - if ((p = index(s, '\n')) != NULL) - *p = '\0'; -} - -int -main(argc, argv) - int argc; - char *argv[]; -{ - char aname[ANAME_SZ]; - char inst[INST_SZ]; - char realm[REALM_SZ]; - char buf[LEN]; - char *username = NULL; - int iflag, rflag, vflag, lflag, lifetime, k_errno; - register char *cp; - register i; - - *inst = *realm = '\0'; - iflag = rflag = vflag = lflag = 0; - lifetime = LIFE; - progname = (cp = rindex(*argv, '/')) ? cp + 1 : *argv; - - while (--argc) { - if ((*++argv)[0] != '-') { - if (username) - usage(); - username = *argv; - continue; - } - for (i = 1; (*argv)[i] != '\0'; i++) - switch ((*argv)[i]) { - case 'i': /* Instance */ - ++iflag; - continue; - case 'r': /* Realm */ - ++rflag; - continue; - case 'v': /* Verbose */ - ++vflag; - continue; - case 'l': - ++lflag; - continue; - default: - usage(); - exit(1); - } - } - if (username && - (k_errno = kname_parse(aname, inst, realm, username)) - != KSUCCESS) { - fprintf(stderr, "%s: %s\n", progname, krb_err_txt[k_errno]); - iflag = rflag = 1; - username = NULL; - } - if (k_gethostname(buf, LEN)) { - fprintf(stderr, "%s: k_gethostname failed\n", progname); - exit(1); - } - printf("%s (%s)\n", ORGANIZATION, buf); - if (username) { - printf("Kerberos Initialization for \"%s", aname); - if (*inst) - printf(".%s", inst); - if (*realm) - printf("@%s", realm); - printf("\"\n"); - } else { - if (iflag) { - printf("Kerberos Initialization\n"); - printf("Kerberos name: "); - get_input(aname, sizeof(aname), stdin); - } else { - int uid = getuid(); - char *getenv(); - struct passwd *pwd; - - /* default to current user name unless running as root */ - if (uid == 0 && (username = getenv("USER")) && - strcmp(username, "root") != 0) { - strncpy(aname, username, sizeof(aname)); - strncpy(inst, "root", sizeof(inst)); - } else { - pwd = getpwuid(uid); - - if (pwd == (struct passwd *) NULL) { - fprintf(stderr, "Unknown name for your uid\n"); - printf("Kerberos name: "); - get_input(aname, sizeof(aname), stdin); - } else - strncpy(aname, pwd->pw_name, sizeof(aname)); - } - } - - if (!*aname) - exit(0); - if (!k_isname(aname)) { - fprintf(stderr, "%s: bad Kerberos name format\n", - progname); - exit(1); - } - } - /* optional instance */ - if (iflag) { - printf("Kerberos instance: "); - get_input(inst, sizeof(inst), stdin); - if (!k_isinst(inst)) { - fprintf(stderr, "%s: bad Kerberos instance format\n", - progname); - exit(1); - } - } - if (rflag) { - printf("Kerberos realm: "); - get_input(realm, sizeof(realm), stdin); - if (!k_isrealm(realm)) { - fprintf(stderr, "%s: bad Kerberos realm format\n", - progname); - exit(1); - } - } - if (lflag) { - printf("Kerberos ticket lifetime (minutes): "); - get_input(buf, sizeof(buf), stdin); - lifetime = atoi(buf); - if (lifetime < 5) - lifetime = 1; - else - lifetime /= 5; - /* This should be changed if the maximum ticket lifetime */ - /* changes */ - if (lifetime > 255) - lifetime = 255; - } - if (!*realm && krb_get_lrealm(realm, 1)) { - fprintf(stderr, "%s: krb_get_lrealm failed\n", progname); - exit(1); - } - k_errno = krb_get_pw_in_tkt(aname, inst, realm, "krbtgt", realm, - lifetime, 0); - if (vflag) { - printf("Kerberos realm %s:\n", realm); - printf("%s\n", krb_err_txt[k_errno]); - } else if (k_errno) { - fprintf(stderr, "%s: %s\n", progname, krb_err_txt[k_errno]); - exit(1); - } - return 0; -} - -void -usage() -{ - fprintf(stderr, "Usage: %s [-irvl] [name]\n", progname); - exit(1); -} diff --git a/eBones/usr.bin/klist/Makefile b/eBones/usr.bin/klist/Makefile deleted file mode 100644 index ef144105a6731..0000000000000 --- a/eBones/usr.bin/klist/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.5 1995/09/14 04:06:15 gibbs Exp $ - -PROG= klist -CFLAGS+=-DKERBEROS -DDEBUG -DPADD= ${LIBKRB} ${LIBDES} -LDADD= -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN1= klist.1 - -.include <bsd.prog.mk> diff --git a/eBones/usr.bin/klist/klist.1 b/eBones/usr.bin/klist/klist.1 deleted file mode 100644 index af7e31ad20488..0000000000000 --- a/eBones/usr.bin/klist/klist.1 +++ /dev/null @@ -1,84 +0,0 @@ -.\" from: klist.1,v 4.8 89/01/24 14:35:09 jtkohl Exp $ -.\" $Id: klist.1,v 1.1.1.1 1994/09/30 14:50:06 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KLIST 1 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -klist \- list currently held Kerberos tickets -.SH SYNOPSIS -.B klist -[ -\fB\-s \fR|\fB \-t\fR -] [ -.B \-file -name ] [ -.B \-srvtab -] -.br -.SH DESCRIPTION -.I klist -prints the name of the tickets file and the -identity of the principal the tickets are for (as listed in the -tickets file), and -lists the principal names of all Kerberos tickets currently held by -the user, along with the issue and expire time for each authenticator. -Principal names are listed in the form -.I name.instance@realm, -with the '.' omitted if the instance is null, -and the '@' omitted if the realm is null. - -If given the -.B \-s -option, -.I klist -does not print the issue and expire times, the name of the tickets file, -or the identity of the principal. - -If given the -.B \-t -option, -.B klist -checks for the existence of a non-expired ticket-granting-ticket in the -ticket file. If one is present, it exits with status 0, else it exits -with status 1. No output is generated when this option is specified. - -If given the -.B \-file -option, the following argument is used as the ticket file. -Otherwise, if the -.B KRBTKFILE -environment variable is set, it is used. -If this environment variable -is not set, the file -.B /tmp/tkt[uid] -is used, where -.B uid -is the current user-id of the user. - -If given the -.B \-srvtab -option, the file is treated as a service key file, and the names of the -keys contained therein are printed. If no file is -specified with a -.B \-file -option, the default is -.IR /etc/kerberosIV/srvtab . -.SH FILES -.TP 2i -/etc/kerberosIV/krb.conf -to get the name of the local realm -.TP -/tmp/tkt[uid] -as the default ticket file ([uid] is the decimal UID of the user). -.TP -/etc/kerberosIV/srvtab -as the default service key file -.SH SEE ALSO -.PP -kerberos(1), kinit(1), kdestroy(1) -.SH BUGS -When reading a file as a service key file, very little sanity or error -checking is performed. diff --git a/eBones/usr.bin/klist/klist.c b/eBones/usr.bin/klist/klist.c deleted file mode 100644 index 0927dcb7f58f2..0000000000000 --- a/eBones/usr.bin/klist/klist.c +++ /dev/null @@ -1,288 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Lists your current Kerberos tickets. - * Written by Bill Sommerfeld, MIT Project Athena. - * - * from: klist.c,v 4.15 89/08/30 11:19:16 jtkohl Exp $ - * $Id: klist.c,v 1.3 1995/07/18 16:37:59 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: klist.c,v 1.3 1995/07/18 16:37:59 mark Exp $"; -#endif lint -#endif - -#include <unistd.h> -#include <stdio.h> -#include <stdlib.h> -#include <strings.h> -#include <sys/file.h> -#include <krb.h> -#include <prot.h> -#include <time.h> - -int ok_getst(int fd, char *s, int n); -void display_srvtab(char *file); -char *short_date(long *dp); -void usage(void); -void display_tktfile(char *file, int tgt_test, int long_form); - -char *whoami; /* What was I invoked as?? */ - -extern char *krb_err_txt[]; - -/* ARGSUSED */ -int -main(argc, argv) - int argc; - char **argv; -{ - int long_form = 1; - int tgt_test = 0; - int do_srvtab = 0; - char *tkt_file = NULL; - char *cp; - - whoami = (cp = rindex(*argv, '/')) ? cp + 1 : *argv; - - while (*(++argv)) { - if (!strcmp(*argv, "-s")) { - long_form = 0; - continue; - } - if (!strcmp(*argv, "-t")) { - tgt_test = 1; - long_form = 0; - continue; - } - if (!strcmp(*argv, "-l")) { /* now default */ - continue; - } - if (!strcmp(*argv, "-file")) { - if (*(++argv)) { - tkt_file = *argv; - continue; - } else - usage(); - } - if (!strcmp(*argv, "-srvtab")) { - if (tkt_file == NULL) /* if no other file spec'ed, - set file to default srvtab */ - tkt_file = KEYFILE; - do_srvtab = 1; - continue; - } - usage(); - } - - if (do_srvtab) - display_srvtab(tkt_file); - else - display_tktfile(tkt_file, tgt_test, long_form); - exit(0); -} - -void -display_tktfile(file, tgt_test, long_form) -char *file; -int tgt_test, long_form; -{ - char pname[ANAME_SZ]; - char pinst[INST_SZ]; - char prealm[REALM_SZ]; - char buf1[20], buf2[20]; - int k_errno; - CREDENTIALS c; - int header = 1; - - if ((file == NULL) && ((file = getenv("KRBTKFILE")) == NULL)) - file = TKT_FILE; - - if (long_form) - printf("Ticket file: %s\n", file); - - /* - * Since krb_get_tf_realm will return a ticket_file error, - * we will call tf_init and tf_close first to filter out - * things like no ticket file. Otherwise, the error that - * the user would see would be - * klist: can't find realm of ticket file: No ticket file (tf_util) - * instead of - * klist: No ticket file (tf_util) - */ - - /* Open ticket file */ - if ((k_errno = tf_init(file, R_TKT_FIL))) { - if (!tgt_test) - fprintf(stderr, "%s: %s\n", whoami, krb_err_txt[k_errno]); - exit(1); - } - /* Close ticket file */ - (void) tf_close(); - - /* - * We must find the realm of the ticket file here before calling - * tf_init because since the realm of the ticket file is not - * really stored in the principal section of the file, the - * routine we use must itself call tf_init and tf_close. - */ - if ((k_errno = krb_get_tf_realm(file, prealm)) != KSUCCESS) { - if (!tgt_test) - fprintf(stderr, "%s: can't find realm of ticket file: %s\n", - whoami, krb_err_txt[k_errno]); - exit(1); - } - - /* Open ticket file */ - if ((k_errno = tf_init(file, R_TKT_FIL))) { - if (!tgt_test) - fprintf(stderr, "%s: %s\n", whoami, krb_err_txt[k_errno]); - exit(1); - } - /* Get principal name and instance */ - if ((k_errno = tf_get_pname(pname)) || - (k_errno = tf_get_pinst(pinst))) { - if (!tgt_test) - fprintf(stderr, "%s: %s\n", whoami, krb_err_txt[k_errno]); - exit(1); - } - - /* - * You may think that this is the obvious place to get the - * realm of the ticket file, but it can't be done here as the - * routine to do this must open the ticket file. This is why - * it was done before tf_init. - */ - - if (!tgt_test && long_form) - printf("Principal:\t%s%s%s%s%s\n\n", pname, - (pinst[0] ? "." : ""), pinst, - (prealm[0] ? "@" : ""), prealm); - while ((k_errno = tf_get_cred(&c)) == KSUCCESS) { - if (!tgt_test && long_form && header) { - printf("%-15s %-15s %s\n", - " Issued", " Expires", " Principal"); - header = 0; - } - if (tgt_test) { - c.issue_date += ((unsigned char) c.lifetime) * 5 * 60; - if (!strcmp(c.service, TICKET_GRANTING_TICKET) && - !strcmp(c.instance, prealm)) { - if (time(0) < c.issue_date) - exit(0); /* tgt hasn't expired */ - else - exit(1); /* has expired */ - } - continue; /* not a tgt */ - } - if (long_form) { - (void) strcpy(buf1, short_date(&c.issue_date)); - c.issue_date += ((unsigned char) c.lifetime) * 5 * 60; - (void) strcpy(buf2, short_date(&c.issue_date)); - printf("%s %s ", buf1, buf2); - } - printf("%s%s%s%s%s\n", - c.service, (c.instance[0] ? "." : ""), c.instance, - (c.realm[0] ? "@" : ""), c.realm); - } - if (tgt_test) - exit(1); /* no tgt found */ - if (header && long_form && k_errno == EOF) { - printf("No tickets in file.\n"); - } -} - -char * -short_date(dp) - long *dp; -{ - register char *cp; - extern char *ctime(); - cp = ctime(dp) + 4; - cp[15] = '\0'; - return (cp); -} - -void -usage() -{ - fprintf(stderr, - "Usage: %s [ -s | -t ] [ -file filename ] [ -srvtab ]\n", whoami); - exit(1); -} - -void -display_srvtab(file) -char *file; -{ - int stab; - char serv[SNAME_SZ]; - char inst[INST_SZ]; - char rlm[REALM_SZ]; - unsigned char key[8]; - unsigned char vno; - int count; - - printf("Server key file: %s\n", file); - - if ((stab = open(file, O_RDONLY, 0400)) < 0) { - perror(file); - exit(1); - } - printf("%-15s %-15s %-10s %s\n","Service","Instance","Realm", - "Key Version"); - printf("------------------------------------------------------\n"); - - /* argh. getst doesn't return error codes, it silently fails */ - while (((count = ok_getst(stab, serv, SNAME_SZ)) > 0) - && ((count = ok_getst(stab, inst, INST_SZ)) > 0) - && ((count = ok_getst(stab, rlm, REALM_SZ)) > 0)) { - if (((count = read(stab,(char *) &vno,1)) != 1) || - ((count = read(stab,(char *) key,8)) != 8)) { - if (count < 0) - perror("reading from key file"); - else - fprintf(stderr, "key file truncated\n"); - exit(1); - } - printf("%-15s %-15s %-15s %d\n",serv,inst,rlm,vno); - } - if (count < 0) - perror(file); - (void) close(stab); -} - -/* adapted from getst() in librkb */ -/* - * ok_getst() takes a file descriptor, a string and a count. It reads - * from the file until either it has read "count" characters, or until - * it reads a null byte. When finished, what has been read exists in - * the given string "s". If "count" characters were actually read, the - * last is changed to a null, so the returned string is always null- - * terminated. ok_getst() returns the number of characters read, including - * the null terminator. - * - * If there is a read error, it returns -1 (like the read(2) system call) - */ - -int -ok_getst(fd, s, n) - int fd; - register char *s; - int n; -{ - register count = n; - int err; - while ((err = read(fd, s, 1)) > 0 && --count) - if (*s++ == '\0') - return (n - count); - if (err < 0) - return(-1); - *s = '\0'; - return (n - count); -} diff --git a/eBones/usr.bin/ksrvtgt/Makefile b/eBones/usr.bin/ksrvtgt/Makefile deleted file mode 100644 index a00940d1384a1..0000000000000 --- a/eBones/usr.bin/ksrvtgt/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.5 1995/09/14 04:06:18 gibbs Exp $ - -PROG= ksrvtgt -CFLAGS+=-DKERBEROS -DDEBUG -DPADD= ${LIBKRB} ${LIBDES} -LDADD= -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN1= ksrvtgt.1 - -.include <bsd.prog.mk> diff --git a/eBones/usr.bin/ksrvtgt/ksrvtgt.1 b/eBones/usr.bin/ksrvtgt/ksrvtgt.1 deleted file mode 100644 index 129c7457215cb..0000000000000 --- a/eBones/usr.bin/ksrvtgt/ksrvtgt.1 +++ /dev/null @@ -1,51 +0,0 @@ -.\" from: ksrvtgt.1,v 4.1 89/01/24 14:36:28 jtkohl Exp $ -.\" $Id: ksrvtgt.1,v 1.1.1.1 1994/09/30 14:50:07 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KSRVTGT 1 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -ksrvtgt \- fetch and store Kerberos ticket-granting-ticket using a -service key -.SH SYNOPSIS -.B ksrvtgt -name instance [[realm] srvtab] -.SH DESCRIPTION -.I ksrvtgt -retrieves a ticket-granting ticket with a lifetime of five (5) minutes -for the principal -.I name.instance@realm -(or -.I name.instance@localrealm -if -.I realm -is not supplied on the command line), decrypts the response using -the service key found in -.I srvtab -(or in -.B /etc/kerberosIV/srvtab -if -.I srvtab -is not specified on the command line), and stores the ticket in the -standard ticket cache. -.PP -This command is intended primarily for use in shell scripts and other -batch-type facilities. -.SH DIAGNOSTICS -"Generic kerberos failure (kfailure)" can indicate a whole range of -problems, the most common of which is the inability to read the service -key file. -.SH FILES -.TP 2i -/etc/kerberosIV/krb.conf -to get the name of the local realm. -.TP -/tmp/tkt[uid] -The default ticket file. -.TP -/etc/kerberosIV/srvtab -The default service key file. -.SH SEE ALSO -kerberos(1), kinit(1), kdestroy(1) diff --git a/eBones/usr.bin/ksrvtgt/ksrvtgt.c b/eBones/usr.bin/ksrvtgt/ksrvtgt.c deleted file mode 100644 index 0f92394b6bbd3..0000000000000 --- a/eBones/usr.bin/ksrvtgt/ksrvtgt.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Get a ticket-granting-ticket given a service key file (srvtab) - * The lifetime is the shortest allowed [1 five-minute interval] - * - * from: ksrvtgt.c,v 4.3 89/07/28 10:17:28 jtkohl Exp $ - * $Id: ksrvtgt.c,v 1.3 1995/07/18 16:40:07 mark Exp $ - */ - -#ifndef lint -const char rcsid[] = -"$Id: ksrvtgt.c,v 1.3 1995/07/18 16:40:07 mark Exp $"; -#endif /* lint */ - -#include <stdio.h> -#include <string.h> -#include <sys/param.h> -#include <krb.h> -#include <conf.h> - -int -main(argc,argv) - int argc; - char **argv; -{ - char realm[REALM_SZ + 1]; - register int code; - char srvtab[MAXPATHLEN + 1]; - - bzero(realm, sizeof(realm)); - bzero(srvtab, sizeof(srvtab)); - - if (argc < 3 || argc > 5) { - fprintf(stderr, "Usage: %s name instance [[realm] srvtab]\n", - argv[0]); - exit(1); - } - - if (argc == 4) - (void) strncpy(srvtab, argv[3], sizeof(srvtab) -1); - - if (argc == 5) { - (void) strncpy(realm, argv[3], sizeof(realm) - 1); - (void) strncpy(srvtab, argv[4], sizeof(srvtab) -1); - } - - if (srvtab[0] == 0) - (void) strcpy(srvtab, KEYFILE); - - if (realm[0] == 0) - if (krb_get_lrealm(realm, 1) != KSUCCESS) - (void) strcpy(realm, KRB_REALM); - - code = krb_get_svc_in_tkt(argv[1], argv[2], realm, - "krbtgt", realm, 1, srvtab); - if (code) - fprintf(stderr, "%s\n", krb_err_txt[code]); - exit(code); -} diff --git a/eBones/usr.bin/passwd/kpasswd.c b/eBones/usr.bin/passwd/kpasswd.c deleted file mode 100644 index 5bb09fc269368..0000000000000 --- a/eBones/usr.bin/passwd/kpasswd.c +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * change your password with kerberos - */ - -#ifndef lint -#if 0 -static char rcsid_kpasswd_c[] = - "BonesHeader: /afs/athena.mit.edu/astaff/project/kerberos/src/kadmin/RCS/kpasswd.c,v 4.3 89/09/26 09:33:02 jtkohl Exp "; -#endif -static const char rcsid[] = - "$Id: kpasswd.c,v 1.4 1995/09/07 21:38:55 markm Exp $"; -#endif lint - -/* - * kpasswd - * change your password with kerberos - */ - -#include <stdio.h> -#include <sys/types.h> -#include <sys/param.h> -#include <pwd.h> -#include "kadm.h" - -#include "extern.h" - -extern void krb_set_tkt_string(); -static void go_home(char *, int); - - -int krb_passwd(char *uname, char *iflag, char *rflag, char *uflag) -{ - char name[ANAME_SZ]; /* name of user */ - char inst[INST_SZ]; /* instance of user */ - char realm[REALM_SZ]; /* realm of user */ - char default_name[ANAME_SZ]; - char default_inst[INST_SZ]; - char default_realm[REALM_SZ]; - int realm_given = 0; /* True if realm was give on cmdline */ - int use_default = 1; /* True if we should use default name */ - struct passwd *pw; - int status; /* return code */ - des_cblock new_key; - int c; - extern char *optarg; - extern int optind; - char tktstring[MAXPATHLEN]; - - void get_pw_new_key(); - -#ifdef NOENCRYPTION -#define read_long_pw_string placebo_read_pw_string -#else -#define read_long_pw_string des_read_pw_string -#endif - int read_long_pw_string(); - - bzero(name, sizeof(name)); - bzero(inst, sizeof(inst)); - bzero(realm, sizeof(realm)); - - if (krb_get_tf_fullname(TKT_FILE, default_name, default_inst, - default_realm) != KSUCCESS) { - pw = getpwuid((int) getuid()); - if (pw) { - strcpy(default_name, pw->pw_name); - } else { - /* seems like a null name is kinda silly */ - strcpy(default_name, ""); - } - strcpy(default_inst, ""); - if (krb_get_lrealm(default_realm, 1) != KSUCCESS) - strcpy(default_realm, KRB_REALM); - } - - if(uflag) { - if (status = kname_parse(name, inst, realm, uflag)) { - errx(2, "Kerberos error: %s", krb_err_txt[status]); - } - if (realm[0]) - realm_given++; - else - if (krb_get_lrealm(realm, 1) != KSUCCESS) - strcpy(realm, KRB_REALM); - } - - if(uname) { - if (k_isname(uname)) { - strncpy(name, uname, sizeof(name) - 1); - } else { - errx(1, "bad name: %s", uname); - } - } - - if(iflag) { - if (k_isinst(iflag)) { - strncpy(inst, iflag, sizeof(inst) - 1); - } else { - errx(1, "bad instance: %s", iflag); - } - } - - if(rflag) { - if (k_isrealm(rflag)) { - strncpy(realm, rflag, sizeof(realm) - 1); - realm_given++; - } else { - errx(1, "bad realm: %s", rflag); - } - } - - if(uname || iflag || rflag || uflag) use_default = 0; - - if (use_default) { - strcpy(name, default_name); - strcpy(inst, default_inst); - strcpy(realm, default_realm); - } else { - if (!name[0]) - strcpy(name, default_name); - if (!realm[0]) - strcpy(realm, default_realm); - } - - (void) sprintf(tktstring, "/tmp/tkt_cpw_%d",getpid()); - krb_set_tkt_string(tktstring); - - get_pw_new_key(new_key, name, inst, realm, realm_given); - - if ((status = kadm_init_link("changepw", KRB_MASTER, realm)) - != KADM_SUCCESS) - com_err("kpasswd", status, "while initializing"); - else if ((status = kadm_change_pw(new_key)) != KADM_SUCCESS) - com_err("kpasswd", status, " attempting to change password."); - - if (status != KADM_SUCCESS) - fprintf(stderr,"Password NOT changed.\n"); - else - printf("Password changed.\n"); - - (void) dest_tkt(); - if (status) - exit(2); - else - exit(0); -} - -void get_pw_new_key(new_key, name, inst, realm, print_realm) - des_cblock new_key; - char *name; - char *inst; - char *realm; - int print_realm; /* True if realm was give on cmdline */ -{ - char ppromp[40+ANAME_SZ+INST_SZ+REALM_SZ]; /* for the password prompt */ - char pword[MAX_KPW_LEN]; /* storage for the password */ - char npromp[40+ANAME_SZ+INST_SZ+REALM_SZ]; /* for the password prompt */ - - char local_realm[REALM_SZ]; - int status; - - /* - * We don't care about failure; this is to determine whether or - * not to print the realm in the prompt for a new password. - */ - (void) krb_get_lrealm(local_realm, 1); - - if (strcmp(local_realm, realm)) - print_realm++; - - (void) sprintf(ppromp,"Old password for %s%s%s%s%s:", - name, *inst ? "." : "", inst, - print_realm ? "@" : "", print_realm ? realm : ""); - if (read_long_pw_string(pword, sizeof(pword)-1, ppromp, 0)) { - fprintf(stderr, "Error reading old password.\n"); - exit(1); - } - - if ((status = krb_get_pw_in_tkt(name, inst, realm, PWSERV_NAME, - KADM_SINST, 1, pword)) != KSUCCESS) { - if (status == INTK_BADPW) { - printf("Incorrect old password.\n"); - exit(0); - } - else { - fprintf(stderr, "Kerberos error: %s\n", krb_err_txt[status]); - exit(1); - } - } - bzero(pword, sizeof(pword)); - do { - (void) sprintf(npromp,"New Password for %s%s%s%s%s:", - name, *inst ? "." : "", inst, - print_realm ? "@" : "", print_realm ? realm : ""); - if (read_long_pw_string(pword, sizeof(pword)-1, npromp, 1)) - go_home("Error reading new password, password unchanged.\n",0); - if (strlen(pword) == 0) - printf("Null passwords are not allowed; try again.\n"); - } while (strlen(pword) == 0); - -#ifdef NOENCRYPTION - bzero((char *) new_key, sizeof(des_cblock)); - new_key[0] = (unsigned char) 1; -#else - (void) des_string_to_key(pword, (des_cblock *)new_key); -#endif - bzero(pword, sizeof(pword)); -} - -static void -go_home(str,x) - char *str; - int x; -{ - fprintf(stderr, str, x); - (void) dest_tkt(); - exit(1); -} diff --git a/eBones/usr.bin/register/Makefile b/eBones/usr.bin/register/Makefile deleted file mode 100644 index 9e4b170386f69..0000000000000 --- a/eBones/usr.bin/register/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# @(#)Makefile 8.1 (Berkeley) 6/1/93 -# $Id: Makefile,v 1.5 1995/09/14 04:08:57 gibbs Exp $ - -PROG= register -CFLAGS+=-DCRYPT -DDEBUG -DKERBEROS -DPADD= ${LIBKRB} ${LIBDES} ${LIBCRYPT} -LDADD= -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -lcrypt -BINOWN= root -BINMODE=4555 - -.include <bsd.prog.mk> diff --git a/eBones/usr.bin/register/register.1 b/eBones/usr.bin/register/register.1 deleted file mode 100644 index 0ac298dcaab51..0000000000000 --- a/eBones/usr.bin/register/register.1 +++ /dev/null @@ -1,63 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)register.1 8.1 (Berkeley) 6/1/93 -.\" -.TH REGISTER 1 "June 1, 1993" -.UC 7 -.SH NAME -register \- register with Kerberos -.SH SYNOPSIS -.B register -.SH DESCRIPTION -The -.I register -command -is used to register a new user with Kerberos. -The Kerberos server keeps record of certain trusted hosts -from which it will accept new registrations. -If the host on which -.I register -is run is trusted by Kerberos, the user -is asked for his current password, and then -a new password to be used with Kerberos. -A user may only register with Kerberos one time. -.SH FILES -.br -/etc/kerberosIV/.update.keyxx.xx.xx.xx shared DES key with server -.SH "SEE ALSO" -registerd(8), kerberos(1) -.SH DIAGNOSTICS -\*(lqPrincipal not unique\*(rq -if the user already exists in the Kerberos database. -.br -\*(lqPermission Denied,\*(rq -if the host on which register is being run is untrusted. diff --git a/eBones/usr.bin/register/register.c b/eBones/usr.bin/register/register.c deleted file mode 100644 index d38dcc456b083..0000000000000 --- a/eBones/usr.bin/register/register.c +++ /dev/null @@ -1,316 +0,0 @@ -/*- - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if 0 -#ifndef lint -static char copyright[] = -"@(#) Copyright (c) 1989, 1993\n\ - The Regents of the University of California. All rights reserved.\n"; -static char sccsid[] = "@(#)register.c 8.1 (Berkeley) 6/1/93"; -#endif /* not lint */ -#endif - -#include <string.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/param.h> -#include <sys/time.h> -#include <sys/resource.h> -#include <sys/socket.h> -#include <sys/file.h> -#include <sys/signal.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <pwd.h> -#include <stdio.h> -#include <netdb.h> -#include <des.h> -#include <krb.h> -#include "pathnames.h" -#include "register_proto.h" - -#define SERVICE "krbupdate" /* service to add to KDC's database */ -#define PROTOCOL "tcp" - -void die(int); -void type_info(void); -void setup_key(struct sockaddr_in local); -void cleanup(void); -int get_user_info(void); - -char realm[REALM_SZ]; -char krbhst[MAX_HSTNM]; - -static char pname[ANAME_SZ]; -static char iname[INST_SZ]; -static char password[_PASSWORD_LEN]; - -void -main(argc, argv) - int argc; - char **argv; -{ - struct servent *se; - struct hostent *host; - struct sockaddr_in sin, local; - int rval; - int sock, llen; - u_char code; - static struct rlimit rl = { 0, 0 }; - - signal(SIGPIPE, die); - - if (setrlimit(RLIMIT_CORE, &rl) < 0) { - perror("rlimit"); - exit(1); - } - - if ((se = getservbyname(SERVICE, PROTOCOL)) == NULL) { - fprintf(stderr, "couldn't find entry for service %s\n", - SERVICE); - exit(1); - } - if ((rval = krb_get_lrealm(realm,0)) != KSUCCESS) { - fprintf(stderr, "couldn't get local Kerberos realm: %s\n", - krb_err_txt[rval]); - exit(1); - } - - if ((rval = krb_get_krbhst(krbhst, realm, 1)) != KSUCCESS) { - fprintf(stderr, "couldn't get Kerberos host: %s\n", - krb_err_txt[rval]); - exit(1); - } - - if ((host = gethostbyname(krbhst)) == NULL) { - fprintf(stderr, "couldn't get host entry for host %s\n", - krbhst); - exit(1); - } - - sin.sin_family = host->h_addrtype; - (void)bcopy(host->h_addr, (char *) &sin.sin_addr, host->h_length); - sin.sin_port = se->s_port; - - if ((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { - perror("socket"); - exit(1); - } - - if (connect(sock, (struct sockaddr *) &sin, sizeof(sin)) < 0) { - perror("connect"); - (void)close(sock); - exit(1); - } - - llen = sizeof(local); - if (getsockname(sock, (struct sockaddr *) &local, &llen) < 0) { - perror("getsockname"); - (void)close(sock); - exit(1); - } - - setup_key(local); - - type_info(); - - if (!get_user_info()) { - code = ABORT; - (void)des_write(sock, &code, 1); - cleanup(); - exit(1); - } - - code = APPEND_DB; - if (des_write(sock, &code, 1) != 1) { - perror("write 1"); - cleanup(); - exit(1); - } - - if (des_write(sock, pname, ANAME_SZ) != ANAME_SZ) { - perror("write principal name"); - cleanup(); - exit(1); - } - - if (des_write(sock, iname, INST_SZ) != INST_SZ) { - perror("write instance name"); - cleanup(); - exit(1); - } - - if (des_write(sock, password, 255) != 255) { - perror("write password"); - cleanup(); - exit(1); - } - - /* get return message */ - - { - int cc; - char msgbuf[BUFSIZ]; - - cc = read(sock, msgbuf, BUFSIZ); - if (cc <= 0) { - fprintf(stderr, "protocol error during key verification\n"); - cleanup(); - exit(1); - } - if (strncmp(msgbuf, GOTKEY_MSG, 6) != 0) { - fprintf(stderr, "%s: %s", krbhst, msgbuf); - cleanup(); - exit(1); - } - - cc = des_read(sock, msgbuf, BUFSIZ); - if (cc <= 0) { - fprintf(stderr, "protocol error during read\n"); - cleanup(); - exit(1); - } else { - printf("%s: %s", krbhst, msgbuf); - } - } - - cleanup(); - close(sock); -} - -void -cleanup() -{ - bzero(password, 255); -} - -extern char *crypt(); -extern char *getpass(); - -int -get_user_info() -{ - int uid = getuid(); - int valid = 0, i; - struct passwd *pw; - char *pas, *namep; - - /* NB: we must run setuid-root to get at the real pw file */ - - if ((pw = getpwuid(uid)) == NULL) { - fprintf(stderr, "Who are you?\n"); - return(0); - } - (void)seteuid(uid); - (void)strcpy(pname, pw->pw_name); /* principal name */ - - for (i = 1; i < 3; i++) { - pas = getpass("login password:"); - namep = crypt(pas, pw->pw_passwd); - if (strcmp(namep, pw->pw_passwd)) { - fprintf(stderr, "Password incorrect\n"); - continue; - } else { - valid = 1; - break; - } - } - if (!valid) - return(0); - pas = getpass("Kerberos password (may be the same):"); - while (*pas == NULL) { - printf("<NULL> password not allowed\n"); - pas = getpass("Kerberos password (may be the same):"); - } - (void)strcpy(password, pas); /* password */ - pas = getpass("Retype Kerberos password:"); - if (strcmp(password, pas)) { - fprintf(stderr, "Password mismatch -- aborted\n"); - return(0); - } - - iname[0] = NULL; /* null instance name */ - return(1); -} - -void -setup_key(local) - struct sockaddr_in local; -{ - static struct keyfile_data kdata; - static Key_schedule schedule; - int fd; - char namebuf[MAXPATHLEN]; - - (void) sprintf(namebuf, "%s%s", - CLIENT_KEYFILE, - inet_ntoa(local.sin_addr)); - - fd = open(namebuf, O_RDONLY); - if (fd < 0) { - fprintf(stderr, "couldn't open key file %s for local host: ", - namebuf); - perror(""); - exit(1); - } - - if (read(fd, (char *)&kdata, sizeof(kdata)) != sizeof(kdata)) { - fprintf(stderr,"size error reading key file for local host %s\n", - inet_ntoa(local.sin_addr)); - exit(1); - } - key_sched((des_cblock *)kdata.kf_key, schedule); - des_set_key_krb((des_cblock *)kdata.kf_key, schedule); - return; -} - -void -type_info() -{ - printf("Kerberos user registration (realm %s)\n\n", realm); - printf("Please enter your login password followed by your new Kerberos password.\n"); - printf("The Kerberos password you enter now will be used in the future\n"); - printf("as your Kerberos password for all machines in the %s realm.\n", realm); - printf("You will only be allowed to perform this operation once, although you may run\n"); - printf("the %s program from now on to change your Kerberos password.\n\n", _PATH_KPASSWD); -} - -void -die(sig) - int sig; -{ - fprintf(stderr, "\nServer no longer listening\n"); - fflush(stderr); - cleanup(); - exit(1); -} diff --git a/eBones/usr.bin/rkinit/Makefile b/eBones/usr.bin/rkinit/Makefile deleted file mode 100644 index 3ab0a3ecd98e0..0000000000000 --- a/eBones/usr.bin/rkinit/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# Makefile,v 1.2 1995/01/20 22:08:14 wollman Exp - -PROG= rkinit -SRCS= ${RKINITOBJDIR}/rkinit_err.h rkinit.c -CFLAGS+= -I${KRBOBJDIR} -I${RKINITOBJDIR} -DKERBEROS -LDADD+= -L${RKINITOBJDIR} -lrkinit -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -LDADD+= -lss -lcom_err - -MAN1= rkinit.1 - -.include <bsd.prog.mk> diff --git a/eBones/usr.bin/rkinit/rkinit.1 b/eBones/usr.bin/rkinit/rkinit.1 deleted file mode 100644 index 5634d2b7483c9..0000000000000 --- a/eBones/usr.bin/rkinit/rkinit.1 +++ /dev/null @@ -1,206 +0,0 @@ -.\" -.\" $Header: /local/cvsfiles/kerberos/src/appl/rkinit/man/rkinit.1,v 1.1 1991/12/03 23:21:25 eichin Exp $ -.\" $Source: /local/cvsfiles/kerberos/src/appl/rkinit/man/rkinit.1,v $ -.\" $Author: eichin $ -.\" -.\" -.TH RKINIT 1 "November 12, 1989" -.UC 4 -.SH NAME -rkinit \- establish kerberos tickets safely on a remote host -.SH SYNOPSIS -.B rkinit [ host ] -[ -p -.B principal -] [ -l -.B username -] [ -k -.B kerberos_realm -] [ -f -.B ticket_file -] [ -h -.B remote_host -] [ -t -.B ticket_lifetime -] [ -.B \-notimeout -] - -A host name must be specified either as the first command line -argument or following a \-h flag. If redundant command line -arguments are given, the last one to appear takes precedence. - -.SH DESCRIPTION -.I rkinit -is a program that allows a user to establish kerberos tickets on -a remote host registered for -rlogin service. This can be done without the user's kerberos -password ever leaving the client machine. - -In order to establish tickets remotely -without the use of something like -.I rkinit, -one would have to log in to the -remote host and run -.IR kinit (1). -.I rkinit -followed by -.I rlogin -can be thought of as a safe substitute for -.I rlogin -followed -.I kinit. - -.I rkinit -uses the same access checking mechanism as -.I rlogin. -That means that -.I rkinit -can be used to create any tickets for user -.I A -on remote host -.I B -if and only if -.IR A 's -tickets would entitle a login to -.I B. -This means that one can create remote tickets for himself or for -another user if he is in that user's .klogin file. - -.I rkinit -understands the following command line options: - -.TP 4 -.B \-p \fIprincipal\fR -If -.I principal, -in the format -.I name[.inst][@realm] -is specified, the tickets created on the remote host will be the -tickets indicated by the -.I principal -field. If this option is not given, the following defaults are -used: If the user running -.I rkinit -does not have tickets on the client machine, -.I rkinit -will prompt for a password and behave effectively as if the user -had invoked -.I kinit -on the specified -remote host; i.e., -the tickets established will be owned on the remote host -by the user who invoked -.I rkinit -and will be for the local realm of the -remote host. -If the user running -.I rkinit -already has tickets, -.I rkinit -will prompt for a password and create tickets whose principal -matches that of the -tickets that the user already has. - - -.TP -.B \-l \fIusername\fR -If -.I username -is specified, the ticket file on the remote host will be owned by the -user -.I username. -If it is not specified, the tickets will be owned by -the remote user whose login name matches that of the user invoking -.I rkinit. - -.TP -.B \-r \fIrealm\fR -.I realm -is used to tell -.I rkinit -what realm the remote host is in. This -option should not usually have to be used since -.I rkinit -uses -.IR krb_realmofhost (3) -to determine the remote host's kerberos realm. Note that this -is distinct from realm as specified in -.I principal, -which refers to the realm of the remote tickets. - -.TP -.B \-f \fIticket_file\fR -This option is used to specify the name of the ticket file that -should be used on the remote host. Note that if you -specify a location for the ticket file that is other -than the default, you will have to set the environment variable -KRBTKFILE to that filename once you get to the remote host in -order for you to use the tickets. -If a ticket file is not specified, the tickets will -be placed in the -default location as specified by -.IR tkt_file (3). -On a UNIX host, this is /tmp/tkt<uid>, where -<uid> is the user id of the person who owns the remote ticket file. - -.TP -.B \-h \fIremote_host\fR -.I remote host -is the host on which remote tickets are being obtained. This -option can be used in place of specifying the host as the first -command line argument. - -.TP -.B \-t \fIticket_lifetime\fR -.I ticket lifetime -is the lifetime in minutes of the remote tickets. If it is not -specified, the default ticket life time (as defined in krb.h) is -used. - -.TP -.B \-notimeout -prevents the client from timing out. This is mainly useful only -for debugging since the rkinit server also times out. - -.SH EXAMPLES - -In the following examples, -.B tabetha -and -.B soup -are machines in the -.B ATHENA.MIT.EDU -kerberos realm and -.B local -is a user who can log in -to -.B soup -and has -.B qjb.root@ATHENA.MIT.EDU -in his .klogin file. - - -% rkinit tabetha -.br -Kerberos initialization (tabetha) -.br -Password for qjb@ATHENA.MIT.EDU: -.br -% -.br - -.br -% rkinit soup -p qjb.root -l local -.br -Kerberos initialization (soup): tickets will be owned by local -.br -Password for qjb.root@ATHENA.MIT.EDU: -.br -% - -.SH SEE ALSO -rkinitd(8), kerberos(1), kerberos(3), kinit(1) - -.SH AUTHOR -Emanuel Jay Berkenbilt (MIT-Project Athena) diff --git a/eBones/usr.bin/rkinit/rkinit.c b/eBones/usr.bin/rkinit/rkinit.c deleted file mode 100644 index 35a0eebfaa101..0000000000000 --- a/eBones/usr.bin/rkinit/rkinit.c +++ /dev/null @@ -1,216 +0,0 @@ -/* - * $Id: rkinit.c,v 1.1 1993/12/10 18:41:00 dglo Exp gibbs $ - * $Source: /usr/src/eBones/rkinit/RCS/rkinit.c,v $ - * $Author: dglo $ - * - * This is an rkinit client - */ - -#if !defined(lint) && !defined(SABER) && !defined(LOCORE) && defined(RCS_HDRS) -static char *rcsid = "$Id: rkinit.c,v 1.1 1993/12/10 18:41:00 dglo Exp gibbs $"; -#endif /* lint || SABER || LOCORE || RCS_HDRS */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <sys/types.h> -#include <netdb.h> -#include <pwd.h> -#include <krb.h> -#include <des.h> -#include <com_err.h> - -#include <rkinit.h> -#include <rkinit_err.h> - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifdef __STDC__ -static void usage(void) -#else -static void usage() -#endif /* __STDC__ */ -{ - fprintf(stderr,"Usage: rkinit [host] options\n"); - fprintf(stderr, - "Options: [-l username] [-k krb_realm] [-p principal] [-f tktfile]\n"); - fprintf(stderr, " [-t lifetime] [-h host] [-notimeout]\n"); - fprintf(stderr, "A host must be specified either with the -h option "); - fprintf(stderr, "or as the first argument.\n"); - - exit(1); -} - -int -#ifdef __STDC__ -main(int argc, char *argv[]) -#else -main(argc, argv) - int argc; - char *argv[]; -#endif /* __STDC__ */ -{ - char *whoami; /* Name of this program */ - - char principal[MAX_K_NAME_SZ]; /* Principal for which to get tickets */ - char *host = NULL; /* Remote host */ - char *username = 0; /* Username of owner of ticket */ - char r_krealm[REALM_SZ]; /* Kerberos realm of remote host */ - char aname[ANAME_SZ]; /* Aname of remote ticket file */ - char inst[INST_SZ]; /* Instance of remote ticket file */ - char realm[REALM_SZ]; /* Realm of remote ticket file */ - char *tktfilename = NULL; /* Name of ticket file on remote host */ - u_long lifetime = DEFAULT_TKT_LIFE; /* Lifetime of remote tickets */ - int timeout = TRUE; /* Should we time out? */ - rkinit_info info; /* Information needed by rkinit */ - - struct passwd *localid; /* To determine local id */ - - int status = 0; /* general error number */ - - int i; - - bzero(r_krealm, sizeof(r_krealm)); - bzero(principal, sizeof(principal)); - bzero(aname, sizeof(aname)); - bzero(inst, sizeof(inst)); - bzero(realm, sizeof(realm)); - - /* Parse commandline arguements. */ - if ((whoami = rindex(argv[0], '/')) == 0) - whoami = argv[0]; - else - whoami++; - - if (argc < 2) usage(); - - if (argv[1][0] != '-') { - host = argv[1]; - i = 2; - } - else - i = 1; - - for (/* i initialized above */; i < argc; i++) { - if (strcmp(argv[i], "-h") == NULL) { - if (++i >= argc) - usage(); - else - host = argv[i]; - } - else if (strcmp(argv[i], "-l") == NULL) { - if (++i >= argc) - usage(); - else - username = argv[i]; - } - else if (strcmp(argv[i], "-k") == NULL) { - if (++i >= argc) - usage(); - else - strncpy(r_krealm, argv[i], sizeof(r_krealm) - 1); - } - else if (strcmp(argv[i], "-p") == NULL) { - if (++i >= argc) - usage(); - else - strncpy(principal, argv[i], sizeof(principal) - 1); - } - else if (strcmp(argv[i], "-f") == NULL) { - if (++i >= argc) - usage(); - else - tktfilename = argv[i]; - } - else if (strcmp(argv[i], "-t") == NULL) { - if (++i >= argc) - usage(); - else { - lifetime = atoi(argv[i])/5; - if (lifetime == 0) - lifetime = 1; - else if (lifetime > 255) - lifetime = 255; - } - } - else if (strcmp(argv[i], "-notimeout") == NULL) - timeout = FALSE; - else - usage(); - } - - if (host == NULL) - usage(); - - /* Initialize the realm of the remote host if necessary */ - if (r_krealm[0] == 0) { - /* - * Try to figure out the realm of the remote host. If the - * remote host is unknown, don't worry about it; the library - * will handle the error better and print a good error message. - */ - struct hostent *hp; - if ((hp = gethostbyname(host))) - strcpy(r_krealm, krb_realmofhost(hp->h_name)); - } - - /* If no username was specified, use local id on client host */ - if (username == 0) { - if ((localid = getpwuid(getuid())) == 0) { - fprintf(stderr, "You can not be found in the password file.\n"); - exit(1); - } - username = localid->pw_name; - } - - /* Find out who will go in the ticket file */ - if (! principal[0]) { - if ((status = krb_get_tf_fullname(TKT_FILE, aname, inst, realm)) - != KSUCCESS) { - /* - * If user has no ticket file and principal was not specified, - * we will try to get tickets for username@remote_realm - */ - strcpy(aname, username); - strcpy(realm, r_krealm); - } - } - else { - if ((status = kname_parse(aname, inst, realm, principal)) - != KSUCCESS) { - fprintf(stderr, "%s\n", krb_err_txt[status]); - exit(1); - } - if (strlen(realm) == 0) { - if (krb_get_lrealm(realm, 1) != KSUCCESS) - strcpy(realm, KRB_REALM); - } - } - - bzero((char *)&info, sizeof(info)); - - strcpy(info.aname, aname); - strcpy(info.inst, inst); - strcpy(info.realm, realm); - strcpy(info.sname, "krbtgt"); - strcpy(info.sinst, realm); - strncpy(info.username, username, sizeof(info.username) - 1); - if (tktfilename) - strncpy(info.tktfilename, tktfilename, sizeof(info.tktfilename) - 1); - info.lifetime = lifetime; - - if ((status = rkinit(host, r_krealm, &info, timeout))) { - com_err(whoami, status, "while obtaining remote tickets:"); - fprintf(stderr, "%s\n", rkinit_errmsg(0)); - exit(1); - } - - exit(0); -} diff --git a/eBones/usr.bin/telnet/Makefile b/eBones/usr.bin/telnet/Makefile deleted file mode 100644 index f70b446593a4e..0000000000000 --- a/eBones/usr.bin/telnet/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# -# Copyright (c) 1990 The Regents of the University of California. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: -# This product includes software developed by the University of -# California, Berkeley and its contributors. -# 4. Neither the name of the University nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# @(#)Makefile 8.1 (Berkeley) 6/6/93 -# $Id$ -# - -PROG= telnet - -SRCS= authenc.c commands.c main.c network.c ring.c sys_bsd.c telnet.c \ - terminal.c tn3270.c utilities.c - -CFLAGS+=-DTERMCAP -DKLUDGELINEMODE -DUSE_TERMIO -DENV_HACK -DENCRYPTION -CFLAGS+=-DSKEY -I${.CURDIR}/../../lib -LDADD+= -L${TELNETOBJDIR} -ltermcap -ltelnet -DPADD+= ${TELNETOBJDIR}/libtelnet.a ${LIBTERMCAP} - -.if exists(${DESTDIR}/usr/lib/libkrb.a) && (defined(MAKE_EBONES)) -CFLAGS+=-DAUTHENTICATION -DKRB4 -LDADD+= -ldes -lkrb -DPADD+= ${LIBDES} ${LIBKRB} -.endif - -# Used only in krb4encpwd.c and rsaencpwd.c (libtelnet), not yet active -#LDADD+= -ldescrypt - -.include <bsd.prog.mk> diff --git a/eBones/usr.bin/telnet/README b/eBones/usr.bin/telnet/README deleted file mode 100644 index 086c88f295001..0000000000000 --- a/eBones/usr.bin/telnet/README +++ /dev/null @@ -1,566 +0,0 @@ - - -This is a distribution of both client and server telnet. These programs -have been compiled on: - telnet telnetd - BSD 4.3 Reno X X - UNICOS 5.1 X X - UNICOS 6.0 X X - UNICOS 6.1 X X - UNICOS 7.0 X X - SunOs 3.5 X X (no linemode in server) - SunOs 4.1 X X (no linemode in server) - DYNIX V3.0.17.9 X X (no linemode in server) - Ultrix 3.1 X X (no linemode in server) - Ultrix 4.0 X X (no linemode in server) - -In addition, previous versions have been compiled on the following -machines, but were not available for testing this version. - telnet telnetd - SunOs 4.0.3c X X (no linemode in server) - BSD 4.3 X X (no linemode in server) - DYNIX V3.0.12 X X (no linemode in server) - -Februrary 22, 1991: - - Features: - - This version of telnet/telnetd has support for both - the AUTHENTICATION and ENCRYPTION options. The - AUTHENTICATION option is fairly well defined, and - an option number has been assigned to it. The - ENCRYPTION option is still in a state of flux; an - option number has NOT been assigned to it yet. - The code is provided in this release for experimental - and testing purposes. - - The telnet "send" command can now be used to send - do/dont/will/wont commands, with any telnet option - name. The rules for when do/dont/will/wont are sent - are still followed, so just because the user requests - that one of these be sent doesn't mean that it will - be sent... - - The telnet "getstatus" command no longer requires - that option printing be enabled to see the response - to the "DO STATUS" command. - - A -n flag has been added to telnetd to disable - keepalives. - - A new telnet command, "auth" has been added (if - AUTHENTICATE is defined). It has four sub-commands, - "status", "debug", "disable", "enable" and "help". - - A new telnet command, "encrypt" has been added (if - ENCRYPT is defined). It has many sub-commands: - "enable", "type", "start", "stop", "input", - "-input", "output", "-output", "status", "auto", - "verbose", "debug", and "help". - - An "rlogin" interface has been added. If the program - is named "rlogin", or the "-r" flag is given, then - an rlogin type of interface will be used. - ~. Terminates the session - ~<susp> Suspend the session - ~^] Escape to telnet command mode - ~~ Pass through the ~. - BUG: If you type the rlogin escape character - in the middle of a line while in rlogin - mode, you cannot erase it or any characters - before it. Hopefully this can be fixed - in a future release... - - General changes: - - A "libtelnet.a" has now been created. This libraray - contains code that is common to both telnet and - telnetd. This is also where library routines that - are needed, but are not in the standard C library, - are placed. - - The makefiles have been re-done. All of the site - specific configuration information has now been put - into a single "Config.generic" file, in the top level - directory. Changing this one file will take care of - all three subdirectories. Also, to add a new/local - definition, a "Config.local" file may be created - at the top level; if that file exists, the subdirectories - will use that file instead of "Config.generic". - - Many 1-2 line functions in commands.c have been - removed, and just inserted in-line, or replaced - with a macro. - - Bug Fixes: - - The non-termio code in both telnet and telnetd was - setting/clearing CTLECH in the sg_flags word. This - was incorrect, and has been changed to set/clear the - LCTLECH bit in the local mode word. - - The SRCRT #define has been removed. If IP_OPTIONS - and IPPROTO_IP are defined on the system, then the - source route code is automatically enabled. - - The NO_GETTYTAB #define has been removed; there - is a compatability routine that can be built into - libtelnet to achive the same results. - - The server, telnetd, has been switched to use getopt() - for parsing the argument list. - - The code for getting the input/output speeds via - cfgetispeed()/cfgetospeed() was still not quite - right in telnet. Posix says if the ispeed is 0, - then it is really equal to the ospeed. - - The suboption processing code in telnet now has - explicit checks to make sure that we received - the entire suboption (telnetd was already doing this). - - The telnet code for processing the terminal type - could cause a core dump if an existing connection - was closed, and a new connection opened without - exiting telnet. - - Telnetd was doing a TCSADRAIN when setting the new - terminal settings; This is not good, because it means - that the tcsetattr() will hang waiting for output to - drain, and telnetd is the only one that will drain - the output... The fix is to use TCSANOW which does - not wait. - - Telnetd was improperly setting/clearing the ISTRIP - flag in the c_lflag field, it should be using the - c_iflag field. - - When the child process of telnetd was opening the - slave side of the pty, it was re-setting the EXTPROC - bit too early, and some of the other initialization - code was wiping it out. This would cause telnetd - to go out of linemode and into single character mode. - - One instance of leaving linemode in telnetd forgot - to send a WILL ECHO to the client, the net result - would be that the user would see double character - echo. - - If the MODE was being changed several times very - quickly, telnetd could get out of sync with the - state changes and the returning acks; and wind up - being left in the wrong state. - -September 14, 1990: - - Switch the client to use getopt() for parsing the - argument list. The 4.3Reno getopt.c is included for - systems that don't have getopt(). - - Use the posix _POSIX_VDISABLE value for what value - to use when disabling special characters. If this - is undefined, it defaults to 0x3ff. - - For non-termio systems, TIOCSETP was being used to - change the state of the terminal. This causes the - input queue to be flushed, which we don't want. This - is now changed to TIOCSETN. - - Take out the "#ifdef notdef" around the code in the - server that generates a "sync" when the pty oputput - is flushed. The potential problem is that some older - telnet clients may go into an infinate loop when they - receive a "sync", if so, the server can be compiled - with "NO_URGENT" defined. - - Fix the client where it was setting/clearing the OPOST - bit in the c_lflag field, not the c_oflag field. - - Fix the client where it was setting/clearing the ISTRIP - bit in the c_lflag field, not the c_iflag field. (On - 4.3Reno, this is the ECHOPRT bit in the c_lflag field.) - The client also had its interpretation of WILL BINARY - and DO BINARY reversed. - - Fix a bug in client that would cause a core dump when - attempting to remove the last environment variable. - - In the client, there were a few places were switch() - was being passed a character, and if it was a negative - value, it could get sign extended, and not match - the 8 bit case statements. The fix is to and the - switch value with 0xff. - - Add a couple more printoption() calls in the client, I - don't think there are any more places were a telnet - command can be received and not printed out when - "options" is on. - - A new flag has been added to the client, "-a". Currently, - this just causes the USER name to be sent across, in - the future this may be used to signify that automatic - authentication is requested. - - The USER variable is now only sent by the client if - the "-a" or "-l user" options are explicity used, or - if the user explicitly asks for the "USER" environment - variable to be exported. In the server, if it receives - the "USER" environment variable, it won't print out the - banner message, so that only "Password:" will be printed. - This makes the symantics more like rlogin, and should be - more familiar to the user. (People are not used to - getting a banner message, and then getting just a - "Password:" prompt.) - - Re-vamp the code for starting up the child login - process. The code was getting ugly, and it was - hard to tell what was really going on. What we - do now is after the fork(), in the child: - 1) make sure we have no controlling tty - 2) open and initialize the tty - 3) do a setsid()/setpgrp() - 4) makes the tty our controlling tty. - On some systems, #2 makes the tty our controlling - tty, and #4 is a no-op. The parent process does - a gets rid of any controlling tty after the child - is fork()ed. - - Use the strdup() library routine in telnet, instead - of the local savestr() routine. If you don't have - strdup(), you need to define NO_STRDUP. - - Add support for ^T (SIGINFO/VSTATUS), found in the - 4.3Reno distribution. This maps to the AYT character. - You need a 4-line bugfix in the kernel to get this - to work properly: - - > *** tty_pty.c.ORG Tue Sep 11 09:41:53 1990 - > --- tty_pty.c Tue Sep 11 17:48:03 1990 - > *************** - > *** 609,613 **** - > if ((tp->t_lflag&NOFLSH) == 0) - > ttyflush(tp, FREAD|FWRITE); - > ! pgsignal(tp->t_pgrp, *(unsigned int *)data); - > return(0); - > } - > --- 609,616 ---- - > if ((tp->t_lflag&NOFLSH) == 0) - > ttyflush(tp, FREAD|FWRITE); - > ! pgsignal(tp->t_pgrp, *(unsigned int *)data, 1); - > ! if ((*(unsigned int *)data == SIGINFO) && - > ! ((tp->t_lflag&NOKERNINFO) == 0)) - > ! ttyinfo(tp); - > return(0); - > } - - The client is now smarter when setting the telnet escape - character; it only sets it to one of VEOL and VEOL2 if - one of them is undefined, and the other one is not already - defined to the telnet escape character. - - Handle TERMIOS systems that have seperate input and output - line speed settings imbedded in the flags. - - Many other minor bug fixes. - -June 20, 1990: - Re-organize makefiles and source tree. The telnet/Source - directory is now gone, and all the source that was in - telnet/Source is now just in the telnet directory. - - Seperate makefile for each system are now gone. There - are two makefiles, Makefile and Makefile.generic. - The "Makefile" has the definitions for the various - system, and "Makefile.generic" does all the work. - There is a variable called "WHAT" that is used to - specify what to make. For example, in the telnet - directory, you might say: - make 4.4bsd WHAT=clean - to clean out the directory. - - Add support for the ENVIRON and XDISPLOC options. - In order for the server to work, login has to have - the "-p" option to preserve environment variables. - - Add the SOFT_TAB and LIT_ECHO modes in the LINEMODE support. - - Add the "-l user" option to command line and open command - (This is passed through the ENVIRON option). - - Add the "-e" command line option, for setting the escape - character. - - Add the "-D", diagnostic, option to the server. This allows - the server to print out debug information, which is very - useful when trying to debug a telnet that doesn't have any - debugging ability. - - Turn off the literal next character when not in LINEMODE. - - Don't recognize ^Y locally, just pass it through. - - Make minor modifications for Sun4.0 and Sun4.1 - - Add support for both FORW1 and FORW2 characters. The - telnet escpape character is set to whichever of the - two is not being used. If both are in use, the escape - character is not set, so when in linemode the user will - have to follow the escape character with a <CR> or <EOF) - to get it passed through. - - Commands can now be put in single and double quotes, and - a backslash is now an escape character. This is needed - for allowing arbitrary strings to be assigned to environment - variables. - - Switch telnetd to use macros like telnet for keeping - track of the state of all the options. - - Fix telnetd's processing of options so that we always do - the right processing of the LINEMODE option, regardless - of who initiates the request to turn it on. Also, make - sure that if the other side went "WILL ECHO" in response - to our "DO ECHO", that we send a "DONT ECHO" to get the - option turned back off! - - Fix the TERMIOS setting of the terminal speed to handle both - BSD's seperate fields, and the SYSV method of CBAUD bits. - - Change how we deal with the other side refusing to enable - an option. The sequence used to be: send DO option; receive - WONT option; send DONT option. Now, the sequence is: send - DO option; receive WONT option. Both should be valid - according to the spec, but there has been at least one - client implementation of telnet identified that can get - really confused by this. (The exact sequence, from a trace - on the server side, is (numbers are number of responses that - we expect to get after that line...): - - send WILL ECHO 1 (initial request) - send WONT ECHO 2 (server is changing state) - recv DO ECHO 1 (first reply, ok. expect DONT ECHO next) - send WILL ECHO 2 (server changes state again) - recv DONT ECHO 1 (second reply, ok. expect DO ECHO next) - recv DONT ECHO 0 (third reply, wrong answer. got DONT!!!) - *** send WONT ECHO (send WONT to acknowledge the DONT) - send WILL ECHO 1 (ask again to enable option) - recv DO ECHO 0 - - recv DONT ECHO 0 - send WONT ECHO 1 - recv DONT ECHO 0 - recv DO ECHO 1 - send WILL ECHO 0 - (and the last 5 lines loop forever) - - The line with the "***" is last of the WILL/DONT/WONT sequence. - The change to the server to not generate that makes this same - example become: - - send will ECHO 1 - send wont ECHO 2 - recv do ECHO 1 - send will ECHO 2 - recv dont ECHO 1 - recv dont ECHO 0 - recv do ECHO 1 - send will ECHO 0 - - There is other option negotiation going on, and not sending - the third part changes some of the timings, but this specific - example no longer gets stuck in a loop. The "telnet.state" - file has been modified to reflect this change to the algorithm. - - A bunch of miscellaneous bug fixes and changes to make - lint happier. - - This version of telnet also has some KERBEROS stuff in - it. This has not been tested, it uses an un-authorized - telnet option number, and uses an out-of-date version - of the (still being defined) AUTHENTICATION option. - There is no support for this code, do not enable it. - - -March 1, 1990: -CHANGES/BUGFIXES SINCE LAST RELEASE: - Some support for IP TOS has been added. Requires that the - kernel support the IP_TOS socket option (currently this - is only in UNICOS 6.0). - - Both telnet and telnetd now use the cc_t typedef. typedefs are - included for systems that don't have it (in termios.h). - - SLC_SUSP was not supported properly before. It is now. - - IAC EOF was not translated properly in telnetd for SYSV_TERMIO - when not in linemode. It now saves a copy of the VEOF character, - so that when ICANON is turned off and we can't trust it anymore - (because it is now the VMIN character) we use the saved value. - - There were two missing "break" commands in the linemode - processing code in telnetd. - - Telnetd wasn't setting the kernel window size information - properly. It was using the rows for both rows and columns... - -Questions/comments go to - David Borman - Cray Research, Inc. - 655F Lone Oak Drive - Eagan, MN 55123 - dab@cray.com. - -README: You are reading it. - -Config.generic: - This file contains all the OS specific definitions. It - has pre-definitions for many common system types, and is - in standard makefile fromat. See the comments at the top - of the file for more information. - -Config.local: - This is not part of the distribution, but if this file exists, - it is used instead of "Config.generic". This allows site - specific configuration without having to modify the distributed - "Config.generic" file. - -kern.diff: - This file contains the diffs for the changes needed for the - kernel to support LINEMODE is the server. These changes are - for a 4.3BSD system. You may need to make some changes for - your particular system. - - There is a new bit in the terminal state word, TS_EXTPROC. - When this bit is set, several aspects of the terminal driver - are disabled. Input line editing, character echo, and - mapping of signals are all disabled. This allows the telnetd - to turn of these functions when in linemode, but still keep - track of what state the user wants the terminal to be in. - - New ioctl()s: - - TIOCEXT Turn on/off the TS_EXTPROC bit - TIOCGSTATE Get t_state of tty to look at TS_EXTPROC bit - TIOCSIG Generate a signal to processes in the - current process group of the pty. - - There is a new mode for packet driver, the TIOCPKT_IOCTL bit. - When packet mode is turned on in the pty, and the TS_EXTPROC - bit is set, then whenever the state of the pty is changed, the - next read on the master side of the pty will have the TIOCPKT_IOCTL - bit set, and the data will contain the following: - struct xx { - struct sgttyb a; - struct tchars b; - struct ltchars c; - int t_state; - int t_flags; - } - This allows the process on the server side of the pty to know - when the state of the terminal has changed, and what the new - state is. - - However, if you define USE_TERMIO or SYSV_TERMIO, the code will - expect that the structure returned in the TIOCPKT_IOCTL is - the termio/termios structure. - -stty.diff: - This file contains the changes needed for the stty(1) program - to report on the current status of the TS_EXTPROC bit. It also - allows the user to turn on/off the TS_EXTPROC bit. This is useful - because it allows the user to say "stty -extproc", and the - LINEMODE option will be automatically disabled, and saying "stty - extproc" will re-enable the LINEMODE option. - -telnet.state: - Both the client and server have code in them to deal - with option negotiation loops. The algorithm that is - used is described in this file. - -tmac.doc: - Macros for use in formatting the man pages on non-4.3Reno - systems. - -telnet: - This directory contains the client code. No kernel changes are - needed to use this code. - -telnetd: - This directory contains the server code. If LINEMODE or KLUDGELINEMODE - are defined, then the kernel modifications listed above are needed. - -libtelnet: - This directory contains code that is common to both the client - and the server. - -arpa: - This directory has a new <arpa/telnet.h> - - -The following TELNET options are supported: - - LINEMODE: - The LINEMODE option is supported as per RFC1116. The - FORWARDMASK option is not currently supported. - - BINARY: The client has the ability to turn on/off the BINARY - option in each direction. Turning on BINARY from - server to client causes the LITOUT bit to get set in - the terminal driver on both ends, turning on BINARY - from the client to the server causes the PASS8 bit - to get set in the terminal driver on both ends. - - TERMINAL-TYPE: - This is supported as per RFC1091. On the server side, - when a terminal type is received, termcap/terminfo - is consulted to determine if it is a known terminal - type. It keeps requesting terminal types until it - gets one that it recongnizes, or hits the end of the - list. The server side looks up the entry in the - termcap/terminfo data base, and generates a list of - names which it then passes one at a time to each - request for a terminal type, duplicating the last - entry in the list before cycling back to the beginning. - - NAWS: The Negotiate about Window Size, as per RFC 1073. - - TERMINAL-SPEED: - Implemented as per RFC 1079 - - TOGGLE-FLOW-CONTROL: - Implemented as per RFC 1080 - - TIMING-MARK: - As per RFC 860 - - SGA: As per RFC 858 - - ECHO: As per RFC 857 - - STATUS: - The server will send its current status upon - request. It does not ask for the clients status. - The client will request the servers current status - from the "send getstatus" command. - - ENVIRON: - This option is currently being defined by the IETF - Telnet Working Group, and an RFC has not yet been - issued, but should be in the near future... - - X-DISPLAY-LOCATION: - This functionality can be done through the ENVIRON - option, it is added here for completeness. - - AUTHENTICATION: - This option is currently being defined by the IETF - Telnet Working Group, and an RFC has not yet been - issued. The basic framework is pretty much decided, - but the definitions for the specific authentication - schemes is still in a state of flux. - - ENCRYPT: - This option is currently being defined by the IETF - Telnet Working Group, and an RFC has not yet been - issued. The draft RFC is still in a state of flux, - so this code may change in the future. diff --git a/eBones/usr.bin/telnet/commands.c b/eBones/usr.bin/telnet/commands.c deleted file mode 100644 index c642877f710c0..0000000000000 --- a/eBones/usr.bin/telnet/commands.c +++ /dev/null @@ -1,3002 +0,0 @@ -/* - * Copyright (c) 1988, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)commands.c 8.4 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#if defined(unix) -#include <sys/param.h> -#if defined(CRAY) || defined(sysV88) -#include <sys/types.h> -#endif -#include <sys/file.h> -#else -#include <sys/types.h> -#endif /* defined(unix) */ -#include <sys/socket.h> -#include <netinet/in.h> -#ifdef CRAY -#include <fcntl.h> -#endif /* CRAY */ - -#include <signal.h> -#include <netdb.h> -#include <ctype.h> -#include <pwd.h> -#include <varargs.h> -#include <errno.h> -#include <unistd.h> -#include <stdlib.h> - -#include <arpa/telnet.h> - -#include "general.h" - -#include "ring.h" - -#include "externs.h" -#include "defines.h" -#include "types.h" - -#if defined(AUTHENTICATION) -#include <libtelnet/auth.h> -#endif -#if defined(ENCRYPTION) -#include <libtelnet/encrypt.h> -#endif - -#if !defined(CRAY) && !defined(sysV88) -#include <netinet/in_systm.h> -# if (defined(vax) || defined(tahoe) || defined(hp300)) && !defined(ultrix) -# include <machine/endian.h> -# endif /* vax */ -#endif /* !defined(CRAY) && !defined(sysV88) */ -#include <netinet/ip.h> - - -#ifndef MAXHOSTNAMELEN -#define MAXHOSTNAMELEN 64 -#endif MAXHOSTNAMELEN - -#if defined(IPPROTO_IP) && defined(IP_TOS) -int tos = -1; -#endif /* defined(IPPROTO_IP) && defined(IP_TOS) */ - -char *hostname; -static char _hostname[MAXHOSTNAMELEN]; - -extern char *getenv(); - -extern int isprefix(); -extern char **genget(); -extern int Ambiguous(); - -static int help(int argc, char *argv[]); -static int call(); -static void cmdrc(char *m1, char *m2); - -int quit(void); - -typedef struct { - char *name; /* command name */ - char *help; /* help string (NULL for no help) */ - int (*handler)(); /* routine which executes command */ - int needconnect; /* Do we need to be connected to execute? */ -} Command; - -static char line[256]; -static char saveline[256]; -static int margc; -static char *margv[20]; - -#if defined(SKEY) -#include <sys/wait.h> -#define PATH_SKEY "/usr/bin/key" - int -skey_calc(argc, argv) - int argc; - char **argv; -{ - int status; - - if(argc != 3) { - printf("%s sequence challenge\n", argv[0]); - return; - } - - switch(fork()) { - case 0: - execv(PATH_SKEY, argv); - exit (1); - case -1: - perror("fork"); - break; - default: - (void) wait(&status); - if (WIFEXITED(status)) - return (WEXITSTATUS(status)); - return (0); - } -} -#endif - - static void -makeargv() -{ - register char *cp, *cp2, c; - register char **argp = margv; - - margc = 0; - cp = line; - if (*cp == '!') { /* Special case shell escape */ - strcpy(saveline, line); /* save for shell command */ - *argp++ = "!"; /* No room in string to get this */ - margc++; - cp++; - } - while ((c = *cp)) { - register int inquote = 0; - while (isspace(c)) - c = *++cp; - if (c == '\0') - break; - *argp++ = cp; - margc += 1; - for (cp2 = cp; c != '\0'; c = *++cp) { - if (inquote) { - if (c == inquote) { - inquote = 0; - continue; - } - } else { - if (c == '\\') { - if ((c = *++cp) == '\0') - break; - } else if (c == '"') { - inquote = '"'; - continue; - } else if (c == '\'') { - inquote = '\''; - continue; - } else if (isspace(c)) - break; - } - *cp2++ = c; - } - *cp2 = '\0'; - if (c == '\0') - break; - cp++; - } - *argp++ = 0; -} - -/* - * Make a character string into a number. - * - * Todo: 1. Could take random integers (12, 0x12, 012, 0b1). - */ - - static int -special(s) - register char *s; -{ - register char c; - char b; - - switch (*s) { - case '^': - b = *++s; - if (b == '?') { - c = b | 0x40; /* DEL */ - } else { - c = b & 0x1f; - } - break; - default: - c = *s; - break; - } - return c; -} - -/* - * Construct a control character sequence - * for a special character. - */ - static char * -control(c) - register cc_t c; -{ - static char buf[5]; - /* - * The only way I could get the Sun 3.5 compiler - * to shut up about - * if ((unsigned int)c >= 0x80) - * was to assign "c" to an unsigned int variable... - * Arggg.... - */ - register unsigned int uic = (unsigned int)c; - - if (uic == 0x7f) - return ("^?"); - if (c == (cc_t)_POSIX_VDISABLE) { - return "off"; - } - if (uic >= 0x80) { - buf[0] = '\\'; - buf[1] = ((c>>6)&07) + '0'; - buf[2] = ((c>>3)&07) + '0'; - buf[3] = (c&07) + '0'; - buf[4] = 0; - } else if (uic >= 0x20) { - buf[0] = c; - buf[1] = 0; - } else { - buf[0] = '^'; - buf[1] = '@'+c; - buf[2] = 0; - } - return (buf); -} - - - -/* - * The following are data structures and routines for - * the "send" command. - * - */ - -struct sendlist { - char *name; /* How user refers to it (case independent) */ - char *help; /* Help information (0 ==> no help) */ - int needconnect; /* Need to be connected */ - int narg; /* Number of arguments */ - int (*handler)(); /* Routine to perform (for special ops) */ - int nbyte; /* Number of bytes to send this command */ - int what; /* Character to be sent (<0 ==> special) */ -}; - - -static int - send_esc P((void)), - send_help P((void)), - send_docmd P((char *)), - send_dontcmd P((char *)), - send_willcmd P((char *)), - send_wontcmd P((char *)); - -static struct sendlist Sendlist[] = { - { "ao", "Send Telnet Abort output", 1, 0, 0, 2, AO }, - { "ayt", "Send Telnet 'Are You There'", 1, 0, 0, 2, AYT }, - { "brk", "Send Telnet Break", 1, 0, 0, 2, BREAK }, - { "break", 0, 1, 0, 0, 2, BREAK }, - { "ec", "Send Telnet Erase Character", 1, 0, 0, 2, EC }, - { "el", "Send Telnet Erase Line", 1, 0, 0, 2, EL }, - { "escape", "Send current escape character", 1, 0, send_esc, 1, 0 }, - { "ga", "Send Telnet 'Go Ahead' sequence", 1, 0, 0, 2, GA }, - { "ip", "Send Telnet Interrupt Process", 1, 0, 0, 2, IP }, - { "intp", 0, 1, 0, 0, 2, IP }, - { "interrupt", 0, 1, 0, 0, 2, IP }, - { "intr", 0, 1, 0, 0, 2, IP }, - { "nop", "Send Telnet 'No operation'", 1, 0, 0, 2, NOP }, - { "eor", "Send Telnet 'End of Record'", 1, 0, 0, 2, EOR }, - { "abort", "Send Telnet 'Abort Process'", 1, 0, 0, 2, ABORT }, - { "susp", "Send Telnet 'Suspend Process'", 1, 0, 0, 2, SUSP }, - { "eof", "Send Telnet End of File Character", 1, 0, 0, 2, xEOF }, - { "synch", "Perform Telnet 'Synch operation'", 1, 0, dosynch, 2, 0 }, - { "getstatus", "Send request for STATUS", 1, 0, get_status, 6, 0 }, - { "?", "Display send options", 0, 0, send_help, 0, 0 }, - { "help", 0, 0, 0, send_help, 0, 0 }, - { "do", 0, 0, 1, send_docmd, 3, 0 }, - { "dont", 0, 0, 1, send_dontcmd, 3, 0 }, - { "will", 0, 0, 1, send_willcmd, 3, 0 }, - { "wont", 0, 0, 1, send_wontcmd, 3, 0 }, - { 0 } -}; - -#define GETSEND(name) ((struct sendlist *) genget(name, (char **) Sendlist, \ - sizeof(struct sendlist))) - - static int -sendcmd(argc, argv) - int argc; - char **argv; -{ - int count; /* how many bytes we are going to need to send */ - int i; - struct sendlist *s; /* pointer to current command */ - int success = 0; - int needconnect = 0; - - if (argc < 2) { - printf("need at least one argument for 'send' command\n"); - printf("'send ?' for help\n"); - return 0; - } - /* - * First, validate all the send arguments. - * In addition, we see how much space we are going to need, and - * whether or not we will be doing a "SYNCH" operation (which - * flushes the network queue). - */ - count = 0; - for (i = 1; i < argc; i++) { - s = GETSEND(argv[i]); - if (s == 0) { - printf("Unknown send argument '%s'\n'send ?' for help.\n", - argv[i]); - return 0; - } else if (Ambiguous(s)) { - printf("Ambiguous send argument '%s'\n'send ?' for help.\n", - argv[i]); - return 0; - } - if (i + s->narg >= argc) { - fprintf(stderr, - "Need %d argument%s to 'send %s' command. 'send %s ?' for help.\n", - s->narg, s->narg == 1 ? "" : "s", s->name, s->name); - return 0; - } - count += s->nbyte; - if (s->handler == send_help) { - send_help(); - return 0; - } - - i += s->narg; - needconnect += s->needconnect; - } - if (!connected && needconnect) { - printf("?Need to be connected first.\n"); - printf("'send ?' for help\n"); - return 0; - } - /* Now, do we have enough room? */ - if (NETROOM() < count) { - printf("There is not enough room in the buffer TO the network\n"); - printf("to process your request. Nothing will be done.\n"); - printf("('send synch' will throw away most data in the network\n"); - printf("buffer, if this might help.)\n"); - return 0; - } - /* OK, they are all OK, now go through again and actually send */ - count = 0; - for (i = 1; i < argc; i++) { - if ((s = GETSEND(argv[i])) == 0) { - fprintf(stderr, "Telnet 'send' error - argument disappeared!\n"); - (void) quit(); - /*NOTREACHED*/ - } - if (s->handler) { - count++; - success += (*s->handler)((s->narg > 0) ? argv[i+1] : 0, - (s->narg > 1) ? argv[i+2] : 0); - i += s->narg; - } else { - NET2ADD(IAC, s->what); - printoption("SENT", IAC, s->what); - } - } - return (count == success); -} - - static int -send_esc() -{ - NETADD(escape); - return 1; -} - - static int -send_docmd(name) - char *name; -{ - return(send_tncmd(send_do, "do", name)); -} - - static int -send_dontcmd(name) - char *name; -{ - return(send_tncmd(send_dont, "dont", name)); -} - static int -send_willcmd(name) - char *name; -{ - return(send_tncmd(send_will, "will", name)); -} - static int -send_wontcmd(name) - char *name; -{ - return(send_tncmd(send_wont, "wont", name)); -} - - int -send_tncmd(func, cmd, name) - void (*func)(); - char *cmd, *name; -{ - char **cpp; - extern char *telopts[]; - register int val = 0; - - if (isprefix(name, "help") || isprefix(name, "?")) { - register int col, len; - - printf("Usage: send %s <value|option>\n", cmd); - printf("\"value\" must be from 0 to 255\n"); - printf("Valid options are:\n\t"); - - col = 8; - for (cpp = telopts; *cpp; cpp++) { - len = strlen(*cpp) + 3; - if (col + len > 65) { - printf("\n\t"); - col = 8; - } - printf(" \"%s\"", *cpp); - col += len; - } - printf("\n"); - return 0; - } - cpp = (char **)genget(name, telopts, sizeof(char *)); - if (Ambiguous(cpp)) { - fprintf(stderr,"'%s': ambiguous argument ('send %s ?' for help).\n", - name, cmd); - return 0; - } - if (cpp) { - val = cpp - telopts; - } else { - register char *cp = name; - - while (*cp >= '0' && *cp <= '9') { - val *= 10; - val += *cp - '0'; - cp++; - } - if (*cp != 0) { - fprintf(stderr, "'%s': unknown argument ('send %s ?' for help).\n", - name, cmd); - return 0; - } else if (val < 0 || val > 255) { - fprintf(stderr, "'%s': bad value ('send %s ?' for help).\n", - name, cmd); - return 0; - } - } - if (!connected) { - printf("?Need to be connected first.\n"); - return 0; - } - (*func)(val, 1); - return 1; -} - - static int -send_help() -{ - struct sendlist *s; /* pointer to current command */ - for (s = Sendlist; s->name; s++) { - if (s->help) - printf("%-15s %s\n", s->name, s->help); - } - return(0); -} - -/* - * The following are the routines and data structures referred - * to by the arguments to the "toggle" command. - */ - - static int -lclchars() -{ - donelclchars = 1; - return 1; -} - - static int -togdebug() -{ -#ifndef NOT43 - if (net > 0 && - (SetSockOpt(net, SOL_SOCKET, SO_DEBUG, debug)) < 0) { - perror("setsockopt (SO_DEBUG)"); - } -#else /* NOT43 */ - if (debug) { - if (net > 0 && SetSockOpt(net, SOL_SOCKET, SO_DEBUG, 1) < 0) - perror("setsockopt (SO_DEBUG)"); - } else - printf("Cannot turn off socket debugging\n"); -#endif /* NOT43 */ - return 1; -} - - - static int -togcrlf() -{ - if (crlf) { - printf("Will send carriage returns as telnet <CR><LF>.\n"); - } else { - printf("Will send carriage returns as telnet <CR><NUL>.\n"); - } - return 1; -} - -int binmode; - - static int -togbinary(val) - int val; -{ - donebinarytoggle = 1; - - if (val >= 0) { - binmode = val; - } else { - if (my_want_state_is_will(TELOPT_BINARY) && - my_want_state_is_do(TELOPT_BINARY)) { - binmode = 1; - } else if (my_want_state_is_wont(TELOPT_BINARY) && - my_want_state_is_dont(TELOPT_BINARY)) { - binmode = 0; - } - val = binmode ? 0 : 1; - } - - if (val == 1) { - if (my_want_state_is_will(TELOPT_BINARY) && - my_want_state_is_do(TELOPT_BINARY)) { - printf("Already operating in binary mode with remote host.\n"); - } else { - printf("Negotiating binary mode with remote host.\n"); - tel_enter_binary(3); - } - } else { - if (my_want_state_is_wont(TELOPT_BINARY) && - my_want_state_is_dont(TELOPT_BINARY)) { - printf("Already in network ascii mode with remote host.\n"); - } else { - printf("Negotiating network ascii mode with remote host.\n"); - tel_leave_binary(3); - } - } - return 1; -} - - static int -togrbinary(val) - int val; -{ - donebinarytoggle = 1; - - if (val == -1) - val = my_want_state_is_do(TELOPT_BINARY) ? 0 : 1; - - if (val == 1) { - if (my_want_state_is_do(TELOPT_BINARY)) { - printf("Already receiving in binary mode.\n"); - } else { - printf("Negotiating binary mode on input.\n"); - tel_enter_binary(1); - } - } else { - if (my_want_state_is_dont(TELOPT_BINARY)) { - printf("Already receiving in network ascii mode.\n"); - } else { - printf("Negotiating network ascii mode on input.\n"); - tel_leave_binary(1); - } - } - return 1; -} - - static int -togxbinary(val) - int val; -{ - donebinarytoggle = 1; - - if (val == -1) - val = my_want_state_is_will(TELOPT_BINARY) ? 0 : 1; - - if (val == 1) { - if (my_want_state_is_will(TELOPT_BINARY)) { - printf("Already transmitting in binary mode.\n"); - } else { - printf("Negotiating binary mode on output.\n"); - tel_enter_binary(2); - } - } else { - if (my_want_state_is_wont(TELOPT_BINARY)) { - printf("Already transmitting in network ascii mode.\n"); - } else { - printf("Negotiating network ascii mode on output.\n"); - tel_leave_binary(2); - } - } - return 1; -} - - -static int togglehelp P((void)); -#if defined(AUTHENTICATION) -extern int auth_togdebug P((int)); -#endif -#ifdef ENCRYPTION -extern int EncryptAutoEnc P((int)); -extern int EncryptAutoDec P((int)); -extern int EncryptDebug P((int)); -extern int EncryptVerbose P((int)); -#endif /* ENCRYPTION */ - -struct togglelist { - char *name; /* name of toggle */ - char *help; /* help message */ - int (*handler)(); /* routine to do actual setting */ - int *variable; - char *actionexplanation; -}; - -static struct togglelist Togglelist[] = { - { "autoflush", - "flushing of output when sending interrupt characters", - 0, - &autoflush, - "flush output when sending interrupt characters" }, - { "autosynch", - "automatic sending of interrupt characters in urgent mode", - 0, - &autosynch, - "send interrupt characters in urgent mode" }, -#if defined(AUTHENTICATION) - { "autologin", - "automatic sending of login and/or authentication info", - 0, - &autologin, - "send login name and/or authentication information" }, - { "authdebug", - "Toggle authentication debugging", - auth_togdebug, - 0, - "print authentication debugging information" }, -#endif -#ifdef ENCRYPTION - { "autoencrypt", - "automatic encryption of data stream", - EncryptAutoEnc, - 0, - "automatically encrypt output" }, - { "autodecrypt", - "automatic decryption of data stream", - EncryptAutoDec, - 0, - "automatically decrypt input" }, - { "verbose_encrypt", - "Toggle verbose encryption output", - EncryptVerbose, - 0, - "print verbose encryption output" }, - { "encdebug", - "Toggle encryption debugging", - EncryptDebug, - 0, - "print encryption debugging information" }, -#endif /* ENCRYPTION */ - { "skiprc", - "don't read ~/.telnetrc file", - 0, - &skiprc, - "skip reading of ~/.telnetrc file" }, - { "binary", - "sending and receiving of binary data", - togbinary, - 0, - 0 }, - { "inbinary", - "receiving of binary data", - togrbinary, - 0, - 0 }, - { "outbinary", - "sending of binary data", - togxbinary, - 0, - 0 }, - { "crlf", - "sending carriage returns as telnet <CR><LF>", - togcrlf, - &crlf, - 0 }, - { "crmod", - "mapping of received carriage returns", - 0, - &crmod, - "map carriage return on output" }, - { "localchars", - "local recognition of certain control characters", - lclchars, - &localchars, - "recognize certain control characters" }, - { " ", "", 0 }, /* empty line */ -#if defined(unix) && defined(TN3270) - { "apitrace", - "(debugging) toggle tracing of API transactions", - 0, - &apitrace, - "trace API transactions" }, - { "cursesdata", - "(debugging) toggle printing of hexadecimal curses data", - 0, - &cursesdata, - "print hexadecimal representation of curses data" }, -#endif /* defined(unix) && defined(TN3270) */ - { "debug", - "debugging", - togdebug, - &debug, - "turn on socket level debugging" }, - { "netdata", - "printing of hexadecimal network data (debugging)", - 0, - &netdata, - "print hexadecimal representation of network traffic" }, - { "prettydump", - "output of \"netdata\" to user readable format (debugging)", - 0, - &prettydump, - "print user readable output for \"netdata\"" }, - { "options", - "viewing of options processing (debugging)", - 0, - &showoptions, - "show option processing" }, -#if defined(unix) - { "termdata", - "(debugging) toggle printing of hexadecimal terminal data", - 0, - &termdata, - "print hexadecimal representation of terminal traffic" }, -#endif /* defined(unix) */ - { "?", - 0, - togglehelp }, - { "help", - 0, - togglehelp }, - { 0 } -}; - - static int -togglehelp() -{ - struct togglelist *c; - - for (c = Togglelist; c->name; c++) { - if (c->help) { - if (*c->help) - printf("%-15s toggle %s\n", c->name, c->help); - else - printf("\n"); - } - } - printf("\n"); - printf("%-15s %s\n", "?", "display help information"); - return 0; -} - - static void -settogglehelp(set) - int set; -{ - struct togglelist *c; - - for (c = Togglelist; c->name; c++) { - if (c->help) { - if (*c->help) - printf("%-15s %s %s\n", c->name, set ? "enable" : "disable", - c->help); - else - printf("\n"); - } - } -} - -#define GETTOGGLE(name) (struct togglelist *) \ - genget(name, (char **) Togglelist, sizeof(struct togglelist)) - - static int -toggle(argc, argv) - int argc; - char *argv[]; -{ - int retval = 1; - char *name; - struct togglelist *c; - - if (argc < 2) { - fprintf(stderr, - "Need an argument to 'toggle' command. 'toggle ?' for help.\n"); - return 0; - } - argc--; - argv++; - while (argc--) { - name = *argv++; - c = GETTOGGLE(name); - if (Ambiguous(c)) { - fprintf(stderr, "'%s': ambiguous argument ('toggle ?' for help).\n", - name); - return 0; - } else if (c == 0) { - fprintf(stderr, "'%s': unknown argument ('toggle ?' for help).\n", - name); - return 0; - } else { - if (c->variable) { - *c->variable = !*c->variable; /* invert it */ - if (c->actionexplanation) { - printf("%s %s.\n", *c->variable? "Will" : "Won't", - c->actionexplanation); - } - } - if (c->handler) { - retval &= (*c->handler)(-1); - } - } - } - return retval; -} - -/* - * The following perform the "set" command. - */ - -#ifdef USE_TERMIO -struct termio new_tc = { 0 }; -#endif - -struct setlist { - char *name; /* name */ - char *help; /* help information */ - void (*handler)(); - cc_t *charp; /* where it is located at */ -}; - -static struct setlist Setlist[] = { -#ifdef KLUDGELINEMODE - { "echo", "character to toggle local echoing on/off", 0, &echoc }, -#endif - { "escape", "character to escape back to telnet command mode", 0, &escape }, - { "rlogin", "rlogin escape character", 0, &rlogin }, - { "tracefile", "file to write trace information to", SetNetTrace, (cc_t *)NetTraceFile}, - { " ", "" }, - { " ", "The following need 'localchars' to be toggled true", 0, 0 }, - { "flushoutput", "character to cause an Abort Output", 0, termFlushCharp }, - { "interrupt", "character to cause an Interrupt Process", 0, termIntCharp }, - { "quit", "character to cause an Abort process", 0, termQuitCharp }, - { "eof", "character to cause an EOF ", 0, termEofCharp }, - { " ", "" }, - { " ", "The following are for local editing in linemode", 0, 0 }, - { "erase", "character to use to erase a character", 0, termEraseCharp }, - { "kill", "character to use to erase a line", 0, termKillCharp }, - { "lnext", "character to use for literal next", 0, termLiteralNextCharp }, - { "susp", "character to cause a Suspend Process", 0, termSuspCharp }, - { "reprint", "character to use for line reprint", 0, termRprntCharp }, - { "worderase", "character to use to erase a word", 0, termWerasCharp }, - { "start", "character to use for XON", 0, termStartCharp }, - { "stop", "character to use for XOFF", 0, termStopCharp }, - { "forw1", "alternate end of line character", 0, termForw1Charp }, - { "forw2", "alternate end of line character", 0, termForw2Charp }, - { "ayt", "alternate AYT character", 0, termAytCharp }, - { 0 } -}; - -#if defined(CRAY) && !defined(__STDC__) -/* Work around compiler bug in pcc 4.1.5 */ - void -_setlist_init() -{ -#ifndef KLUDGELINEMODE -#define N 5 -#else -#define N 6 -#endif - Setlist[N+0].charp = &termFlushChar; - Setlist[N+1].charp = &termIntChar; - Setlist[N+2].charp = &termQuitChar; - Setlist[N+3].charp = &termEofChar; - Setlist[N+6].charp = &termEraseChar; - Setlist[N+7].charp = &termKillChar; - Setlist[N+8].charp = &termLiteralNextChar; - Setlist[N+9].charp = &termSuspChar; - Setlist[N+10].charp = &termRprntChar; - Setlist[N+11].charp = &termWerasChar; - Setlist[N+12].charp = &termStartChar; - Setlist[N+13].charp = &termStopChar; - Setlist[N+14].charp = &termForw1Char; - Setlist[N+15].charp = &termForw2Char; - Setlist[N+16].charp = &termAytChar; -#undef N -} -#endif /* defined(CRAY) && !defined(__STDC__) */ - - static struct setlist * -getset(name) - char *name; -{ - return (struct setlist *) - genget(name, (char **) Setlist, sizeof(struct setlist)); -} - - void -set_escape_char(s) - char *s; -{ - if (rlogin != _POSIX_VDISABLE) { - rlogin = (s && *s) ? special(s) : _POSIX_VDISABLE; - printf("Telnet rlogin escape character is '%s'.\n", - control(rlogin)); - } else { - escape = (s && *s) ? special(s) : _POSIX_VDISABLE; - printf("Telnet escape character is '%s'.\n", control(escape)); - } -} - - static int -setcmd(argc, argv) - int argc; - char *argv[]; -{ - int value; - struct setlist *ct; - struct togglelist *c; - - if (argc < 2 || argc > 3) { - printf("Format is 'set Name Value'\n'set ?' for help.\n"); - return 0; - } - if ((argc == 2) && (isprefix(argv[1], "?") || isprefix(argv[1], "help"))) { - for (ct = Setlist; ct->name; ct++) - printf("%-15s %s\n", ct->name, ct->help); - printf("\n"); - settogglehelp(1); - printf("%-15s %s\n", "?", "display help information"); - return 0; - } - - ct = getset(argv[1]); - if (ct == 0) { - c = GETTOGGLE(argv[1]); - if (c == 0) { - fprintf(stderr, "'%s': unknown argument ('set ?' for help).\n", - argv[1]); - return 0; - } else if (Ambiguous(c)) { - fprintf(stderr, "'%s': ambiguous argument ('set ?' for help).\n", - argv[1]); - return 0; - } - if (c->variable) { - if ((argc == 2) || (strcmp("on", argv[2]) == 0)) - *c->variable = 1; - else if (strcmp("off", argv[2]) == 0) - *c->variable = 0; - else { - printf("Format is 'set togglename [on|off]'\n'set ?' for help.\n"); - return 0; - } - if (c->actionexplanation) { - printf("%s %s.\n", *c->variable? "Will" : "Won't", - c->actionexplanation); - } - } - if (c->handler) - (*c->handler)(1); - } else if (argc != 3) { - printf("Format is 'set Name Value'\n'set ?' for help.\n"); - return 0; - } else if (Ambiguous(ct)) { - fprintf(stderr, "'%s': ambiguous argument ('set ?' for help).\n", - argv[1]); - return 0; - } else if (ct->handler) { - (*ct->handler)(argv[2]); - printf("%s set to \"%s\".\n", ct->name, (char *)ct->charp); - } else { - if (strcmp("off", argv[2])) { - value = special(argv[2]); - } else { - value = _POSIX_VDISABLE; - } - *(ct->charp) = (cc_t)value; - printf("%s character is '%s'.\n", ct->name, control(*(ct->charp))); - } - slc_check(); - return 1; -} - - static int -unsetcmd(argc, argv) - int argc; - char *argv[]; -{ - struct setlist *ct; - struct togglelist *c; - register char *name; - - if (argc < 2) { - fprintf(stderr, - "Need an argument to 'unset' command. 'unset ?' for help.\n"); - return 0; - } - if (isprefix(argv[1], "?") || isprefix(argv[1], "help")) { - for (ct = Setlist; ct->name; ct++) - printf("%-15s %s\n", ct->name, ct->help); - printf("\n"); - settogglehelp(0); - printf("%-15s %s\n", "?", "display help information"); - return 0; - } - - argc--; - argv++; - while (argc--) { - name = *argv++; - ct = getset(name); - if (ct == 0) { - c = GETTOGGLE(name); - if (c == 0) { - fprintf(stderr, "'%s': unknown argument ('unset ?' for help).\n", - name); - return 0; - } else if (Ambiguous(c)) { - fprintf(stderr, "'%s': ambiguous argument ('unset ?' for help).\n", - name); - return 0; - } - if (c->variable) { - *c->variable = 0; - if (c->actionexplanation) { - printf("%s %s.\n", *c->variable? "Will" : "Won't", - c->actionexplanation); - } - } - if (c->handler) - (*c->handler)(0); - } else if (Ambiguous(ct)) { - fprintf(stderr, "'%s': ambiguous argument ('unset ?' for help).\n", - name); - return 0; - } else if (ct->handler) { - (*ct->handler)(0); - printf("%s reset to \"%s\".\n", ct->name, (char *)ct->charp); - } else { - *(ct->charp) = _POSIX_VDISABLE; - printf("%s character is '%s'.\n", ct->name, control(*(ct->charp))); - } - } - return 1; -} - -/* - * The following are the data structures and routines for the - * 'mode' command. - */ -#ifdef KLUDGELINEMODE -extern int kludgelinemode; - - static void -dokludgemode() -{ - kludgelinemode = 1; - send_wont(TELOPT_LINEMODE, 1); - send_dont(TELOPT_SGA, 1); - send_dont(TELOPT_ECHO, 1); -} -#endif - - static int -dolinemode() -{ -#ifdef KLUDGELINEMODE - if (kludgelinemode) - send_dont(TELOPT_SGA, 1); -#endif - send_will(TELOPT_LINEMODE, 1); - send_dont(TELOPT_ECHO, 1); - return 1; -} - - static int -docharmode() -{ -#ifdef KLUDGELINEMODE - if (kludgelinemode) - send_do(TELOPT_SGA, 1); - else -#endif - send_wont(TELOPT_LINEMODE, 1); - send_do(TELOPT_ECHO, 1); - return 1; -} - - static int -dolmmode(bit, on) - int bit, on; -{ - unsigned char c; - extern int linemode; - - if (my_want_state_is_wont(TELOPT_LINEMODE)) { - printf("?Need to have LINEMODE option enabled first.\n"); - printf("'mode ?' for help.\n"); - return 0; - } - - if (on) - c = (linemode | bit); - else - c = (linemode & ~bit); - lm_mode(&c, 1, 1); - return 1; -} - - int -setmod(bit) -{ - return dolmmode(bit, 1); -} - - int -clearmode(bit) -{ - return dolmmode(bit, 0); -} - -struct modelist { - char *name; /* command name */ - char *help; /* help string */ - int (*handler)(); /* routine which executes command */ - int needconnect; /* Do we need to be connected to execute? */ - int arg1; -}; - -extern int modehelp(); - -static struct modelist ModeList[] = { - { "character", "Disable LINEMODE option", docharmode, 1 }, -#ifdef KLUDGELINEMODE - { "", "(or disable obsolete line-by-line mode)", 0 }, -#endif - { "line", "Enable LINEMODE option", dolinemode, 1 }, -#ifdef KLUDGELINEMODE - { "", "(or enable obsolete line-by-line mode)", 0 }, -#endif - { "", "", 0 }, - { "", "These require the LINEMODE option to be enabled", 0 }, - { "isig", "Enable signal trapping", setmod, 1, MODE_TRAPSIG }, - { "+isig", 0, setmod, 1, MODE_TRAPSIG }, - { "-isig", "Disable signal trapping", clearmode, 1, MODE_TRAPSIG }, - { "edit", "Enable character editing", setmod, 1, MODE_EDIT }, - { "+edit", 0, setmod, 1, MODE_EDIT }, - { "-edit", "Disable character editing", clearmode, 1, MODE_EDIT }, - { "softtabs", "Enable tab expansion", setmod, 1, MODE_SOFT_TAB }, - { "+softtabs", 0, setmod, 1, MODE_SOFT_TAB }, - { "-softtabs", "Disable character editing", clearmode, 1, MODE_SOFT_TAB }, - { "litecho", "Enable literal character echo", setmod, 1, MODE_LIT_ECHO }, - { "+litecho", 0, setmod, 1, MODE_LIT_ECHO }, - { "-litecho", "Disable literal character echo", clearmode, 1, MODE_LIT_ECHO }, - { "help", 0, modehelp, 0 }, -#ifdef KLUDGELINEMODE - { "kludgeline", 0, dokludgemode, 1 }, -#endif - { "", "", 0 }, - { "?", "Print help information", modehelp, 0 }, - { 0 }, -}; - - - int -modehelp() -{ - struct modelist *mt; - - printf("format is: 'mode Mode', where 'Mode' is one of:\n\n"); - for (mt = ModeList; mt->name; mt++) { - if (mt->help) { - if (*mt->help) - printf("%-15s %s\n", mt->name, mt->help); - else - printf("\n"); - } - } - return 0; -} - -#define GETMODECMD(name) (struct modelist *) \ - genget(name, (char **) ModeList, sizeof(struct modelist)) - - static int -modecmd(argc, argv) - int argc; - char *argv[]; -{ - struct modelist *mt; - - if (argc != 2) { - printf("'mode' command requires an argument\n"); - printf("'mode ?' for help.\n"); - } else if ((mt = GETMODECMD(argv[1])) == 0) { - fprintf(stderr, "Unknown mode '%s' ('mode ?' for help).\n", argv[1]); - } else if (Ambiguous(mt)) { - fprintf(stderr, "Ambiguous mode '%s' ('mode ?' for help).\n", argv[1]); - } else if (mt->needconnect && !connected) { - printf("?Need to be connected first.\n"); - printf("'mode ?' for help.\n"); - } else if (mt->handler) { - return (*mt->handler)(mt->arg1); - } - return 0; -} - -/* - * The following data structures and routines implement the - * "display" command. - */ - - static int -display(argc, argv) - int argc; - char *argv[]; -{ - struct togglelist *tl; - struct setlist *sl; - -#define dotog(tl) if (tl->variable && tl->actionexplanation) { \ - if (*tl->variable) { \ - printf("will"); \ - } else { \ - printf("won't"); \ - } \ - printf(" %s.\n", tl->actionexplanation); \ - } - -#define doset(sl) if (sl->name && *sl->name != ' ') { \ - if (sl->handler == 0) \ - printf("%-15s [%s]\n", sl->name, control(*sl->charp)); \ - else \ - printf("%-15s \"%s\"\n", sl->name, (char *)sl->charp); \ - } - - if (argc == 1) { - for (tl = Togglelist; tl->name; tl++) { - dotog(tl); - } - printf("\n"); - for (sl = Setlist; sl->name; sl++) { - doset(sl); - } - } else { - int i; - - for (i = 1; i < argc; i++) { - sl = getset(argv[i]); - tl = GETTOGGLE(argv[i]); - if (Ambiguous(sl) || Ambiguous(tl)) { - printf("?Ambiguous argument '%s'.\n", argv[i]); - return 0; - } else if (!sl && !tl) { - printf("?Unknown argument '%s'.\n", argv[i]); - return 0; - } else { - if (tl) { - dotog(tl); - } - if (sl) { - doset(sl); - } - } - } - } -/*@*/optionstatus(); -#ifdef ENCRYPTION - EncryptStatus(); -#endif /* ENCRYPTION */ - return 1; -#undef doset -#undef dotog -} - -/* - * The following are the data structures, and many of the routines, - * relating to command processing. - */ - -/* - * Set the escape character. - */ - static int -setescape(argc, argv) - int argc; - char *argv[]; -{ - register char *arg; - char buf[50]; - - printf( - "Deprecated usage - please use 'set escape%s%s' in the future.\n", - (argc > 2)? " ":"", (argc > 2)? argv[1]: ""); - if (argc > 2) - arg = argv[1]; - else { - printf("new escape character: "); - (void) fgets(buf, sizeof(buf), stdin); - arg = buf; - } - if (arg[0] != '\0') - escape = arg[0]; - if (!In3270) { - printf("Escape character is '%s'.\n", control(escape)); - } - (void) fflush(stdout); - return 1; -} - - /*VARARGS*/ - static int -togcrmod() -{ - crmod = !crmod; - printf("Deprecated usage - please use 'toggle crmod' in the future.\n"); - printf("%s map carriage return on output.\n", crmod ? "Will" : "Won't"); - (void) fflush(stdout); - return 1; -} - - /*VARARGS*/ - int -suspend() -{ -#ifdef SIGTSTP - setcommandmode(); - { - long oldrows, oldcols, newrows, newcols, err; - - err = (TerminalWindowSize(&oldrows, &oldcols) == 0) ? 1 : 0; - (void) kill(0, SIGTSTP); - /* - * If we didn't get the window size before the SUSPEND, but we - * can get them now (?), then send the NAWS to make sure that - * we are set up for the right window size. - */ - if (TerminalWindowSize(&newrows, &newcols) && connected && - (err || ((oldrows != newrows) || (oldcols != newcols)))) { - sendnaws(); - } - } - /* reget parameters in case they were changed */ - TerminalSaveState(); - setconnmode(0); -#else - printf("Suspend is not supported. Try the '!' command instead\n"); -#endif - return 1; -} - -#if !defined(TN3270) - /*ARGSUSED*/ - int -shell(argc, argv) - int argc; - char *argv[]; -{ - long oldrows, oldcols, newrows, newcols, err; - - setcommandmode(); - - err = (TerminalWindowSize(&oldrows, &oldcols) == 0) ? 1 : 0; - switch(vfork()) { - case -1: - perror("Fork failed\n"); - break; - - case 0: - { - /* - * Fire up the shell in the child. - */ - register char *shellp, *shellname; - extern char *strrchr(); - - shellp = getenv("SHELL"); - if (shellp == NULL) - shellp = "/bin/sh"; - if ((shellname = strrchr(shellp, '/')) == 0) - shellname = shellp; - else - shellname++; - if (argc > 1) - execl(shellp, shellname, "-c", &saveline[1], 0); - else - execl(shellp, shellname, 0); - perror("Execl"); - _exit(1); - } - default: - (void)wait((int *)0); /* Wait for the shell to complete */ - - if (TerminalWindowSize(&newrows, &newcols) && connected && - (err || ((oldrows != newrows) || (oldcols != newcols)))) { - sendnaws(); - } - break; - } - return 1; -} -#else /* !defined(TN3270) */ -extern int shell(); -#endif /* !defined(TN3270) */ - - /*VARARGS*/ - static int -bye(argc, argv) - int argc; /* Number of arguments */ - char *argv[]; /* arguments */ -{ - extern int resettermname; - - if (connected) { - (void) shutdown(net, 2); - printf("Connection closed.\n"); - (void) NetClose(net); - connected = 0; - resettermname = 1; -#if defined(AUTHENTICATION) || defined(ENCRYPTION) - auth_encrypt_connect(connected); -#endif /* defined(AUTHENTICATION) || defined(ENCRYPTION) */ - /* reset options */ - tninit(); -#if defined(TN3270) - SetIn3270(); /* Get out of 3270 mode */ -#endif /* defined(TN3270) */ - } - if ((argc != 2) || (strcmp(argv[1], "fromquit") != 0)) { - longjmp(toplevel, 1); - /* NOTREACHED */ - } - return 1; /* Keep lint, etc., happy */ -} - -/*VARARGS*/ - int -quit() -{ - (void) call(bye, "bye", "fromquit", 0); - Exit(0); - /*NOTREACHED*/ -} - -/*VARARGS*/ - int -logout() -{ - send_do(TELOPT_LOGOUT, 1); - (void) netflush(); - return 1; -} - - -/* - * The SLC command. - */ - -struct slclist { - char *name; - char *help; - void (*handler)(); - int arg; -}; - -static void slc_help(); - -struct slclist SlcList[] = { - { "export", "Use local special character definitions", - slc_mode_export, 0 }, - { "import", "Use remote special character definitions", - slc_mode_import, 1 }, - { "check", "Verify remote special character definitions", - slc_mode_import, 0 }, - { "help", 0, slc_help, 0 }, - { "?", "Print help information", slc_help, 0 }, - { 0 }, -}; - - static void -slc_help() -{ - struct slclist *c; - - for (c = SlcList; c->name; c++) { - if (c->help) { - if (*c->help) - printf("%-15s %s\n", c->name, c->help); - else - printf("\n"); - } - } -} - - static struct slclist * -getslc(name) - char *name; -{ - return (struct slclist *) - genget(name, (char **) SlcList, sizeof(struct slclist)); -} - - static int -slccmd(argc, argv) - int argc; - char *argv[]; -{ - struct slclist *c; - - if (argc != 2) { - fprintf(stderr, - "Need an argument to 'slc' command. 'slc ?' for help.\n"); - return 0; - } - c = getslc(argv[1]); - if (c == 0) { - fprintf(stderr, "'%s': unknown argument ('slc ?' for help).\n", - argv[1]); - return 0; - } - if (Ambiguous(c)) { - fprintf(stderr, "'%s': ambiguous argument ('slc ?' for help).\n", - argv[1]); - return 0; - } - (*c->handler)(c->arg); - slcstate(); - return 1; -} - -/* - * The ENVIRON command. - */ - -struct envlist { - char *name; - char *help; - void (*handler)(); - int narg; -}; - -extern struct env_lst * - env_define P((unsigned char *, unsigned char *)); -extern void - env_undefine P((unsigned char *)), - env_export P((unsigned char *)), - env_unexport P((unsigned char *)), - env_send P((unsigned char *)), -#if defined(OLD_ENVIRON) && defined(ENV_HACK) - env_varval P((unsigned char *)), -#endif - env_list P((void)); -static void - env_help P((void)); - -struct envlist EnvList[] = { - { "define", "Define an environment variable", - (void (*)())env_define, 2 }, - { "undefine", "Undefine an environment variable", - env_undefine, 1 }, - { "export", "Mark an environment variable for automatic export", - env_export, 1 }, - { "unexport", "Don't mark an environment variable for automatic export", - env_unexport, 1 }, - { "send", "Send an environment variable", env_send, 1 }, - { "list", "List the current environment variables", - env_list, 0 }, -#if defined(OLD_ENVIRON) && defined(ENV_HACK) - { "varval", "Reverse VAR and VALUE (auto, right, wrong, status)", - env_varval, 1 }, -#endif - { "help", 0, env_help, 0 }, - { "?", "Print help information", env_help, 0 }, - { 0 }, -}; - - static void -env_help() -{ - struct envlist *c; - - for (c = EnvList; c->name; c++) { - if (c->help) { - if (*c->help) - printf("%-15s %s\n", c->name, c->help); - else - printf("\n"); - } - } -} - - static struct envlist * -getenvcmd(name) - char *name; -{ - return (struct envlist *) - genget(name, (char **) EnvList, sizeof(struct envlist)); -} - - int -env_cmd(argc, argv) - int argc; - char *argv[]; -{ - struct envlist *c; - - if (argc < 2) { - fprintf(stderr, - "Need an argument to 'environ' command. 'environ ?' for help.\n"); - return 0; - } - c = getenvcmd(argv[1]); - if (c == 0) { - fprintf(stderr, "'%s': unknown argument ('environ ?' for help).\n", - argv[1]); - return 0; - } - if (Ambiguous(c)) { - fprintf(stderr, "'%s': ambiguous argument ('environ ?' for help).\n", - argv[1]); - return 0; - } - if (c->narg + 2 != argc) { - fprintf(stderr, - "Need %s%d argument%s to 'environ %s' command. 'environ ?' for help.\n", - c->narg < argc + 2 ? "only " : "", - c->narg, c->narg == 1 ? "" : "s", c->name); - return 0; - } - (*c->handler)(argv[2], argv[3]); - return 1; -} - -struct env_lst { - struct env_lst *next; /* pointer to next structure */ - struct env_lst *prev; /* pointer to previous structure */ - unsigned char *var; /* pointer to variable name */ - unsigned char *value; /* pointer to variable value */ - int export; /* 1 -> export with default list of variables */ - int welldefined; /* A well defined variable */ -}; - -struct env_lst envlisthead; - - struct env_lst * -env_find(var) - unsigned char *var; -{ - register struct env_lst *ep; - - for (ep = envlisthead.next; ep; ep = ep->next) { - if (strcmp((char *)ep->var, (char *)var) == 0) - return(ep); - } - return(NULL); -} - - void -env_init() -{ - extern char **environ; - register char **epp, *cp; - register struct env_lst *ep; - extern char *strchr(); - - for (epp = environ; *epp; epp++) { - if ((cp = strchr(*epp, '='))) { - *cp = '\0'; - ep = env_define((unsigned char *)*epp, - (unsigned char *)cp+1); - ep->export = 0; - *cp = '='; - } - } - /* - * Special case for DISPLAY variable. If it is ":0.0" or - * "unix:0.0", we have to get rid of "unix" and insert our - * hostname. - */ - if ((ep = env_find("DISPLAY")) - && ((*ep->value == ':') - || (strncmp((char *)ep->value, "unix:", 5) == 0))) { - char hbuf[256+1]; - char *cp2 = strchr((char *)ep->value, ':'); - - gethostname(hbuf, 256); - hbuf[256] = '\0'; - cp = (char *)malloc(strlen(hbuf) + strlen(cp2) + 1); - sprintf((char *)cp, "%s%s", hbuf, cp2); - free(ep->value); - ep->value = (unsigned char *)cp; - } - /* - * If USER is not defined, but LOGNAME is, then add - * USER with the value from LOGNAME. By default, we - * don't export the USER variable. - */ - if ((env_find("USER") == NULL) && (ep = env_find("LOGNAME"))) { - env_define((unsigned char *)"USER", ep->value); - env_unexport((unsigned char *)"USER"); - } - env_export((unsigned char *)"DISPLAY"); - env_export((unsigned char *)"PRINTER"); -} - - struct env_lst * -env_define(var, value) - unsigned char *var, *value; -{ - register struct env_lst *ep; - - if ((ep = env_find(var))) { - if (ep->var) - free(ep->var); - if (ep->value) - free(ep->value); - } else { - ep = (struct env_lst *)malloc(sizeof(struct env_lst)); - ep->next = envlisthead.next; - envlisthead.next = ep; - ep->prev = &envlisthead; - if (ep->next) - ep->next->prev = ep; - } - ep->welldefined = opt_welldefined(var); - ep->export = 1; - ep->var = (unsigned char *)strdup((char *)var); - ep->value = (unsigned char *)strdup((char *)value); - return(ep); -} - - void -env_undefine(var) - unsigned char *var; -{ - register struct env_lst *ep; - - if ((ep = env_find(var))) { - ep->prev->next = ep->next; - if (ep->next) - ep->next->prev = ep->prev; - if (ep->var) - free(ep->var); - if (ep->value) - free(ep->value); - free(ep); - } -} - - void -env_export(var) - unsigned char *var; -{ - register struct env_lst *ep; - - if ((ep = env_find(var))) - ep->export = 1; -} - - void -env_unexport(var) - unsigned char *var; -{ - register struct env_lst *ep; - - if ((ep = env_find(var))) - ep->export = 0; -} - - void -env_send(var) - unsigned char *var; -{ - register struct env_lst *ep; - - if (my_state_is_wont(TELOPT_NEW_ENVIRON) -#ifdef OLD_ENVIRON - && my_state_is_wont(TELOPT_OLD_ENVIRON) -#endif - ) { - fprintf(stderr, - "Cannot send '%s': Telnet ENVIRON option not enabled\n", - var); - return; - } - ep = env_find(var); - if (ep == 0) { - fprintf(stderr, "Cannot send '%s': variable not defined\n", - var); - return; - } - env_opt_start_info(); - env_opt_add(ep->var); - env_opt_end(0); -} - - void -env_list() -{ - register struct env_lst *ep; - - for (ep = envlisthead.next; ep; ep = ep->next) { - printf("%c %-20s %s\n", ep->export ? '*' : ' ', - ep->var, ep->value); - } -} - - unsigned char * -env_default(init, welldefined) - int init; -{ - static struct env_lst *nep = NULL; - - if (init) { - nep = &envlisthead; - return(NULL); - } - if (nep) { - while ((nep = nep->next)) { - if (nep->export && (nep->welldefined == welldefined)) - return(nep->var); - } - } - return(NULL); -} - - unsigned char * -env_getvalue(var) - unsigned char *var; -{ - register struct env_lst *ep; - - if ((ep = env_find(var))) - return(ep->value); - return(NULL); -} - -#if defined(OLD_ENVIRON) && defined(ENV_HACK) - void -env_varval(what) - unsigned char *what; -{ - extern int old_env_var, old_env_value, env_auto; - int len = strlen((char *)what); - - if (len == 0) - goto unknown; - - if (strncasecmp((char *)what, "status", len) == 0) { - if (env_auto) - printf("%s%s", "VAR and VALUE are/will be ", - "determined automatically\n"); - if (old_env_var == OLD_ENV_VAR) - printf("VAR and VALUE set to correct definitions\n"); - else - printf("VAR and VALUE definitions are reversed\n"); - } else if (strncasecmp((char *)what, "auto", len) == 0) { - env_auto = 1; - old_env_var = OLD_ENV_VALUE; - old_env_value = OLD_ENV_VAR; - } else if (strncasecmp((char *)what, "right", len) == 0) { - env_auto = 0; - old_env_var = OLD_ENV_VAR; - old_env_value = OLD_ENV_VALUE; - } else if (strncasecmp((char *)what, "wrong", len) == 0) { - env_auto = 0; - old_env_var = OLD_ENV_VALUE; - old_env_value = OLD_ENV_VAR; - } else { -unknown: - printf("Unknown \"varval\" command. (\"auto\", \"right\", \"wrong\", \"status\")\n"); - } -} -#endif - -#if defined(AUTHENTICATION) -/* - * The AUTHENTICATE command. - */ - -struct authlist { - char *name; - char *help; - int (*handler)(); - int narg; -}; - -extern int - auth_enable P((char *)), - auth_disable P((char *)), - auth_status P((void)); -static int - auth_help P((void)); - -struct authlist AuthList[] = { - { "status", "Display current status of authentication information", - auth_status, 0 }, - { "disable", "Disable an authentication type ('auth disable ?' for more)", - auth_disable, 1 }, - { "enable", "Enable an authentication type ('auth enable ?' for more)", - auth_enable, 1 }, - { "help", 0, auth_help, 0 }, - { "?", "Print help information", auth_help, 0 }, - { 0 }, -}; - - static int -auth_help() -{ - struct authlist *c; - - for (c = AuthList; c->name; c++) { - if (c->help) { - if (*c->help) - printf("%-15s %s\n", c->name, c->help); - else - printf("\n"); - } - } - return 0; -} - - int -auth_cmd(argc, argv) - int argc; - char *argv[]; -{ - struct authlist *c; - - if (argc < 2) { - fprintf(stderr, - "Need an argument to 'auth' command. 'auth ?' for help.\n"); - return 0; - } - - c = (struct authlist *) - genget(argv[1], (char **) AuthList, sizeof(struct authlist)); - if (c == 0) { - fprintf(stderr, "'%s': unknown argument ('auth ?' for help).\n", - argv[1]); - return 0; - } - if (Ambiguous(c)) { - fprintf(stderr, "'%s': ambiguous argument ('auth ?' for help).\n", - argv[1]); - return 0; - } - if (c->narg + 2 != argc) { - fprintf(stderr, - "Need %s%d argument%s to 'auth %s' command. 'auth ?' for help.\n", - c->narg < argc + 2 ? "only " : "", - c->narg, c->narg == 1 ? "" : "s", c->name); - return 0; - } - return((*c->handler)(argv[2], argv[3])); -} -#endif - -#ifdef ENCRYPTION -/* - * The ENCRYPT command. - */ - -struct encryptlist { - char *name; - char *help; - int (*handler)(); - int needconnect; - int minarg; - int maxarg; -}; - -extern int - EncryptEnable P((char *, char *)), - EncryptDisable P((char *, char *)), - EncryptType P((char *, char *)), - EncryptStart P((char *)), - EncryptStartInput P((void)), - EncryptStartOutput P((void)), - EncryptStop P((char *)), - EncryptStopInput P((void)), - EncryptStopOutput P((void)), - EncryptStatus P((void)); -static int - EncryptHelp P((void)); - -struct encryptlist EncryptList[] = { - { "enable", "Enable encryption. ('encrypt enable ?' for more)", - EncryptEnable, 1, 1, 2 }, - { "disable", "Disable encryption. ('encrypt enable ?' for more)", - EncryptDisable, 0, 1, 2 }, - { "type", "Set encryption type. ('encrypt type ?' for more)", - EncryptType, 0, 1, 1 }, - { "start", "Start encryption. ('encrypt start ?' for more)", - EncryptStart, 1, 0, 1 }, - { "stop", "Stop encryption. ('encrypt stop ?' for more)", - EncryptStop, 1, 0, 1 }, - { "input", "Start encrypting the input stream", - EncryptStartInput, 1, 0, 0 }, - { "-input", "Stop encrypting the input stream", - EncryptStopInput, 1, 0, 0 }, - { "output", "Start encrypting the output stream", - EncryptStartOutput, 1, 0, 0 }, - { "-output", "Stop encrypting the output stream", - EncryptStopOutput, 1, 0, 0 }, - - { "status", "Display current status of authentication information", - EncryptStatus, 0, 0, 0 }, - { "help", 0, EncryptHelp, 0, 0, 0 }, - { "?", "Print help information", EncryptHelp, 0, 0, 0 }, - { 0 }, -}; - - static int -EncryptHelp() -{ - struct encryptlist *c; - - for (c = EncryptList; c->name; c++) { - if (c->help) { - if (*c->help) - printf("%-15s %s\n", c->name, c->help); - else - printf("\n"); - } - } - return 0; -} - - int -encrypt_cmd(argc, argv) - int argc; - char *argv[]; -{ - struct encryptlist *c; - - if (argc < 2) { - fprintf(stderr, - "Need an argument to 'encrypt' command. 'encrypt ?' for help.\n"); - return 0; - } - - c = (struct encryptlist *) - genget(argv[1], (char **) EncryptList, sizeof(struct encryptlist)); - if (c == 0) { - fprintf(stderr, "'%s': unknown argument ('encrypt ?' for help).\n", - argv[1]); - return 0; - } - if (Ambiguous(c)) { - fprintf(stderr, "'%s': ambiguous argument ('encrypt ?' for help).\n", - argv[1]); - return 0; - } - argc -= 2; - if (argc < c->minarg || argc > c->maxarg) { - if (c->minarg == c->maxarg) { - fprintf(stderr, "Need %s%d argument%s ", - c->minarg < argc ? "only " : "", c->minarg, - c->minarg == 1 ? "" : "s"); - } else { - fprintf(stderr, "Need %s%d-%d arguments ", - c->maxarg < argc ? "only " : "", c->minarg, c->maxarg); - } - fprintf(stderr, "to 'encrypt %s' command. 'encrypt ?' for help.\n", - c->name); - return 0; - } - if (c->needconnect && !connected) { - if (!(argc && (isprefix(argv[2], "help") || isprefix(argv[2], "?")))) { - printf("?Need to be connected first.\n"); - return 0; - } - } - return ((*c->handler)(argc > 0 ? argv[2] : 0, - argc > 1 ? argv[3] : 0, - argc > 2 ? argv[4] : 0)); -} -#endif /* ENCRYPTION */ - -#if defined(unix) && defined(TN3270) - static void -filestuff(fd) - int fd; -{ - int res; - -#ifdef F_GETOWN - setconnmode(0); - res = fcntl(fd, F_GETOWN, 0); - setcommandmode(); - - if (res == -1) { - perror("fcntl"); - return; - } - printf("\tOwner is %d.\n", res); -#endif - - setconnmode(0); - res = fcntl(fd, F_GETFL, 0); - setcommandmode(); - - if (res == -1) { - perror("fcntl"); - return; - } -#ifdef notdef - printf("\tFlags are 0x%x: %s\n", res, decodeflags(res)); -#endif -} -#endif /* defined(unix) && defined(TN3270) */ - -/* - * Print status about the connection. - */ - /*ARGSUSED*/ - static int -status(argc, argv) - int argc; - char *argv[]; -{ - if (connected) { - printf("Connected to %s.\n", hostname); - if ((argc < 2) || strcmp(argv[1], "notmuch")) { - int mode = getconnmode(); - - if (my_want_state_is_will(TELOPT_LINEMODE)) { - printf("Operating with LINEMODE option\n"); - printf("%s line editing\n", (mode&MODE_EDIT) ? "Local" : "No"); - printf("%s catching of signals\n", - (mode&MODE_TRAPSIG) ? "Local" : "No"); - slcstate(); -#ifdef KLUDGELINEMODE - } else if (kludgelinemode && my_want_state_is_dont(TELOPT_SGA)) { - printf("Operating in obsolete linemode\n"); -#endif - } else { - printf("Operating in single character mode\n"); - if (localchars) - printf("Catching signals locally\n"); - } - printf("%s character echo\n", (mode&MODE_ECHO) ? "Local" : "Remote"); - if (my_want_state_is_will(TELOPT_LFLOW)) - printf("%s flow control\n", (mode&MODE_FLOW) ? "Local" : "No"); -#ifdef ENCRYPTION - encrypt_display(); -#endif /* ENCRYPTION */ - } - } else { - printf("No connection.\n"); - } -# if !defined(TN3270) - printf("Escape character is '%s'.\n", control(escape)); - (void) fflush(stdout); -# else /* !defined(TN3270) */ - if ((!In3270) && ((argc < 2) || strcmp(argv[1], "notmuch"))) { - printf("Escape character is '%s'.\n", control(escape)); - } -# if defined(unix) - if ((argc >= 2) && !strcmp(argv[1], "everything")) { - printf("SIGIO received %d time%s.\n", - sigiocount, (sigiocount == 1)? "":"s"); - if (In3270) { - printf("Process ID %d, process group %d.\n", - getpid(), getpgrp(getpid())); - printf("Terminal input:\n"); - filestuff(tin); - printf("Terminal output:\n"); - filestuff(tout); - printf("Network socket:\n"); - filestuff(net); - } - } - if (In3270 && transcom) { - printf("Transparent mode command is '%s'.\n", transcom); - } -# endif /* defined(unix) */ - (void) fflush(stdout); - if (In3270) { - return 0; - } -# endif /* defined(TN3270) */ - return 1; -} - -#ifdef SIGINFO -/* - * Function that gets called when SIGINFO is received. - */ - void -ayt_status() -{ - (void) call(status, "status", "notmuch", 0); -} -#endif - -unsigned long inet_addr(); - - int -tn(argc, argv) - int argc; - char *argv[]; -{ - register struct hostent *host = 0; - struct sockaddr_in sin; - struct servent *sp = 0; - unsigned long temp; - extern char *inet_ntoa(); -#if defined(IP_OPTIONS) && defined(IPPROTO_IP) - char *srp = 0, *strrchr(); - unsigned long sourceroute(), srlen; -#endif - char *cmd, *hostp = 0, *portp = 0, *user = 0; - - /* clear the socket address prior to use */ - memset((char *)&sin, 0, sizeof(sin)); - - if (connected) { - printf("?Already connected to %s\n", hostname); - setuid(getuid()); - return 0; - } - if (argc < 2) { - (void) strcpy(line, "open "); - printf("(to) "); - (void) fgets(&line[strlen(line)], sizeof(line) - strlen(line), stdin); - makeargv(); - argc = margc; - argv = margv; - } - cmd = *argv; - --argc; ++argv; - while (argc) { - if (strcmp(*argv, "help") == 0 || isprefix(*argv, "?")) - goto usage; - if (strcmp(*argv, "-l") == 0) { - --argc; ++argv; - if (argc == 0) - goto usage; - user = *argv++; - --argc; - continue; - } - if (strcmp(*argv, "-a") == 0) { - --argc; ++argv; - autologin = 1; - continue; - } - if (hostp == 0) { - hostp = *argv++; - --argc; - continue; - } - if (portp == 0) { - portp = *argv++; - --argc; - continue; - } - usage: - printf("usage: %s [-l user] [-a] host-name [port]\n", cmd); - setuid(getuid()); - return 0; - } - if (hostp == 0) - goto usage; - -#if defined(IP_OPTIONS) && defined(IPPROTO_IP) - if (hostp[0] == '@' || hostp[0] == '!') { - if ((hostname = strrchr(hostp, ':')) == NULL) - hostname = strrchr(hostp, '@'); - hostname++; - srp = 0; - temp = sourceroute(hostp, &srp, &srlen); - if (temp == 0) { - herror(srp); - setuid(getuid()); - return 0; - } else if (temp == -1) { - printf("Bad source route option: %s\n", hostp); - setuid(getuid()); - return 0; - } else { - sin.sin_addr.s_addr = temp; - sin.sin_family = AF_INET; - } - } else { -#endif - temp = inet_addr(hostp); - if (temp != INADDR_NONE) { - sin.sin_addr.s_addr = temp; - sin.sin_family = AF_INET; - host = gethostbyaddr((char *)&temp, sizeof(temp), AF_INET); - if (host) - (void) strncpy(_hostname, host->h_name, sizeof(_hostname)); - else - (void) strncpy(_hostname, hostp, sizeof(_hostname)); - _hostname[sizeof(_hostname)-1] = '\0'; - hostname = _hostname; - } else { - host = gethostbyname(hostp); - if (host) { - sin.sin_family = host->h_addrtype; -#if defined(h_addr) /* In 4.3, this is a #define */ - memmove((caddr_t)&sin.sin_addr, - host->h_addr_list[0], host->h_length); -#else /* defined(h_addr) */ - memmove((caddr_t)&sin.sin_addr, host->h_addr, host->h_length); -#endif /* defined(h_addr) */ - strncpy(_hostname, host->h_name, sizeof(_hostname)); - _hostname[sizeof(_hostname)-1] = '\0'; - hostname = _hostname; - } else { - herror(hostp); - setuid(getuid()); - return 0; - } - } -#if defined(IP_OPTIONS) && defined(IPPROTO_IP) - } -#endif - if (portp) { - if (*portp == '-') { - portp++; - telnetport = 1; - } else - telnetport = 0; - sin.sin_port = atoi(portp); - if (sin.sin_port == 0) { - sp = getservbyname(portp, "tcp"); - if (sp) - sin.sin_port = sp->s_port; - else { - printf("%s: bad port number\n", portp); - setuid(getuid()); - return 0; - } - } else { -#if !defined(htons) - u_short htons P((unsigned short)); -#endif /* !defined(htons) */ - sin.sin_port = htons(sin.sin_port); - } - } else { - if (sp == 0) { - sp = getservbyname("telnet", "tcp"); - if (sp == 0) { - fprintf(stderr, "telnet: tcp/telnet: unknown service\n"); - setuid(getuid()); - return 0; - } - sin.sin_port = sp->s_port; - } - telnetport = 1; - } - printf("Trying %s...\n", inet_ntoa(sin.sin_addr)); - do { - net = socket(AF_INET, SOCK_STREAM, 0); - setuid(getuid()); - if (net < 0) { - perror("telnet: socket"); - return 0; - } -#if defined(IP_OPTIONS) && defined(IPPROTO_IP) - if (srp && setsockopt(net, IPPROTO_IP, IP_OPTIONS, (char *)srp, srlen) < 0) - perror("setsockopt (IP_OPTIONS)"); -#endif -#if defined(IPPROTO_IP) && defined(IP_TOS) - { -# if defined(HAS_GETTOS) - struct tosent *tp; - if (tos < 0 && (tp = gettosbyname("telnet", "tcp"))) - tos = tp->t_tos; -# endif - if (tos < 0) - tos = 020; /* Low Delay bit */ - if (tos - && (setsockopt(net, IPPROTO_IP, IP_TOS, - (char *)&tos, sizeof(int)) < 0) - && (errno != ENOPROTOOPT)) - perror("telnet: setsockopt (IP_TOS) (ignored)"); - } -#endif /* defined(IPPROTO_IP) && defined(IP_TOS) */ - - if (debug && SetSockOpt(net, SOL_SOCKET, SO_DEBUG, 1) < 0) { - perror("setsockopt (SO_DEBUG)"); - } - - if (connect(net, (struct sockaddr *)&sin, sizeof (sin)) < 0) { -#if defined(h_addr) /* In 4.3, this is a #define */ - if (host && host->h_addr_list[1]) { - int oerrno = errno; - - fprintf(stderr, "telnet: connect to address %s: ", - inet_ntoa(sin.sin_addr)); - errno = oerrno; - perror((char *)0); - host->h_addr_list++; - memmove((caddr_t)&sin.sin_addr, - host->h_addr_list[0], host->h_length); - (void) NetClose(net); - continue; - } -#endif /* defined(h_addr) */ - perror("telnet: Unable to connect to remote host"); - return 0; - } - connected++; -#if defined(AUTHENTICATION) || defined(ENCRYPTION) - auth_encrypt_connect(connected); -#endif /* defined(AUTHENTICATION) || defined(ENCRYPTION) */ - } while (connected == 0); - cmdrc(hostp, hostname); - if (autologin && user == NULL) { - struct passwd *pw; - - user = getenv("USER"); - if (user == NULL || - ((pw = getpwnam(user)) && pw->pw_uid != getuid())) { - if ((pw = getpwuid(getuid()))) - user = pw->pw_name; - else - user = NULL; - } - } - if (user) { - env_define((unsigned char *)"USER", (unsigned char *)user); - env_export((unsigned char *)"USER"); - } - (void) call(status, "status", "notmuch", 0); - if (setjmp(peerdied) == 0) - telnet(user); - (void) NetClose(net); - ExitString("Connection closed by foreign host.\n",1); - /*NOTREACHED*/ -} - -#define HELPINDENT (sizeof ("connect")) - -static char - openhelp[] = "connect to a site", - closehelp[] = "close current connection", - logouthelp[] = "forcibly logout remote user and close the connection", - quithelp[] = "exit telnet", - statushelp[] = "print status information", - helphelp[] = "print help information", - sendhelp[] = "transmit special characters ('send ?' for more)", - sethelp[] = "set operating parameters ('set ?' for more)", - unsethelp[] = "unset operating parameters ('unset ?' for more)", - togglestring[] ="toggle operating parameters ('toggle ?' for more)", - slchelp[] = "change state of special charaters ('slc ?' for more)", - displayhelp[] = "display operating parameters", -#if defined(TN3270) && defined(unix) - transcomhelp[] = "specify Unix command for transparent mode pipe", -#endif /* defined(TN3270) && defined(unix) */ -#if defined(AUTHENTICATION) - authhelp[] = "turn on (off) authentication ('auth ?' for more)", -#endif -#ifdef ENCRYPTION - encrypthelp[] = "turn on (off) encryption ('encrypt ?' for more)", -#endif /* ENCRYPTION */ -#if defined(unix) - zhelp[] = "suspend telnet", -#endif /* defined(unix) */ -#if defined(SKEY) - skeyhelp[] = "compute response to s/key challenge", -#endif - shellhelp[] = "invoke a subshell", - envhelp[] = "change environment variables ('environ ?' for more)", - modestring[] = "try to enter line or character mode ('mode ?' for more)"; - -static Command cmdtab[] = { - { "close", closehelp, bye, 1 }, - { "logout", logouthelp, logout, 1 }, - { "display", displayhelp, display, 0 }, - { "mode", modestring, modecmd, 0 }, - { "open", openhelp, tn, 0 }, - { "quit", quithelp, quit, 0 }, - { "send", sendhelp, sendcmd, 0 }, - { "set", sethelp, setcmd, 0 }, - { "unset", unsethelp, unsetcmd, 0 }, - { "status", statushelp, status, 0 }, - { "toggle", togglestring, toggle, 0 }, - { "slc", slchelp, slccmd, 0 }, -#if defined(TN3270) && defined(unix) - { "transcom", transcomhelp, settranscom, 0 }, -#endif /* defined(TN3270) && defined(unix) */ -#if defined(AUTHENTICATION) - { "auth", authhelp, auth_cmd, 0 }, -#endif -#ifdef ENCRYPTION - { "encrypt", encrypthelp, encrypt_cmd, 0 }, -#endif /* ENCRYPTION */ -#if defined(unix) - { "z", zhelp, suspend, 0 }, -#endif /* defined(unix) */ -#if defined(TN3270) - { "!", shellhelp, shell, 1 }, -#else - { "!", shellhelp, shell, 0 }, -#endif - { "environ", envhelp, env_cmd, 0 }, - { "?", helphelp, help, 0 }, -#if defined(SKEY) - { "skey", skeyhelp, skey_calc, 0 }, -#endif - { 0, 0, 0, 0 } -}; - -static char crmodhelp[] = "deprecated command -- use 'toggle crmod' instead"; -static char escapehelp[] = "deprecated command -- use 'set escape' instead"; - -static Command cmdtab2[] = { - { "help", 0, help, 0 }, - { "escape", escapehelp, setescape, 0 }, - { "crmod", crmodhelp, togcrmod, 0 }, - { 0, 0, 0, 0 } -}; - - -/* - * Call routine with argc, argv set from args (terminated by 0). - */ - - /*VARARGS1*/ - static int -call(va_alist) - va_dcl -{ - va_list ap; - typedef int (*intrtn_t)(); - intrtn_t routine; - char *args[100]; - int argno = 0; - - va_start(ap); - routine = (va_arg(ap, intrtn_t)); - while ((args[argno++] = va_arg(ap, char *)) != 0) { - ; - } - va_end(ap); - return (*routine)(argno-1, args); -} - - - static Command * -getcmd(name) - char *name; -{ - Command *cm; - - if ((cm = (Command *) genget(name, (char **) cmdtab, sizeof(Command)))) - return cm; - return (Command *) genget(name, (char **) cmdtab2, sizeof(Command)); -} - - void -command(top, tbuf, cnt) - int top; - char *tbuf; - int cnt; -{ - register Command *c; - - setcommandmode(); - if (!top) { - putchar('\n'); -#if defined(unix) - } else { - (void) signal(SIGINT, SIG_DFL); - (void) signal(SIGQUIT, SIG_DFL); -#endif /* defined(unix) */ - } - for (;;) { - if (rlogin == _POSIX_VDISABLE) - printf("%s> ", prompt); - if (tbuf) { - register char *cp; - cp = line; - while (cnt > 0 && (*cp++ = *tbuf++) != '\n') - cnt--; - tbuf = 0; - if (cp == line || *--cp != '\n' || cp == line) - goto getline; - *cp = '\0'; - if (rlogin == _POSIX_VDISABLE) - printf("%s\n", line); - } else { - getline: - if (rlogin != _POSIX_VDISABLE) - printf("%s> ", prompt); - if (fgets(line, sizeof(line), stdin) == NULL) { - if (feof(stdin) || ferror(stdin)) { - (void) quit(); - /*NOTREACHED*/ - } - break; - } - } - if (line[0] == 0) - break; - makeargv(); - if (margv[0] == 0) { - break; - } - c = getcmd(margv[0]); - if (Ambiguous(c)) { - printf("?Ambiguous command\n"); - continue; - } - if (c == 0) { - printf("?Invalid command\n"); - continue; - } - if (c->needconnect && !connected) { - printf("?Need to be connected first.\n"); - continue; - } - if ((*c->handler)(margc, margv)) { - break; - } - } - if (!top) { - if (!connected) { - longjmp(toplevel, 1); - /*NOTREACHED*/ - } -#if defined(TN3270) - if (shell_active == 0) { - setconnmode(0); - } -#else /* defined(TN3270) */ - setconnmode(0); -#endif /* defined(TN3270) */ - } -} - -/* - * Help command. - */ - static int -help(argc, argv) - int argc; - char *argv[]; -{ - register Command *c; - - if (argc == 1) { - printf("Commands may be abbreviated. Commands are:\n\n"); - for (c = cmdtab; c->name; c++) - if (c->help) { - printf("%-*s\t%s\n", HELPINDENT, c->name, - c->help); - } - } - else while (--argc > 0) { - register char *arg; - arg = *++argv; - c = getcmd(arg); - if (Ambiguous(c)) - printf("?Ambiguous help command %s\n", arg); - else if (c == (Command *)0) - printf("?Invalid help command %s\n", arg); - else - printf("%s\n", c->help); - } - return(0); -} - -static char *rcname = 0; -static char rcbuf[128]; - - void -cmdrc(m1, m2) - char *m1, *m2; -{ - register Command *c; - FILE *rcfile; - int gotmachine = 0; - int l1 = strlen(m1); - int l2 = strlen(m2); - char m1save[64]; - - if (skiprc) - return; - - strcpy(m1save, m1); - m1 = m1save; - - if (rcname == 0) { - rcname = getenv("HOME"); - if (rcname && (strlen(rcname) + 10) < sizeof(rcbuf)) - strcpy(rcbuf, rcname); - else - rcbuf[0] = '\0'; - strcat(rcbuf, "/.telnetrc"); - rcname = rcbuf; - } - - if ((rcfile = fopen(rcname, "r")) == 0) { - return; - } - - for (;;) { - if (fgets(line, sizeof(line), rcfile) == NULL) - break; - if (line[0] == 0) - break; - if (line[0] == '#') - continue; - if (gotmachine) { - if (!isspace(line[0])) - gotmachine = 0; - } - if (gotmachine == 0) { - if (isspace(line[0])) - continue; - if (strncasecmp(line, m1, l1) == 0) - strncpy(line, &line[l1], sizeof(line) - l1); - else if (strncasecmp(line, m2, l2) == 0) - strncpy(line, &line[l2], sizeof(line) - l2); - else if (strncasecmp(line, "DEFAULT", 7) == 0) - strncpy(line, &line[7], sizeof(line) - 7); - else - continue; - if (line[0] != ' ' && line[0] != '\t' && line[0] != '\n') - continue; - gotmachine = 1; - } - makeargv(); - if (margv[0] == 0) - continue; - c = getcmd(margv[0]); - if (Ambiguous(c)) { - printf("?Ambiguous command: %s\n", margv[0]); - continue; - } - if (c == 0) { - printf("?Invalid command: %s\n", margv[0]); - continue; - } - /* - * This should never happen... - */ - if (c->needconnect && !connected) { - printf("?Need to be connected first for %s.\n", margv[0]); - continue; - } - (*c->handler)(margc, margv); - } - fclose(rcfile); -} - -#if defined(IP_OPTIONS) && defined(IPPROTO_IP) - -/* - * Source route is handed in as - * [!]@hop1@hop2...[@|:]dst - * If the leading ! is present, it is a - * strict source route, otherwise it is - * assmed to be a loose source route. - * - * We fill in the source route option as - * hop1,hop2,hop3...dest - * and return a pointer to hop1, which will - * be the address to connect() to. - * - * Arguments: - * arg: pointer to route list to decipher - * - * cpp: If *cpp is not equal to NULL, this is a - * pointer to a pointer to a character array - * that should be filled in with the option. - * - * lenp: pointer to an integer that contains the - * length of *cpp if *cpp != NULL. - * - * Return values: - * - * Returns the address of the host to connect to. If the - * return value is -1, there was a syntax error in the - * option, either unknown characters, or too many hosts. - * If the return value is 0, one of the hostnames in the - * path is unknown, and *cpp is set to point to the bad - * hostname. - * - * *cpp: If *cpp was equal to NULL, it will be filled - * in with a pointer to our static area that has - * the option filled in. This will be 32bit aligned. - * - * *lenp: This will be filled in with how long the option - * pointed to by *cpp is. - * - */ - unsigned long -sourceroute(arg, cpp, lenp) - char *arg; - char **cpp; - int *lenp; -{ - static char lsr[44]; -#ifdef sysV88 - static IOPTN ipopt; -#endif - char *cp, *cp2, *lsrp, *lsrep; - register int tmp; - struct in_addr sin_addr; - register struct hostent *host = 0; - register char c; - - /* - * Verify the arguments, and make sure we have - * at least 7 bytes for the option. - */ - if (cpp == NULL || lenp == NULL) - return((unsigned long)-1); - if (*cpp != NULL && *lenp < 7) - return((unsigned long)-1); - /* - * Decide whether we have a buffer passed to us, - * or if we need to use our own static buffer. - */ - if (*cpp) { - lsrp = *cpp; - lsrep = lsrp + *lenp; - } else { - *cpp = lsrp = lsr; - lsrep = lsrp + 44; - } - - cp = arg; - - /* - * Next, decide whether we have a loose source - * route or a strict source route, and fill in - * the begining of the option. - */ -#ifndef sysV88 - if (*cp == '!') { - cp++; - *lsrp++ = IPOPT_SSRR; - } else - *lsrp++ = IPOPT_LSRR; -#else - if (*cp == '!') { - cp++; - ipopt.io_type = IPOPT_SSRR; - } else - ipopt.io_type = IPOPT_LSRR; -#endif - - if (*cp != '@') - return((unsigned long)-1); - -#ifndef sysV88 - lsrp++; /* skip over length, we'll fill it in later */ - *lsrp++ = 4; -#endif - - cp++; - - sin_addr.s_addr = 0; - - for (c = 0;;) { - if (c == ':') - cp2 = 0; - else for (cp2 = cp; (c = *cp2); cp2++) { - if (c == ',') { - *cp2++ = '\0'; - if (*cp2 == '@') - cp2++; - } else if (c == '@') { - *cp2++ = '\0'; - } else if (c == ':') { - *cp2++ = '\0'; - } else - continue; - break; - } - if (!c) - cp2 = 0; - - if ((tmp = inet_addr(cp)) != -1) { - sin_addr.s_addr = tmp; - } else if ((host = gethostbyname(cp))) { -#if defined(h_addr) - memmove((caddr_t)&sin_addr, - host->h_addr_list[0], host->h_length); -#else - memmove((caddr_t)&sin_addr, host->h_addr, host->h_length); -#endif - } else { - *cpp = cp; - return(0); - } - memmove(lsrp, (char *)&sin_addr, 4); - lsrp += 4; - if (cp2) - cp = cp2; - else - break; - /* - * Check to make sure there is space for next address - */ - if (lsrp + 4 > lsrep) - return((unsigned long)-1); - } -#ifndef sysV88 - if ((*(*cpp+IPOPT_OLEN) = lsrp - *cpp) <= 7) { - *cpp = 0; - *lenp = 0; - return((unsigned long)-1); - } - *lsrp++ = IPOPT_NOP; /* 32 bit word align it */ - *lenp = lsrp - *cpp; -#else - ipopt.io_len = lsrp - *cpp; - if (ipopt.io_len <= 5) { /* Is 3 better ? */ - *cpp = 0; - *lenp = 0; - return((unsigned long)-1); - } - *lenp = sizeof(ipopt); - *cpp = (char *) &ipopt; -#endif - return(sin_addr.s_addr); -} -#endif diff --git a/eBones/usr.bin/telnet/externs.h b/eBones/usr.bin/telnet/externs.h deleted file mode 100644 index fb96d9aee9e21..0000000000000 --- a/eBones/usr.bin/telnet/externs.h +++ /dev/null @@ -1,491 +0,0 @@ -/* - * Copyright (c) 1988, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)externs.h 8.3 (Berkeley) 5/30/95 - */ - -#ifndef BSD -# define BSD 43 -#endif - -/* - * ucb stdio.h defines BSD as something wierd - */ -#if defined(sun) && defined(__svr4__) -#define BSD 43 -#endif - -#ifndef USE_TERMIO -# if BSD > 43 || defined(SYSV_TERMIO) -# define USE_TERMIO -# endif -#endif - -#include <stdio.h> -#include <setjmp.h> -#if defined(CRAY) && !defined(NO_BSD_SETJMP) -#include <bsdsetjmp.h> -#endif -#ifndef FILIO_H -#include <sys/ioctl.h> -#else -#include <sys/filio.h> -#endif -#ifdef CRAY -# include <errno.h> -#endif /* CRAY */ -#ifdef USE_TERMIO -# ifndef VINTR -# ifdef SYSV_TERMIO -# include <sys/termio.h> -# else -# include <sys/termios.h> -# define termio termios -# endif -# endif -#endif -#if defined(NO_CC_T) || !defined(USE_TERMIO) -# if !defined(USE_TERMIO) -typedef char cc_t; -# else -typedef unsigned char cc_t; -# endif -#endif - -#ifndef NO_STRING_H -#include <string.h> -#else -#include <strings.h> -#endif - -#ifndef _POSIX_VDISABLE -# ifdef sun -# include <sys/param.h> /* pick up VDISABLE definition, mayby */ -# endif -# ifdef VDISABLE -# define _POSIX_VDISABLE VDISABLE -# else -# define _POSIX_VDISABLE ((cc_t)'\377') -# endif -#endif - -#define SUBBUFSIZE 256 - -#ifndef CRAY -extern int errno; /* outside this world */ -#endif /* !CRAY */ - -#if !defined(P) -# ifdef __STDC__ -# define P(x) x -# else -# define P(x) () -# endif -#endif - -extern int - autologin, /* Autologin enabled */ - skiprc, /* Don't process the ~/.telnetrc file */ - eight, /* use eight bit mode (binary in and/or out */ - flushout, /* flush output */ - connected, /* Are we connected to the other side? */ - globalmode, /* Mode tty should be in */ - In3270, /* Are we in 3270 mode? */ - telnetport, /* Are we connected to the telnet port? */ - localflow, /* Flow control handled locally */ - restartany, /* If flow control, restart output on any character */ - localchars, /* we recognize interrupt/quit */ - donelclchars, /* the user has set "localchars" */ - showoptions, - net, /* Network file descriptor */ - tin, /* Terminal input file descriptor */ - tout, /* Terminal output file descriptor */ - crlf, /* Should '\r' be mapped to <CR><LF> (or <CR><NUL>)? */ - autoflush, /* flush output when interrupting? */ - autosynch, /* send interrupt characters with SYNCH? */ - SYNCHing, /* Is the stream in telnet SYNCH mode? */ - donebinarytoggle, /* the user has put us in binary */ - dontlecho, /* do we suppress local echoing right now? */ - crmod, - netdata, /* Print out network data flow */ - prettydump, /* Print "netdata" output in user readable format */ -#if defined(unix) -#if defined(TN3270) - cursesdata, /* Print out curses data flow */ - apitrace, /* Trace API transactions */ -#endif /* defined(TN3270) */ - termdata, /* Print out terminal data flow */ -#endif /* defined(unix) */ - debug, /* Debug level */ - clienteof; /* Client received EOF */ - -extern cc_t escape; /* Escape to command mode */ -extern cc_t rlogin; /* Rlogin mode escape character */ -#ifdef KLUDGELINEMODE -extern cc_t echoc; /* Toggle local echoing */ -#endif - -extern char - *prompt; /* Prompt for command. */ - -extern char - doopt[], - dont[], - will[], - wont[], - options[], /* All the little options */ - *hostname; /* Who are we connected to? */ -#ifdef ENCRYPTION -extern void (*encrypt_output) P((unsigned char *, int)); -extern int (*decrypt_input) P((int)); -#endif /* ENCRYPTION */ - -/* - * We keep track of each side of the option negotiation. - */ - -#define MY_STATE_WILL 0x01 -#define MY_WANT_STATE_WILL 0x02 -#define MY_STATE_DO 0x04 -#define MY_WANT_STATE_DO 0x08 - -/* - * Macros to check the current state of things - */ - -#define my_state_is_do(opt) (options[opt]&MY_STATE_DO) -#define my_state_is_will(opt) (options[opt]&MY_STATE_WILL) -#define my_want_state_is_do(opt) (options[opt]&MY_WANT_STATE_DO) -#define my_want_state_is_will(opt) (options[opt]&MY_WANT_STATE_WILL) - -#define my_state_is_dont(opt) (!my_state_is_do(opt)) -#define my_state_is_wont(opt) (!my_state_is_will(opt)) -#define my_want_state_is_dont(opt) (!my_want_state_is_do(opt)) -#define my_want_state_is_wont(opt) (!my_want_state_is_will(opt)) - -#define set_my_state_do(opt) {options[opt] |= MY_STATE_DO;} -#define set_my_state_will(opt) {options[opt] |= MY_STATE_WILL;} -#define set_my_want_state_do(opt) {options[opt] |= MY_WANT_STATE_DO;} -#define set_my_want_state_will(opt) {options[opt] |= MY_WANT_STATE_WILL;} - -#define set_my_state_dont(opt) {options[opt] &= ~MY_STATE_DO;} -#define set_my_state_wont(opt) {options[opt] &= ~MY_STATE_WILL;} -#define set_my_want_state_dont(opt) {options[opt] &= ~MY_WANT_STATE_DO;} -#define set_my_want_state_wont(opt) {options[opt] &= ~MY_WANT_STATE_WILL;} - -/* - * Make everything symetrical - */ - -#define HIS_STATE_WILL MY_STATE_DO -#define HIS_WANT_STATE_WILL MY_WANT_STATE_DO -#define HIS_STATE_DO MY_STATE_WILL -#define HIS_WANT_STATE_DO MY_WANT_STATE_WILL - -#define his_state_is_do my_state_is_will -#define his_state_is_will my_state_is_do -#define his_want_state_is_do my_want_state_is_will -#define his_want_state_is_will my_want_state_is_do - -#define his_state_is_dont my_state_is_wont -#define his_state_is_wont my_state_is_dont -#define his_want_state_is_dont my_want_state_is_wont -#define his_want_state_is_wont my_want_state_is_dont - -#define set_his_state_do set_my_state_will -#define set_his_state_will set_my_state_do -#define set_his_want_state_do set_my_want_state_will -#define set_his_want_state_will set_my_want_state_do - -#define set_his_state_dont set_my_state_wont -#define set_his_state_wont set_my_state_dont -#define set_his_want_state_dont set_my_want_state_wont -#define set_his_want_state_wont set_my_want_state_dont - - -extern FILE - *NetTrace; /* Where debugging output goes */ -extern unsigned char - NetTraceFile[]; /* Name of file where debugging output goes */ -extern void - SetNetTrace P((char *)); /* Function to change where debugging goes */ - -extern jmp_buf - peerdied, - toplevel; /* For error conditions. */ - -extern void - command P((int, char *, int)), - Dump P((int, unsigned char *, int)), - ExitString P((char *, int)), - init_3270 P((void)), - printoption P((char *, int, int)), - printsub P((int, unsigned char *, int)), - sendnaws P((void)), - setconnmode P((int)), - setcommandmode P((void)), - setneturg P((void)), - sys_telnet_init P((void)), - telnet P((char *)), - tel_enter_binary P((int)), - TerminalFlushOutput P((void)), - TerminalNewMode P((int)), - TerminalRestoreState P((void)), - TerminalSaveState P((void)), - tninit P((void)), - upcase P((char *)), - willoption P((int)), - wontoption P((int)); - -extern void - send_do P((int, int)), - send_dont P((int, int)), - send_will P((int, int)), - send_wont P((int, int)); - -extern void - lm_will P((unsigned char *, int)), - lm_wont P((unsigned char *, int)), - lm_do P((unsigned char *, int)), - lm_dont P((unsigned char *, int)), - lm_mode P((unsigned char *, int, int)); - -extern void - slc_init P((void)), - slcstate P((void)), - slc_mode_export P((void)), - slc_mode_import P((int)), - slc_import P((int)), - slc_export P((void)), - slc P((unsigned char *, int)), - slc_check P((void)), - slc_start_reply P((void)), - slc_add_reply P((int, int, int)), - slc_end_reply P((void)); -extern int - NetClose P((int)), - netflush P((void)), - SetSockOpt P((int, int, int, int)), - slc_update P((void)), - telrcv P((void)), - TerminalWrite P((char *, int)), - TerminalAutoFlush P((void)), - ttyflush P((int)); - -extern void - env_opt P((unsigned char *, int)), - env_opt_start P((void)), - env_opt_start_info P((void)), - env_opt_add P((unsigned char *)), - env_opt_end P((int)); - -extern unsigned char - *env_default P((int, int)), - *env_getvalue P((unsigned char *)); - -extern int - get_status P((void)), - dosynch P((void)); - -extern cc_t - *tcval P((int)); - -#ifndef USE_TERMIO - -extern struct tchars ntc; -extern struct ltchars nltc; -extern struct sgttyb nttyb; - -# define termEofChar ntc.t_eofc -# define termEraseChar nttyb.sg_erase -# define termFlushChar nltc.t_flushc -# define termIntChar ntc.t_intrc -# define termKillChar nttyb.sg_kill -# define termLiteralNextChar nltc.t_lnextc -# define termQuitChar ntc.t_quitc -# define termSuspChar nltc.t_suspc -# define termRprntChar nltc.t_rprntc -# define termWerasChar nltc.t_werasc -# define termStartChar ntc.t_startc -# define termStopChar ntc.t_stopc -# define termForw1Char ntc.t_brkc -extern cc_t termForw2Char; -extern cc_t termAytChar; - -# define termEofCharp (cc_t *)&ntc.t_eofc -# define termEraseCharp (cc_t *)&nttyb.sg_erase -# define termFlushCharp (cc_t *)&nltc.t_flushc -# define termIntCharp (cc_t *)&ntc.t_intrc -# define termKillCharp (cc_t *)&nttyb.sg_kill -# define termLiteralNextCharp (cc_t *)&nltc.t_lnextc -# define termQuitCharp (cc_t *)&ntc.t_quitc -# define termSuspCharp (cc_t *)&nltc.t_suspc -# define termRprntCharp (cc_t *)&nltc.t_rprntc -# define termWerasCharp (cc_t *)&nltc.t_werasc -# define termStartCharp (cc_t *)&ntc.t_startc -# define termStopCharp (cc_t *)&ntc.t_stopc -# define termForw1Charp (cc_t *)&ntc.t_brkc -# define termForw2Charp (cc_t *)&termForw2Char -# define termAytCharp (cc_t *)&termAytChar - -# else - -extern struct termio new_tc; - -# define termEofChar new_tc.c_cc[VEOF] -# define termEraseChar new_tc.c_cc[VERASE] -# define termIntChar new_tc.c_cc[VINTR] -# define termKillChar new_tc.c_cc[VKILL] -# define termQuitChar new_tc.c_cc[VQUIT] - -# ifndef VSUSP -extern cc_t termSuspChar; -# else -# define termSuspChar new_tc.c_cc[VSUSP] -# endif -# if defined(VFLUSHO) && !defined(VDISCARD) -# define VDISCARD VFLUSHO -# endif -# ifndef VDISCARD -extern cc_t termFlushChar; -# else -# define termFlushChar new_tc.c_cc[VDISCARD] -# endif -# ifndef VWERASE -extern cc_t termWerasChar; -# else -# define termWerasChar new_tc.c_cc[VWERASE] -# endif -# ifndef VREPRINT -extern cc_t termRprntChar; -# else -# define termRprntChar new_tc.c_cc[VREPRINT] -# endif -# ifndef VLNEXT -extern cc_t termLiteralNextChar; -# else -# define termLiteralNextChar new_tc.c_cc[VLNEXT] -# endif -# ifndef VSTART -extern cc_t termStartChar; -# else -# define termStartChar new_tc.c_cc[VSTART] -# endif -# ifndef VSTOP -extern cc_t termStopChar; -# else -# define termStopChar new_tc.c_cc[VSTOP] -# endif -# ifndef VEOL -extern cc_t termForw1Char; -# else -# define termForw1Char new_tc.c_cc[VEOL] -# endif -# ifndef VEOL2 -extern cc_t termForw2Char; -# else -# define termForw2Char new_tc.c_cc[VEOL] -# endif -# ifndef VSTATUS -extern cc_t termAytChar; -#else -# define termAytChar new_tc.c_cc[VSTATUS] -#endif - -# if !defined(CRAY) || defined(__STDC__) -# define termEofCharp &termEofChar -# define termEraseCharp &termEraseChar -# define termIntCharp &termIntChar -# define termKillCharp &termKillChar -# define termQuitCharp &termQuitChar -# define termSuspCharp &termSuspChar -# define termFlushCharp &termFlushChar -# define termWerasCharp &termWerasChar -# define termRprntCharp &termRprntChar -# define termLiteralNextCharp &termLiteralNextChar -# define termStartCharp &termStartChar -# define termStopCharp &termStopChar -# define termForw1Charp &termForw1Char -# define termForw2Charp &termForw2Char -# define termAytCharp &termAytChar -# else - /* Work around a compiler bug */ -# define termEofCharp 0 -# define termEraseCharp 0 -# define termIntCharp 0 -# define termKillCharp 0 -# define termQuitCharp 0 -# define termSuspCharp 0 -# define termFlushCharp 0 -# define termWerasCharp 0 -# define termRprntCharp 0 -# define termLiteralNextCharp 0 -# define termStartCharp 0 -# define termStopCharp 0 -# define termForw1Charp 0 -# define termForw2Charp 0 -# define termAytCharp 0 -# endif -#endif - - -/* Ring buffer structures which are shared */ - -extern Ring - netoring, - netiring, - ttyoring, - ttyiring; - -/* Tn3270 section */ -#if defined(TN3270) - -extern int - HaveInput, /* Whether an asynchronous I/O indication came in */ - noasynchtty, /* Don't do signals on I/O (SIGURG, SIGIO) */ - noasynchnet, /* Don't do signals on I/O (SIGURG, SIGIO) */ - sigiocount, /* Count of SIGIO receptions */ - shell_active; /* Subshell is active */ - -extern char - *Ibackp, /* Oldest byte of 3270 data */ - Ibuf[], /* 3270 buffer */ - *Ifrontp, /* Where next 3270 byte goes */ - tline[], - *transcom; /* Transparent command */ - -extern int - settranscom P((int, char**)); - -extern void - inputAvailable P((int)); -#endif /* defined(TN3270) */ diff --git a/eBones/usr.bin/telnet/main.c b/eBones/usr.bin/telnet/main.c deleted file mode 100644 index 0d8e42edc4dbc..0000000000000 --- a/eBones/usr.bin/telnet/main.c +++ /dev/null @@ -1,337 +0,0 @@ -/* - * Copyright (c) 1988, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char copyright[] = -"@(#) Copyright (c) 1988, 1990, 1993\n\ - The Regents of the University of California. All rights reserved.\n"; -#endif /* not lint */ - -#ifndef lint -static const char sccsid[] = "@(#)main.c 8.3 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#include <sys/types.h> -#include <stdlib.h> - -#include "ring.h" -#include "externs.h" -#include "defines.h" - -#if defined(AUTHENTICATION) -#include <libtelnet/auth.h> -#endif -#if defined(ENCRYPTION) -#include <libtelnet/encrypt.h> -#endif - -/* These values need to be the same as defined in libtelnet/kerberos5.c */ -/* Either define them in both places, or put in some common header file. */ -#define OPTS_FORWARD_CREDS 0x00000002 -#define OPTS_FORWARDABLE_CREDS 0x00000001 - -#if 0 -#define FORWARD -#endif - -void init_terminal(void); -void init_network(void); -void init_telnet(void); -void init_sys(void); -void init_3270(void); - -/* - * Initialize variables. - */ - void -tninit() -{ - init_terminal(); - - init_network(); - - init_telnet(); - - init_sys(); - -#if defined(TN3270) - init_3270(); -#endif -} - - void -usage() -{ - fprintf(stderr, "Usage: %s %s%s%s%s\n", - prompt, -#ifdef AUTHENTICATION - "[-8] [-E] [-K] [-L] [-S tos] [-X atype] [-a] [-c] [-d] [-e char]", - "\n\t[-k realm] [-l user] [-f/-F] [-n tracefile] ", -#else - "[-8] [-E] [-L] [-S tos] [-a] [-c] [-d] [-e char] [-l user]", - "\n\t[-n tracefile]", -#endif -#if defined(TN3270) && defined(unix) -# ifdef AUTHENTICATION - "[-noasynch] [-noasynctty]\n\t[-noasyncnet] [-r] [-t transcom] ", -# else - "[-noasynch] [-noasynctty] [-noasyncnet] [-r]\n\t[-t transcom]", -# endif -#else - "[-r] ", -#endif -#ifdef ENCRYPTION - "[-x] [host-name [port]]" -#else /* ENCRYPTION */ - "[host-name [port]]" -#endif /* ENCRYPTION */ - ); - exit(1); -} - -/* - * main. Parse arguments, invoke the protocol or command parser. - */ - - int -main(argc, argv) - int argc; - char *argv[]; -{ - extern char *optarg; - extern int optind; - int ch; - char *user, *strrchr(); -#ifdef FORWARD - extern int forward_flags; -#endif /* FORWARD */ - - tninit(); /* Clear out things */ -#if defined(CRAY) && !defined(__STDC__) - _setlist_init(); /* Work around compiler bug */ -#endif - - TerminalSaveState(); - - if ((prompt = strrchr(argv[0], '/'))) - ++prompt; - else - prompt = argv[0]; - - user = NULL; - - rlogin = (strncmp(prompt, "rlog", 4) == 0) ? '~' : _POSIX_VDISABLE; - autologin = -1; - - while ((ch = getopt(argc, argv, "8EKLS:X:acde:fFk:l:n:rt:x")) != EOF) { - switch(ch) { - case '8': - eight = 3; /* binary output and input */ - break; - case 'E': - rlogin = escape = _POSIX_VDISABLE; - break; - case 'K': -#ifdef AUTHENTICATION - autologin = 0; -#endif - break; - case 'L': - eight |= 2; /* binary output only */ - break; - case 'S': - { -#ifdef HAS_GETTOS - extern int tos; - - if ((tos = parsetos(optarg, "tcp")) < 0) - fprintf(stderr, "%s%s%s%s\n", - prompt, ": Bad TOS argument '", - optarg, - "; will try to use default TOS"); -#else - fprintf(stderr, - "%s: Warning: -S ignored, no parsetos() support.\n", - prompt); -#endif - } - break; - case 'X': -#ifdef AUTHENTICATION - auth_disable_name(optarg); -#endif - break; - case 'a': - autologin = 1; - break; - case 'c': - skiprc = 1; - break; - case 'd': - debug = 1; - break; - case 'e': - set_escape_char(optarg); - break; - case 'f': -#if defined(AUTHENTICATION) && defined(KRB5) && defined(FORWARD) - if (forward_flags & OPTS_FORWARD_CREDS) { - fprintf(stderr, - "%s: Only one of -f and -F allowed.\n", - prompt); - usage(); - } - forward_flags |= OPTS_FORWARD_CREDS; -#else - fprintf(stderr, - "%s: Warning: -f ignored, no Kerberos V5 support.\n", - prompt); -#endif - break; - case 'F': -#if defined(AUTHENTICATION) && defined(KRB5) && defined(FORWARD) - if (forward_flags & OPTS_FORWARD_CREDS) { - fprintf(stderr, - "%s: Only one of -f and -F allowed.\n", - prompt); - usage(); - } - forward_flags |= OPTS_FORWARD_CREDS; - forward_flags |= OPTS_FORWARDABLE_CREDS; -#else - fprintf(stderr, - "%s: Warning: -F ignored, no Kerberos V5 support.\n", - prompt); -#endif - break; - case 'k': -#if defined(AUTHENTICATION) && defined(KRB4) - { - extern char *dest_realm, dst_realm_buf[], dst_realm_sz; - dest_realm = dst_realm_buf; - (void)strncpy(dest_realm, optarg, dst_realm_sz); - } -#else - fprintf(stderr, - "%s: Warning: -k ignored, no Kerberos V4 support.\n", - prompt); -#endif - break; - case 'l': - autologin = 1; - user = optarg; - break; - case 'n': -#if defined(TN3270) && defined(unix) - /* distinguish between "-n oasynch" and "-noasynch" */ - if (argv[optind - 1][0] == '-' && argv[optind - 1][1] - == 'n' && argv[optind - 1][2] == 'o') { - if (!strcmp(optarg, "oasynch")) { - noasynchtty = 1; - noasynchnet = 1; - } else if (!strcmp(optarg, "oasynchtty")) - noasynchtty = 1; - else if (!strcmp(optarg, "oasynchnet")) - noasynchnet = 1; - } else -#endif /* defined(TN3270) && defined(unix) */ - SetNetTrace(optarg); - break; - case 'r': - rlogin = '~'; - break; - case 't': -#if defined(TN3270) && defined(unix) - transcom = tline; - (void)strcpy(transcom, optarg); -#else - fprintf(stderr, - "%s: Warning: -t ignored, no TN3270 support.\n", - prompt); -#endif - break; - case 'x': -#ifdef ENCRYPTION - encrypt_auto(1); - decrypt_auto(1); -#else /* ENCRYPTION */ - fprintf(stderr, - "%s: Warning: -x ignored, no ENCRYPT support.\n", - prompt); -#endif /* ENCRYPTION */ - break; - case '?': - default: - usage(); - /* NOTREACHED */ - } - } - if (autologin == -1) - autologin = (rlogin == _POSIX_VDISABLE) ? 0 : 1; - - argc -= optind; - argv += optind; - - if (argc) { - char *args[7], **argp = args; - - if (argc > 2) - usage(); - *argp++ = prompt; - if (user) { - *argp++ = "-l"; - *argp++ = user; - } - *argp++ = argv[0]; /* host */ - if (argc > 1) - *argp++ = argv[1]; /* port */ - *argp = 0; - - if (setjmp(toplevel) != 0) - Exit(0); - if (tn(argp - args, args) == 1) - return (0); - else - return (1); - } - (void)setjmp(toplevel); - for (;;) { -#ifdef TN3270 - if (shell_active) - shell_continue(); - else -#endif - command(1, 0, 0); - } - return 0; -} diff --git a/eBones/usr.bin/telnet/network.c b/eBones/usr.bin/telnet/network.c deleted file mode 100644 index 9964bc205cef5..0000000000000 --- a/eBones/usr.bin/telnet/network.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)network.c 8.2 (Berkeley) 12/15/93"; -#endif /* not lint */ - -#include <sys/types.h> -#include <sys/socket.h> -#include <sys/time.h> - -#include <errno.h> - -#include <arpa/telnet.h> -#include <unistd.h> - -#include "ring.h" - -#include "defines.h" -#include "externs.h" -#include "fdset.h" - -Ring netoring, netiring; -unsigned char netobuf[2*BUFSIZ], netibuf[BUFSIZ]; - -/* - * Initialize internal network data structures. - */ - - void -init_network() -{ - if (ring_init(&netoring, netobuf, sizeof netobuf) != 1) { - exit(1); - } - if (ring_init(&netiring, netibuf, sizeof netibuf) != 1) { - exit(1); - } - NetTrace = stdout; -} - - -/* - * Check to see if any out-of-band data exists on a socket (for - * Telnet "synch" processing). - */ - - int -stilloob() -{ - static struct timeval timeout = { 0 }; - fd_set excepts; - int value; - - do { - FD_ZERO(&excepts); - FD_SET(net, &excepts); - value = select(net+1, (fd_set *)0, (fd_set *)0, &excepts, &timeout); - } while ((value == -1) && (errno == EINTR)); - - if (value < 0) { - perror("select"); - (void) quit(); - /* NOTREACHED */ - } - if (FD_ISSET(net, &excepts)) { - return 1; - } else { - return 0; - } -} - - -/* - * setneturg() - * - * Sets "neturg" to the current location. - */ - - void -setneturg() -{ - ring_mark(&netoring); -} - - -/* - * netflush - * Send as much data as possible to the network, - * handling requests for urgent data. - * - * The return value indicates whether we did any - * useful work. - */ - - - int -netflush() -{ - register int n, n1; - -#ifdef ENCRYPTION - if (encrypt_output) - ring_encrypt(&netoring, encrypt_output); -#endif /* ENCRYPTION */ - if ((n1 = n = ring_full_consecutive(&netoring)) > 0) { - if (!ring_at_mark(&netoring)) { - n = send(net, (char *)netoring.consume, n, 0); /* normal write */ - } else { - /* - * In 4.2 (and 4.3) systems, there is some question about - * what byte in a sendOOB operation is the "OOB" data. - * To make ourselves compatible, we only send ONE byte - * out of band, the one WE THINK should be OOB (though - * we really have more the TCP philosophy of urgent data - * rather than the Unix philosophy of OOB data). - */ - n = send(net, (char *)netoring.consume, 1, MSG_OOB);/* URGENT data */ - } - } - if (n < 0) { - if (errno != ENOBUFS && errno != EWOULDBLOCK) { - setcommandmode(); - perror(hostname); - (void)NetClose(net); - ring_clear_mark(&netoring); - longjmp(peerdied, -1); - /*NOTREACHED*/ - } - n = 0; - } - if (netdata && n) { - Dump('>', netoring.consume, n); - } - if (n) { - ring_consumed(&netoring, n); - /* - * If we sent all, and more to send, then recurse to pick - * up the other half. - */ - if ((n1 == n) && ring_full_consecutive(&netoring)) { - (void) netflush(); - } - return 1; - } else { - return 0; - } -} diff --git a/eBones/usr.bin/telnet/ring.c b/eBones/usr.bin/telnet/ring.c deleted file mode 100644 index 13fe6c2b79cb4..0000000000000 --- a/eBones/usr.bin/telnet/ring.c +++ /dev/null @@ -1,364 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)ring.c 8.2 (Berkeley) 5/30/95"; -#endif /* not lint */ - -/* - * This defines a structure for a ring buffer. - * - * The circular buffer has two parts: - *((( - * full: [consume, supply) - * empty: [supply, consume) - *]]] - * - */ - -#include <stdio.h> -#include <errno.h> -#include <string.h> - -#ifdef size_t -#undef size_t -#endif - -#include <sys/types.h> -#ifndef FILIO_H -#include <sys/ioctl.h> -#endif -#include <sys/socket.h> - -#include "ring.h" -#include "general.h" - -/* Internal macros */ - -#if !defined(MIN) -#define MIN(a,b) (((a)<(b))? (a):(b)) -#endif /* !defined(MIN) */ - -#define ring_subtract(d,a,b) (((a)-(b) >= 0)? \ - (a)-(b): (((a)-(b))+(d)->size)) - -#define ring_increment(d,a,c) (((a)+(c) < (d)->top)? \ - (a)+(c) : (((a)+(c))-(d)->size)) - -#define ring_decrement(d,a,c) (((a)-(c) >= (d)->bottom)? \ - (a)-(c) : (((a)-(c))-(d)->size)) - - -/* - * The following is a clock, used to determine full, empty, etc. - * - * There is some trickiness here. Since the ring buffers are initialized - * to ZERO on allocation, we need to make sure, when interpreting the - * clock, that when the times are EQUAL, then the buffer is FULL. - */ -static u_long ring_clock = 0; - - -#define ring_empty(d) (((d)->consume == (d)->supply) && \ - ((d)->consumetime >= (d)->supplytime)) -#define ring_full(d) (((d)->supply == (d)->consume) && \ - ((d)->supplytime > (d)->consumetime)) - - - - - -/* Buffer state transition routines */ - - int - ring_init(ring, buffer, count) -Ring *ring; - unsigned char *buffer; - int count; -{ - memset((char *)ring, 0, sizeof *ring); - - ring->size = count; - - ring->supply = ring->consume = ring->bottom = buffer; - - ring->top = ring->bottom+ring->size; - -#ifdef ENCRYPTION - ring->clearto = 0; -#endif /* ENCRYPTION */ - - return 1; -} - -/* Mark routines */ - -/* - * Mark the most recently supplied byte. - */ - - void -ring_mark(ring) - Ring *ring; -{ - ring->mark = ring_decrement(ring, ring->supply, 1); -} - -/* - * Is the ring pointing to the mark? - */ - - int -ring_at_mark(ring) - Ring *ring; -{ - if (ring->mark == ring->consume) { - return 1; - } else { - return 0; - } -} - -/* - * Clear any mark set on the ring. - */ - - void -ring_clear_mark(ring) - Ring *ring; -{ - ring->mark = 0; -} - -/* - * Add characters from current segment to ring buffer. - */ - void -ring_supplied(ring, count) - Ring *ring; - int count; -{ - ring->supply = ring_increment(ring, ring->supply, count); - ring->supplytime = ++ring_clock; -} - -/* - * We have just consumed "c" bytes. - */ - void -ring_consumed(ring, count) - Ring *ring; - int count; -{ - if (count == 0) /* don't update anything */ - return; - - if (ring->mark && - (ring_subtract(ring, ring->mark, ring->consume) < count)) { - ring->mark = 0; - } -#ifdef ENCRYPTION - if (ring->consume < ring->clearto && - ring->clearto <= ring->consume + count) - ring->clearto = 0; - else if (ring->consume + count > ring->top && - ring->bottom <= ring->clearto && - ring->bottom + ((ring->consume + count) - ring->top)) - ring->clearto = 0; -#endif /* ENCRYPTION */ - ring->consume = ring_increment(ring, ring->consume, count); - ring->consumetime = ++ring_clock; - /* - * Try to encourage "ring_empty_consecutive()" to be large. - */ - if (ring_empty(ring)) { - ring->consume = ring->supply = ring->bottom; - } -} - - - -/* Buffer state query routines */ - - -/* Number of bytes that may be supplied */ - int -ring_empty_count(ring) - Ring *ring; -{ - if (ring_empty(ring)) { /* if empty */ - return ring->size; - } else { - return ring_subtract(ring, ring->consume, ring->supply); - } -} - -/* number of CONSECUTIVE bytes that may be supplied */ - int -ring_empty_consecutive(ring) - Ring *ring; -{ - if ((ring->consume < ring->supply) || ring_empty(ring)) { - /* - * if consume is "below" supply, or empty, then - * return distance to the top - */ - return ring_subtract(ring, ring->top, ring->supply); - } else { - /* - * else, return what we may. - */ - return ring_subtract(ring, ring->consume, ring->supply); - } -} - -/* Return the number of bytes that are available for consuming - * (but don't give more than enough to get to cross over set mark) - */ - - int -ring_full_count(ring) - Ring *ring; -{ - if ((ring->mark == 0) || (ring->mark == ring->consume)) { - if (ring_full(ring)) { - return ring->size; /* nothing consumed, but full */ - } else { - return ring_subtract(ring, ring->supply, ring->consume); - } - } else { - return ring_subtract(ring, ring->mark, ring->consume); - } -} - -/* - * Return the number of CONSECUTIVE bytes available for consuming. - * However, don't return more than enough to cross over set mark. - */ - int -ring_full_consecutive(ring) - Ring *ring; -{ - if ((ring->mark == 0) || (ring->mark == ring->consume)) { - if ((ring->supply < ring->consume) || ring_full(ring)) { - return ring_subtract(ring, ring->top, ring->consume); - } else { - return ring_subtract(ring, ring->supply, ring->consume); - } - } else { - if (ring->mark < ring->consume) { - return ring_subtract(ring, ring->top, ring->consume); - } else { /* Else, distance to mark */ - return ring_subtract(ring, ring->mark, ring->consume); - } - } -} - -/* - * Move data into the "supply" portion of of the ring buffer. - */ - void -ring_supply_data(ring, buffer, count) - Ring *ring; - unsigned char *buffer; - int count; -{ - int i; - - while (count) { - i = MIN(count, ring_empty_consecutive(ring)); - memmove(ring->supply, buffer, i); - ring_supplied(ring, i); - count -= i; - buffer += i; - } -} - -#ifdef notdef - -/* - * Move data from the "consume" portion of the ring buffer - */ - void -ring_consume_data(ring, buffer, count) - Ring *ring; - unsigned char *buffer; - int count; -{ - int i; - - while (count) { - i = MIN(count, ring_full_consecutive(ring)); - memmove(buffer, ring->consume, i); - ring_consumed(ring, i); - count -= i; - buffer += i; - } -} -#endif - -#ifdef ENCRYPTION - void -ring_encrypt(ring, encryptor) - Ring *ring; - void (*encryptor)(); -{ - unsigned char *s, *c; - - if (ring_empty(ring) || ring->clearto == ring->supply) - return; - - if (!(c = ring->clearto)) - c = ring->consume; - - s = ring->supply; - - if (s <= c) { - (*encryptor)(c, ring->top - c); - (*encryptor)(ring->bottom, s - ring->bottom); - } else - (*encryptor)(c, s - c); - - ring->clearto = ring->supply; -} - - void -ring_clearto(ring) - Ring *ring; -{ - if (!ring_empty(ring)) - ring->clearto = ring->supply; - else - ring->clearto = 0; -} -#endif /* ENCRYPTION */ diff --git a/eBones/usr.bin/telnet/ring.h b/eBones/usr.bin/telnet/ring.h deleted file mode 100644 index 2a36781e5ae57..0000000000000 --- a/eBones/usr.bin/telnet/ring.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ring.h 8.1 (Berkeley) 6/6/93 - */ - -#if defined(P) -# undef P -#endif - -#if defined(__STDC__) || defined(LINT_ARGS) -# define P(x) x -#else -# define P(x) () -#endif - -/* - * This defines a structure for a ring buffer. - * - * The circular buffer has two parts: - *((( - * full: [consume, supply) - * empty: [supply, consume) - *]]] - * - */ -typedef struct { - unsigned char *consume, /* where data comes out of */ - *supply, /* where data comes in to */ - *bottom, /* lowest address in buffer */ - *top, /* highest address+1 in buffer */ - *mark; /* marker (user defined) */ -#ifdef ENCRYPTION - unsigned char *clearto; /* Data to this point is clear text */ - unsigned char *encryyptedto; /* Data is encrypted to here */ -#endif /* ENCRYPTION */ - int size; /* size in bytes of buffer */ - u_long consumetime, /* help us keep straight full, empty, etc. */ - supplytime; -} Ring; - -/* Here are some functions and macros to deal with the ring buffer */ - -/* Initialization routine */ -extern int - ring_init P((Ring *ring, unsigned char *buffer, int count)); - -/* Data movement routines */ -extern void - ring_supply_data P((Ring *ring, unsigned char *buffer, int count)); -#ifdef notdef -extern void - ring_consume_data P((Ring *ring, unsigned char *buffer, int count)); -#endif - -/* Buffer state transition routines */ -extern void - ring_supplied P((Ring *ring, int count)), - ring_consumed P((Ring *ring, int count)); - -/* Buffer state query routines */ -extern int - ring_empty_count P((Ring *ring)), - ring_empty_consecutive P((Ring *ring)), - ring_full_count P((Ring *ring)), - ring_full_consecutive P((Ring *ring)); - -#ifdef ENCRYPTION -extern void - ring_encrypt P((Ring *ring, void (*func)())), - ring_clearto P((Ring *ring)); -#endif /* ENCRYPTION */ - -extern void - ring_clear_mark(), - ring_mark(); diff --git a/eBones/usr.bin/telnet/sys_bsd.c b/eBones/usr.bin/telnet/sys_bsd.c deleted file mode 100644 index c906bcf3caba2..0000000000000 --- a/eBones/usr.bin/telnet/sys_bsd.c +++ /dev/null @@ -1,1221 +0,0 @@ -/* - * Copyright (c) 1988, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)sys_bsd.c 8.4 (Berkeley) 5/30/95"; -#endif /* not lint */ - -/* - * The following routines try to encapsulate what is system dependent - * (at least between 4.x and dos) which is used in telnet.c. - */ - - -#include <fcntl.h> -#include <sys/types.h> -#include <sys/time.h> -#include <sys/socket.h> -#include <signal.h> -#include <errno.h> -#include <arpa/telnet.h> -#include <unistd.h> - -#include "ring.h" - -#include "fdset.h" - -#include "defines.h" -#include "externs.h" -#include "types.h" - -#if defined(CRAY) || (defined(USE_TERMIO) && !defined(SYSV_TERMIO)) -#define SIG_FUNC_RET void -#else -#define SIG_FUNC_RET int -#endif - -#ifdef SIGINFO -extern SIG_FUNC_RET ayt_status(); -#endif - -int - tout, /* Output file descriptor */ - tin, /* Input file descriptor */ - net; - -#ifndef USE_TERMIO -struct tchars otc = { 0 }, ntc = { 0 }; -struct ltchars oltc = { 0 }, nltc = { 0 }; -struct sgttyb ottyb = { 0 }, nttyb = { 0 }; -int olmode = 0; -# define cfgetispeed(ptr) (ptr)->sg_ispeed -# define cfgetospeed(ptr) (ptr)->sg_ospeed -# define old_tc ottyb - -#else /* USE_TERMIO */ -struct termio old_tc = { 0 }; -extern struct termio new_tc; - -# ifndef TCSANOW -# ifdef TCSETS -# define TCSANOW TCSETS -# define TCSADRAIN TCSETSW -# define tcgetattr(f, t) ioctl(f, TCGETS, (char *)t) -# else -# ifdef TCSETA -# define TCSANOW TCSETA -# define TCSADRAIN TCSETAW -# define tcgetattr(f, t) ioctl(f, TCGETA, (char *)t) -# else -# define TCSANOW TIOCSETA -# define TCSADRAIN TIOCSETAW -# define tcgetattr(f, t) ioctl(f, TIOCGETA, (char *)t) -# endif -# endif -# define tcsetattr(f, a, t) ioctl(f, a, (char *)t) -# define cfgetospeed(ptr) ((ptr)->c_cflag&CBAUD) -# ifdef CIBAUD -# define cfgetispeed(ptr) (((ptr)->c_cflag&CIBAUD) >> IBSHIFT) -# else -# define cfgetispeed(ptr) cfgetospeed(ptr) -# endif -# endif /* TCSANOW */ -# ifdef sysV88 -# define TIOCFLUSH TC_PX_DRAIN -# endif -#endif /* USE_TERMIO */ - -static fd_set ibits, obits, xbits; - - - void -init_sys() -{ - tout = fileno(stdout); - tin = fileno(stdin); - FD_ZERO(&ibits); - FD_ZERO(&obits); - FD_ZERO(&xbits); - - errno = 0; -} - - - int -TerminalWrite(buf, n) - char *buf; - int n; -{ - return write(tout, buf, n); -} - - int -TerminalRead(buf, n) - char *buf; - int n; -{ - return read(tin, buf, n); -} - -/* - * - */ - - int -TerminalAutoFlush() -{ -#if defined(LNOFLSH) - int flush; - - ioctl(0, TIOCLGET, (char *)&flush); - return !(flush&LNOFLSH); /* if LNOFLSH, no autoflush */ -#else /* LNOFLSH */ - return 1; -#endif /* LNOFLSH */ -} - -#ifdef KLUDGELINEMODE -extern int kludgelinemode; -#endif -/* - * TerminalSpecialChars() - * - * Look at an input character to see if it is a special character - * and decide what to do. - * - * Output: - * - * 0 Don't add this character. - * 1 Do add this character - */ - -extern void xmitAO(), xmitEL(), xmitEC(), intp(), sendbrk(); - - int -TerminalSpecialChars(c) - int c; -{ - if (c == termIntChar) { - intp(); - return 0; - } else if (c == termQuitChar) { -#ifdef KLUDGELINEMODE - if (kludgelinemode) - sendbrk(); - else -#endif - sendabort(); - return 0; - } else if (c == termEofChar) { - if (my_want_state_is_will(TELOPT_LINEMODE)) { - sendeof(); - return 0; - } - return 1; - } else if (c == termSuspChar) { - sendsusp(); - return(0); - } else if (c == termFlushChar) { - xmitAO(); /* Transmit Abort Output */ - return 0; - } else if (!MODE_LOCAL_CHARS(globalmode)) { - if (c == termKillChar) { - xmitEL(); - return 0; - } else if (c == termEraseChar) { - xmitEC(); /* Transmit Erase Character */ - return 0; - } - } - return 1; -} - - -/* - * Flush output to the terminal - */ - - void -TerminalFlushOutput() -{ -#ifdef TIOCFLUSH - (void) ioctl(fileno(stdout), TIOCFLUSH, (char *) 0); -#else - (void) ioctl(fileno(stdout), TCFLSH, (char *) 0); -#endif -} - - void -TerminalSaveState() -{ -#ifndef USE_TERMIO - ioctl(0, TIOCGETP, (char *)&ottyb); - ioctl(0, TIOCGETC, (char *)&otc); - ioctl(0, TIOCGLTC, (char *)&oltc); - ioctl(0, TIOCLGET, (char *)&olmode); - - ntc = otc; - nltc = oltc; - nttyb = ottyb; - -#else /* USE_TERMIO */ - tcgetattr(0, &old_tc); - - new_tc = old_tc; - -#ifndef VDISCARD - termFlushChar = CONTROL('O'); -#endif -#ifndef VWERASE - termWerasChar = CONTROL('W'); -#endif -#ifndef VREPRINT - termRprntChar = CONTROL('R'); -#endif -#ifndef VLNEXT - termLiteralNextChar = CONTROL('V'); -#endif -#ifndef VSTART - termStartChar = CONTROL('Q'); -#endif -#ifndef VSTOP - termStopChar = CONTROL('S'); -#endif -#ifndef VSTATUS - termAytChar = CONTROL('T'); -#endif -#endif /* USE_TERMIO */ -} - - cc_t * -tcval(func) - register int func; -{ - switch(func) { - case SLC_IP: return(&termIntChar); - case SLC_ABORT: return(&termQuitChar); - case SLC_EOF: return(&termEofChar); - case SLC_EC: return(&termEraseChar); - case SLC_EL: return(&termKillChar); - case SLC_XON: return(&termStartChar); - case SLC_XOFF: return(&termStopChar); - case SLC_FORW1: return(&termForw1Char); -#ifdef USE_TERMIO - case SLC_FORW2: return(&termForw2Char); -# ifdef VDISCARD - case SLC_AO: return(&termFlushChar); -# endif -# ifdef VSUSP - case SLC_SUSP: return(&termSuspChar); -# endif -# ifdef VWERASE - case SLC_EW: return(&termWerasChar); -# endif -# ifdef VREPRINT - case SLC_RP: return(&termRprntChar); -# endif -# ifdef VLNEXT - case SLC_LNEXT: return(&termLiteralNextChar); -# endif -# ifdef VSTATUS - case SLC_AYT: return(&termAytChar); -# endif -#endif - - case SLC_SYNCH: - case SLC_BRK: - case SLC_EOR: - default: - return((cc_t *)0); - } -} - - void -TerminalDefaultChars() -{ -#ifndef USE_TERMIO - ntc = otc; - nltc = oltc; - nttyb.sg_kill = ottyb.sg_kill; - nttyb.sg_erase = ottyb.sg_erase; -#else /* USE_TERMIO */ - memmove(new_tc.c_cc, old_tc.c_cc, sizeof(old_tc.c_cc)); -# ifndef VDISCARD - termFlushChar = CONTROL('O'); -# endif -# ifndef VWERASE - termWerasChar = CONTROL('W'); -# endif -# ifndef VREPRINT - termRprntChar = CONTROL('R'); -# endif -# ifndef VLNEXT - termLiteralNextChar = CONTROL('V'); -# endif -# ifndef VSTART - termStartChar = CONTROL('Q'); -# endif -# ifndef VSTOP - termStopChar = CONTROL('S'); -# endif -# ifndef VSTATUS - termAytChar = CONTROL('T'); -# endif -#endif /* USE_TERMIO */ -} - -#ifdef notdef -void -TerminalRestoreState() -{ -} -#endif - -/* - * TerminalNewMode - set up terminal to a specific mode. - * MODE_ECHO: do local terminal echo - * MODE_FLOW: do local flow control - * MODE_TRAPSIG: do local mapping to TELNET IAC sequences - * MODE_EDIT: do local line editing - * - * Command mode: - * MODE_ECHO|MODE_EDIT|MODE_FLOW|MODE_TRAPSIG - * local echo - * local editing - * local xon/xoff - * local signal mapping - * - * Linemode: - * local/no editing - * Both Linemode and Single Character mode: - * local/remote echo - * local/no xon/xoff - * local/no signal mapping - */ - - - void -TerminalNewMode(f) - register int f; -{ - static int prevmode = 0; -#ifndef USE_TERMIO - struct tchars tc; - struct ltchars ltc; - struct sgttyb sb; - int lmode; -#else /* USE_TERMIO */ - struct termio tmp_tc; -#endif /* USE_TERMIO */ - int onoff; - int old; - cc_t esc; - - globalmode = f&~MODE_FORCE; - if (prevmode == f) - return; - - /* - * Write any outstanding data before switching modes - * ttyflush() returns 0 only when there is no more data - * left to write out, it returns -1 if it couldn't do - * anything at all, otherwise it returns 1 + the number - * of characters left to write. -#ifndef USE_TERMIO - * We would really like ask the kernel to wait for the output - * to drain, like we can do with the TCSADRAIN, but we don't have - * that option. The only ioctl that waits for the output to - * drain, TIOCSETP, also flushes the input queue, which is NOT - * what we want (TIOCSETP is like TCSADFLUSH). -#endif - */ - old = ttyflush(SYNCHing|flushout); - if (old < 0 || old > 1) { -#ifdef USE_TERMIO - tcgetattr(tin, &tmp_tc); -#endif /* USE_TERMIO */ - do { - /* - * Wait for data to drain, then flush again. - */ -#ifdef USE_TERMIO - tcsetattr(tin, TCSADRAIN, &tmp_tc); -#endif /* USE_TERMIO */ - old = ttyflush(SYNCHing|flushout); - } while (old < 0 || old > 1); - } - - old = prevmode; - prevmode = f&~MODE_FORCE; -#ifndef USE_TERMIO - sb = nttyb; - tc = ntc; - ltc = nltc; - lmode = olmode; -#else - tmp_tc = new_tc; -#endif - - if (f&MODE_ECHO) { -#ifndef USE_TERMIO - sb.sg_flags |= ECHO; -#else - tmp_tc.c_lflag |= ECHO; - tmp_tc.c_oflag |= ONLCR; - if (crlf) - tmp_tc.c_iflag |= ICRNL; -#endif - } else { -#ifndef USE_TERMIO - sb.sg_flags &= ~ECHO; -#else - tmp_tc.c_lflag &= ~ECHO; - tmp_tc.c_oflag &= ~ONLCR; -# ifdef notdef - if (crlf) - tmp_tc.c_iflag &= ~ICRNL; -# endif -#endif - } - - if ((f&MODE_FLOW) == 0) { -#ifndef USE_TERMIO - tc.t_startc = _POSIX_VDISABLE; - tc.t_stopc = _POSIX_VDISABLE; -#else - tmp_tc.c_iflag &= ~(IXOFF|IXON); /* Leave the IXANY bit alone */ - } else { - if (restartany < 0) { - tmp_tc.c_iflag |= IXOFF|IXON; /* Leave the IXANY bit alone */ - } else if (restartany > 0) { - tmp_tc.c_iflag |= IXOFF|IXON|IXANY; - } else { - tmp_tc.c_iflag |= IXOFF|IXON; - tmp_tc.c_iflag &= ~IXANY; - } -#endif - } - - if ((f&MODE_TRAPSIG) == 0) { -#ifndef USE_TERMIO - tc.t_intrc = _POSIX_VDISABLE; - tc.t_quitc = _POSIX_VDISABLE; - tc.t_eofc = _POSIX_VDISABLE; - ltc.t_suspc = _POSIX_VDISABLE; - ltc.t_dsuspc = _POSIX_VDISABLE; -#else - tmp_tc.c_lflag &= ~ISIG; -#endif - localchars = 0; - } else { -#ifdef USE_TERMIO - tmp_tc.c_lflag |= ISIG; -#endif - localchars = 1; - } - - if (f&MODE_EDIT) { -#ifndef USE_TERMIO - sb.sg_flags &= ~CBREAK; - sb.sg_flags |= CRMOD; -#else - tmp_tc.c_lflag |= ICANON; -#endif - } else { -#ifndef USE_TERMIO - sb.sg_flags |= CBREAK; - if (f&MODE_ECHO) - sb.sg_flags |= CRMOD; - else - sb.sg_flags &= ~CRMOD; -#else - tmp_tc.c_lflag &= ~ICANON; - tmp_tc.c_iflag &= ~ICRNL; - tmp_tc.c_cc[VMIN] = 1; - tmp_tc.c_cc[VTIME] = 0; -#endif - } - - if ((f&(MODE_EDIT|MODE_TRAPSIG)) == 0) { -#ifndef USE_TERMIO - ltc.t_lnextc = _POSIX_VDISABLE; -#else -# ifdef VLNEXT - tmp_tc.c_cc[VLNEXT] = (cc_t)(_POSIX_VDISABLE); -# endif -#endif - } - - if (f&MODE_SOFT_TAB) { -#ifndef USE_TERMIO - sb.sg_flags |= XTABS; -#else -# ifdef OXTABS - tmp_tc.c_oflag |= OXTABS; -# endif -# ifdef TABDLY - tmp_tc.c_oflag &= ~TABDLY; - tmp_tc.c_oflag |= TAB3; -# endif -#endif - } else { -#ifndef USE_TERMIO - sb.sg_flags &= ~XTABS; -#else -# ifdef OXTABS - tmp_tc.c_oflag &= ~OXTABS; -# endif -# ifdef TABDLY - tmp_tc.c_oflag &= ~TABDLY; -# endif -#endif - } - - if (f&MODE_LIT_ECHO) { -#ifndef USE_TERMIO - lmode &= ~LCTLECH; -#else -# ifdef ECHOCTL - tmp_tc.c_lflag &= ~ECHOCTL; -# endif -#endif - } else { -#ifndef USE_TERMIO - lmode |= LCTLECH; -#else -# ifdef ECHOCTL - tmp_tc.c_lflag |= ECHOCTL; -# endif -#endif - } - - if (f == -1) { - onoff = 0; - } else { -#ifndef USE_TERMIO - if (f & MODE_OUTBIN) - lmode |= LLITOUT; - else - lmode &= ~LLITOUT; - - if (f & MODE_INBIN) - lmode |= LPASS8; - else - lmode &= ~LPASS8; -#else - if (f & MODE_INBIN) - tmp_tc.c_iflag &= ~ISTRIP; - else - tmp_tc.c_iflag |= ISTRIP; - if (f & MODE_OUTBIN) { - tmp_tc.c_cflag &= ~(CSIZE|PARENB); - tmp_tc.c_cflag |= CS8; - tmp_tc.c_oflag &= ~OPOST; - } else { - tmp_tc.c_cflag &= ~(CSIZE|PARENB); - tmp_tc.c_cflag |= old_tc.c_cflag & (CSIZE|PARENB); - tmp_tc.c_oflag |= OPOST; - } -#endif - onoff = 1; - } - - if (f != -1) { -#ifdef SIGTSTP - SIG_FUNC_RET susp(); -#endif /* SIGTSTP */ -#ifdef SIGINFO - SIG_FUNC_RET ayt(); -#endif - -#ifdef SIGTSTP - (void) signal(SIGTSTP, susp); -#endif /* SIGTSTP */ -#ifdef SIGINFO - (void) signal(SIGINFO, ayt); -#endif -#if defined(USE_TERMIO) && defined(NOKERNINFO) - tmp_tc.c_lflag |= NOKERNINFO; -#endif - /* - * We don't want to process ^Y here. It's just another - * character that we'll pass on to the back end. It has - * to process it because it will be processed when the - * user attempts to read it, not when we send it. - */ -#ifndef USE_TERMIO - ltc.t_dsuspc = _POSIX_VDISABLE; -#else -# ifdef VDSUSP - tmp_tc.c_cc[VDSUSP] = (cc_t)(_POSIX_VDISABLE); -# endif -#endif -#ifdef USE_TERMIO - /* - * If the VEOL character is already set, then use VEOL2, - * otherwise use VEOL. - */ - esc = (rlogin != _POSIX_VDISABLE) ? rlogin : escape; - if ((tmp_tc.c_cc[VEOL] != esc) -# ifdef VEOL2 - && (tmp_tc.c_cc[VEOL2] != esc) -# endif - ) { - if (tmp_tc.c_cc[VEOL] == (cc_t)(_POSIX_VDISABLE)) - tmp_tc.c_cc[VEOL] = esc; -# ifdef VEOL2 - else if (tmp_tc.c_cc[VEOL2] == (cc_t)(_POSIX_VDISABLE)) - tmp_tc.c_cc[VEOL2] = esc; -# endif - } -#else - if (tc.t_brkc == (cc_t)(_POSIX_VDISABLE)) - tc.t_brkc = esc; -#endif - } else { -#ifdef SIGINFO - SIG_FUNC_RET ayt_status(); - - (void) signal(SIGINFO, ayt_status); -#endif -#ifdef SIGTSTP - (void) signal(SIGTSTP, SIG_DFL); -# ifndef SOLARIS - (void) sigsetmask(sigblock(0) & ~(1<<(SIGTSTP-1))); -# else SOLARIS - (void) sigrelse(SIGTSTP); -# endif SOLARIS -#endif /* SIGTSTP */ -#ifndef USE_TERMIO - ltc = oltc; - tc = otc; - sb = ottyb; - lmode = olmode; -#else - tmp_tc = old_tc; -#endif - } -#ifndef USE_TERMIO - ioctl(tin, TIOCLSET, (char *)&lmode); - ioctl(tin, TIOCSLTC, (char *)<c); - ioctl(tin, TIOCSETC, (char *)&tc); - ioctl(tin, TIOCSETN, (char *)&sb); -#else - if (tcsetattr(tin, TCSADRAIN, &tmp_tc) < 0) - tcsetattr(tin, TCSANOW, &tmp_tc); -#endif - -#if (!defined(TN3270)) || ((!defined(NOT43)) || defined(PUTCHAR)) -# if !defined(sysV88) - ioctl(tin, FIONBIO, (char *)&onoff); - ioctl(tout, FIONBIO, (char *)&onoff); -# endif -#endif /* (!defined(TN3270)) || ((!defined(NOT43)) || defined(PUTCHAR)) */ -#if defined(TN3270) - if (noasynchtty == 0) { - ioctl(tin, FIOASYNC, (char *)&onoff); - } -#endif /* defined(TN3270) */ - -} - -/* - * Try to guess whether speeds are "encoded" (4.2BSD) or just numeric (4.4BSD). - */ -#if B4800 != 4800 -#define DECODE_BAUD -#endif - -#ifdef DECODE_BAUD -#ifndef B7200 -#define B7200 B4800 -#endif - -#ifndef B14400 -#define B14400 B9600 -#endif - -#ifndef B19200 -# define B19200 B14400 -#endif - -#ifndef B28800 -#define B28800 B19200 -#endif - -#ifndef B38400 -# define B38400 B28800 -#endif - -#ifndef B57600 -#define B57600 B38400 -#endif - -#ifndef B76800 -#define B76800 B57600 -#endif - -#ifndef B115200 -#define B115200 B76800 -#endif - -#ifndef B230400 -#define B230400 B115200 -#endif - - -/* - * This code assumes that the values B0, B50, B75... - * are in ascending order. They do not have to be - * contiguous. - */ -struct termspeeds { - long speed; - long value; -} termspeeds[] = { - { 0, B0 }, { 50, B50 }, { 75, B75 }, - { 110, B110 }, { 134, B134 }, { 150, B150 }, - { 200, B200 }, { 300, B300 }, { 600, B600 }, - { 1200, B1200 }, { 1800, B1800 }, { 2400, B2400 }, - { 4800, B4800 }, { 7200, B7200 }, { 9600, B9600 }, - { 14400, B14400 }, { 19200, B19200 }, { 28800, B28800 }, - { 38400, B38400 }, { 57600, B57600 }, { 115200, B115200 }, - { 230400, B230400 }, { -1, B230400 } -}; -#endif /* DECODE_BAUD */ - - void -TerminalSpeeds(ispeed, ospeed) - long *ispeed; - long *ospeed; -{ -#ifdef DECODE_BAUD - register struct termspeeds *tp; -#endif /* DECODE_BAUD */ - register long in, out; - - out = cfgetospeed(&old_tc); - in = cfgetispeed(&old_tc); - if (in == 0) - in = out; - -#ifdef DECODE_BAUD - tp = termspeeds; - while ((tp->speed != -1) && (tp->value < in)) - tp++; - *ispeed = tp->speed; - - tp = termspeeds; - while ((tp->speed != -1) && (tp->value < out)) - tp++; - *ospeed = tp->speed; -#else /* DECODE_BAUD */ - *ispeed = in; - *ospeed = out; -#endif /* DECODE_BAUD */ -} - - int -TerminalWindowSize(rows, cols) - long *rows, *cols; -{ -#ifdef TIOCGWINSZ - struct winsize ws; - - if (ioctl(fileno(stdin), TIOCGWINSZ, (char *)&ws) >= 0) { - *rows = ws.ws_row; - *cols = ws.ws_col; - return 1; - } -#endif /* TIOCGWINSZ */ - return 0; -} - - int -NetClose(fd) - int fd; -{ - return close(fd); -} - - - void -NetNonblockingIO(fd, onoff) - int fd; - int onoff; -{ - ioctl(fd, FIONBIO, (char *)&onoff); -} - -#if defined(TN3270) - void -NetSigIO(fd, onoff) - int fd; - int onoff; -{ - ioctl(fd, FIOASYNC, (char *)&onoff); /* hear about input */ -} - - void -NetSetPgrp(fd) - int fd; -{ - int myPid; - - myPid = getpid(); - fcntl(fd, F_SETOWN, myPid); -} -#endif /*defined(TN3270)*/ - -/* - * Various signal handling routines. - */ - - /* ARGSUSED */ - SIG_FUNC_RET -deadpeer(sig) - int sig; -{ - setcommandmode(); - longjmp(peerdied, -1); -} - - /* ARGSUSED */ - SIG_FUNC_RET -intr(sig) - int sig; -{ - if (localchars) { - intp(); - return; - } - setcommandmode(); - longjmp(toplevel, -1); -} - - /* ARGSUSED */ - SIG_FUNC_RET -intr2(sig) - int sig; -{ - if (localchars) { -#ifdef KLUDGELINEMODE - if (kludgelinemode) - sendbrk(); - else -#endif - sendabort(); - return; - } -} - -#ifdef SIGTSTP - /* ARGSUSED */ - SIG_FUNC_RET -susp(sig) - int sig; -{ - if ((rlogin != _POSIX_VDISABLE) && rlogin_susp()) - return; - if (localchars) - sendsusp(); -} -#endif - -#ifdef SIGWINCH - /* ARGSUSED */ - SIG_FUNC_RET -sendwin(sig) - int sig; -{ - if (connected) { - sendnaws(); - } -} -#endif - -#ifdef SIGINFO - /* ARGSUSED */ - SIG_FUNC_RET -ayt(sig) - int sig; -{ - if (connected) - sendayt(); - else - ayt_status(); -} -#endif - - - void -sys_telnet_init() -{ - (void) signal(SIGINT, intr); - (void) signal(SIGQUIT, intr2); - (void) signal(SIGPIPE, deadpeer); -#ifdef SIGWINCH - (void) signal(SIGWINCH, sendwin); -#endif -#ifdef SIGTSTP - (void) signal(SIGTSTP, susp); -#endif -#ifdef SIGINFO - (void) signal(SIGINFO, ayt); -#endif - - setconnmode(0); - - NetNonblockingIO(net, 1); - -#if defined(TN3270) - if (noasynchnet == 0) { /* DBX can't handle! */ - NetSigIO(net, 1); - NetSetPgrp(net); - } -#endif /* defined(TN3270) */ - -#if defined(SO_OOBINLINE) - if (SetSockOpt(net, SOL_SOCKET, SO_OOBINLINE, 1) == -1) { - perror("SetSockOpt"); - } -#endif /* defined(SO_OOBINLINE) */ -} - -/* - * Process rings - - * - * This routine tries to fill up/empty our various rings. - * - * The parameter specifies whether this is a poll operation, - * or a block-until-something-happens operation. - * - * The return value is 1 if something happened, 0 if not. - */ - - int -process_rings(netin, netout, netex, ttyin, ttyout, poll) - int poll; /* If 0, then block until something to do */ -{ - register int c; - /* One wants to be a bit careful about setting returnValue - * to one, since a one implies we did some useful work, - * and therefore probably won't be called to block next - * time (TN3270 mode only). - */ - int returnValue = 0; - static struct timeval TimeValue = { 0 }; - - if (netout) { - FD_SET(net, &obits); - } - if (ttyout) { - FD_SET(tout, &obits); - } -#if defined(TN3270) - if (ttyin) { - FD_SET(tin, &ibits); - } -#else /* defined(TN3270) */ - if (ttyin) { - FD_SET(tin, &ibits); - } -#endif /* defined(TN3270) */ -#if defined(TN3270) - if (netin) { - FD_SET(net, &ibits); - } -# else /* !defined(TN3270) */ - if (netin) { - FD_SET(net, &ibits); - } -# endif /* !defined(TN3270) */ - if (netex) { - FD_SET(net, &xbits); - } - if ((c = select(16, &ibits, &obits, &xbits, - (poll == 0)? (struct timeval *)0 : &TimeValue)) < 0) { - if (c == -1) { - /* - * we can get EINTR if we are in line mode, - * and the user does an escape (TSTP), or - * some other signal generator. - */ - if (errno == EINTR) { - return 0; - } -# if defined(TN3270) - /* - * we can get EBADF if we were in transparent - * mode, and the transcom process died. - */ - if (errno == EBADF) { - /* - * zero the bits (even though kernel does it) - * to make sure we are selecting on the right - * ones. - */ - FD_ZERO(&ibits); - FD_ZERO(&obits); - FD_ZERO(&xbits); - return 0; - } -# endif /* defined(TN3270) */ - /* I don't like this, does it ever happen? */ - printf("sleep(5) from telnet, after select: %s\r\n", strerror(errno)); - sleep(5); - } - return 0; - } - - /* - * Any urgent data? - */ - if (FD_ISSET(net, &xbits)) { - FD_CLR(net, &xbits); - SYNCHing = 1; - (void) ttyflush(1); /* flush already enqueued data */ - } - - /* - * Something to read from the network... - */ - if (FD_ISSET(net, &ibits)) { - int canread; - - FD_CLR(net, &ibits); - canread = ring_empty_consecutive(&netiring); -#if !defined(SO_OOBINLINE) - /* - * In 4.2 (and some early 4.3) systems, the - * OOB indication and data handling in the kernel - * is such that if two separate TCP Urgent requests - * come in, one byte of TCP data will be overlaid. - * This is fatal for Telnet, but we try to live - * with it. - * - * In addition, in 4.2 (and...), a special protocol - * is needed to pick up the TCP Urgent data in - * the correct sequence. - * - * What we do is: if we think we are in urgent - * mode, we look to see if we are "at the mark". - * If we are, we do an OOB receive. If we run - * this twice, we will do the OOB receive twice, - * but the second will fail, since the second - * time we were "at the mark", but there wasn't - * any data there (the kernel doesn't reset - * "at the mark" until we do a normal read). - * Once we've read the OOB data, we go ahead - * and do normal reads. - * - * There is also another problem, which is that - * since the OOB byte we read doesn't put us - * out of OOB state, and since that byte is most - * likely the TELNET DM (data mark), we would - * stay in the TELNET SYNCH (SYNCHing) state. - * So, clocks to the rescue. If we've "just" - * received a DM, then we test for the - * presence of OOB data when the receive OOB - * fails (and AFTER we did the normal mode read - * to clear "at the mark"). - */ - if (SYNCHing) { - int atmark; - static int bogus_oob = 0, first = 1; - - ioctl(net, SIOCATMARK, (char *)&atmark); - if (atmark) { - c = recv(net, netiring.supply, canread, MSG_OOB); - if ((c == -1) && (errno == EINVAL)) { - c = recv(net, netiring.supply, canread, 0); - if (clocks.didnetreceive < clocks.gotDM) { - SYNCHing = stilloob(net); - } - } else if (first && c > 0) { - /* - * Bogosity check. Systems based on 4.2BSD - * do not return an error if you do a second - * recv(MSG_OOB). So, we do one. If it - * succeeds and returns exactly the same - * data, then assume that we are running - * on a broken system and set the bogus_oob - * flag. (If the data was different, then - * we probably got some valid new data, so - * increment the count...) - */ - int i; - i = recv(net, netiring.supply + c, canread - c, MSG_OOB); - if (i == c && - memcmp(netiring.supply, netiring.supply + c, i) == 0) { - bogus_oob = 1; - first = 0; - } else if (i < 0) { - bogus_oob = 0; - first = 0; - } else - c += i; - } - if (bogus_oob && c > 0) { - int i; - /* - * Bogosity. We have to do the read - * to clear the atmark to get out of - * an infinate loop. - */ - i = read(net, netiring.supply + c, canread - c); - if (i > 0) - c += i; - } - } else { - c = recv(net, netiring.supply, canread, 0); - } - } else { - c = recv(net, netiring.supply, canread, 0); - } - settimer(didnetreceive); -#else /* !defined(SO_OOBINLINE) */ - c = recv(net, (char *)netiring.supply, canread, 0); -#endif /* !defined(SO_OOBINLINE) */ - if (c < 0 && errno == EWOULDBLOCK) { - c = 0; - } else if (c <= 0) { - return -1; - } - if (netdata) { - Dump('<', netiring.supply, c); - } - if (c) - ring_supplied(&netiring, c); - returnValue = 1; - } - - /* - * Something to read from the tty... - */ - if (FD_ISSET(tin, &ibits)) { - FD_CLR(tin, &ibits); - c = TerminalRead(ttyiring.supply, ring_empty_consecutive(&ttyiring)); - if (c < 0 && errno == EIO) - c = 0; - if (c < 0 && errno == EWOULDBLOCK) { - c = 0; - } else { - /* EOF detection for line mode!!!! */ - if ((c == 0) && MODE_LOCAL_CHARS(globalmode) && isatty(tin)) { - /* must be an EOF... */ - *ttyiring.supply = termEofChar; - c = 1; - } - if (c <= 0) { - return -1; - } - if (termdata) { - Dump('<', ttyiring.supply, c); - } - ring_supplied(&ttyiring, c); - } - returnValue = 1; /* did something useful */ - } - - if (FD_ISSET(net, &obits)) { - FD_CLR(net, &obits); - returnValue |= netflush(); - } - if (FD_ISSET(tout, &obits)) { - FD_CLR(tout, &obits); - returnValue |= (ttyflush(SYNCHing|flushout) > 0); - } - - return returnValue; -} diff --git a/eBones/usr.bin/telnet/telnet.1 b/eBones/usr.bin/telnet/telnet.1 deleted file mode 100644 index b996fea3b2b43..0000000000000 --- a/eBones/usr.bin/telnet/telnet.1 +++ /dev/null @@ -1,1366 +0,0 @@ -.\" Copyright (c) 1983, 1990, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)telnet.1 8.6 (Berkeley) 6/1/94 -.\" -.Dd June 1, 1994 -.Dt TELNET 1 -.Os BSD 4.2 -.Sh NAME -.Nm telnet -.Nd user interface to the -.Tn TELNET -protocol -.Sh SYNOPSIS -.Nm telnet -.Op Fl 8EFKLacdfrx -.Op Fl S Ar tos -.Op Fl X Ar authtype -.Op Fl e Ar escapechar -.Op Fl k Ar realm -.Op Fl l Ar user -.Op Fl n Ar tracefile -.Oo -.Ar host -.Op port -.Oc -.Sh DESCRIPTION -The -.Nm telnet -command -is used to communicate with another host using the -.Tn TELNET -protocol. -If -.Nm telnet -is invoked without the -.Ar host -argument, it enters command mode, -indicated by its prompt -.Pq Nm telnet\&> . -In this mode, it accepts and executes the commands listed below. -If it is invoked with arguments, it performs an -.Ic open -command with those arguments. -.Pp -Options: -.Bl -tag -width indent -.It Fl 8 -Specifies an 8-bit data path. This causes an attempt to -negotiate the -.Dv TELNET BINARY -option on both input and output. -.It Fl E -Stops any character from being recognized as an escape character. -.It Fl F -If Kerberos V5 authentication is being used, the -.Fl F -option allows the local credentials to be forwarded -to the remote system, including any credentials that -have already been forwarded into the local environment. -.It Fl K -Specifies no automatic login to the remote system. -.It Fl L -Specifies an 8-bit data path on output. This causes the -BINARY option to be negotiated on output. -.It Fl S Ar tos -Sets the IP type-of-service (TOS) option for the telnet -connection to the value -.Ar tos, -which can be a numeric TOS value -or, on systems that support it, a symbolic -TOS name found in the /etc/iptos file. -.It Fl X Ar atype -Disables the -.Ar atype -type of authentication. -.It Fl a -Attempt automatic login. -Currently, this sends the user name via the -.Ev USER -variable -of the -.Ev ENVIRON -option if supported by the remote system. -The name used is that of the current user as returned by -.Xr getlogin 2 -if it agrees with the current user ID, -otherwise it is the name associated with the user ID. -.It Fl c -Disables the reading of the user's -.Pa \&.telnetrc -file. (See the -.Ic toggle skiprc -command on this man page.) -.It Fl d -Sets the initial value of the -.Ic debug -toggle to -.Dv TRUE -.It Fl e Ar escape char -Sets the initial -.Nm -.Nm telnet -escape character to -.Ar escape char. -If -.Ar escape char -is omitted, then -there will be no escape character. -.It Fl f -If Kerberos V5 authentication is being used, the -.Fl f -option allows the local credentials to be forwarded to the remote system. -.ne 1i -.It Fl k Ar realm -If Kerberos authentication is being used, the -.Fl k -option requests that telnet obtain tickets for the remote host in -realm realm instead of the remote host's realm, as determined -by -.Xr krb_realmofhost 3 . -.It Fl l Ar user -When connecting to the remote system, if the remote system -understands the -.Ev ENVIRON -option, then -.Ar user -will be sent to the remote system as the value for the variable USER. -This option implies the -.Fl a -option. -This option may also be used with the -.Ic open -command. -.It Fl n Ar tracefile -Opens -.Ar tracefile -for recording trace information. -See the -.Ic set tracefile -command below. -.It Fl r -Specifies a user interface similar to -.Xr rlogin 1 . -In this -mode, the escape character is set to the tilde (~) character, -unless modified by the -e option. -.It Fl x -Turns on encryption of the data stream if possible. This -option is not available outside of the United States and -Canada. -.It Ar host -Indicates the official name, an alias, or the Internet address -of a remote host. -.It Ar port -Indicates a port number (address of an application). If a number is -not specified, the default -.Nm telnet -port is used. -.El -.Pp -When in rlogin mode, a line of the form ~. disconnects from the -remote host; ~ is the telnet escape character. -Similarly, the line ~^Z suspends the telnet session. -The line ~^] escapes to the normal telnet escape prompt. -.Pp -Once a connection has been opened, -.Nm telnet -will attempt to enable the -.Dv TELNET LINEMODE -option. -If this fails, then -.Nm telnet -will revert to one of two input modes: -either \*(Lqcharacter at a time\*(Rq -or \*(Lqold line by line\*(Rq -depending on what the remote system supports. -.Pp -When -.Dv LINEMODE -is enabled, character processing is done on the -local system, under the control of the remote system. When input -editing or character echoing is to be disabled, the remote system -will relay that information. The remote system will also relay -changes to any special characters that happen on the remote -system, so that they can take effect on the local system. -.Pp -In \*(Lqcharacter at a time\*(Rq mode, most -text typed is immediately sent to the remote host for processing. -.Pp -In \*(Lqold line by line\*(Rq mode, all text is echoed locally, -and (normally) only completed lines are sent to the remote host. -The \*(Lqlocal echo character\*(Rq (initially \*(Lq^E\*(Rq) may be used -to turn off and on the local echo -(this would mostly be used to enter passwords -without the password being echoed). -.Pp -If the -.Dv LINEMODE -option is enabled, or if the -.Ic localchars -toggle is -.Dv TRUE -(the default for \*(Lqold line by line\*(Lq; see below), -the user's -.Ic quit , -.Ic intr , -and -.Ic flush -characters are trapped locally, and sent as -.Tn TELNET -protocol sequences to the remote side. -If -.Dv LINEMODE -has ever been enabled, then the user's -.Ic susp -and -.Ic eof -are also sent as -.Tn TELNET -protocol sequences, -and -.Ic quit -is sent as a -.Dv TELNET ABORT -instead of -.Dv BREAK -There are options (see -.Ic toggle -.Ic autoflush -and -.Ic toggle -.Ic autosynch -below) -which cause this action to flush subsequent output to the terminal -(until the remote host acknowledges the -.Tn TELNET -sequence) and flush previous terminal input -(in the case of -.Ic quit -and -.Ic intr ) . -.Pp -While connected to a remote host, -.Nm telnet -command mode may be entered by typing the -.Nm telnet -\*(Lqescape character\*(Rq (initially \*(Lq^]\*(Rq). -When in command mode, the normal terminal editing conventions are available. -.Pp -The following -.Nm telnet -commands are available. -Only enough of each command to uniquely identify it need be typed -(this is also true for arguments to the -.Ic mode , -.Ic set , -.Ic toggle , -.Ic unset , -.Ic slc , -.Ic environ , -and -.Ic display -commands). -.Pp -.Bl -tag -width "mode type" -.It Ic auth Ar argument ... -The auth command manipulates the information sent through the -.Dv TELNET AUTHENTICATE -option. Valid arguments for the -auth command are as follows: -.Bl -tag -width "disable type" -.It Ic disable Ar type -Disables the specified type of authentication. To -obtain a list of available types, use the -.Ic auth disable \&? -command. -.It Ic enable Ar type -Enables the specified type of authentication. To -obtain a list of available types, use the -.Ic auth enable \&? -command. -.It Ic status -Lists the current status of the various types of -authentication. -.El -.It Ic close -Close a -.Tn TELNET -session and return to command mode. -.It Ic display Ar argument ... -Displays all, or some, of the -.Ic set -and -.Ic toggle -values (see below). -.It Ic encrypt Ar argument ... -The encrypt command manipulates the information sent through the -.Dv TELNET ENCRYPT -option. -.Pp -Note: Because of export controls, the -.Dv TELNET ENCRYPT -option is not supported outside of the United States and Canada. -.Pp -Valid arguments for the encrypt command are as follows: -.Bl -tag -width Ar -.It Ic disable Ar type Ic [input|output] -Disables the specified type of encryption. If you -omit the input and output, both input and output -are disabled. To obtain a list of available -types, use the -.Ic encrypt disable \&? -command. -.It Ic enable Ar type Ic [input|output] -Enables the specified type of encryption. If you -omit input and output, both input and output are -enabled. To obtain a list of available types, use the -.Ic encrypt enable \&? -command. -.It Ic input -This is the same as the -.Ic encrypt start input -command. -.It Ic -input -This is the same as the -.Ic encrypt stop input -command. -.It Ic output -This is the same as the -.Ic encrypt start output -command. -.It Ic -output -This is the same as the -.Ic encrypt stop output -command. -.It Ic start Ic [input|output] -Attempts to start encryption. If you omit -.Ic input -and -.Ic output, -both input and output are enabled. To -obtain a list of available types, use the -.Ic encrypt enable \&? -command. -.It Ic status -Lists the current status of encryption. -.It Ic stop Ic [input|output] -Stops encryption. If you omit input and output, -encryption is on both input and output. -.It Ic type Ar type -Sets the default type of encryption to be used -with later -.Ic encrypt start -or -.Ic encrypt stop -commands. -.El -.It Ic environ Ar arguments... -The -.Ic environ -command is used to manipulate the -the variables that my be sent through the -.Dv TELNET ENVIRON -option. -The initial set of variables is taken from the users -environment, with only the -.Ev DISPLAY -and -.Ev PRINTER -variables being exported by default. -The -.Ev USER -variable is also exported if the -.Fl a -or -.Fl l -options are used. -.br -Valid arguments for the -.Ic environ -command are: -.Bl -tag -width Fl -.It Ic define Ar variable value -Define the variable -.Ar variable -to have a value of -.Ar value. -Any variables defined by this command are automatically exported. -The -.Ar value -may be enclosed in single or double quotes so -that tabs and spaces may be included. -.It Ic undefine Ar variable -Remove -.Ar variable -from the list of environment variables. -.It Ic export Ar variable -Mark the variable -.Ar variable -to be exported to the remote side. -.It Ic unexport Ar variable -Mark the variable -.Ar variable -to not be exported unless -explicitly asked for by the remote side. -.It Ic list -List the current set of environment variables. -Those marked with a -.Cm * -will be sent automatically, -other variables will only be sent if explicitly requested. -.It Ic \&? -Prints out help information for the -.Ic environ -command. -.El -.It Ic logout -Sends the -.Dv TELNET LOGOUT -option to the remote side. -This command is similar to a -.Ic close -command; however, if the remote side does not support the -.Dv LOGOUT -option, nothing happens. -If, however, the remote side does support the -.Dv LOGOUT -option, this command should cause the remote side to close the -.Tn TELNET -connection. -If the remote side also supports the concept of -suspending a user's session for later reattachment, -the logout argument indicates that you -should terminate the session immediately. -.It Ic mode Ar type -.Ar Type -is one of several options, depending on the state of the -.Tn TELNET -session. -The remote host is asked for permission to go into the requested mode. -If the remote host is capable of entering that mode, the requested -mode will be entered. -.Bl -tag -width Ar -.It Ic character -Disable the -.Dv TELNET LINEMODE -option, or, if the remote side does not understand the -.Dv LINEMODE -option, then enter \*(Lqcharacter at a time\*(Lq mode. -.It Ic line -Enable the -.Dv TELNET LINEMODE -option, or, if the remote side does not understand the -.Dv LINEMODE -option, then attempt to enter \*(Lqold-line-by-line\*(Lq mode. -.It Ic isig Pq Ic \-isig -Attempt to enable (disable) the -.Dv TRAPSIG -mode of the -.Dv LINEMODE -option. -This requires that the -.Dv LINEMODE -option be enabled. -.It Ic edit Pq Ic \-edit -Attempt to enable (disable) the -.Dv EDIT -mode of the -.Dv LINEMODE -option. -This requires that the -.Dv LINEMODE -option be enabled. -.It Ic softtabs Pq Ic \-softtabs -Attempt to enable (disable) the -.Dv SOFT_TAB -mode of the -.Dv LINEMODE -option. -This requires that the -.Dv LINEMODE -option be enabled. -.ne 1i -.It Ic litecho Pq Ic \-litecho -Attempt to enable (disable) the -.Dv LIT_ECHO -mode of the -.Dv LINEMODE -option. -This requires that the -.Dv LINEMODE -option be enabled. -.It Ic \&? -Prints out help information for the -.Ic mode -command. -.El -.It Xo -.Ic open Ar host -.Oo Op Fl l -.Ar user -.Oc Ns Oo Fl -.Ar port Oc -.Xc -Open a connection to the named host. -If no port number -is specified, -.Nm telnet -will attempt to contact a -.Tn TELNET -server at the default port. -The host specification may be either a host name (see -.Xr hosts 5 ) -or an Internet address specified in the \*(Lqdot notation\*(Rq (see -.Xr inet 3 ) . -The -.Op Fl l -option may be used to specify the user name -to be passed to the remote system via the -.Ev ENVIRON -option. -When connecting to a non-standard port, -.Nm telnet -omits any automatic initiation of -.Tn TELNET -options. When the port number is preceded by a minus sign, -the initial option negotiation is done. -After establishing a connection, the file -.Pa \&.telnetrc -in the -users home directory is opened. Lines beginning with a # are -comment lines. Blank lines are ignored. Lines that begin -without white space are the start of a machine entry. The -first thing on the line is the name of the machine that is -being connected to. The rest of the line, and successive -lines that begin with white space are assumed to be -.Nm telnet -commands and are processed as if they had been typed -in manually to the -.Nm telnet -command prompt. -.It Ic quit -Close any open -.Tn TELNET -session and exit -.Nm telnet . -An end of file (in command mode) will also close a session and exit. -.It Ic send Ar arguments -Sends one or more special character sequences to the remote host. -The following are the arguments which may be specified -(more than one argument may be specified at a time): -.Pp -.Bl -tag -width escape -.It Ic abort -Sends the -.Dv TELNET ABORT -(Abort -processes) -sequence. -.It Ic ao -Sends the -.Dv TELNET AO -(Abort Output) sequence, which should cause the remote system to flush -all output -.Em from -the remote system -.Em to -the user's terminal. -.It Ic ayt -Sends the -.Dv TELNET AYT -(Are You There) -sequence, to which the remote system may or may not choose to respond. -.It Ic brk -Sends the -.Dv TELNET BRK -(Break) sequence, which may have significance to the remote -system. -.It Ic ec -Sends the -.Dv TELNET EC -(Erase Character) -sequence, which should cause the remote system to erase the last character -entered. -.It Ic el -Sends the -.Dv TELNET EL -(Erase Line) -sequence, which should cause the remote system to erase the line currently -being entered. -.It Ic eof -Sends the -.Dv TELNET EOF -(End Of File) -sequence. -.It Ic eor -Sends the -.Dv TELNET EOR -(End of Record) -sequence. -.It Ic escape -Sends the current -.Nm telnet -escape character (initially \*(Lq^\*(Rq). -.It Ic ga -Sends the -.Dv TELNET GA -(Go Ahead) -sequence, which likely has no significance to the remote system. -.It Ic getstatus -If the remote side supports the -.Dv TELNET STATUS -command, -.Ic getstatus -will send the subnegotiation to request that the server send -its current option status. -.ne 1i -.It Ic ip -Sends the -.Dv TELNET IP -(Interrupt Process) sequence, which should cause the remote -system to abort the currently running process. -.It Ic nop -Sends the -.Dv TELNET NOP -(No OPeration) -sequence. -.It Ic susp -Sends the -.Dv TELNET SUSP -(SUSPend process) -sequence. -.It Ic synch -Sends the -.Dv TELNET SYNCH -sequence. -This sequence causes the remote system to discard all previously typed -(but not yet read) input. -This sequence is sent as -.Tn TCP -urgent -data (and may not work if the remote system is a -.Bx 4.2 -system -- if -it doesn't work, a lower case \*(Lqr\*(Rq may be echoed on the terminal). -.It Ic do Ar cmd -.It Ic dont Ar cmd -.It Ic will Ar cmd -.It Ic wont Ar cmd -Sends the -.Dv TELNET DO -.Ar cmd -sequence. -.Ar Cmd -can be either a decimal number between 0 and 255, -or a symbolic name for a specific -.Dv TELNET -command. -.Ar Cmd -can also be either -.Ic help -or -.Ic \&? -to print out help information, including -a list of known symbolic names. -.It Ic \&? -Prints out help information for the -.Ic send -command. -.El -.It Ic set Ar argument value -.It Ic unset Ar argument value -The -.Ic set -command will set any one of a number of -.Nm telnet -variables to a specific value or to -.Dv TRUE . -The special value -.Ic off -turns off the function associated with -the variable, this is equivalent to using the -.Ic unset -command. -The -.Ic unset -command will disable or set to -.Dv FALSE -any of the specified functions. -The values of variables may be interrogated with the -.Ic display -command. -The variables which may be set or unset, but not toggled, are -listed here. In addition, any of the variables for the -.Ic toggle -command may be explicitly set or unset using -the -.Ic set -and -.Ic unset -commands. -.Bl -tag -width escape -.It Ic ayt -If -.Tn TELNET -is in localchars mode, or -.Dv LINEMODE -is enabled, and the status character is typed, a -.Dv TELNET AYT -sequence (see -.Ic send ayt -preceding) is sent to the -remote host. The initial value for the "Are You There" -character is the terminal's status character. -.It Ic echo -This is the value (initially \*(Lq^E\*(Rq) which, when in -\*(Lqline by line\*(Rq mode, toggles between doing local echoing -of entered characters (for normal processing), and suppressing -echoing of entered characters (for entering, say, a password). -.It Ic eof -If -.Nm telnet -is operating in -.Dv LINEMODE -or \*(Lqold line by line\*(Rq mode, entering this character -as the first character on a line will cause this character to be -sent to the remote system. -The initial value of the eof character is taken to be the terminal's -.Ic eof -character. -.It Ic erase -If -.Nm telnet -is in -.Ic localchars -mode (see -.Ic toggle -.Ic localchars -below), -.Sy and -if -.Nm telnet -is operating in \*(Lqcharacter at a time\*(Rq mode, then when this -character is typed, a -.Dv TELNET EC -sequence (see -.Ic send -.Ic ec -above) -is sent to the remote system. -The initial value for the erase character is taken to be -the terminal's -.Ic erase -character. -.It Ic escape -This is the -.Nm telnet -escape character (initially \*(Lq^[\*(Rq) which causes entry -into -.Nm telnet -command mode (when connected to a remote system). -.It Ic flushoutput -If -.Nm telnet -is in -.Ic localchars -mode (see -.Ic toggle -.Ic localchars -below) -and the -.Ic flushoutput -character is typed, a -.Dv TELNET AO -sequence (see -.Ic send -.Ic ao -above) -is sent to the remote host. -The initial value for the flush character is taken to be -the terminal's -.Ic flush -character. -.It Ic forw1 -.It Ic forw2 -If -.Tn TELNET -is operating in -.Dv LINEMODE , -these are the -characters that, when typed, cause partial lines to be -forwarded to the remote system. The initial value for -the forwarding characters are taken from the terminal's -eol and eol2 characters. -.It Ic interrupt -If -.Nm telnet -is in -.Ic localchars -mode (see -.Ic toggle -.Ic localchars -below) -and the -.Ic interrupt -character is typed, a -.Dv TELNET IP -sequence (see -.Ic send -.Ic ip -above) -is sent to the remote host. -The initial value for the interrupt character is taken to be -the terminal's -.Ic intr -character. -.It Ic kill -If -.Nm telnet -is in -.Ic localchars -mode (see -.Ic toggle -.Ic localchars -below), -.Ic and -if -.Nm telnet -is operating in \*(Lqcharacter at a time\*(Rq mode, then when this -character is typed, a -.Dv TELNET EL -sequence (see -.Ic send -.Ic el -above) -is sent to the remote system. -The initial value for the kill character is taken to be -the terminal's -.Ic kill -character. -.It Ic lnext -If -.Nm telnet -is operating in -.Dv LINEMODE -or \*(Lqold line by line\*(Lq mode, then this character is taken to -be the terminal's -.Ic lnext -character. -The initial value for the lnext character is taken to be -the terminal's -.Ic lnext -character. -.It Ic quit -If -.Nm telnet -is in -.Ic localchars -mode (see -.Ic toggle -.Ic localchars -below) -and the -.Ic quit -character is typed, a -.Dv TELNET BRK -sequence (see -.Ic send -.Ic brk -above) -is sent to the remote host. -The initial value for the quit character is taken to be -the terminal's -.Ic quit -character. -.It Ic reprint -If -.Nm telnet -is operating in -.Dv LINEMODE -or \*(Lqold line by line\*(Lq mode, then this character is taken to -be the terminal's -.Ic reprint -character. -The initial value for the reprint character is taken to be -the terminal's -.Ic reprint -character. -.It Ic rlogin -This is the rlogin escape character. -If set, the normal -.Tn TELNET -escape character is ignored unless it is -preceded by this character at the beginning of a line. -This character, at the beginning of a line followed by -a "." closes the connection; when followed by a ^Z it -suspends the telnet command. The initial state is to -disable the rlogin escape character. -.It Ic start -If the -.Dv TELNET TOGGLE-FLOW-CONTROL -option has been enabled, -then this character is taken to -be the terminal's -.Ic start -character. -The initial value for the kill character is taken to be -the terminal's -.Ic start -character. -.It Ic stop -If the -.Dv TELNET TOGGLE-FLOW-CONTROL -option has been enabled, -then this character is taken to -be the terminal's -.Ic stop -character. -The initial value for the kill character is taken to be -the terminal's -.Ic stop -character. -.It Ic susp -If -.Nm telnet -is in -.Ic localchars -mode, or -.Dv LINEMODE -is enabled, and the -.Ic suspend -character is typed, a -.Dv TELNET SUSP -sequence (see -.Ic send -.Ic susp -above) -is sent to the remote host. -The initial value for the suspend character is taken to be -the terminal's -.Ic suspend -character. -.ne 1i -.It Ic tracefile -This is the file to which the output, caused by -.Ic netdata -or -.Ic option -tracing being -.Dv TRUE , -will be written. If it is set to -.Dq Fl , -then tracing information will be written to standard output (the default). -.It Ic worderase -If -.Nm telnet -is operating in -.Dv LINEMODE -or \*(Lqold line by line\*(Lq mode, then this character is taken to -be the terminal's -.Ic worderase -character. -The initial value for the worderase character is taken to be -the terminal's -.Ic worderase -character. -.It Ic \&? -Displays the legal -.Ic set -.Pq Ic unset -commands. -.El -.It Ic slc Ar state -The -.Ic slc -command (Set Local Characters) is used to set -or change the state of the the special -characters when the -.Dv TELNET LINEMODE -option has -been enabled. Special characters are characters that get -mapped to -.Tn TELNET -commands sequences (like -.Ic ip -or -.Ic quit ) -or line editing characters (like -.Ic erase -and -.Ic kill ) . -By default, the local special characters are exported. -.Bl -tag -width Fl -.It Ic check -Verify the current settings for the current special characters. -The remote side is requested to send all the current special -character settings, and if there are any discrepancies with -the local side, the local side will switch to the remote value. -.It Ic export -Switch to the local defaults for the special characters. The -local default characters are those of the local terminal at -the time when -.Nm telnet -was started. -.It Ic import -Switch to the remote defaults for the special characters. -The remote default characters are those of the remote system -at the time when the -.Tn TELNET -connection was established. -.It Ic \&? -Prints out help information for the -.Ic slc -command. -.El -.It Ic status -Show the current status of -.Nm telnet . -This includes the peer one is connected to, as well -as the current mode. -.It Ic toggle Ar arguments ... -Toggle (between -.Dv TRUE -and -.Dv FALSE ) -various flags that control how -.Nm telnet -responds to events. -These flags may be set explicitly to -.Dv TRUE -or -.Dv FALSE -using the -.Ic set -and -.Ic unset -commands listed above. -More than one argument may be specified. -The state of these flags may be interrogated with the -.Ic display -command. -Valid arguments are: -.Bl -tag -width Ar -.It Ic authdebug -Turns on debugging information for the authentication code. -.It Ic autoflush -If -.Ic autoflush -and -.Ic localchars -are both -.Dv TRUE , -then when the -.Ic ao , -or -.Ic quit -characters are recognized (and transformed into -.Tn TELNET -sequences; see -.Ic set -above for details), -.Nm telnet -refuses to display any data on the user's terminal -until the remote system acknowledges (via a -.Dv TELNET TIMING MARK -option) -that it has processed those -.Tn TELNET -sequences. -The initial value for this toggle is -.Dv TRUE -if the terminal user had not -done an "stty noflsh", otherwise -.Dv FALSE -(see -.Xr stty 1 ) . -.It Ic autodecrypt -When the -.Dv TELNET ENCRYPT -option is negotiated, by -default the actual encryption (decryption) of the data -stream does not start automatically. The autoencrypt -(autodecrypt) command states that encryption of the -output (input) stream should be enabled as soon as -possible. -.sp -.Pp -Note: Because of export controls, the -.Dv TELNET ENCRYPT -option is not supported outside the United States and Canada. -.It Ic autologin -If the remote side supports the -.Dv TELNET AUTHENTICATION -option -.Tn TELNET -attempts to use it to perform automatic authentication. If the -.Dv AUTHENTICATION -option is not supported, the user's login -name are propagated through the -.Dv TELNET ENVIRON -option. -This command is the same as specifying -.Ar a -option on the -.Ic open -command. -.It Ic autosynch -If -.Ic autosynch -and -.Ic localchars -are both -.Dv TRUE , -then when either the -.Ic intr -or -.Ic quit -characters is typed (see -.Ic set -above for descriptions of the -.Ic intr -and -.Ic quit -characters), the resulting -.Tn TELNET -sequence sent is followed by the -.Dv TELNET SYNCH -sequence. -This procedure -.Ic should -cause the remote system to begin throwing away all previously -typed input until both of the -.Tn TELNET -sequences have been read and acted upon. -The initial value of this toggle is -.Dv FALSE . -.It Ic binary -Enable or disable the -.Dv TELNET BINARY -option on both input and output. -.It Ic inbinary -Enable or disable the -.Dv TELNET BINARY -option on input. -.It Ic outbinary -Enable or disable the -.Dv TELNET BINARY -option on output. -.It Ic crlf -If this is -.Dv TRUE , -then carriage returns will be sent as -.Li <CR><LF> . -If this is -.Dv FALSE , -then carriage returns will be send as -.Li <CR><NUL> . -The initial value for this toggle is -.Dv FALSE . -.It Ic crmod -Toggle carriage return mode. -When this mode is enabled, most carriage return characters received from -the remote host will be mapped into a carriage return followed by -a line feed. -This mode does not affect those characters typed by the user, only -those received from the remote host. -This mode is not very useful unless the remote host -only sends carriage return, but never line feed. -The initial value for this toggle is -.Dv FALSE . -.It Ic debug -Toggles socket level debugging (useful only to the -.Ic super user ) . -The initial value for this toggle is -.Dv FALSE . -.It Ic encdebug -Turns on debugging information for the encryption code. -.It Ic localchars -If this is -.Dv TRUE , -then the -.Ic flush , -.Ic interrupt , -.Ic quit , -.Ic erase , -and -.Ic kill -characters (see -.Ic set -above) are recognized locally, and transformed into (hopefully) appropriate -.Tn TELNET -control sequences -(respectively -.Ic ao , -.Ic ip , -.Ic brk , -.Ic ec , -and -.Ic el ; -see -.Ic send -above). -The initial value for this toggle is -.Dv TRUE -in \*(Lqold line by line\*(Rq mode, -and -.Dv FALSE -in \*(Lqcharacter at a time\*(Rq mode. -When the -.Dv LINEMODE -option is enabled, the value of -.Ic localchars -is ignored, and assumed to always be -.Dv TRUE . -If -.Dv LINEMODE -has ever been enabled, then -.Ic quit -is sent as -.Ic abort , -and -.Ic eof and -.B suspend -are sent as -.Ic eof and -.Ic susp , -see -.Ic send -above). -.It Ic netdata -Toggles the display of all network data (in hexadecimal format). -The initial value for this toggle is -.Dv FALSE . -.It Ic options -Toggles the display of some internal -.Nm telnet -protocol processing (having to do with -.Tn TELNET -options). -The initial value for this toggle is -.Dv FALSE . -.ne 1i -.It Ic prettydump -When the -.Ic netdata -toggle is enabled, if -.Ic prettydump -is enabled the output from the -.Ic netdata -command will be formatted in a more user readable format. -Spaces are put between each character in the output, and the -beginning of any -.Tn TELNET -escape sequence is preceded by a '*' to aid in locating them. -.It Ic skiprc -When the skiprc toggle is -.Dv TRUE , -.Tn TELNET -skips the reading of the -.Pa \&.telnetrc -file in the users home -directory when connections are opened. The initial -value for this toggle is -.Dv FALSE. -.It Ic termdata -Toggles the display of all terminal data (in hexadecimal format). -The initial value for this toggle is -.Dv FALSE . -.It Ic verbose_encrypt -When the -.Ic verbose_encrypt -toggle is -.Dv TRUE , -.Tn TELNET -prints out a message each time encryption is enabled or -disabled. The initial value for this toggle is -.Dv FALSE. -Note: Because of export controls, data encryption -is not supported outside of the United States and Canada. -.It Ic \&? -Displays the legal -.Ic toggle -commands. -.El -.It Ic z -Suspend -.Nm telnet . -This command only works when the user is using the -.Xr csh 1 . -.It Ic \&! Op Ar command -Execute a single command in a subshell on the local -system. If -.Ic command -is omitted, then an interactive -subshell is invoked. -.It Ic \&? Op Ar command -Get help. With no arguments, -.Nm telnet -prints a help summary. -If a command is specified, -.Nm telnet -will print the help information for just that command. -.El -.Sh ENVIRONMENT -.Nm Telnet -uses at least the -.Ev HOME , -.Ev SHELL , -.Ev DISPLAY , -and -.Ev TERM -environment variables. -Other environment variables may be propagated -to the other side via the -.Dv TELNET ENVIRON -option. -.Sh FILES -.Bl -tag -width ~/.telnetrc -compact -.It Pa ~/.telnetrc -user customized telnet startup values -.El -.Sh HISTORY -The -.Nm Telnet -command appeared in -.Bx 4.2 . -.Sh NOTES -.Pp -On some remote systems, echo has to be turned off manually when in -\*(Lqold line by line\*(Rq mode. -.Pp -In \*(Lqold line by line\*(Rq mode or -.Dv LINEMODE -the terminal's -.Ic eof -character is only recognized (and sent to the remote system) -when it is the first character on a line. diff --git a/eBones/usr.bin/telnet/telnet.c b/eBones/usr.bin/telnet/telnet.c deleted file mode 100644 index 735499f8e3522..0000000000000 --- a/eBones/usr.bin/telnet/telnet.c +++ /dev/null @@ -1,2662 +0,0 @@ -/* - * Copyright (c) 1988, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)telnet.c 8.4 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#include <sys/types.h> - -#if defined(unix) -#include <signal.h> -/* By the way, we need to include curses.h before telnet.h since, - * among other things, telnet.h #defines 'DO', which is a variable - * declared in curses.h. - */ -#endif /* defined(unix) */ - -#include <arpa/telnet.h> - -#include <ctype.h> - -#include <stdlib.h> -#include <unistd.h> -#include <termcap.h> - -#include "ring.h" - -#include "defines.h" -#include "externs.h" -#include "types.h" -#include "general.h" - -#if defined(AUTHENTICATION) -#include <libtelnet/auth.h> -#endif -#if defined(ENCRYPTION) -#include <libtelnet/encrypt.h> -#endif -#include <libtelnet/misc.h> - -#define strip(x) ((my_want_state_is_wont(TELOPT_BINARY)) ? ((x)&0x7f) : (x)) - -static unsigned char subbuffer[SUBBUFSIZE], - *subpointer, *subend; /* buffer for sub-options */ -#define SB_CLEAR() subpointer = subbuffer; -#define SB_TERM() { subend = subpointer; SB_CLEAR(); } -#define SB_ACCUM(c) if (subpointer < (subbuffer+sizeof subbuffer)) { \ - *subpointer++ = (c); \ - } - -#define SB_GET() ((*subpointer++)&0xff) -#define SB_PEEK() ((*subpointer)&0xff) -#define SB_EOF() (subpointer >= subend) -#define SB_LEN() (subend - subpointer) - -char options[256]; /* The combined options */ -char do_dont_resp[256]; -char will_wont_resp[256]; - -int - eight = 0, - autologin = 0, /* Autologin anyone? */ - skiprc = 0, - connected, - showoptions, - In3270, /* Are we in 3270 mode? */ - ISend, /* trying to send network data in */ - debug = 0, - crmod, - netdata, /* Print out network data flow */ - crlf, /* Should '\r' be mapped to <CR><LF> (or <CR><NUL>)? */ -#if defined(TN3270) - noasynchtty = 0,/* User specified "-noasynch" on command line */ - noasynchnet = 0,/* User specified "-noasynch" on command line */ - askedSGA = 0, /* We have talked about suppress go ahead */ -#endif /* defined(TN3270) */ - telnetport, - SYNCHing, /* we are in TELNET SYNCH mode */ - flushout, /* flush output */ - autoflush = 0, /* flush output when interrupting? */ - autosynch, /* send interrupt characters with SYNCH? */ - localflow, /* we handle flow control locally */ - restartany, /* if flow control enabled, restart on any character */ - localchars, /* we recognize interrupt/quit */ - donelclchars, /* the user has set "localchars" */ - donebinarytoggle, /* the user has put us in binary */ - dontlecho, /* do we suppress local echoing right now? */ - globalmode, - clienteof = 0; - -char *prompt = 0; - -cc_t escape; -cc_t rlogin; -#ifdef KLUDGELINEMODE -cc_t echoc; -#endif - -/* - * Telnet receiver states for fsm - */ -#define TS_DATA 0 -#define TS_IAC 1 -#define TS_WILL 2 -#define TS_WONT 3 -#define TS_DO 4 -#define TS_DONT 5 -#define TS_CR 6 -#define TS_SB 7 /* sub-option collection */ -#define TS_SE 8 /* looking for sub-option end */ - -static int telrcv_state; -#ifdef OLD_ENVIRON -unsigned char telopt_environ = TELOPT_NEW_ENVIRON; -#else -# define telopt_environ TELOPT_NEW_ENVIRON -#endif - -jmp_buf toplevel = { 0 }; -jmp_buf peerdied; - -int flushline; -int linemode; - -#ifdef KLUDGELINEMODE -int kludgelinemode = 1; -#endif - -/* - * The following are some clocks used to decide how to interpret - * the relationship between various variables. - */ - -Clocks clocks; - -#ifdef notdef -Modelist modelist[] = { - { "telnet command mode", COMMAND_LINE }, - { "character-at-a-time mode", 0 }, - { "character-at-a-time mode (local echo)", LOCAL_ECHO|LOCAL_CHARS }, - { "line-by-line mode (remote echo)", LINE | LOCAL_CHARS }, - { "line-by-line mode", LINE | LOCAL_ECHO | LOCAL_CHARS }, - { "line-by-line mode (local echoing suppressed)", LINE | LOCAL_CHARS }, - { "3270 mode", 0 }, -}; -#endif - - -/* - * Initialize telnet environment. - */ - - void -init_telnet() -{ - env_init(); - - SB_CLEAR(); - ClearArray(options); - - connected = In3270 = ISend = localflow = donebinarytoggle = 0; -#if defined(AUTHENTICATION) || defined(ENCRYPTION) - auth_encrypt_connect(connected); -#endif /* defined(AUTHENTICATION) || defined(ENCRYPTION) */ - restartany = -1; - - SYNCHing = 0; - - /* Don't change NetTrace */ - - escape = CONTROL(']'); - rlogin = _POSIX_VDISABLE; -#ifdef KLUDGELINEMODE - echoc = CONTROL('E'); -#endif - - flushline = 1; - telrcv_state = TS_DATA; -} - - -#ifdef notdef -#include <varargs.h> - - /*VARARGS*/ - static void -printring(va_alist) - va_dcl -{ - va_list ap; - char buffer[100]; /* where things go */ - char *ptr; - char *format; - char *string; - Ring *ring; - int i; - - va_start(ap); - - ring = va_arg(ap, Ring *); - format = va_arg(ap, char *); - ptr = buffer; - - while ((i = *format++) != 0) { - if (i == '%') { - i = *format++; - switch (i) { - case 'c': - *ptr++ = va_arg(ap, int); - break; - case 's': - string = va_arg(ap, char *); - ring_supply_data(ring, buffer, ptr-buffer); - ring_supply_data(ring, string, strlen(string)); - ptr = buffer; - break; - case 0: - ExitString("printring: trailing %%.\n", 1); - /*NOTREACHED*/ - default: - ExitString("printring: unknown format character.\n", 1); - /*NOTREACHED*/ - } - } else { - *ptr++ = i; - } - } - ring_supply_data(ring, buffer, ptr-buffer); -} -#endif - -/* - * These routines are in charge of sending option negotiations - * to the other side. - * - * The basic idea is that we send the negotiation if either side - * is in disagreement as to what the current state should be. - */ - - void -send_do(c, init) - register int c, init; -{ - if (init) { - if (((do_dont_resp[c] == 0) && my_state_is_do(c)) || - my_want_state_is_do(c)) - return; - set_my_want_state_do(c); - do_dont_resp[c]++; - } - NET2ADD(IAC, DO); - NETADD(c); - printoption("SENT", DO, c); -} - - void -send_dont(c, init) - register int c, init; -{ - if (init) { - if (((do_dont_resp[c] == 0) && my_state_is_dont(c)) || - my_want_state_is_dont(c)) - return; - set_my_want_state_dont(c); - do_dont_resp[c]++; - } - NET2ADD(IAC, DONT); - NETADD(c); - printoption("SENT", DONT, c); -} - - void -send_will(c, init) - register int c, init; -{ - if (init) { - if (((will_wont_resp[c] == 0) && my_state_is_will(c)) || - my_want_state_is_will(c)) - return; - set_my_want_state_will(c); - will_wont_resp[c]++; - } - NET2ADD(IAC, WILL); - NETADD(c); - printoption("SENT", WILL, c); -} - - void -send_wont(c, init) - register int c, init; -{ - if (init) { - if (((will_wont_resp[c] == 0) && my_state_is_wont(c)) || - my_want_state_is_wont(c)) - return; - set_my_want_state_wont(c); - will_wont_resp[c]++; - } - NET2ADD(IAC, WONT); - NETADD(c); - printoption("SENT", WONT, c); -} - - - void -willoption(option) - int option; -{ - int new_state_ok = 0; - - if (do_dont_resp[option]) { - --do_dont_resp[option]; - if (do_dont_resp[option] && my_state_is_do(option)) - --do_dont_resp[option]; - } - - if ((do_dont_resp[option] == 0) && my_want_state_is_dont(option)) { - - switch (option) { - - case TELOPT_ECHO: -# if defined(TN3270) - /* - * The following is a pain in the rear-end. - * Various IBM servers (some versions of Wiscnet, - * possibly Fibronics/Spartacus, and who knows who - * else) will NOT allow us to send "DO SGA" too early - * in the setup proceedings. On the other hand, - * 4.2 servers (telnetd) won't set SGA correctly. - * So, we are stuck. Empirically (but, based on - * a VERY small sample), the IBM servers don't send - * out anything about ECHO, so we postpone our sending - * "DO SGA" until we see "WILL ECHO" (which 4.2 servers - * DO send). - */ - { - if (askedSGA == 0) { - askedSGA = 1; - if (my_want_state_is_dont(TELOPT_SGA)) - send_do(TELOPT_SGA, 1); - } - } - /* Fall through */ - case TELOPT_EOR: -#endif /* defined(TN3270) */ - case TELOPT_BINARY: - case TELOPT_SGA: - settimer(modenegotiated); - /* FALL THROUGH */ - case TELOPT_STATUS: -#if defined(AUTHENTICATION) - case TELOPT_AUTHENTICATION: -#endif -#ifdef ENCRYPTION - case TELOPT_ENCRYPT: -#endif /* ENCRYPTION */ - new_state_ok = 1; - break; - - case TELOPT_TM: - if (flushout) - flushout = 0; - /* - * Special case for TM. If we get back a WILL, - * pretend we got back a WONT. - */ - set_my_want_state_dont(option); - set_my_state_dont(option); - return; /* Never reply to TM will's/wont's */ - - case TELOPT_LINEMODE: - default: - break; - } - - if (new_state_ok) { - set_my_want_state_do(option); - send_do(option, 0); - setconnmode(0); /* possibly set new tty mode */ - } else { - do_dont_resp[option]++; - send_dont(option, 0); - } - } - set_my_state_do(option); -#ifdef ENCRYPTION - if (option == TELOPT_ENCRYPT) - encrypt_send_support(); -#endif /* ENCRYPTION */ -} - - void -wontoption(option) - int option; -{ - if (do_dont_resp[option]) { - --do_dont_resp[option]; - if (do_dont_resp[option] && my_state_is_dont(option)) - --do_dont_resp[option]; - } - - if ((do_dont_resp[option] == 0) && my_want_state_is_do(option)) { - - switch (option) { - -#ifdef KLUDGELINEMODE - case TELOPT_SGA: - if (!kludgelinemode) - break; - /* FALL THROUGH */ -#endif - case TELOPT_ECHO: - settimer(modenegotiated); - break; - - case TELOPT_TM: - if (flushout) - flushout = 0; - set_my_want_state_dont(option); - set_my_state_dont(option); - return; /* Never reply to TM will's/wont's */ - - default: - break; - } - set_my_want_state_dont(option); - if (my_state_is_do(option)) - send_dont(option, 0); - setconnmode(0); /* Set new tty mode */ - } else if (option == TELOPT_TM) { - /* - * Special case for TM. - */ - if (flushout) - flushout = 0; - set_my_want_state_dont(option); - } - set_my_state_dont(option); -} - - static void -dooption(option) - int option; -{ - int new_state_ok = 0; - - if (will_wont_resp[option]) { - --will_wont_resp[option]; - if (will_wont_resp[option] && my_state_is_will(option)) - --will_wont_resp[option]; - } - - if (will_wont_resp[option] == 0) { - if (my_want_state_is_wont(option)) { - - switch (option) { - - case TELOPT_TM: - /* - * Special case for TM. We send a WILL, but pretend - * we sent WONT. - */ - send_will(option, 0); - set_my_want_state_wont(TELOPT_TM); - set_my_state_wont(TELOPT_TM); - return; - -# if defined(TN3270) - case TELOPT_EOR: /* end of record */ -# endif /* defined(TN3270) */ - case TELOPT_BINARY: /* binary mode */ - case TELOPT_NAWS: /* window size */ - case TELOPT_TSPEED: /* terminal speed */ - case TELOPT_LFLOW: /* local flow control */ - case TELOPT_TTYPE: /* terminal type option */ - case TELOPT_SGA: /* no big deal */ -#ifdef ENCRYPTION - case TELOPT_ENCRYPT: /* encryption variable option */ -#endif /* ENCRYPTION */ - new_state_ok = 1; - break; - - case TELOPT_NEW_ENVIRON: /* New environment variable option */ -#ifdef OLD_ENVIRON - if (my_state_is_will(TELOPT_OLD_ENVIRON)) - send_wont(TELOPT_OLD_ENVIRON, 1); /* turn off the old */ - goto env_common; - case TELOPT_OLD_ENVIRON: /* Old environment variable option */ - if (my_state_is_will(TELOPT_NEW_ENVIRON)) - break; /* Don't enable if new one is in use! */ - env_common: - telopt_environ = option; -#endif - new_state_ok = 1; - break; - -#if defined(AUTHENTICATION) - case TELOPT_AUTHENTICATION: - if (autologin) - new_state_ok = 1; - break; -#endif - - case TELOPT_XDISPLOC: /* X Display location */ - if (env_getvalue((unsigned char *)"DISPLAY")) - new_state_ok = 1; - break; - - case TELOPT_LINEMODE: -#ifdef KLUDGELINEMODE - kludgelinemode = 0; - send_do(TELOPT_SGA, 1); -#endif - set_my_want_state_will(TELOPT_LINEMODE); - send_will(option, 0); - set_my_state_will(TELOPT_LINEMODE); - slc_init(); - return; - - case TELOPT_ECHO: /* We're never going to echo... */ - default: - break; - } - - if (new_state_ok) { - set_my_want_state_will(option); - send_will(option, 0); - setconnmode(0); /* Set new tty mode */ - } else { - will_wont_resp[option]++; - send_wont(option, 0); - } - } else { - /* - * Handle options that need more things done after the - * other side has acknowledged the option. - */ - switch (option) { - case TELOPT_LINEMODE: -#ifdef KLUDGELINEMODE - kludgelinemode = 0; - send_do(TELOPT_SGA, 1); -#endif - set_my_state_will(option); - slc_init(); - send_do(TELOPT_SGA, 0); - return; - } - } - } - set_my_state_will(option); -} - - static void -dontoption(option) - int option; -{ - - if (will_wont_resp[option]) { - --will_wont_resp[option]; - if (will_wont_resp[option] && my_state_is_wont(option)) - --will_wont_resp[option]; - } - - if ((will_wont_resp[option] == 0) && my_want_state_is_will(option)) { - switch (option) { - case TELOPT_LINEMODE: - linemode = 0; /* put us back to the default state */ - break; -#ifdef OLD_ENVIRON - case TELOPT_NEW_ENVIRON: - /* - * The new environ option wasn't recognized, try - * the old one. - */ - send_will(TELOPT_OLD_ENVIRON, 1); - telopt_environ = TELOPT_OLD_ENVIRON; - break; -#endif - } - /* we always accept a DONT */ - set_my_want_state_wont(option); - if (my_state_is_will(option)) - send_wont(option, 0); - setconnmode(0); /* Set new tty mode */ - } - set_my_state_wont(option); -} - -/* - * Given a buffer returned by tgetent(), this routine will turn - * the pipe seperated list of names in the buffer into an array - * of pointers to null terminated names. We toss out any bad, - * duplicate, or verbose names (names with spaces). - */ - -static char *name_unknown = "UNKNOWN"; -static char *unknown[] = { 0, 0 }; - - char ** -mklist(buf, name) - char *buf, *name; -{ - register int n; - register char c, *cp, **argvp, *cp2, **argv, **avt; - - if (name) { - if ((int)strlen(name) > 40) { - name = 0; - unknown[0] = name_unknown; - } else { - unknown[0] = name; - upcase(name); - } - } else - unknown[0] = name_unknown; - /* - * Count up the number of names. - */ - for (n = 1, cp = buf; *cp && *cp != ':'; cp++) { - if (*cp == '|') - n++; - } - /* - * Allocate an array to put the name pointers into - */ - argv = (char **)malloc((n+3)*sizeof(char *)); - if (argv == 0) - return(unknown); - - /* - * Fill up the array of pointers to names. - */ - *argv = 0; - argvp = argv+1; - n = 0; - for (cp = cp2 = buf; (c = *cp); cp++) { - if (c == '|' || c == ':') { - *cp++ = '\0'; - /* - * Skip entries that have spaces or are over 40 - * characters long. If this is our environment - * name, then put it up front. Otherwise, as - * long as this is not a duplicate name (case - * insensitive) add it to the list. - */ - if (n || (cp - cp2 > 41)) - ; - else if (name && (strncasecmp(name, cp2, cp-cp2) == 0)) - *argv = cp2; - else if (is_unique(cp2, argv+1, argvp)) - *argvp++ = cp2; - if (c == ':') - break; - /* - * Skip multiple delimiters. Reset cp2 to - * the beginning of the next name. Reset n, - * the flag for names with spaces. - */ - while ((c = *cp) == '|') - cp++; - cp2 = cp; - n = 0; - } - /* - * Skip entries with spaces or non-ascii values. - * Convert lower case letters to upper case. - */ - if ((c == ' ') || !isascii(c)) - n = 1; - else if (islower(c)) - *cp = toupper(c); - } - - /* - * Check for an old V6 2 character name. If the second - * name points to the beginning of the buffer, and is - * only 2 characters long, move it to the end of the array. - */ - if ((argv[1] == buf) && (strlen(argv[1]) == 2)) { - --argvp; - for (avt = &argv[1]; avt < argvp; avt++) - *avt = *(avt+1); - *argvp++ = buf; - } - - /* - * Duplicate last name, for TTYPE option, and null - * terminate the array. If we didn't find a match on - * our terminal name, put that name at the beginning. - */ - cp = *(argvp-1); - *argvp++ = cp; - *argvp = 0; - - if (*argv == 0) { - if (name) - *argv = name; - else { - --argvp; - for (avt = argv; avt < argvp; avt++) - *avt = *(avt+1); - } - } - if (*argv) - return(argv); - else - return(unknown); -} - - int -is_unique(name, as, ae) - register char *name, **as, **ae; -{ - register char **ap; - register int n; - - n = strlen(name) + 1; - for (ap = as; ap < ae; ap++) - if (strncasecmp(*ap, name, n) == 0) - return(0); - return (1); -} - -#ifdef TERMCAP -char termbuf[1024]; - - /*ARGSUSED*/ - int -setupterm(tname, fd, errp) - char *tname; - int fd, *errp; -{ - if (tgetent(termbuf, tname) == 1) { - termbuf[1023] = '\0'; - if (errp) - *errp = 1; - return(0); - } - if (errp) - *errp = 0; - return(-1); -} -#else -#define termbuf ttytype -extern char ttytype[]; -#endif - -int resettermname = 1; - - char * -gettermname() -{ - char *tname; - static char **tnamep = 0; - static char **next; - int err; - - if (resettermname) { - resettermname = 0; - if (tnamep && tnamep != unknown) - free(tnamep); - if ((tname = (char *)env_getvalue((unsigned char *)"TERM")) && - (setupterm(tname, 1, &err) == 0)) { - tnamep = mklist(termbuf, tname); - } else { - if (tname && ((int)strlen(tname) <= 40)) { - unknown[0] = tname; - upcase(tname); - } else - unknown[0] = name_unknown; - tnamep = unknown; - } - next = tnamep; - } - if (*next == 0) - next = tnamep; - return(*next++); -} -/* - * suboption() - * - * Look at the sub-option buffer, and try to be helpful to the other - * side. - * - * Currently we recognize: - * - * Terminal type, send request. - * Terminal speed (send request). - * Local flow control (is request). - * Linemode - */ - - static void -suboption() -{ - unsigned char subchar; - - printsub('<', subbuffer, SB_LEN()+2); - switch (subchar = SB_GET()) { - case TELOPT_TTYPE: - if (my_want_state_is_wont(TELOPT_TTYPE)) - return; - if (SB_EOF() || SB_GET() != TELQUAL_SEND) { - return; - } else { - char *name; - unsigned char temp[50]; - int len; - -#if defined(TN3270) - if (tn3270_ttype()) { - return; - } -#endif /* defined(TN3270) */ - name = gettermname(); - len = strlen(name) + 4 + 2; - if (len < NETROOM()) { - sprintf((char *)temp, "%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE, - TELQUAL_IS, name, IAC, SE); - ring_supply_data(&netoring, temp, len); - printsub('>', &temp[2], len-2); - } else { - ExitString("No room in buffer for terminal type.\n", 1); - /*NOTREACHED*/ - } - } - break; - case TELOPT_TSPEED: - if (my_want_state_is_wont(TELOPT_TSPEED)) - return; - if (SB_EOF()) - return; - if (SB_GET() == TELQUAL_SEND) { - long ospeed, ispeed; - unsigned char temp[50]; - int len; - - TerminalSpeeds(&ispeed, &ospeed); - - sprintf((char *)temp, "%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED, - TELQUAL_IS, ospeed, ispeed, IAC, SE); - len = strlen((char *)temp+4) + 4; /* temp[3] is 0 ... */ - - if (len < NETROOM()) { - ring_supply_data(&netoring, temp, len); - printsub('>', temp+2, len - 2); - } -/*@*/ else printf("lm_will: not enough room in buffer\n"); - } - break; - case TELOPT_LFLOW: - if (my_want_state_is_wont(TELOPT_LFLOW)) - return; - if (SB_EOF()) - return; - switch(SB_GET()) { - case LFLOW_RESTART_ANY: - restartany = 1; - break; - case LFLOW_RESTART_XON: - restartany = 0; - break; - case LFLOW_ON: - localflow = 1; - break; - case LFLOW_OFF: - localflow = 0; - break; - default: - return; - } - setcommandmode(); - setconnmode(0); - break; - - case TELOPT_LINEMODE: - if (my_want_state_is_wont(TELOPT_LINEMODE)) - return; - if (SB_EOF()) - return; - switch (SB_GET()) { - case WILL: - lm_will(subpointer, SB_LEN()); - break; - case WONT: - lm_wont(subpointer, SB_LEN()); - break; - case DO: - lm_do(subpointer, SB_LEN()); - break; - case DONT: - lm_dont(subpointer, SB_LEN()); - break; - case LM_SLC: - slc(subpointer, SB_LEN()); - break; - case LM_MODE: - lm_mode(subpointer, SB_LEN(), 0); - break; - default: - break; - } - break; - -#ifdef OLD_ENVIRON - case TELOPT_OLD_ENVIRON: -#endif - case TELOPT_NEW_ENVIRON: - if (SB_EOF()) - return; - switch(SB_PEEK()) { - case TELQUAL_IS: - case TELQUAL_INFO: - if (my_want_state_is_dont(subchar)) - return; - break; - case TELQUAL_SEND: - if (my_want_state_is_wont(subchar)) { - return; - } - break; - default: - return; - } - env_opt(subpointer, SB_LEN()); - break; - - case TELOPT_XDISPLOC: - if (my_want_state_is_wont(TELOPT_XDISPLOC)) - return; - if (SB_EOF()) - return; - if (SB_GET() == TELQUAL_SEND) { - unsigned char temp[50], *dp; - int len; - - if ((dp = env_getvalue((unsigned char *)"DISPLAY")) == NULL) { - /* - * Something happened, we no longer have a DISPLAY - * variable. So, turn off the option. - */ - send_wont(TELOPT_XDISPLOC, 1); - break; - } - sprintf((char *)temp, "%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC, - TELQUAL_IS, dp, IAC, SE); - len = strlen((char *)temp+4) + 4; /* temp[3] is 0 ... */ - - if (len < NETROOM()) { - ring_supply_data(&netoring, temp, len); - printsub('>', temp+2, len - 2); - } -/*@*/ else printf("lm_will: not enough room in buffer\n"); - } - break; - -#if defined(AUTHENTICATION) - case TELOPT_AUTHENTICATION: { - if (!autologin) - break; - if (SB_EOF()) - return; - switch(SB_GET()) { - case TELQUAL_IS: - if (my_want_state_is_dont(TELOPT_AUTHENTICATION)) - return; - auth_is(subpointer, SB_LEN()); - break; - case TELQUAL_SEND: - if (my_want_state_is_wont(TELOPT_AUTHENTICATION)) - return; - auth_send(subpointer, SB_LEN()); - break; - case TELQUAL_REPLY: - if (my_want_state_is_wont(TELOPT_AUTHENTICATION)) - return; - auth_reply(subpointer, SB_LEN()); - break; - case TELQUAL_NAME: - if (my_want_state_is_dont(TELOPT_AUTHENTICATION)) - return; - auth_name(subpointer, SB_LEN()); - break; - } - } - break; -#endif -#ifdef ENCRYPTION - case TELOPT_ENCRYPT: - if (SB_EOF()) - return; - switch(SB_GET()) { - case ENCRYPT_START: - if (my_want_state_is_dont(TELOPT_ENCRYPT)) - return; - encrypt_start(subpointer, SB_LEN()); - break; - case ENCRYPT_END: - if (my_want_state_is_dont(TELOPT_ENCRYPT)) - return; - encrypt_end(); - break; - case ENCRYPT_SUPPORT: - if (my_want_state_is_wont(TELOPT_ENCRYPT)) - return; - encrypt_support(subpointer, SB_LEN()); - break; - case ENCRYPT_REQSTART: - if (my_want_state_is_wont(TELOPT_ENCRYPT)) - return; - encrypt_request_start(subpointer, SB_LEN()); - break; - case ENCRYPT_REQEND: - if (my_want_state_is_wont(TELOPT_ENCRYPT)) - return; - /* - * We can always send an REQEND so that we cannot - * get stuck encrypting. We should only get this - * if we have been able to get in the correct mode - * anyhow. - */ - encrypt_request_end(); - break; - case ENCRYPT_IS: - if (my_want_state_is_dont(TELOPT_ENCRYPT)) - return; - encrypt_is(subpointer, SB_LEN()); - break; - case ENCRYPT_REPLY: - if (my_want_state_is_wont(TELOPT_ENCRYPT)) - return; - encrypt_reply(subpointer, SB_LEN()); - break; - case ENCRYPT_ENC_KEYID: - if (my_want_state_is_dont(TELOPT_ENCRYPT)) - return; - encrypt_enc_keyid(subpointer, SB_LEN()); - break; - case ENCRYPT_DEC_KEYID: - if (my_want_state_is_wont(TELOPT_ENCRYPT)) - return; - encrypt_dec_keyid(subpointer, SB_LEN()); - break; - default: - break; - } - break; -#endif /* ENCRYPTION */ - default: - break; - } -} - -static unsigned char str_lm[] = { IAC, SB, TELOPT_LINEMODE, 0, 0, IAC, SE }; - - void -lm_will(cmd, len) - unsigned char *cmd; - int len; -{ - if (len < 1) { -/*@*/ printf("lm_will: no command!!!\n"); /* Should not happen... */ - return; - } - switch(cmd[0]) { - case LM_FORWARDMASK: /* We shouldn't ever get this... */ - default: - str_lm[3] = DONT; - str_lm[4] = cmd[0]; - if (NETROOM() > sizeof(str_lm)) { - ring_supply_data(&netoring, str_lm, sizeof(str_lm)); - printsub('>', &str_lm[2], sizeof(str_lm)-2); - } -/*@*/ else printf("lm_will: not enough room in buffer\n"); - break; - } -} - - void -lm_wont(cmd, len) - unsigned char *cmd; - int len; -{ - if (len < 1) { -/*@*/ printf("lm_wont: no command!!!\n"); /* Should not happen... */ - return; - } - switch(cmd[0]) { - case LM_FORWARDMASK: /* We shouldn't ever get this... */ - default: - /* We are always DONT, so don't respond */ - return; - } -} - - void -lm_do(cmd, len) - unsigned char *cmd; - int len; -{ - if (len < 1) { -/*@*/ printf("lm_do: no command!!!\n"); /* Should not happen... */ - return; - } - switch(cmd[0]) { - case LM_FORWARDMASK: - default: - str_lm[3] = WONT; - str_lm[4] = cmd[0]; - if (NETROOM() > sizeof(str_lm)) { - ring_supply_data(&netoring, str_lm, sizeof(str_lm)); - printsub('>', &str_lm[2], sizeof(str_lm)-2); - } -/*@*/ else printf("lm_do: not enough room in buffer\n"); - break; - } -} - - void -lm_dont(cmd, len) - unsigned char *cmd; - int len; -{ - if (len < 1) { -/*@*/ printf("lm_dont: no command!!!\n"); /* Should not happen... */ - return; - } - switch(cmd[0]) { - case LM_FORWARDMASK: - default: - /* we are always WONT, so don't respond */ - break; - } -} - -static unsigned char str_lm_mode[] = { - IAC, SB, TELOPT_LINEMODE, LM_MODE, 0, IAC, SE -}; - - void -lm_mode(cmd, len, init) - unsigned char *cmd; - int len, init; -{ - if (len != 1) - return; - if ((linemode&MODE_MASK&~MODE_ACK) == *cmd) - return; - if (*cmd&MODE_ACK) - return; - linemode = *cmd&(MODE_MASK&~MODE_ACK); - str_lm_mode[4] = linemode; - if (!init) - str_lm_mode[4] |= MODE_ACK; - if (NETROOM() > sizeof(str_lm_mode)) { - ring_supply_data(&netoring, str_lm_mode, sizeof(str_lm_mode)); - printsub('>', &str_lm_mode[2], sizeof(str_lm_mode)-2); - } -/*@*/ else printf("lm_mode: not enough room in buffer\n"); - setconnmode(0); /* set changed mode */ -} - - - -/* - * slc() - * Handle special character suboption of LINEMODE. - */ - -struct spc { - cc_t val; - cc_t *valp; - char flags; /* Current flags & level */ - char mylevel; /* Maximum level & flags */ -} spc_data[NSLC+1]; - -#define SLC_IMPORT 0 -#define SLC_EXPORT 1 -#define SLC_RVALUE 2 -static int slc_mode = SLC_EXPORT; - - void -slc_init() -{ - register struct spc *spcp; - - localchars = 1; - for (spcp = spc_data; spcp < &spc_data[NSLC+1]; spcp++) { - spcp->val = 0; - spcp->valp = 0; - spcp->flags = spcp->mylevel = SLC_NOSUPPORT; - } - -#define initfunc(func, flags) { \ - spcp = &spc_data[func]; \ - if ((spcp->valp = tcval(func))) { \ - spcp->val = *spcp->valp; \ - spcp->mylevel = SLC_VARIABLE|flags; \ - } else { \ - spcp->val = 0; \ - spcp->mylevel = SLC_DEFAULT; \ - } \ - } - - initfunc(SLC_SYNCH, 0); - /* No BRK */ - initfunc(SLC_AO, 0); - initfunc(SLC_AYT, 0); - /* No EOR */ - initfunc(SLC_ABORT, SLC_FLUSHIN|SLC_FLUSHOUT); - initfunc(SLC_EOF, 0); -#ifndef SYSV_TERMIO - initfunc(SLC_SUSP, SLC_FLUSHIN); -#endif - initfunc(SLC_EC, 0); - initfunc(SLC_EL, 0); -#ifndef SYSV_TERMIO - initfunc(SLC_EW, 0); - initfunc(SLC_RP, 0); - initfunc(SLC_LNEXT, 0); -#endif - initfunc(SLC_XON, 0); - initfunc(SLC_XOFF, 0); -#ifdef SYSV_TERMIO - spc_data[SLC_XON].mylevel = SLC_CANTCHANGE; - spc_data[SLC_XOFF].mylevel = SLC_CANTCHANGE; -#endif - initfunc(SLC_FORW1, 0); -#ifdef USE_TERMIO - initfunc(SLC_FORW2, 0); - /* No FORW2 */ -#endif - - initfunc(SLC_IP, SLC_FLUSHIN|SLC_FLUSHOUT); -#undef initfunc - - if (slc_mode == SLC_EXPORT) - slc_export(); - else - slc_import(1); - -} - - void -slcstate() -{ - printf("Special characters are %s values\n", - slc_mode == SLC_IMPORT ? "remote default" : - slc_mode == SLC_EXPORT ? "local" : - "remote"); -} - - void -slc_mode_export() -{ - slc_mode = SLC_EXPORT; - if (my_state_is_will(TELOPT_LINEMODE)) - slc_export(); -} - - void -slc_mode_import(def) - int def; -{ - slc_mode = def ? SLC_IMPORT : SLC_RVALUE; - if (my_state_is_will(TELOPT_LINEMODE)) - slc_import(def); -} - -unsigned char slc_import_val[] = { - IAC, SB, TELOPT_LINEMODE, LM_SLC, 0, SLC_VARIABLE, 0, IAC, SE -}; -unsigned char slc_import_def[] = { - IAC, SB, TELOPT_LINEMODE, LM_SLC, 0, SLC_DEFAULT, 0, IAC, SE -}; - - void -slc_import(def) - int def; -{ - if (NETROOM() > sizeof(slc_import_val)) { - if (def) { - ring_supply_data(&netoring, slc_import_def, sizeof(slc_import_def)); - printsub('>', &slc_import_def[2], sizeof(slc_import_def)-2); - } else { - ring_supply_data(&netoring, slc_import_val, sizeof(slc_import_val)); - printsub('>', &slc_import_val[2], sizeof(slc_import_val)-2); - } - } -/*@*/ else printf("slc_import: not enough room\n"); -} - - void -slc_export() -{ - register struct spc *spcp; - - TerminalDefaultChars(); - - slc_start_reply(); - for (spcp = &spc_data[1]; spcp < &spc_data[NSLC+1]; spcp++) { - if (spcp->mylevel != SLC_NOSUPPORT) { - if (spcp->val == (cc_t)(_POSIX_VDISABLE)) - spcp->flags = SLC_NOSUPPORT; - else - spcp->flags = spcp->mylevel; - if (spcp->valp) - spcp->val = *spcp->valp; - slc_add_reply(spcp - spc_data, spcp->flags, spcp->val); - } - } - slc_end_reply(); - (void)slc_update(); - setconnmode(1); /* Make sure the character values are set */ -} - - void -slc(cp, len) - register unsigned char *cp; - int len; -{ - register struct spc *spcp; - register int func,level; - - slc_start_reply(); - - for (; len >= 3; len -=3, cp +=3) { - - func = cp[SLC_FUNC]; - - if (func == 0) { - /* - * Client side: always ignore 0 function. - */ - continue; - } - if (func > NSLC) { - if ((cp[SLC_FLAGS] & SLC_LEVELBITS) != SLC_NOSUPPORT) - slc_add_reply(func, SLC_NOSUPPORT, 0); - continue; - } - - spcp = &spc_data[func]; - - level = cp[SLC_FLAGS]&(SLC_LEVELBITS|SLC_ACK); - - if ((cp[SLC_VALUE] == (unsigned char)spcp->val) && - ((level&SLC_LEVELBITS) == (spcp->flags&SLC_LEVELBITS))) { - continue; - } - - if (level == (SLC_DEFAULT|SLC_ACK)) { - /* - * This is an error condition, the SLC_ACK - * bit should never be set for the SLC_DEFAULT - * level. Our best guess to recover is to - * ignore the SLC_ACK bit. - */ - cp[SLC_FLAGS] &= ~SLC_ACK; - } - - if (level == ((spcp->flags&SLC_LEVELBITS)|SLC_ACK)) { - spcp->val = (cc_t)cp[SLC_VALUE]; - spcp->flags = cp[SLC_FLAGS]; /* include SLC_ACK */ - continue; - } - - level &= ~SLC_ACK; - - if (level <= (spcp->mylevel&SLC_LEVELBITS)) { - spcp->flags = cp[SLC_FLAGS]|SLC_ACK; - spcp->val = (cc_t)cp[SLC_VALUE]; - } - if (level == SLC_DEFAULT) { - if ((spcp->mylevel&SLC_LEVELBITS) != SLC_DEFAULT) - spcp->flags = spcp->mylevel; - else - spcp->flags = SLC_NOSUPPORT; - } - slc_add_reply(func, spcp->flags, spcp->val); - } - slc_end_reply(); - if (slc_update()) - setconnmode(1); /* set the new character values */ -} - - void -slc_check() -{ - register struct spc *spcp; - - slc_start_reply(); - for (spcp = &spc_data[1]; spcp < &spc_data[NSLC+1]; spcp++) { - if (spcp->valp && spcp->val != *spcp->valp) { - spcp->val = *spcp->valp; - if (spcp->val == (cc_t)(_POSIX_VDISABLE)) - spcp->flags = SLC_NOSUPPORT; - else - spcp->flags = spcp->mylevel; - slc_add_reply(spcp - spc_data, spcp->flags, spcp->val); - } - } - slc_end_reply(); - setconnmode(1); -} - - -unsigned char slc_reply[128]; -unsigned char *slc_replyp; - - void -slc_start_reply() -{ - slc_replyp = slc_reply; - *slc_replyp++ = IAC; - *slc_replyp++ = SB; - *slc_replyp++ = TELOPT_LINEMODE; - *slc_replyp++ = LM_SLC; -} - - void -slc_add_reply(func, flags, value) - unsigned char func; - unsigned char flags; - cc_t value; -{ - if ((*slc_replyp++ = func) == IAC) - *slc_replyp++ = IAC; - if ((*slc_replyp++ = flags) == IAC) - *slc_replyp++ = IAC; - if ((*slc_replyp++ = (unsigned char)value) == IAC) - *slc_replyp++ = IAC; -} - - void -slc_end_reply() -{ - register int len; - - *slc_replyp++ = IAC; - *slc_replyp++ = SE; - len = slc_replyp - slc_reply; - if (len <= 6) - return; - if (NETROOM() > len) { - ring_supply_data(&netoring, slc_reply, slc_replyp - slc_reply); - printsub('>', &slc_reply[2], slc_replyp - slc_reply - 2); - } -/*@*/else printf("slc_end_reply: not enough room\n"); -} - - int -slc_update() -{ - register struct spc *spcp; - int need_update = 0; - - for (spcp = &spc_data[1]; spcp < &spc_data[NSLC+1]; spcp++) { - if (!(spcp->flags&SLC_ACK)) - continue; - spcp->flags &= ~SLC_ACK; - if (spcp->valp && (*spcp->valp != spcp->val)) { - *spcp->valp = spcp->val; - need_update = 1; - } - } - return(need_update); -} - -#ifdef OLD_ENVIRON -# ifdef ENV_HACK -/* - * Earlier version of telnet/telnetd from the BSD code had - * the definitions of VALUE and VAR reversed. To ensure - * maximum interoperability, we assume that the server is - * an older BSD server, until proven otherwise. The newer - * BSD servers should be able to handle either definition, - * so it is better to use the wrong values if we don't - * know what type of server it is. - */ -int env_auto = 1; -int old_env_var = OLD_ENV_VAR; -int old_env_value = OLD_ENV_VALUE; -# else -# define old_env_var OLD_ENV_VAR -# define old_env_value OLD_ENV_VALUE -# endif -#endif - - void -env_opt(buf, len) - register unsigned char *buf; - register int len; -{ - register unsigned char *ep = 0, *epc = 0; - register int i; - - switch(buf[0]&0xff) { - case TELQUAL_SEND: - env_opt_start(); - if (len == 1) { - env_opt_add(NULL); - } else for (i = 1; i < len; i++) { - switch (buf[i]&0xff) { -#ifdef OLD_ENVIRON - case OLD_ENV_VAR: -# ifdef ENV_HACK - if (telopt_environ == TELOPT_OLD_ENVIRON - && env_auto) { - /* Server has the same definitions */ - old_env_var = OLD_ENV_VAR; - old_env_value = OLD_ENV_VALUE; - } - /* FALL THROUGH */ -# endif - case OLD_ENV_VALUE: - /* - * Although OLD_ENV_VALUE is not legal, we will - * still recognize it, just in case it is an - * old server that has VAR & VALUE mixed up... - */ - /* FALL THROUGH */ -#else - case NEW_ENV_VAR: -#endif - case ENV_USERVAR: - if (ep) { - *epc = 0; - env_opt_add(ep); - } - ep = epc = &buf[i+1]; - break; - case ENV_ESC: - i++; - /*FALL THROUGH*/ - default: - if (epc) - *epc++ = buf[i]; - break; - } - } - if (ep) { - *epc = 0; - env_opt_add(ep); - } - env_opt_end(1); - break; - - case TELQUAL_IS: - case TELQUAL_INFO: - /* Ignore for now. We shouldn't get it anyway. */ - break; - - default: - break; - } -} - -#define OPT_REPLY_SIZE 256 -unsigned char *opt_reply; -unsigned char *opt_replyp; -unsigned char *opt_replyend; - - void -env_opt_start() -{ - if (opt_reply) - opt_reply = (unsigned char *)realloc(opt_reply, OPT_REPLY_SIZE); - else - opt_reply = (unsigned char *)malloc(OPT_REPLY_SIZE); - if (opt_reply == NULL) { -/*@*/ printf("env_opt_start: malloc()/realloc() failed!!!\n"); - opt_reply = opt_replyp = opt_replyend = NULL; - return; - } - opt_replyp = opt_reply; - opt_replyend = opt_reply + OPT_REPLY_SIZE; - *opt_replyp++ = IAC; - *opt_replyp++ = SB; - *opt_replyp++ = telopt_environ; - *opt_replyp++ = TELQUAL_IS; -} - - void -env_opt_start_info() -{ - env_opt_start(); - if (opt_replyp) - opt_replyp[-1] = TELQUAL_INFO; -} - - void -env_opt_add(ep) - register unsigned char *ep; -{ - register unsigned char *vp, c; - - if (opt_reply == NULL) /*XXX*/ - return; /*XXX*/ - - if (ep == NULL || *ep == '\0') { - /* Send user defined variables first. */ - env_default(1, 0); - while ((ep = env_default(0, 0))) - env_opt_add(ep); - - /* Now add the list of well know variables. */ - env_default(1, 1); - while ((ep = env_default(0, 1))) - env_opt_add(ep); - return; - } - vp = env_getvalue(ep); - if (opt_replyp + (vp ? strlen((char *)vp) : 0) + - strlen((char *)ep) + 6 > opt_replyend) - { - register int len; - opt_replyend += OPT_REPLY_SIZE; - len = opt_replyend - opt_reply; - opt_reply = (unsigned char *)realloc(opt_reply, len); - if (opt_reply == NULL) { -/*@*/ printf("env_opt_add: realloc() failed!!!\n"); - opt_reply = opt_replyp = opt_replyend = NULL; - return; - } - opt_replyp = opt_reply + len - (opt_replyend - opt_replyp); - opt_replyend = opt_reply + len; - } - if (opt_welldefined(ep)) -#ifdef OLD_ENVIRON - if (telopt_environ == TELOPT_OLD_ENVIRON) - *opt_replyp++ = old_env_var; - else -#endif - *opt_replyp++ = NEW_ENV_VAR; - else - *opt_replyp++ = ENV_USERVAR; - for (;;) { - while ((c = *ep++)) { - switch(c&0xff) { - case IAC: - *opt_replyp++ = IAC; - break; - case NEW_ENV_VAR: - case NEW_ENV_VALUE: - case ENV_ESC: - case ENV_USERVAR: - *opt_replyp++ = ENV_ESC; - break; - } - *opt_replyp++ = c; - } - if ((ep = vp)) { -#ifdef OLD_ENVIRON - if (telopt_environ == TELOPT_OLD_ENVIRON) - *opt_replyp++ = old_env_value; - else -#endif - *opt_replyp++ = NEW_ENV_VALUE; - vp = NULL; - } else - break; - } -} - - int -opt_welldefined(ep) - char *ep; -{ - if ((strcmp(ep, "USER") == 0) || - (strcmp(ep, "DISPLAY") == 0) || - (strcmp(ep, "PRINTER") == 0) || - (strcmp(ep, "SYSTEMTYPE") == 0) || - (strcmp(ep, "JOB") == 0) || - (strcmp(ep, "ACCT") == 0)) - return(1); - return(0); -} - void -env_opt_end(emptyok) - register int emptyok; -{ - register int len; - - len = opt_replyp - opt_reply + 2; - if (emptyok || len > 6) { - *opt_replyp++ = IAC; - *opt_replyp++ = SE; - if (NETROOM() > len) { - ring_supply_data(&netoring, opt_reply, len); - printsub('>', &opt_reply[2], len - 2); - } -/*@*/ else printf("slc_end_reply: not enough room\n"); - } - if (opt_reply) { - free(opt_reply); - opt_reply = opt_replyp = opt_replyend = NULL; - } -} - - - - int -telrcv() -{ - register int c; - register int scc; - register unsigned char *sbp; - int count; - int returnValue = 0; - - scc = 0; - count = 0; - while (TTYROOM() > 2) { - if (scc == 0) { - if (count) { - ring_consumed(&netiring, count); - returnValue = 1; - count = 0; - } - sbp = netiring.consume; - scc = ring_full_consecutive(&netiring); - if (scc == 0) { - /* No more data coming in */ - break; - } - } - - c = *sbp++ & 0xff, scc--; count++; -#ifdef ENCRYPTION - if (decrypt_input) - c = (*decrypt_input)(c); -#endif /* ENCRYPTION */ - - switch (telrcv_state) { - - case TS_CR: - telrcv_state = TS_DATA; - if (c == '\0') { - break; /* Ignore \0 after CR */ - } - else if ((c == '\n') && my_want_state_is_dont(TELOPT_ECHO) && !crmod) { - TTYADD(c); - break; - } - /* Else, fall through */ - - case TS_DATA: - if (c == IAC) { - telrcv_state = TS_IAC; - break; - } -# if defined(TN3270) - if (In3270) { - *Ifrontp++ = c; - while (scc > 0) { - c = *sbp++ & 0377, scc--; count++; -#ifdef ENCRYPTION - if (decrypt_input) - c = (*decrypt_input)(c); -#endif /* ENCRYPTION */ - if (c == IAC) { - telrcv_state = TS_IAC; - break; - } - *Ifrontp++ = c; - } - } else -# endif /* defined(TN3270) */ - /* - * The 'crmod' hack (see following) is needed - * since we can't * set CRMOD on output only. - * Machines like MULTICS like to send \r without - * \n; since we must turn off CRMOD to get proper - * input, the mapping is done here (sigh). - */ - if ((c == '\r') && my_want_state_is_dont(TELOPT_BINARY)) { - if (scc > 0) { - c = *sbp&0xff; -#ifdef ENCRYPTION - if (decrypt_input) - c = (*decrypt_input)(c); -#endif /* ENCRYPTION */ - if (c == 0) { - sbp++, scc--; count++; - /* a "true" CR */ - TTYADD('\r'); - } else if (my_want_state_is_dont(TELOPT_ECHO) && - (c == '\n')) { - sbp++, scc--; count++; - TTYADD('\n'); - } else { -#ifdef ENCRYPTION - if (decrypt_input) - (*decrypt_input)(-1); -#endif /* ENCRYPTION */ - - TTYADD('\r'); - if (crmod) { - TTYADD('\n'); - } - } - } else { - telrcv_state = TS_CR; - TTYADD('\r'); - if (crmod) { - TTYADD('\n'); - } - } - } else { - TTYADD(c); - } - continue; - - case TS_IAC: -process_iac: - switch (c) { - - case WILL: - telrcv_state = TS_WILL; - continue; - - case WONT: - telrcv_state = TS_WONT; - continue; - - case DO: - telrcv_state = TS_DO; - continue; - - case DONT: - telrcv_state = TS_DONT; - continue; - - case DM: - /* - * We may have missed an urgent notification, - * so make sure we flush whatever is in the - * buffer currently. - */ - printoption("RCVD", IAC, DM); - SYNCHing = 1; - (void) ttyflush(1); - SYNCHing = stilloob(); - settimer(gotDM); - break; - - case SB: - SB_CLEAR(); - telrcv_state = TS_SB; - continue; - -# if defined(TN3270) - case EOR: - if (In3270) { - if (Ibackp == Ifrontp) { - Ibackp = Ifrontp = Ibuf; - ISend = 0; /* should have been! */ - } else { - Ibackp += DataFromNetwork(Ibackp, Ifrontp-Ibackp, 1); - ISend = 1; - } - } - printoption("RCVD", IAC, EOR); - break; -# endif /* defined(TN3270) */ - - case IAC: -# if !defined(TN3270) - TTYADD(IAC); -# else /* !defined(TN3270) */ - if (In3270) { - *Ifrontp++ = IAC; - } else { - TTYADD(IAC); - } -# endif /* !defined(TN3270) */ - break; - - case NOP: - case GA: - default: - printoption("RCVD", IAC, c); - break; - } - telrcv_state = TS_DATA; - continue; - - case TS_WILL: - printoption("RCVD", WILL, c); - willoption(c); - SetIn3270(); - telrcv_state = TS_DATA; - continue; - - case TS_WONT: - printoption("RCVD", WONT, c); - wontoption(c); - SetIn3270(); - telrcv_state = TS_DATA; - continue; - - case TS_DO: - printoption("RCVD", DO, c); - dooption(c); - SetIn3270(); - if (c == TELOPT_NAWS) { - sendnaws(); - } else if (c == TELOPT_LFLOW) { - localflow = 1; - setcommandmode(); - setconnmode(0); - } - telrcv_state = TS_DATA; - continue; - - case TS_DONT: - printoption("RCVD", DONT, c); - dontoption(c); - flushline = 1; - setconnmode(0); /* set new tty mode (maybe) */ - SetIn3270(); - telrcv_state = TS_DATA; - continue; - - case TS_SB: - if (c == IAC) { - telrcv_state = TS_SE; - } else { - SB_ACCUM(c); - } - continue; - - case TS_SE: - if (c != SE) { - if (c != IAC) { - /* - * This is an error. We only expect to get - * "IAC IAC" or "IAC SE". Several things may - * have happend. An IAC was not doubled, the - * IAC SE was left off, or another option got - * inserted into the suboption are all possibilities. - * If we assume that the IAC was not doubled, - * and really the IAC SE was left off, we could - * get into an infinate loop here. So, instead, - * we terminate the suboption, and process the - * partial suboption if we can. - */ - SB_ACCUM(IAC); - SB_ACCUM(c); - subpointer -= 2; - SB_TERM(); - - printoption("In SUBOPTION processing, RCVD", IAC, c); - suboption(); /* handle sub-option */ - SetIn3270(); - telrcv_state = TS_IAC; - goto process_iac; - } - SB_ACCUM(c); - telrcv_state = TS_SB; - } else { - SB_ACCUM(IAC); - SB_ACCUM(SE); - subpointer -= 2; - SB_TERM(); - suboption(); /* handle sub-option */ - SetIn3270(); - telrcv_state = TS_DATA; - } - } - } - if (count) - ring_consumed(&netiring, count); - return returnValue||count; -} - -static int bol = 1, local = 0; - - int -rlogin_susp() -{ - if (local) { - local = 0; - bol = 1; - command(0, "z\n", 2); - return(1); - } - return(0); -} - - static int -telsnd() -{ - int tcc; - int count; - int returnValue = 0; - unsigned char *tbp; - - tcc = 0; - count = 0; - while (NETROOM() > 2) { - register int sc; - register int c; - - if (tcc == 0) { - if (count) { - ring_consumed(&ttyiring, count); - returnValue = 1; - count = 0; - } - tbp = ttyiring.consume; - tcc = ring_full_consecutive(&ttyiring); - if (tcc == 0) { - break; - } - } - c = *tbp++ & 0xff, sc = strip(c), tcc--; count++; - if (rlogin != _POSIX_VDISABLE) { - if (bol) { - bol = 0; - if (sc == rlogin) { - local = 1; - continue; - } - } else if (local) { - local = 0; - if (sc == '.' || c == termEofChar) { - bol = 1; - command(0, "close\n", 6); - continue; - } - if (sc == termSuspChar) { - bol = 1; - command(0, "z\n", 2); - continue; - } - if (sc == escape) { - command(0, (char *)tbp, tcc); - bol = 1; - count += tcc; - tcc = 0; - flushline = 1; - break; - } - if (sc != rlogin) { - ++tcc; - --tbp; - --count; - c = sc = rlogin; - } - } - if ((sc == '\n') || (sc == '\r')) - bol = 1; - } else if (sc == escape) { - /* - * Double escape is a pass through of a single escape character. - */ - if (tcc && strip(*tbp) == escape) { - tbp++; - tcc--; - count++; - bol = 0; - } else { - command(0, (char *)tbp, tcc); - bol = 1; - count += tcc; - tcc = 0; - flushline = 1; - break; - } - } else - bol = 0; -#ifdef KLUDGELINEMODE - if (kludgelinemode && (globalmode&MODE_EDIT) && (sc == echoc)) { - if (tcc > 0 && strip(*tbp) == echoc) { - tcc--; tbp++; count++; - } else { - dontlecho = !dontlecho; - settimer(echotoggle); - setconnmode(0); - flushline = 1; - break; - } - } -#endif - if (MODE_LOCAL_CHARS(globalmode)) { - if (TerminalSpecialChars(sc) == 0) { - bol = 1; - break; - } - } - if (my_want_state_is_wont(TELOPT_BINARY)) { - switch (c) { - case '\n': - /* - * If we are in CRMOD mode (\r ==> \n) - * on our local machine, then probably - * a newline (unix) is CRLF (TELNET). - */ - if (MODE_LOCAL_CHARS(globalmode)) { - NETADD('\r'); - } - NETADD('\n'); - bol = flushline = 1; - break; - case '\r': - if (!crlf) { - NET2ADD('\r', '\0'); - } else { - NET2ADD('\r', '\n'); - } - bol = flushline = 1; - break; - case IAC: - NET2ADD(IAC, IAC); - break; - default: - NETADD(c); - break; - } - } else if (c == IAC) { - NET2ADD(IAC, IAC); - } else { - NETADD(c); - } - } - if (count) - ring_consumed(&ttyiring, count); - return returnValue||count; /* Non-zero if we did anything */ -} - -/* - * Scheduler() - * - * Try to do something. - * - * If we do something useful, return 1; else return 0. - * - */ - - - int -Scheduler(block) - int block; /* should we block in the select ? */ -{ - /* One wants to be a bit careful about setting returnValue - * to one, since a one implies we did some useful work, - * and therefore probably won't be called to block next - * time (TN3270 mode only). - */ - int returnValue; - int netin, netout, netex, ttyin, ttyout; - - /* Decide which rings should be processed */ - - netout = ring_full_count(&netoring) && - (flushline || - (my_want_state_is_wont(TELOPT_LINEMODE) -#ifdef KLUDGELINEMODE - && (!kludgelinemode || my_want_state_is_do(TELOPT_SGA)) -#endif - ) || - my_want_state_is_will(TELOPT_BINARY)); - ttyout = ring_full_count(&ttyoring); - -#if defined(TN3270) - ttyin = ring_empty_count(&ttyiring) && (clienteof == 0) && (shell_active == 0); -#else /* defined(TN3270) */ - ttyin = ring_empty_count(&ttyiring) && (clienteof == 0); -#endif /* defined(TN3270) */ - -#if defined(TN3270) - netin = ring_empty_count(&netiring); -# else /* !defined(TN3270) */ - netin = !ISend && ring_empty_count(&netiring); -# endif /* !defined(TN3270) */ - - netex = !SYNCHing; - - /* If we have seen a signal recently, reset things */ -# if defined(TN3270) && defined(unix) - if (HaveInput) { - HaveInput = 0; - (void) signal(SIGIO, inputAvailable); - } -#endif /* defined(TN3270) && defined(unix) */ - - /* Call to system code to process rings */ - - returnValue = process_rings(netin, netout, netex, ttyin, ttyout, !block); - - /* Now, look at the input rings, looking for work to do. */ - - if (ring_full_count(&ttyiring)) { -# if defined(TN3270) - if (In3270) { - int c; - - c = DataFromTerminal(ttyiring.consume, - ring_full_consecutive(&ttyiring)); - if (c) { - returnValue = 1; - ring_consumed(&ttyiring, c); - } - } else { -# endif /* defined(TN3270) */ - returnValue |= telsnd(); -# if defined(TN3270) - } -# endif /* defined(TN3270) */ - } - - if (ring_full_count(&netiring)) { -# if !defined(TN3270) - returnValue |= telrcv(); -# else /* !defined(TN3270) */ - returnValue = Push3270(); -# endif /* !defined(TN3270) */ - } - return returnValue; -} - -/* - * Select from tty and network... - */ - void -telnet(user) - char *user; -{ - sys_telnet_init(); - -#if defined(AUTHENTICATION) || defined(ENCRYPTION) - { - static char local_host[256] = { 0 }; - - if (!local_host[0]) { - gethostname(local_host, sizeof(local_host)); - local_host[sizeof(local_host)-1] = 0; - } - auth_encrypt_init(local_host, hostname, "TELNET", 0); - auth_encrypt_user(user); - } -#endif /* defined(AUTHENTICATION) || defined(ENCRYPTION) */ -# if !defined(TN3270) - if (telnetport) { -#if defined(AUTHENTICATION) - if (autologin) - send_will(TELOPT_AUTHENTICATION, 1); -#endif -#ifdef ENCRYPTION - send_do(TELOPT_ENCRYPT, 1); - send_will(TELOPT_ENCRYPT, 1); -#endif /* ENCRYPTION */ - send_do(TELOPT_SGA, 1); - send_will(TELOPT_TTYPE, 1); - send_will(TELOPT_NAWS, 1); - send_will(TELOPT_TSPEED, 1); - send_will(TELOPT_LFLOW, 1); - send_will(TELOPT_LINEMODE, 1); - send_will(TELOPT_NEW_ENVIRON, 1); - send_do(TELOPT_STATUS, 1); - if (env_getvalue((unsigned char *)"DISPLAY")) - send_will(TELOPT_XDISPLOC, 1); - if (eight) - tel_enter_binary(eight); - } -# endif /* !defined(TN3270) */ - -# if !defined(TN3270) - for (;;) { - int schedValue; - - while ((schedValue = Scheduler(0)) != 0) { - if (schedValue == -1) { - setcommandmode(); - return; - } - } - - if (Scheduler(1) == -1) { - setcommandmode(); - return; - } - } -# else /* !defined(TN3270) */ - for (;;) { - int schedValue; - - while (!In3270 && !shell_active) { - if (Scheduler(1) == -1) { - setcommandmode(); - return; - } - } - - while ((schedValue = Scheduler(0)) != 0) { - if (schedValue == -1) { - setcommandmode(); - return; - } - } - /* If there is data waiting to go out to terminal, don't - * schedule any more data for the terminal. - */ - if (ring_full_count(&ttyoring)) { - schedValue = 1; - } else { - if (shell_active) { - if (shell_continue() == 0) { - ConnectScreen(); - } - } else if (In3270) { - schedValue = DoTerminalOutput(); - } - } - if (schedValue && (shell_active == 0)) { - if (Scheduler(1) == -1) { - setcommandmode(); - return; - } - } - } -# endif /* !defined(TN3270) */ -} - -#if 0 /* XXX - this not being in is a bug */ -/* - * nextitem() - * - * Return the address of the next "item" in the TELNET data - * stream. This will be the address of the next character if - * the current address is a user data character, or it will - * be the address of the character following the TELNET command - * if the current address is a TELNET IAC ("I Am a Command") - * character. - */ - - static char * -nextitem(current) - char *current; -{ - if ((*current&0xff) != IAC) { - return current+1; - } - switch (*(current+1)&0xff) { - case DO: - case DONT: - case WILL: - case WONT: - return current+3; - case SB: /* loop forever looking for the SE */ - { - register char *look = current+2; - - for (;;) { - if ((*look++&0xff) == IAC) { - if ((*look++&0xff) == SE) { - return look; - } - } - } - } - default: - return current+2; - } -} -#endif /* 0 */ - -/* - * netclear() - * - * We are about to do a TELNET SYNCH operation. Clear - * the path to the network. - * - * Things are a bit tricky since we may have sent the first - * byte or so of a previous TELNET command into the network. - * So, we have to scan the network buffer from the beginning - * until we are up to where we want to be. - * - * A side effect of what we do, just to keep things - * simple, is to clear the urgent data pointer. The principal - * caller should be setting the urgent data pointer AFTER calling - * us in any case. - */ - - static void -netclear() -{ -#if 0 /* XXX */ - register char *thisitem, *next; - char *good; -#define wewant(p) ((nfrontp > p) && ((*p&0xff) == IAC) && \ - ((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL)) - - thisitem = netobuf; - - while ((next = nextitem(thisitem)) <= netobuf.send) { - thisitem = next; - } - - /* Now, thisitem is first before/at boundary. */ - - good = netobuf; /* where the good bytes go */ - - while (netoring.add > thisitem) { - if (wewant(thisitem)) { - int length; - - next = thisitem; - do { - next = nextitem(next); - } while (wewant(next) && (nfrontp > next)); - length = next-thisitem; - memmove(good, thisitem, length); - good += length; - thisitem = next; - } else { - thisitem = nextitem(thisitem); - } - } - -#endif /* 0 */ -} - -/* - * These routines add various telnet commands to the data stream. - */ - - static void -doflush() -{ - NET2ADD(IAC, DO); - NETADD(TELOPT_TM); - flushline = 1; - flushout = 1; - (void) ttyflush(1); /* Flush/drop output */ - /* do printoption AFTER flush, otherwise the output gets tossed... */ - printoption("SENT", DO, TELOPT_TM); -} - - void -xmitAO() -{ - NET2ADD(IAC, AO); - printoption("SENT", IAC, AO); - if (autoflush) { - doflush(); - } -} - - - void -xmitEL() -{ - NET2ADD(IAC, EL); - printoption("SENT", IAC, EL); -} - - void -xmitEC() -{ - NET2ADD(IAC, EC); - printoption("SENT", IAC, EC); -} - - - int -dosynch() -{ - netclear(); /* clear the path to the network */ - NETADD(IAC); - setneturg(); - NETADD(DM); - printoption("SENT", IAC, DM); - return 1; -} - -int want_status_response = 0; - - int -get_status() -{ - unsigned char tmp[16]; - register unsigned char *cp; - - if (my_want_state_is_dont(TELOPT_STATUS)) { - printf("Remote side does not support STATUS option\n"); - return 0; - } - cp = tmp; - - *cp++ = IAC; - *cp++ = SB; - *cp++ = TELOPT_STATUS; - *cp++ = TELQUAL_SEND; - *cp++ = IAC; - *cp++ = SE; - if (NETROOM() >= cp - tmp) { - ring_supply_data(&netoring, tmp, cp-tmp); - printsub('>', tmp+2, cp - tmp - 2); - } - ++want_status_response; - return 1; -} - - void -intp() -{ - NET2ADD(IAC, IP); - printoption("SENT", IAC, IP); - flushline = 1; - if (autoflush) { - doflush(); - } - if (autosynch) { - dosynch(); - } -} - - void -sendbrk() -{ - NET2ADD(IAC, BREAK); - printoption("SENT", IAC, BREAK); - flushline = 1; - if (autoflush) { - doflush(); - } - if (autosynch) { - dosynch(); - } -} - - void -sendabort() -{ - NET2ADD(IAC, ABORT); - printoption("SENT", IAC, ABORT); - flushline = 1; - if (autoflush) { - doflush(); - } - if (autosynch) { - dosynch(); - } -} - - void -sendsusp() -{ - NET2ADD(IAC, SUSP); - printoption("SENT", IAC, SUSP); - flushline = 1; - if (autoflush) { - doflush(); - } - if (autosynch) { - dosynch(); - } -} - - void -sendeof() -{ - NET2ADD(IAC, xEOF); - printoption("SENT", IAC, xEOF); -} - - void -sendayt() -{ - NET2ADD(IAC, AYT); - printoption("SENT", IAC, AYT); -} - -/* - * Send a window size update to the remote system. - */ - - void -sendnaws() -{ - long rows, cols; - unsigned char tmp[16]; - register unsigned char *cp; - - if (my_state_is_wont(TELOPT_NAWS)) - return; - -#define PUTSHORT(cp, x) { if ((*cp++ = ((x)>>8)&0xff) == IAC) *cp++ = IAC; \ - if ((*cp++ = ((x))&0xff) == IAC) *cp++ = IAC; } - - if (TerminalWindowSize(&rows, &cols) == 0) { /* Failed */ - return; - } - - cp = tmp; - - *cp++ = IAC; - *cp++ = SB; - *cp++ = TELOPT_NAWS; - PUTSHORT(cp, cols); - PUTSHORT(cp, rows); - *cp++ = IAC; - *cp++ = SE; - if (NETROOM() >= cp - tmp) { - ring_supply_data(&netoring, tmp, cp-tmp); - printsub('>', tmp+2, cp - tmp - 2); - } -} - - void -tel_enter_binary(rw) - int rw; -{ - if (rw&1) - send_do(TELOPT_BINARY, 1); - if (rw&2) - send_will(TELOPT_BINARY, 1); -} - - void -tel_leave_binary(rw) - int rw; -{ - if (rw&1) - send_dont(TELOPT_BINARY, 1); - if (rw&2) - send_wont(TELOPT_BINARY, 1); -} diff --git a/eBones/usr.bin/telnet/terminal.c b/eBones/usr.bin/telnet/terminal.c deleted file mode 100644 index a2383d9e6696f..0000000000000 --- a/eBones/usr.bin/telnet/terminal.c +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Copyright (c) 1988, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)terminal.c 8.2 (Berkeley) 2/16/95"; -#endif /* not lint */ - -#include <arpa/telnet.h> -#include <sys/types.h> - -#include "ring.h" - -#include "externs.h" -#include "types.h" - -#if defined(ENCRYPTION) -#include <libtelnet/encrypt.h> -#endif - -Ring ttyoring, ttyiring; -unsigned char ttyobuf[2*BUFSIZ], ttyibuf[BUFSIZ]; - -int termdata; /* Debugging flag */ - -#ifdef USE_TERMIO -# ifndef VDISCARD -cc_t termFlushChar; -# endif -# ifndef VLNEXT -cc_t termLiteralNextChar; -# endif -# ifndef VSUSP -cc_t termSuspChar; -# endif -# ifndef VWERASE -cc_t termWerasChar; -# endif -# ifndef VREPRINT -cc_t termRprntChar; -# endif -# ifndef VSTART -cc_t termStartChar; -# endif -# ifndef VSTOP -cc_t termStopChar; -# endif -# ifndef VEOL -cc_t termForw1Char; -# endif -# ifndef VEOL2 -cc_t termForw2Char; -# endif -# ifndef VSTATUS -cc_t termAytChar; -# endif -#else -cc_t termForw2Char; -cc_t termAytChar; -#endif - -/* - * initialize the terminal data structures. - */ - - void -init_terminal() -{ - if (ring_init(&ttyoring, ttyobuf, sizeof ttyobuf) != 1) { - exit(1); - } - if (ring_init(&ttyiring, ttyibuf, sizeof ttyibuf) != 1) { - exit(1); - } - autoflush = TerminalAutoFlush(); -} - - -/* - * Send as much data as possible to the terminal. - * - * Return value: - * -1: No useful work done, data waiting to go out. - * 0: No data was waiting, so nothing was done. - * 1: All waiting data was written out. - * n: All data - n was written out. - */ - - - int -ttyflush(drop) - int drop; -{ - register int n, n0, n1; - - n0 = ring_full_count(&ttyoring); - if ((n1 = n = ring_full_consecutive(&ttyoring)) > 0) { - if (drop) { - TerminalFlushOutput(); - /* we leave 'n' alone! */ - } else { - n = TerminalWrite(ttyoring.consume, n); - } - } - if (n > 0) { - if (termdata && n) { - Dump('>', ttyoring.consume, n); - } - /* - * If we wrote everything, and the full count is - * larger than what we wrote, then write the - * rest of the buffer. - */ - if (n1 == n && n0 > n) { - n1 = n0 - n; - if (!drop) - n1 = TerminalWrite(ttyoring.bottom, n1); - if (n1 > 0) - n += n1; - } - ring_consumed(&ttyoring, n); - } - if (n < 0) - return -1; - if (n == n0) { - if (n0) - return -1; - return 0; - } - return n0 - n + 1; -} - - -/* - * These routines decides on what the mode should be (based on the values - * of various global variables). - */ - - - int -getconnmode() -{ - extern int linemode; - int mode = 0; -#ifdef KLUDGELINEMODE - extern int kludgelinemode; -#endif - - if (In3270) - return(MODE_FLOW); - - if (my_want_state_is_dont(TELOPT_ECHO)) - mode |= MODE_ECHO; - - if (localflow) - mode |= MODE_FLOW; - - if (my_want_state_is_will(TELOPT_BINARY)) - mode |= MODE_INBIN; - - if (his_want_state_is_will(TELOPT_BINARY)) - mode |= MODE_OUTBIN; - -#ifdef KLUDGELINEMODE - if (kludgelinemode) { - if (my_want_state_is_dont(TELOPT_SGA)) { - mode |= (MODE_TRAPSIG|MODE_EDIT); - if (dontlecho && (clocks.echotoggle > clocks.modenegotiated)) { - mode &= ~MODE_ECHO; - } - } - return(mode); - } -#endif - if (my_want_state_is_will(TELOPT_LINEMODE)) - mode |= linemode; - return(mode); -} - - void -setconnmode(force) - int force; -{ -#ifdef ENCRYPTION - static int enc_passwd = 0; -#endif /* ENCRYPTION */ - register int newmode; - - newmode = getconnmode()|(force?MODE_FORCE:0); - - TerminalNewMode(newmode); - -#ifdef ENCRYPTION - if ((newmode & (MODE_ECHO|MODE_EDIT)) == MODE_EDIT) { - if (my_want_state_is_will(TELOPT_ENCRYPT) - && (enc_passwd == 0) && !encrypt_output) { - encrypt_request_start(0, 0); - enc_passwd = 1; - } - } else { - if (enc_passwd) { - encrypt_request_end(); - enc_passwd = 0; - } - } -#endif /* ENCRYPTION */ - -} - - - void -setcommandmode() -{ - TerminalNewMode(-1); -} diff --git a/eBones/usr.bin/telnet/tn3270.c b/eBones/usr.bin/telnet/tn3270.c deleted file mode 100644 index 5a453d98cc5bc..0000000000000 --- a/eBones/usr.bin/telnet/tn3270.c +++ /dev/null @@ -1,411 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)tn3270.c 8.2 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#include <sys/types.h> -#include <arpa/telnet.h> - -#include "general.h" - -#include "defines.h" -#include "ring.h" -#include "externs.h" -#include "fdset.h" - -#if defined(TN3270) - -#include "../ctlr/screen.h" -#include "../general/globals.h" - -#include "../sys_curses/telextrn.h" -#include "../ctlr/externs.h" - -#if defined(unix) -int - HaveInput, /* There is input available to scan */ - cursesdata, /* Do we dump curses data? */ - sigiocount; /* Number of times we got a SIGIO */ - -char tline[200]; -char *transcom = 0; /* transparent mode command (default: none) */ -#endif /* defined(unix) */ - -char Ibuf[8*BUFSIZ], *Ifrontp, *Ibackp; - -static char sb_terminal[] = { IAC, SB, - TELOPT_TTYPE, TELQUAL_IS, - 'I', 'B', 'M', '-', '3', '2', '7', '8', '-', '2', - IAC, SE }; -#define SBTERMMODEL 13 - -static int - Sent3270TerminalType; /* Have we said we are a 3270? */ - -#endif /* defined(TN3270) */ - - - void -init_3270() -{ -#if defined(TN3270) -#if defined(unix) - HaveInput = 0; - sigiocount = 0; -#endif /* defined(unix) */ - Sent3270TerminalType = 0; - Ifrontp = Ibackp = Ibuf; - init_ctlr(); /* Initialize some things */ - init_keyboard(); - init_screen(); - init_system(); -#endif /* defined(TN3270) */ -} - - -#if defined(TN3270) - -/* - * DataToNetwork - queue up some data to go to network. If "done" is set, - * then when last byte is queued, we add on an IAC EOR sequence (so, - * don't call us with "done" until you want that done...) - * - * We actually do send all the data to the network buffer, since our - * only client needs for us to do that. - */ - - int -DataToNetwork(buffer, count, done) - register char *buffer; /* where the data is */ - register int count; /* how much to send */ - int done; /* is this the last of a logical block */ -{ - register int loop, c; - int origCount; - - origCount = count; - - while (count) { - /* If not enough room for EORs, IACs, etc., wait */ - if (NETROOM() < 6) { - fd_set o; - - FD_ZERO(&o); - netflush(); - while (NETROOM() < 6) { - FD_SET(net, &o); - (void) select(net+1, (fd_set *) 0, &o, (fd_set *) 0, - (struct timeval *) 0); - netflush(); - } - } - c = ring_empty_count(&netoring); - if (c > count) { - c = count; - } - loop = c; - while (loop) { - if (((unsigned char)*buffer) == IAC) { - break; - } - buffer++; - loop--; - } - if ((c = c-loop)) { - ring_supply_data(&netoring, buffer-c, c); - count -= c; - } - if (loop) { - NET2ADD(IAC, IAC); - count--; - buffer++; - } - } - - if (done) { - NET2ADD(IAC, EOR); - netflush(); /* try to move along as quickly as ... */ - } - return(origCount - count); -} - - -#if defined(unix) - void -inputAvailable(signo) - int signo; -{ - HaveInput = 1; - sigiocount++; -} -#endif /* defined(unix) */ - - void -outputPurge() -{ - (void) ttyflush(1); -} - - -/* - * The following routines are places where the various tn3270 - * routines make calls into telnet.c. - */ - -/* - * DataToTerminal - queue up some data to go to terminal. - * - * Note: there are people who call us and depend on our processing - * *all* the data at one time (thus the select). - */ - - int -DataToTerminal(buffer, count) - register char *buffer; /* where the data is */ - register int count; /* how much to send */ -{ - register int c; - int origCount; - - origCount = count; - - while (count) { - if (TTYROOM() == 0) { -#if defined(unix) - fd_set o; - - FD_ZERO(&o); -#endif /* defined(unix) */ - (void) ttyflush(0); - while (TTYROOM() == 0) { -#if defined(unix) - FD_SET(tout, &o); - (void) select(tout+1, (fd_set *) 0, &o, (fd_set *) 0, - (struct timeval *) 0); -#endif /* defined(unix) */ - (void) ttyflush(0); - } - } - c = TTYROOM(); - if (c > count) { - c = count; - } - ring_supply_data(&ttyoring, buffer, c); - count -= c; - buffer += c; - } - return(origCount); -} - - -/* - * Push3270 - Try to send data along the 3270 output (to screen) direction. - */ - - int -Push3270() -{ - int save = ring_full_count(&netiring); - - if (save) { - if (Ifrontp+save > Ibuf+sizeof Ibuf) { - if (Ibackp != Ibuf) { - memmove(Ibuf, Ibackp, Ifrontp-Ibackp); - Ifrontp -= (Ibackp-Ibuf); - Ibackp = Ibuf; - } - } - if (Ifrontp+save < Ibuf+sizeof Ibuf) { - (void)telrcv(); - } - } - return save != ring_full_count(&netiring); -} - - -/* - * Finish3270 - get the last dregs of 3270 data out to the terminal - * before quitting. - */ - - void -Finish3270() -{ - while (Push3270() || !DoTerminalOutput()) { -#if defined(unix) - HaveInput = 0; -#endif /* defined(unix) */ - ; - } -} - - -/* StringToTerminal - output a null terminated string to the terminal */ - - void -StringToTerminal(s) - char *s; -{ - int count; - - count = strlen(s); - if (count) { - (void) DataToTerminal(s, count); /* we know it always goes... */ - } -} - - -#if ((!defined(NOT43)) || defined(PUTCHAR)) -/* _putchar - output a single character to the terminal. This name is so that - * curses(3x) can call us to send out data. - */ - - void -_putchar(c) - char c; -{ -#if defined(sun) /* SunOS 4.0 bug */ - c &= 0x7f; -#endif /* defined(sun) */ - if (cursesdata) { - Dump('>', &c, 1); - } - if (!TTYROOM()) { - (void) DataToTerminal(&c, 1); - } else { - TTYADD(c); - } -} -#endif /* ((!defined(NOT43)) || defined(PUTCHAR)) */ - - void -SetIn3270() -{ - if (Sent3270TerminalType && my_want_state_is_will(TELOPT_BINARY) - && my_want_state_is_do(TELOPT_BINARY) && !donebinarytoggle) { - if (!In3270) { - In3270 = 1; - Init3270(); /* Initialize 3270 functions */ - /* initialize terminal key mapping */ - InitTerminal(); /* Start terminal going */ - setconnmode(0); - } - } else { - if (In3270) { - StopScreen(1); - In3270 = 0; - Stop3270(); /* Tell 3270 we aren't here anymore */ - setconnmode(0); - } - } -} - -/* - * tn3270_ttype() - * - * Send a response to a terminal type negotiation. - * - * Return '0' if no more responses to send; '1' if a response sent. - */ - - int -tn3270_ttype() -{ - /* - * Try to send a 3270 type terminal name. Decide which one based - * on the format of our screen, and (in the future) color - * capaiblities. - */ - InitTerminal(); /* Sets MaxNumberColumns, MaxNumberLines */ - if ((MaxNumberLines >= 24) && (MaxNumberColumns >= 80)) { - Sent3270TerminalType = 1; - if ((MaxNumberLines >= 27) && (MaxNumberColumns >= 132)) { - MaxNumberLines = 27; - MaxNumberColumns = 132; - sb_terminal[SBTERMMODEL] = '5'; - } else if (MaxNumberLines >= 43) { - MaxNumberLines = 43; - MaxNumberColumns = 80; - sb_terminal[SBTERMMODEL] = '4'; - } else if (MaxNumberLines >= 32) { - MaxNumberLines = 32; - MaxNumberColumns = 80; - sb_terminal[SBTERMMODEL] = '3'; - } else { - MaxNumberLines = 24; - MaxNumberColumns = 80; - sb_terminal[SBTERMMODEL] = '2'; - } - NumberLines = 24; /* before we start out... */ - NumberColumns = 80; - ScreenSize = NumberLines*NumberColumns; - if ((MaxNumberLines*MaxNumberColumns) > MAXSCREENSIZE) { - ExitString("Programming error: MAXSCREENSIZE too small.\n", - 1); - /*NOTREACHED*/ - } - printsub('>', sb_terminal+2, sizeof sb_terminal-2); - ring_supply_data(&netoring, sb_terminal, sizeof sb_terminal); - return 1; - } else { - return 0; - } -} - -#if defined(unix) - int -settranscom(argc, argv) - int argc; - char *argv[]; -{ - int i; - - if (argc == 1 && transcom) { - transcom = 0; - } - if (argc == 1) { - return 1; - } - transcom = tline; - (void) strcpy(transcom, argv[1]); - for (i = 2; i < argc; ++i) { - (void) strcat(transcom, " "); - (void) strcat(transcom, argv[i]); - } - return 1; -} -#endif /* defined(unix) */ - -#endif /* defined(TN3270) */ diff --git a/eBones/usr.bin/telnet/types.h b/eBones/usr.bin/telnet/types.h deleted file mode 100644 index 191d311fd154f..0000000000000 --- a/eBones/usr.bin/telnet/types.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)types.h 8.1 (Berkeley) 6/6/93 - */ - -typedef struct { - char *modedescriptions; - char modetype; -} Modelist; - -extern Modelist modelist[]; - -typedef struct { - int - system, /* what the current time is */ - echotoggle, /* last time user entered echo character */ - modenegotiated, /* last time operating mode negotiated */ - didnetreceive, /* last time we read data from network */ - gotDM; /* when did we last see a data mark */ -} Clocks; - -extern Clocks clocks; diff --git a/eBones/usr.bin/telnet/utilities.c b/eBones/usr.bin/telnet/utilities.c deleted file mode 100644 index 0ee882ebd87c4..0000000000000 --- a/eBones/usr.bin/telnet/utilities.c +++ /dev/null @@ -1,946 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static const char sccsid[] = "@(#)utilities.c 8.3 (Berkeley) 5/30/95"; -#endif /* not lint */ - -#define TELOPTS -#define TELCMDS -#define SLC_NAMES -#include <arpa/telnet.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <sys/time.h> -#include <unistd.h> - -#include <ctype.h> - -#include "general.h" - -#include "fdset.h" - -#include "ring.h" - -#include "defines.h" - -#include "externs.h" - -#if defined(AUTHENTICATION) -#include <libtelnet/auth.h> -#endif -#if defined(ENCRYPTION) -#include <libtelnet/encrypt.h> -#endif - -FILE *NetTrace = 0; /* Not in bss, since needs to stay */ -int prettydump; - -/* - * upcase() - * - * Upcase (in place) the argument. - */ - - void -upcase(argument) - register char *argument; -{ - register int c; - - while ((c = *argument) != 0) { - if (islower(c)) { - *argument = toupper(c); - } - argument++; - } -} - -/* - * SetSockOpt() - * - * Compensate for differences in 4.2 and 4.3 systems. - */ - - int -SetSockOpt(fd, level, option, yesno) - int fd, level, option, yesno; -{ -#ifndef NOT43 - return setsockopt(fd, level, option, - (char *)&yesno, sizeof yesno); -#else /* NOT43 */ - if (yesno == 0) { /* Can't do that in 4.2! */ - fprintf(stderr, "Error: attempt to turn off an option 0x%x.\n", - option); - return -1; - } - return setsockopt(fd, level, option, 0, 0); -#endif /* NOT43 */ -} - -/* - * The following are routines used to print out debugging information. - */ - -unsigned char NetTraceFile[256] = "(standard output)"; - - void -SetNetTrace(file) - register char *file; -{ - if (NetTrace && NetTrace != stdout) - fclose(NetTrace); - if (file && (strcmp(file, "-") != 0)) { - NetTrace = fopen(file, "w"); - if (NetTrace) { - strcpy((char *)NetTraceFile, file); - return; - } - fprintf(stderr, "Cannot open %s.\n", file); - } - NetTrace = stdout; - strcpy((char *)NetTraceFile, "(standard output)"); -} - - void -Dump(direction, buffer, length) - char direction; - unsigned char *buffer; - int length; -{ -# define BYTES_PER_LINE 32 -# define min(x,y) ((x<y)? x:y) - unsigned char *pThis; - int offset; - - offset = 0; - - while (length) { - /* print one line */ - fprintf(NetTrace, "%c 0x%x\t", direction, offset); - pThis = buffer; - if (prettydump) { - buffer = buffer + min(length, BYTES_PER_LINE/2); - while (pThis < buffer) { - fprintf(NetTrace, "%c%.2x", - (((*pThis)&0xff) == 0xff) ? '*' : ' ', - (*pThis)&0xff); - pThis++; - } - length -= BYTES_PER_LINE/2; - offset += BYTES_PER_LINE/2; - } else { - buffer = buffer + min(length, BYTES_PER_LINE); - while (pThis < buffer) { - fprintf(NetTrace, "%.2x", (*pThis)&0xff); - pThis++; - } - length -= BYTES_PER_LINE; - offset += BYTES_PER_LINE; - } - if (NetTrace == stdout) { - fprintf(NetTrace, "\r\n"); - } else { - fprintf(NetTrace, "\n"); - } - if (length < 0) { - fflush(NetTrace); - return; - } - /* find next unique line */ - } - fflush(NetTrace); -} - - - void -printoption(direction, cmd, option) - char *direction; - int cmd, option; -{ - if (!showoptions) - return; - if (cmd == IAC) { - if (TELCMD_OK(option)) - fprintf(NetTrace, "%s IAC %s", direction, TELCMD(option)); - else - fprintf(NetTrace, "%s IAC %d", direction, option); - } else { - register char *fmt; - fmt = (cmd == WILL) ? "WILL" : (cmd == WONT) ? "WONT" : - (cmd == DO) ? "DO" : (cmd == DONT) ? "DONT" : 0; - if (fmt) { - fprintf(NetTrace, "%s %s ", direction, fmt); - if (TELOPT_OK(option)) - fprintf(NetTrace, "%s", TELOPT(option)); - else if (option == TELOPT_EXOPL) - fprintf(NetTrace, "EXOPL"); - else - fprintf(NetTrace, "%d", option); - } else - fprintf(NetTrace, "%s %d %d", direction, cmd, option); - } - if (NetTrace == stdout) { - fprintf(NetTrace, "\r\n"); - fflush(NetTrace); - } else { - fprintf(NetTrace, "\n"); - } - return; -} - - void -optionstatus() -{ - register int i; - extern char will_wont_resp[], do_dont_resp[]; - - for (i = 0; i < 256; i++) { - if (do_dont_resp[i]) { - if (TELOPT_OK(i)) - printf("resp DO_DONT %s: %d\n", TELOPT(i), do_dont_resp[i]); - else if (TELCMD_OK(i)) - printf("resp DO_DONT %s: %d\n", TELCMD(i), do_dont_resp[i]); - else - printf("resp DO_DONT %d: %d\n", i, - do_dont_resp[i]); - if (my_want_state_is_do(i)) { - if (TELOPT_OK(i)) - printf("want DO %s\n", TELOPT(i)); - else if (TELCMD_OK(i)) - printf("want DO %s\n", TELCMD(i)); - else - printf("want DO %d\n", i); - } else { - if (TELOPT_OK(i)) - printf("want DONT %s\n", TELOPT(i)); - else if (TELCMD_OK(i)) - printf("want DONT %s\n", TELCMD(i)); - else - printf("want DONT %d\n", i); - } - } else { - if (my_state_is_do(i)) { - if (TELOPT_OK(i)) - printf(" DO %s\n", TELOPT(i)); - else if (TELCMD_OK(i)) - printf(" DO %s\n", TELCMD(i)); - else - printf(" DO %d\n", i); - } - } - if (will_wont_resp[i]) { - if (TELOPT_OK(i)) - printf("resp WILL_WONT %s: %d\n", TELOPT(i), will_wont_resp[i]); - else if (TELCMD_OK(i)) - printf("resp WILL_WONT %s: %d\n", TELCMD(i), will_wont_resp[i]); - else - printf("resp WILL_WONT %d: %d\n", - i, will_wont_resp[i]); - if (my_want_state_is_will(i)) { - if (TELOPT_OK(i)) - printf("want WILL %s\n", TELOPT(i)); - else if (TELCMD_OK(i)) - printf("want WILL %s\n", TELCMD(i)); - else - printf("want WILL %d\n", i); - } else { - if (TELOPT_OK(i)) - printf("want WONT %s\n", TELOPT(i)); - else if (TELCMD_OK(i)) - printf("want WONT %s\n", TELCMD(i)); - else - printf("want WONT %d\n", i); - } - } else { - if (my_state_is_will(i)) { - if (TELOPT_OK(i)) - printf(" WILL %s\n", TELOPT(i)); - else if (TELCMD_OK(i)) - printf(" WILL %s\n", TELCMD(i)); - else - printf(" WILL %d\n", i); - } - } - } - -} - - void -printsub(direction, pointer, length) - char direction; /* '<' or '>' */ - unsigned char *pointer; /* where suboption data sits */ - int length; /* length of suboption data */ -{ - register int i; - char buf[512]; - extern int want_status_response; - - if (showoptions || direction == 0 || - (want_status_response && (pointer[0] == TELOPT_STATUS))) { - if (direction) { - fprintf(NetTrace, "%s IAC SB ", - (direction == '<')? "RCVD":"SENT"); - if (length >= 3) { - register int j; - - i = pointer[length-2]; - j = pointer[length-1]; - - if (i != IAC || j != SE) { - fprintf(NetTrace, "(terminated by "); - if (TELOPT_OK(i)) - fprintf(NetTrace, "%s ", TELOPT(i)); - else if (TELCMD_OK(i)) - fprintf(NetTrace, "%s ", TELCMD(i)); - else - fprintf(NetTrace, "%d ", i); - if (TELOPT_OK(j)) - fprintf(NetTrace, "%s", TELOPT(j)); - else if (TELCMD_OK(j)) - fprintf(NetTrace, "%s", TELCMD(j)); - else - fprintf(NetTrace, "%d", j); - fprintf(NetTrace, ", not IAC SE!) "); - } - } - length -= 2; - } - if (length < 1) { - fprintf(NetTrace, "(Empty suboption??\?)"); - if (NetTrace == stdout) - fflush(NetTrace); - return; - } - switch (pointer[0]) { - case TELOPT_TTYPE: - fprintf(NetTrace, "TERMINAL-TYPE "); - switch (pointer[1]) { - case TELQUAL_IS: - fprintf(NetTrace, "IS \"%.*s\"", length-2, (char *)pointer+2); - break; - case TELQUAL_SEND: - fprintf(NetTrace, "SEND"); - break; - default: - fprintf(NetTrace, - "- unknown qualifier %d (0x%x).", - pointer[1], pointer[1]); - } - break; - case TELOPT_TSPEED: - fprintf(NetTrace, "TERMINAL-SPEED"); - if (length < 2) { - fprintf(NetTrace, " (empty suboption??\?)"); - break; - } - switch (pointer[1]) { - case TELQUAL_IS: - fprintf(NetTrace, " IS "); - fprintf(NetTrace, "%.*s", length-2, (char *)pointer+2); - break; - default: - if (pointer[1] == 1) - fprintf(NetTrace, " SEND"); - else - fprintf(NetTrace, " %d (unknown)", pointer[1]); - for (i = 2; i < length; i++) - fprintf(NetTrace, " ?%d?", pointer[i]); - break; - } - break; - - case TELOPT_LFLOW: - fprintf(NetTrace, "TOGGLE-FLOW-CONTROL"); - if (length < 2) { - fprintf(NetTrace, " (empty suboption??\?)"); - break; - } - switch (pointer[1]) { - case LFLOW_OFF: - fprintf(NetTrace, " OFF"); break; - case LFLOW_ON: - fprintf(NetTrace, " ON"); break; - case LFLOW_RESTART_ANY: - fprintf(NetTrace, " RESTART-ANY"); break; - case LFLOW_RESTART_XON: - fprintf(NetTrace, " RESTART-XON"); break; - default: - fprintf(NetTrace, " %d (unknown)", pointer[1]); - } - for (i = 2; i < length; i++) - fprintf(NetTrace, " ?%d?", pointer[i]); - break; - - case TELOPT_NAWS: - fprintf(NetTrace, "NAWS"); - if (length < 2) { - fprintf(NetTrace, " (empty suboption??\?)"); - break; - } - if (length == 2) { - fprintf(NetTrace, " ?%d?", pointer[1]); - break; - } - fprintf(NetTrace, " %d %d (%d)", - pointer[1], pointer[2], - (int)((((unsigned int)pointer[1])<<8)|((unsigned int)pointer[2]))); - if (length == 4) { - fprintf(NetTrace, " ?%d?", pointer[3]); - break; - } - fprintf(NetTrace, " %d %d (%d)", - pointer[3], pointer[4], - (int)((((unsigned int)pointer[3])<<8)|((unsigned int)pointer[4]))); - for (i = 5; i < length; i++) - fprintf(NetTrace, " ?%d?", pointer[i]); - break; - -#if defined(AUTHENTICATION) - case TELOPT_AUTHENTICATION: - fprintf(NetTrace, "AUTHENTICATION"); - if (length < 2) { - fprintf(NetTrace, " (empty suboption??\?)"); - break; - } - switch (pointer[1]) { - case TELQUAL_REPLY: - case TELQUAL_IS: - fprintf(NetTrace, " %s ", (pointer[1] == TELQUAL_IS) ? - "IS" : "REPLY"); - if (AUTHTYPE_NAME_OK(pointer[2])) - fprintf(NetTrace, "%s ", AUTHTYPE_NAME(pointer[2])); - else - fprintf(NetTrace, "%d ", pointer[2]); - if (length < 3) { - fprintf(NetTrace, "(partial suboption??\?)"); - break; - } - fprintf(NetTrace, "%s|%s", - ((pointer[3] & AUTH_WHO_MASK) == AUTH_WHO_CLIENT) ? - "CLIENT" : "SERVER", - ((pointer[3] & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) ? - "MUTUAL" : "ONE-WAY"); - - auth_printsub(&pointer[1], length - 1, buf, sizeof(buf)); - fprintf(NetTrace, "%s", buf); - break; - - case TELQUAL_SEND: - i = 2; - fprintf(NetTrace, " SEND "); - while (i < length) { - if (AUTHTYPE_NAME_OK(pointer[i])) - fprintf(NetTrace, "%s ", AUTHTYPE_NAME(pointer[i])); - else - fprintf(NetTrace, "%d ", pointer[i]); - if (++i >= length) { - fprintf(NetTrace, "(partial suboption??\?)"); - break; - } - fprintf(NetTrace, "%s|%s ", - ((pointer[i] & AUTH_WHO_MASK) == AUTH_WHO_CLIENT) ? - "CLIENT" : "SERVER", - ((pointer[i] & AUTH_HOW_MASK) == AUTH_HOW_MUTUAL) ? - "MUTUAL" : "ONE-WAY"); - ++i; - } - break; - - case TELQUAL_NAME: - i = 2; - fprintf(NetTrace, " NAME \""); - while (i < length) - putc(pointer[i++], NetTrace); - putc('"', NetTrace); - break; - - default: - for (i = 2; i < length; i++) - fprintf(NetTrace, " ?%d?", pointer[i]); - break; - } - break; -#endif - -#ifdef ENCRYPTION - case TELOPT_ENCRYPT: - fprintf(NetTrace, "ENCRYPT"); - if (length < 2) { - fprintf(NetTrace, " (empty suboption??\?)"); - break; - } - switch (pointer[1]) { - case ENCRYPT_START: - fprintf(NetTrace, " START"); - break; - - case ENCRYPT_END: - fprintf(NetTrace, " END"); - break; - - case ENCRYPT_REQSTART: - fprintf(NetTrace, " REQUEST-START"); - break; - - case ENCRYPT_REQEND: - fprintf(NetTrace, " REQUEST-END"); - break; - - case ENCRYPT_IS: - case ENCRYPT_REPLY: - fprintf(NetTrace, " %s ", (pointer[1] == ENCRYPT_IS) ? - "IS" : "REPLY"); - if (length < 3) { - fprintf(NetTrace, " (partial suboption??\?)"); - break; - } - if (ENCTYPE_NAME_OK(pointer[2])) - fprintf(NetTrace, "%s ", ENCTYPE_NAME(pointer[2])); - else - fprintf(NetTrace, " %d (unknown)", pointer[2]); - - encrypt_printsub(&pointer[1], length - 1, buf, sizeof(buf)); - fprintf(NetTrace, "%s", buf); - break; - - case ENCRYPT_SUPPORT: - i = 2; - fprintf(NetTrace, " SUPPORT "); - while (i < length) { - if (ENCTYPE_NAME_OK(pointer[i])) - fprintf(NetTrace, "%s ", ENCTYPE_NAME(pointer[i])); - else - fprintf(NetTrace, "%d ", pointer[i]); - i++; - } - break; - - case ENCRYPT_ENC_KEYID: - fprintf(NetTrace, " ENC_KEYID "); - goto encommon; - - case ENCRYPT_DEC_KEYID: - fprintf(NetTrace, " DEC_KEYID "); - goto encommon; - - default: - fprintf(NetTrace, " %d (unknown)", pointer[1]); - encommon: - for (i = 2; i < length; i++) - fprintf(NetTrace, " %d", pointer[i]); - break; - } - break; -#endif /* ENCRYPTION */ - - case TELOPT_LINEMODE: - fprintf(NetTrace, "LINEMODE "); - if (length < 2) { - fprintf(NetTrace, " (empty suboption??\?)"); - break; - } - switch (pointer[1]) { - case WILL: - fprintf(NetTrace, "WILL "); - goto common; - case WONT: - fprintf(NetTrace, "WONT "); - goto common; - case DO: - fprintf(NetTrace, "DO "); - goto common; - case DONT: - fprintf(NetTrace, "DONT "); - common: - if (length < 3) { - fprintf(NetTrace, "(no option??\?)"); - break; - } - switch (pointer[2]) { - case LM_FORWARDMASK: - fprintf(NetTrace, "Forward Mask"); - for (i = 3; i < length; i++) - fprintf(NetTrace, " %x", pointer[i]); - break; - default: - fprintf(NetTrace, "%d (unknown)", pointer[2]); - for (i = 3; i < length; i++) - fprintf(NetTrace, " %d", pointer[i]); - break; - } - break; - - case LM_SLC: - fprintf(NetTrace, "SLC"); - for (i = 2; i < length - 2; i += 3) { - if (SLC_NAME_OK(pointer[i+SLC_FUNC])) - fprintf(NetTrace, " %s", SLC_NAME(pointer[i+SLC_FUNC])); - else - fprintf(NetTrace, " %d", pointer[i+SLC_FUNC]); - switch (pointer[i+SLC_FLAGS]&SLC_LEVELBITS) { - case SLC_NOSUPPORT: - fprintf(NetTrace, " NOSUPPORT"); break; - case SLC_CANTCHANGE: - fprintf(NetTrace, " CANTCHANGE"); break; - case SLC_VARIABLE: - fprintf(NetTrace, " VARIABLE"); break; - case SLC_DEFAULT: - fprintf(NetTrace, " DEFAULT"); break; - } - fprintf(NetTrace, "%s%s%s", - pointer[i+SLC_FLAGS]&SLC_ACK ? "|ACK" : "", - pointer[i+SLC_FLAGS]&SLC_FLUSHIN ? "|FLUSHIN" : "", - pointer[i+SLC_FLAGS]&SLC_FLUSHOUT ? "|FLUSHOUT" : ""); - if (pointer[i+SLC_FLAGS]& ~(SLC_ACK|SLC_FLUSHIN| - SLC_FLUSHOUT| SLC_LEVELBITS)) - fprintf(NetTrace, "(0x%x)", pointer[i+SLC_FLAGS]); - fprintf(NetTrace, " %d;", pointer[i+SLC_VALUE]); - if ((pointer[i+SLC_VALUE] == IAC) && - (pointer[i+SLC_VALUE+1] == IAC)) - i++; - } - for (; i < length; i++) - fprintf(NetTrace, " ?%d?", pointer[i]); - break; - - case LM_MODE: - fprintf(NetTrace, "MODE "); - if (length < 3) { - fprintf(NetTrace, "(no mode??\?)"); - break; - } - { - char tbuf[64]; - sprintf(tbuf, "%s%s%s%s%s", - pointer[2]&MODE_EDIT ? "|EDIT" : "", - pointer[2]&MODE_TRAPSIG ? "|TRAPSIG" : "", - pointer[2]&MODE_SOFT_TAB ? "|SOFT_TAB" : "", - pointer[2]&MODE_LIT_ECHO ? "|LIT_ECHO" : "", - pointer[2]&MODE_ACK ? "|ACK" : ""); - fprintf(NetTrace, "%s", tbuf[1] ? &tbuf[1] : "0"); - } - if (pointer[2]&~(MODE_MASK)) - fprintf(NetTrace, " (0x%x)", pointer[2]); - for (i = 3; i < length; i++) - fprintf(NetTrace, " ?0x%x?", pointer[i]); - break; - default: - fprintf(NetTrace, "%d (unknown)", pointer[1]); - for (i = 2; i < length; i++) - fprintf(NetTrace, " %d", pointer[i]); - } - break; - - case TELOPT_STATUS: { - register char *cp; - register int j, k; - - fprintf(NetTrace, "STATUS"); - - switch (pointer[1]) { - default: - if (pointer[1] == TELQUAL_SEND) - fprintf(NetTrace, " SEND"); - else - fprintf(NetTrace, " %d (unknown)", pointer[1]); - for (i = 2; i < length; i++) - fprintf(NetTrace, " ?%d?", pointer[i]); - break; - case TELQUAL_IS: - if (--want_status_response < 0) - want_status_response = 0; - if (NetTrace == stdout) - fprintf(NetTrace, " IS\r\n"); - else - fprintf(NetTrace, " IS\n"); - - for (i = 2; i < length; i++) { - switch(pointer[i]) { - case DO: cp = "DO"; goto common2; - case DONT: cp = "DONT"; goto common2; - case WILL: cp = "WILL"; goto common2; - case WONT: cp = "WONT"; goto common2; - common2: - i++; - if (TELOPT_OK((int)pointer[i])) - fprintf(NetTrace, " %s %s", cp, TELOPT(pointer[i])); - else - fprintf(NetTrace, " %s %d", cp, pointer[i]); - - if (NetTrace == stdout) - fprintf(NetTrace, "\r\n"); - else - fprintf(NetTrace, "\n"); - break; - - case SB: - fprintf(NetTrace, " SB "); - i++; - j = k = i; - while (j < length) { - if (pointer[j] == SE) { - if (j+1 == length) - break; - if (pointer[j+1] == SE) - j++; - else - break; - } - pointer[k++] = pointer[j++]; - } - printsub(0, &pointer[i], k - i); - if (i < length) { - fprintf(NetTrace, " SE"); - i = j; - } else - i = j - 1; - - if (NetTrace == stdout) - fprintf(NetTrace, "\r\n"); - else - fprintf(NetTrace, "\n"); - - break; - - default: - fprintf(NetTrace, " %d", pointer[i]); - break; - } - } - break; - } - break; - } - - case TELOPT_XDISPLOC: - fprintf(NetTrace, "X-DISPLAY-LOCATION "); - switch (pointer[1]) { - case TELQUAL_IS: - fprintf(NetTrace, "IS \"%.*s\"", length-2, (char *)pointer+2); - break; - case TELQUAL_SEND: - fprintf(NetTrace, "SEND"); - break; - default: - fprintf(NetTrace, "- unknown qualifier %d (0x%x).", - pointer[1], pointer[1]); - } - break; - - case TELOPT_NEW_ENVIRON: - fprintf(NetTrace, "NEW-ENVIRON "); -#ifdef OLD_ENVIRON - goto env_common1; - case TELOPT_OLD_ENVIRON: - fprintf(NetTrace, "OLD-ENVIRON"); - env_common1: -#endif - switch (pointer[1]) { - case TELQUAL_IS: - fprintf(NetTrace, "IS "); - goto env_common; - case TELQUAL_SEND: - fprintf(NetTrace, "SEND "); - goto env_common; - case TELQUAL_INFO: - fprintf(NetTrace, "INFO "); - env_common: - { - register int noquote = 2; -#if defined(ENV_HACK) && defined(OLD_ENVIRON) - extern int old_env_var, old_env_value; -#endif - for (i = 2; i < length; i++ ) { - switch (pointer[i]) { - case NEW_ENV_VALUE: -#ifdef OLD_ENVIRON - /* case NEW_ENV_OVAR: */ - if (pointer[0] == TELOPT_OLD_ENVIRON) { -# ifdef ENV_HACK - if (old_env_var == OLD_ENV_VALUE) - fprintf(NetTrace, "\" (VALUE) " + noquote); - else -# endif - fprintf(NetTrace, "\" VAR " + noquote); - } else -#endif /* OLD_ENVIRON */ - fprintf(NetTrace, "\" VALUE " + noquote); - noquote = 2; - break; - - case NEW_ENV_VAR: -#ifdef OLD_ENVIRON - /* case OLD_ENV_VALUE: */ - if (pointer[0] == TELOPT_OLD_ENVIRON) { -# ifdef ENV_HACK - if (old_env_value == OLD_ENV_VAR) - fprintf(NetTrace, "\" (VAR) " + noquote); - else -# endif - fprintf(NetTrace, "\" VALUE " + noquote); - } else -#endif /* OLD_ENVIRON */ - fprintf(NetTrace, "\" VAR " + noquote); - noquote = 2; - break; - - case ENV_ESC: - fprintf(NetTrace, "\" ESC " + noquote); - noquote = 2; - break; - - case ENV_USERVAR: - fprintf(NetTrace, "\" USERVAR " + noquote); - noquote = 2; - break; - - default: - if (isprint(pointer[i]) && pointer[i] != '"') { - if (noquote) { - putc('"', NetTrace); - noquote = 0; - } - putc(pointer[i], NetTrace); - } else { - fprintf(NetTrace, "\" %03o " + noquote, - pointer[i]); - noquote = 2; - } - break; - } - } - if (!noquote) - putc('"', NetTrace); - break; - } - } - break; - - default: - if (TELOPT_OK(pointer[0])) - fprintf(NetTrace, "%s (unknown)", TELOPT(pointer[0])); - else - fprintf(NetTrace, "%d (unknown)", pointer[0]); - for (i = 1; i < length; i++) - fprintf(NetTrace, " %d", pointer[i]); - break; - } - if (direction) { - if (NetTrace == stdout) - fprintf(NetTrace, "\r\n"); - else - fprintf(NetTrace, "\n"); - } - if (NetTrace == stdout) - fflush(NetTrace); - } -} - -/* EmptyTerminal - called to make sure that the terminal buffer is empty. - * Note that we consider the buffer to run all the - * way to the kernel (thus the select). - */ - - void -EmptyTerminal() -{ -#if defined(unix) - fd_set o; - - FD_ZERO(&o); -#endif /* defined(unix) */ - - if (TTYBYTES() == 0) { -#if defined(unix) - FD_SET(tout, &o); - (void) select(tout+1, (fd_set *) 0, &o, (fd_set *) 0, - (struct timeval *) 0); /* wait for TTLOWAT */ -#endif /* defined(unix) */ - } else { - while (TTYBYTES()) { - (void) ttyflush(0); -#if defined(unix) - FD_SET(tout, &o); - (void) select(tout+1, (fd_set *) 0, &o, (fd_set *) 0, - (struct timeval *) 0); /* wait for TTLOWAT */ -#endif /* defined(unix) */ - } - } -} - - void -SetForExit() -{ - setconnmode(0); -#if defined(TN3270) - if (In3270) { - Finish3270(); - } -#else /* defined(TN3270) */ - do { - (void)telrcv(); /* Process any incoming data */ - EmptyTerminal(); - } while (ring_full_count(&netiring)); /* While there is any */ -#endif /* defined(TN3270) */ - setcommandmode(); - fflush(stdout); - fflush(stderr); -#if defined(TN3270) - if (In3270) { - StopScreen(1); - } -#endif /* defined(TN3270) */ - setconnmode(0); - EmptyTerminal(); /* Flush the path to the tty */ - setcommandmode(); -} - - void -Exit(returnCode) - int returnCode; -{ - SetForExit(); - exit(returnCode); -} - - void -ExitString(string, returnCode) - char *string; - int returnCode; -{ - SetForExit(); - fwrite(string, 1, strlen(string), stderr); - exit(returnCode); -} diff --git a/eBones/usr.sbin/Makefile b/eBones/usr.sbin/Makefile deleted file mode 100644 index f37c844d7434a..0000000000000 --- a/eBones/usr.sbin/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.1 1995/09/13 17:24:15 markm Exp $ - -SUBDIR= ext_srvtab fix_kdb_keys kadmind kdb_destroy kdb_edit kdb_init \ - kdb_util kerberos kprop ksrvutil kstash make_keypair - -.include <bsd.subdir.mk> diff --git a/eBones/usr.sbin/Makefile.inc b/eBones/usr.sbin/Makefile.inc deleted file mode 100644 index a3ace61925937..0000000000000 --- a/eBones/usr.sbin/Makefile.inc +++ /dev/null @@ -1,5 +0,0 @@ -# @(#)Makefile.inc 8.1 (Berkeley) 6/6/93 - -BINDIR?= /usr/sbin - -.include "../Makefile.inc" diff --git a/eBones/usr.sbin/ext_srvtab/Makefile b/eBones/usr.sbin/ext_srvtab/Makefile deleted file mode 100644 index 0808f85a73d90..0000000000000 --- a/eBones/usr.sbin/ext_srvtab/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.5 1995/09/14 04:09:34 gibbs Exp $ - -PROG= ext_srvtab -CFLAGS+=-DKERBEROS -DPADD= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD+= -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN8= ext_srvtab.8 - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/ext_srvtab/ext_srvtab.8 b/eBones/usr.sbin/ext_srvtab/ext_srvtab.8 deleted file mode 100644 index 565c3a37f4b8e..0000000000000 --- a/eBones/usr.sbin/ext_srvtab/ext_srvtab.8 +++ /dev/null @@ -1,62 +0,0 @@ -.\" from: ext_srvtab.8,v 4.2 89/07/18 16:53:18 jtkohl Exp $ -.\" $Id: ext_srvtab.8,v 1.1.1.1 1994/09/30 14:50:05 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH EXT_SRVTAB 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -ext_srvtab \- extract service key files from Kerberos key distribution center database -.SH SYNOPSIS -ext_srvtab [ -.B \-n -] [ -.B \-r realm -] [ -.B hostname ... -] -.SH DESCRIPTION -.I ext_srvtab -extracts service key files from the Kerberos key distribution center -(KDC) database. -.PP -Upon execution, it prompts the user to enter the master key string for -the database. If the -.B \-n -option is specified, the master key is instead fetched from the master -key cache file. -.PP -For each -.I hostname -specified on the command line, -.I ext_srvtab -creates the service key file -.IR hostname -new-srvtab, -containing all the entries in the database with an instance field of -.I hostname. -This new file contains all the keys registered for Kerberos-mediated -service providing programs which use the -.IR krb_get_phost (3) -principal and instance conventions to run on the host -.IR hostname . -If the -.B \-r -option is specified, the realm fields in the extracted file will -match the given realm rather than the local realm. -.SH DIAGNOSTICS -.TP 20n -"verify_master_key: Invalid master key, does not match database." -The master key string entered was incorrect. -.SH FILES -.TP 20n -/etc/kerberosIV/principal.db -DBM file containing database -.TP -/etc/kerberosIV/principal.ok -Semaphore indicating that the DBM database is not being modified. -.TP -/etc/kerberosIV/master_key -Master key cache file. -.SH SEE ALSO -read_service_key(3), krb_get_phost(3) diff --git a/eBones/usr.sbin/ext_srvtab/ext_srvtab.c b/eBones/usr.sbin/ext_srvtab/ext_srvtab.c deleted file mode 100644 index 6f250138cf940..0000000000000 --- a/eBones/usr.sbin/ext_srvtab/ext_srvtab.c +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * - * from: ext_srvtab.c,v 4.1 89/07/18 16:49:30 jtkohl Exp $ - * $Id: ext_srvtab.c,v 1.3 1995/07/18 16:35:55 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: ext_srvtab.c,v 1.3 1995/07/18 16:35:55 mark Exp $"; -#endif lint -#endif - -#include <stdio.h> -#include <string.h> -#include <sys/file.h> -#include <sys/types.h> -#include <sys/time.h> -#include <sys/stat.h> -#include <sys/wait.h> -#include <signal.h> -#include <des.h> -#include <krb.h> -#include <krb_db.h> - -#define TRUE 1 -#define FALSE 0 - -static C_Block master_key; -static C_Block session_key; -static Key_schedule master_key_schedule; -char progname[] = "ext_srvtab"; -char realm[REALM_SZ]; - -void FWrite(char *p, int size, int n, FILE *f); -void StampOutSecrets(void); -void usage(void); - -int -main(argc, argv) - int argc; - char *argv[]; -{ - FILE *fout; - char fname[1024]; - int fopen_errs = 0; - int arg; - Principal princs[40]; - int more; - int prompt = TRUE; - register int n, i; - - bzero(realm, sizeof(realm)); - - /* Parse commandline arguments */ - if (argc < 2) - usage(); - else { - for (i = 1; i < argc; i++) { - if (strcmp(argv[i], "-n") == 0) - prompt = FALSE; - else if (strcmp(argv[i], "-r") == 0) { - if (++i >= argc) - usage(); - else { - strcpy(realm, argv[i]); - /* - * This is to humor the broken way commandline - * argument parsing is done. Later, this - * program ignores everything that starts with -. - */ - argv[i][0] = '-'; - } - } - else if (argv[i][0] == '-') - usage(); - else - if (!k_isinst(argv[i])) { - fprintf(stderr, "%s: bad instance name: %s\n", - progname, argv[i]); - usage(); - } - } - } - - if (kdb_get_master_key (prompt, master_key, master_key_schedule) != 0) { - fprintf (stderr, "Couldn't read master key.\n"); - fflush (stderr); - exit(1); - } - - if (kdb_verify_master_key (master_key, master_key_schedule, stderr) < 0) { - exit(1); - } - - /* For each arg, search for instances of arg, and produce */ - /* srvtab file */ - if (!realm[0]) - if (krb_get_lrealm(realm, 1) != KSUCCESS) { - fprintf(stderr, "%s: couldn't get local realm\n", progname); - exit(1); - } - (void) umask(077); - - for (arg = 1; arg < argc; arg++) { - if (argv[arg][0] == '-') - continue; - sprintf(fname, "%s-new-srvtab", argv[arg]); - if ((fout = fopen(fname, "w")) == NULL) { - fprintf(stderr, "Couldn't create file '%s'.\n", fname); - fopen_errs++; - continue; - } - printf("Generating '%s'....\n", fname); - n = kerb_get_principal("*", argv[arg], &princs[0], 40, &more); - if (more) - fprintf(stderr, "More than 40 found...\n"); - for (i = 0; i < n; i++) { - FWrite(princs[i].name, strlen(princs[i].name) + 1, 1, fout); - FWrite(princs[i].instance, strlen(princs[i].instance) + 1, - 1, fout); - FWrite(realm, strlen(realm) + 1, 1, fout); - FWrite(&princs[i].key_version, - sizeof(princs[i].key_version), 1, fout); - bcopy(&princs[i].key_low, session_key, sizeof(long)); - bcopy(&princs[i].key_high, session_key + sizeof(long), - sizeof(long)); - kdb_encrypt_key (session_key, session_key, - master_key, master_key_schedule, DES_DECRYPT); - FWrite(session_key, sizeof session_key, 1, fout); - } - fclose(fout); - } - - StampOutSecrets(); - - exit(fopen_errs); /* 0 errors if successful */ - -} - -void -Die() -{ - StampOutSecrets(); - exit(1); -} - -void -FWrite(p, size, n, f) - char *p; - int size; - int n; - FILE *f; -{ - if (fwrite(p, size, n, f) != n) { - printf("Error writing output file. Terminating.\n"); - Die(); - } -} - -void -StampOutSecrets() -{ - bzero(master_key, sizeof master_key); - bzero(session_key, sizeof session_key); - bzero(master_key_schedule, sizeof master_key_schedule); -} - -void -usage() -{ - fprintf(stderr, - "Usage: %s [-n] [-r realm] instance [instance ...]\n", progname); - exit(1); -} diff --git a/eBones/usr.sbin/fix_kdb_keys/Makefile b/eBones/usr.sbin/fix_kdb_keys/Makefile deleted file mode 100644 index d02d6943a76ab..0000000000000 --- a/eBones/usr.sbin/fix_kdb_keys/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.2 (Berkeley) 3/5/91 -# $Id: Makefile,v 1.1 1996/02/21 21:39:54 ache Exp $ - -PROG= fix_kdb_keys -CFLAGS+=-DKERBEROS -DDEBUG -DPADD= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD= -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN8= fix_kdb_keys.8 - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/fix_kdb_keys/fix_kdb_keys.8 b/eBones/usr.sbin/fix_kdb_keys/fix_kdb_keys.8 deleted file mode 100644 index 4bc4d623fc0ac..0000000000000 --- a/eBones/usr.sbin/fix_kdb_keys/fix_kdb_keys.8 +++ /dev/null @@ -1,59 +0,0 @@ -.\" $Id$ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH FIX_KDB_KEYS 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -fix_kdb_keys \- Secure Kerberos database by properly randomising keys -.SH SYNOPSIS -fix_kdb_keys -.SH DESCRIPTION -If you built your Kerberos database before receiving this distribution, -the keys were randomly generated using the vulnerable version of -the Kerberos random number generator. Therefore it is possible for -an attacker to mount an attack to guess these values. If an attacker -can determine the key for the -.I krbtgt -ticket, they can construct tickets claiming to be any Kerberos -principal. Similarly if an attacker can obtain the -.I changepw.kerberos -key, they can change anyone's password. -.PP -This distribution has been patched to use the improved -.IR des_new_random_key() -routines instead of the old and cryptographically suspect -.IR des_random_key(). -.PP -The primary difference is that -.IR des_random_key() -uses a seeding -technique which is predictable and therefore vulnerable. While -.IR des_new_random_key() -uses a feedback mechanism based on the Data Encryption Standard -(DES) and is seeded with a secret (and therefore unknown to an -attacker) value. This value is the secret database master key. -.PP -Running -.I fix_kdb_keys -on the KDC server will change these critical keys to new -values using the newer random number generator. IMPORTANT: When this -is done, all outstanding ticket granting tickets will -immediately become invalid. This will be disruptive to your user -community. It is recommended that this is done late at night or early -in the morning before most users have logged in. Alternatively -pre-announce a definitive time when you will run the program and -inform the users that they will have to get new tickets at that time -(using either -.I kinit -or simply by logging out and then in again). -.SH DIAGNOSTICS -Many, and descriptive. -.SH FILES -.TP 20n -/etc/kerberosIV/principal.db -DBM file containing database -.TP -/etc/kerberosIV/master_key -Master key cache file. diff --git a/eBones/usr.sbin/fix_kdb_keys/fix_kdb_keys.c b/eBones/usr.sbin/fix_kdb_keys/fix_kdb_keys.c deleted file mode 100644 index 3719e784c854b..0000000000000 --- a/eBones/usr.sbin/fix_kdb_keys/fix_kdb_keys.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - * $Source: /afs/net/project/krb4/src/admin/RCS/kdb_edit.c,v $ - * $Author: tytso $ - * - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * - * For copying and distribution information, please see the file - * <mit-copyright.h>. - * - * This routine changes the Kerberos encryption keys for principals, - * i.e., users or services. - */ - -/* - * exit returns 0 ==> success -1 ==> error - */ - -#include <stdio.h> -#include <signal.h> -#include <errno.h> -#include <string.h> -#include <sys/types.h> -#include <sys/ioctl.h> -#include <sys/file.h> - -#ifdef NEED_TIME_H -#include <time.h> -#endif -#include <sys/time.h> - -#include <des.h> -#include <krb.h> -#include <krb_db.h> -/* MKEYFILE is now defined in kdc.h */ -#include <kdc.h> - -char prog[32]; -char *progname = prog; -int nflag = 0; -int debug = 0; -extern int krb_debug; - -Principal principal_data; - -static C_Block master_key; -static Key_schedule master_key_schedule; -static long master_key_version; - -static char realm[REALM_SZ]; - -void fatal_error(), cleanup(); -void Usage(); -void change_principal(); - -int main(argc, argv) - int argc; - char *argv[]; -{ - int i; - - prog[sizeof prog - 1] = '\0'; /* make sure terminated */ - strncpy(prog, argv[0], sizeof prog - 1); /* salt away invoking - * program */ - - /* Assume a long is four bytes */ - if (sizeof(long) != 4) { - fprintf(stderr, "%s: size of long is %d.\n", prog, sizeof(long)); - exit(-1); - } - while (--argc > 0 && (*++argv)[0] == '-') - for (i = 1; argv[0][i] != '\0'; i++) { - switch (argv[0][i]) { - - /* debug flag */ - case 'd': - debug = 1; - continue; - - /* debug flag */ - case 'l': - krb_debug |= 1; - continue; - - case 'n': /* read MKEYFILE for master key */ - nflag = 1; - continue; - - default: - fprintf(stderr, "%s: illegal flag \"%c\"\n", progname, argv[0][i]); - Usage(); /* Give message and die */ - } - }; - - if (krb_get_lrealm(realm, 1)) { - fprintf(stderr, "Couldn't get local realm information.\n"); - fatal_error(); - } - - kerb_init(); - if (argc > 0) { - if (kerb_db_set_name(*argv) != 0) { - fprintf(stderr, "Could not open altername database name\n"); - fatal_error(); - } - } - - if (kdb_get_master_key ((nflag == 0), - master_key, master_key_schedule) != 0) { - fprintf (stderr, "Couldn't read master key.\n"); - fatal_error(); - } - - if ((master_key_version = kdb_verify_master_key(master_key, - master_key_schedule, - stdout)) < 0) - fatal_error(); - - des_init_random_number_generator(master_key); - - change_principal("krbtgt", realm); - change_principal("changepw", KRB_MASTER); - - cleanup(); - - printf("\nKerberos database updated successfully. Note that all\n"); - printf("existing ticket-granting tickets have been invalidated.\n\n"); - - return(0); -} - -void change_principal(input_name, input_instance) - char *input_name; - char *input_instance; -{ - int n, more; - C_Block new_key; - - n = kerb_get_principal(input_name, input_instance, &principal_data, - 1, &more); - if (!n) { - fprintf(stderr, "Can't find principal database for %s.%s.\n", - input_name, input_instance); - fatal_error(); - } - if (more) { - fprintf(stderr, "More than one entry for %s.%s.\n", input_name, - input_instance); - fatal_error(); - } - - des_new_random_key(new_key); - - /* seal it under the kerberos master key */ - kdb_encrypt_key (new_key, new_key, - master_key, master_key_schedule, - ENCRYPT); - memcpy(&principal_data.key_low, new_key, 4); - memcpy(&principal_data.key_high, ((long *) new_key) + 1, 4); - memset(new_key, 0, sizeof(new_key)); - - principal_data.key_version++; - - if (kerb_put_principal(&principal_data, 1)) { - fprintf(stderr, "\nError updating Kerberos database"); - fatal_error(); - } - - memset(&principal_data.key_low, 0, 4); - memset(&principal_data.key_high, 0, 4); -} - -void fatal_error() -{ - cleanup(); - exit(1); -} - -void cleanup() -{ - - memset(master_key, 0, sizeof(master_key)); - memset(master_key_schedule, 0, sizeof(master_key_schedule)); - memset(&principal_data, 0, sizeof(principal_data)); -} - -void Usage() -{ - fprintf(stderr, "Usage: %s [-n]\n", progname); - exit(1); -} diff --git a/eBones/usr.sbin/kadmind/Makefile b/eBones/usr.sbin/kadmind/Makefile deleted file mode 100644 index 6a746660d69f6..0000000000000 --- a/eBones/usr.sbin/kadmind/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# $Id$ - -PROG= kadmind -SRCS= admin_server.c kadm_funcs.c kadm_ser_wrap.c kadm_server.c -CFLAGS+=-DPOSIX -I${.CURDIR}/../../lib/libkadm -I${KADMOBJDIR} -I${KRBOBJDIR} -DKERBEROS -DPADD= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD+= -L${KADMOBJDIR} -lkadm -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb \ - -L${DESOBJDIR} -ldes -L${ACLOBJDIR} -lacl -lcom_err -MAN8= kadmind.8 - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/kadmind/admin_server.c b/eBones/usr.sbin/kadmind/admin_server.c deleted file mode 100644 index 72980d434ab17..0000000000000 --- a/eBones/usr.sbin/kadmind/admin_server.c +++ /dev/null @@ -1,474 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * Top-level loop of the kerberos Administration server - */ - -#if 0 -#ifndef lint -static char rcsid_admin_server_c[] = -"Id: admin_server.c,v 4.8 90/01/02 13:50:38 jtkohl Exp "; -static const char rcsid[] = - "$Id"; -#endif lint -#endif - -/* - admin_server.c - this holds the main loop and initialization and cleanup code for the server -*/ - -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <sys/types.h> -#include <signal.h> -#ifndef sigmask -#define sigmask(m) (1 <<((m)-1)) -#endif -#include <sys/wait.h> -#include <errno.h> -#include <sys/socket.h> -#include <syslog.h> -#include <com_err.h> -#include <kadm.h> -#include <kadm_err.h> -#include <krb_db.h> -#include "kadm_server.h" - -/* Almost all procs and such need this, so it is global */ -admin_params prm; /* The command line parameters struct */ - -char prog[32]; /* WHY IS THIS NEEDED??????? */ -char *progname = prog; -char *acldir = DEFAULT_ACL_DIR; -char krbrlm[REALM_SZ]; -extern Kadm_Server server_parm; - -void cleanexit(int val); -void process_client(int fd, struct sockaddr_in *who); -void kill_children(void); -static void clear_secrets(void); -void byebye(void); -void close_syslog(void); -int kadm_listen(void); - -/* -** Main does the logical thing, it sets up the database and RPC interface, -** as well as handling the creation and maintenance of the syslog file... -*/ -void -main(argc, argv) /* admin_server main routine */ -int argc; -char *argv[]; -{ - int errval; - int c; - extern char *optarg; - - prog[sizeof(prog)-1]='\0'; /* Terminate... */ - (void) strncpy(prog, argv[0], sizeof(prog)-1); - - /* initialize the admin_params structure */ - prm.sysfile = KADM_SYSLOG; /* default file name */ - prm.inter = 1; - - bzero(krbrlm, sizeof(krbrlm)); - - while ((c = getopt(argc, argv, "f:hnd:a:r:")) != EOF) - switch(c) { - case 'f': /* Syslog file name change */ - prm.sysfile = optarg; - break; - case 'n': - prm.inter = 0; - break; - case 'a': /* new acl directory */ - acldir = optarg; - break; - case 'd': - /* put code to deal with alt database place */ - if ((errval = kerb_db_set_name(optarg))) { - fprintf(stderr, "opening database %s: %s", - optarg, error_message(errval)); - exit(1); - } - break; - case 'r': - (void) strncpy(krbrlm, optarg, sizeof(krbrlm) - 1); - break; - case 'h': /* get help on using admin_server */ - default: - printf("Usage: admin_server [-h] [-n] [-r realm] [-d dbname] [-f filename] [-a acldir]\n"); - exit(-1); /* failure */ - } - - if (krbrlm[0] == 0) - if (krb_get_lrealm(krbrlm, 0) != KSUCCESS) { - fprintf(stderr, - "Unable to get local realm. Fix krb.conf or use -r.\n"); - exit(1); - } - - printf("KADM Server %s initializing\n",KADM_VERSTR); - printf("Please do not use 'kill -9' to kill this job, use a\n"); - printf("regular kill instead\n\n"); - - set_logfile(prm.sysfile); - log("Admin server starting"); - - (void) kerb_db_set_lockmode(KERB_DBL_NONBLOCKING); - errval = kerb_init(); /* Open the Kerberos database */ - if (errval) { - fprintf(stderr, "error: kerb_init() failed"); - close_syslog(); - byebye(); - } - /* set up the server_parm struct */ - if ((errval = kadm_ser_init(prm.inter, krbrlm))==KADM_SUCCESS) { - kerb_fini(); /* Close the Kerberos database-- - will re-open later */ - errval = kadm_listen(); /* listen for calls to server from - clients */ - } - if (errval != KADM_SUCCESS) { - fprintf(stderr,"error: %s\n",error_message(errval)); - kerb_fini(); /* Close if error */ - } - close_syslog(); /* Close syslog file, print - closing note */ - byebye(); /* Say bye bye on the terminal - in use */ -} /* procedure main */ - - -/* close the system log file */ -void -close_syslog() -{ - log("Shutting down admin server"); -} - -void -byebye() /* say goodnight gracie */ -{ - printf("Admin Server (kadm server) has completed operation.\n"); -} - -static void -clear_secrets() -{ - bzero((char *)server_parm.master_key, sizeof(server_parm.master_key)); - bzero((char *)server_parm.master_key_schedule, - sizeof(server_parm.master_key_schedule)); - server_parm.master_key_version = 0L; -} - -static exit_now = 0; - -sigtype -doexit() -{ - exit_now = 1; -#ifdef POSIX - return; -#else /* !POSIX */ - return(0); -#endif /* POSIX */ -} - -unsigned pidarraysize = 0; -int *pidarray = (int *)0; - -/* -kadm_listen -listen on the admin servers port for a request -*/ -int -kadm_listen() -{ - extern int errno; - int found; - int admin_fd; - int peer_fd; - fd_set mask, readfds; - struct sockaddr_in peer; - int addrlen; - int pid; - sigtype do_child(); - - (void) signal(SIGINT, doexit); - (void) signal(SIGTERM, doexit); - (void) signal(SIGHUP, doexit); - (void) signal(SIGQUIT, doexit); - (void) signal(SIGPIPE, SIG_IGN); /* get errors on write() */ - (void) signal(SIGALRM, doexit); - (void) signal(SIGCHLD, do_child); - - if ((admin_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) - return KADM_NO_SOCK; - if (bind(admin_fd, (struct sockaddr *)&server_parm.admin_addr, - sizeof(struct sockaddr_in)) < 0) - return KADM_NO_BIND; - (void) listen(admin_fd, 1); - FD_ZERO(&mask); - FD_SET(admin_fd, &mask); - - for (;;) { /* loop nearly forever */ - if (exit_now) { - clear_secrets(); - kill_children(); - return(0); - } - readfds = mask; - if ((found = select(admin_fd+1,&readfds,(fd_set *)0, - (fd_set *)0, (struct timeval *)0)) == 0) - continue; /* no things read */ - if (found < 0) { - if (errno != EINTR) - log("select: %s",error_message(errno)); - continue; - } - if (FD_ISSET(admin_fd, &readfds)) { - /* accept the conn */ - addrlen = sizeof(peer); - if ((peer_fd = accept(admin_fd, (struct sockaddr *)&peer, - &addrlen)) < 0) { - log("accept: %s",error_message(errno)); - continue; - } - addrlen = sizeof(server_parm.admin_addr); - if (getsockname(peer_fd, (struct sockaddr *)&server_parm.admin_addr, - &addrlen)) { - log("getsockname: %s",error_message(errno)); - continue; - } -#ifdef DEBUG - printf("Connection recieved on %s\n", - inet_ntoa(server_parm.admin_addr.sin_addr)); -#endif /* DEBUG */ -#ifndef DEBUG - /* if you want a sep daemon for each server */ - if ((pid = fork())) { - /* parent */ - if (pid < 0) { - log("fork: %s",error_message(errno)); - (void) close(peer_fd); - continue; - } - /* fork succeded: keep tabs on child */ - (void) close(peer_fd); - if (pidarray) { - pidarray = (int *)realloc((char *)pidarray, ++pidarraysize); - pidarray[pidarraysize-1] = pid; - } else { - pidarray = (int *)malloc(pidarraysize = 1); - pidarray[0] = pid; - } - } else { - /* child */ - (void) close(admin_fd); -#endif /* DEBUG */ - /* do stuff */ - process_client (peer_fd, &peer); -#ifndef DEBUG - } -#endif - } else { - log("something else woke me up!"); - return(0); - } - } - /*NOTREACHED*/ - return(0); /* Shut -Wall up - markm */ -} - -#ifdef DEBUG -#define cleanexit(code) {kerb_fini(); return;} -#endif - -void -process_client(fd, who) -int fd; -struct sockaddr_in *who; -{ - u_char *dat; - int dat_len; - u_short dlen; - int retval; - int on = 1; - Principal service; - des_cblock skey; - int more; - int status; - - if (setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof(on)) < 0) - log("setsockopt keepalive: %d",errno); - - server_parm.recv_addr = *who; - - if (kerb_init()) { /* Open as client */ - log("can't open krb db"); - cleanexit(1); - } - /* need to set service key to changepw.KRB_MASTER */ - - status = kerb_get_principal(server_parm.sname, server_parm.sinst, &service, - 1, &more); - if (status == -1) { - /* db locked */ - u_long retcode = KADM_DB_INUSE; - char *pdat; - - dat_len = KADM_VERSIZE + sizeof(u_long); - dat = (u_char *) malloc((unsigned)dat_len); - pdat = (char *) dat; - retcode = htonl((u_long) KADM_DB_INUSE); - (void) strncpy(pdat, KADM_ULOSE, KADM_VERSIZE); - bcopy((char *)&retcode, &pdat[KADM_VERSIZE], sizeof(u_long)); - goto out; - } else if (!status) { - log("no service %s.%s",server_parm.sname, server_parm.sinst); - cleanexit(2); - } - - bcopy((char *)&service.key_low, (char *)skey, 4); - bcopy((char *)&service.key_high, (char *)(((long *) skey) + 1), 4); - bzero((char *)&service, sizeof(service)); - kdb_encrypt_key (skey, skey, server_parm.master_key, - server_parm.master_key_schedule, DECRYPT); - (void) krb_set_key((char *)skey, 0); /* if error, will show up when - rd_req fails */ - bzero((char *)skey, sizeof(skey)); - - while (1) { - if ((retval = krb_net_read(fd, (char *)&dlen, sizeof(u_short))) != - sizeof(u_short)) { - if (retval < 0) - log("dlen read: %s",error_message(errno)); - else if (retval) - log("short dlen read: %d",retval); - (void) close(fd); - cleanexit(retval ? 3 : 0); - } - if (exit_now) { - cleanexit(0); - } - dat_len = (int) ntohs(dlen); - dat = (u_char *) malloc((unsigned)dat_len); - if (!dat) { - log("malloc: No memory"); - (void) close(fd); - cleanexit(4); - } - if ((retval = krb_net_read(fd, (char *)dat, dat_len)) != dat_len) { - if (retval < 0) - log("data read: %s",error_message(errno)); - else - log("short read: %d vs. %d", dat_len, retval); - (void) close(fd); - cleanexit(5); - } - if (exit_now) { - cleanexit(0); - } - if ((retval = kadm_ser_in(&dat,&dat_len)) != KADM_SUCCESS) - log("processing request: %s", error_message(retval)); - - /* kadm_ser_in did the processing and returned stuff in - dat & dat_len , return the appropriate data */ - - out: - dlen = (u_short) dat_len; - - if (dat_len != (int)dlen) { - clear_secrets(); - abort(); /* XXX */ - } - dlen = htons(dlen); - - if (krb_net_write(fd, (char *)&dlen, sizeof(u_short)) < 0) { - log("writing dlen to client: %s",error_message(errno)); - (void) close(fd); - cleanexit(6); - } - - if (krb_net_write(fd, (char *)dat, dat_len) < 0) { - log(LOG_ERR, "writing to client: %s",error_message(errno)); - (void) close(fd); - cleanexit(7); - } - free((char *)dat); - } - /*NOTREACHED*/ -} - -sigtype -do_child() -{ - /* SIGCHLD brings us here */ - int pid; - register int i, j; - -#ifdef POSIX - int status; -#else - union wait status; -#endif - - pid = wait(&status); - - for (i = 0; i < pidarraysize; i++) - if (pidarray[i] == pid) { - /* found it */ - for (j = i; j < pidarraysize-1; j++) - /* copy others down */ - pidarray[j] = pidarray[j+1]; - pidarraysize--; - if (WEXITSTATUS(status) || WCOREDUMP(status) || WIFSIGNALED(status)) - log("child %d: termsig %d, coredump %d, retcode %d", pid, - WTERMSIG(status), WCOREDUMP(status), WEXITSTATUS(status)); -#ifdef POSIX - return; -#else /* !POSIX */ - return(0); -#endif /* POSIX */ - } - log("child %d not in list: termsig %d, coredump %d, retcode %d", pid, - WTERMSIG(status), WCOREDUMP(status), WEXITSTATUS(status)); -#ifdef POSIX - return; -#else /* !POSIX */ - return(0); -#endif /* POSIX */ -} - -#ifndef DEBUG -void -cleanexit(val) - int val; -{ - kerb_fini(); - clear_secrets(); - exit(val); -} -#endif - -void -kill_children() -{ - register int i; - int osigmask; - - osigmask = sigblock(sigmask(SIGCHLD)); - - for (i = 0; i < pidarraysize; i++) { - kill(pidarray[i], SIGINT); - log("killing child %d", pidarray[i]); - } - sigsetmask(osigmask); - return; -} diff --git a/eBones/usr.sbin/kadmind/kadm_funcs.c b/eBones/usr.sbin/kadmind/kadm_funcs.c deleted file mode 100644 index 47dd4b405f62e..0000000000000 --- a/eBones/usr.sbin/kadmind/kadm_funcs.c +++ /dev/null @@ -1,381 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT - * - * Kerberos administration server-side database manipulation routines - */ - -#if 0 -#ifndef lint -static char rcsid_kadm_funcs_c[] = -"Id: kadm_funcs.c,v 4.3 90/03/20 01:39:51 jon Exp "; -static const char rcsid[] = - "$Id$"; -#endif lint -#endif - -/* -kadm_funcs.c -the actual database manipulation code -*/ - -#include <stdio.h> -#include <string.h> -#include <com_err.h> -#include <sys/param.h> -#include <kadm.h> -#include <kadm_err.h> -#include <krb_db.h> -#include "kadm_server.h" - -extern Kadm_Server server_parm; - -int -check_access(pname, pinst, prealm, acltype) -char *pname; -char *pinst; -char *prealm; -enum acl_types acltype; -{ - char checkname[MAX_K_NAME_SZ]; - char filename[MAXPATHLEN]; - extern char *acldir; - - sprintf(checkname, "%s.%s@%s", pname, pinst, prealm); - - switch (acltype) { - case ADDACL: - sprintf(filename, "%s%s", acldir, ADD_ACL_FILE); - break; - case GETACL: - sprintf(filename, "%s%s", acldir, GET_ACL_FILE); - break; - case MODACL: - sprintf(filename, "%s%s", acldir, MOD_ACL_FILE); - break; - } - return(acl_check(filename, checkname)); -} - -int -wildcard(str) -char *str; -{ - if (!strcmp(str, WILDCARD_STR)) - return(1); - return(0); -} - -#define failadd(code) { (void) log("FAILED addding '%s.%s' (%s)", valsin->name, valsin->instance, error_message(code)); return code; } - -int -kadm_add_entry (rname, rinstance, rrealm, valsin, valsout) -char *rname; /* requestors name */ -char *rinstance; /* requestors instance */ -char *rrealm; /* requestors realm */ -Kadm_vals *valsin; -Kadm_vals *valsout; -{ - long numfound; /* check how many we get written */ - int more; /* pointer to more grabbed records */ - Principal data_i, data_o; /* temporary principal */ - u_char flags[4]; - des_cblock newpw; - Principal default_princ; - - if (!check_access(rname, rinstance, rrealm, ADDACL)) { - (void) log("WARNING: '%s.%s@%s' tried to add an entry for '%s.%s'", - rname, rinstance, rrealm, valsin->name, valsin->instance); - return KADM_UNAUTH; - } - - /* Need to check here for "legal" name and instance */ - if (wildcard(valsin->name) || wildcard(valsin->instance)) { - failadd(KADM_ILL_WILDCARD); - } - - (void) log("request to add an entry for '%s.%s' from '%s.%s@%s'", - valsin->name, valsin->instance, rname, rinstance, rrealm); - - numfound = kerb_get_principal(KERB_DEFAULT_NAME, KERB_DEFAULT_INST, - &default_princ, 1, &more); - if (numfound == -1) { - failadd(KADM_DB_INUSE); - } else if (numfound != 1) { - failadd(KADM_UK_RERROR); - } - - kadm_vals_to_prin(valsin->fields, &data_i, valsin); - (void) strncpy(data_i.name, valsin->name, ANAME_SZ); - (void) strncpy(data_i.instance, valsin->instance, INST_SZ); - - if (!IS_FIELD(KADM_EXPDATE,valsin->fields)) - data_i.exp_date = default_princ.exp_date; - if (!IS_FIELD(KADM_ATTR,valsin->fields)) - data_i.attributes = default_princ.attributes; - if (!IS_FIELD(KADM_MAXLIFE,valsin->fields)) - data_i.max_life = default_princ.max_life; - - bzero((char *)&default_princ, sizeof(default_princ)); - - /* convert to host order */ - data_i.key_low = ntohl(data_i.key_low); - data_i.key_high = ntohl(data_i.key_high); - - - bcopy(&data_i.key_low,newpw,4); - bcopy(&data_i.key_high,(char *)(((long *) newpw) + 1),4); - - /* encrypt new key in master key */ - kdb_encrypt_key (newpw, newpw, server_parm.master_key, - server_parm.master_key_schedule, ENCRYPT); - bcopy(newpw,&data_i.key_low,4); - bcopy((char *)(((long *) newpw) + 1), &data_i.key_high,4); - bzero((char *)newpw, sizeof(newpw)); - - data_o = data_i; - numfound = kerb_get_principal(valsin->name, valsin->instance, - &data_o, 1, &more); - if (numfound == -1) { - failadd(KADM_DB_INUSE); - } else if (numfound) { - failadd(KADM_INUSE); - } else { - data_i.key_version++; - data_i.kdc_key_ver = server_parm.master_key_version; - (void) strncpy(data_i.mod_name, rname, sizeof(data_i.mod_name)-1); - (void) strncpy(data_i.mod_instance, rinstance, - sizeof(data_i.mod_instance)-1); - - numfound = kerb_put_principal(&data_i, 1); - if (numfound == -1) { - failadd(KADM_DB_INUSE); - } else if (numfound) { - failadd(KADM_UK_SERROR); - } else { - numfound = kerb_get_principal(valsin->name, valsin->instance, - &data_o, 1, &more); - if ((numfound!=1) || (more!=0)) { - failadd(KADM_UK_RERROR); - } - bzero((char *)flags, sizeof(flags)); - SET_FIELD(KADM_NAME,flags); - SET_FIELD(KADM_INST,flags); - SET_FIELD(KADM_EXPDATE,flags); - SET_FIELD(KADM_ATTR,flags); - SET_FIELD(KADM_MAXLIFE,flags); - kadm_prin_to_vals(flags, valsout, &data_o); - (void) log("'%s.%s' added.", valsin->name, valsin->instance); - return KADM_DATA; /* Set all the appropriate fields */ - } - } -} -#undef failadd - -#define failget(code) { (void) log("FAILED retrieving '%s.%s' (%s)", valsin->name, valsin->instance, error_message(code)); return code; } - -int -kadm_get_entry (rname, rinstance, rrealm, valsin, flags, valsout) -char *rname; /* requestors name */ -char *rinstance; /* requestors instance */ -char *rrealm; /* requestors realm */ -Kadm_vals *valsin; /* what they wannt to get */ -u_char *flags; /* which fields we want */ -Kadm_vals *valsout; /* what data is there */ -{ - long numfound; /* check how many were returned */ - int more; /* To point to more name.instances */ - Principal data_o; /* Data object to hold Principal */ - - - if (!check_access(rname, rinstance, rrealm, GETACL)) { - (void) log("WARNING: '%s.%s@%s' tried to get '%s.%s's entry", - rname, rinstance, rrealm, valsin->name, valsin->instance); - return KADM_UNAUTH; - } - - if (wildcard(valsin->name) || wildcard(valsin->instance)) { - failget(KADM_ILL_WILDCARD); - } - - (void) log("retrieve '%s.%s's entry for '%s.%s@%s'", - valsin->name, valsin->instance, rname, rinstance, rrealm); - - /* Look up the record in the database */ - numfound = kerb_get_principal(valsin->name, valsin->instance, - &data_o, 1, &more); - if (numfound == -1) { - failget(KADM_DB_INUSE); - } else if (numfound) { /* We got the record, let's return it */ - kadm_prin_to_vals(flags, valsout, &data_o); - (void) log("'%s.%s' retrieved.", valsin->name, valsin->instance); - return KADM_DATA; /* Set all the appropriate fields */ - } else { - failget(KADM_NOENTRY); /* Else whimper and moan */ - } -} -#undef failget - -#define failmod(code) { (void) log("FAILED modifying '%s.%s' (%s)", valsin1->name, valsin1->instance, error_message(code)); return code; } - -int -kadm_mod_entry (rname, rinstance, rrealm, valsin1, valsin2, valsout) -char *rname; /* requestors name */ -char *rinstance; /* requestors instance */ -char *rrealm; /* requestors realm */ -Kadm_vals *valsin1, *valsin2; /* holds the parameters being - passed in */ -Kadm_vals *valsout; /* the actual record which is returned */ -{ - long numfound; - int more; - Principal data_o, temp_key; - u_char fields[4]; - des_cblock newpw; - - if (wildcard(valsin1->name) || wildcard(valsin1->instance)) { - failmod(KADM_ILL_WILDCARD); - } - - if (!check_access(rname, rinstance, rrealm, MODACL)) { - (void) log("WARNING: '%s.%s@%s' tried to change '%s.%s's entry", - rname, rinstance, rrealm, valsin1->name, valsin1->instance); - return KADM_UNAUTH; - } - - (void) log("request to modify '%s.%s's entry from '%s.%s@%s' ", - valsin1->name, valsin1->instance, rname, rinstance, rrealm); - - numfound = kerb_get_principal(valsin1->name, valsin1->instance, - &data_o, 1, &more); - if (numfound == -1) { - failmod(KADM_DB_INUSE); - } else if (numfound) { - kadm_vals_to_prin(valsin2->fields, &temp_key, valsin2); - (void) strncpy(data_o.name, valsin1->name, ANAME_SZ); - (void) strncpy(data_o.instance, valsin1->instance, INST_SZ); - if (IS_FIELD(KADM_EXPDATE,valsin2->fields)) - data_o.exp_date = temp_key.exp_date; - if (IS_FIELD(KADM_ATTR,valsin2->fields)) - data_o.attributes = temp_key.attributes; - if (IS_FIELD(KADM_MAXLIFE,valsin2->fields)) - data_o.max_life = temp_key.max_life; - if (IS_FIELD(KADM_DESKEY,valsin2->fields)) { - data_o.key_version++; - data_o.kdc_key_ver = server_parm.master_key_version; - - - /* convert to host order */ - temp_key.key_low = ntohl(temp_key.key_low); - temp_key.key_high = ntohl(temp_key.key_high); - - - bcopy(&temp_key.key_low,newpw,4); - bcopy(&temp_key.key_high,(char *)(((long *) newpw) + 1),4); - - /* encrypt new key in master key */ - kdb_encrypt_key (newpw, newpw, server_parm.master_key, - server_parm.master_key_schedule, ENCRYPT); - bcopy(newpw,&data_o.key_low,4); - bcopy((char *)(((long *) newpw) + 1), &data_o.key_high,4); - bzero((char *)newpw, sizeof(newpw)); - } - bzero((char *)&temp_key, sizeof(temp_key)); - - (void) strncpy(data_o.mod_name, rname, sizeof(data_o.mod_name)-1); - (void) strncpy(data_o.mod_instance, rinstance, - sizeof(data_o.mod_instance)-1); - more = kerb_put_principal(&data_o, 1); - - bzero((char *)&data_o, sizeof(data_o)); - - if (more == -1) { - failmod(KADM_DB_INUSE); - } else if (more) { - failmod(KADM_UK_SERROR); - } else { - numfound = kerb_get_principal(valsin1->name, valsin1->instance, - &data_o, 1, &more); - if ((more!=0)||(numfound!=1)) { - failmod(KADM_UK_RERROR); - } - bzero((char *) fields, sizeof(fields)); - SET_FIELD(KADM_NAME,fields); - SET_FIELD(KADM_INST,fields); - SET_FIELD(KADM_EXPDATE,fields); - SET_FIELD(KADM_ATTR,fields); - SET_FIELD(KADM_MAXLIFE,fields); - kadm_prin_to_vals(fields, valsout, &data_o); - (void) log("'%s.%s' modified.", valsin1->name, valsin1->instance); - return KADM_DATA; /* Set all the appropriate fields */ - } - } - else { - failmod(KADM_NOENTRY); - } -} -#undef failmod - -#define failchange(code) { (void) log("FAILED changing key for '%s.%s@%s' (%s)", rname, rinstance, rrealm, error_message(code)); return code; } - -int -kadm_change (rname, rinstance, rrealm, newpw) -char *rname; -char *rinstance; -char *rrealm; -des_cblock newpw; -{ - long numfound; - int more; - Principal data_o; - des_cblock local_pw; - - if (strcmp(server_parm.krbrlm, rrealm)) { - (void) log("change key request from wrong realm, '%s.%s@%s'!\n", - rname, rinstance, rrealm); - return(KADM_WRONG_REALM); - } - - if (wildcard(rname) || wildcard(rinstance)) { - failchange(KADM_ILL_WILDCARD); - } - (void) log("'%s.%s@%s' wants to change its password", - rname, rinstance, rrealm); - - bcopy(newpw, local_pw, sizeof(local_pw)); - - /* encrypt new key in master key */ - kdb_encrypt_key (local_pw, local_pw, server_parm.master_key, - server_parm.master_key_schedule, ENCRYPT); - - numfound = kerb_get_principal(rname, rinstance, - &data_o, 1, &more); - if (numfound == -1) { - failchange(KADM_DB_INUSE); - } else if (numfound) { - bcopy(local_pw,&data_o.key_low,4); - bcopy((char *)(((long *) local_pw) + 1), &data_o.key_high,4); - data_o.key_version++; - data_o.kdc_key_ver = server_parm.master_key_version; - (void) strncpy(data_o.mod_name, rname, sizeof(data_o.mod_name)-1); - (void) strncpy(data_o.mod_instance, rinstance, - sizeof(data_o.mod_instance)-1); - more = kerb_put_principal(&data_o, 1); - bzero((char *) local_pw, sizeof(local_pw)); - bzero((char *) &data_o, sizeof(data_o)); - if (more == -1) { - failchange(KADM_DB_INUSE); - } else if (more) { - failchange(KADM_UK_SERROR); - } else { - (void) log("'%s.%s@%s' password changed.", rname, rinstance, rrealm); - return KADM_SUCCESS; - } - } - else { - failchange(KADM_NOENTRY); - } -} -#undef failchange diff --git a/eBones/usr.sbin/kadmind/kadm_ser_wrap.c b/eBones/usr.sbin/kadmind/kadm_ser_wrap.c deleted file mode 100644 index 0fa1acefc43a0..0000000000000 --- a/eBones/usr.sbin/kadmind/kadm_ser_wrap.c +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * Kerberos administration server-side support functions - */ - -#if 0 -#ifndef lint -static char rcsid_module_c[] = -"BonesHeader: /afs/athena.mit.edu/astaff/project/kerberos/src/kadmin/RCS/kadm_ser_wrap.c,v 4.4 89/09/26 09:29:36 jtkohl Exp "; -#endif lint -#endif - -/* -kadm_ser_wrap.c -unwraps wrapped packets and calls the appropriate server subroutine -*/ - -#include <unistd.h> -#include <stdio.h> -#include <string.h> -#include <sys/types.h> -#include <netdb.h> -#include <sys/socket.h> -#include <kadm.h> -#include <kadm_err.h> -#include <krb_err.h> -#include "kadm_server.h" - -Kadm_Server server_parm; - -/* -kadm_ser_init -set up the server_parm structure -*/ -int -kadm_ser_init(inter, realm) -int inter; /* interactive or from file */ -char realm[]; -{ - struct servent *sep; - struct hostent *hp; - char hostname[MAXHOSTNAMELEN]; - - init_kadm_err_tbl(); - init_krb_err_tbl(); - if (gethostname(hostname, sizeof(hostname))) - return KADM_NO_HOSTNAME; - - strcpy(server_parm.sname, PWSERV_NAME); - strcpy(server_parm.sinst, KRB_MASTER); - strcpy(server_parm.krbrlm, realm); - - server_parm.admin_fd = -1; - /* setting up the addrs */ - if ((sep = getservbyname(KADM_SNAME, "tcp")) == NULL) - return KADM_NO_SERV; - bzero((char *)&server_parm.admin_addr,sizeof(server_parm.admin_addr)); - server_parm.admin_addr.sin_family = AF_INET; - if ((hp = gethostbyname(hostname)) == NULL) - return KADM_NO_HOSTNAME; - server_parm.admin_addr.sin_addr.s_addr = INADDR_ANY; - server_parm.admin_addr.sin_port = sep->s_port; - /* setting up the database */ - if (kdb_get_master_key((inter==1),server_parm.master_key, - server_parm.master_key_schedule) != 0) - return KADM_NO_MAST; - if ((server_parm.master_key_version = - kdb_verify_master_key(server_parm.master_key, - server_parm.master_key_schedule,stderr))<0) - return KADM_NO_VERI; - return KADM_SUCCESS; -} - -static void -errpkt(dat, dat_len, code) -u_char **dat; -int *dat_len; -int code; -{ - u_long retcode; - char *pdat; - - free((char *)*dat); /* free up req */ - *dat_len = KADM_VERSIZE + sizeof(u_long); - *dat = (u_char *) malloc((unsigned)*dat_len); - pdat = (char *) *dat; - retcode = htonl((u_long) code); - (void) strncpy(pdat, KADM_ULOSE, KADM_VERSIZE); - bcopy((char *)&retcode, &pdat[KADM_VERSIZE], sizeof(u_long)); - return; -} - -/* -kadm_ser_in -unwrap the data stored in dat, process, and return it. -*/ -int -kadm_ser_in(dat,dat_len) -u_char **dat; -int *dat_len; -{ - u_char *in_st; /* pointer into the sent packet */ - int in_len,retc; /* where in packet we are, for - returns */ - u_long r_len; /* length of the actual packet */ - KTEXT_ST authent; /* the authenticator */ - AUTH_DAT ad; /* who is this, klink */ - u_long ncksum; /* checksum of encrypted data */ - des_key_schedule sess_sched; /* our schedule */ - MSG_DAT msg_st; - u_char *retdat, *tmpdat; - int retval, retlen; - - if (strncmp(KADM_VERSTR, (char *)*dat, KADM_VERSIZE)) { - errpkt(dat, dat_len, KADM_BAD_VER); - return KADM_BAD_VER; - } - in_len = KADM_VERSIZE; - /* get the length */ - if ((retc = stv_long(*dat, &r_len, in_len, *dat_len)) < 0) - return KADM_LENGTH_ERROR; - in_len += retc; - authent.length = *dat_len - r_len - KADM_VERSIZE - sizeof(u_long); - bcopy((char *)(*dat) + in_len, (char *)authent.dat, authent.length); - authent.mbz = 0; - /* service key should be set before here */ - if ((retc = krb_rd_req(&authent, server_parm.sname, server_parm.sinst, - server_parm.recv_addr.sin_addr.s_addr, &ad, (char *)0))) - { - errpkt(dat, dat_len,retc + krb_err_base); - return retc + krb_err_base; - } - -#define clr_cli_secrets() {bzero((char *)sess_sched, sizeof(sess_sched)); bzero((char *)ad.session, sizeof(ad.session));} - - in_st = *dat + *dat_len - r_len; -#ifdef NOENCRYPTION - ncksum = 0; -#else - ncksum = quad_cksum((des_cblock *)in_st, (des_cblock *)0, (long) r_len, - 0, (des_cblock *)ad.session); -#endif - if (ncksum!=ad.checksum) { /* yow, are we correct yet */ - clr_cli_secrets(); - errpkt(dat, dat_len,KADM_BAD_CHK); - return KADM_BAD_CHK; - } -#ifdef NOENCRYPTION - bzero(sess_sched, sizeof(sess_sched)); -#else - des_key_sched((des_cblock *)ad.session, sess_sched); -#endif - if ((retc = (int) krb_rd_priv(in_st, r_len, sess_sched, ad.session, - &server_parm.recv_addr, - &server_parm.admin_addr, &msg_st))) { - clr_cli_secrets(); - errpkt(dat, dat_len,retc + krb_err_base); - return retc + krb_err_base; - } - switch (msg_st.app_data[0]) { - case CHANGE_PW: - retval = kadm_ser_cpw(msg_st.app_data+1,(int) msg_st.app_length,&ad, - &retdat, &retlen); - break; - case ADD_ENT: - retval = kadm_ser_add(msg_st.app_data+1,(int) msg_st.app_length,&ad, - &retdat, &retlen); - break; - case GET_ENT: - retval = kadm_ser_get(msg_st.app_data+1,(int) msg_st.app_length,&ad, - &retdat, &retlen); - break; - case MOD_ENT: - retval = kadm_ser_mod(msg_st.app_data+1,(int) msg_st.app_length,&ad, - &retdat, &retlen); - break; - default: - clr_cli_secrets(); - errpkt(dat, dat_len, KADM_NO_OPCODE); - return KADM_NO_OPCODE; - } - /* Now seal the response back into a priv msg */ - free((char *)*dat); - tmpdat = (u_char *) malloc((unsigned)(retlen + KADM_VERSIZE + - sizeof(u_long))); - (void) strncpy((char *)tmpdat, KADM_VERSTR, KADM_VERSIZE); - retval = htonl((u_long)retval); - bcopy((char *)&retval, (char *)tmpdat + KADM_VERSIZE, sizeof(u_long)); - if (retlen) { - bcopy((char *)retdat, (char *)tmpdat + KADM_VERSIZE + sizeof(u_long), - retlen); - free((char *)retdat); - } - /* slop for mk_priv stuff */ - *dat = (u_char *) malloc((unsigned) (retlen + KADM_VERSIZE + - sizeof(u_long) + 200)); - if ((*dat_len = krb_mk_priv(tmpdat, *dat, - (u_long) (retlen + KADM_VERSIZE + - sizeof(u_long)), - sess_sched, - ad.session, &server_parm.admin_addr, - &server_parm.recv_addr)) < 0) { - clr_cli_secrets(); - errpkt(dat, dat_len, KADM_NO_ENCRYPT); - return KADM_NO_ENCRYPT; - } - clr_cli_secrets(); - return KADM_SUCCESS; -} diff --git a/eBones/usr.sbin/kadmind/kadm_server.c b/eBones/usr.sbin/kadmind/kadm_server.c deleted file mode 100644 index c6cbc6ac4e8c1..0000000000000 --- a/eBones/usr.sbin/kadmind/kadm_server.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * Kerberos administration server-side subroutines - */ - -#if 0 -#ifndef lint -static char rcsid_kadm_server_c[] = -"Header: /afs/athena.mit.edu/astaff/project/kerberos/src/kadmin/RCS/kadm_server.c,v 4.2 89/09/26 09:30:23 jtkohl Exp "; -#endif lint -#endif - -#include <string.h> -#include <kadm.h> -#include <kadm_err.h> -#include "kadm_server.h" - -/* -kadm_ser_cpw - the server side of the change_password routine - recieves : KTEXT, {key} - returns : CKSUM, RETCODE - acl : caller can change only own password - -Replaces the password (i.e. des key) of the caller with that specified in key. -Returns no actual data from the master server, since this is called by a user -*/ -int -kadm_ser_cpw(dat, len, ad, datout, outlen) -u_char *dat; -int len; -AUTH_DAT *ad; -u_char **datout; -int *outlen; -{ - unsigned long keylow, keyhigh; - des_cblock newkey; - int stvlen; - - /* take key off the stream, and change the database */ - - if ((stvlen = stv_long(dat, &keyhigh, 0, len)) < 0) - return(KADM_LENGTH_ERROR); - if (stv_long(dat, &keylow, stvlen, len) < 0) - return(KADM_LENGTH_ERROR); - - keylow = ntohl(keylow); - keyhigh = ntohl(keyhigh); - bcopy((char *)&keyhigh, (char *)(((long *)newkey) + 1), 4); - bcopy((char *)&keylow, (char *)newkey, 4); - *datout = 0; - *outlen = 0; - - return(kadm_change(ad->pname, ad->pinst, ad->prealm, newkey)); -} - -/* -kadm_ser_add - the server side of the add_entry routine - recieves : KTEXT, {values} - returns : CKSUM, RETCODE, {values} - acl : su, sms (as alloc) - -Adds and entry containing values to the database -returns the values of the entry, so if you leave certain fields blank you will - be able to determine the default values they are set to -*/ -int -kadm_ser_add(dat,len,ad, datout, outlen) -u_char *dat; -int len; -AUTH_DAT *ad; -u_char **datout; -int *outlen; -{ - Kadm_vals values, retvals; - int status; - - if ((status = stream_to_vals(dat, &values, len)) < 0) - return(KADM_LENGTH_ERROR); - if ((status = kadm_add_entry(ad->pname, ad->pinst, ad->prealm, - &values, &retvals)) == KADM_DATA) { - *outlen = vals_to_stream(&retvals,datout); - return KADM_SUCCESS; - } else { - *outlen = 0; - return status; - } -} - -/* -kadm_ser_mod - the server side of the mod_entry routine - recieves : KTEXT, {values, values} - returns : CKSUM, RETCODE, {values} - acl : su, sms (as register or dealloc) - -Modifies all entries corresponding to the first values so they match the - second values. -returns the values for the changed entries -*/ -int -kadm_ser_mod(dat,len,ad, datout, outlen) -u_char *dat; -int len; -AUTH_DAT *ad; -u_char **datout; -int *outlen; -{ - Kadm_vals vals1, vals2, retvals; - int wh; - int status; - - if ((wh = stream_to_vals(dat, &vals1, len)) < 0) - return KADM_LENGTH_ERROR; - if ((status = stream_to_vals(dat+wh,&vals2, len-wh)) < 0) - return KADM_LENGTH_ERROR; - if ((status = kadm_mod_entry(ad->pname, ad->pinst, ad->prealm, &vals1, - &vals2, &retvals)) == KADM_DATA) { - *outlen = vals_to_stream(&retvals,datout); - return KADM_SUCCESS; - } else { - *outlen = 0; - return status; - } -} - -/* -kadm_ser_get - recieves : KTEXT, {values, flags} - returns : CKSUM, RETCODE, {count, values, values, values} - acl : su - -gets the fields requested by flags from all entries matching values -returns this data for each matching recipient, after a count of how many such - matches there were -*/ -int -kadm_ser_get(dat,len,ad, datout, outlen) -u_char *dat; -int len; -AUTH_DAT *ad; -u_char **datout; -int *outlen; -{ - Kadm_vals values, retvals; - u_char fl[FLDSZ]; - int loop,wh; - int status; - - if ((wh = stream_to_vals(dat, &values, len)) < 0) - return KADM_LENGTH_ERROR; - if (wh + FLDSZ > len) - return KADM_LENGTH_ERROR; - for (loop=FLDSZ-1; loop>=0; loop--) - fl[loop] = dat[wh++]; - if ((status = kadm_get_entry(ad->pname, ad->pinst, ad->prealm, - &values, fl, &retvals)) == KADM_DATA) { - *outlen = vals_to_stream(&retvals,datout); - return KADM_SUCCESS; - } else { - *outlen = 0; - return status; - } -} - diff --git a/eBones/usr.sbin/kadmind/kadm_server.h b/eBones/usr.sbin/kadmind/kadm_server.h deleted file mode 100644 index 1708107029a83..0000000000000 --- a/eBones/usr.sbin/kadmind/kadm_server.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * $Source: /usr/cvs/src/eBones/kadmind/kadm_server.h,v $ - * $Author: mark $ - * Header: /afs/athena.mit.edu/astaff/project/kerberos/src/kadmin/RCS/kadm_server.h,v 4.1 89/12/21 17:46:51 jtkohl Exp - * - * Copyright 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * Definitions for Kerberos administration server & client - */ - -#ifndef KADM_SERVER_DEFS -#define KADM_SERVER_DEFS - -/* - * kadm_server.h - * Header file for the fourth attempt at an admin server - * Doug Church, December 28, 1989, MIT Project Athena - * ps. Yes that means this code belongs to athena etc... - * as part of our ongoing attempt to copyright all greek names - */ - -#include <sys/types.h> -#include <krb.h> -#include <des.h> - -typedef struct { - struct sockaddr_in admin_addr; - struct sockaddr_in recv_addr; - int recv_addr_len; - int admin_fd; /* our link to clients */ - char sname[ANAME_SZ]; - char sinst[INST_SZ]; - char krbrlm[REALM_SZ]; - C_Block master_key; - C_Block session_key; - Key_schedule master_key_schedule; - long master_key_version; -} Kadm_Server; - -/* the default syslog file */ -#define KADM_SYSLOG "/var/log/kadmind.syslog" - -#define DEFAULT_ACL_DIR "/etc/kerberosIV" -#define ADD_ACL_FILE "/admin_acl.add" -#define GET_ACL_FILE "/admin_acl.get" -#define MOD_ACL_FILE "/admin_acl.mod" - -int kadm_ser_in(unsigned char **dat, int *dat_len); -int kadm_ser_init(int inter, char realm[]); -int kadm_ser_cpw(u_char *dat, int len, AUTH_DAT *ad, u_char **datout, - int *outlen); -int kadm_ser_add(u_char *dat, int len, AUTH_DAT *ad, u_char **datout, - int *outlen); -int kadm_ser_mod(u_char *dat, int len, AUTH_DAT *ad, u_char **datout, - int *outlen); -int kadm_ser_get(u_char *dat, int len, AUTH_DAT *ad, u_char **datout, - int *outlen); -int kadm_change (char *rname, char *rinstance, char *rrealm, - des_cblock newpw); -int kadm_add_entry(char *rname, char *rinstance, char *rrealm, - Kadm_vals *valsin, Kadm_vals *valsout); -int kadm_mod_entry(char *rname, char *rinstance, char *rrealm, - Kadm_vals *valsin1, Kadm_vals *valsin2, Kadm_vals *valsout); -int kadm_get_entry(char *rname, char *rinstance, char *rrealm, - Kadm_vals *valsin, u_char *flags, Kadm_vals *valsout); - -#endif KADM_SERVER_DEFS diff --git a/eBones/usr.sbin/kadmind/kadmind.8 b/eBones/usr.sbin/kadmind/kadmind.8 deleted file mode 100644 index 1eb10d7934428..0000000000000 --- a/eBones/usr.sbin/kadmind/kadmind.8 +++ /dev/null @@ -1,117 +0,0 @@ -.\" from: kadmind.8,v 4.1 89/07/25 17:28:33 jtkohl Exp $ -.\" $Id: kadmind.8,v 1.1.1.1 1994/09/30 14:50:06 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KADMIND 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kadmind \- network daemon for Kerberos database administration -.SH SYNOPSIS -.B kadmind -[ -.B \-n -] [ -.B \-h -] [ -.B \-r realm -] [ -.B \-f filename -] [ -.B \-d dbname -] [ -.B \-a acldir -] -.SH DESCRIPTION -.I kadmind -is the network database server for the Kerberos password-changing and -administration tools. -.PP -Upon execution, it prompts the user to enter the master key string for -the database. -.PP -If the -.B \-n -option is specified, the master key is instead fetched from the master -key cache file. -.PP -If the -.B \-r -.I realm -option is specified, the admin server will pretend that its -local realm is -.I realm -instead of the actual local realm of the host it is running on. -This makes it possible to run a server for a foreign kerberos -realm. -.PP -If the -.B \-f -.I filename -option is specified, then that file is used to hold the log information -instead of the default. -.PP -If the -.B \-d -.I dbname -option is specified, then that file is used as the database name instead -of the default. -.PP -If the -.B \-a -.I acldir -option is specified, then -.I acldir -is used as the directory in which to search for access control lists -instead of the default. -.PP -If the -.B \-h -option is specified, -.I kadmind -prints out a short summary of the permissible control arguments, and -then exits. -.PP -When performing requests on behalf of clients, -.I kadmind -checks access control lists (ACLs) to determine the authorization of the client -to perform the requested action. -Currently three distinct access types are supported: -.TP 1i -Addition -(.add ACL file). If a principal is on this list, it may add new -principals to the database. -.TP -Retrieval -(.get ACL file). If a principal is on this list, it may retrieve -database entries. NOTE: A principal's private key is never returned by -the get functions. -.TP -Modification -(.mod ACL file). If a principal is on this list, it may modify entries -in the database. -.PP -A principal is always granted authorization to change its own password. -.SH FILES -.TP 20n -/var/log/kadmind.syslog -Default log file. -.TP -/etc/kerberosIV/admin_acl.{add,get,mod} -Access control list files -.TP -/etc/kerberosIV/principal.db -DBM file containing database -.TP -/etc/kerberosIV/principal.ok -Semaphore indicating that the DBM database is not being modified. -.TP -/etc/kerberosIV/master_key -Master key cache file. -.SH "SEE ALSO" -kerberos(1), kpasswd(1), kadmin(8), acl_check(3) -.SH AUTHORS -Douglas A. Church, MIT Project Athena -.br -John T. Kohl, Project Athena/Digital Equipment Corporation diff --git a/eBones/usr.sbin/kdb_destroy/Makefile b/eBones/usr.sbin/kdb_destroy/Makefile deleted file mode 100644 index f92eb0e2b8e10..0000000000000 --- a/eBones/usr.sbin/kdb_destroy/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.4 1995/09/13 17:24:23 markm Exp $ - -PROG= kdb_destroy -CFLAGS+=-DKERBEROS -DDEBUG -MAN8= kdb_destroy.8 - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/kdb_destroy/kdb_destroy.8 b/eBones/usr.sbin/kdb_destroy/kdb_destroy.8 deleted file mode 100644 index 2e5787603f0bd..0000000000000 --- a/eBones/usr.sbin/kdb_destroy/kdb_destroy.8 +++ /dev/null @@ -1,36 +0,0 @@ -.\" from: kdb_destroy.8,v 4.1 89/01/23 11:08:02 jtkohl Exp $ -.\" $Id: kdb_destroy.8,v 1.1.1.1 1994/09/30 14:50:06 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KDB_DESTROY 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kdb_destroy \- destroy Kerberos key distribution center database -.SH SYNOPSIS -kdb_destroy -.SH DESCRIPTION -.I kdb_destroy -deletes a Kerberos key distribution center database. -.PP -The user is prompted to verify that the database should be destroyed. A -response beginning with `y' or `Y' confirms deletion. -Any other response aborts deletion. -.SH DIAGNOSTICS -.TP 20n -"Database cannot be deleted at /kerberos/principal" -The attempt to delete the database failed (probably due to a system or -access permission error). -.TP -"Database not deleted." -The user aborted the deletion. -.SH FILES -.TP 20n -/etc/kerberosIV/principal.db -DBM file containing database -.TP -/etc/kerberosIV/principal.ok -Semaphore indicating that the DBM database is not being modified. -.SH SEE ALSO -kdb_init(8) diff --git a/eBones/usr.sbin/kdb_destroy/kdb_destroy.c b/eBones/usr.sbin/kdb_destroy/kdb_destroy.c deleted file mode 100644 index 57e1a80a6b9c9..0000000000000 --- a/eBones/usr.sbin/kdb_destroy/kdb_destroy.c +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: kdb_destroy.c,v 4.0 89/01/24 21:49:02 jtkohl Exp $ - * $Id: kdb_destroy.c,v 1.5 1995/08/04 06:35:45 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kdb_destroy.c,v 1.5 1995/08/04 06:35:45 mark Exp $"; -#endif lint -#endif - -#include <unistd.h> -#include <strings.h> -#include <stdio.h> -#include <krb.h> -#include <krb_db.h> - -#if defined(__FreeBSD__) || defined(__NetBSD__) -#define _DBM_ -#endif - -void -main() -{ - char answer[10]; /* user input */ -#ifdef _DBM_ - char dbm[256]; /* database path and name */ - char *file; /* database file names */ -#else - char dbm[256]; /* database path and name */ - char dbm1[256]; /* database path and name */ - char *file1, *file2; /* database file names */ -#endif - - strcpy(dbm, DBM_FILE); -#ifdef _DBM_ - file = strcat(dbm, ".db"); -#else - strcpy(dbm1, DBM_FILE); - file1 = strcat(dbm, ".dir"); - file2 = strcat(dbm1, ".pag"); -#endif - - printf("You are about to destroy the Kerberos database "); - printf("on this machine.\n"); - printf("Are you sure you want to do this (y/n)? "); - fgets(answer, sizeof(answer), stdin); - - if (answer[0] == 'y' || answer[0] == 'Y') { -#ifdef _DBM_ - if (unlink(file) == 0) -#else - if (unlink(file1) == 0 && unlink(file2) == 0) -#endif - fprintf(stderr, "Database deleted at %s\n", DBM_FILE); - else - fprintf(stderr, "Database cannot be deleted at %s\n", - DBM_FILE); - } else - fprintf(stderr, "Database not deleted.\n"); -} diff --git a/eBones/usr.sbin/kdb_edit/Makefile b/eBones/usr.sbin/kdb_edit/Makefile deleted file mode 100644 index 34dd94af8a03e..0000000000000 --- a/eBones/usr.sbin/kdb_edit/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# From: @(#)Makefile 5.2 (Berkeley) 2/14/91 -# $Id: Makefile,v 1.5 1995/09/14 04:09:47 gibbs Exp $ - -PROG= kdb_edit -CFLAGS+=-DKERBEROS -DDEBUG -I. -SRCS= kdb_edit.c maketime.c -DPADD= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD= -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN8= kdb_edit.8 - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/kdb_edit/kdb_edit.8 b/eBones/usr.sbin/kdb_edit/kdb_edit.8 deleted file mode 100644 index 44a0fa61ed70d..0000000000000 --- a/eBones/usr.sbin/kdb_edit/kdb_edit.8 +++ /dev/null @@ -1,58 +0,0 @@ -.\" from: kdb_edit.8,v 4.1 89/01/23 11:08:55 jtkohl Exp $ -.\" $Id: kdb_edit.8,v 1.2 1995/02/08 10:54:20 jkh Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KDB_EDIT 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kdb_edit \- Kerberos key distribution center database editing utility -.SH SYNOPSIS -kdb_edit [ -.B \-n -] -.SH DESCRIPTION -.I kdb_edit -is used to create or change principals stored in the Kerberos key -distribution center (KDC) database. -.PP -When executed, -.I kdb_edit -prompts for the master key string and verifies that it matches the -master key stored in the database. -If the -.B \-n -option is specified, the master key is instead fetched from the master -key cache file. -.PP -Once the master key has been verified, -.I kdb_edit -begins a prompt loop. The user is prompted for the principal and -instance to be modified. If the entry is not found the user may create -it. -Once an entry is found or created, the user may set the password, -expiration date, maximum ticket lifetime, and attributes. -Default expiration dates, maximum ticket lifetimes, and attributes are -presented in brackets; if the user presses return the default is selected. -There is no default password. -The password "RANDOM" and an empty password are interpreted specially, -if entered the user may have the program select a random DES key for the -principal. -.PP -Upon successfully creating or changing the entry, ``Edit O.K.'' is -printed. -.SH DIAGNOSTICS -.TP 20n -"verify_master_key: Invalid master key, does not match database." -The master key string entered was incorrect. -.SH FILES -.TP 20n -/etc/kerberosIV/principal.db -DBM file containing database -.TP -/etc/kerberosIV/principal.ok -Semaphore indicating that the DBM database is not being modified. -.TP -/etc/kerberosIV/master_key -Master key cache file. diff --git a/eBones/usr.sbin/kdb_edit/kdb_edit.c b/eBones/usr.sbin/kdb_edit/kdb_edit.c deleted file mode 100644 index 18b36daba2efd..0000000000000 --- a/eBones/usr.sbin/kdb_edit/kdb_edit.c +++ /dev/null @@ -1,480 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * This routine changes the Kerberos encryption keys for principals, - * i.e., users or services. - * - * from: kdb_edit.c,v 4.2 90/01/09 16:05:09 raeburn Exp $ - * $Id$ - */ - -/* - * exit returns 0 ==> success -1 ==> error - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id$"; -#endif lint -#endif - -#include <stdio.h> -#include <signal.h> -#include <errno.h> -#include <strings.h> -#include <sys/ioctl.h> -#include <sys/file.h> -#include "time.h" -#include <des.h> -#include <krb.h> -#include <krb_db.h> -/* MKEYFILE is now defined in kdc.h */ -#include <kdc.h> - -void Usage(void); -void cleanup(void); -void sig_exit(int sig, int code, struct sigcontext *scp); -void no_core_dumps(void); -int change_principal(void); - -#define zaptime(foo) bzero((char *)(foo), sizeof(*(foo))) - -char prog[32]; -char *progname = prog; -int nflag = 0; -int cflag; -int lflag; -int uflag; -int debug; -extern kerb_debug; - -Key_schedule KS; -C_Block new_key; -unsigned char *input; - -unsigned char *ivec; -int i, j; -int more; - -char *in_ptr; -char input_name[ANAME_SZ]; -char input_instance[INST_SZ]; -char input_string[ANAME_SZ]; - -#define MAX_PRINCIPAL 10 -Principal principal_data[MAX_PRINCIPAL]; - -static Principal old_principal; -static Principal default_princ; - -static C_Block master_key; -static C_Block session_key; -static Key_schedule master_key_schedule; -static char pw_str[255]; -static long master_key_version; - -/* - * gets replacement - */ -static char * s_gets(char * str, int len) -{ - int i; - char *s; - - if((s = fgets(str, len, stdin)) == NULL) - return(s); - if(str[i = (strlen(str)-1)] == '\n') - str[i] = '\0'; - return(s); -} - -int -main(argc, argv) - int argc; - char *argv[]; - -{ - /* Local Declarations */ - - long n; - - prog[sizeof prog - 1] = '\0'; /* make sure terminated */ - strncpy(prog, argv[0], sizeof prog - 1); /* salt away invoking - * program */ - - /* Assume a long is four bytes */ - if (sizeof(long) != 4) { - fprintf(stdout, "%s: size of long is %d.\n", prog, sizeof(long)); - exit(-1); - } - /* Assume <=32 signals */ - if (NSIG > 32) { - fprintf(stderr, "%s: more than 32 signals defined.\n", prog); - exit(-1); - } - while (--argc > 0 && (*++argv)[0] == '-') - for (i = 1; argv[0][i] != '\0'; i++) { - switch (argv[0][i]) { - - /* debug flag */ - case 'd': - debug = 1; - continue; - - /* debug flag */ - case 'l': - kerb_debug |= 1; - continue; - - case 'n': /* read MKEYFILE for master key */ - nflag = 1; - continue; - - default: - fprintf(stderr, "%s: illegal flag \"%c\"\n", - progname, argv[0][i]); - Usage(); /* Give message and die */ - } - }; - - fprintf(stdout, "Opening database...\n"); - fflush(stdout); - kerb_init(); - if (argc > 0) { - if (kerb_db_set_name(*argv) != 0) { - fprintf(stderr, "Could not open altername database name\n"); - exit(1); - } - } - -#ifdef notdef - no_core_dumps(); /* diddle signals to avoid core dumps! */ - - /* ignore whatever is reasonable */ - signal(SIGHUP, SIG_IGN); - signal(SIGINT, SIG_IGN); - signal(SIGTSTP, SIG_IGN); - -#endif - - if (kdb_get_master_key ((nflag == 0), - master_key, master_key_schedule) != 0) { - fprintf (stdout, "Couldn't read master key.\n"); - fflush (stdout); - exit (-1); - } - - if ((master_key_version = kdb_verify_master_key(master_key, - master_key_schedule, - stdout)) < 0) - exit (-1); - - des_init_random_number_generator(master_key); - - /* lookup the default values */ - n = kerb_get_principal(KERB_DEFAULT_NAME, KERB_DEFAULT_INST, - &default_princ, 1, &more); - if (n != 1) { - fprintf(stderr, - "%s: Kerberos error on default value lookup, %ld found.\n", - progname, n); - exit(-1); - } - fprintf(stdout, "Previous or default values are in [brackets] ,\n"); - fprintf(stdout, "enter return to leave the same, or new value.\n"); - - while (change_principal()) { - } - - cleanup(); - return(0); /* make -Wall shut up - MRVM */ -} - -int -change_principal() -{ - static char temp[255]; - int creating = 0; - int editpw = 0; - int changed = 0; - long temp_long; - int n; - struct tm *tp, edate, *localtime(); - long maketime(); - - fprintf(stdout, "\nPrincipal name: "); - fflush(stdout); - if (!s_gets(input_name, ANAME_SZ-1) || *input_name == '\0') - return 0; - fprintf(stdout, "Instance: "); - fflush(stdout); - /* instance can be null */ - s_gets(input_instance, INST_SZ-1); - j = kerb_get_principal(input_name, input_instance, principal_data, - MAX_PRINCIPAL, &more); - if (!j) { - fprintf(stdout, "\n\07\07<Not found>, Create [y] ? "); - s_gets(temp, sizeof(temp)-1); /* Default case should work, it didn't */ - if (temp[0] != 'y' && temp[0] != 'Y' && temp[0] != '\0') - return -1; - /* make a new principal, fill in defaults */ - j = 1; - creating = 1; - strcpy(principal_data[0].name, input_name); - strcpy(principal_data[0].instance, input_instance); - principal_data[0].old = NULL; - principal_data[0].exp_date = default_princ.exp_date; - principal_data[0].max_life = default_princ.max_life; - principal_data[0].attributes = default_princ.attributes; - principal_data[0].kdc_key_ver = (unsigned char) master_key_version; - principal_data[0].key_version = 0; /* bumped up later */ - } - tp = localtime(&principal_data[0].exp_date); - (void) sprintf(principal_data[0].exp_date_txt, "%4d-%02d-%02d", - tp->tm_year > 1900 ? tp->tm_year : tp->tm_year + 1900, - tp->tm_mon + 1, tp->tm_mday); /* January is 0, not 1 */ - for (i = 0; i < j; i++) { - for (;;) { - fprintf(stdout, - "\nPrincipal: %s, Instance: %s, kdc_key_ver: %d", - principal_data[i].name, principal_data[i].instance, - principal_data[i].kdc_key_ver); - fflush(stdout); - editpw = 1; - changed = 0; - if (!creating) { - /* - * copy the existing data so we can use the old values - * for the qualifier clause of the replace - */ - principal_data[i].old = (char *) &old_principal; - bcopy(&principal_data[i], &old_principal, - sizeof(old_principal)); - printf("\nChange password [n] ? "); - s_gets(temp, sizeof(temp)-1); - if (strcmp("y", temp) && strcmp("Y", temp)) - editpw = 0; - } - /* password */ - if (editpw) { -#ifdef NOENCRYPTION - placebo_read_pw_string(pw_str, sizeof pw_str, - "\nNew Password: ", TRUE); -#else - des_read_pw_string(pw_str, sizeof pw_str, - "\nNew Password: ", TRUE); -#endif - if (pw_str[0] == '\0' || !strcmp(pw_str, "RANDOM")) { - printf("\nRandom password [y] ? "); - s_gets(temp, sizeof(temp)-1); - if (!strcmp("n", temp) || !strcmp("N", temp)) { - /* no, use literal */ -#ifdef NOENCRYPTION - bzero(new_key, sizeof(C_Block)); - new_key[0] = 127; -#else - string_to_key(pw_str, &new_key); -#endif - bzero(pw_str, sizeof pw_str); /* "RANDOM" */ - } else { -#ifdef NOENCRYPTION - bzero(new_key, sizeof(C_Block)); - new_key[0] = 127; -#else - des_new_random_key(new_key); /* yes, random */ -#endif - bzero(pw_str, sizeof pw_str); - } - } else if (!strcmp(pw_str, "NULL")) { - printf("\nNull Key [y] ? "); - s_gets(temp, sizeof(temp)-1); - if (!strcmp("n", temp) || !strcmp("N", temp)) { - /* no, use literal */ -#ifdef NOENCRYPTION - bzero(new_key, sizeof(C_Block)); - new_key[0] = 127; -#else - string_to_key(pw_str, &new_key); -#endif - bzero(pw_str, sizeof pw_str); /* "NULL" */ - } else { - - principal_data[i].key_low = 0; - principal_data[i].key_high = 0; - goto null_key; - } - } else { -#ifdef NOENCRYPTION - bzero(new_key, sizeof(C_Block)); - new_key[0] = 127; -#else - string_to_key(pw_str, &new_key); -#endif - bzero(pw_str, sizeof pw_str); - } - - /* seal it under the kerberos master key */ - kdb_encrypt_key (new_key, new_key, - master_key, master_key_schedule, - ENCRYPT); - bcopy(new_key, &principal_data[i].key_low, 4); - bcopy(((long *) new_key) + 1, - &principal_data[i].key_high, 4); - bzero(new_key, sizeof(new_key)); - null_key: - /* set master key version */ - principal_data[i].kdc_key_ver = - (unsigned char) master_key_version; - /* bump key version # */ - principal_data[i].key_version++; - fprintf(stdout, - "\nPrincipal's new key version = %d\n", - principal_data[i].key_version); - fflush(stdout); - changed = 1; - } - /* expiration date */ - fprintf(stdout, "Expiration date (enter yyyy-mm-dd) [ %s ] ? ", - principal_data[i].exp_date_txt); - zaptime(&edate); - while (s_gets(temp, sizeof(temp)-1) && ((n = strlen(temp)) > - sizeof(principal_data[0].exp_date_txt))) { - bad_date: - fprintf(stdout, "\07\07Date Invalid\n"); - fprintf(stdout, - "Expiration date (enter yyyy-mm-dd) [ %s ] ? ", - principal_data[i].exp_date_txt); - zaptime(&edate); - } - - if (*temp) { - if (sscanf(temp, "%d-%d-%d", &edate.tm_year, - &edate.tm_mon, &edate.tm_mday) != 3) - goto bad_date; - (void) strcpy(principal_data[i].exp_date_txt, temp); - edate.tm_mon--; /* January is 0, not 1 */ - edate.tm_hour = 23; /* nearly midnight at the end of the */ - edate.tm_min = 59; /* specified day */ - if (!(principal_data[i].exp_date = maketime(&edate, 1))) - goto bad_date; - changed = 1; - } - - /* maximum lifetime */ - fprintf(stdout, "Max ticket lifetime (*5 minutes) [ %d ] ? ", - principal_data[i].max_life); - while (s_gets(temp, sizeof(temp)-1) && *temp) { - if (sscanf(temp, "%ld", &temp_long) != 1) - goto bad_life; - if (temp_long > 255 || (temp_long < 0)) { - bad_life: - fprintf(stdout, "\07\07Invalid, choose 0-255\n"); - fprintf(stdout, - "Max ticket lifetime (*5 minutes) [ %d ] ? ", - principal_data[i].max_life); - continue; - } - changed = 1; - /* dont clobber */ - principal_data[i].max_life = (unsigned short) temp_long; - break; - } - - /* attributes */ - fprintf(stdout, "Attributes [ %d ] ? ", - principal_data[i].attributes); - while (s_gets(temp, sizeof(temp)-1) && *temp) { - if (sscanf(temp, "%ld", &temp_long) != 1) - goto bad_att; - if (temp_long > 65535 || (temp_long < 0)) { - bad_att: - fprintf(stdout, "\07\07Invalid, choose 0-65535\n"); - fprintf(stdout, "Attributes [ %d ] ? ", - principal_data[i].attributes); - continue; - } - changed = 1; - /* dont clobber */ - principal_data[i].attributes = - (unsigned short) temp_long; - break; - } - - /* - * remaining fields -- key versions and mod info, should - * not be directly manipulated - */ - if (changed) { - if (kerb_put_principal(&principal_data[i], 1)) { - fprintf(stdout, - "\nError updating Kerberos database"); - } else { - fprintf(stdout, "Edit O.K."); - } - } else { - fprintf(stdout, "Unchanged"); - } - - - bzero(&principal_data[i].key_low, 4); - bzero(&principal_data[i].key_high, 4); - fflush(stdout); - break; - } - } - if (more) { - fprintf(stdout, "\nThere were more tuples found "); - fprintf(stdout, "than there were space for"); - } - return 1; -} - -void -no_core_dumps() -{ - - signal(SIGQUIT, (sig_t)sig_exit); - signal(SIGILL, (sig_t)sig_exit); - signal(SIGTRAP, (sig_t)sig_exit); - signal(SIGIOT, (sig_t)sig_exit); - signal(SIGEMT, (sig_t)sig_exit); - signal(SIGFPE, (sig_t)sig_exit); - signal(SIGBUS, (sig_t)sig_exit); - signal(SIGSEGV, (sig_t)sig_exit); - signal(SIGSYS, (sig_t)sig_exit); -} - -void -sig_exit(sig, code, scp) - int sig, code; - struct sigcontext *scp; -{ - cleanup(); - fprintf(stderr, - "\nSignal caught, sig = %d code = %d old pc = 0x%X \nexiting", - sig, code, scp->sc_pc); - exit(-1); -} - -void -cleanup() -{ - - bzero(master_key, sizeof(master_key)); - bzero(session_key, sizeof(session_key)); - bzero(master_key_schedule, sizeof(master_key_schedule)); - bzero(principal_data, sizeof(principal_data)); - bzero(new_key, sizeof(new_key)); - bzero(pw_str, sizeof(pw_str)); -} - -void -Usage() -{ - fprintf(stderr, "Usage: %s [-n]\n", progname); - exit(1); -} diff --git a/eBones/usr.sbin/kdb_edit/maketime.c b/eBones/usr.sbin/kdb_edit/maketime.c deleted file mode 100644 index 5e0ee00ee0e4a..0000000000000 --- a/eBones/usr.sbin/kdb_edit/maketime.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 1990 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Convert a struct tm * to a UNIX time. - * - * from: maketime.c,v 4.2 90/01/09 15:54:51 raeburn Exp $ - * $Id: maketime.c,v 1.3 1995/07/18 16:37:29 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: maketime.c,v 1.1 1994/03/21 16:23:54 piero Exp "; -#endif lint -#endif - -#include <sys/time.h> - -#define daysinyear(y) (((y) % 4) ? 365 : (((y) % 100) ? 366 : (((y) % 400) ? 365 : 366))) - -#define SECSPERDAY 24*60*60 -#define SECSPERHOUR 60*60 -#define SECSPERMIN 60 - -static int cumdays[] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, - 365}; - -static int leapyear[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; -static int nonleapyear[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; - -long -maketime(tp, local) -register struct tm *tp; -int local; -{ - register long retval; - int foo; - int *marray; - - if (tp->tm_mon < 0 || tp->tm_mon > 11 || - tp->tm_hour < 0 || tp->tm_hour > 23 || - tp->tm_min < 0 || tp->tm_min > 59 || - tp->tm_sec < 0 || tp->tm_sec > 59) /* out of range */ - return 0; - - retval = 0; - if (tp->tm_year < 1900) - foo = tp->tm_year + 1900; - else - foo = tp->tm_year; - - if (foo < 1901 || foo > 2038) /* year is too small/large */ - return 0; - - if (daysinyear(foo) == 366) { - if (tp->tm_mon > 1) - retval+= SECSPERDAY; /* add leap day */ - marray = leapyear; - } else - marray = nonleapyear; - - if (tp->tm_mday < 0 || tp->tm_mday > marray[tp->tm_mon]) - return 0; /* out of range */ - - while (--foo >= 1970) - retval += daysinyear(foo) * SECSPERDAY; - - retval += cumdays[tp->tm_mon] * SECSPERDAY; - retval += (tp->tm_mday-1) * SECSPERDAY; - retval += tp->tm_hour * SECSPERHOUR + tp->tm_min * SECSPERMIN + tp->tm_sec; - - if (local) { - /* need to use local time, so we retrieve timezone info */ - struct timezone tz; - struct timeval tv; - if (gettimeofday(&tv, &tz) < 0) { - /* some error--give up? */ - return(retval); - } - retval += tz.tz_minuteswest * SECSPERMIN; - } - return(retval); -} diff --git a/eBones/usr.sbin/kdb_edit/time.h b/eBones/usr.sbin/kdb_edit/time.h deleted file mode 100644 index ae84e2e24585e..0000000000000 --- a/eBones/usr.sbin/kdb_edit/time.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Structure for use by time manipulating subroutines. - * The following library routines use it: - * libc: ctime, localtime, gmtime, asctime - * libcx: partime, maketime (may not be installed yet) - */ - -/* - * from: time.h,v 1.1 82/05/06 11:34:29 wft Exp $ - * $Id: time.h,v 1.3 1995/07/18 16:37:31 mark Exp $ - */ - -struct tm { /* See defines below for allowable ranges */ - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - int tm_year; - int tm_wday; - int tm_yday; - int tm_isdst; - int tm_zon; /* NEW: mins westward of Greenwich */ - int tm_ampm; /* NEW: 1 if AM, 2 if PM */ -}; - -#define LCLZONE (5*60) /* Until V7 ftime(2) works, this defines local zone*/ -#define TMNULL (-1) /* Items not specified are given this value - * in order to distinguish null specs from zero - * specs. This is only used by partime and - * maketime. */ - - /* Indices into TM structure */ -#define TM_SEC 0 /* 0-59 */ -#define TM_MIN 1 /* 0-59 */ -#define TM_HOUR 2 /* 0-23 */ -#define TM_MDAY 3 /* 1-31 day of month */ -#define TM_DAY TM_MDAY /* " synonym */ -#define TM_MON 4 /* 0-11 */ -#define TM_YEAR 5 /* (year-1900) (year) */ -#define TM_WDAY 6 /* 0-6 day of week (0 = Sunday) */ -#define TM_YDAY 7 /* 0-365 day of year */ -#define TM_ISDST 8 /* 0 Std, 1 DST */ - /* New stuff */ -#define TM_ZON 9 /* 0-(24*60) minutes west of Greenwich */ -#define TM_AMPM 10 /* 1 AM, 2 PM */ diff --git a/eBones/usr.sbin/kdb_init/Makefile b/eBones/usr.sbin/kdb_init/Makefile deleted file mode 100644 index 71447cae208bd..0000000000000 --- a/eBones/usr.sbin/kdb_init/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.5 1995/09/14 04:09:52 gibbs Exp $ - -PROG= kdb_init -CFLAGS+=-DKERBEROS -DDEBUG -DPADD= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD= -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN8= kdb_init.8 - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/kdb_init/kdb_init.8 b/eBones/usr.sbin/kdb_init/kdb_init.8 deleted file mode 100644 index d884d00b8b282..0000000000000 --- a/eBones/usr.sbin/kdb_init/kdb_init.8 +++ /dev/null @@ -1,45 +0,0 @@ -.\" from: kdb_init.8,v 4.1 89/01/23 11:09:02 jtkohl Exp $ -.\" $Id: kdb_init.8,v 1.1.1.1 1994/09/30 14:50:06 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KDB_INIT 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kdb_init \- Initialize Kerberos key distribution center database -.SH SYNOPSIS -kdb_init [ -.B realm -] -.SH DESCRIPTION -.I kdb_init -initializes a Kerberos key distribution center database, creating the -necessary principals. -.PP -If the optional -.I realm -argument is not present, -.I kdb_init -prompts for a realm name (defaulting to the definition in -/usr/include/kerberosIV/krb.h). -After determining the realm to be created, it prompts for -a master key password. The master key password is used to encrypt -every encryption key stored in the database. -.SH DIAGNOSTICS -.TP 20n -"/etc/kerberosIV/principal: File exists" -An attempt was made to create a database on a machine which already had -an existing database. -.SH FILES -.TP 20n -/etc/kerberosIV/principal.db -DBM file containing database -.TP -/etc/kerberosIV/principal.ok -Semaphore indicating that the DBM database is not being modified. -.TP -/usr/include/kerberosIV/krb.h -Include file defining default realm -.SH SEE ALSO -kdb_destroy(8) diff --git a/eBones/usr.sbin/kdb_init/kdb_init.c b/eBones/usr.sbin/kdb_init/kdb_init.c deleted file mode 100644 index 42d1b1882377a..0000000000000 --- a/eBones/usr.sbin/kdb_init/kdb_init.c +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * program to initialize the database, reports error if database file - * already exists. - * - * from: kdb_init.c,v 4.0 89/01/24 21:50:45 jtkohl Exp $ - * $Id: kdb_init.c,v 1.4 1995/09/07 21:37:20 markm Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kdb_init.c,v 1.4 1995/09/07 21:37:20 markm Exp $"; -#endif lint -#endif - -#include <stdio.h> -#include <sys/types.h> -#include <sys/file.h> -#include <sys/time.h> -#include <des.h> -#include <krb.h> -#include <krb_db.h> -#include <string.h> - -#define TRUE 1 - -enum ap_op { - NULL_KEY, /* setup null keys */ - MASTER_KEY, /* use master key as new key */ - RANDOM_KEY, /* choose a random key */ -}; - -int add_principal(char *name, char *instance, enum ap_op aap_op); - -int debug = 0; -char *progname; -C_Block master_key; -Key_schedule master_key_schedule; - -int -main(argc, argv) - int argc; - char *argv[]; -{ - char realm[REALM_SZ]; - char *cp; - int code; - char *database; - - progname = (cp = rindex(*argv, '/')) ? cp + 1 : *argv; - - if (argc > 3) { - fprintf(stderr, "Usage: %s [realm-name] [database-name]\n", argv[0]); - exit(1); - } - if (argc == 3) { - database = argv[2]; - --argc; - } else - database = DBM_FILE; - - /* Do this first, it'll fail if the database exists */ - if ((code = kerb_db_create(database)) != 0) { - fprintf(stderr, "Couldn't create database: %s\n", - sys_errlist[code]); - exit(1); - } - kerb_db_set_name(database); - - if (argc == 2) - strncpy(realm, argv[1], REALM_SZ); - else { - fprintf(stderr, "Realm name [default %s ]: ", KRB_REALM); - if (fgets(realm, sizeof(realm), stdin) == NULL) { - fprintf(stderr, "\nEOF reading realm\n"); - exit(1); - } - if ((cp = index(realm, '\n'))) - *cp = '\0'; - if (!*realm) /* no realm given */ - strcpy(realm, KRB_REALM); - } - if (!k_isrealm(realm)) { - fprintf(stderr, "%s: Bad kerberos realm name \"%s\"\n", - progname, realm); - exit(1); - } - printf("You will be prompted for the database Master Password.\n"); - printf("It is important that you NOT FORGET this password.\n"); - fflush(stdout); - - if (kdb_get_master_key (TRUE, master_key, master_key_schedule) != 0) { - fprintf (stderr, "Couldn't read master key.\n"); - exit (-1); - } - des_init_random_number_generator(master_key); - - if ( - add_principal(KERB_M_NAME, KERB_M_INST, MASTER_KEY) || - add_principal(KERB_DEFAULT_NAME, KERB_DEFAULT_INST, NULL_KEY) || - add_principal("krbtgt", realm, RANDOM_KEY) || - add_principal("changepw", KRB_MASTER, RANDOM_KEY) - ) { - fprintf(stderr, "\n%s: couldn't initialize database.\n", - progname); - exit(1); - } - - /* play it safe */ - bzero (master_key, sizeof (C_Block)); - bzero (master_key_schedule, sizeof (Key_schedule)); - exit(0); -} - -/* use a return code to indicate success or failure. check the return */ -/* values of the routines called by this routine. */ - -int -add_principal(name, instance, aap_op) - char *name, *instance; - enum ap_op aap_op; -{ - Principal principal; - struct tm *tm; - C_Block new_key; - - bzero(&principal, sizeof(principal)); - strncpy(principal.name, name, ANAME_SZ); - strncpy(principal.instance, instance, INST_SZ); - switch (aap_op) { - case NULL_KEY: - principal.key_low = 0; - principal.key_high = 0; - break; - case RANDOM_KEY: -#ifdef NOENCRYPTION - bzero(new_key, sizeof(C_Block)); - new_key[0] = 127; -#else - des_new_random_key(new_key); -#endif - kdb_encrypt_key (new_key, new_key, master_key, master_key_schedule, - ENCRYPT); - bcopy(new_key, &principal.key_low, 4); - bcopy(((long *) new_key) + 1, &principal.key_high, 4); - break; - case MASTER_KEY: - bcopy (master_key, new_key, sizeof (C_Block)); - kdb_encrypt_key (new_key, new_key, master_key, master_key_schedule, - ENCRYPT); - bcopy(new_key, &principal.key_low, 4); - bcopy(((long *) new_key) + 1, &principal.key_high, 4); - break; - } - principal.exp_date = 946702799; /* Happy new century */ - strncpy(principal.exp_date_txt, "12/31/99", DATE_SZ); - principal.mod_date = time(0); - - tm = localtime(&principal.mod_date); - principal.attributes = 0; - principal.max_life = 255; - - principal.kdc_key_ver = 1; - principal.key_version = 1; - - strncpy(principal.mod_name, "db_creation", ANAME_SZ); - strncpy(principal.mod_instance, "", INST_SZ); - principal.old = 0; - - kerb_db_put_principal(&principal, 1); - - /* let's play it safe */ - bzero (new_key, sizeof (C_Block)); - bzero (&principal.key_low, 4); - bzero (&principal.key_high, 4); - return 0; -} diff --git a/eBones/usr.sbin/kdb_util/Makefile b/eBones/usr.sbin/kdb_util/Makefile deleted file mode 100644 index 88368dfd33843..0000000000000 --- a/eBones/usr.sbin/kdb_util/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# From: @(#)Makefile 5.2 (Berkeley) 2/14/91 -# $Id: Makefile,v 1.5 1995/09/14 04:09:56 gibbs Exp $ - -PROG= kdb_util -CFLAGS+=-DKERBEROS -DDEBUG -I${.CURDIR}/../../kdb_edit -SRCS= kdb_util.c maketime.c -.PATH: ${.CURDIR}/../kdb_edit -DPADD= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD= -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN8= kdb_util.8 - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/kdb_util/kdb_util.8 b/eBones/usr.sbin/kdb_util/kdb_util.8 deleted file mode 100644 index 4183ef363b977..0000000000000 --- a/eBones/usr.sbin/kdb_util/kdb_util.8 +++ /dev/null @@ -1,64 +0,0 @@ -.\" from: kdb_util.8,v 4.1 89/01/23 11:09:11 jtkohl Exp $ -.\" $Id: kdb_util.8,v 1.1.1.1 1994/09/30 14:50:06 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KDB_UTIL 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kdb_util \- Kerberos key distribution center database utility -.SH SYNOPSIS -kdb_util -.B operation filename -.SH DESCRIPTION -.I kdb_util -allows the Kerberos key distribution center (KDC) database administrator to -perform utility functions on the database. -.PP -.I Operation -must be one of the following: -.TP 10n -.I load -initializes the KDC database with the records described by the -text contained in the file -.IR filename . -Any existing database is overwritten. -.TP -.I dump -dumps the KDC database into a text representation in the file -.IR filename . -.TP -.I slave_dump -performs a database dump like the -.I dump -operation, and additionally creates a semaphore file signalling the -propagation software that an update is available for distribution to -slave KDC databases. -.TP -.I new_master_key -prompts for the old and new master key strings, and then dumps the KDC -database into a text representation in the file -.IR filename . -The keys in the text representation are encrypted in the new master key. -.TP -.I convert_old_db -prompts for the master key string, and then dumps the KDC database into -a text representation in the file -.IR filename . -The existing database is assumed to be encrypted using the old format -(encrypted by the key schedule of the master key); the dumped database -is encrypted using the new format (encrypted directly with master key). -.PP -.SH DIAGNOSTICS -.TP 20n -"verify_master_key: Invalid master key, does not match database." -The master key string entered was incorrect. -.SH FILES -.TP 20n -/etc/kerberosIV/principal.db -DBM file containing database -.TP -.IR filename .dump_ok -semaphore file created by -.IR slave_dump. diff --git a/eBones/usr.sbin/kdb_util/kdb_util.c b/eBones/usr.sbin/kdb_util/kdb_util.c deleted file mode 100644 index 5dbe509e1afe2..0000000000000 --- a/eBones/usr.sbin/kdb_util/kdb_util.c +++ /dev/null @@ -1,523 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * Kerberos database manipulation utility. This program allows you to - * dump a kerberos database to an ascii readable file and load this - * file into the database. Read locking of the database is done during a - * dump operation. NO LOCKING is done during a load operation. Loads - * should happen with other processes shutdown. - * - * Written July 9, 1987 by Jeffrey I. Schiller - * - * from: kdb_util.c,v 4.4 90/01/09 15:57:20 raeburn Exp $ - * $Id: kdb_util.c,v 1.5 1995/08/03 17:15:57 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kdb_util.c,v 1.5 1995/08/03 17:15:57 mark Exp $"; -#endif lint -#endif - -#include <errno.h> -#include <unistd.h> -#include <stdlib.h> -#include <stdio.h> -#include <sys/types.h> -#include <netinet/in.h> -#include <time.h> -#include <strings.h> -#include <des.h> -#include <krb.h> -#include <sys/file.h> -#include <krb_db.h> - -#define TRUE 1 - -Principal aprinc; - -static des_cblock master_key, new_master_key; -static des_key_schedule master_key_schedule, new_master_key_schedule; - -#define zaptime(foo) bzero((char *)(foo), sizeof(*(foo))) - -char * progname; - -void convert_old_format_db (char *db_file, FILE *out); -void convert_new_master_key (char *db_file, FILE *out); -void update_ok_file (char *file_name); -void print_time(FILE *file, unsigned long timeval); -void load_db (char *db_file, FILE *input_file); -int dump_db (char *db_file, FILE *output_file, void (*cv_key)()); - -int -main(argc, argv) - int argc; - char **argv; -{ - FILE *file; - enum { - OP_LOAD, - OP_DUMP, - OP_SLAVE_DUMP, - OP_NEW_MASTER, - OP_CONVERT_OLD_DB, - } op; - char *file_name; - char *prog = argv[0]; - char *db_name; - - progname = prog; - - if (argc != 3 && argc != 4) { - fprintf(stderr, "Usage: %s operation file-name [database name].\n", - argv[0]); - exit(1); - } - if (argc == 3) - db_name = DBM_FILE; - else - db_name = argv[3]; - - if (kerb_db_set_name (db_name) != 0) { - perror("Can't open database"); - exit(1); - } - - if (!strcmp(argv[1], "load")) - op = OP_LOAD; - else if (!strcmp(argv[1], "dump")) - op = OP_DUMP; - else if (!strcmp(argv[1], "slave_dump")) - op = OP_SLAVE_DUMP; - else if (!strcmp(argv[1], "new_master_key")) - op = OP_NEW_MASTER; - else if (!strcmp(argv[1], "convert_old_db")) - op = OP_CONVERT_OLD_DB; - else { - fprintf(stderr, - "%s: %s is an invalid operation.\n", prog, argv[1]); - fprintf(stderr, - "%s: Valid operations are \"dump\", \"slave_dump\",", argv[0]); - fprintf(stderr, - "\"load\", \"new_master_key\", and \"convert_old_db\".\n"); - exit(1); - } - - file_name = argv[2]; - file = fopen(file_name, op == OP_LOAD ? "r" : "w"); - if (file == NULL) { - fprintf(stderr, "%s: Unable to open %s\n", prog, argv[2]); - (void) fflush(stderr); - perror("open"); - exit(1); - } - - switch (op) { - case OP_DUMP: - if ((dump_db (db_name, file, (void (*)()) 0) == EOF) || - (fclose(file) == EOF)) { - fprintf(stderr, "error on file %s:", file_name); - perror(""); - exit(1); - } - break; - case OP_SLAVE_DUMP: - if ((dump_db (db_name, file, (void (*)()) 0) == EOF) || - (fclose(file) == EOF)) { - fprintf(stderr, "error on file %s:", file_name); - perror(""); - exit(1); - } - update_ok_file (file_name); - break; - case OP_LOAD: - load_db (db_name, file); - break; - case OP_NEW_MASTER: - convert_new_master_key (db_name, file); - printf("Don't forget to do a `kdb_util load %s' to reload the database!\n", file_name); - break; - case OP_CONVERT_OLD_DB: - convert_old_format_db (db_name, file); - printf("Don't forget to do a `kdb_util load %s' to reload the database!\n", file_name); - break; - } - exit(0); - } - -void -clear_secrets () -{ - bzero((char *)master_key, sizeof (des_cblock)); - bzero((char *)master_key_schedule, sizeof (Key_schedule)); - bzero((char *)new_master_key, sizeof (des_cblock)); - bzero((char *)new_master_key_schedule, sizeof (Key_schedule)); -} - -/* cv_key is a procedure which takes a principle and changes its key, - either for a new method of encrypting the keys, or a new master key. - if cv_key is null no transformation of key is done (other than net byte - order). */ - -struct callback_args { - void (*cv_key)(); - FILE *output_file; -}; - -static int dump_db_1(arg, principal) - char *arg; - Principal *principal; -{ /* replace null strings with "*" */ - struct callback_args *a = (struct callback_args *)arg; - - if (principal->instance[0] == '\0') { - principal->instance[0] = '*'; - principal->instance[1] = '\0'; - } - if (principal->mod_name[0] == '\0') { - principal->mod_name[0] = '*'; - principal->mod_name[1] = '\0'; - } - if (principal->mod_instance[0] == '\0') { - principal->mod_instance[0] = '*'; - principal->mod_instance[1] = '\0'; - } - if (a->cv_key != NULL) { - (*a->cv_key) (principal); - } - fprintf(a->output_file, "%s %s %d %d %d %d %lx %lx", - principal->name, - principal->instance, - principal->max_life, - principal->kdc_key_ver, - principal->key_version, - principal->attributes, - htonl (principal->key_low), - htonl (principal->key_high)); - print_time(a->output_file, principal->exp_date); - print_time(a->output_file, principal->mod_date); - fprintf(a->output_file, " %s %s\n", - principal->mod_name, - principal->mod_instance); - return 0; -} - -int -dump_db (db_file, output_file, cv_key) - char *db_file; - FILE *output_file; - void (*cv_key)(); -{ - struct callback_args a; - - a.cv_key = cv_key; - a.output_file = output_file; - - kerb_db_iterate (dump_db_1, (char *)&a); - return fflush(output_file); -} - -void -load_db (db_file, input_file) - char *db_file; - FILE *input_file; -{ - char exp_date_str[50]; - char mod_date_str[50]; - int temp1, temp2, temp3; - long time_explode(); - int code; - char *temp_db_file; - temp1 = strlen(db_file)+2; - temp_db_file = malloc (temp1); - strcpy(temp_db_file, db_file); - strcat(temp_db_file, "~"); - - /* Create the database */ - if ((code = kerb_db_create(temp_db_file)) != 0) { - fprintf(stderr, "Couldn't create temp database %s: %s\n", - temp_db_file, sys_errlist[code]); - exit(1); - } - kerb_db_set_name(temp_db_file); - for (;;) { /* explicit break on eof from fscanf */ - bzero((char *)&aprinc, sizeof(aprinc)); - if (fscanf(input_file, - "%s %s %d %d %d %hd %lx %lx %s %s %s %s\n", - aprinc.name, - aprinc.instance, - &temp1, - &temp2, - &temp3, - &aprinc.attributes, - &aprinc.key_low, - &aprinc.key_high, - exp_date_str, - mod_date_str, - aprinc.mod_name, - aprinc.mod_instance) == EOF) - break; - aprinc.key_low = ntohl (aprinc.key_low); - aprinc.key_high = ntohl (aprinc.key_high); - aprinc.max_life = (unsigned char) temp1; - aprinc.kdc_key_ver = (unsigned char) temp2; - aprinc.key_version = (unsigned char) temp3; - aprinc.exp_date = time_explode(exp_date_str); - aprinc.mod_date = time_explode(mod_date_str); - if (aprinc.instance[0] == '*') - aprinc.instance[0] = '\0'; - if (aprinc.mod_name[0] == '*') - aprinc.mod_name[0] = '\0'; - if (aprinc.mod_instance[0] == '*') - aprinc.mod_instance[0] = '\0'; - if (kerb_db_put_principal(&aprinc, 1) != 1) { - fprintf(stderr, "Couldn't store %s.%s: %s; load aborted\n", - aprinc.name, aprinc.instance, - sys_errlist[errno]); - exit(1); - }; - } - if ((code = kerb_db_rename(temp_db_file, db_file)) != 0) - perror("database rename failed"); - (void) fclose(input_file); - free(temp_db_file); -} - -void -print_time(file, timeval) - FILE *file; - unsigned long timeval; -{ - struct tm *tm; - struct tm *gmtime(); - tm = gmtime((long *)&timeval); - fprintf(file, " %04d%02d%02d%02d%02d", - tm->tm_year < 1900 ? tm->tm_year + 1900: tm->tm_year, - tm->tm_mon + 1, - tm->tm_mday, - tm->tm_hour, - tm->tm_min); -} - -/*ARGSUSED*/ -void -update_ok_file (file_name) - char *file_name; -{ - /* handle slave locking/failure stuff */ - char *file_ok; - int fd; - static char ok[]=".dump_ok"; - - if ((file_ok = (char *)malloc(strlen(file_name) + strlen(ok) + 1)) - == NULL) { - fprintf(stderr, "kdb_util: out of memory.\n"); - (void) fflush (stderr); - perror ("malloc"); - exit (1); - } - strcpy(file_ok, file_name); - strcat(file_ok, ok); - if ((fd = open(file_ok, O_WRONLY|O_CREAT|O_TRUNC, 0400)) < 0) { - fprintf(stderr, "Error creating 'ok' file, '%s'", file_ok); - perror(""); - (void) fflush (stderr); - exit (1); - } - free(file_ok); - close(fd); -} - -void -convert_key_new_master (p) - Principal *p; -{ - des_cblock key; - - /* leave null keys alone */ - if ((p->key_low == 0) && (p->key_high == 0)) return; - - /* move current key to des_cblock for encryption, special case master key - since that's changing */ - if ((strncmp (p->name, KERB_M_NAME, ANAME_SZ) == 0) && - (strncmp (p->instance, KERB_M_INST, INST_SZ) == 0)) { - bcopy((char *)new_master_key, (char *) key, sizeof (des_cblock)); - (p->key_version)++; - } else { - bcopy((char *)&(p->key_low), (char *)key, 4); - bcopy((char *)&(p->key_high), (char *) (((long *) key) + 1), 4); - kdb_encrypt_key (key, key, master_key, master_key_schedule, DECRYPT); - } - - kdb_encrypt_key (key, key, new_master_key, new_master_key_schedule, ENCRYPT); - - bcopy((char *)key, (char *)&(p->key_low), 4); - bcopy((char *)(((long *) key) + 1), (char *)&(p->key_high), 4); - bzero((char *)key, sizeof (key)); /* a little paranoia ... */ - - (p->kdc_key_ver)++; -} - -void -convert_new_master_key (db_file, out) - char *db_file; - FILE *out; -{ - - printf ("\n\nEnter the CURRENT master key."); - if (kdb_get_master_key (TRUE, master_key, master_key_schedule) != 0) { - fprintf (stderr, "get_master_key: Couldn't get master key.\n"); - clear_secrets (); - exit (-1); - } - - if (kdb_verify_master_key (master_key, master_key_schedule, stderr) < 0) { - clear_secrets (); - exit (-1); - } - - printf ("\n\nNow enter the NEW master key. Do not forget it!!"); - if (kdb_get_master_key (TRUE, new_master_key, new_master_key_schedule) != 0) { - fprintf (stderr, "get_master_key: Couldn't get new master key.\n"); - clear_secrets (); - exit (-1); - } - - dump_db (db_file, out, convert_key_new_master); -} - -void -convert_key_old_db (p) - Principal *p; -{ - des_cblock key; - - /* leave null keys alone */ - if ((p->key_low == 0) && (p->key_high == 0)) return; - - bcopy((char *)&(p->key_low), (char *)key, 4); - bcopy((char *)&(p->key_high), (char *)(((long *) key) + 1), 4); - -#ifndef NOENCRYPTION - des_pcbc_encrypt((des_cblock *)key,(des_cblock *)key, - (long)sizeof(des_cblock),master_key_schedule, - (des_cblock *)master_key_schedule,DECRYPT); -#endif - - /* make new key, new style */ - kdb_encrypt_key (key, key, master_key, master_key_schedule, ENCRYPT); - - bcopy((char *)key, (char *)&(p->key_low), 4); - bcopy((char *)(((long *) key) + 1), (char *)&(p->key_high), 4); - bzero((char *)key, sizeof (key)); /* a little paranoia ... */ -} - -void -convert_old_format_db (db_file, out) - char *db_file; - FILE *out; -{ - des_cblock key_from_db; - Principal principal_data[1]; - int n, more; - - if (kdb_get_master_key (TRUE, master_key, master_key_schedule) != 0L) { - fprintf (stderr, "verify_master_key: Couldn't get master key.\n"); - clear_secrets(); - exit (-1); - } - - /* can't call kdb_verify_master_key because this is an old style db */ - /* lookup the master key version */ - n = kerb_get_principal(KERB_M_NAME, KERB_M_INST, principal_data, - 1 /* only one please */, &more); - if ((n != 1) || more) { - fprintf(stderr, "verify_master_key: " - "Kerberos error on master key lookup, %d found.\n", - n); - exit (-1); - } - - /* set up the master key */ - fprintf(stderr, "Current Kerberos master key version is %d.\n", - principal_data[0].kdc_key_ver); - - /* - * now use the master key to decrypt (old style) the key in the db, had better - * be the same! - */ - bcopy((char *)&principal_data[0].key_low, (char *)key_from_db, 4); - bcopy((char *)&principal_data[0].key_high, - (char *)(((long *) key_from_db) + 1), 4); -#ifndef NOENCRYPTION - des_pcbc_encrypt((des_cblock *)key_from_db,(des_cblock *)key_from_db, - (long)sizeof(key_from_db),master_key_schedule, - (des_cblock *)master_key_schedule,DECRYPT); -#endif - /* the decrypted database key had better equal the master key */ - n = bcmp((char *) master_key, (char *) key_from_db, - sizeof(master_key)); - bzero((char *)key_from_db, sizeof(key_from_db)); - - if (n) { - fprintf(stderr, "\n\07\07verify_master_key: Invalid master key, "); - fprintf(stderr, "does not match database.\n"); - exit (-1); - } - - fprintf(stderr, "Master key verified.\n"); - (void) fflush(stderr); - - dump_db (db_file, out, convert_key_old_db); -} - -long -time_explode(cp) -register char *cp; -{ - char wbuf[5]; - struct tm tp; - long maketime(); - int local; - - zaptime(&tp); /* clear out the struct */ - - if (strlen(cp) > 10) { /* new format */ - (void) strncpy(wbuf, cp, 4); - wbuf[4] = 0; - tp.tm_year = atoi(wbuf); - cp += 4; /* step over the year */ - local = 0; /* GMT */ - } else { /* old format: local time, - year is 2 digits, assuming 19xx */ - wbuf[0] = *cp++; - wbuf[1] = *cp++; - wbuf[2] = 0; - tp.tm_year = 1900 + atoi(wbuf); - local = 1; /* local */ - } - - wbuf[0] = *cp++; - wbuf[1] = *cp++; - wbuf[2] = 0; - tp.tm_mon = atoi(wbuf)-1; - - wbuf[0] = *cp++; - wbuf[1] = *cp++; - tp.tm_mday = atoi(wbuf); - - wbuf[0] = *cp++; - wbuf[1] = *cp++; - tp.tm_hour = atoi(wbuf); - - wbuf[0] = *cp++; - wbuf[1] = *cp++; - tp.tm_min = atoi(wbuf); - - - return(maketime(&tp, local)); -} diff --git a/eBones/usr.sbin/kerberos/Makefile b/eBones/usr.sbin/kerberos/Makefile deleted file mode 100644 index 84a12fbd367e9..0000000000000 --- a/eBones/usr.sbin/kerberos/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id: Makefile,v 1.6 1995/09/14 04:10:15 gibbs Exp $ - -PROG= kerberos -SRCS= kerberos.c cr_err_reply.c -CFLAGS+=-DKERBEROS -DDEBUG -DPADD= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD= -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -NOMAN= noman - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/kerberos/cr_err_reply.c b/eBones/usr.sbin/kerberos/cr_err_reply.c deleted file mode 100644 index 89ee5f6cbfdba..0000000000000 --- a/eBones/usr.sbin/kerberos/cr_err_reply.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: cr_err_reply.c,v 4.10 89/01/10 11:34:42 steiner Exp $ - * $Id: cr_err_reply.c,v 1.2 1995/07/18 16:37:49 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: cr_err_reply.c,v 1.2 1995/07/18 16:37:49 mark Exp $"; -#endif /* lint */ -#endif - -#include <sys/types.h> -#include <krb.h> -#include <prot.h> -#include <strings.h> - -extern int req_act_vno; /* this is defined in the kerberos - * server code */ - -/* - * This routine is used by the Kerberos authentication server to - * create an error reply packet to send back to its client. - * - * It takes a pointer to the packet to be built, the name, instance, - * and realm of the principal, the client's timestamp, an error code - * and an error string as arguments. Its return value is undefined. - * - * The packet is built in the following format: - * - * type variable data - * or constant - * ---- ----------- ---- - * - * unsigned char req_ack_vno protocol version number - * - * unsigned char AUTH_MSG_ERR_REPLY protocol message type - * - * [least significant HOST_BYTE_ORDER sender's (server's) byte - * bit of above field] order - * - * string pname principal's name - * - * string pinst principal's instance - * - * string prealm principal's realm - * - * unsigned long time_ws client's timestamp - * - * unsigned long e error code - * - * string e_string error text - */ - -void -cr_err_reply(pkt,pname,pinst,prealm,time_ws,e,e_string) - KTEXT pkt; - char *pname; /* Principal's name */ - char *pinst; /* Principal's instance */ - char *prealm; /* Principal's authentication domain */ - u_long time_ws; /* Workstation time */ - u_long e; /* Error code */ - char *e_string; /* Text of error */ -{ - u_char *v = (u_char *) pkt->dat; /* Prot vers number */ - u_char *t = (u_char *)(pkt->dat+1); /* Prot message type */ - - /* Create fixed part of packet */ - *v = (unsigned char) req_act_vno; /* KRB_PROT_VERSION; */ - *t = (unsigned char) AUTH_MSG_ERR_REPLY; - *t |= HOST_BYTE_ORDER; - - /* Add the basic info */ - (void) strcpy((char *) (pkt->dat+2),pname); - pkt->length = 3 + strlen(pname); - (void) strcpy((char *)(pkt->dat+pkt->length),pinst); - pkt->length += 1 + strlen(pinst); - (void) strcpy((char *)(pkt->dat+pkt->length),prealm); - pkt->length += 1 + strlen(prealm); - /* ws timestamp */ - bcopy((char *) &time_ws,(char *)(pkt->dat+pkt->length),4); - pkt->length += 4; - /* err code */ - bcopy((char *) &e,(char *)(pkt->dat+pkt->length),4); - pkt->length += 4; - /* err text */ - (void) strcpy((char *)(pkt->dat+pkt->length),e_string); - pkt->length += 1 + strlen(e_string); - - /* And return */ - return; -} diff --git a/eBones/usr.sbin/kerberos/kerberos.c b/eBones/usr.sbin/kerberos/kerberos.c deleted file mode 100644 index c30f6a175f871..0000000000000 --- a/eBones/usr.sbin/kerberos/kerberos.c +++ /dev/null @@ -1,816 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology. - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: kerberos.c,v 4.19 89/11/01 17:18:07 qjb Exp $ - * $Id: kerberos.c,v 1.5 1995/09/17 00:39:00 gibbs Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kerberos.c,v 1.5 1995/09/17 00:39:00 gibbs Exp $"; -#endif lint -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <errno.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <netdb.h> -#include <signal.h> -#include <sgtty.h> -#include <sys/ioctl.h> -#include <sys/time.h> -#include <sys/file.h> -#include <ctype.h> - -#include <krb.h> -#include <des.h> -#include <klog.h> -#include <prot.h> -#include <krb_db.h> -#include <kdc.h> - -void cr_err_reply(KTEXT pkt, char *pname, char *pinst, char *prealm, - u_long time_ws, u_long e, char *e_string); -void kerb_err_reply(struct sockaddr_in *client, KTEXT pkt, long err, - char *string); -void setup_disc(void); -void kerberos(struct sockaddr_in *client, KTEXT pkt); -int check_princ(char *p_name, char *instance, unsigned lifetime, Principal *p); -int set_tgtkey(char *r); - -struct sockaddr_in s_in = {AF_INET}; -int f; - -/* XXX several files in libkdb know about this */ -char *progname; - -static Key_schedule master_key_schedule; -static C_Block master_key; - -static struct timeval kerb_time; -static Principal a_name_data; /* for requesting user */ -static Principal s_name_data; /* for services requested */ -static C_Block session_key; -static u_char master_key_version; -static char k_instance[INST_SZ]; -static char *lt; -static int more; - -static int mflag; /* Are we invoked manually? */ -static int lflag; /* Have we set an alterate log file? */ -static char *log_file; /* name of alt. log file */ -static int nflag; /* don't check max age */ -static int rflag; /* alternate realm specified */ - -/* fields within the received request packet */ -static u_char req_msg_type; -static u_char req_version; -static char *req_name_ptr; -static char *req_inst_ptr; -static char *req_realm_ptr; -static u_long req_time_ws; - -int req_act_vno = KRB_PROT_VERSION; /* Temporary for version skew */ - -static char local_realm[REALM_SZ]; - -/* statistics */ -static long q_bytes; /* current bytes remaining in queue */ -static long q_n; /* how many consecutive non-zero - * q_bytes */ -static long max_q_bytes; -static long max_q_n; -static long n_auth_req; -static long n_appl_req; -static long n_packets; - -static long max_age = -1; -static long pause_int = -1; - -static void check_db_age(); -static void hang(); - -/* - * Print usage message and exit. - */ -static void usage() -{ - fprintf(stderr, "Usage: %s [-s] [-m] [-n] [-p pause_seconds]%s%s\n", progname, - " [-a max_age] [-l log_file] [-r realm]" - ," [database_pathname]" - ); - exit(1); -} - - -int -main(argc, argv) - int argc; - char **argv; -{ - struct sockaddr_in from; - register int n; - int on = 1; - int child; - struct servent *sp; - int fromlen; - static KTEXT_ST pkt_st; - KTEXT pkt = &pkt_st; - int kerror; - int c; - extern char *optarg; - extern int optind; - - progname = argv[0]; - - while ((c = getopt(argc, argv, "snmp:a:l:r:")) != EOF) { - switch(c) { - case 's': - /* - * Set parameters to slave server defaults. - */ - if (max_age == -1 && !nflag) - max_age = ONE_DAY; /* 24 hours */ - if (pause_int == -1) - pause_int = FIVE_MINUTES; /* 5 minutes */ - if (lflag == 0) { - log_file = KRBSLAVELOG; - lflag++; - } - break; - case 'n': - max_age = -1; /* don't check max age. */ - nflag++; - break; - case 'm': - mflag++; /* running manually; prompt for master key */ - break; - case 'p': - /* Set pause interval. */ - if (!isdigit(optarg[0])) - usage(); - pause_int = atoi(optarg); - if ((pause_int < 5) || (pause_int > ONE_HOUR)) { - fprintf(stderr, "pause_int must be between 5 and 3600 seconds.\n"); - usage(); - } - break; - case 'a': - /* Set max age. */ - if (!isdigit(optarg[0])) - usage(); - max_age = atoi(optarg); - if ((max_age < ONE_HOUR) || (max_age > THREE_DAYS)) { - fprintf(stderr, "max_age must be between one hour and three days, in seconds\n"); - usage(); - } - break; - case 'l': - /* Set alternate log file */ - lflag++; - log_file = optarg; - break; - case 'r': - /* Set realm name */ - rflag++; - strcpy(local_realm, optarg); - break; - default: - usage(); - break; - } - } - - if (optind == (argc-1)) { - if (kerb_db_set_name(argv[optind]) != 0) { - fprintf(stderr, "Could not set alternate database name\n"); - exit(1); - } - optind++; - } - - if (optind != argc) - usage(); - - printf("Kerberos server starting\n"); - - if ((!nflag) && (max_age != -1)) - printf("\tMaximum database age: %ld seconds\n", max_age); - if (pause_int != -1) - printf("\tSleep for %ld seconds on error\n", pause_int); - else - printf("\tSleep forever on error\n"); - if (mflag) - printf("\tMaster key will be entered manually\n"); - - printf("\tLog file is %s\n", lflag ? log_file : KRBLOG); - - if (lflag) - kset_logfile(log_file); - - /* find our hostname, and use it as the instance */ - if (gethostname(k_instance, INST_SZ)) { - fprintf(stderr, "%s: gethostname error\n", progname); - exit(1); - } - - if ((sp = getservbyname("kerberos", "udp")) == 0) { - fprintf(stderr, "%s: udp/kerberos unknown service\n", progname); - exit(1); - } - s_in.sin_port = sp->s_port; - - if ((f = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - fprintf(stderr, "%s: Can't open socket\n", progname); - exit(1); - } - if (setsockopt(f, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) - fprintf(stderr, "%s: setsockopt (SO_REUSEADDR)\n", progname); - - if (bind(f, (struct sockaddr *) &s_in, S_AD_SZ) < 0) { - fprintf(stderr, "%s: Can't bind socket\n", progname); - exit(1); - } - /* do all the database and cache inits */ - if ((n = kerb_init())) { - if (mflag) { - printf("Kerberos db and cache init "); - printf("failed = %d ...exiting\n", n); - exit(-1); - } else { - klog(L_KRB_PERR, - "Kerberos db and cache init failed = %d ...exiting", n); - hang(); - } - } - - /* Make sure database isn't stale */ - check_db_age(); - - /* setup master key */ - if (kdb_get_master_key (mflag, master_key, master_key_schedule) != 0) { - klog (L_KRB_PERR, "kerberos: couldn't get master key.\n"); - exit (-1); - } - kerror = kdb_verify_master_key (master_key, master_key_schedule, stdout); - if (kerror < 0) { - klog (L_KRB_PERR, "Can't verify master key."); - bzero (master_key, sizeof (master_key)); - bzero (master_key_schedule, sizeof (master_key_schedule)); - exit (-1); - } - des_init_random_number_generator(master_key); - - master_key_version = (u_char) kerror; - - fprintf(stdout, "\nCurrent Kerberos master key version is %d\n", - master_key_version); - - if (!rflag) { - /* Look up our local realm */ - krb_get_lrealm(local_realm, 1); - } - fprintf(stdout, "Local realm: %s\n", local_realm); - fflush(stdout); - - if (set_tgtkey(local_realm)) { - /* Ticket granting service unknown */ - klog(L_KRB_PERR, "Ticket granting ticket service unknown"); - fprintf(stderr, "Ticket granting ticket service unknown\n"); - exit(1); - } - if (mflag) { - if ((child = fork()) != 0) { - printf("Kerberos started, PID=%d\n", child); - exit(0); - } - setup_disc(); - } - /* receive loop */ - for (;;) { - fromlen = S_AD_SZ; - n = recvfrom(f, pkt->dat, MAX_PKT_LEN, 0, (struct sockaddr *) &from, - &fromlen); - if (n > 0) { - pkt->length = n; - pkt->mbz = 0; /* force zeros to catch runaway strings */ - /* see what is left in the input queue */ - ioctl(f, FIONREAD, &q_bytes); - gettimeofday(&kerb_time, NULL); - q_n++; - max_q_n = max(max_q_n, q_n); - n_packets++; - klog(L_NET_INFO, - "q_byt %d, q_n %d, rd_byt %d, mx_q_b %d, mx_q_n %d, n_pkt %d", - q_bytes, q_n, n, max_q_bytes, max_q_n, n_packets, 0); - max_q_bytes = max(max_q_bytes, q_bytes); - if (!q_bytes) - q_n = 0; /* reset consecutive packets */ - kerberos(&from, pkt); - } else - klog(L_NET_ERR, - "%s: bad recvfrom n = %d errno = %d", progname, n, errno, 0); - } -} - -void -kerberos(client, pkt) - struct sockaddr_in *client; - KTEXT pkt; -{ - static KTEXT_ST rpkt_st; - KTEXT rpkt = &rpkt_st; - static KTEXT_ST ciph_st; - KTEXT ciph = &ciph_st; - static KTEXT_ST tk_st; - KTEXT tk = &tk_st; - static KTEXT_ST auth_st; - KTEXT auth = &auth_st; - AUTH_DAT ad_st; - AUTH_DAT *ad = &ad_st; - - - static struct in_addr client_host; - static int msg_byte_order; - static u_char k_flags; - u_long lifetime; - int i; - C_Block key; - Key_schedule key_s; - char *ptr; - - - - lifetime = DEFAULT_TKT_LIFE; - - ciph->length = 0; - - client_host = client->sin_addr; - - /* eval macros and correct the byte order and alignment as needed */ - req_version = pkt_version(pkt); /* 1 byte, version */ - req_msg_type = pkt_msg_type(pkt); /* 1 byte, Kerberos msg type */ - - req_act_vno = req_version; - - /* check packet version */ - if (req_version != KRB_PROT_VERSION) { - lt = klog(L_KRB_PERR, - "KRB prot version mismatch: KRB =%d request = %d", - KRB_PROT_VERSION, req_version, 0); - /* send an error reply */ - kerb_err_reply(client, pkt, KERB_ERR_PKT_VER, lt); - return; - } - - /* set up and correct for byte order and alignment */ - req_name_ptr = (char *) pkt_a_name(pkt); - req_inst_ptr = (char *) pkt_a_inst(pkt); - req_realm_ptr = (char *) pkt_a_realm(pkt); - bcopy(pkt_time_ws(pkt), &req_time_ws, sizeof(req_time_ws)); - - msg_byte_order = req_msg_type & 1; - - if (msg_byte_order != HOST_BYTE_ORDER) { - swap_u_long(req_time_ws) - } - klog(L_KRB_PINFO, - "Prot version: %d, Byte order: %d, Message type: %d", - req_version, msg_byte_order, req_msg_type); - - switch (req_msg_type & ~1) { - - case AUTH_MSG_KDC_REQUEST: - { - u_long req_life; /* Requested liftime */ - char *service; /* Service name */ - char *instance; /* Service instance */ - n_auth_req++; - tk->length = 0; - k_flags = 0; /* various kerberos flags */ - - - ptr = (char *) pkt_time_ws(pkt) + 4; - - req_life = (u_long) (*ptr++); - - service = ptr; - instance = ptr + strlen(service) + 1; - - rpkt = &rpkt_st; - klog(L_INI_REQ, - "Initial ticket request Host: %s User: \"%s\" \"%s\"", - inet_ntoa(client_host), req_name_ptr, req_inst_ptr, 0); - - if ((i = check_princ(req_name_ptr, req_inst_ptr, 0, - &a_name_data))) { - kerb_err_reply(client, pkt, i, lt); - return; - } - tk->length = 0; /* init */ - if (strcmp(service, "krbtgt")) - klog(L_NTGT_INTK, - "INITIAL request from %s.%s for %s.%s", - req_name_ptr, req_inst_ptr, service, instance, 0); - /* this does all the checking */ - if ((i = check_princ(service, instance, lifetime, - &s_name_data))) { - kerb_err_reply(client, pkt, i, lt); - return; - } - /* Bound requested lifetime with service and user */ - lifetime = min(req_life, ((u_long) s_name_data.max_life)); - lifetime = min(lifetime, ((u_long) a_name_data.max_life)); - -#ifdef NOENCRYPTION - bzero(session_key, sizeof(C_Block)); -#else - des_new_random_key(session_key); -#endif - /* unseal server's key from master key */ - bcopy(&s_name_data.key_low, key, 4); - bcopy(&s_name_data.key_high, ((long *) key) + 1, 4); - kdb_encrypt_key(key, key, master_key, - master_key_schedule, DECRYPT); - /* construct and seal the ticket */ - krb_create_ticket(tk, k_flags, a_name_data.name, - a_name_data.instance, local_realm, - client_host.s_addr, session_key, lifetime, kerb_time.tv_sec, - s_name_data.name, s_name_data.instance, key); - bzero(key, sizeof(key)); - bzero(key_s, sizeof(key_s)); - - /* - * get the user's key, unseal it from the server's key, and - * use it to seal the cipher - */ - - /* a_name_data.key_low a_name_data.key_high */ - bcopy(&a_name_data.key_low, key, 4); - bcopy(&a_name_data.key_high, ((long *) key) + 1, 4); - - /* unseal the a_name key from the master key */ - kdb_encrypt_key(key, key, master_key, - master_key_schedule, DECRYPT); - - create_ciph(ciph, session_key, s_name_data.name, - s_name_data.instance, local_realm, lifetime, - s_name_data.key_version, tk, kerb_time.tv_sec, key); - - /* clear session key */ - bzero(session_key, sizeof(session_key)); - - bzero(key, sizeof(key)); - - - - /* always send a reply packet */ - rpkt = create_auth_reply(req_name_ptr, req_inst_ptr, - req_realm_ptr, req_time_ws, 0, a_name_data.exp_date, - a_name_data.key_version, ciph); - sendto(f, rpkt->dat, rpkt->length, 0, (struct sockaddr *) client, - S_AD_SZ); - bzero(&a_name_data, sizeof(a_name_data)); - bzero(&s_name_data, sizeof(s_name_data)); - break; - } - case AUTH_MSG_APPL_REQUEST: - { - u_long time_ws; /* Workstation time */ - u_long req_life; /* Requested liftime */ - char *service; /* Service name */ - char *instance; /* Service instance */ - int kerno; /* Kerberos error number */ - char tktrlm[REALM_SZ]; - - n_appl_req++; - tk->length = 0; - k_flags = 0; /* various kerberos flags */ - kerno = KSUCCESS; - - auth->length = 4 + strlen(pkt->dat + 3); - auth->length += (int) *(pkt->dat + auth->length) + - (int) *(pkt->dat + auth->length + 1) + 2; - - bcopy(pkt->dat, auth->dat, auth->length); - - strncpy(tktrlm, auth->dat + 3, REALM_SZ); - if (set_tgtkey(tktrlm)) { - lt = klog(L_ERR_UNK, - "FAILED realm %s unknown. Host: %s ", - tktrlm, inet_ntoa(client_host)); - kerb_err_reply(client, pkt, kerno, lt); - return; - } - kerno = krb_rd_req(auth, "ktbtgt", tktrlm, client_host.s_addr, - ad, 0); - - if (kerno) { - klog(L_ERR_UNK, "FAILED krb_rd_req from %s: %s", - inet_ntoa(client_host), krb_err_txt[kerno]); - kerb_err_reply(client, pkt, kerno, "krb_rd_req failed"); - return; - } - ptr = (char *) pkt->dat + auth->length; - - bcopy(ptr, &time_ws, 4); - ptr += 4; - - req_life = (u_long) (*ptr++); - - service = ptr; - instance = ptr + strlen(service) + 1; - - klog(L_APPL_REQ, "APPL Request %s.%s@%s on %s for %s.%s", - ad->pname, ad->pinst, ad->prealm, inet_ntoa(client_host), - service, instance, 0); - - if (strcmp(ad->prealm, tktrlm)) { - kerb_err_reply(client, pkt, KERB_ERR_PRINCIPAL_UNKNOWN, - "Can't hop realms"); - return; - } - if (!strcmp(service, "changepw")) { - kerb_err_reply(client, pkt, KERB_ERR_PRINCIPAL_UNKNOWN, - "Can't authorize password changed based on TGT"); - return; - } - kerno = check_princ(service, instance, req_life, - &s_name_data); - if (kerno) { - kerb_err_reply(client, pkt, kerno, lt); - return; - } - /* Bound requested lifetime with service and user */ - lifetime = min(req_life, - (ad->life - ((kerb_time.tv_sec - ad->time_sec) / 300))); - lifetime = min(lifetime, ((u_long) s_name_data.max_life)); - - /* unseal server's key from master key */ - bcopy(&s_name_data.key_low, key, 4); - bcopy(&s_name_data.key_high, ((long *) key) + 1, 4); - kdb_encrypt_key(key, key, master_key, - master_key_schedule, DECRYPT); - /* construct and seal the ticket */ - -#ifdef NOENCRYPTION - bzero(session_key, sizeof(C_Block)); -#else - des_new_random_key(session_key); -#endif - - krb_create_ticket(tk, k_flags, ad->pname, ad->pinst, - ad->prealm, client_host.s_addr, - session_key, lifetime, kerb_time.tv_sec, - s_name_data.name, s_name_data.instance, - key); - bzero(key, sizeof(key)); - bzero(key_s, sizeof(key_s)); - - create_ciph(ciph, session_key, service, instance, - local_realm, - lifetime, s_name_data.key_version, tk, - kerb_time.tv_sec, ad->session); - - /* clear session key */ - bzero(session_key, sizeof(session_key)); - - bzero(ad->session, sizeof(ad->session)); - - rpkt = create_auth_reply(ad->pname, ad->pinst, - ad->prealm, time_ws, - 0, 0, 0, ciph); - sendto(f, rpkt->dat, rpkt->length, 0, (struct sockaddr *) client, - S_AD_SZ); - bzero(&s_name_data, sizeof(s_name_data)); - break; - } - - -#ifdef notdef_DIE - case AUTH_MSG_DIE: - { - lt = klog(L_DEATH_REQ, - "Host: %s User: \"%s\" \"%s\" Kerberos killed", - inet_ntoa(client_host), req_name_ptr, req_inst_ptr, 0); - exit(0); - } -#endif notdef_DIE - - default: - { - lt = klog(L_KRB_PERR, - "Unknown message type: %d from %s port %u", - req_msg_type, inet_ntoa(client_host), - ntohs(client->sin_port)); - break; - } - } -} - - -/* - * setup_disc - * - * disconnect all descriptors, remove ourself from the process - * group that spawned us. - */ - -void -setup_disc() -{ - - int s; - - for (s = 0; s < 3; s++) { - (void) close(s); - } - - (void) open("/dev/null", 0); - (void) dup2(0, 1); - (void) dup2(0, 2); - - s = open("/dev/tty", 2); - - if (s >= 0) { - ioctl(s, TIOCNOTTY, (struct sgttyb *) 0); - (void) close(s); - } - (void) chdir("/tmp"); -} - - -/* - * kerb_er_reply creates an error reply packet and sends it to the - * client. - */ - -void -kerb_err_reply(client, pkt, err, string) - struct sockaddr_in *client; - KTEXT pkt; - long err; - char *string; - -{ - static KTEXT_ST e_pkt_st; - KTEXT e_pkt = &e_pkt_st; - static char e_msg[128]; - - strcpy(e_msg, "\nKerberos error -- "); - strcat(e_msg, string); - cr_err_reply(e_pkt, req_name_ptr, req_inst_ptr, req_realm_ptr, - req_time_ws, err, e_msg); - sendto(f, e_pkt->dat, e_pkt->length, 0, (struct sockaddr *) client, - S_AD_SZ); - -} - -/* - * Make sure that database isn't stale. - * - * Exit if it is; we don't want to tell lies. - */ - -static void check_db_age() -{ - long age; - - if (max_age != -1) { - /* Requires existance of kerb_get_db_age() */ - gettimeofday(&kerb_time, 0); - age = kerb_get_db_age(); - if (age == 0) { - klog(L_KRB_PERR, "Database currently being updated!"); - hang(); - } - if ((age + max_age) < kerb_time.tv_sec) { - klog(L_KRB_PERR, "Database out of date!"); - hang(); - /* NOTREACHED */ - } - } -} - -int -check_princ(p_name, instance, lifetime, p) - char *p_name; - char *instance; - unsigned lifetime; - - Principal *p; -{ - static int n; - static int more; - - n = kerb_get_principal(p_name, instance, p, 1, &more); - klog(L_ALL_REQ, - "Principal: \"%s\", Instance: \"%s\" Lifetime = %d n = %d", - p_name, instance, lifetime, n, 0); - - if (n < 0) { - lt = klog(L_KRB_PERR, "Database unavailable!"); - hang(); - } - - /* - * if more than one p_name, pick one, randomly create a session key, - * compute maximum lifetime, lookup authorizations if applicable, - * and stuff into cipher. - */ - if (n == 0) { - /* service unknown, log error, skip to next request */ - lt = klog(L_ERR_UNK, "UNKNOWN \"%s\" \"%s\"", p_name, - instance, 0); - return KERB_ERR_PRINCIPAL_UNKNOWN; - } - if (more) { - /* not unique, log error */ - lt = klog(L_ERR_NUN, "Principal NOT UNIQUE \"%s\" \"%s\"", - p_name, instance, 0); - return KERB_ERR_PRINCIPAL_NOT_UNIQUE; - } - /* If the user's key is null, we want to return an error */ - if ((p->key_low == 0) && (p->key_high == 0)) { - /* User has a null key */ - lt = klog(L_ERR_NKY, "Null key \"%s\" \"%s\"", p_name, - instance, 0); - return KERB_ERR_NULL_KEY; - } - if (master_key_version != p->kdc_key_ver) { - /* log error reply */ - lt = klog(L_ERR_MKV, - "Key vers incorrect, KRB = %d, \"%s\" \"%s\" = %d", - master_key_version, p->name, p->instance, p->kdc_key_ver, - 0); - return KERB_ERR_NAME_MAST_KEY_VER; - } - /* make sure the service hasn't expired */ - if ((u_long) p->exp_date < (u_long) kerb_time.tv_sec) { - /* service did expire, log it */ - lt = klog(L_ERR_SEXP, - "EXPIRED \"%s\" \"%s\" %s", p->name, p->instance, - stime(&(p->exp_date)), 0); - return KERB_ERR_NAME_EXP; - } - /* ok is zero */ - return 0; -} - - -/* Set the key for krb_rd_req so we can check tgt */ -int -set_tgtkey(r) - char *r; /* Realm for desired key */ -{ - int n; - static char lastrealm[REALM_SZ]; - Principal p_st; - Principal *p = &p_st; - C_Block key; - - if (!strcmp(lastrealm, r)) - return (KSUCCESS); - - log("Getting key for %s", r); - - n = kerb_get_principal("krbtgt", r, p, 1, &more); - if (n == 0) - return (KFAILURE); - - /* unseal tgt key from master key */ - bcopy(&p->key_low, key, 4); - bcopy(&p->key_high, ((long *) key) + 1, 4); - kdb_encrypt_key(key, key, master_key, - master_key_schedule, DECRYPT); - krb_set_key(key, 0); - strcpy(lastrealm, r); - return (KSUCCESS); -} - -static void -hang() -{ - if (pause_int == -1) { - klog(L_KRB_PERR, "Kerberos will pause so as not to loop init"); - for (;;) - pause(); - } else { - char buf[256]; - sprintf(buf, "Kerberos will wait %ld seconds before dying so as not to loop init", pause_int); - klog(L_KRB_PERR, buf); - sleep(pause_int); - klog(L_KRB_PERR, "Do svedania....\n"); - exit(1); - } -} diff --git a/eBones/usr.sbin/kprop/Makefile b/eBones/usr.sbin/kprop/Makefile deleted file mode 100644 index 809ec508a9ac9..0000000000000 --- a/eBones/usr.sbin/kprop/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 -# $Id$ - -PROG= kprop -DPADD= ${LIBKRB} ${LIBDES} -LDADD= -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -CFLAGS+= -DKERBEROS -NOMAN= noman - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/kprop/kprop.c b/eBones/usr.sbin/kprop/kprop.c deleted file mode 100644 index 756151a4d1e2b..0000000000000 --- a/eBones/usr.sbin/kprop/kprop.c +++ /dev/null @@ -1,573 +0,0 @@ -/* - * - * Copyright 1987 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, - * please see the file <mit-copyright.h>. - * - */ - -#if 0 -#ifndef lint -static char rcsid_kprop_c[] = -"$Id: kprop.c,v 1.4 1995/10/05 21:30:00 gibbs Exp $"; -#endif lint -#endif - -#include <unistd.h> -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include <sys/types.h> -#include <sys/file.h> -#include <signal.h> -#include <sys/stat.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <sys/param.h> -#include <netdb.h> -#include <krb.h> -#include <des.h> - -#include "kprop.h" - -/* for those broken Unixes without this defined... should be in sys/param.h */ -#ifndef MAXHOSTNAMELEN -#define MAXHOSTNAMELEN 64 -#endif - -static char kprop_version[KPROP_PROT_VERSION_LEN] = KPROP_PROT_VERSION; - -int debug = 0; - -char my_realm[REALM_SZ]; -int princ_data_size = 3 * sizeof(long) + 3 * sizeof(unsigned char); -short transfer_mode, net_transfer_mode; -int force_flag; -static char ok[] = ".dump_ok"; - -extern char *krb_get_phost(char *); - -struct slave_host { - u_long net_addr; - char *name; - char *instance; - char *realm; - int not_time_yet; - int succeeded; - struct slave_host *next; -}; - -void Death(char *s); -int get_slaves(struct slave_host **psl, char *file, time_t ok_mtime); -int prop_to_slaves(struct slave_host *sl, int fd, char *fslv); - -int -main(argc, argv) - int argc; - char *argv[]; -{ - int fd, i; - char *floc, *floc_ok; - char *fslv; - struct stat stbuf, stbuf_ok; - long l_init, l_final; - char *pc; - int l_diff; - static struct slave_host *slave_host_list = NULL; - struct slave_host *sh; - - transfer_mode = KPROP_TRANSFER_PRIVATE; - - time(&l_init); - pc = ctime(&l_init); - pc[strlen(pc) - 1] = '\0'; - printf("\nStart slave propagation: %s\n", pc); - - floc = (char *) NULL; - fslv = (char *) NULL; - - if (krb_get_lrealm(my_realm,1) != KSUCCESS) - Death ("Getting my kerberos realm. Check krb.conf"); - - for (i = 1; i < argc; i++) - switch (argv[i][0]) { - case '-': - if (strcmp (argv[i], "-private") == 0) - transfer_mode = KPROP_TRANSFER_PRIVATE; -#ifdef not_safe_yet - else if (strcmp (argv[i], "-safe") == 0) - transfer_mode = KPROP_TRANSFER_SAFE; - else if (strcmp (argv[i], "-clear") == 0) - transfer_mode = KPROP_TRANSFER_CLEAR; -#endif - else if (strcmp (argv[i], "-realm") == 0) { - i++; - if (i < argc) - strcpy(my_realm, argv[i]); - else - goto usage; - } else if (strcmp (argv[i], "-force") == 0) - force_flag++; - else { - fprintf (stderr, "kprop: unknown control argument %s.\n", - argv[i]); - exit (1); - } - break; - default: - /* positional arguments are marginal at best ... */ - if (floc == (char *) NULL) - floc = argv[i]; - else { - if (fslv == (char *) NULL) - fslv = argv[i]; - else { - usage: - /* already got floc and fslv, what is this? */ - fprintf(stderr, - "\nUsage: kprop [-force] [-realm realm] [-private|-safe|-clear] data_file slaves_file\n\n"); - exit(1); - } - } - } - if ((floc == (char *)NULL) || (fslv == (char *)NULL)) - goto usage; - - if ((floc_ok = (char *) malloc(strlen(floc) + strlen(ok) + 1)) - == NULL) { - Death(floc); - } - strcat(strcpy(floc_ok, floc), ok); - - if ((fd = open(floc, O_RDONLY)) < 0) { - Death(floc); - } - if (flock(fd, LOCK_EX | LOCK_NB)) { - Death(floc); - } - if (stat(floc, &stbuf)) { - Death(floc); - } - if (stat(floc_ok, &stbuf_ok)) { - Death(floc_ok); - } - if (stbuf.st_mtime > stbuf_ok.st_mtime) { - fprintf(stderr, "kprop: '%s' more recent than '%s'.\n", - floc, floc_ok); - exit(1); - } - if (!get_slaves(&slave_host_list, fslv, stbuf_ok.st_mtime)) { - fprintf(stderr, - "kprop: can't read slave host file '%s'.\n", fslv); - exit(1); - } -#ifdef KPROP_DBG - { - struct slave_host *sh; - int i; - fprintf(stderr, "\n\n"); - fflush(stderr); - for (sh = slave_host_list; sh; sh = sh->next) { - fprintf(stderr, "slave %d: %s, %s", i++, sh->name, - inet_ntoa(sh->net_addr)); - fflush(stderr); - } - } -#endif /* KPROP_DBG */ - - if (!prop_to_slaves(slave_host_list, fd, fslv)) { - fprintf(stderr, - "kprop: propagation failed.\n"); - exit(1); - } - if (flock(fd, LOCK_UN)) { - Death(floc); - } - fprintf(stderr, "\n\n"); - for (sh = slave_host_list; sh; sh = sh->next) { - fprintf(stderr, "%s:\t\t%s\n", sh->name, - (sh->not_time_yet? "Not time yet" : (sh->succeeded ? "Succeeded" : "FAILED"))); - } - - time(&l_final); - l_diff = l_final - l_init; - printf("propagation finished, %d:%02d:%02d elapsed\n", - l_diff / 3600, (l_diff % 3600) / 60, l_diff % 60); - - exit(0); -} - -void -Death(s) - char *s; -{ - fprintf(stderr, "kprop: "); - perror(s); - exit(1); -} - -/* The master -> slave protocol looks like this: - 1) 8 byte version string - 2) 2 bytes of "transfer mode" (net byte order of course) - 3) ticket/authentication send by sendauth - 4) 4 bytes of "block" length (u_long) - 5) data - - 4 and 5 repeat til EOF ... -*/ - -int -prop_to_slaves(sl, fd, fslv) - struct slave_host *sl; - int fd; - char *fslv; -{ - char buf[KPROP_BUFSIZ]; - char obuf[KPROP_BUFSIZ + 64 /* leave room for private msg overhead */ ]; - struct servent *sp; - struct sockaddr_in sin, my_sin; - int i, n, s; - struct slave_host *cs; /* current slave */ - char path[256], my_host_name[MAXHOSTNAMELEN], *p_my_host_name; - char kprop_service_instance[INST_SZ]; - char *pc; - u_long cksum, get_data_checksum(); - u_long length, nlength; - long kerror; - KTEXT_ST ticket; - CREDENTIALS cred; - MSG_DAT msg_dat; - static char tkstring[] = "/tmp/kproptktXXXXXX"; - - Key_schedule session_sched; - - (void) mktemp(tkstring); - krb_set_tkt_string(tkstring); - - if ((sp = getservbyname("krb_prop", "tcp")) == 0) { - fprintf(stderr, "tcp/krb_prop: service unknown.\n"); - exit(1); - } - - bzero(&sin, sizeof sin); - sin.sin_family = AF_INET; - sin.sin_port = sp->s_port; - - strcpy(path, fslv); - if ((pc = rindex(path, '/'))) { - pc += 1; - } else { - pc = path; - } - - for (i = 0; i < 5; i++) { /* try each slave five times max */ - for (cs = sl; cs; cs = cs->next) { - if (!cs->succeeded) { - if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - perror("kprop: socket"); - exit(1); - } - bcopy(&cs->net_addr, &sin.sin_addr, - sizeof cs->net_addr); - /* for krb_mk_{priv, safe} */ - bzero (&my_sin, sizeof my_sin); - n = sizeof my_sin; - if ((kerror = krb_get_local_addr (&my_sin)) != KSUCCESS) { - fprintf (stderr, "kprop: can't get local address: %s\n", - krb_err_txt[kerror]); - close (s); - continue; /*** NEXT SLAVE ***/ - } - if (bind(s, (struct sockaddr *) &my_sin, sizeof my_sin) < 0) { - fprintf(stderr, "Unable to bind local address: "); - perror("bind"); - close(s); - continue; - } - if (connect(s, (struct sockaddr *) &sin, sizeof sin) < 0) { - fprintf(stderr, "%s: ", cs->name); - perror("connect"); - close(s); - continue; /*** NEXT SLAVE ***/ - } - - /* Get ticket */ - kerror = krb_mk_req (&ticket, KPROP_SERVICE_NAME, - cs->instance, cs->realm, (u_long) 0); - /* if ticket has expired try to get a new one, but - * first get a TGT ... - */ - if (kerror != MK_AP_OK) { - if (gethostname (my_host_name, sizeof(my_host_name)) != 0) { - fprintf (stderr, "%s:", cs->name); - perror ("getting my hostname"); - close (s); - break; /* next one can't work either! */ - } - /* get canonical kerberos service instance name */ - p_my_host_name = krb_get_phost (my_host_name); - /* copy it to make sure gethostbyname static doesn't - * screw us. */ - strcpy (kprop_service_instance, p_my_host_name); - kerror = krb_get_svc_in_tkt (KPROP_SERVICE_NAME, -#if 0 - kprop_service_instance, -#else - KRB_MASTER, -#endif - my_realm, - TGT_SERVICE_NAME, - my_realm, - 96, - KPROP_SRVTAB); - if (kerror != INTK_OK) { - fprintf (stderr, - "%s: %s. While getting initial ticket\n", - cs->name, krb_err_txt[kerror]); - close (s); - goto punt; - } - kerror = krb_mk_req (&ticket, KPROP_SERVICE_NAME, - cs->instance, cs->realm, (u_long) 0); - } - if (kerror != MK_AP_OK) { - fprintf (stderr, "%s: %s. Calling krb_mk_req.", - cs->name, krb_err_txt[kerror]); - close (s); - continue; /*** NEXT SLAVE ***/ - } - - if (write(s, kprop_version, sizeof(kprop_version)) - != sizeof(kprop_version)) { - fprintf (stderr, "%s: ", cs->name); - perror ("write (version) error"); - close (s); - continue; /*** NEXT SLAVE ***/ - } - - net_transfer_mode = htons (transfer_mode); - if (write(s, &net_transfer_mode, sizeof(net_transfer_mode)) - != sizeof(net_transfer_mode)) { - fprintf (stderr, "%s: ", cs->name); - perror ("write (transfer_mode) error"); - close (s); - continue; /*** NEXT SLAVE ***/ - } - - kerror = krb_get_cred (KPROP_SERVICE_NAME, cs->instance, - cs->realm, &cred); - if (kerror != KSUCCESS) { - fprintf (stderr, "%s: %s. Getting session key.", - cs->name, krb_err_txt[kerror]); - close (s); - continue; /*** NEXT SLAVE ***/ - } -#ifdef NOENCRYPTION - bzero((char *)session_sched, sizeof(session_sched)); -#else - if (key_sched ((C_Block *)cred.session, session_sched)) { - fprintf (stderr, "%s: can't make key schedule.", - cs->name); - close (s); - continue; /*** NEXT SLAVE ***/ - } -#endif - /* SAFE (quad_cksum) and CLEAR are just not good enough */ - cksum = 0; -#ifdef not_working_yet - if (transfer_mode != KPROP_TRANSFER_PRIVATE) { - cksum = get_data_checksum(fd, session_sched); - lseek(fd, 0L, 0); - } - else -#endif - { - struct stat st; - fstat (fd, &st); - cksum = st.st_size; - } - kerror = krb_sendauth(KOPT_DO_MUTUAL, - s, - &ticket, - KPROP_SERVICE_NAME, - cs->instance, - cs->realm, - cksum, - &msg_dat, - &cred, - session_sched, - &my_sin, - &sin, - KPROP_PROT_VERSION); - if (kerror != KSUCCESS) { - fprintf (stderr, "%s: %s. Calling krb_sendauth.", - cs->name, krb_err_txt[kerror]); - close (s); - continue; /*** NEXT SLAVE ***/ - } - - while ((n = read(fd, buf, sizeof buf))) { - if (n < 0) { - perror("input file read error"); - exit(1); - } - switch (transfer_mode) { - case KPROP_TRANSFER_PRIVATE: - case KPROP_TRANSFER_SAFE: - if (transfer_mode == KPROP_TRANSFER_PRIVATE) - length = krb_mk_priv (buf, obuf, n, - session_sched, cred.session, - &my_sin, &sin); - else - length = krb_mk_safe (buf, obuf, n, - (C_Block *)cred.session, - &my_sin, &sin); - if (length == -1) { - fprintf (stderr, "%s: %s failed.", - cs->name, - (transfer_mode == KPROP_TRANSFER_PRIVATE) - ? "krb_rd_priv" : "krb_rd_safe"); - close (s); - continue; /*** NEXT SLAVE ***/ - } - nlength = htonl(length); - if (write(s, &nlength, sizeof nlength) - != sizeof nlength) { - fprintf (stderr, "%s: ", cs->name); - perror ("write error"); - close (s); - continue; /*** NEXT SLAVE ***/ - } - if (write(s, obuf, length) != length) { - fprintf(stderr, "%s: ", cs->name); - perror("write error"); - close(s); - continue; /*** NEXT SLAVE ***/ - } - break; - case KPROP_TRANSFER_CLEAR: - if (write(s, buf, n) != n) { - fprintf(stderr, "%s: ", cs->name); - perror("write error"); - close(s); - continue; /*** NEXT SLAVE ***/ - } - break; - } - } - close(s); - cs->succeeded = 1; - fprintf(stderr, "%s: success.\n", cs->name); - strcat(strcpy(pc, cs->name), "-last-prop"); - close(creat(path, 0600)); - } - } - } -punt: - - dest_tkt(); - for (cs = sl; cs; cs = cs->next) { - if (!cs->succeeded) - return (0); /* didn't get this slave */ - } - return (1); -} - -int -get_slaves(psl, file, ok_mtime) - struct slave_host **psl; - char *file; - time_t ok_mtime; -{ - FILE *fin; - char namebuf[128], *inst; - char *pc; - struct hostent *host; - struct slave_host **th; - char path[256]; - char *ppath; - struct stat stbuf; - - if ((fin = fopen(file, "r")) == NULL) { - fprintf(stderr, "Can't open slave host file, '%s'.\n", file); - exit(-1); - } - strcpy(path, file); - if ((ppath = rindex(path, '/'))) { - ppath += 1; - } else { - ppath = path; - } - for (th = psl; fgets(namebuf, sizeof namebuf, fin); th = &(*th)->next) { - if ((pc = index(namebuf, '\n'))) { - *pc = '\0'; - } else { - fprintf(stderr, "Host name too long (>= %d chars) in '%s'.\n", - sizeof namebuf, file); - exit(-1); - } - host = gethostbyname(namebuf); - if (host == NULL) { - fprintf(stderr, "Unknown host '%s' in '%s'.\n", namebuf, file); - exit(-1); - } - (*th) = (struct slave_host *) malloc(sizeof(struct slave_host)); - if (!*th) { - fprintf(stderr, "No memory reading host list from '%s'.\n", - file); - exit(-1); - } - (*th)->name = malloc(strlen(namebuf) + 1); - if (!(*th)->name) { - fprintf(stderr, "No memory reading host list from '%s'.\n", - file); - exit(-1); - } - /* get kerberos cannonical instance name */ - strcpy((*th)->name, namebuf); - inst = krb_get_phost ((*th)->name); - (*th)->instance = malloc(strlen(inst) + 1); - if (!(*th)->instance) { - fprintf(stderr, "No memory reading host list from '%s'.\n", - file); - exit(-1); - } - strcpy((*th)->instance, inst); - /* what a concept, slave servers in different realms! */ - (*th)->realm = my_realm; - (*th)->net_addr = *(u_long *) host->h_addr; - (*th)->succeeded = 0; - (*th)->next = NULL; - strcat(strcpy(ppath, (*th)->name), "-last-prop"); - if (!force_flag && !stat(path, &stbuf) && stbuf.st_mtime > ok_mtime) { - (*th)->not_time_yet = 1; - (*th)->succeeded = 1; /* no change since last success */ - } - } - fclose(fin); - return (1); -} - -#ifdef doesnt_work_yet -u_long get_data_checksum(fd, key_sched) - int fd; - Key_schedule key_sched; -{ - unsigned long cksum = 0; - unsigned long cbc_cksum(); - int n; - char buf[BUFSIZ]; - long obuf[2]; - - while (n = read(fd, buf, sizeof buf)) { - if (n < 0) { - fprintf(stderr, "Input data file read error: "); - perror("read"); - exit(1); - } - cksum = cbc_cksum(buf, obuf, n, key_sched, key_sched); - } - return cksum; -} -#endif diff --git a/eBones/usr.sbin/kprop/kprop.h b/eBones/usr.sbin/kprop/kprop.h deleted file mode 100644 index 25bef47bf8a4c..0000000000000 --- a/eBones/usr.sbin/kprop/kprop.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 1987 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, - * please see the file <mit-copyright.h>. - * - */ - -#define KPROP_SERVICE_NAME "rcmd" -#define KPROP_SRVTAB "/etc/kerberosIV/srvtab" -#define TGT_SERVICE_NAME "krbtgt" -#define KPROP_PROT_VERSION_LEN 8 -#define KPROP_PROT_VERSION "kprop01" -#define KPROP_TRANSFER_PRIVATE 1 -#define KPROP_TRANSFER_SAFE 2 -#define KPROP_TRANSFER_CLEAR 3 -#define KPROP_BUFSIZ 32768 -#define KPROP_KDB_UTIL "/usr/sbin/kdb_util" diff --git a/eBones/usr.sbin/ksrvutil/Makefile b/eBones/usr.sbin/ksrvutil/Makefile deleted file mode 100644 index 62c551e43759c..0000000000000 --- a/eBones/usr.sbin/ksrvutil/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# $Id$ - -PROG= ksrvutil -SRCS= ksrvutil.c -CFLAGS+= -I${.CURDIR}/../../lib/libkadm -DKERBEROS -DPADD= ${LIBKRB} ${LIBDES} -LDADD+= -L${KADMOBJDIR} -lkadm -L${KRBOBJDIR} -lkrb \ - -L${DESOBJDIR} -ldes -lcom_err -MAN8= ksrvutil.8 - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/ksrvutil/ksrvutil.8 b/eBones/usr.sbin/ksrvutil/ksrvutil.8 deleted file mode 100644 index a7fed8290071f..0000000000000 --- a/eBones/usr.sbin/ksrvutil/ksrvutil.8 +++ /dev/null @@ -1,93 +0,0 @@ -.\" from: /mit/kerberos/src/man/RCS/ksrvutil.8,v 4.0 89/07/27 18:35:33 jtkohl Exp $ -.\" $Id: ksrvutil.8,v 1.2 1994/07/19 19:27:53 g89r4222 Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KSRVUTIL 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -ksrvutil \- host kerberos keyfile (srvtab) manipulation utility -.SH SYNOPSIS -ksrvutil -.B operation -[ -.B \-k -] [ -.B \-i -] [ -.B \-f filename -] -.SH DESCRIPTION -.I ksrvutil -allows a system manager to list or change keys currently in his -keyfile or to add new keys to the keyfile. -.PP - -Operation must be one of the following: -.TP 10n -.I list -lists the keys in a keyfile showing version number and principal -name. If the \-k option is given, keys will also be shown. -.TP 10n -.I change -changes all the keys in the keyfile by using the regular admin -protocol. If the \-i flag is given, -.I ksrvutil -will prompt for yes or no before changing each key. If the \-k -option is used, the old and new keys will be displayed. -.TP 10n -.I add -allows the user to add a key. -.I add -prompts for name, instance, realm, and key version number, asks -for confirmation, and then asks for a password. -.I ksrvutil -then converts the password to a key and appends the keyfile with -the new information. If the \-k option is used, the key is -displayed. - -.PP -In all cases, the default file used is KEY_FILE as defined in -krb.h unless this is overridden by the \-f option. - -.PP -A good use for -.I ksrvutil -would be for adding keys to a keyfile. A system manager could -ask a kerberos administrator to create a new service key with -.IR kadmin (8) -and could supply an initial password. Then, he could use -.I ksrvutil -to add the key to the keyfile and then to change the key so that -it will be random and unknown to either the system manager or -the kerberos administrator. - -.I ksrvutil -always makes a backup copy of the keyfile before making any -changes. - -.SH DIAGNOSTICS -If -.I ksrvutil -should exit on an error condition at any time during a change or -add, a copy of the -original keyfile can be found in -.IR filename .old -where -.I filename -is the name of the keyfile, and a copy of the file with all new -keys changed or added so far can be found in -.IR filename .work. -The original keyfile is left unmodified until the program exits -at which point it is removed and replaced it with the workfile. -Appending the workfile to the backup copy and replacing the -keyfile with the result should always give a usable keyfile, -although the resulting keyfile will have some out of date keys -in it. - -.SH SEE ALSO -kadmin(8), ksrvtgt(1) - -.SH AUTHOR -Emanuel Jay Berkenbilt, MIT Project Athena diff --git a/eBones/usr.sbin/ksrvutil/ksrvutil.c b/eBones/usr.sbin/ksrvutil/ksrvutil.c deleted file mode 100644 index 08fa9f5b881fc..0000000000000 --- a/eBones/usr.sbin/ksrvutil/ksrvutil.c +++ /dev/null @@ -1,586 +0,0 @@ -/* - * Copyright 1989 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * Copyright.MIT. - * - * list and update contents of srvtab files - */ - -#if 0 -#ifndef lint -static char rcsid_ksrvutil_c[] = -"BonesHeader: /afs/athena.mit.edu/astaff/project/kerberos/src/kadmin/RCS/ksrvutil.c,v 4.1 89/09/26 09:33:49 jtkohl Exp "; -static const char rcsid[] = - "$Id: ksrvutil.c,v 1.5 1995/09/07 21:38:40 markm Exp $"; -#endif lint -#endif - -/* - * ksrvutil - * list and update the contents of srvtab files - */ - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef TRUE -#define TRUE 1 -#endif - -#include <unistd.h> -#include <string.h> -#include <sys/types.h> -#include <sys/file.h> -#include <sys/param.h> -#include <stdio.h> -#include <sys/stat.h> -#include <errno.h> -#include <kadm.h> -#include <err.h> -#include <com_err.h> - -#ifdef NOENCRYPTION -#define read_long_pw_string placebo_read_pw_string -#else /* NOENCRYPTION */ -#define read_long_pw_string des_read_pw_string -#endif /* NOENCRYPTION */ -int read_long_pw_string(); - -#define SRVTAB_MODE 0600 /* rw------- */ -#define PAD " " -#define VNO_HEADER "Version" -#define VNO_FORMAT "%4d " -#define KEY_HEADER " Key " /* 17 characters long */ -#define PRINC_HEADER " Principal\n" -#define PRINC_FORMAT "%s" - -void usage(void); -void leave(char *str, int x); -void get_key_from_password(des_cblock key); -void print_name(char *name, char *inst, char *realm); -void print_key(des_cblock key); -unsigned short get_mode(char *filename); -int get_svc_new_key(des_cblock new_key, char *sname, char *sinst, - char *srealm, char *keyfile); - -void -copy_keyfile(progname, keyfile, backup_keyfile) - char *progname; - char *keyfile; - char *backup_keyfile; -{ - int keyfile_fd; - int backup_keyfile_fd; - int keyfile_mode; - char buf[BUFSIZ]; /* for copying keyfiles */ - int rcount; /* for copying keyfiles */ - int try_again; - - bzero((char *)buf, sizeof(buf)); - - do { - try_again = FALSE; - if ((keyfile_fd = open(keyfile, O_RDONLY, 0)) < 0) { - if (errno != ENOENT) { - err(1, "unable to read %s", keyfile); - } - else { - try_again = TRUE; - if ((keyfile_fd = - open(keyfile, - O_WRONLY | O_TRUNC | O_CREAT, SRVTAB_MODE)) < 0) { - err(1, "unable to create %s", keyfile); - } - else - if (close(keyfile_fd) < 0) { - err(1, "failure closing %s", keyfile); - } - } - } - } while(try_again); - - keyfile_mode = get_mode(keyfile); - - if ((backup_keyfile_fd = - open(backup_keyfile, O_WRONLY | O_TRUNC | O_CREAT, - keyfile_mode)) < 0) { - err(1, "unable to write %s", backup_keyfile); - } - do { - if ((rcount = read(keyfile_fd, (char *)buf, sizeof(buf))) < 0) { - err(1, "error reading %s", keyfile); - } - if (rcount && (write(backup_keyfile_fd, buf, rcount) != rcount)) { - err(1, "error writing %s", backup_keyfile); - } - } while (rcount); - if (close(backup_keyfile_fd) < 0) { - err(1, "error closing %s", backup_keyfile); - } - if (close(keyfile_fd) < 0) { - err(1, "error closing %s", keyfile); - } -} - -void -safe_read_stdin(prompt, buf, size) - char *prompt; - char *buf; - int size; -{ - printf(prompt); - fflush(stdout); - bzero(buf, size); - if (read(0, buf, size - 1) < 0) { - warn("failure reading from stdin"); - leave((char *)NULL, 1); - } - fflush(stdin); - buf[strlen(buf)-1] = 0; -} - - -void -safe_write(progname, filename, fd, buf, len) - char *progname; - char *filename; - int fd; - char *buf; - int len; -{ - if (write(fd, buf, len) != len) { - warn("failure writing %s", filename); - close(fd); - leave("In progress srvtab in this file.", 1); - } -} - -int -yn(string) - char *string; -{ - char ynbuf[5]; - - printf("%s (y,n) [y] ", string); - for (;;) { - safe_read_stdin("", ynbuf, sizeof(ynbuf)); - - if ((ynbuf[0] == 'n') || (ynbuf[0] == 'N')) - return(0); - else if ((ynbuf[0] == 'y') || (ynbuf[0] == 'Y') || (ynbuf[0] == 0)) - return(1); - else { - printf("Please enter 'y' or 'n': "); - fflush(stdout); - } - } -} - -void -append_srvtab(progname, filename, fd, sname, sinst, - srealm, key_vno, key) - char *progname; - char *filename; - int fd; - char *sname; - char *sinst; - char *srealm; - unsigned char key_vno; - des_cblock key; -{ - /* Add one to append null */ - safe_write(progname, filename, fd, sname, strlen(sname) + 1); - safe_write(progname, filename, fd, sinst, strlen(sinst) + 1); - safe_write(progname, filename, fd, srealm, strlen(srealm) + 1); - safe_write(progname, filename, fd, (char *)&key_vno, 1); - safe_write(progname, filename, fd, (char *)key, sizeof(des_cblock)); - fsync(fd); -} - -unsigned short -get_mode(filename) - char *filename; -{ - struct stat statbuf; - unsigned short mode; - - bzero((char *)&statbuf, sizeof(statbuf)); - - if (stat(filename, &statbuf) < 0) - mode = SRVTAB_MODE; - else - mode = statbuf.st_mode; - - return(mode); -} - -int -main(argc,argv) - int argc; - char *argv[]; -{ - char sname[ANAME_SZ]; /* name of service */ - char sinst[INST_SZ]; /* instance of service */ - char srealm[REALM_SZ]; /* realm of service */ - unsigned char key_vno; /* key version number */ - int status; /* general purpose error status */ - des_cblock new_key; - des_cblock old_key; - char change_tkt[MAXPATHLEN]; /* Ticket to use for key change */ - char keyfile[MAXPATHLEN]; /* Original keyfile */ - char work_keyfile[MAXPATHLEN]; /* Working copy of keyfile */ - char backup_keyfile[MAXPATHLEN]; /* Backup copy of keyfile */ - unsigned short keyfile_mode; /* Protections on keyfile */ - int work_keyfile_fd = -1; /* Initialize so that */ - int backup_keyfile_fd = -1; /* compiler doesn't complain */ - char local_realm[REALM_SZ]; /* local kerberos realm */ - int i; - int interactive = FALSE; - int list = FALSE; - int change = FALSE; - int add = FALSE; - int key = FALSE; /* do we show keys? */ - int arg_entered = FALSE; - int change_this_key = FALSE; - char databuf[BUFSIZ]; - int first_printed = FALSE; /* have we printed the first item? */ - - bzero((char *)sname, sizeof(sname)); - bzero((char *)sinst, sizeof(sinst)); - bzero((char *)srealm, sizeof(srealm)); - - bzero((char *)change_tkt, sizeof(change_tkt)); - bzero((char *)keyfile, sizeof(keyfile)); - bzero((char *)work_keyfile, sizeof(work_keyfile)); - bzero((char *)backup_keyfile, sizeof(backup_keyfile)); - bzero((char *)local_realm, sizeof(local_realm)); - - sprintf(change_tkt, "/tmp/tkt_ksrvutil.%d", getpid()); - krb_set_tkt_string(change_tkt); - - /* This is used only as a default for adding keys */ - if (krb_get_lrealm(local_realm, 1) != KSUCCESS) - strcpy(local_realm, KRB_REALM); - - for (i = 1; i < argc; i++) { - if (strcmp(argv[i], "-i") == 0) - interactive++; - else if (strcmp(argv[i], "-k") == 0) - key++; - else if (strcmp(argv[i], "list") == 0) { - if (arg_entered) - usage(); - else { - arg_entered++; - list++; - } - } - else if (strcmp(argv[i], "change") == 0) { - if (arg_entered) - usage(); - else { - arg_entered++; - change++; - } - } - else if (strcmp(argv[i], "add") == 0) { - if (arg_entered) - usage(); - else { - arg_entered++; - add++; - } - } - else if (strcmp(argv[i], "-f") == 0) { - if (++i == argc) - usage(); - else - strcpy(keyfile, argv[i]); - } - else - usage(); - } - - if (!arg_entered) - usage(); - - if (!keyfile[0]) - strcpy(keyfile, KEYFILE); - - strcpy(work_keyfile, keyfile); - strcpy(backup_keyfile, keyfile); - - if (change || add) { - strcat(work_keyfile, ".work"); - strcat(backup_keyfile, ".old"); - - copy_keyfile(argv[0], keyfile, backup_keyfile); - } - - if (add) - copy_keyfile(argv[0], backup_keyfile, work_keyfile); - - keyfile_mode = get_mode(keyfile); - - if (change || list) { - if ((backup_keyfile_fd = open(backup_keyfile, O_RDONLY, 0)) < 0) { - err(1, "unable to read %s", backup_keyfile); - } - } - - if (change) { - if ((work_keyfile_fd = - open(work_keyfile, O_WRONLY | O_CREAT | O_TRUNC, - SRVTAB_MODE)) < 0) { - err(1, "unable to write %s", work_keyfile); - } - } - else if (add) { - if ((work_keyfile_fd = - open(work_keyfile, O_APPEND | O_WRONLY, SRVTAB_MODE)) < 0) { - err(1, "unable to append to %s", work_keyfile); - } - } - - if (change || list) { - while ((getst(backup_keyfile_fd, sname, SNAME_SZ) > 0) && - (getst(backup_keyfile_fd, sinst, INST_SZ) > 0) && - (getst(backup_keyfile_fd, srealm, REALM_SZ) > 0) && - (read(backup_keyfile_fd, &key_vno, 1) > 0) && - (read(backup_keyfile_fd,(char *)old_key,sizeof(old_key)) > 0)) { - if (list) { - if (!first_printed) { - printf(VNO_HEADER); - printf(PAD); - if (key) { - printf(KEY_HEADER); - printf(PAD); - } - printf(PRINC_HEADER); - first_printed = 1; - } - printf(VNO_FORMAT, key_vno); - printf(PAD); - if (key) { - print_key(old_key); - printf(PAD); - } - print_name(sname, sinst, srealm); - printf("\n"); - } - else if (change) { - printf("\nPrincipal: "); - print_name(sname, sinst, srealm); - printf("; version %d\n", key_vno); - if (interactive) - change_this_key = yn("Change this key?"); - else if (change) - change_this_key = 1; - else - change_this_key = 0; - - if (change_this_key) - printf("Changing to version %d.\n", key_vno + 1); - else if (change) - printf("Not changing this key.\n"); - - if (change_this_key) { - /* - * Pick a new key and determine whether or not - * it is safe to change - */ - if ((status = - get_svc_new_key(new_key, sname, sinst, - srealm, keyfile)) == KADM_SUCCESS) - key_vno++; - else { - bcopy(old_key, new_key, sizeof(new_key)); - com_err(argv[0], status, ": key NOT changed"); - change_this_key = FALSE; - } - } - else - bcopy(old_key, new_key, sizeof(new_key)); - append_srvtab(argv[0], work_keyfile, work_keyfile_fd, - sname, sinst, srealm, key_vno, new_key); - if (key && change_this_key) { - printf("Old key: "); - print_key(old_key); - printf("; new key: "); - print_key(new_key); - printf("\n"); - } - if (change_this_key) { - if ((status = kadm_change_pw(new_key)) == KADM_SUCCESS) { - printf("Key changed.\n"); - dest_tkt(); - } - else { - com_err(argv[0], status, - " attempting to change password."); - dest_tkt(); - /* XXX This knows the format of a keyfile */ - if (lseek(work_keyfile_fd, -9, L_INCR) >= 0) { - key_vno--; - safe_write(argv[0], work_keyfile, - work_keyfile_fd, (char *)&key_vno, 1); - safe_write(argv[0], work_keyfile, work_keyfile_fd, - (char *)old_key, sizeof(des_cblock)); - fsync(work_keyfile_fd); - fprintf(stderr,"Key NOT changed.\n"); - } - else { - warn("unable to revert keyfile"); - leave("", 1); - } - } - } - } - bzero((char *)old_key, sizeof(des_cblock)); - bzero((char *)new_key, sizeof(des_cblock)); - } - } - else if (add) { - do { - do { - safe_read_stdin("Name: ", databuf, sizeof(databuf)); - strncpy(sname, databuf, sizeof(sname) - 1); - safe_read_stdin("Instance: ", databuf, sizeof(databuf)); - strncpy(sinst, databuf, sizeof(sinst) - 1); - safe_read_stdin("Realm: ", databuf, sizeof(databuf)); - strncpy(srealm, databuf, sizeof(srealm) - 1); - safe_read_stdin("Version number: ", databuf, sizeof(databuf)); - key_vno = atoi(databuf); - if (!srealm[0]) - strcpy(srealm, local_realm); - printf("New principal: "); - print_name(sname, sinst, srealm); - printf("; version %d\n", key_vno); - } while (!yn("Is this correct?")); - get_key_from_password(new_key); - if (key) { - printf("Key: "); - print_key(new_key); - printf("\n"); - } - append_srvtab(argv[0], work_keyfile, work_keyfile_fd, - sname, sinst, srealm, key_vno, new_key); - printf("Key successfully added.\n"); - } while (yn("Would you like to add another key?")); - } - - if (change || list) - if (close(backup_keyfile_fd) < 0) { - warn("failure closing %s, continuing", backup_keyfile); - } - - if (change || add) { - if (close(work_keyfile_fd) < 0) { - err(1, "failure closing %s", work_keyfile); - } - if (rename(work_keyfile, keyfile) < 0) { - err(1, "failure renaming %s to %s", work_keyfile, keyfile); - } - chmod(backup_keyfile, keyfile_mode); - chmod(keyfile, keyfile_mode); - printf("Old keyfile in %s.\n", backup_keyfile); - } - - exit(0); -} - -void -print_key(key) - des_cblock key; -{ - int i; - - for (i = 0; i < 4; i++) - printf("%02x", key[i]); - printf(" "); - for (i = 4; i < 8; i++) - printf("%02x", key[i]); -} - -void -print_name(name, inst, realm) - char *name; - char *inst; - char *realm; -{ - printf("%s%s%s%s%s", name, inst[0] ? "." : "", inst, - realm[0] ? "@" : "", realm); -} - -int -get_svc_new_key(new_key, sname, sinst, srealm, keyfile) - des_cblock new_key; - char *sname; - char *sinst; - char *srealm; - char *keyfile; -{ - int status = KADM_SUCCESS; - CREDENTIALS c; - - if (((status = krb_get_svc_in_tkt(sname, sinst, srealm, PWSERV_NAME, - KADM_SINST, 1, keyfile)) == KSUCCESS) && - ((status = krb_get_cred(PWSERV_NAME, KADM_SINST, srealm, &c)) == - KSUCCESS) && - ((status = kadm_init_link("changepw", KRB_MASTER, srealm)) == - KADM_SUCCESS)) { -#ifdef NOENCRYPTION - bzero((char *) new_key, sizeof(des_cblock)); - new_key[0] = (unsigned char) 1; -#else /* NOENCRYPTION */ - des_init_random_number_generator(c.session); - (void) des_new_random_key(new_key); -#endif /* NOENCRYPTION */ - return(KADM_SUCCESS); - } - - return(status); -} - -void -get_key_from_password(key) - des_cblock key; -{ - char password[MAX_KPW_LEN]; /* storage for the password */ - - if (read_long_pw_string(password, sizeof(password)-1, "Password: ", 1)) - leave("Error reading password.", 1); - -#ifdef NOENCRYPTION - bzero((char *) key, sizeof(des_cblock)); - key[0] = (unsigned char) 1; -#else /* NOENCRYPTION */ - des_string_to_key(password, (des_cblock *)key); -#endif /* NOENCRYPTION */ - bzero((char *)password, sizeof(password)); -} - -void -usage() -{ - fprintf(stderr, "Usage: ksrvutil [-f keyfile] [-i] [-k] "); - fprintf(stderr, "{list | change | add}\n"); - fprintf(stderr, " -i causes the program to ask for "); - fprintf(stderr, "confirmation before changing keys.\n"); - fprintf(stderr, " -k causes the key to printed for list or "); - fprintf(stderr, "change.\n"); - exit(1); -} - -void -leave(str,x) -char *str; -int x; -{ - if (str) - fprintf(stderr, "%s\n", str); - dest_tkt(); - exit(x); -} diff --git a/eBones/usr.sbin/kstash/Makefile b/eBones/usr.sbin/kstash/Makefile deleted file mode 100644 index 5043cf3bdb824..0000000000000 --- a/eBones/usr.sbin/kstash/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# From: @(#)Makefile 5.2 (Berkeley) 3/5/91 -# $Id: Makefile,v 1.6 1995/09/14 04:11:14 gibbs Exp $ - -PROG= kstash -CFLAGS+=-DKERBEROS -DDEBUG -DPADD= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD= -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes -MAN8= kstash.8 - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/kstash/kstash.8 b/eBones/usr.sbin/kstash/kstash.8 deleted file mode 100644 index ac8c57b302cf2..0000000000000 --- a/eBones/usr.sbin/kstash/kstash.8 +++ /dev/null @@ -1,44 +0,0 @@ -.\" from: kstash.8,v 4.1 89/01/23 11:11:39 jtkohl Exp $ -.\" $Id: kstash.8,v 1.1.1.1 1994/09/30 14:50:07 csgr Exp $ -.\" Copyright 1989 by the Massachusetts Institute of Technology. -.\" -.\" For copying and distribution information, -.\" please see the file <Copyright.MIT>. -.\" -.TH KSTASH 8 "Kerberos Version 4.0" "MIT Project Athena" -.SH NAME -kstash \- stash Kerberos key distribution center database master key -.SH SYNOPSIS -kstash -.SH DESCRIPTION -.I kstash -saves the Kerberos key distribution center (KDC) database master key in -the master key cache file. -.PP -The user is prompted to enter the key, to verify the authenticity of the -key and the authorization to store the key in the file. -.SH DIAGNOSTICS -.TP 20n -"verify_master_key: Invalid master key, does not match database." -The master key string entered was incorrect. -.TP -"kstash: Unable to open master key file" -The attempt to open the cache file for writing failed (probably due to a -system or access permission error). -.TP -"kstash: Write I/O error on master key file" -The -.BR write (2) -system call returned an error while -.I kstash -was attempting to write the key to the file. -.SH FILES -.TP 20n -/etc/kerberosIV/principal.db -DBM file containing database -.TP -/etc/kerberosIV/principal.ok -Semaphore indicating that the DBM database is not being modified. -.TP -/etc/kerberosIV/master_key -Master key cache file. diff --git a/eBones/usr.sbin/kstash/kstash.c b/eBones/usr.sbin/kstash/kstash.c deleted file mode 100644 index ce26a1db34e0a..0000000000000 --- a/eBones/usr.sbin/kstash/kstash.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute - * of Technology - * For copying and distribution information, please see the file - * <Copyright.MIT>. - * - * from: kstash.c,v 4.0 89/01/23 09:45:43 jtkohl Exp $ - * $Id: kstash.c,v 1.3 1995/07/18 16:40:16 mark Exp $ - */ - -#if 0 -#ifndef lint -static char rcsid[] = -"$Id: kstash.c,v 1.3 1995/07/18 16:40:16 mark Exp $"; -#endif lint -#endif - -#include <unistd.h> -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <signal.h> -#include <sgtty.h> -#include <sys/ioctl.h> -#include <sys/time.h> -#include <sys/file.h> - -#include <krb.h> -#include <des.h> -#include <klog.h> -#include <prot.h> -#include <krb_db.h> -#include <kdc.h> - -/* change this later, but krblib_dbm needs it for now */ -char *progname; - -static C_Block master_key; -static Key_schedule master_key_schedule; -int debug; -static int kfile; -static void clear_secrets(); - -int -main(argc, argv) - int argc; - char **argv; -{ - long n; - if ((n = kerb_init())) { - fprintf(stderr, "Kerberos db and cache init failed = %ld\n", n); - exit(1); - } - - if (kdb_get_master_key (TRUE, master_key, master_key_schedule) != 0) { - fprintf (stderr, "%s: Couldn't read master key.\n", argv[0]); - fflush (stderr); - clear_secrets(); - exit (-1); - } - - if (kdb_verify_master_key (master_key, master_key_schedule, stderr) < 0) { - clear_secrets(); - exit (-1); - } - - kfile = open(MKEYFILE, O_TRUNC | O_RDWR | O_CREAT, 0600); - if (kfile < 0) { - clear_secrets(); - fprintf(stderr, "\n\07\07%s: Unable to open master key file\n", - argv[0]); - exit(1); - } - if (write(kfile, (char *) master_key, 8) < 0) { - clear_secrets(); - fprintf(stderr, "\n%s: Write I/O error on master key file\n", - argv[0]); - exit(1); - } - (void) close(kfile); - clear_secrets(); - return(0); -} - -static void -clear_secrets() -{ - bzero(master_key_schedule, sizeof(master_key_schedule)); - bzero(master_key, sizeof(master_key)); -} diff --git a/eBones/usr.sbin/make_keypair/Makefile b/eBones/usr.sbin/make_keypair/Makefile deleted file mode 100644 index 4edf76e649f13..0000000000000 --- a/eBones/usr.sbin/make_keypair/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# @(#)Makefile 8.1 (Berkeley) 6/1/93 -# $id$ - -PROG= make_keypair -MAN8= make_keypair.8 -CFLAGS+=-DKERBEROS -I${.CURDIR}/../../usr.bin/register -DPADD= ${LIBKDB} ${LIBKRB} ${LIBDES} -LDADD= -L${KDBOBJDIR} -lkdb -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes - -.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/make_keypair/make_keypair.8 b/eBones/usr.sbin/make_keypair/make_keypair.8 deleted file mode 100644 index d0b7b889a9202..0000000000000 --- a/eBones/usr.sbin/make_keypair/make_keypair.8 +++ /dev/null @@ -1,87 +0,0 @@ -.\" Copyright (c) 1988, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)make_keypair.8 8.2 (Berkeley) 12/11/93 -.\" -.Dd December 11, 1993 -.Dt MAKE_KEYPAIR 8 -.Os -.Sh NAME -.Nm make_keypair -.Nd generate Kerberos host key pair -.Sh SYNOPSIS -.Nm make_keypair -.Ar hostname -.Op Ar hostname ... -.Sh DESCRIPTION -The -.Nm make_keypair -command -is used to create pairs of -.Tn DES -keys for -each -.Ar hostname . -The keys are used by privileged programs such as -.Xr register 1 -to make remote updates to the Kerberos database without -having to have first acquired a Kerberos ticket granting ticket -.Pq Tn TGT . -The keys created by -.Nm make_keypair -are placed (by hand) in the filesystems of the -kerberos server in -.Pa /etc/kerberosIV/register_keys , -and in the root directory of the clients. -For example, the file -.Pa /.update.key128.32.130.3 -would -contain a copy of the key of the client with -IP address 128.32.130.3. -These keys provide a shared secret which may be used to establish -a secure channel between the client hosts and the Kerberos server. -.Sh FILES -.Bl -tag -width /etc/kerberosIV/register_keysxx -compact -.It Pa /.update.keyxx.xx.xx.xx -shared -.Tn DES -key with server -.It Pa /etc/kerberosIV/register_keys -server's key storage directory -.El -.Sh SEE ALSO -.Xr register 1 , -.Xr registerd 8 , -.Xr kerberos 1 -.Sh HISTORY -The -.Nm make_keypair -utility first appeared in 4.4BSD. diff --git a/etc/Makefile b/etc/Makefile index af425a0d637f2..f5672db827476 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.11 (Berkeley) 5/21/91 -# $Id: Makefile,v 1.143.2.1 1996/12/13 10:25:29 jkh Exp $ +# $Id: Makefile,v 1.143.2.2 1996/12/14 11:35:56 joerg Exp $ # -rw-r--r-- BINOWN= root diff --git a/etc/crontab b/etc/crontab index 50434feabc62f..5e6ffff8ee5f9 100644 --- a/etc/crontab +++ b/etc/crontab @@ -1,6 +1,6 @@ # /etc/crontab - root's crontab for FreeBSD # -# $Id: crontab,v 1.12 1996/01/05 10:09:07 graichen Exp $ +# $Id: crontab,v 1.13 1996/01/06 22:21:37 ache Exp $ # From: Id: crontab,v 1.6 1993/05/31 02:03:57 cgd Exp # SHELL=/bin/sh diff --git a/etc/etc.i386/MAKEDEV b/etc/etc.i386/MAKEDEV index 641308ed33832..6b3ae475eafca 100644 --- a/etc/etc.i386/MAKEDEV +++ b/etc/etc.i386/MAKEDEV @@ -103,7 +103,7 @@ # perfmon CPU performance-monitoring counters # pci PCI configuration-space access from user mode # -# $Id: MAKEDEV,v 1.127.2.8 1997/03/05 14:05:38 joerg Exp $ +# $Id: MAKEDEV,v 1.127.2.9 1997/03/11 11:15:39 joerg Exp $ # PATH=/sbin:/bin/:/usr/bin:/usr/sbin:$PATH diff --git a/etc/etc.i386/rc.i386 b/etc/etc.i386/rc.i386 index 17e6c4d099dd0..7dd23ef4c6c85 100644 --- a/etc/etc.i386/rc.i386 +++ b/etc/etc.i386/rc.i386 @@ -1,6 +1,6 @@ #!/bin/sh - # -# $Id: rc.i386,v 1.17 1996/09/07 19:04:48 ache Exp $ +# $Id: rc.i386,v 1.18 1996/09/09 19:59:14 ache Exp $ # Do i386 specific processing # diff --git a/etc/host.conf b/etc/host.conf index 10f4c65759362..4c82560a1fa3c 100644 --- a/etc/host.conf +++ b/etc/host.conf @@ -1,4 +1,4 @@ -# $Id$ +# $Id: host.conf,v 1.2 1993/11/07 01:02:57 wollman Exp $ # Default is to use the nameserver first bind # If that doesn't work, then try the /etc/hosts file diff --git a/etc/hosts b/etc/hosts index 33a8ec9afe452..2fb191df6e35b 100644 --- a/etc/hosts +++ b/etc/hosts @@ -1,4 +1,4 @@ -# $Id: hosts,v 1.5 1995/04/09 09:54:39 rgrimes Exp $ +# $Id: hosts,v 1.6 1996/03/20 15:29:10 adam Exp $ # # Host Database # This file should contain the addresses and aliases diff --git a/etc/make.conf b/etc/make.conf index 8c99caf475990..a5356305b5847 100644 --- a/etc/make.conf +++ b/etc/make.conf @@ -1,4 +1,4 @@ -# $Id: make.conf,v 1.37.2.2 1996/12/23 06:21:53 peter Exp $ +# $Id: make.conf,v 1.37.2.3 1997/02/23 11:02:40 joerg Exp $ # # This file, if present, will be read by make (see /usr/share/mk/sys.mk). # It allows you to override macro definitions to make without changing diff --git a/etc/mtree/BSD.include.dist b/etc/mtree/BSD.include.dist index 09ecfa15b0fba..624cef2a40194 100644 --- a/etc/mtree/BSD.include.dist +++ b/etc/mtree/BSD.include.dist @@ -1,4 +1,4 @@ -# $Id: BSD.include.dist,v 1.7 1996/10/03 21:42:41 peter Exp $ +# $Id: BSD.include.dist,v 1.7.2.1 1997/03/09 06:58:45 bde Exp $ # /set type=dir uname=bin gname=bin mode=0755 diff --git a/etc/mtree/BSD.local.dist b/etc/mtree/BSD.local.dist index c0de7f54c441b..39e0c2232903b 100644 --- a/etc/mtree/BSD.local.dist +++ b/etc/mtree/BSD.local.dist @@ -1,4 +1,4 @@ -# $Id: BSD.local.dist,v 1.27 1997/02/28 17:27:07 wosch Exp $ +# $Id: BSD.local.dist,v 1.17.2.6 1997/02/28 20:14:07 adam Exp $ # /set type=dir uname=bin gname=bin mode=0755 diff --git a/etc/mtree/BSD.release.dist b/etc/mtree/BSD.release.dist index 7dcb262bdcad3..fea2d5b761395 100644 --- a/etc/mtree/BSD.release.dist +++ b/etc/mtree/BSD.release.dist @@ -1,4 +1,4 @@ -# $Id$ +# $Id: BSD.release.dist,v 1.2 1994/09/19 01:40:36 rgrimes Exp $ # /set type=dir uname=root gname=wheel mode=0755 diff --git a/etc/mtree/BSD.root.dist b/etc/mtree/BSD.root.dist index c6c7b896889ed..af087de93e084 100644 --- a/etc/mtree/BSD.root.dist +++ b/etc/mtree/BSD.root.dist @@ -1,4 +1,4 @@ -# $Id: BSD.root.dist,v 1.19 1994/09/25 02:55:21 wollman Exp $ +# $Id: BSD.root.dist,v 1.20 1995/05/17 09:31:10 rgrimes Exp $ # /set type=dir uname=root gname=wheel mode=0755 diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist index 4ba84f3e83c45..1070bb39eb70c 100644 --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -1,4 +1,4 @@ -# $Id: BSD.usr.dist,v 1.88 1997/02/28 17:27:07 wosch Exp $ +# $Id: BSD.usr.dist,v 1.74.2.8 1997/02/28 20:14:09 adam Exp $ # /set type=dir uname=bin gname=bin mode=0755 diff --git a/etc/mtree/BSD.var.dist b/etc/mtree/BSD.var.dist index 59ae5f0280e73..8ffbbad252d2e 100644 --- a/etc/mtree/BSD.var.dist +++ b/etc/mtree/BSD.var.dist @@ -1,4 +1,4 @@ -# $Id: BSD.var.dist,v 1.26 1996/10/13 16:52:40 joerg Exp $ +# $Id: BSD.var.dist,v 1.26.2.1 1997/02/26 01:18:15 mpp Exp $ # /set type=dir uname=bin gname=bin mode=0755 diff --git a/etc/namedb/PROTO.localhost.rev b/etc/namedb/PROTO.localhost.rev index bc4e8ac1d7965..df6794d436189 100644 --- a/etc/namedb/PROTO.localhost.rev +++ b/etc/namedb/PROTO.localhost.rev @@ -1,5 +1,5 @@ ; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90 -; $Id$ +; $Id: PROTO.localhost.rev,v 1.1 1995/03/21 16:33:44 wollman Exp $ ; ; This file is automatically edited by the `make-localhost' script in ; the /etc/namedb directory. diff --git a/etc/namedb/named.boot b/etc/namedb/named.boot index 62eacbece6c67..3b34f50bff5fc 100644 --- a/etc/namedb/named.boot +++ b/etc/namedb/named.boot @@ -1,4 +1,4 @@ -; $Id: named.boot,v 1.2 1993/11/07 00:58:34 wollman Exp $ +; $Id: named.boot,v 1.3 1995/03/23 08:43:02 rgrimes Exp $ ; From: @(#)named.boot 5.1 (Berkeley) 6/30/90 ; boot file for secondary name server diff --git a/etc/netstart b/etc/netstart index af5ebf6254ad2..28802830fe480 100755..100644 --- a/etc/netstart +++ b/etc/netstart @@ -1,6 +1,6 @@ #!/bin/sh - # -# $Id: netstart,v 1.45 1996/10/27 06:30:43 peter Exp $ +# $Id: netstart,v 1.45.2.1 1996/11/06 09:22:16 phk Exp $ # From: @(#)netstart 5.9 (Berkeley) 3/30/91 # Note that almost all the user-configurable behavior is no longer in diff --git a/etc/newsyslog.conf b/etc/newsyslog.conf index 12323640586bb..add940d61df71 100644 --- a/etc/newsyslog.conf +++ b/etc/newsyslog.conf @@ -1,5 +1,5 @@ # configuration file for newsyslog -# $Id$ +# $Id: newsyslog.conf,v 1.6.2.1 1997/02/05 14:18:24 mpp Exp $ # # logfilename owner.group mode count size time [ZB] /var/cron/log 600 3 100 * Z diff --git a/etc/pccard.conf.sample b/etc/pccard.conf.sample index 37e0adadd06a6..9f6bcd963ed79 100644 --- a/etc/pccard.conf.sample +++ b/etc/pccard.conf.sample @@ -8,7 +8,7 @@ # IRQ == 0 means "allocate free IRQ from IRQ pool" # IRQ == 16 means "do not use IRQ (e.g. PIO mode)" # -# $Id: pccard.conf.sample,v 1.3 1996/06/14 21:41:48 nate Exp $ +# $Id: pccard.conf.sample,v 1.4 1996/06/19 01:28:07 nate Exp $ # Generally available IO ports io 0x240-0x360 diff --git a/etc/phones b/etc/phones index b9af7f30d8ce2..c6ab472d99516 100644 --- a/etc/phones +++ b/etc/phones @@ -1,4 +1,4 @@ -# $Id: phones,v 1.3 1994/01/23 18:39:52 rgrimes Exp $ +# $Id: phones,v 1.4 1994/01/24 00:39:01 rgrimes Exp $ # From: @(#)phones 5.2 (Berkeley) 6/30/90 # # phones -- remote host phone number data base diff --git a/etc/ppp/ppp.conf.filter.sample b/etc/ppp/ppp.conf.filter.sample index 891a4b90e5436..464d8a1109cf3 100644 --- a/etc/ppp/ppp.conf.filter.sample +++ b/etc/ppp/ppp.conf.filter.sample @@ -1,5 +1,5 @@ # -# $Id: ppp.conf.filter.sample,v 1.1.1.1 1995/01/31 06:24:33 amurai Exp $ +# $Id: ppp.conf.filter.sample,v 1.2 1995/02/26 12:16:35 amurai Exp $ # # An example of packet filter definition. # diff --git a/etc/ppp/ppp.conf.iij.sample b/etc/ppp/ppp.conf.iij.sample index 3c0069f0d4665..61828020fe00a 100644 --- a/etc/ppp/ppp.conf.iij.sample +++ b/etc/ppp/ppp.conf.iij.sample @@ -10,7 +10,7 @@ # In all cases, you can use same username and password assigned # from IIJ. # -# $Id: ppp.conf.iij,v 1.2 1996/01/31 15:03:04 mpp Exp $ +# $Id: ppp.conf.iij.sample,v 1.1 1996/10/18 03:45:14 jkh Exp $ # ############################################################################# # diff --git a/etc/ppp/ppp.conf.sample b/etc/ppp/ppp.conf.sample index 4feaa6cb2b0bd..865516efb693b 100644 --- a/etc/ppp/ppp.conf.sample +++ b/etc/ppp/ppp.conf.sample @@ -4,7 +4,7 @@ # # Written by Toshiharu OHNO # -# $Id: ppp.conf.sample,v 1.5.2.2 1997/03/02 14:56:49 joerg Exp $ +# $Id: ppp.conf.sample,v 1.5.2.3 1997/03/17 00:29:48 jmg Exp $ # ################################################################# diff --git a/etc/ppp/ppp.linkup.sample b/etc/ppp/ppp.linkup.sample index cf6895f801da3..b37b7b6705a0a 100644 --- a/etc/ppp/ppp.linkup.sample +++ b/etc/ppp/ppp.linkup.sample @@ -12,7 +12,7 @@ # # 3) If no label has been found, use MYADDR if it exists. # -# $Id: ppp.linkup.sample,v 1.3 1996/03/08 09:39:45 ache Exp $ +# $Id: ppp.linkup.sample,v 1.3.2.1 1997/03/02 14:56:50 joerg Exp $ # ######################################################################### diff --git a/etc/ppp/ppp.secret.sample b/etc/ppp/ppp.secret.sample index 720c1fb84d975..146c12a434c4c 100644 --- a/etc/ppp/ppp.secret.sample +++ b/etc/ppp/ppp.secret.sample @@ -1,7 +1,7 @@ ################################################## # Sysname Secret Key Peer's IP address # -# $Id: ppp.secret.sample,v 1.1.1.1 1995/01/31 06:24:33 amurai Exp $ +# $Id: ppp.secret.sample,v 1.2 1995/02/26 12:16:37 amurai Exp $ # ################################################## oscar OurSecretKey 192.244.184.34/24 diff --git a/etc/printcap b/etc/printcap index 77698d569283a..3d851298344fc 100644 --- a/etc/printcap +++ b/etc/printcap @@ -1,5 +1,5 @@ # @(#)printcap 5.3 (Berkeley) 6/30/90 -# $Id$ +# $Id: printcap,v 1.5 1996/10/13 16:52:33 joerg Exp $ # # This enables a simple local "raw" printer, hooked up to the first diff --git a/etc/protocols b/etc/protocols index c451b671678f4..1c5c9ece41a2c 100644 --- a/etc/protocols +++ b/etc/protocols @@ -1,7 +1,7 @@ # # Internet (IP) protocols # -# $Id: protocols,v 1.3 1995/08/29 19:29:35 wollman Exp $ +# $Id: protocols,v 1.4 1996/07/10 19:44:03 julian Exp $ # from: @(#)protocols 5.1 (Berkeley) 4/17/89 # # Updated for FreeBSD based on RFC 1340, Assigned Numbers (July 1992). @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: rc,v 1.104.2.4 1996/12/23 00:36:58 joerg Exp $ +# $Id: rc,v 1.104.2.5 1997/01/03 08:18:58 phk Exp $ # From: @(#)rc 5.27 (Berkeley) 6/5/91 # System startup script run by init on autoboot diff --git a/etc/rc.firewall b/etc/rc.firewall index 76ae6d504139a..2cfcfb12a193f 100644 --- a/etc/rc.firewall +++ b/etc/rc.firewall @@ -1,6 +1,6 @@ ############ # Setup system for firewall service. -# $Id: rc.firewall,v 1.5 1996/08/19 15:34:29 wosch Exp $ +# $Id: rc.firewall,v 1.6 1996/09/05 11:22:09 adam Exp $ ############ # diff --git a/etc/rc.local b/etc/rc.local index 752e8658151ca..9e232f3f22d66 100644 --- a/etc/rc.local +++ b/etc/rc.local @@ -1,7 +1,7 @@ # # site-specific startup actions, daemons # -# $Id: rc.local,v 1.20 1996/08/17 07:15:38 peter Exp $ +# $Id: rc.local,v 1.21 1996/10/24 09:43:59 scrappy Exp $ # T=/tmp/_motd diff --git a/etc/rc.serial b/etc/rc.serial index 580e505846f83..cb6700f62fb64 100644 --- a/etc/rc.serial +++ b/etc/rc.serial @@ -1,5 +1,5 @@ #!/bin/sh -# $Id$ +# $Id: rc.serial,v 1.6 1996/02/24 19:51:25 bde Exp $ # Change some defaults for serial devices. # Standard defaults are: diff --git a/etc/root/dot.klogin b/etc/root/dot.klogin index 56098a5a903e7..e0ff5406de0b7 100644 --- a/etc/root/dot.klogin +++ b/etc/root/dot.klogin @@ -1,4 +1,4 @@ -# $Id: dot.klogin,v 1.2 1994/02/21 20:36:01 rgrimes Exp $ +# $Id: dot.klogin,v 1.3 1994/10/27 05:26:59 phk Exp $ # # user1.root@your.realm.wherever # user2.root@your.realm.wherever diff --git a/etc/root/dot.profile b/etc/root/dot.profile index bea5fe40e090f..12eb22728b978 100644 --- a/etc/root/dot.profile +++ b/etc/root/dot.profile @@ -1,4 +1,4 @@ -# $Id: dot.profile,v 1.10 1996/03/06 05:23:00 jkh Exp $ +# $Id: dot.profile,v 1.10.2.1 1997/03/06 22:27:37 joerg Exp $ # PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin echo 'erase ^H, kill ^U, intr ^C' diff --git a/etc/security b/etc/security index af401a250fbb1..099506e6050d9 100644 --- a/etc/security +++ b/etc/security @@ -1,7 +1,7 @@ #!/bin/sh - # # @(#)security 5.3 (Berkeley) 5/28/91 -# $Id: security,v 1.20 1997/03/03 07:03:50 mpp Exp $ +# $Id: security,v 1.16.2.2 1997/03/03 07:05:47 mpp Exp $ # PATH=/sbin:/bin:/usr/bin LC_ALL=C; export LC_ALL diff --git a/etc/services b/etc/services index c978c591031dc..3207fb9cd6d19 100644 --- a/etc/services +++ b/etc/services @@ -9,7 +9,7 @@ # Kerberos services are for Kerberos v4, and are unofficial. Sites running # v5 should uncomment v5 entries and comment v4 entries. # -# $Id: services,v 1.31 1997/02/23 09:20:53 peter Exp $ +# $Id: services,v 1.27.2.2 1997/03/10 22:28:46 pst Exp $ # From: @(#)services 5.8 (Berkeley) 5/9/91 # # WELL KNOWN PORT NUMBERS diff --git a/etc/sysconfig b/etc/sysconfig index 915193b00dd5a..7338f3c69a901 100644 --- a/etc/sysconfig +++ b/etc/sysconfig @@ -4,7 +4,7 @@ # This is sysconfig - a file full of useful variables that you can set # to change the default startup behavior of your system. # -# $Id: sysconfig,v 1.52.2.2 1996/12/10 16:53:55 joerg Exp $ +# $Id: sysconfig,v 1.52.2.3 1997/01/09 02:42:45 alex Exp $ ######################### Start Of Local Configuration Section ########### diff --git a/etc/weekly b/etc/weekly index 4e9bca687fdb2..e826bf13988d7 100644 --- a/etc/weekly +++ b/etc/weekly @@ -1,7 +1,7 @@ #!/bin/sh - # # @(#)weekly 5.14 (Berkeley) 6/23/91 -# $Id: weekly,v 1.17 1996/10/19 21:52:12 alex Exp $ +# $Id: weekly,v 1.17.2.1 1997/02/25 17:52:00 adam Exp $ PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/libexec export PATH diff --git a/games/Makefile b/games/Makefile index f342283519fcb..68b52249eb465 100644 --- a/games/Makefile +++ b/games/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 3/31/94 -# $Id$ +# $Id: Makefile,v 1.10 1995/12/22 19:21:09 markm Exp $ # XXX missing: chess ching monop [copyright] SUBDIR= adventure arithmetic atc backgammon battlestar bcd boggle bs caesar \ diff --git a/games/boggle/Makefile b/games/boggle/Makefile new file mode 100644 index 0000000000000..eb4452910d333 --- /dev/null +++ b/games/boggle/Makefile @@ -0,0 +1,26 @@ +# @(#)Makefile 8.1 (Berkeley) 6/11/93 + +SUBDIR= boggle mkdict mkindex + +.if exists(${.OBJDIR}/mkdict) +MKDICT= ${.OBJDIR}/mkdict/mkdict +.else +MKDICT= ${.CURDIR}/mkdict/mkdict +.endif +.if exists(${.OBJDIR}/mkindex) +MKINDX= ${.OBJDIR}/mkindex/mkindex +.else +MKINDX= ${.CURDIR}/mkindex/mkindex +.endif + +afterdistribute afterinstall: + ${MKDICT} < ${.CURDIR}/../../share/dict/web2 > \ + ${DESTDIR}/usr/share/games/boggle/dictionary + ${MKINDX} < ${DESTDIR}/usr/share/games/boggle/dictionary > \ + ${DESTDIR}/usr/share/games/boggle/dictindex + chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/share/games/boggle/dictionary + chmod 444 ${DESTDIR}/usr/share/games/boggle/dictionary + chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/share/games/boggle/dictindex + chmod 444 ${DESTDIR}/usr/share/games/boggle/dictindex + +.include <bsd.subdir.mk> diff --git a/games/boggle/README b/games/boggle/README new file mode 100644 index 0000000000000..ac87da00bd003 --- /dev/null +++ b/games/boggle/README @@ -0,0 +1,65 @@ + +Bog is a fairly portable simulation of Parker Brother's game of Boggle and +is similar to the 4.[23] BSD "boggle" and Sun's "boggletool". +Bog has not been derived from any proprietary code. +It has been tested on the Sun 3 under SunOS 3.2 and on the Atari 1040ST (MWC). + +What You Need + +You will need curses/termcap and a large word list. +The minix word list or /usr/dict/words will do nicely. +The word list must already be sorted (you can use "sort -c" to check). + +Contents + + README - this file + Makefile + bog.man - half-hearted man page (use the game's help command) + bog.h - configuration and header info + bog.c - machine independent game code + word.c - machine independent word list routines + help.c - (curses) help routine + mach.c - (curses) display code + prtable.c - ditto + timer.c - machine dependent (os) input polling + mkdict.c - convert a word list to a bog dictionary + mkindex.c - create an index file for the bog dictionary + showdict.c - print a bog dictionary to stdout + +Portability + +- I've tried to make bog.c (the program logic) independent of the I/O. + My plan was to make it straightforward to adapt the game to run under a + windowing system (eg., Suntools, GEM). I have no plan to actually do this. + I've stuck to a small subset of the curses routines. +- The program runs with the input in raw mode. +- If you want the running timer you must #define TIMER in bog.h + and insert the input polling code in timer.c for your system. There is + already code there for BSD, SYSV, and ATARI. + +Setup + +1. Check bog.h and Makefile and edit to fit your environment +2. "make all" + This will make all the binaries and create the dictionary and index files +3. Move "dict", "dict.ind", and "helpfile" to where you specified in bog.h +4. Play away + +Distribution + +You may use this software for your enjoyment and you may share it with others. +You may not sell this software or use it for any commercial purposes +whatsoever. All modified versions of the software that you redistribute must +clearly indicate your changes. + +If you come across any bugs or make any changes you'd like to share please +send mail to me rather than posting to the net. + +Enjoy. [But beware: boggle can be addictive!] + +----- +Barry Brachman | UUCP: {alberta,uw-beaver,uunet}! +Dept. of Computer Science| ubc-vision!ubc-csgrads!brachman +Univ. of British Columbia| Internet: brachman@cs.ubc.ca +Vancouver, B.C. V6T 1W5 | brachman%ubc.csnet@csnet-relay.arpa +(604) 228-5010 | brachman@ubc.csnet diff --git a/games/boggle/boggle/Makefile b/games/boggle/boggle/Makefile new file mode 100644 index 0000000000000..0c26112646b26 --- /dev/null +++ b/games/boggle/boggle/Makefile @@ -0,0 +1,15 @@ +# @(#)Makefile 8.1 (Berkeley) 6/11/93 + +PROG= boggle +SRCS= bog.c help.c mach.c prtable.c timer.c word.c +DPADD= ${LIBCURSES} ${LIBTERMCAP} +LDADD= -lcurses -ltermcap +HIDEGAME=hidegame +MAN6= boggle.6 + +beforeinstall: + ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/helpfile \ + ${DESTDIR}/usr/share/games/boggle/helpfile + +.include "../../Makefile.inc" +.include <bsd.prog.mk> diff --git a/games/boggle/boggle/bog.c b/games/boggle/boggle/bog.c new file mode 100644 index 0000000000000..8b1cd50ba1afd --- /dev/null +++ b/games/boggle/boggle/bog.c @@ -0,0 +1,672 @@ +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef lint +static char copyright[] = +"@(#) Copyright (c) 1993\n\ + The Regents of the University of California. All rights reserved.\n"; +#endif /* not lint */ + +#ifndef lint +static char sccsid[] = "@(#)bog.c 8.1 (Berkeley) 6/11/93"; +#endif /* not lint */ + +#include <ctype.h> +#include <err.h> +#include <stdio.h> +#include <stdlib.h> +#include <time.h> + +#include "bog.h" +#include "extern.h" + +static int compar __P((const void *, const void *)); + +struct dictindex dictindex[26]; + +/* + * Cube position numbering: + * + * 0 1 2 3 + * 4 5 6 7 + * 8 9 A B + * C D E F + */ +static int adjacency[16][16] = { +/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + { 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* 0 */ + { 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* 1 */ + { 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, /* 2 */ + { 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, /* 3 */ + { 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 }, /* 4 */ + { 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 }, /* 5 */ + { 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0 }, /* 6 */ + { 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0 }, /* 7 */ + { 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 }, /* 8 */ + { 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0 }, /* 9 */ + { 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1 }, /* A */ + { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1 }, /* B */ + { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0 }, /* C */ + { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0 }, /* D */ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1 }, /* E */ + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 } /* F */ +}; + +static int letter_map[26][16]; + +char board[17]; +int wordpath[MAXWORDLEN + 1]; +int wordlen; /* Length of last word returned by nextword() */ +int usedbits; + +char *pword[MAXPWORDS], pwords[MAXPSPACE], *pwordsp; +int npwords; + +char *mword[MAXMWORDS], mwords[MAXMSPACE], *mwordsp; +int nmwords; + +int ngames = 0; +int tnmwords = 0, tnpwords = 0; + +#include <setjmp.h> +jmp_buf env; + +long start_t; + +static FILE *dictfp; + +int batch; +int debug; +int minlength; +int reuse; +int tlimit; + +int +main(argc, argv) + int argc; + char *argv[]; +{ + long seed = 0; + int ch, done, i, selfuse, sflag; + char *bspec, *p; + + batch = debug = reuse = selfuse = sflag = 0; + bspec = NULL; + minlength = 3; + tlimit = 180; /* 3 minutes is standard */ + + while ((ch = getopt(argc, argv, "bds:t:w:")) != EOF) + switch(ch) { + case 'b': + batch = 1; + break; + case 'd': + debug = 1; + break; + case 's': + sflag = 1; + seed = atol(optarg); + break; + case 't': + if ((tlimit = atoi(optarg)) < 1) + errx(1, "bad time limit"); + break; + case 'w': + if ((minlength = atoi(optarg)) < 3) + errx(1, "min word length must be > 2"); + break; + case '?': + default: + usage(); + } + argc -= optind; + argv += optind; + + if (argv[0]) { /* any args left? */ + if (strcmp(argv[0], "+") == 0) + reuse = 1; + else if (strcmp(argv[0], "++") == 0) + selfuse = 1; + else if (islower(argv[0][0])) { + if (strlen(argv[0]) != 16) { + usage(); + + } else + /* This board is assumed to be valid... */ + bspec = argv[0]; + } + } + + if (batch && bspec == NULL) + errx(1, "must give both -b and a board setup"); + + if (selfuse) + for (i = 0; i < 16; i++) + adjacency[i][i] = 1; + + if (batch) { + newgame(bspec); + while ((p = batchword(stdin)) != NULL) + (void) printf("%s\n", p); + exit (0); + } + setup(sflag, seed); + prompt("Loading the dictionary..."); + if ((dictfp = opendict(DICT)) == NULL) { + warn("%s", DICT); + cleanup(); + exit(1); + } +#ifdef LOADDICT + if (loaddict(dictfp) < 0) { + warnx("can't load %s", DICT); + cleanup(); + exit(1); + } + (void)fclose(dictfp); + dictfp = NULL; +#endif + if (loadindex(DICTINDEX) < 0) { + warnx("can't load %s", DICTINDEX); + cleanup(); + exit(1); + } + + prompt("Type <space> to begin..."); + while (inputch() != ' '); + + for (done = 0; !done;) { + newgame(bspec); + bspec = NULL; /* reset for subsequent games */ + playgame(); + prompt("Type <space> to continue, any cap to quit..."); + delay(50); /* wait for user to quit typing */ + flushin(stdin); + for (;;) { + ch = inputch(); + if (ch == '\033') + findword(); + else if (ch == '\014' || ch == '\022') /* ^l or ^r */ + redraw(); + else { + if (isupper(ch)) { + done = 1; + break; + } + if (ch == ' ') + break; + } + } + } + cleanup(); + exit (0); +} + +/* + * Read a line from the given stream and check if it is legal + * Return a pointer to a legal word or a null pointer when EOF is reached + */ +char * +batchword(fp) + FILE *fp; +{ + register int *p, *q; + register char *w; + + q = &wordpath[MAXWORDLEN + 1]; + p = wordpath; + while (p < q) + *p++ = -1; + while ((w = nextword(fp)) != NULL) { + if (wordlen < minlength) + continue; + p = wordpath; + while (p < q && *p != -1) + *p++ = -1; + usedbits = 0; + if (checkword(w, -1, wordpath) != -1) + return (w); + } + return (NULL); +} + +/* + * Play a single game + * Reset the word lists from last game + * Keep track of the running stats + */ +void +playgame() +{ + /* Can't use register variables if setjmp() is used! */ + int i, *p, *q; + long t; + char buf[MAXWORDLEN + 1]; + + ngames++; + npwords = 0; + pwordsp = pwords; + nmwords = 0; + mwordsp = mwords; + + time(&start_t); + + q = &wordpath[MAXWORDLEN + 1]; + p = wordpath; + while (p < q) + *p++ = -1; + showboard(board); + startwords(); + if (setjmp(env)) { + badword(); + goto timesup; + } + + while (1) { + if (getline(buf) == NULL) { + if (feof(stdin)) + clearerr(stdin); + break; + } + time(&t); + if (t - start_t >= tlimit) { + badword(); + break; + } + if (buf[0] == '\0') { + int remaining; + + remaining = tlimit - (int) (t - start_t); + (void)snprintf(buf, sizeof(buf), + "%d:%02d", remaining / 60, remaining % 60); + showstr(buf, 1); + continue; + } + if (strlen(buf) < minlength) { + badword(); + continue; + } + + p = wordpath; + while (p < q && *p != -1) + *p++ = -1; + usedbits = 0; + + if (checkword(buf, -1, wordpath) < 0) + badword(); + else { + if (debug) { + (void) printf("["); + for (i = 0; wordpath[i] != -1; i++) + (void) printf(" %d", wordpath[i]); + (void) printf(" ]\n"); + } + for (i = 0; i < npwords; i++) { + if (strcmp(pword[i], buf) == 0) + break; + } + if (i != npwords) { /* already used the word */ + badword(); + showword(i); + } + else if (!validword(buf)) + badword(); + else { + int len; + + len = strlen(buf) + 1; + if (npwords == MAXPWORDS - 1 || + pwordsp + len >= &pwords[MAXPSPACE]) { + warnx("Too many words!"); + cleanup(); + exit(1); + } + pword[npwords++] = pwordsp; + (void) strcpy(pwordsp, buf); + pwordsp += len; + addword(buf); + } + } + } + +timesup: ; + + /* + * Sort the player's words and terminate the list with a null + * entry to help out checkdict() + */ + qsort(pword, npwords, sizeof(pword[0]), compar); + pword[npwords] = NULL; + + /* + * These words don't need to be sorted since the dictionary is sorted + */ + checkdict(); + + tnmwords += nmwords; + tnpwords += npwords; + + results(); +} + +/* + * Check if the given word is present on the board, with the constraint + * that the first letter of the word is adjacent to square 'prev' + * Keep track of the current path of squares for the word + * A 'q' must be followed by a 'u' + * Words must end with a null + * Return 1 on success, -1 on failure + */ +int +checkword(word, prev, path) + char *word; + int prev, *path; +{ + register char *p, *q; + register int i, *lm; + + if (debug) { + (void) printf("checkword(%s, %d, [", word, prev); + for (i = 0; wordpath[i] != -1; i++) + (void) printf(" %d", wordpath[i]); + (void) printf(" ]\n"); + } + + if (*word == '\0') + return (1); + + lm = letter_map[*word - 'a']; + + if (prev == -1) { + char subword[MAXWORDLEN + 1]; + + /* + * Check for letters not appearing in the cube to eliminate some + * recursive calls + * Fold 'qu' into 'q' + */ + p = word; + q = subword; + while (*p != '\0') { + if (*letter_map[*p - 'a'] == -1) + return (-1); + *q++ = *p; + if (*p++ == 'q') { + if (*p++ != 'u') + return (-1); + } + } + *q = '\0'; + while (*lm != -1) { + *path = *lm; + usedbits |= (1 << *lm); + if (checkword(subword + 1, *lm, path + 1) > 0) + return (1); + usedbits &= ~(1 << *lm); + lm++; + } + return (-1); + } + + /* + * A cube is only adjacent to itself in the adjacency matrix if selfuse + * was set, so a cube can't be used twice in succession if only the + * reuse flag is set + */ + for (i = 0; lm[i] != -1; i++) { + if (adjacency[prev][lm[i]]) { + int used; + + used = 1 << lm[i]; + /* + * If necessary, check if the square has already + * been used. + */ + if (!reuse && (usedbits & used)) + continue; + *path = lm[i]; + usedbits |= used; + if (checkword(word + 1, lm[i], path + 1) > 0) + return (1); + usedbits &= ~used; + } + } + *path = -1; /* in case of a backtrack */ + return (-1); +} + +/* + * A word is invalid if it is not in the dictionary + * At this point it is already known that the word can be formed from + * the current board + */ +int +validword(word) + char *word; +{ + register int j; + register char *q, *w; + + j = word[0] - 'a'; + if (dictseek(dictfp, dictindex[j].start, 0) < 0) { + (void) fprintf(stderr, "Seek error\n"); + cleanup(); + exit(1); + } + + while ((w = nextword(dictfp)) != NULL) { + int ch; + + if (*w != word[0]) /* end of words starting with word[0] */ + break; + q = word; + while ((ch = *w++) == *q++ && ch != '\0') + ; + if (*(w - 1) == '\0' && *(q - 1) == '\0') + return (1); + } + if (dictfp != NULL && feof(dictfp)) /* Special case for z's */ + clearerr(dictfp); + return (0); +} + +/* + * Check each word in the dictionary against the board + * Delete words from the machine list that the player has found + * Assume both the dictionary and the player's words are already sorted + */ +void +checkdict() +{ + register char *p, **pw, *w; + register int i; + int prevch, previndex, *pi, *qi, st; + + mwordsp = mwords; + nmwords = 0; + pw = pword; + prevch ='a'; + qi = &wordpath[MAXWORDLEN + 1]; + + (void) dictseek(dictfp, 0L, 0); + while ((w = nextword(dictfp)) != NULL) { + if (wordlen < minlength) + continue; + if (*w != prevch) { + /* + * If we've moved on to a word with a different first + * letter then we can speed things up by skipping all + * words starting with a letter that doesn't appear in + * the cube. + */ + i = (int) (*w - 'a'); + while (i < 26 && letter_map[i][0] == -1) + i++; + if (i == 26) + break; + previndex = prevch - 'a'; + prevch = i + 'a'; + /* + * Fall through if the word's first letter appears in + * the cube (i.e., if we can't skip ahead), otherwise + * seek to the beginning of words in the dictionary + * starting with the next letter (alphabetically) + * appearing in the cube and then read the first word. + */ + if (i != previndex + 1) { + if (dictseek(dictfp, + dictindex[i].start, 0) < 0) { + warnx("seek error in checkdict()"); + cleanup(); + exit(1); + } + continue; + } + } + + pi = wordpath; + while (pi < qi && *pi != -1) + *pi++ = -1; + usedbits = 0; + if (checkword(w, -1, wordpath) == -1) + continue; + + st = 1; + while (*pw != NULL && (st = strcmp(*pw, w)) < 0) + pw++; + if (st == 0) /* found it */ + continue; + if (nmwords == MAXMWORDS || + mwordsp + wordlen + 1 >= &mwords[MAXMSPACE]) { + warnx("too many words!"); + cleanup(); + exit(1); + } + mword[nmwords++] = mwordsp; + p = w; + while (*mwordsp++ = *p++); + } +} + +/* + * Crank up a new game + * If the argument is non-null then it is assumed to be a legal board spec + * in ascending cube order, oth. make a random board + */ +void +newgame(b) + char *b; +{ + register int i, p, q; + char *tmp; + int *lm[26]; + static char *cubes[16] = { + "ednosw", "aaciot", "acelrs", "ehinps", + "eefhiy", "elpstu", "acdemp", "gilruw", + "egkluy", "ahmors", "abilty", "adenvz", + "bfiorx", "dknotu", "abjmoq", "egintv" + }; + + if (b == NULL) { + /* + * Shake the cubes and make the board + */ + i = 0; + while (i < 100) { + p = (int) (random() % 16); + q = (int) (random() % 16); + if (p != q) { + tmp = cubes[p]; + cubes[p] = cubes[q]; + cubes[q] = tmp; + i++; + } + /* else try again */ + } + + for (i = 0; i < 16; i++) + board[i] = cubes[i][random() % 6]; + } + else { + for (i = 0; i < 16; i++) + board[i] = b[i]; + } + board[16] = '\0'; + + /* + * Set up the map from letter to location(s) + * Each list is terminated by a -1 entry + */ + for (i = 0; i < 26; i++) { + lm[i] = letter_map[i]; + *lm[i] = -1; + } + + for (i = 0; i < 16; i++) { + register int j; + + j = (int) (board[i] - 'a'); + *lm[j] = i; + *(++lm[j]) = -1; + } + + if (debug) { + for (i = 0; i < 26; i++) { + int ch, j; + + (void) printf("%c:", 'a' + i); + for (j = 0; (ch = letter_map[i][j]) != -1; j++) + (void) printf(" %d", ch); + (void) printf("\n"); + } + } + +} + +int +compar(p, q) + const void *p, *q; +{ + return (strcmp(*(char **)p, *(char **)q)); +} + +void +usage() +{ + (void) fprintf(stderr, + "usage: bog [-bd] [-s#] [-t#] [-w#] [+[+]] [boardspec]\n"); + exit(1); +} diff --git a/eBones/usr.bin/telnet/defines.h b/games/boggle/boggle/bog.h index 0978173ea9958..a25f1d751f40b 100644 --- a/eBones/usr.bin/telnet/defines.h +++ b/games/boggle/boggle/bog.h @@ -1,7 +1,10 @@ -/* - * Copyright (c) 1988, 1993 +/*- + * Copyright (c) 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -30,32 +33,53 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)defines.h 8.1 (Berkeley) 6/6/93 + * @(#)bog.h 8.1 (Berkeley) 6/11/93 + */ + +#define LOADDICT 1 /* Load the dictionary for speed */ + +/* + * Locations for the dictionary (generated by mkdict), + * index (generated by mkindex), and helpfile */ +#define DICT "/usr/share/games/boggle/dictionary" +#define DICTINDEX "/usr/share/games/boggle/dictindex" +#define HELPFILE "/usr/share/games/boggle/helpfile" -#define settimer(x) clocks.x = clocks.system++ +/* + * The theoretical maximum for MAXWORDLEN is ('a' - 1) == 96 + */ +#define MAXWORDLEN 40 /* Maximum word length */ +#define MAXPWORDS 200 /* Maximum number of player's words */ +#define MAXMWORDS 200 /* Maximum number of machine's words */ +#define MAXPSPACE 2000 /* Space for player's words */ +#define MAXMSPACE 4000 /* Space for machines's words */ -#if !defined(TN3270) +#define MAXCOLS 20 -#define SetIn3270() +/* + * The following determine the screen layout + */ +#define PROMPT_COL 20 +#define PROMPT_LINE 2 -#endif /* !defined(TN3270) */ +#define BOARD_COL 0 +#define BOARD_LINE 0 -#define NETADD(c) { *netoring.supply = c; ring_supplied(&netoring, 1); } -#define NET2ADD(c1,c2) { NETADD(c1); NETADD(c2); } -#define NETBYTES() (ring_full_count(&netoring)) -#define NETROOM() (ring_empty_count(&netoring)) +#define SCORE_COL 20 +#define SCORE_LINE 0 -#define TTYADD(c) if (!(SYNCHing||flushout)) { \ - *ttyoring.supply = c; \ - ring_supplied(&ttyoring, 1); \ - } -#define TTYBYTES() (ring_full_count(&ttyoring)) -#define TTYROOM() (ring_empty_count(&ttyoring)) +#define LIST_COL 0 +#define LIST_LINE 10 -/* Various modes */ -#define MODE_LOCAL_CHARS(m) ((m)&(MODE_EDIT|MODE_TRAPSIG)) -#define MODE_LOCAL_ECHO(m) ((m)&MODE_ECHO) -#define MODE_COMMAND_LINE(m) ((m)==-1) +#define TIMER_COL 20 +#define TIMER_LINE 2 -#define CONTROL(x) ((x)&0x1f) /* CTRL(x) is not portable */ +/* + * Internal dictionary index + * Initialized from the file created by mkindex + */ +struct dictindex { + long start; + long length; +}; diff --git a/games/boggle/boggle/boggle.6 b/games/boggle/boggle/boggle.6 new file mode 100644 index 0000000000000..2b9f3053775d8 --- /dev/null +++ b/games/boggle/boggle/boggle.6 @@ -0,0 +1,114 @@ +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Barry Brachman. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)boggle.6 8.1 (Berkeley) 6/11/93 +.\" +.TH BOGGLE 6 "June 11, 1993" +.UC +.SH NAME +boggle \- word search game +.SH SYNOPSIS +boggle [-bd] [-s seed] [-t time] [-w length] [+[+]] [boardspec] +.SH DESCRIPTION +The object of +.I boggle +is to find as many words as possible on the Boggle board within the three +minute time limit. +A Boggle board is a four by four arrangement of Boggle cubes, each side of +each cube displaying a letter of the alphabet or `qu'. +Words are formed by finding a sequence of cubes (letters) that are in the +game's dictionary. +The (N+1)th cube in the word must be horizontally, +vertically, or diagonally adjacent to the Nth cube. +Cubes cannot be reused. +Words consist solely of lower case letters and must be at least 3 letters long. +.PP +Command line flags can be given to change the rules of the game. +The +.B + +flag allows a cube to be used multiple times, but not in succession. +The +.B ++ +flag allows the same cubes to be considered adjacent to itself. +.B +A seed other than the time of day is specified by +.B -s#, +where +.B # +is the seed. +The time limit can be changed from the default 3 minutes by using the flag +.B -t#, +where +.B # +is the duration (in seconds) of each game. +The minimum word length can be changed from 3 letters by specifying +.B -w#, +where +.B # +is the minimum number of letters to use. +.PP +A starting board position can be specified on the command line by +listing the board left to right and top to bottom. +.PP +The +.B -b +flag puts +.I boggle +in batch mode. +A +.B boardspec +must also be given. +The dictionary is read from stdin and a list of words appearing in +.B boardspec +is printed to stdout. +.PP +Help is available during play by typing `?'. +More detailed information on the game is given there. +.SH BUGS +If there are a great many words in the cube the final display of the words +may scroll off of the screen. (On a 25 line screen about 130 words can be +displayed.) +.sp 2 +No word can contain a 'q' that is not immediately followed by a 'u'. +.sp 2 +When using the '+' or '++' options the display of words found in the board +doesn't indicate reused cubes. +.SH AUTHOR +Boggle is a trademark of Parker Brothers. +.br +Barry Brachman +.br +Dept. of Computer Science +.br +University of British Columbia diff --git a/eBones/usr.bin/register/pathnames.h b/games/boggle/boggle/extern.h index 611c54f28a242..9761c4f66d7c5 100644 --- a/eBones/usr.bin/register/pathnames.h +++ b/games/boggle/boggle/extern.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 1990, 1993 + * Copyright (c) 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,10 +30,42 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)pathnames.h 8.1 (Berkeley) 6/1/93 + * @(#)extern.h 8.1 (Berkeley) 6/11/93 */ -#define SERVER_KEYDIR "/etc/kerberosIV/register_keys" -#define CLIENT_KEYFILE "/etc/kerberosIV/.update.key" -#define KEYFILE_BASE ".update.key" -#define _PATH_KPASSWD "/usr/bin/passwd" +void addword __P((char *)); +void badword __P((void)); +char *batchword __P((FILE *)); +void checkdict __P((void)); +int checkword __P((char *, int, int *)); +void cleanup __P((void)); +void delay __P((int)); +long dictseek __P((FILE *, long, int)); +void findword __P((void)); +void flushin __P((FILE *)); +char *getline __P((char *)); +void getword __P((char *)); +int help __P((void)); +int inputch __P((void)); +int loaddict __P((FILE *)); +int loadindex __P((char *)); +void newgame __P((char *)); +char *nextword __P((FILE *)); +FILE *opendict __P((char *)); +void playgame __P((void)); +void prompt __P((char *)); +void prtable __P((char *[], + int, int, int, void (*)(char *[], int), int (*)(char *[], int))); +void putstr __P((char *)); +void redraw __P((void)); +void results __P((void)); +int setup __P((int, long)); +void showboard __P((char *)); +void showstr __P((char *, int)); +void showword __P((int)); +void starttime __P((void)); +void startwords __P((void)); +void stoptime __P((void)); +int timerch __P((void)); +void usage __P((void)); +int validword __P((char *)); diff --git a/eBones/lib/libtelnet/misc.c b/games/boggle/boggle/help.c index 4f8f8d53644bb..684c0ff60bd9c 100644 --- a/eBones/lib/libtelnet/misc.c +++ b/games/boggle/boggle/help.c @@ -1,7 +1,10 @@ /*- - * Copyright (c) 1991, 1993 + * Copyright (c) 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -32,67 +35,67 @@ */ #ifndef lint -static const char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 6/4/93"; +static char sccsid[] = "@(#)help.c 8.1 (Berkeley) 6/11/93"; #endif /* not lint */ +#include <curses.h> #include <stdio.h> -#include <stdlib.h> -#include "misc.h" -#include "auth.h" -#include "encrypt.h" -char *RemoteHostName; -char *LocalHostName; -char *UserNameRequested = 0; -int ConnectedCount = 0; +#include "bog.h" +#include "extern.h" - void -auth_encrypt_init(local, remote, name, server) - char *local; - char *remote; - char *name; - int server; +int +help() { - RemoteHostName = remote; - LocalHostName = local; -#if defined(AUTHENTICATION) - auth_init(name, server); -#endif -#ifdef ENCRYPTION - encrypt_init(name, server); -#endif /* ENCRYPTION */ - if (UserNameRequested) { - free(UserNameRequested); - UserNameRequested = 0; - } -} + extern int nlines; + int eof, i; + FILE *fp; + WINDOW *win; + char buf[BUFSIZ]; - void -auth_encrypt_user(name) - char *name; -{ - extern char *strdup(); + if ((fp = fopen(HELPFILE, "r")) == NULL) + return(-1); + win = newwin(0, 0, 0, 0); + clearok(win, 1); - if (UserNameRequested) - free(UserNameRequested); - UserNameRequested = name ? strdup(name) : 0; -} + eof = 0; + if (ungetc(getc(fp), fp) == EOF) { + wprintw(win, "There doesn't seem to be any help."); + eof = 1; /* Nothing there... */ + } - void -auth_encrypt_connect(cnt) - int cnt; -{ -} + while (!eof) { + for (i = 0; i < nlines - 3; i++) { + if (fgets(buf, sizeof(buf), fp) == (char *) NULL) { + eof = 1; + break; + } + if (buf[0] == '.' && buf[1] == '\n') + break; + wprintw(win, "%s", buf); + } + if (eof || ungetc(getc(fp), fp) == EOF) { + eof = 1; + break; + } + wmove(win, nlines - 1, 0); + wprintw(win, + "Type <space> to continue, anything else to quit..."); + wrefresh(win); + if ((inputch() & 0177) != ' ') + break; + wclear(win); + } - void -printd(data, cnt) - unsigned char *data; - int cnt; -{ - if (cnt > 16) - cnt = 16; - while (cnt-- > 0) { - printf(" %02x", *data); - ++data; + fclose(fp); + if (eof) { + wmove(win, nlines - 1, 0); + wprintw(win, "Hit any key to continue..."); + wrefresh(win); + inputch(); } + delwin(win); + clearok(stdscr, 1); + refresh(); + return(0); } diff --git a/games/boggle/boggle/helpfile b/games/boggle/boggle/helpfile new file mode 100644 index 0000000000000..c511efe7e1ad9 --- /dev/null +++ b/games/boggle/boggle/helpfile @@ -0,0 +1,92 @@ + +Commands: + +Enter word: <return> or <linefeed> or <space> +Delete previous character: <delete> or <backspace> +Delete line: <^u> or <^w> +Redraw screen: <^l> or <^r> +Pause game: <^s> +Resume game: <^q> or <^s> +Suspend game (BSD only): <^z> +Give up on current cube: <^d> +Show remaining time: <space> first thing on a line +Show help: ? (Suspends timer until done) +Exit game: <^c> + +(^u means "control u", etc.) + +[Note for users of versions of this program that do not display a timer: +The first word entered after the timer has run out causes a list of all the +words you found, the words you missed, and your running statistics to be +displayed.] + +Any time you are prompted while the board is displayed you can type: + <esc>word +to see where "word" is on the board. + +Usage: + bog [-b] [-d] [-s#] [-t#] [-w#] [+[+]] [boardspec] + + -b: batch mode (boardspec must be present); dictionary read from stdin + -d: debug mode + -s#: use # as the random number seed + -t#: time limit is # seconds instead of default 180 + -w#: minimum word length is # letters instead of default 3 + +: can reuse a cube, but not twice in succession + ++: can reuse cubes arbitrarily + boardspec: the first board to use (use 'q' for 'qu'); e.g.: + bog nolezeebnqieegei +. + Default Rules + +A Boggle board is a four by four arrangement of Boggle cubes. +You have 3 minutes to find as many words as possible in the Boggle board. +Words are formed by finding a sequence of cubes (letters) that are in the +game's dictionary. The (N+1)th cube in the word must be horizontally, +vertically, or diagonally adjacent to the Nth cube. Cubes cannot be reused. +Words consist solely of lower case letters and must be at least 3 letters long. +. + Options + +Command line flags can be given to change the rules of the game. +The '+' flag allows a cube to be used multiple times, but not in succession. +The '++' flag makes each cube adjacent to itself. +The time limit can be changed from the default 3 minutes by using the flag +'-t#', where # is the duration (in seconds) of each game. +The minimum word length can be changed from 3 letters by specifying 'w#', +where # is the minimum number of letters to use. +. + Bugs and Limitations + +The following bugs and problems are known to exist: + +- If there are a great many words in the cube the final display of the words + may scroll off of the screen. (On a 25 line screen about 130 words can be + displayed.) + +- Computing the complete word list can be too slow on small machines. + +- No word can contain a 'q' that is not immediately followed by a 'u'. + +- When using the '+' or '++' options the display of words found in the board + doesn't indicate reused cubes. +. + About This Program + +Permission is given to freely copy and distribute this software providing: + +1) You do not sell it, +2) You do not use it for commercial advantage, +3) If you pass the program on you must make the source code available, and +4) This notice must accompany the distribution + +Please notify the author of any bugs or if you have any suggestions. + +Copyright (c) 1988 +Barry Brachman | UUCP: {alberta,uw-beaver,uunet}! +Dept. of Computer Science| ubc-vision!ubc-csgrads!brachman +Univ. of British Columbia| Internet: brachman@cs.ubc.ca +Vancouver, B.C. V6T 1W5 | brachman%ubc.csnet@csnet-relay.arpa +(604) 228-5010 | brachman@ubc.csnet + +Boggle is a trademark of Parker Brothers. diff --git a/games/boggle/boggle/mach.c b/games/boggle/boggle/mach.c new file mode 100644 index 0000000000000..ea6071145dbd2 --- /dev/null +++ b/games/boggle/boggle/mach.c @@ -0,0 +1,676 @@ +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef lint +static char sccsid[] = "@(#)mach.c 8.1 (Berkeley) 6/11/93"; +#endif /* not lint */ + +/* + * Terminal interface + * + * Input is raw and unechoed + */ +#include <ctype.h> +#include <curses.h> +#include <fcntl.h> +#include <sgtty.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <time.h> + +#include "bog.h" +#include "extern.h" + +static int ccol, crow, maxw; +static int colstarts[MAXCOLS], ncolstarts; +static int lastline; +int ncols, nlines; + +extern char *pword[], *mword[]; +extern int ngames, nmwords, npwords, tnmwords, tnpwords; + +static void cont_catcher __P((int)); +static int prwidth __P((char *[], int)); +static void prword __P((char *[], int)); +static void stop_catcher __P((int)); +static void tty_cleanup __P((void)); +static int tty_setup __P((void)); +static void tty_showboard __P((char *)); +static void winch_catcher __P((int)); + +/* + * Do system dependent initialization + * This is called once, when the program starts + */ +int +setup(sflag, seed) + int sflag; + long seed; +{ + extern int debug; + + if (tty_setup() < 0) + return(-1); + + if (!sflag) + time(&seed); + srandom(seed); + if (debug) + (void) printf("seed = %ld\n", seed); + return(0); +} + +/* + * Do system dependent clean up + * This is called once, just before the program terminates + */ +void +cleanup() +{ + tty_cleanup(); +} + +/* + * Display the player's word list, the list of words not found, and the running + * stats + */ +void +results() +{ + int col, row; + int denom1, denom2; + + move(LIST_LINE, LIST_COL); + clrtobot(); + printw("Words you found (%d):", npwords); + refresh(); + move(LIST_LINE + 1, LIST_COL); + prtable(pword, npwords, 0, ncols, prword, prwidth); + + getyx(stdscr, row, col); + move(row + 1, col); + printw("Words you missed (%d):", nmwords); + refresh(); + move(row + 2, col); + prtable(mword, nmwords, 0, ncols, prword, prwidth); + + denom1 = npwords + nmwords; + denom2 = tnpwords + tnmwords; + + move(SCORE_LINE, SCORE_COL); + printw("Percentage: %0.2f%% (%0.2f%% over %d game%s)\n", + denom1 ? (100.0 * npwords) / (double) (npwords + nmwords) : 0.0, + denom2 ? (100.0 * tnpwords) / (double) (tnpwords + tnmwords) : 0.0, + ngames, ngames > 1 ? "s" : ""); +} + +static void +prword(base, indx) + char *base[]; + int indx; +{ + printw("%s", base[indx]); +} + +static int +prwidth(base, indx) + char *base[]; + int indx; +{ + return (strlen(base[indx])); +} + +/* + * Main input routine + * + * - doesn't accept words longer than MAXWORDLEN or containing caps + */ +char * +getline(q) + char *q; +{ + register int ch, done; + register char *p; + int row, col; + + p = q; + done = 0; + while (!done) { + ch = timerch(); + switch (ch) { + case '\n': + case '\r': + case ' ': + done = 1; + break; + case '\033': + findword(); + break; + case '\177': /* <del> */ + case '\010': /* <bs> */ + if (p == q) + break; + p--; + getyx(stdscr, row, col); + move(row, col - 1); + clrtoeol(); + refresh(); + break; + case '\025': /* <^u> */ + case '\027': /* <^w> */ + if (p == q) + break; + getyx(stdscr, row, col); + move(row, col - (int) (p - q)); + p = q; + clrtoeol(); + refresh(); + break; +#ifdef SIGTSTP + case '\032': /* <^z> */ + stop_catcher(0); + break; +#endif + case '\023': /* <^s> */ + stoptime(); + printw("<PAUSE>"); + refresh(); + while ((ch = inputch()) != '\021' && ch != '\023') + ; + move(crow, ccol); + clrtoeol(); + refresh(); + starttime(); + break; + case '\003': /* <^c> */ + cleanup(); + exit(0); + /*NOTREACHED*/ + case '\004': /* <^d> */ + done = 1; + ch = EOF; + break; + case '\014': /* <^l> */ + case '\022': /* <^r> */ + redraw(); + break; + case '?': + stoptime(); + if (help() < 0) + showstr("Can't open help file", 1); + starttime(); + break; + default: + if (!islower(ch)) + break; + if ((int) (p - q) == MAXWORDLEN) { + p = q; + badword(); + break; + } + *p++ = ch; + addch(ch); + refresh(); + break; + } + } + *p = '\0'; + if (ch == EOF) + return((char *) NULL); + return(q); +} + +int +inputch() +{ + return (getch() & 0177); +} + +void +redraw() +{ + clearok(stdscr, 1); + refresh(); +} + +void +flushin(fp) + FILE *fp; +{ + int arg; + + arg = FREAD; + (void)ioctl(fileno(fp), TIOCFLUSH, &arg); +} + +static int gone; + +/* + * Stop the game timer + */ +void +stoptime() +{ + extern long start_t; + long t; + + (void)time(&t); + gone = (int) (t - start_t); +} + +/* + * Restart the game timer + */ +void +starttime() +{ + extern long start_t; + long t; + + (void)time(&t); + start_t = t - (long) gone; +} + +/* + * Initialize for the display of the player's words as they are typed + * This display starts at (LIST_LINE, LIST_COL) and goes "down" until the last + * line. After the last line a new column is started at LIST_LINE + * Keep track of each column position for showword() + * There is no check for exceeding COLS + */ +void +startwords() +{ + crow = LIST_LINE; + ccol = LIST_COL; + maxw = 0; + ncolstarts = 1; + colstarts[0] = LIST_COL; + move(LIST_LINE, LIST_COL); + refresh(); +} + +/* + * Add a word to the list and start a new column if necessary + * The maximum width of the current column is maintained so we know where + * to start the next column + */ +void +addword(w) + char *w; +{ + int n; + + if (crow == lastline) { + crow = LIST_LINE; + ccol += (maxw + 5); + colstarts[ncolstarts++] = ccol; + maxw = 0; + move(crow, ccol); + } + else { + move(++crow, ccol); + if ((n = strlen(w)) > maxw) + maxw = n; + } + refresh(); +} + +/* + * The current word is unacceptable so erase it + */ +void +badword() +{ + + move(crow, ccol); + clrtoeol(); + refresh(); +} + +/* + * Highlight the nth word in the list (starting with word 0) + * No check for wild arg + */ +void +showword(n) + int n; +{ + int col, row; + + row = LIST_LINE + n % (lastline - LIST_LINE + 1); + col = colstarts[n / (lastline - LIST_LINE + 1)]; + move(row, col); + standout(); + printw("%s", pword[n]); + standend(); + move(crow, ccol); + refresh(); + delay(15); + move(row, col); + printw("%s", pword[n]); + move(crow, ccol); + refresh(); +} + +/* + * Get a word from the user and check if it is in either of the two + * word lists + * If it's found, show the word on the board for a short time and then + * erase the word + * + * Note: this function knows about the format of the board + */ +void +findword() +{ + int c, col, found, i, r, row; + char buf[MAXWORDLEN + 1]; + extern char board[]; + extern int usedbits, wordpath[]; + extern char *mword[], *pword[]; + extern int nmwords, npwords; + + getyx(stdscr, r, c); + getword(buf); + found = 0; + for (i = 0; i < npwords; i++) { + if (strcmp(buf, pword[i]) == 0) { + found = 1; + break; + } + } + if (!found) { + for (i = 0; i < nmwords; i++) { + if (strcmp(buf, mword[i]) == 0) { + found = 1; + break; + } + } + } + for (i = 0; i < MAXWORDLEN; i++) + wordpath[i] = -1; + usedbits = 0; + if (!found || checkword(buf, -1, wordpath) == -1) { + move(r, c); + clrtoeol(); + addstr("[???]"); + refresh(); + delay(10); + move(r, c); + clrtoeol(); + refresh(); + return; + } + + standout(); + for (i = 0; wordpath[i] != -1; i++) { + row = BOARD_LINE + (wordpath[i] / 4) * 2 + 1; + col = BOARD_COL + (wordpath[i] % 4) * 4 + 2; + move(row, col); + if (board[wordpath[i]] == 'q') + printw("Qu"); + else + printw("%c", toupper(board[wordpath[i]])); + move(r, c); + refresh(); + delay(5); + } + + standend(); + + for (i = 0; wordpath[i] != -1; i++) { + row = BOARD_LINE + (wordpath[i] / 4) * 2 + 1; + col = BOARD_COL + (wordpath[i] % 4) * 4 + 2; + move(row, col); + if (board[wordpath[i]] == 'q') + printw("Qu"); + else + printw("%c", toupper(board[wordpath[i]])); + } + move(r, c); + clrtoeol(); + refresh(); +} + +/* + * Display a string at the current cursor position for the given number of secs + */ +void +showstr(str, delaysecs) + char *str; + int delaysecs; +{ + addstr(str); + refresh(); + delay(delaysecs * 10); + move(crow, ccol); + clrtoeol(); + refresh(); +} + +void +putstr(s) + char *s; +{ + addstr(s); +} + +/* + * Get a valid word and put it in the buffer + */ +void +getword(q) + char *q; +{ + int ch, col, done, i, row; + char *p; + + done = 0; + i = 0; + p = q; + addch('['); + refresh(); + while (!done && i < MAXWORDLEN - 1) { + ch = getch() & 0177; + switch (ch) { + case '\177': /* <del> */ + case '\010': /* <bs> */ + if (p == q) + break; + p--; + getyx(stdscr, row, col); + move(row, col - 1); + clrtoeol(); + break; + case '\025': /* <^u> */ + case '\027': /* <^w> */ + if (p == q) + break; + getyx(stdscr, row, col); + move(row, col - (int) (p - q)); + p = q; + clrtoeol(); + break; + case ' ': + case '\n': + case '\r': + done = 1; + break; + case '\014': /* <^l> */ + case '\022': /* <^r> */ + clearok(stdscr, 1); + refresh(); + break; + default: + if (islower(ch)) { + *p++ = ch; + addch(ch); + i++; + } + break; + } + refresh(); + } + *p = '\0'; + addch(']'); + refresh(); +} + +void +showboard(b) + char *b; +{ + tty_showboard(b); +} + +void +prompt(mesg) + char *mesg; +{ + move(PROMPT_LINE, PROMPT_COL); + printw("%s", mesg); + move(PROMPT_LINE + 1, PROMPT_COL); + refresh(); +} + +static int +tty_setup() +{ + initscr(); + raw(); + noecho(); + + /* + * Does curses look at the winsize structure? + * Should handle SIGWINCH ... + */ + nlines = LINES; + lastline = nlines - 1; + ncols = COLS; + + (void) signal(SIGTSTP, stop_catcher); + (void) signal(SIGCONT, cont_catcher); + (void) signal(SIGWINCH, winch_catcher); + return(0); +} + +static void +stop_catcher(signo) + int signo; +{ + stoptime(); + noraw(); + echo(); + move(nlines - 1, 0); + refresh(); + + (void) signal(SIGTSTP, SIG_DFL); + (void) sigsetmask(sigblock(0) & ~(1 << (SIGTSTP-1))); + (void) kill(0, SIGTSTP); + (void) signal(SIGTSTP, stop_catcher); +} + +static void +cont_catcher(signo) + int signo; +{ + (void) signal(SIGCONT, cont_catcher); + noecho(); + raw(); + clearok(stdscr, 1); + move(crow, ccol); + refresh(); + starttime(); +} + +/* + * The signal is caught but nothing is done about it... + * It would mean reformatting the entire display + */ +static void +winch_catcher(signo) + int signo; +{ + struct winsize win; + + (void) signal(SIGWINCH, winch_catcher); + (void) ioctl(fileno(stdout), TIOCGWINSZ, &win); + /* + LINES = win.ws_row; + COLS = win.ws_col; + */ +} + +static void +tty_cleanup() +{ + move(nlines - 1, 0); + refresh(); + noraw(); + echo(); + endwin(); +} + +static void +tty_showboard(b) + char *b; +{ + register int i; + int line; + + clear(); + move(BOARD_LINE, BOARD_COL); + line = BOARD_LINE; + printw("+---+---+---+---+"); + move(++line, BOARD_COL); + for (i = 0; i < 16; i++) { + if (b[i] == 'q') + printw("| Qu"); + else + printw("| %c ", toupper(b[i])); + if ((i + 1) % 4 == 0) { + printw("|"); + move(++line, BOARD_COL); + printw("+---+---+---+---+"); + move(++line, BOARD_COL); + } + } + move(SCORE_LINE, SCORE_COL); + printw("Type '?' for help"); + refresh(); +} diff --git a/games/boggle/boggle/prtable.c b/games/boggle/boggle/prtable.c new file mode 100644 index 0000000000000..f62e00d8c6f7d --- /dev/null +++ b/games/boggle/boggle/prtable.c @@ -0,0 +1,127 @@ +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)prtable.c 8.1 (Berkeley) 6/11/93 + */ + +#include <curses.h> + +#include "extern.h" + +#define NCOLS 5 + +static int get_maxlen __P((char *[], int, int (*)(char **, int))); + +/* + * Routine to print a table + * Modified from 'ls.c' mods (BJB/83) + * Arguments: + * base - address of first entry + * num - number of entries + * d_cols - number of columns to use if > 0, "best" size if == 0 + * width - max line width if not zero + * prentry - address of the routine to call to print the string + * length - address of the routine to call to determine the length + * of string to be printed + * + * prtable and length are called with the the address of the base and + * an index + */ +void +prtable(base, num, d_cols, width, prentry, length) + char *base[]; + int num, d_cols, width; + void (*prentry) __P((char *[], int)); + int (*length) __P((char *[], int)); +{ + register int c, j; + register int a, b, cols, loc, maxlen, nrows, z; + int col, row; + + if (num == 0) + return; + maxlen = get_maxlen(base, num, length) + 1; + if (d_cols > 0) + cols = d_cols; + else + cols = width / maxlen; + if (cols == 0) + cols = NCOLS; + nrows = (num - 1) / cols + 1; + for (a = 1; a <= nrows; a++) { + b = c = z = loc = 0; + for (j = 0; j < num; j++) { + c++; + if (c >= a + b) + break; + } + while (j < num) { + (*prentry)(base, j); + loc += (*length)(base, j); + z++; + b += nrows; + for (j++; j < num; j++) { + c++; + if (c >= a + b) + break; + } + if (j < num) { + while (loc < z * maxlen) { + addch(' '); + loc++; + } + } + } + getyx(stdscr, row, col); + move(row + 1, 0); + } + refresh(); +} + +static int +get_maxlen(base, num, length) + char *base[]; + int num; + int (*length) __P((char **, int)); +{ + register int i, len, max; + + max = (*length)(base, 0); + for (i = 0; i < num; i++) { + if ((len = (*length)(base, i)) > max) + max = len; + } + return(max); +} diff --git a/eBones/lib/libtelnet/genget.c b/games/boggle/boggle/timer.c index de3048e93d514..f4ed6b8c334ad 100644 --- a/eBones/lib/libtelnet/genget.c +++ b/games/boggle/boggle/timer.c @@ -1,7 +1,10 @@ /*- - * Copyright (c) 1991, 1993 + * Copyright (c) 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -32,73 +35,85 @@ */ #ifndef lint -static const char sccsid[] = "@(#)genget.c 8.2 (Berkeley) 5/30/95"; +static char sccsid[] = "@(#)timer.c 8.2 (Berkeley) 2/22/94"; #endif /* not lint */ +#include <sys/param.h> +#include <sys/time.h> + +#include <curses.h> +#include <setjmp.h> +#include <stdio.h> +#include <unistd.h> +#include <string.h> -#include <ctype.h> +#include "bog.h" +#include "extern.h" + +static int waitch __P((long)); -#define LOWER(x) (isupper(x) ? tolower(x) : (x)) /* - * The prefix function returns 0 if *s1 is not a prefix - * of *s2. If *s1 exactly matches *s2, the negative of - * the length is returned. If *s1 is a prefix of *s2, - * the length of *s1 is returned. + * Update the display of the remaining time while waiting for a character + * If time runs out do a longjmp() to the game controlling routine, returning + * non-zero; oth. return the character + * Leave the cursor where it was initially */ - int -isprefix(s1, s2) - register char *s1, *s2; +int +timerch() { - char *os1; - register char c1, c2; + extern int tlimit; + extern long start_t; + extern jmp_buf env; + long prevt, t; + int col, remaining, row; - if (*s1 == '\0') - return(-1); - os1 = s1; - c1 = *s1; - c2 = *s2; - while (LOWER(c1) == LOWER(c2)) { - if (c1 == '\0') + getyx(stdscr, row, col); + prevt = 0L; + for (;;) { + if (waitch(1000L) == 1) break; - c1 = *++s1; - c2 = *++s2; - } - return(*s1 ? 0 : (*s2 ? (s1 - os1) : (os1 - s1))); -} - -static char *ambiguous; /* special return value for command routines */ - - char ** -genget(name, table, stlen) - char *name; /* name to match */ - char **table; /* name entry in table */ - int stlen; -{ - register char **c, **found; - register int n; - - if (name == 0) - return 0; - - found = 0; - for (c = table; *c != 0; c = (char **)((char *)c + stlen)) { - if ((n = isprefix(name, *c)) == 0) + time(&t); + if (t == prevt) continue; - if (n < 0) /* exact match */ - return(c); - if (found) - return(&ambiguous); - found = c; + prevt = t; + remaining = tlimit - (int) (t - start_t); + if (remaining < 0) { + longjmp(env, 1); + /*NOTREACHED*/ + } + move(TIMER_LINE, TIMER_COL); + printw("%d:%02d", remaining / 60, remaining % 60); + move(row, col); + refresh(); } - return(found); + return (getch() & 0177); } /* - * Function call version of Ambiguous() + * Wait up to 'delay' microseconds for input to appear + * Returns 1 if input is ready, 0 oth. */ - int -Ambiguous(s) - char **s; +static int +waitch(delay) + long delay; { - return(s == &ambiguous); + fd_set fdbits; + struct timeval duration; + + duration.tv_sec = 0; + duration.tv_usec = delay; + FD_ZERO(&fdbits); + FD_SET(STDIN_FILENO, &fdbits); + return (select(32, &fdbits, NULL, NULL, &duration)); +} + +void +delay(tenths) + int tenths; +{ + struct timeval duration; + + duration.tv_usec = (tenths % 10 ) * 100000L; + duration.tv_sec = (long) (tenths / 10); + select(32, 0, 0, 0, &duration); } diff --git a/games/boggle/boggle/word.c b/games/boggle/boggle/word.c new file mode 100644 index 0000000000000..ed4cf28cfaca4 --- /dev/null +++ b/games/boggle/boggle/word.c @@ -0,0 +1,216 @@ +/*- + * Copyright (c) 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef lint +static char sccsid[] = "@(#)word.c 8.1 (Berkeley) 6/11/93"; +#endif /* not lint */ + +#include <sys/types.h> +#include <sys/stat.h> + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "bog.h" +#include "extern.h" + +static char *dictspace, *dictend; +static char *sp; + +static int first = 1, lastch = 0; + +/* + * Return the next word in the compressed dictionary in 'buffer' or + * NULL on end-of-file + */ +char * +nextword(fp) + FILE *fp; +{ + extern int wordlen; + register int ch, pcount; + register char *p; + static char buf[MAXWORDLEN + 1]; + + if (fp == NULL) { + if (sp == dictend) + return (NULL); + + p = buf + (int) *sp++; + + /* + * The dictionary ends with a null byte + */ + while (*sp >= 'a') + if ((*p++ = *sp++) == 'q') + *p++ = 'u'; + } else { + if (first) { + if ((pcount = getc(fp)) == EOF) + return (NULL); + first = 0; + } else if ((pcount = lastch) == EOF) + return (NULL); + + p = buf + pcount; + + while ((ch = getc(fp)) != EOF && ch >= 'a') + if ((*p++ = ch) == 'q') + *p++ = 'u'; + lastch = ch; + } + wordlen = (int) (p - buf); + *p = '\0'; + return (buf); +} + +/* + * Reset the state of nextword() and do the fseek() + */ +long +dictseek(fp, offset, ptrname) + FILE *fp; + long offset; + int ptrname; +{ + if (fp == NULL) { + if ((sp = dictspace + offset) >= dictend) + return (-1); + return (0); + } + + first = 1; + return (fseek(fp, offset, ptrname)); +} + +FILE * +opendict(dict) + char *dict; +{ + FILE *fp; + + if ((fp = fopen(dict, "r")) == NULL) + return (NULL); + return (fp); +} + +/* + * Load the given dictionary and initialize the pointers + */ +int +loaddict(fp) + FILE *fp; +{ + struct stat statb; + long n; + int st; + char *p; + + if (fstat(fileno(fp), &statb) < 0) { + (void)fclose(fp); + return (-1); + } + + /* + * An extra character (a sentinel) is allocated and set to null + * to improve the expansion loop in nextword(). + */ + if ((dictspace = malloc(statb.st_size + 1)) == NULL) { + (void)fclose(fp); + return (-1); + } + n = (long)statb.st_size; + sp = dictspace; + dictend = dictspace + n; + + p = dictspace; + st = -1; + while (n > 0 && (st = fread(p, 1, BUFSIZ, fp)) > 0) { + p += st; + n -= st; + } + if (st < 0) { + (void)fclose(fp); + (void)fprintf(stderr, "Error reading dictionary\n"); + return (-1); + } + *p = '\0'; + return (0); +} + +/* + * Dependent on the exact format of the index file: + * Starting offset field begins in column 1 and length field in column 9 + * Taking the easy way out, the input buffer is made "large" and a check + * is made for lines that are too long + */ +int +loadindex(indexfile) + char *indexfile; +{ + register int i, j; + char buf[BUFSIZ]; + FILE *fp; + extern struct dictindex dictindex[]; + + if ((fp = fopen(indexfile, "r")) == NULL) { + (void) fprintf(stderr, "Can't open '%s'\n", indexfile); + return (-1); + } + i = 0; + while (fgets(buf, sizeof(buf), fp) != NULL) { + if (strchr(buf, '\n') == NULL) { + (void)fprintf(stderr, + "A line in the index file is too long\n"); + return(-1); + } + j = *buf - 'a'; + if (i != j) { + (void) fprintf(stderr, "Bad index order\n"); + return(-1); + } + dictindex[j].start = atol(buf + 1); + dictindex[j].length = atol(buf + 9) - dictindex[j].start; + i++; + } + if (i != 26) { + (void) fprintf(stderr, "Bad index length\n"); + return(-1); + } + (void) fclose(fp); + return(0); +} diff --git a/games/boggle/mkdict/Makefile b/games/boggle/mkdict/Makefile new file mode 100644 index 0000000000000..83a323a1952b9 --- /dev/null +++ b/games/boggle/mkdict/Makefile @@ -0,0 +1,9 @@ +# @(#)Makefile 8.1 (Berkeley) 6/11/93 + +PROG= mkdict +CFLAGS+=-I${.CURDIR}/../boggle +NOMAN=noman + +install: + +.include <bsd.prog.mk> diff --git a/eBones/usr.sbin/make_keypair/make_keypair.c b/games/boggle/mkdict/mkdict.c index deb67ac60e1fa..2bec6a88973f7 100644 --- a/eBones/usr.sbin/make_keypair/make_keypair.c +++ b/games/boggle/mkdict/mkdict.c @@ -1,7 +1,10 @@ /*- - * Copyright (c) 1988, 1993 + * Copyright (c) 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -31,104 +34,91 @@ * SUCH DAMAGE. */ -#if 0 #ifndef lint static char copyright[] = -"@(#) Copyright (c) 1988, 1993\n\ +"@(#) Copyright (c) 1993\n\ The Regents of the University of California. All rights reserved.\n"; -static char sccsid[] = "@(#)make_keypair.c 8.1 (Berkeley) 6/1/93"; #endif /* not lint */ -#endif -#include <sys/types.h> -#include <sys/file.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <unistd.h> -#include <string.h> -#include <stdio.h> -#include <netdb.h> -#include <des.h> -#include <krb.h> -#include "pathnames.h" -#include "register_proto.h" +#ifndef lint +static char sccsid[] = "@(#)mkdict.c 8.1 (Berkeley) 6/11/93"; +#endif /* not lint */ -void usage(char *name); -void make_key(struct in_addr addr); +/* + * Filter out words that: + * 1) Are not completely made up of lower case letters + * 2) Contain a 'q' not immediately followed by a 'u' + * 3) Are less that 3 characters long + * 4) Are greater than MAXWORDLEN characters long + */ -char * progname; +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "bog.h" -void +int main(argc, argv) - int argc; - char **argv; + int argc; + char *argv[]; { - struct hostent *hp; - char *addr; - int i; - struct sockaddr_in sin; - - progname = *argv; /* argv[0] */ - - if (argc != 2) { - usage(argv[0]); - exit(1); - } + register char *p, *q; + register int ch, common, n, nwords; + int current, len, prev, qcount; + char buf[2][MAXWORDLEN + 1]; - if ((hp = gethostbyname(argv[1])) == NULL) { - herror(argv[1]); - exit(1); - } + prev = 0; + current = 1; + buf[prev][0] = '\0'; + if (argc == 2) + n = atoi(argv[1]); - for (i = 0; (addr = hp->h_addr_list[i]); i++) { - addr = hp->h_addr_list[i]; - bcopy(addr, &sin.sin_addr, hp->h_length); + for (nwords = 1; + fgets(buf[current], MAXWORDLEN + 1, stdin) != NULL; ++nwords) { + if ((p = index(buf[current], '\n')) == NULL) { + fprintf(stderr, + "mkdict: word too long: %s\n", buf[current]); + while ((ch = getc(stdin)) != EOF && ch != '\n') + ; + if (ch == EOF) + break; + continue; + } + len = 0; + for (p = buf[current]; *p != '\n'; p++) { + if (!islower(*p)) + break; + if (*p == 'q') { + q = p + 1; + if (*q != 'u') + break; + else { + while (*q = *(q + 1)) + q++; + } + len++; + } + len++; + } + if (*p != '\n' || len < 3 || len > MAXWORDLEN) + continue; + if (argc == 2 && nwords % n) + continue; - printf("Making key for host %s (%s)\n", - argv[1], inet_ntoa(sin.sin_addr)); - make_key(sin.sin_addr); + *p = '\0'; + p = buf[current]; + q = buf[prev]; + qcount = 0; + while ((ch = *p++) == *q++ && ch != '\0') + if (ch == 'q') + qcount++; + common = p - buf[current] - 1; + printf("%c%s", common + qcount, p - 1); + prev = !prev; + current = !current; } - printf("==========\n"); - printf("One copy of the each key should be put in %s on the\n", - SERVER_KEYDIR); - printf("Kerberos server machine (mode 600, owner root).\n"); - printf("Another copy of each key should be put on the named\n"); - printf("client as %sXXX.XXX.XXX.XXX (same modes as above),\n", - CLIENT_KEYFILE); - printf("where the X's refer to digits of the host's inet address.\n"); - (void)fflush(stdout); + fprintf(stderr, "%d words\n", nwords); exit(0); } - -void -make_key(addr) - struct in_addr addr; -{ - struct keyfile_data kfile; - char namebuf[255]; - int fd; - - (void)sprintf(namebuf, "%s%s", - CLIENT_KEYFILE, - inet_ntoa(addr)); - fd = open(namebuf, O_WRONLY|O_CREAT, 0600); - if (fd < 0) { - perror("open"); - exit(1); - } - random_key(kfile.kf_key); - printf("writing to file -> %s ...", namebuf); - if (write(fd, &kfile, sizeof(kfile)) != sizeof(kfile)) { - fprintf(stderr, "error writing file %s\n", namebuf); - } - printf("done.\n"); - (void)close(fd); - return; -} - -void -usage(name) - char *name; -{ - fprintf(stderr, "usage: %s host\n", name); -} diff --git a/games/boggle/mkindex/Makefile b/games/boggle/mkindex/Makefile new file mode 100644 index 0000000000000..0b8a02f427409 --- /dev/null +++ b/games/boggle/mkindex/Makefile @@ -0,0 +1,9 @@ +# @(#)Makefile 8.1 (Berkeley) 6/11/93 + +PROG= mkindex +CFLAGS+=-I${.CURDIR}/../boggle +NOMAN=noman + +install: + +.include <bsd.prog.mk> diff --git a/eBones/usr.bin/telnet/authenc.c b/games/boggle/mkindex/mkindex.c index f829b1a741a9b..d9f97fa52c3c7 100644 --- a/eBones/usr.bin/telnet/authenc.c +++ b/games/boggle/mkindex/mkindex.c @@ -1,7 +1,10 @@ /*- - * Copyright (c) 1991, 1993 + * Copyright (c) 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Barry Brachman. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -32,80 +35,86 @@ */ #ifndef lint -static const char sccsid[] = "@(#)authenc.c 8.1 (Berkeley) 6/6/93"; +static char copyright[] = +"@(#) Copyright (c) 1993\n\ + The Regents of the University of California. All rights reserved.\n"; +#endif /* not lint */ + +#ifndef lint +static char sccsid[] = "@(#)mkindex.c 8.1 (Berkeley) 6/11/93"; #endif /* not lint */ -#if defined(AUTHENTICATION) || defined(ENCRYPTION) -#include <sys/types.h> -#include <arpa/telnet.h> -#include <libtelnet/encrypt.h> -#include <libtelnet/misc.h> +#include <stdio.h> -#include "general.h" -#include "ring.h" -#include "externs.h" -#include "defines.h" -#include "types.h" +#include "bog.h" - int -net_write(str, len) - unsigned char *str; - int len; +char *nextword __P((FILE *, char *, int *, int *)); + +int +main(argc, argv) + int argc; + char *argv[]; { - if (NETROOM() > len) { - ring_supply_data(&netoring, str, len); - if (str[0] == IAC && str[1] == SE) - printsub('>', &str[2], len-2); - return(len); + int clen, rlen, prev; + long off, start; + char buf[MAXWORDLEN + 1]; + + prev = '\0'; + off = start = 0L; + while (nextword(stdin, buf, &clen, &rlen) != NULL) { + if (*buf != prev) { + if (prev != '\0') + printf("%c %6ld %6ld\n", prev, start, off - 1); + prev = *buf; + start = off; + } + off += clen + 1; } - return(0); + printf("%c %6ld %6ld\n", prev, start, off - 1); + exit(0); } - void -net_encrypt() +/* + * Return the next word in the compressed dictionary in 'buffer' or + * NULL on end-of-file + * Also set clen to the length of the compressed word (for mkindex) and + * rlen to the strlen() of the real word + */ +char * +nextword(fp, buffer, clen, rlen) + FILE *fp; + char *buffer; + int *clen, *rlen; { -#ifdef ENCRYPTION - if (encrypt_output) - ring_encrypt(&netoring, encrypt_output); - else - ring_clearto(&netoring); -#endif /* ENCRYPTION */ -} + register int ch, pcount; + register char *p, *q; + static char buf[MAXWORDLEN + 1]; + static int first = 1; + static int lastch = 0; - int -telnet_spin() -{ - return(-1); -} + if (first) { + if ((pcount = getc(fp)) == EOF) + return (NULL); + first = 0; + } + else if ((pcount = lastch) == EOF) + return (NULL); - char * -telnet_getenv(val) - char *val; -{ - return((char *)env_getvalue((unsigned char *)val)); -} + p = buf + (*clen = pcount); - char * -telnet_gets(prompt, result, length, echo) - char *prompt; - char *result; - int length; - int echo; -{ - extern char *getpass(); - extern int globalmode; - int om = globalmode; - char *res; + while ((ch = getc(fp)) != EOF && ch >= 'a') + *p++ = ch; + lastch = ch; + *p = '\0'; + + *rlen = (int) (p - buf); + *clen = *rlen - *clen; - TerminalNewMode(-1); - if (echo) { - printf("%s", prompt); - res = fgets(result, length, stdin); - } else if ((res = getpass(prompt))) { - strncpy(result, res, length); - res = result; + p = buf; + q = buffer; + while ((*q++ = *p) != '\0') { + if (*p++ == 'q') + *q++ = 'u'; } - TerminalNewMode(om); - return(res); + return (buffer); } -#endif /* defined(AUTHENTICATION) || defined(ENCRYPTION) */ diff --git a/games/bs/Makefile b/games/bs/Makefile index 31498f4b9c88f..6eef432a96482 100644 --- a/games/bs/Makefile +++ b/games/bs/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.1.1 1994/12/03 04:33:28 ache Exp $ PROG= bs MAN6= bs.6 diff --git a/games/grdc/Makefile b/games/grdc/Makefile index 543f4be377db8..d509e67abeb21 100644 --- a/games/grdc/Makefile +++ b/games/grdc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1994/12/03 04:34:46 ache Exp $ +# $Id: Makefile,v 1.1.1.1 1994/12/04 21:51:19 ache Exp $ PROG= grdc MAN6= grdc.6 diff --git a/games/hack/hack.version.c b/games/hack/hack.version.c index 3ac6868c151a3..0c2febc9864e2 100644 --- a/games/hack/hack.version.c +++ b/games/hack/hack.version.c @@ -1,6 +1,6 @@ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* hack.version.c - version 1.0.3 */ -/* $Header: hack.version.c,v 1.5 85/05/09 00:40:41 aeb Exp $ */ +/* $Header: /home/ncvs/src/games/hack/hack.version.c,v 1.1.1.1 1994/09/04 04:02:54 jkh Exp $ */ #include "date.h" diff --git a/games/phantasia/phantasia.6 b/games/phantasia/phantasia.6 index 5fc64a3e2efcf..128ef8c335df6 100644 --- a/games/phantasia/phantasia.6 +++ b/games/phantasia/phantasia.6 @@ -1,4 +1,4 @@ -.\" $Id$ +.\" $Id: phantasia.6,v 1.2 1996/10/05 22:26:14 wosch Exp $ .\" .de sh .br diff --git a/games/piano/piano.c b/games/piano/piano.c index 69b3476976b0f..a1564e196ff72 100644 --- a/games/piano/piano.c +++ b/games/piano/piano.c @@ -1,7 +1,7 @@ /* * piano.c - a piano emulator */ -static char rcsid[] = "$Id: piano.c,v 1.1.1.1 1995/04/28 17:38:07 jkh Exp $"; +static char rcsid[] = "$Id: piano.c,v 1.2 1995/05/30 03:37:05 rgrimes Exp $"; #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/games/sail/sail.6 b/games/sail/sail.6 index 6fb647be459ca..bf6e4f56659c5 100644 --- a/games/sail/sail.6 +++ b/games/sail/sail.6 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)sail.6 8.2 (Berkeley) 12/30/93 -.\" $Id$ +.\" $Id: sail.6,v 1.2 1996/10/05 22:26:16 wosch Exp $ .\" .TH SAIL 6 "December 30, 1993" .UC 4 diff --git a/games/tetris/Makefile b/games/tetris/Makefile new file mode 100644 index 0000000000000..d545f8383da7b --- /dev/null +++ b/games/tetris/Makefile @@ -0,0 +1,10 @@ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= tetris +SRCS= input.c screen.c shapes.c scores.c tetris.c +MAN6= tetris.6 +DPADD= ${LIBTERMCAP} +LDADD= -ltermcap +HIDEGAME=hidegame + +.include <bsd.prog.mk> diff --git a/games/tetris/input.c b/games/tetris/input.c new file mode 100644 index 0000000000000..48da0884cd76b --- /dev/null +++ b/games/tetris/input.c @@ -0,0 +1,180 @@ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)input.c 8.1 (Berkeley) 5/31/93 + */ + +/* + * Tetris input. + */ + +#include <sys/types.h> +#include <sys/time.h> + +#include <errno.h> +#include <unistd.h> + +#include "input.h" +#include "tetris.h" + +/* return true iff the given timeval is positive */ +#define TV_POS(tv) \ + ((tv)->tv_sec > 0 || ((tv)->tv_sec == 0 && (tv)->tv_usec > 0)) + +/* subtract timeval `sub' from `res' */ +#define TV_SUB(res, sub) \ + (res)->tv_sec -= (sub)->tv_sec; \ + (res)->tv_usec -= (sub)->tv_usec; \ + if ((res)->tv_usec < 0) { \ + (res)->tv_usec += 1000000; \ + (res)->tv_sec--; \ + } + +/* + * Do a `read wait': select for reading from stdin, with timeout *tvp. + * On return, modify *tvp to reflect the amount of time spent waiting. + * It will be positive only if input appeared before the time ran out; + * otherwise it will be zero or perhaps negative. + * + * If tvp is nil, wait forever, but return if select is interrupted. + * + * Return 0 => no input, 1 => can read() from stdin + */ +int +rwait(tvp) + register struct timeval *tvp; +{ + int i; + struct timeval starttv, endtv, *s; + extern int errno; +#define NILTZ ((struct timezone *)0) + + /* + * Someday, select() will do this for us. + * Just in case that day is now, and no one has + * changed this, we use a temporary. + */ + if (tvp) { + (void) gettimeofday(&starttv, NILTZ); + endtv = *tvp; + s = &endtv; + } else + s = 0; +again: + i = 1; + switch (select(1, (fd_set *)&i, (fd_set *)0, (fd_set *)0, s)) { + + case -1: + if (tvp == 0) + return (-1); + if (errno == EINTR) + goto again; + stop("select failed, help"); + /* NOTREACHED */ + + case 0: /* timed out */ + tvp->tv_sec = 0; + tvp->tv_usec = 0; + return (0); + } + if (tvp) { + /* since there is input, we may not have timed out */ + (void) gettimeofday(&endtv, NILTZ); + TV_SUB(&endtv, &starttv); + TV_SUB(tvp, &endtv); /* adjust *tvp by elapsed time */ + } + return (1); +} + +/* + * `sleep' for the current turn time (using select). + * Eat any input that might be available. + */ +void +tsleep() +{ + struct timeval tv; + char c; + + tv.tv_sec = 0; + tv.tv_usec = fallrate; + while (TV_POS(&tv)) + if (rwait(&tv) && read(0, &c, 1) != 1) + break; +} + +/* + * Eat up any input (used at end of game). + */ +void +eat_input() +{ + struct timeval tv; + char c; + + do { + tv.tv_sec = tv.tv_usec = 0; + } while (rwait(&tv) && read(0, &c, 1) == 1); +} + +/* + * getchar with timeout. + */ +int +tgetchar() +{ + static struct timeval timeleft; + char c; + + /* + * Reset timeleft to fallrate whenever it is not positive. + * In any case, wait to see if there is any input. If so, + * take it, and update timeleft so that the next call to + * tgetchar() will not wait as long. If there is no input, + * make timeleft zero or negative, and return -1. + * + * Most of the hard work is done by rwait(). + */ + if (!TV_POS(&timeleft)) { + faster(); /* go faster */ + timeleft.tv_sec = 0; + timeleft.tv_usec = fallrate; + } + if (!rwait(&timeleft)) + return (-1); + if (read(0, &c, 1) != 1) + stop("end of file, help"); + return ((int)(unsigned char)c); +} diff --git a/eBones/lib/libtelnet/misc.h b/games/tetris/input.h index 41ffa7f67aa71..733182d73357e 100644 --- a/eBones/lib/libtelnet/misc.h +++ b/games/tetris/input.h @@ -1,7 +1,10 @@ /*- - * Copyright (c) 1991, 1993 + * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -30,13 +33,10 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)misc.h 8.1 (Berkeley) 6/4/93 + * @(#)input.h 8.1 (Berkeley) 5/31/93 */ -extern char *UserNameRequested; -extern char *LocalHostName; -extern char *RemoteHostName; -extern int ConnectedCount; -extern int ReservedPort; - -#include "misc-proto.h" +void eat_input __P((void)); +int rwait __P((struct timeval *)); +int tgetchar __P((void)); +void tsleep __P((void)); diff --git a/eBones/usr.bin/register/register_proto.h b/games/tetris/pathnames.h index 54789494071fd..ba08dd116125e 100644 --- a/eBones/usr.bin/register/register_proto.h +++ b/games/tetris/pathnames.h @@ -1,7 +1,10 @@ /*- - * Copyright (c) 1989, 1993 + * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -30,14 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)register_proto.h 8.1 (Berkeley) 6/1/93 + * @(#)pathnames.h 8.1 (Berkeley) 5/31/93 */ -#define APPEND_DB 0x01 -#define ABORT 0x02 - -#define GOTKEY_MSG "GOTKEY" - -struct keyfile_data { - C_Block kf_key; -}; +#define _PATH_SCOREFILE "/var/games/tetris.scores" diff --git a/games/tetris/scores.c b/games/tetris/scores.c new file mode 100644 index 0000000000000..e7e6bb590ad88 --- /dev/null +++ b/games/tetris/scores.c @@ -0,0 +1,472 @@ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)scores.c 8.1 (Berkeley) 5/31/93 + */ + +/* + * Score code for Tetris, by Darren Provine (kilroy@gboro.glassboro.edu) + * modified 22 January 1992, to limit the number of entries any one + * person has. + * + * Major whacks since then. + */ +#include <errno.h> +#include <fcntl.h> +#include <pwd.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#include <unistd.h> + +/* + * XXX - need a <termcap.h> + */ +int tputs __P((const char *, int, int (*)(int))); + +#include "pathnames.h" +#include "screen.h" +#include "scores.h" +#include "tetris.h" + +/* + * Within this code, we can hang onto one extra "high score", leaving + * room for our current score (whether or not it is high). + * + * We also sometimes keep tabs on the "highest" score on each level. + * As long as the scores are kept sorted, this is simply the first one at + * that level. + */ +#define NUMSPOTS (MAXHISCORES + 1) +#define NLEVELS (MAXLEVEL + 1) + +static time_t now; +static int nscores; +static int gotscores; +static struct highscore scores[NUMSPOTS]; + +static int checkscores __P((struct highscore *, int)); +static int cmpscores __P((const void *, const void *)); +static void getscores __P((FILE **)); +static void printem __P((int, int, struct highscore *, int, const char *)); +static char *thisuser __P((void)); + +/* + * Read the score file. Can be called from savescore (before showscores) + * or showscores (if savescore will not be called). If the given pointer + * is not NULL, sets *fpp to an open file pointer that corresponds to a + * read/write score file that is locked with LOCK_EX. Otherwise, the + * file is locked with LOCK_SH for the read and closed before return. + * + * Note, we assume closing the stdio file releases the lock. + */ +static void +getscores(fpp) + FILE **fpp; +{ + int sd, mint, lck; + char *mstr, *human; + FILE *sf; + + if (fpp != NULL) { + mint = O_RDWR | O_CREAT; + mstr = "r+"; + human = "read/write"; + lck = LOCK_EX; + } else { + mint = O_RDONLY; + mstr = "r"; + human = "reading"; + lck = LOCK_SH; + } + sd = open(_PATH_SCOREFILE, mint, 0666); + if (sd < 0) { + if (fpp == NULL) { + nscores = 0; + return; + } + (void)fprintf(stderr, "tetris: cannot open %s for %s: %s\n", + _PATH_SCOREFILE, human, strerror(errno)); + exit(1); + } + if ((sf = fdopen(sd, mstr)) == NULL) { + (void)fprintf(stderr, "tetris: cannot fdopen %s for %s: %s\n", + _PATH_SCOREFILE, human, strerror(errno)); + exit(1); + } + + /* + * Grab a lock. + */ + if (flock(sd, lck)) + (void)fprintf(stderr, + "tetris: warning: score file %s cannot be locked: %s\n", + _PATH_SCOREFILE, strerror(errno)); + + nscores = fread(scores, sizeof(scores[0]), MAXHISCORES, sf); + if (ferror(sf)) { + (void)fprintf(stderr, "tetris: error reading %s: %s\n", + _PATH_SCOREFILE, strerror(errno)); + exit(1); + } + + if (fpp) + *fpp = sf; + else + (void)fclose(sf); +} + +void +savescore(level) + int level; +{ + register struct highscore *sp; + register int i; + int change; + FILE *sf; + const char *me; + + getscores(&sf); + gotscores = 1; + (void)time(&now); + + /* + * Allow at most one score per person per level -- see if we + * can replace an existing score, or (easiest) do nothing. + * Otherwise add new score at end (there is always room). + */ + change = 0; + me = thisuser(); + for (i = 0, sp = &scores[0]; i < nscores; i++, sp++) { + if (sp->hs_level != level || strcmp(sp->hs_name, me) != 0) + continue; + if (score > sp->hs_score) { + (void)printf("%s bettered %s %d score of %d!\n", + "\nYou", "your old level", level, + sp->hs_score * sp->hs_level); + sp->hs_score = score; /* new score */ + sp->hs_time = now; /* and time */ + change = 1; + } else if (score == sp->hs_score) { + (void)printf("%s tied %s %d high score.\n", + "\nYou", "your old level", level); + sp->hs_time = now; /* renew it */ + change = 1; /* gotta rewrite, sigh */ + } /* else new score < old score: do nothing */ + break; + } + if (i >= nscores) { + strcpy(sp->hs_name, me); + sp->hs_level = level; + sp->hs_score = score; + sp->hs_time = now; + nscores++; + change = 1; + } + + if (change) { + /* + * Sort & clean the scores, then rewrite. + */ + nscores = checkscores(scores, nscores); + rewind(sf); + if (fwrite(scores, sizeof(*sp), nscores, sf) != nscores || + fflush(sf) == EOF) + (void)fprintf(stderr, + "tetris: error writing %s: %s -- %s\n", + _PATH_SCOREFILE, strerror(errno), + "high scores may be damaged"); + } + (void)fclose(sf); /* releases lock */ +} + +/* + * Get login name, or if that fails, get something suitable. + * The result is always trimmed to fit in a score. + */ +static char * +thisuser() +{ + register const char *p; + register struct passwd *pw; + register size_t l; + static char u[sizeof(scores[0].hs_name)]; + + if (u[0]) + return (u); + p = getlogin(); + if (p == NULL || *p == '\0') { + pw = getpwuid(getuid()); + if (pw != NULL) + p = pw->pw_name; + else + p = " ???"; + } + l = strlen(p); + if (l >= sizeof(u)) + l = sizeof(u) - 1; + bcopy(p, u, l); + u[l] = '\0'; + return (u); +} + +/* + * Score comparison function for qsort. + * + * If two scores are equal, the person who had the score first is + * listed first in the highscore file. + */ +static int +cmpscores(x, y) + const void *x, *y; +{ + register const struct highscore *a, *b; + register long l; + + a = x; + b = y; + l = (long)b->hs_level * b->hs_score - (long)a->hs_level * a->hs_score; + if (l < 0) + return (-1); + if (l > 0) + return (1); + if (a->hs_time < b->hs_time) + return (-1); + if (a->hs_time > b->hs_time) + return (1); + return (0); +} + +/* + * If we've added a score to the file, we need to check the file and ensure + * that this player has only a few entries. The number of entries is + * controlled by MAXSCORES, and is to ensure that the highscore file is not + * monopolised by just a few people. People who no longer have accounts are + * only allowed the highest score. Scores older than EXPIRATION seconds are + * removed, unless they are someone's personal best. + * Caveat: the highest score on each level is always kept. + */ +static int +checkscores(hs, num) + register struct highscore *hs; + int num; +{ + register struct highscore *sp; + register int i, j, k, numnames; + int levelfound[NLEVELS]; + struct peruser { + char *name; + int times; + } count[NUMSPOTS]; + register struct peruser *pu; + + /* + * Sort so that highest totals come first. + * + * levelfound[i] becomes set when the first high score for that + * level is encountered. By definition this is the highest score. + */ + qsort((void *)hs, nscores, sizeof(*hs), cmpscores); + for (i = MINLEVEL; i < NLEVELS; i++) + levelfound[i] = 0; + numnames = 0; + for (i = 0, sp = hs; i < num;) { + /* + * This is O(n^2), but do you think we care? + */ + for (j = 0, pu = count; j < numnames; j++, pu++) + if (strcmp(sp->hs_name, pu->name) == 0) + break; + if (j == numnames) { + /* + * Add new user, set per-user count to 1. + */ + pu->name = sp->hs_name; + pu->times = 1; + numnames++; + } else { + /* + * Two ways to keep this score: + * - Not too many (per user), still has acct, & + * score not dated; or + * - High score on this level. + */ + if ((pu->times < MAXSCORES && + getpwnam(sp->hs_name) != NULL && + sp->hs_time + EXPIRATION >= now) || + levelfound[sp->hs_level] == 0) + pu->times++; + else { + /* + * Delete this score, do not count it, + * do not pass go, do not collect $200. + */ + num--; + for (k = i; k < num; k++) + hs[k] = hs[k + 1]; + continue; + } + } + levelfound[sp->hs_level] = 1; + i++, sp++; + } + return (num > MAXHISCORES ? MAXHISCORES : num); +} + +/* + * Show current scores. This must be called after savescore, if + * savescore is called at all, for two reasons: + * - Showscores munches the time field. + * - Even if that were not the case, a new score must be recorded + * before it can be shown anyway. + */ +void +showscores(level) + int level; +{ + register struct highscore *sp; + register int i, n, c; + const char *me; + int levelfound[NLEVELS]; + + if (!gotscores) + getscores((FILE **)NULL); + (void)printf("\n\t\t\t Tetris High Scores\n"); + + /* + * If level == 0, the person has not played a game but just asked for + * the high scores; we do not need to check for printing in highlight + * mode. If SOstr is null, we can't do highlighting anyway. + */ + me = level && SOstr ? thisuser() : NULL; + + /* + * Set times to 0 except for high score on each level. + */ + for (i = MINLEVEL; i < NLEVELS; i++) + levelfound[i] = 0; + for (i = 0, sp = scores; i < nscores; i++, sp++) { + if (levelfound[sp->hs_level]) + sp->hs_time = 0; + else { + sp->hs_time = 1; + levelfound[sp->hs_level] = 1; + } + } + + /* + * Page each screenful of scores. + */ + for (i = 0, sp = scores; i < nscores; sp += n) { + n = 40; + if (i + n > nscores) + n = nscores - i; + printem(level, i + 1, sp, n, me); + if ((i += n) < nscores) { + (void)printf("\nHit RETURN to continue."); + (void)fflush(stdout); + while ((c = getchar()) != '\n') + if (c == EOF) + break; + (void)printf("\n"); + } + } +} + +static void +printem(level, offset, hs, n, me) + int level, offset; + register struct highscore *hs; + register int n; + const char *me; +{ + register struct highscore *sp; + int nrows, row, col, item, i, highlight; + char buf[100]; +#define TITLE "Rank Score Name (points/level)" + + /* + * This makes a nice two-column sort with headers, but it's a bit + * convoluted... + */ + printf("%s %s\n", TITLE, n > 1 ? TITLE : ""); + + highlight = 0; + nrows = (n + 1) / 2; + + for (row = 0; row < nrows; row++) { + for (col = 0; col < 2; col++) { + item = col * nrows + row; + if (item >= n) { + /* + * Can only occur on trailing columns. + */ + (void)putchar('\n'); + continue; + } + (void)printf(item + offset < 10 ? " " : " "); + sp = &hs[item]; + (void)sprintf(buf, + "%d%c %6d %-11s (%d on %d)", + item + offset, sp->hs_time ? '*' : ' ', + sp->hs_score * sp->hs_level, + sp->hs_name, sp->hs_score, sp->hs_level); + /* + * Highlight if appropriate. This works because + * we only get one score per level. + */ + if (me != NULL && + sp->hs_level == level && + sp->hs_score == score && + strcmp(sp->hs_name, me) == 0) { + putpad(SOstr); + highlight = 1; + } + (void)printf("%s", buf); + if (highlight) { + putpad(SEstr); + highlight = 0; + } + + /* fill in spaces so column 1 lines up */ + if (col == 0) + for (i = 40 - strlen(buf); --i >= 0;) + (void)putchar(' '); + else /* col == 1 */ + (void)putchar('\n'); + } + } +} diff --git a/eBones/usr.bin/telnet/fdset.h b/games/tetris/scores.h index 045bb72214195..7a4865adb4ac3 100644 --- a/eBones/usr.bin/telnet/fdset.h +++ b/games/tetris/scores.h @@ -1,7 +1,10 @@ -/* - * Copyright (c) 1988, 1993 +/*- + * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -30,20 +33,22 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)fdset.h 8.1 (Berkeley) 6/6/93 + * @(#)scores.h 8.1 (Berkeley) 5/31/93 */ /* - * The following is defined just in case someone should want to run - * this telnet on a 4.2 system. - * + * Tetris scores. */ +struct highscore { + char hs_name[20]; /* login name */ + int hs_score; /* raw score */ + int hs_level; /* play level */ + time_t hs_time; /* time at game end */ +}; -#ifndef FD_SETSIZE - -#define FD_SET(n, p) ((p)->fds_bits[0] |= (1<<(n))) -#define FD_CLR(n, p) ((p)->fds_bits[0] &= ~(1<<(n))) -#define FD_ISSET(n, p) ((p)->fds_bits[0] & (1<<(n))) -#define FD_ZERO(p) ((p)->fds_bits[0] = 0) +#define MAXHISCORES 80 +#define MAXSCORES 9 /* maximum high score entries per person */ +#define EXPIRATION (5L * 365 * 24 * 60 * 60) -#endif +void savescore __P((int)); +void showscores __P((int)); diff --git a/games/tetris/screen.c b/games/tetris/screen.c new file mode 100644 index 0000000000000..9662ed0155706 --- /dev/null +++ b/games/tetris/screen.c @@ -0,0 +1,454 @@ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)screen.c 8.1 (Berkeley) 5/31/93 + */ + +/* + * Tetris screen control. + */ + +#include <sgtty.h> +#include <sys/ioctl.h> + +#include <setjmp.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#ifndef sigmask +#define sigmask(s) (1 << ((s) - 1)) +#endif + +#include "screen.h" +#include "tetris.h" + +/* + * XXX - need a <termcap.h> + */ +int tgetent __P((char *, const char *)); +int tgetflag __P((const char *)); +int tgetnum __P((const char *)); +int tputs __P((const char *, int, int (*)(int))); + +static cell curscreen[B_SIZE]; /* 1 => standout (or otherwise marked) */ +static int curscore; +static int isset; /* true => terminal is in game mode */ +static struct sgttyb oldtt; +static void (*tstp)(); + +char *tgetstr(), *tgoto(); + + +/* + * Capabilities from TERMCAP. + */ +char PC, *BC, *UP; /* tgoto requires globals: ugh! */ +short ospeed; + +static char + *bcstr, /* backspace char */ + *CEstr, /* clear to end of line */ + *CLstr, /* clear screen */ + *CMstr, /* cursor motion string */ +#ifdef unneeded + *CRstr, /* "\r" equivalent */ +#endif + *HOstr, /* cursor home */ + *LLstr, /* last line, first column */ + *pcstr, /* pad character */ + *TEstr, /* end cursor motion mode */ + *TIstr; /* begin cursor motion mode */ +char + *SEstr, /* end standout mode */ + *SOstr; /* begin standout mode */ +static int + COnum, /* co# value */ + LInum, /* li# value */ + MSflag; /* can move in standout mode */ + + +struct tcsinfo { /* termcap string info; some abbrevs above */ + char tcname[3]; + char **tcaddr; +} tcstrings[] = { + "bc", &bcstr, + "ce", &CEstr, + "cl", &CLstr, + "cm", &CMstr, +#ifdef unneeded + "cr", &CRstr, +#endif + "le", &BC, /* move cursor left one space */ + "pc", &pcstr, + "se", &SEstr, + "so", &SOstr, + "te", &TEstr, + "ti", &TIstr, + "up", &UP, /* cursor up */ + 0 +}; + +/* This is where we will actually stuff the information */ + +static char combuf[1024], tbuf[1024]; + + +/* + * Routine used by tputs(). + */ +int +put(c) + int c; +{ + + return (putchar(c)); +} + +/* + * putstr() is for unpadded strings (either as in termcap(5) or + * simply literal strings); putpad() is for padded strings with + * count=1. (See screen.h for putpad().) + */ +#define putstr(s) (void)fputs(s, stdout) +#define moveto(r, c) putpad(tgoto(CMstr, c, r)) + +/* + * Set up from termcap. + */ +void +scr_init() +{ + static int bsflag, xsflag, sgnum; +#ifdef unneeded + static int ncflag; +#endif + char *term, *fill; + static struct tcninfo { /* termcap numeric and flag info */ + char tcname[3]; + int *tcaddr; + } tcflags[] = { + "bs", &bsflag, + "ms", &MSflag, +#ifdef unneeded + "nc", &ncflag, +#endif + "xs", &xsflag, + 0 + }, tcnums[] = { + "co", &COnum, + "li", &LInum, + "sg", &sgnum, + 0 + }; + + if ((term = getenv("TERM")) == NULL) + stop("you must set the TERM environment variable"); + if (tgetent(tbuf, term) <= 0) + stop("cannot find your termcap"); + fill = combuf; + { + register struct tcsinfo *p; + + for (p = tcstrings; p->tcaddr; p++) + *p->tcaddr = tgetstr(p->tcname, &fill); + } + { + register struct tcninfo *p; + + for (p = tcflags; p->tcaddr; p++) + *p->tcaddr = tgetflag(p->tcname); + for (p = tcnums; p->tcaddr; p++) + *p->tcaddr = tgetnum(p->tcname); + } + if (bsflag) + BC = "\b"; + else if (BC == NULL && bcstr != NULL) + BC = bcstr; + if (CLstr == NULL) + stop("cannot clear screen"); + if (CMstr == NULL || UP == NULL || BC == NULL) + stop("cannot do random cursor positioning via tgoto()"); + PC = pcstr ? *pcstr : 0; + if (sgnum >= 0 || xsflag) + SOstr = SEstr = NULL; +#ifdef unneeded + if (ncflag) + CRstr = NULL; + else if (CRstr == NULL) + CRstr = "\r"; +#endif +} + +/* this foolery is needed to modify tty state `atomically' */ +static jmp_buf scr_onstop; + +#define sigunblock(mask) sigsetmask(sigblock(0) & ~(mask)) + +static void +stopset(sig) + int sig; +{ + (void) signal(sig, SIG_DFL); + (void) kill(getpid(), sig); + (void) sigunblock(sigmask(sig)); + longjmp(scr_onstop, 1); +} + +static void +scr_stop() +{ + scr_end(); + (void) kill(getpid(), SIGTSTP); + (void) sigunblock(sigmask(SIGTSTP)); + scr_set(); + scr_msg(key_msg, 1); +} + +/* + * Set up screen mode. + */ +void +scr_set() +{ + struct winsize ws; + struct sgttyb newtt; + volatile int omask; + void (*ttou)(); + + omask = sigblock(sigmask(SIGTSTP) | sigmask(SIGTTOU)); + if ((tstp = signal(SIGTSTP, stopset)) == SIG_IGN) + (void) signal(SIGTSTP, SIG_IGN); + if ((ttou = signal(SIGTSTP, stopset)) == SIG_IGN) + (void) signal(SIGTSTP, SIG_IGN); + /* + * At last, we are ready to modify the tty state. If + * we stop while at it, stopset() above will longjmp back + * to the setjmp here and we will start over. + */ + (void) setjmp(scr_onstop); + (void) sigsetmask(omask); + Rows = 0, Cols = 0; + if (ioctl(0, TIOCGWINSZ, &ws) == 0) { + Rows = ws.ws_row; + Cols = ws.ws_col; + } + if (Rows == 0) + Rows = LInum; + if (Cols == 0) + Cols = COnum; + if (Rows < MINROWS || Cols < MINCOLS) { + (void) fprintf(stderr, + "the screen is too small: must be at least %d x %d", + MINROWS, MINCOLS); + stop(""); /* stop() supplies \n */ + } + if (ioctl(0, TIOCGETP, &oldtt)) + stop("ioctl(TIOCGETP) fails"); + newtt = oldtt; + newtt.sg_flags = (newtt.sg_flags | CBREAK) & ~(CRMOD | ECHO); + if ((newtt.sg_flags & TBDELAY) == XTABS) + newtt.sg_flags &= ~TBDELAY; + if (ioctl(0, TIOCSETN, &newtt)) + stop("ioctl(TIOCSETN) fails"); + ospeed = newtt.sg_ospeed; + omask = sigblock(sigmask(SIGTSTP) | sigmask(SIGTTOU)); + + /* + * We made it. We are now in screen mode, modulo TIstr + * (which we will fix immediately). + */ + if (TIstr) + putstr(TIstr); /* termcap(5) says this is not padded */ + if (tstp != SIG_IGN) + (void) signal(SIGTSTP, scr_stop); + (void) signal(SIGTTOU, ttou); + + isset = 1; + (void) sigsetmask(omask); + scr_clear(); +} + +/* + * End screen mode. + */ +void +scr_end() +{ + int omask = sigblock(sigmask(SIGTSTP) | sigmask(SIGTTOU)); + + /* move cursor to last line */ + if (LLstr) + putstr(LLstr); /* termcap(5) says this is not padded */ + else + moveto(Rows - 1, 0); + /* exit screen mode */ + if (TEstr) + putstr(TEstr); /* termcap(5) says this is not padded */ + (void) fflush(stdout); + (void) ioctl(0, TIOCSETN, &oldtt); + isset = 0; + /* restore signals */ + (void) signal(SIGTSTP, tstp); + (void) sigsetmask(omask); +} + +void +stop(why) + char *why; +{ + + if (isset) + scr_end(); + (void) fprintf(stderr, "aborting: %s\n", why); + exit(1); +} + +/* + * Clear the screen, forgetting the current contents in the process. + */ +void +scr_clear() +{ + + putpad(CLstr); + curscore = -1; + bzero((char *)curscreen, sizeof(curscreen)); +} + +#if vax && !__GNUC__ +typedef int regcell; /* pcc is bad at `register char', etc */ +#else +typedef cell regcell; +#endif + +/* + * Update the screen. + */ +void +scr_update() +{ + register cell *bp, *sp; + register regcell so, cur_so = 0; + register int i, ccol, j; + int omask = sigblock(sigmask(SIGTSTP)); + + /* always leave cursor after last displayed point */ + curscreen[D_LAST * B_COLS - 1] = -1; + + if (score != curscore) { + if (HOstr) + putpad(HOstr); + else + moveto(0, 0); + (void) printf("%d", score); + curscore = score; + } + + bp = &board[D_FIRST * B_COLS]; + sp = &curscreen[D_FIRST * B_COLS]; + for (j = D_FIRST; j < D_LAST; j++) { + ccol = -1; + for (i = 0; i < B_COLS; bp++, sp++, i++) { + if (*sp == (so = *bp)) + continue; + *sp = so; + if (i != ccol) { + if (cur_so && MSflag) { + putpad(SEstr); + cur_so = 0; + } + moveto(RTOD(j), CTOD(i)); + } + if (SOstr) { + if (so != cur_so) { + putpad(so ? SOstr : SEstr); + cur_so = so; + } + putstr(" "); + } else + putstr(so ? "XX" : " "); + ccol = i + 1; + /* + * Look ahead a bit, to avoid extra motion if + * we will be redrawing the cell after the next. + * Motion probably takes four or more characters, + * so we save even if we rewrite two cells + * `unnecessarily'. Skip it all, though, if + * the next cell is a different color. + */ +#define STOP (B_COLS - 3) + if (i > STOP || sp[1] != bp[1] || so != bp[1]) + continue; + if (sp[2] != bp[2]) + sp[1] = -1; + else if (i < STOP && so == bp[2] && sp[3] != bp[3]) { + sp[2] = -1; + sp[1] = -1; + } + } + } + if (cur_so) + putpad(SEstr); + (void) fflush(stdout); + (void) sigsetmask(omask); +} + +/* + * Write a message (set!=0), or clear the same message (set==0). + * (We need its length in case we have to overwrite with blanks.) + */ +void +scr_msg(s, set) + register char *s; + int set; +{ + + if (set || CEstr == NULL) { + register int l = strlen(s); + + moveto(Rows - 2, ((Cols - l) >> 1) - 1); + if (set) + putstr(s); + else + while (--l >= 0) + (void) putchar(' '); + } else { + moveto(Rows - 2, 0); + putpad(CEstr); + } +} diff --git a/eBones/usr.bin/telnet/general.h b/games/tetris/screen.h index 4efa9519469e2..fd6793d17a147 100644 --- a/eBones/usr.bin/telnet/general.h +++ b/games/tetris/screen.h @@ -1,7 +1,10 @@ -/* - * Copyright (c) 1988, 1993 +/*- + * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -30,16 +33,24 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)general.h 8.1 (Berkeley) 6/6/93 + * @(#)screen.h 8.1 (Berkeley) 5/31/93 */ /* - * Some general definitions. + * Capabilities from TERMCAP (used in the score code). */ +char *SEstr; /* end standout mode */ +char *SOstr; /* begin standout mode */ +/* + * putpad() is for padded strings with count=1. + */ +#define putpad(s) tputs(s, 1, put) -#define numberof(x) (sizeof x/sizeof x[0]) -#define highestof(x) (numberof(x)-1) - -#define ClearElement(x) memset((char *)&x, 0, sizeof x) -#define ClearArray(x) memset((char *)x, 0, sizeof x) +int put __P((int)); /* just calls putchar; for tputs */ +void scr_clear __P((void)); +void scr_end __P((void)); +void scr_init __P((void)); +void scr_msg __P((char *, int)); +void scr_set __P((void)); +void scr_update __P((void)); diff --git a/eBones/lib/libtelnet/misc-proto.h b/games/tetris/shapes.c index e5f334a9bdd0a..39ba3788871ff 100644 --- a/eBones/lib/libtelnet/misc-proto.h +++ b/games/tetris/shapes.c @@ -1,7 +1,10 @@ /*- - * Copyright (c) 1991, 1993 + * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -30,50 +33,79 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)misc-proto.h 8.1 (Berkeley) 6/4/93 + * @(#)shapes.c 8.1 (Berkeley) 5/31/93 */ /* - * Copyright (C) 1990 by the Massachusetts Institute of Technology - * - * Export of this software from the United States of America is assumed - * to require a specific license from the United States Government. - * It is the responsibility of any person or organization contemplating - * export to obtain such a license before exporting. + * Tetris shapes and related routines. * - * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - * distribute this software and its documentation for any purpose and - * without fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, and that - * the name of M.I.T. not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" without express - * or implied warranty. + * Note that the first 7 are `well known'. */ -#ifndef __MISC_PROTO__ -#define __MISC_PROTO__ +#include <sys/cdefs.h> +#include "tetris.h" -#if !defined(P) -#ifdef __STDC__ -#define P(x) x -#else -#define P(x) () -#endif -#endif +#define TL -B_COLS-1 /* top left */ +#define TC -B_COLS /* top center */ +#define TR -B_COLS+1 /* top right */ +#define ML -1 /* middle left */ +#define MR 1 /* middle right */ +#define BL B_COLS-1 /* bottom left */ +#define BC B_COLS /* bottom center */ +#define BR B_COLS+1 /* bottom right */ -void auth_encrypt_init P((char *, char *, char *, int)); -void auth_encrypt_connect P((int)); -void printd P((unsigned char *, int)); +struct shape shapes[] = { + /* 0*/ 7, TL, TC, MR, + /* 1*/ 8, TC, TR, ML, + /* 2*/ 9, ML, MR, BC, + /* 3*/ 3, TL, TC, ML, + /* 4*/ 12, ML, BL, MR, + /* 5*/ 15, ML, BR, MR, + /* 6*/ 18, ML, MR, /* sticks out */ 2, + /* 7*/ 0, TC, ML, BL, + /* 8*/ 1, TC, MR, BR, + /* 9*/ 10, TC, MR, BC, + /*10*/ 11, TC, ML, MR, + /*11*/ 2, TC, ML, BC, + /*12*/ 13, TC, BC, BR, + /*13*/ 14, TR, ML, MR, + /*14*/ 4, TL, TC, BC, + /*15*/ 16, TR, TC, BC, + /*16*/ 17, TL, MR, ML, + /*17*/ 5, TC, BC, BL, + /*18*/ 6, TC, BC, /* sticks out */ 2*B_COLS, +}; /* - * These functions are imported from the application + * Return true iff the given shape fits in the given position, + * taking the current board into account. */ -int net_write P((unsigned char *, int)); -void net_encrypt P((void)); -int telnet_spin P((void)); -char *telnet_getenv P((char *)); -char *telnet_gets P((char *, char *, int, int)); -#endif +int +fits_in(shape, pos) + struct shape *shape; + register int pos; +{ + register int *o = shape->off; + + if (board[pos] || board[pos + *o++] || board[pos + *o++] || + board[pos + *o]) + return 0; + return 1; +} + +/* + * Write the given shape into the current board, turning it on + * if `onoff' is 1, and off if `onoff' is 0. + */ +void +place(shape, pos, onoff) + struct shape *shape; + register int pos, onoff; +{ + register int *o = shape->off; + + board[pos] = onoff; + board[pos + *o++] = onoff; + board[pos + *o++] = onoff; + board[pos + *o] = onoff; +} diff --git a/games/tetris/tetris.6 b/games/tetris/tetris.6 new file mode 100644 index 0000000000000..9513ca057d9e5 --- /dev/null +++ b/games/tetris/tetris.6 @@ -0,0 +1,154 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Nancy L. Tinkham and Darren F. Provine. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)tetris.6 8.1 (Berkeley) 5/31/93 +.\" +.Dd "May 31, 1993" +.Dt TETRIS 6 +.Os +.Sh NAME +.Nm tetris +.Nd the game of tetris +.Sh SYNOPSIS +.Nm +.Op Fl s +.Op Fl k Ar keys +.Op Fl l Ar level +.Sh DESCRIPTION +The +.Nm +command runs display-based game which must be played on a CRT terminal. +The object is to fit the shapes together forming complete rows, +which then vanish. +When the shapes fill up to the top, the game ends. +You can optionally select a level of play, or custom-select control keys. +.Pp +The default level of play is 2. +.Pp +The default control keys are as follows: +.Pp +.Bl -tag -width "<space>" -compact -offset indent +.It j +move left +.It k +rotate 1/4 turn counterclockwise +.It l +move right +.It <space> +drop +.It p +pause +.It q +quit +.El +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl k +The default control keys can be changed using the +.Fl k option. +The +.Ar keys +argument must have the six keys in order, and, remember to quote any +space or tab characters from the shell. +For example: +.sp +.Dl "tetris -l 2 -k 'jkl pq'" +.sp +will play the default games, i.e. level 2 and with the default +control keys. +The current key settings are displayed at the bottom of the screen +during play. +.It Fl l +Select a level of play. +.It Fl s +Display the top scores. +.El +.Pp +.Sh PLAY +At the start of the game, a shape will appear at the top of the screen, +falling one square at a time. +The speed at which it falls is determined directly by the level: +if you select level 2, the blocks will fall twice per second; +at level 9, they fall 9 times per second. +(As the game goes on, things speed up, +no matter what your initial selection.) +When this shape +.Dq "touches down" +on the bottom of the field, another will appear at the top. +.Pp +You can move shapes to the left or right, rotate them counterclockwise, +or drop them to the bottom by pressing the appropriate keys. +As you fit them together, completed horizontal rows vanish, +and any blocks above fall down to fill in. +When the blocks stack up to the top of the screen, the game is over. +.Sh SCORING +You get one point for every block you fit into the stack, +and one point for every space a block falls when you hit the drop key. +(Dropping the blocks is therefore a good way to increase your score.) +Your total score is the product of the level of play +and your accumulated +.ie t points\(em200 +.el points -- 200 +points on level 3 gives you a score of 600. +Each player gets at most one entry on any level, +for a total of nine scores in the high scores file. +Players who no longer have accounts are limited to one score. +Also, scores over 5 years old are expired. +The exception to these conditions is that the highest score on a given +level is +.Em always +kept, +so that following generations can pay homage to those who have +wasted serious amounts of time. +.Pp +The score list is produced at the end of the game. +The printout includes each player's overall ranking, +name, score, and how many points were scored on what level. +Scores which are the highest on a given level +are marked with asterisks +.Dq * . +.Sh FILES +.Bl -tag -width /var/games/tetris.scoresxx +.It /var/games/tetris.scores +high score file +.El +.Sh BUGS +The higher levels are unplayable without a fast terminal connection. +.Sh AUTHORS +Adapted from a 1989 International Obfuscated C Code Contest winner by +Chris Torek and Darren F. Provine. +.Pp +Manual adapted from the original entry written by Nancy L. Tinkham and +Darren F. Provine. diff --git a/games/tetris/tetris.c b/games/tetris/tetris.c new file mode 100644 index 0000000000000..63265bc6b7541 --- /dev/null +++ b/games/tetris/tetris.c @@ -0,0 +1,312 @@ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)tetris.c 8.1 (Berkeley) 5/31/93 + */ + +#ifndef lint +static char copyright[] = +"@(#) Copyright (c) 1992, 1993\n\ + The Regents of the University of California. All rights reserved.\n"; +#endif /* not lint */ + +/* + * Tetris (or however it is spelled). + */ + +#include <sys/time.h> + +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include "input.h" +#include "scores.h" +#include "screen.h" +#include "tetris.h" + +void onintr __P((int)); +void usage __P((void)); + +/* + * Set up the initial board. The bottom display row is completely set, + * along with another (hidden) row underneath that. Also, the left and + * right edges are set. + */ +static void +setup_board() +{ + register int i; + register cell *p; + + p = board; + for (i = B_SIZE; i; i--) +#ifndef mips + *p++ = i <= (2 * B_COLS) || (i % B_COLS) < 2; +#else /* work around compiler bug */ + *p++ = i <= (2 * B_COLS) || (i % B_COLS) < 2 ? 1 : 0; +#endif +} + +/* + * Elide any full active rows. + */ +static void +elide() +{ + register int i, j, base; + register cell *p; + + for (i = A_FIRST; i < A_LAST; i++) { + base = i * B_COLS + 1; + p = &board[base]; + for (j = B_COLS - 2; *p++ != 0;) { + if (--j <= 0) { + /* this row is to be elided */ + bzero(&board[base], B_COLS - 2); + scr_update(); + tsleep(); + while (--base != 0) + board[base + B_COLS] = board[base]; + scr_update(); + tsleep(); + break; + } + } + } +} + +int +main(argc, argv) + int argc; + char *argv[]; +{ + register int pos, c; + register struct shape *curshape; + register char *keys; + register int level = 2; + char key_write[6][10]; + int ch, i, j; + + keys = "jkl pq"; + + while ((ch = getopt(argc, argv, "k:l:s")) != EOF) + switch(ch) { + case 'k': + if (strlen(keys = optarg) != 6) + usage(); + break; + case 'l': + level = atoi(optarg); + if (level < MINLEVEL || level > MAXLEVEL) { + (void)fprintf(stderr, + "tetris: level must be from %d to %d", + MINLEVEL, MAXLEVEL); + exit(1); + } + break; + case 's': + showscores(0); + exit(0); + case '?': + default: + usage(); + } + + argc -= optind; + argv += optind; + + if (argc) + usage(); + + fallrate = 1000000 / level; + + for (i = 0; i <= 5; i++) { + for (j = i+1; j <= 5; j++) { + if (keys[i] == keys[j]) { + (void)fprintf(stderr, + "%s: Duplicate command keys specified.\n", + argv[0]); + exit (1); + } + } + if (keys[i] == ' ') + strcpy(key_write[i], "<space>"); + else { + key_write[i][0] = keys[i]; + key_write[i][1] = '\0'; + } + } + + sprintf(key_msg, +"%s - left %s - rotate %s - right %s - drop %s - pause %s - quit", + key_write[0], key_write[1], key_write[2], key_write[3], + key_write[4], key_write[5]); + + (void)signal(SIGINT, onintr); + scr_init(); + setup_board(); + + srandom(getpid()); + scr_set(); + + pos = A_FIRST*B_COLS + (B_COLS/2)-1; + curshape = randshape(); + + scr_msg(key_msg, 1); + + for (;;) { + place(curshape, pos, 1); + scr_update(); + place(curshape, pos, 0); + c = tgetchar(); + if (c < 0) { + /* + * Timeout. Move down if possible. + */ + if (fits_in(curshape, pos + B_COLS)) { + pos += B_COLS; + continue; + } + + /* + * Put up the current shape `permanently', + * bump score, and elide any full rows. + */ + place(curshape, pos, 1); + score++; + elide(); + + /* + * Choose a new shape. If it does not fit, + * the game is over. + */ + curshape = randshape(); + pos = A_FIRST*B_COLS + (B_COLS/2)-1; + if (!fits_in(curshape, pos)) + break; + continue; + } + + /* + * Handle command keys. + */ + if (c == keys[5]) { + /* quit */ + break; + } + if (c == keys[4]) { + static char msg[] = + "paused - press RETURN to continue"; + + place(curshape, pos, 1); + do { + scr_update(); + scr_msg(key_msg, 0); + scr_msg(msg, 1); + (void) fflush(stdout); + } while (rwait((struct timeval *)NULL) == -1); + scr_msg(msg, 0); + scr_msg(key_msg, 1); + place(curshape, pos, 0); + continue; + } + if (c == keys[0]) { + /* move left */ + if (fits_in(curshape, pos - 1)) + pos--; + continue; + } + if (c == keys[1]) { + /* turn */ + struct shape *new = &shapes[curshape->rot]; + + if (fits_in(new, pos)) + curshape = new; + continue; + } + if (c == keys[2]) { + /* move right */ + if (fits_in(curshape, pos + 1)) + pos++; + continue; + } + if (c == keys[3]) { + /* move to bottom */ + while (fits_in(curshape, pos + B_COLS)) { + pos += B_COLS; + score++; + } + continue; + } + if (c == '\f') + scr_clear(); + } + + scr_clear(); + scr_end(); + + (void)printf("Your score: %d point%s x level %d = %d\n", + score, score == 1 ? "" : "s", level, score * level); + savescore(level); + + printf("\nHit RETURN to see high scores, ^C to skip.\n"); + + while ((i = getchar()) != '\n') + if (i == EOF) + break; + + showscores(level); + + exit(0); +} + +void +onintr(signo) + int signo; +{ + scr_clear(); + scr_end(); + exit(0); +} + +void +usage() +{ + (void)fprintf(stderr, "usage: tetris [-s] [-l level] [-keys]\n"); + exit(1); +} diff --git a/games/tetris/tetris.h b/games/tetris/tetris.h new file mode 100644 index 0000000000000..b95627bb9b678 --- /dev/null +++ b/games/tetris/tetris.h @@ -0,0 +1,169 @@ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek and Darren F. Provine. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)tetris.h 8.1 (Berkeley) 5/31/93 + */ + +/* + * Definitions for Tetris. + */ + +/* + * The display (`board') is composed of 23 rows of 12 columns of characters + * (numbered 0..22 and 0..11), stored in a single array for convenience. + * Columns 1 to 10 of rows 1 to 20 are the actual playing area, where + * shapes appear. Columns 0 and 11 are always occupied, as are all + * columns of rows 21 and 22. Rows 0 and 22 exist as boundary areas + * so that regions `outside' the visible area can be examined without + * worrying about addressing problems. + */ + + /* the board */ +#define B_COLS 12 +#define B_ROWS 23 +#define B_SIZE (B_ROWS * B_COLS) + +typedef unsigned char cell; +cell board[B_SIZE]; /* 1 => occupied, 0 => empty */ + + /* the displayed area (rows) */ +#define D_FIRST 1 +#define D_LAST 22 + + /* the active area (rows) */ +#define A_FIRST 1 +#define A_LAST 21 + +/* + * Minimum display size. + */ +#define MINROWS 23 +#define MINCOLS 40 + +int Rows, Cols; /* current screen size */ + +/* + * Translations from board coordinates to display coordinates. + * As with board coordinates, display coordiates are zero origin. + */ +#define RTOD(x) ((x) - 1) +#define CTOD(x) ((x) * 2 + (((Cols - 2 * B_COLS) >> 1) - 1)) + +/* + * A `shape' is the fundamental thing that makes up the game. There + * are 7 basic shapes, each consisting of four `blots': + * + * X.X X.X X.X + * X.X X.X X.X.X X.X X.X.X X.X.X X.X.X.X + * X X X + * + * 0 1 2 3 4 5 6 + * + * Except for 3 and 6, the center of each shape is one of the blots. + * This blot is designated (0,0). The other three blots can then be + * described as offsets from the center. Shape 3 is the same under + * rotation, so its center is effectively irrelevant; it has been chosen + * so that it `sticks out' upward and leftward. Except for shape 6, + * all the blots are contained in a box going from (-1,-1) to (+1,+1); + * shape 6's center `wobbles' as it rotates, so that while it `sticks out' + * rightward, its rotation---a vertical line---`sticks out' downward. + * The containment box has to include the offset (2,0), making the overall + * containment box range from offset (-1,-1) to (+2,+1). (This is why + * there is only one row above, but two rows below, the display area.) + * + * The game works by choosing one of these shapes at random and putting + * its center at the middle of the first display row (row 1, column 5). + * The shape is moved steadily downward until it collides with something: + * either another shape, or the bottom of the board. When the shape can + * no longer be moved downwards, it is merged into the current board. + * At this time, any completely filled rows are elided, and blots above + * these rows move down to make more room. A new random shape is again + * introduced at the top of the board, and the whole process repeats. + * The game ends when the new shape will not fit at (1,5). + * + * While the shapes are falling, the user can rotate them counterclockwise + * 90 degrees (in addition to moving them left or right), provided that the + * rotation puts the blots in empty spaces. The table of shapes is set up + * so that each shape contains the index of the new shape obtained by + * rotating the current shape. Due to symmetry, each shape has exactly + * 1, 2, or 4 rotations total; the first 7 entries in the table represent + * the primary shapes, and the remaining 12 represent their various + * rotated forms. + */ +struct shape { + int rot; /* index of rotated version of this shape */ + int off[3]; /* offsets to other blots if center is at (0,0) */ +}; + +extern struct shape shapes[]; +#define randshape() (&shapes[random() % 7]) + +/* + * Shapes fall at a rate faster than once per second. + * + * The initial rate is determined by dividing 1 million microseconds + * by the game `level'. (This is at most 1 million, or one second.) + * Each time the fall-rate is used, it is decreased a little bit, + * depending on its current value, via the `faster' macro below. + * The value eventually reaches a limit, and things stop going faster, + * but by then the game is utterly impossible. + */ +long fallrate; /* less than 1 million; smaller => faster */ +#define faster() (fallrate -= fallrate / 3000) + +/* + * Game level must be between 1 and 9. This controls the initial fall rate + * and affects scoring. + */ +#define MINLEVEL 1 +#define MAXLEVEL 9 + +/* + * Scoring is as follows: + * + * When the shape comes to rest, and is integrated into the board, + * we score one point. If the shape is high up (at a low-numbered row), + * and the user hits the space bar, the shape plummets all the way down, + * and we score a point for each row it falls (plus one more as soon as + * we find that it is at rest and integrate it---until then, it can + * still be moved or rotated). + */ +int score; /* the obvious thing */ + +char key_msg[100]; + +int fits_in __P((struct shape *, int)); +void place __P((struct shape *, int, int)); +void stop __P((char *)); diff --git a/gnu/Makefile b/gnu/Makefile index 88925400f1cde..ac8faadcaad42 100644 --- a/gnu/Makefile +++ b/gnu/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 5.33.1.1 (Berkeley) 5/6/91 -# $Id$ +# $Id: Makefile,v 1.30 1995/12/23 17:03:07 markm Exp $ SUBDIR= include lib libexec usr.bin usr.sbin diff --git a/gnu/gnu2bmake/gcc-2.6.1.tcl b/gnu/gnu2bmake/gcc-2.6.1.tcl index a56c804af861c..0598ae4963538 100755 --- a/gnu/gnu2bmake/gcc-2.6.1.tcl +++ b/gnu/gnu2bmake/gcc-2.6.1.tcl @@ -7,7 +7,7 @@ # this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp # ---------------------------------------------------------------------------- # -# $Id$ +# $Id: gcc-2.6.1.tcl,v 1.2 1994/11/15 04:52:18 phk Exp $ # # Good for 2.6.1 and 2.6.2 @@ -135,7 +135,7 @@ sh "mkdir $ddir/legal" sh "cp $sdir/gen-*.c $sdir/md $ddir/legal" set f [open $ddir/README w] puts $f { -$Id$ +$Id: gcc-2.6.1.tcl,v 1.2 1994/11/15 04:52:18 phk Exp $ This directory contains gcc in a form that uses "bmake" makefiles. This is not the place you want to start, if you want to hack gcc. diff --git a/gnu/gnu2bmake/gnu2bmake.tcl b/gnu/gnu2bmake/gnu2bmake.tcl index a99b1b3d134dd..489a85fc47e1b 100644 --- a/gnu/gnu2bmake/gnu2bmake.tcl +++ b/gnu/gnu2bmake/gnu2bmake.tcl @@ -7,7 +7,7 @@ # this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp # ---------------------------------------------------------------------------- # -# $Id$ +# $Id: gnu2bmake.tcl,v 1.3 1994/11/15 04:52:19 phk Exp $ # ####################################################################### # Generic procedures usable in the process of gnu-to-bmake jobs. diff --git a/gnu/include/Makefile b/gnu/include/Makefile index e5cb10555bccb..8e8f35aa7e039 100644 --- a/gnu/include/Makefile +++ b/gnu/include/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1996/08/30 19:26:49 peter Exp $ +# $Id: Makefile,v 1.5 1996/08/30 21:57:39 peter Exp $ NOOBJ= noobj diff --git a/gnu/lib/Makefile b/gnu/lib/Makefile index d540430153ec3..d0b8df07766b4 100644 --- a/gnu/lib/Makefile +++ b/gnu/lib/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.12 1996/09/19 16:19:40 peter Exp $ +# $Id: Makefile,v 1.13 1996/10/04 08:44:26 peter Exp $ SUBDIR= libdialog libg++ libgmp libmp libobjc libregex libreadline libstdc++ diff --git a/gnu/lib/Makefile.inc b/gnu/lib/Makefile.inc index 605c0cd382ab4..ddf5b3053a85c 100644 --- a/gnu/lib/Makefile.inc +++ b/gnu/lib/Makefile.inc @@ -1,4 +1,4 @@ -# $Id: Makefile.inc,v 1.3 1994/05/28 09:56:30 csgr Exp $ +# $Id: Makefile.inc,v 1.4 1994/08/05 21:33:53 wollman Exp $ SHLIB_MAJOR?= 2 SHLIB_MINOR?= 0 diff --git a/gnu/lib/libdialog/Makefile b/gnu/lib/libdialog/Makefile index 599332e3f4483..0e572af258c67 100644 --- a/gnu/lib/libdialog/Makefile +++ b/gnu/lib/libdialog/Makefile @@ -1,5 +1,5 @@ # Makefile for libdialog -# $Id: Makefile,v 1.18 1996/08/13 12:46:10 jkh Exp $ +# $Id: Makefile,v 1.19 1996/08/30 02:06:46 peter Exp $ LIB= dialog MAN3= dialog.3 diff --git a/gnu/lib/libdialog/TESTS/Makefile b/gnu/lib/libdialog/TESTS/Makefile index a076c008e6cf2..8b4ea8a8e2108 100644 --- a/gnu/lib/libdialog/TESTS/Makefile +++ b/gnu/lib/libdialog/TESTS/Makefile @@ -1,6 +1,6 @@ # Really quick and evil Makefile for building all the tests. I wish that bmake was friendlier to # the concept of multiple progs/libs in the same directory. -# $Id: Makefile,v 1.5 1996/12/14 16:40:05 jkh Exp $ +# $Id: Makefile,v 1.3.2.2 1996/12/14 23:54:42 jkh Exp $ PROGS= msg yesno prgbox gauge dselect fselect text menu1 menu2 menu3 \ input1 input2 check1 check2 check3 radio1 radio2 radio3 diff --git a/gnu/lib/libdialog/TESTS/check1.c b/gnu/lib/libdialog/TESTS/check1.c index e8a0751e2914c..374fb47a3bd9f 100644 --- a/gnu/lib/libdialog/TESTS/check1.c +++ b/gnu/lib/libdialog/TESTS/check1.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: check1.c,v 1.2 1996/04/07 03:20:50 jkh Exp $ + * $Id: check1.c,v 1.3 1996/04/16 12:17:20 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/check2.c b/gnu/lib/libdialog/TESTS/check2.c index edad6cf5a1150..8a9961aa4330f 100644 --- a/gnu/lib/libdialog/TESTS/check2.c +++ b/gnu/lib/libdialog/TESTS/check2.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: check2.c,v 1.1 1996/01/01 03:45:23 jkh Exp $ + * $Id: check2.c,v 1.2 1996/04/16 12:17:21 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/check3.c b/gnu/lib/libdialog/TESTS/check3.c index 6ba01ce11ace4..7930b1e092127 100644 --- a/gnu/lib/libdialog/TESTS/check3.c +++ b/gnu/lib/libdialog/TESTS/check3.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: check3.c,v 1.1 1996/01/01 03:45:23 jkh Exp $ + * $Id: check3.c,v 1.2 1996/04/16 12:17:21 jkh Exp $ * */ diff --git a/gnu/lib/libdialog/TESTS/dselect.c b/gnu/lib/libdialog/TESTS/dselect.c index 8b673f62bbcca..6e646bc655dd6 100644 --- a/gnu/lib/libdialog/TESTS/dselect.c +++ b/gnu/lib/libdialog/TESTS/dselect.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: test1.c,v 1.2 1995/12/23 14:53:07 jkh Exp $ + * $Id: dselect.c,v 1.1 1996/01/01 03:45:24 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/fselect.c b/gnu/lib/libdialog/TESTS/fselect.c index d07d726ec8565..ed11ebdf556ac 100644 --- a/gnu/lib/libdialog/TESTS/fselect.c +++ b/gnu/lib/libdialog/TESTS/fselect.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: test1.c,v 1.2 1995/12/23 14:53:07 jkh Exp $ + * $Id: fselect.c,v 1.1 1996/01/01 03:45:24 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/gauge.c b/gnu/lib/libdialog/TESTS/gauge.c index b41209ddf012b..880ff6abd308a 100644 --- a/gnu/lib/libdialog/TESTS/gauge.c +++ b/gnu/lib/libdialog/TESTS/gauge.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: gauge.c,v 1.1 1996/01/01 03:45:25 jkh Exp $ + * $Id: gauge.c,v 1.2 1996/02/08 11:55:15 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/input1.c b/gnu/lib/libdialog/TESTS/input1.c index edb45f583fc98..8e751195e208d 100644 --- a/gnu/lib/libdialog/TESTS/input1.c +++ b/gnu/lib/libdialog/TESTS/input1.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: test1.c,v 1.2 1995/12/23 14:53:07 jkh Exp $ + * $Id: input1.c,v 1.1 1996/01/01 03:45:25 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/input2.c b/gnu/lib/libdialog/TESTS/input2.c index c20e484092ec1..8b02a50b8dd12 100644 --- a/gnu/lib/libdialog/TESTS/input2.c +++ b/gnu/lib/libdialog/TESTS/input2.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: input1.c,v 1.1 1996/01/01 03:45:25 jkh Exp $ + * $Id: input2.c,v 1.1 1996/12/14 16:14:21 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/menu1.c b/gnu/lib/libdialog/TESTS/menu1.c index a06eadef80f56..7a21eb8ae6cea 100644 --- a/gnu/lib/libdialog/TESTS/menu1.c +++ b/gnu/lib/libdialog/TESTS/menu1.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: menu1.c,v 1.3 1996/04/16 12:17:22 jkh Exp $ + * $Id: menu1.c,v 1.4 1996/04/18 13:21:25 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/menu2.c b/gnu/lib/libdialog/TESTS/menu2.c index c1602f77146f2..4b4c5b7e264d6 100644 --- a/gnu/lib/libdialog/TESTS/menu2.c +++ b/gnu/lib/libdialog/TESTS/menu2.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: menu2.c,v 1.3 1996/04/16 12:17:23 jkh Exp $ + * $Id: menu2.c,v 1.4 1996/04/18 13:21:26 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/menu3.c b/gnu/lib/libdialog/TESTS/menu3.c index c91db64b840df..3bf3609728ece 100644 --- a/gnu/lib/libdialog/TESTS/menu3.c +++ b/gnu/lib/libdialog/TESTS/menu3.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: menu3.c,v 1.4 1996/04/18 13:21:26 jkh Exp $ + * $Id: menu3.c,v 1.5 1996/07/02 01:03:56 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/msg.c b/gnu/lib/libdialog/TESTS/msg.c index 9c2edc417c9d0..7ebeb44d05090 100644 --- a/gnu/lib/libdialog/TESTS/msg.c +++ b/gnu/lib/libdialog/TESTS/msg.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: test1.c,v 1.2 1995/12/23 14:53:07 jkh Exp $ + * $Id: msg.c,v 1.1 1996/01/01 03:45:28 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/prgbox.c b/gnu/lib/libdialog/TESTS/prgbox.c index 6a751c32687d1..2634b6a7233a2 100644 --- a/gnu/lib/libdialog/TESTS/prgbox.c +++ b/gnu/lib/libdialog/TESTS/prgbox.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: test1.c,v 1.2 1995/12/23 14:53:07 jkh Exp $ + * $Id: prgbox.c,v 1.1 1996/01/01 03:45:28 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/radio1.c b/gnu/lib/libdialog/TESTS/radio1.c index 19532073971cb..3875fae998796 100644 --- a/gnu/lib/libdialog/TESTS/radio1.c +++ b/gnu/lib/libdialog/TESTS/radio1.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: radio1.c,v 1.2 1996/04/07 03:20:57 jkh Exp $ + * $Id: radio1.c,v 1.3 1996/04/16 12:17:25 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/radio2.c b/gnu/lib/libdialog/TESTS/radio2.c index 3f97048a4c982..04ca84d7dcdc0 100644 --- a/gnu/lib/libdialog/TESTS/radio2.c +++ b/gnu/lib/libdialog/TESTS/radio2.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: radio2.c,v 1.2 1996/04/07 03:20:59 jkh Exp $ + * $Id: radio2.c,v 1.3 1996/04/16 12:17:26 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/radio3.c b/gnu/lib/libdialog/TESTS/radio3.c index 6a50287d1a6f8..e8e117fac6c07 100644 --- a/gnu/lib/libdialog/TESTS/radio3.c +++ b/gnu/lib/libdialog/TESTS/radio3.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: radio3.c,v 1.2 1996/04/07 03:21:01 jkh Exp $ + * $Id: radio3.c,v 1.3 1996/04/16 12:17:27 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/text.c b/gnu/lib/libdialog/TESTS/text.c index f63b5334b21de..33ab478414f4d 100644 --- a/gnu/lib/libdialog/TESTS/text.c +++ b/gnu/lib/libdialog/TESTS/text.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: test1.c,v 1.2 1995/12/23 14:53:07 jkh Exp $ + * $Id: text.c,v 1.1 1996/01/01 03:45:32 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/TESTS/yesno.c b/gnu/lib/libdialog/TESTS/yesno.c index 841451a8c06ff..ad14aa69f9659 100644 --- a/gnu/lib/libdialog/TESTS/yesno.c +++ b/gnu/lib/libdialog/TESTS/yesno.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: test1.c,v 1.2 1995/12/23 14:53:07 jkh Exp $ + * $Id: yesno.c,v 1.1 1996/01/01 03:45:32 jkh Exp $ */ #include <stdio.h> diff --git a/gnu/lib/libdialog/dialog.3 b/gnu/lib/libdialog/dialog.3 index 7d9b690a57436..873c9a3028f35 100644 --- a/gnu/lib/libdialog/dialog.3 +++ b/gnu/lib/libdialog/dialog.3 @@ -11,7 +11,7 @@ .\" nor does the author assume any responsibility for damages incurred with .\" its use. .\" -.\" $Id: dialog.3,v 1.2 1996/01/01 03:43:51 jkh Exp $ +.\" $Id: dialog.3,v 1.3 1996/02/09 16:19:20 mpp Exp $ .\" .Dd December 18, 1995 .Dt dialog 3 diff --git a/gnu/lib/libg++/Makefile b/gnu/lib/libg++/Makefile index f00cbcfff4301..dc2af121108f8 100644 --- a/gnu/lib/libg++/Makefile +++ b/gnu/lib/libg++/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.15 1996/10/04 15:11:42 peter Exp $ +# $Id: Makefile,v 1.16 1996/10/07 23:38:08 peter Exp $ # GPPDIR= ${.CURDIR}/../../../contrib/libg++ diff --git a/gnu/lib/libg++/doc/Makefile b/gnu/lib/libg++/doc/Makefile index c3a584c4db017..9b94d6ee91c23 100644 --- a/gnu/lib/libg++/doc/Makefile +++ b/gnu/lib/libg++/doc/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/10/04 08:43:37 peter Exp $ INFO = g++FAQ libg++ iostream diff --git a/gnu/lib/libgmp/Makefile b/gnu/lib/libgmp/Makefile index 86ac039b370b6..20d664a25e759 100644 --- a/gnu/lib/libgmp/Makefile +++ b/gnu/lib/libgmp/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.7 1996/10/20 09:27:45 markm Exp $ +# $Id: Makefile,v 1.8 1996/10/24 18:00:43 markm Exp $ # LIB= gmp diff --git a/gnu/lib/libgmp/Makefile.inc b/gnu/lib/libgmp/Makefile.inc index b60fe3c7b1717..65cca3f6e2eb9 100644 --- a/gnu/lib/libgmp/Makefile.inc +++ b/gnu/lib/libgmp/Makefile.inc @@ -1,5 +1,5 @@ # -# $Id$ +# $Id: Makefile.inc,v 1.1 1996/10/20 09:27:46 markm Exp $ # SHLIB_MAJOR= 3 diff --git a/gnu/lib/libgmp/doc/Makefile b/gnu/lib/libgmp/doc/Makefile index 4cb03bfae2ce4..f78237bf18770 100644 --- a/gnu/lib/libgmp/doc/Makefile +++ b/gnu/lib/libgmp/doc/Makefile @@ -1,5 +1,5 @@ # -# $Id$ +# $Id: Makefile,v 1.3 1996/10/20 09:28:03 markm Exp $ # INFO = gmp diff --git a/gnu/lib/libmp/Makefile b/gnu/lib/libmp/Makefile index f7ffbcde15111..bc5a1e6bfd464 100644 --- a/gnu/lib/libmp/Makefile +++ b/gnu/lib/libmp/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.7 1996/10/24 18:03:53 markm Exp $ +# $Id: Makefile,v 1.7.2.1 1996/12/10 17:24:10 joerg Exp $ # LIB= mp diff --git a/gnu/lib/libobjc/Makefile b/gnu/lib/libobjc/Makefile index 2083d234450cf..559d7fb80049f 100644 --- a/gnu/lib/libobjc/Makefile +++ b/gnu/lib/libobjc/Makefile @@ -1,5 +1,5 @@ # Makefile for libobjc -# $Id$ +# $Id: Makefile,v 1.1 1996/09/19 16:19:49 peter Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc diff --git a/gnu/lib/libreadline/Makefile b/gnu/lib/libreadline/Makefile index de4e97614c63f..92bfb6d93de29 100644 --- a/gnu/lib/libreadline/Makefile +++ b/gnu/lib/libreadline/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.22 1996/08/30 02:13:06 peter Exp $ +# $Id: Makefile,v 1.23 1996/08/30 18:33:31 ache Exp $ CFLAGS+= -I${.CURDIR} -DVOID_SIGHANDLER -DHAVE_CONFIG_H \ diff --git a/gnu/lib/libregex/Makefile b/gnu/lib/libregex/Makefile index ccbd62e3fd6c0..c553a8df2f2d1 100644 --- a/gnu/lib/libregex/Makefile +++ b/gnu/lib/libregex/Makefile @@ -1,4 +1,4 @@ -# $Header: /home/ncvs/src/gnu/lib/libregex/Makefile,v 1.19 1996/11/16 22:53:42 joerg Exp $ +# $Header: /home/ncvs/src/gnu/lib/libregex/Makefile,v 1.18.2.1 1996/11/20 15:05:46 joerg Exp $ LIB= gnuregex diff --git a/gnu/lib/libregex/test/Makefile b/gnu/lib/libregex/test/Makefile index e8516a86d2d9d..675cdc17cd962 100644 --- a/gnu/lib/libregex/test/Makefile +++ b/gnu/lib/libregex/test/Makefile @@ -1,4 +1,4 @@ -# $Id: $ +# $Id: Makefile,v 1.3 1996/05/07 23:14:48 wosch Exp $ # Generated automatically from Makefile.in by configure. # Makefile for regex testing. diff --git a/gnu/lib/libregex/test/Makefile.in b/gnu/lib/libregex/test/Makefile.in index 5fc51be61934a..630adac5e66c9 100644 --- a/gnu/lib/libregex/test/Makefile.in +++ b/gnu/lib/libregex/test/Makefile.in @@ -1,4 +1,4 @@ -# $Id: $ +# $Id: Makefile.in,v 1.3 1996/05/07 23:14:49 wosch Exp $ # Makefile for regex testing. # diff --git a/gnu/lib/libstdc++/Makefile b/gnu/lib/libstdc++/Makefile index 326d303fdf30b..5b92615e345cf 100644 --- a/gnu/lib/libstdc++/Makefile +++ b/gnu/lib/libstdc++/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.1 1996/10/03 22:52:22 peter Exp $ +# $Id: Makefile,v 1.1.2.1 1996/11/15 18:15:45 jkh Exp $ # GPPDIR= ${.CURDIR}/../../../contrib/libg++ diff --git a/gnu/libexec/Makefile b/gnu/libexec/Makefile index 1744c529be519..006d2b9c56c0f 100644 --- a/gnu/libexec/Makefile +++ b/gnu/libexec/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1995/01/31 09:29:38 wpaul Exp $ +# $Id: Makefile,v 1.3 1995/12/25 02:56:12 wpaul Exp $ SUBDIR= uucp diff --git a/gnu/libexec/Makefile.inc b/gnu/libexec/Makefile.inc index 1ac3dc7c91c8f..ce2cd44c3076e 100644 --- a/gnu/libexec/Makefile.inc +++ b/gnu/libexec/Makefile.inc @@ -1,3 +1,3 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1994/01/30 01:08:21 rgrimes Exp $ BINDIR?= /usr/libexec diff --git a/gnu/libexec/uucp/Makefile b/gnu/libexec/uucp/Makefile index a6b8ce538428c..bf3f0aa508ee5 100644 --- a/gnu/libexec/uucp/Makefile +++ b/gnu/libexec/uucp/Makefile @@ -1,5 +1,5 @@ # This is the Makefile for Taylor UUCP -# $Id: Makefile,v 1.3 1995/01/01 21:58:01 ache Exp $ +# $Id: Makefile,v 1.4 1996/08/17 22:27:05 wosch Exp $ # subdir 'sample' called by /usr/src/etc/Makefile SUBDIR= libunix libuucp libuuconf \ diff --git a/gnu/libexec/uucp/common_sources/chat.c b/gnu/libexec/uucp/common_sources/chat.c index 4692fe76390a9..e52006b31e8d2 100644 --- a/gnu/libexec/uucp/common_sources/chat.c +++ b/gnu/libexec/uucp/common_sources/chat.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char chat_rcsid[] = "$Id: chat.c,v 1.46 1995/06/21 19:14:29 ian Rel $"; +const char chat_rcsid[] = "$Id: chat.c,v 1.4 1995/08/19 21:23:41 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/common_sources/conn.c b/gnu/libexec/uucp/common_sources/conn.c index de91b117b6519..4e0733d59f051 100644 --- a/gnu/libexec/uucp/common_sources/conn.c +++ b/gnu/libexec/uucp/common_sources/conn.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char conn_rcsid[] = "$Id: conn.c,v 1.15 1995/06/21 19:14:35 ian Rel $"; +const char conn_rcsid[] = "$Id: conn.c,v 1.4 1995/08/19 21:23:46 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/common_sources/copy.c b/gnu/libexec/uucp/common_sources/copy.c index b1787f9561c84..227bee6a3c75e 100644 --- a/gnu/libexec/uucp/common_sources/copy.c +++ b/gnu/libexec/uucp/common_sources/copy.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char copy_rcsid[] = "$Id: copy.c,v 1.18 1995/08/02 01:17:31 ian Rel $"; +const char copy_rcsid[] = "$Id: copy.c,v 1.3 1995/08/19 21:23:49 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/common_sources/log.c b/gnu/libexec/uucp/common_sources/log.c index 1c35b876d519e..c99708bc905a6 100644 --- a/gnu/libexec/uucp/common_sources/log.c +++ b/gnu/libexec/uucp/common_sources/log.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char log_rcsid[] = "$Id: log.c,v 1.61 1995/06/21 19:14:58 ian Rel $"; +const char log_rcsid[] = "$Id: log.c,v 1.4 1995/08/19 21:23:54 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/common_sources/prot.c b/gnu/libexec/uucp/common_sources/prot.c index 54156a4b18d58..ba6bc65918e02 100644 --- a/gnu/libexec/uucp/common_sources/prot.c +++ b/gnu/libexec/uucp/common_sources/prot.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char prot_rcsid[] = "$Id: prot.c,v 1.32 1995/06/21 19:15:07 ian Rel $"; +const char prot_rcsid[] = "$Id: prot.c,v 1.3 1995/08/19 21:23:59 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/common_sources/util.c b/gnu/libexec/uucp/common_sources/util.c index 21dbebc3dae73..b65bf8172f457 100644 --- a/gnu/libexec/uucp/common_sources/util.c +++ b/gnu/libexec/uucp/common_sources/util.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char util_rcsid[] = "$Id: util.c,v 1.8 1995/06/21 19:16:18 ian Rel $"; +const char util_rcsid[] = "$Id: util.c,v 1.3 1995/08/19 21:24:13 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/contrib/Makefile.uurt b/gnu/libexec/uucp/contrib/Makefile.uurt index e97ff7ed2ff0a..473edbb9cae13 100644 --- a/gnu/libexec/uucp/contrib/Makefile.uurt +++ b/gnu/libexec/uucp/contrib/Makefile.uurt @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1994/04/14 17:47:52 kdburg Exp $ +# $Id: Makefile.uurt,v 1.3 1995/08/19 21:24:24 ache Exp $ # Makefile for uurate 1.10 # diff --git a/gnu/libexec/uucp/contrib/uupoll.shar b/gnu/libexec/uucp/contrib/uupoll.shar index a03a0737b1f26..17df708164058 100644 --- a/gnu/libexec/uucp/contrib/uupoll.shar +++ b/gnu/libexec/uucp/contrib/uupoll.shar @@ -493,10 +493,13 @@ X not scan the uucico log. X X #if !defined(lint) -static char rcsid[] = "$Id: autopoll.c,v 2.8 1994/04/14 17:22:54 kdburg Rel $"; +static char rcsid[] = "$Id: uupoll.shar,v 1.2 1995/08/19 21:24:34 ache Exp $"; #endif /* not lint */ X -/* $Log: autopoll.c,v $ +/* $Log: uupoll.shar,v $ + * Revision 1.2 1995/08/19 21:24:34 ache + * Commit delta: current -> 1.06 + FreeBSD configuration + * X * Revision 2.8 1994/04/14 17:22:54 kdburg X * corrected misspelled AT_OPTION X * @@ -1628,8 +1631,11 @@ sed 's/^X//' << 'SHAR_EOF' > 'uupoll/conf.h' && #ifndef CONF X #define CONF X -/* $Id: conf.h,v 1.9 1994/04/14 17:24:58 kdburg Rel $ */ -/* $Log: conf.h,v $ +/* $Id: uupoll.shar,v 1.2 1995/08/19 21:24:34 ache Exp $ */ +/* $Log: uupoll.shar,v $ + * Revision 1.2 1995/08/19 21:24:34 ache + * Commit delta: current -> 1.06 + FreeBSD configuration + * X * Revision 1.9 1994/04/14 17:24:58 kdburg X * added comment to the AT_OPTION X * @@ -1986,10 +1992,13 @@ X - No alias expansion is done on the given names. */ X #if !defined(lint) -static char rcsid[] = "$Id: uupoll.c,v 2.7 1994/04/14 17:22:04 kdburg Rel $"; +static char rcsid[] = "$Id: uupoll.shar,v 1.2 1995/08/19 21:24:34 ache Exp $"; #endif /* not lint */ X -/* $Log: uupoll.c,v $ +/* $Log: uupoll.shar,v $ + * Revision 1.2 1995/08/19 21:24:34 ache + * Commit delta: current -> 1.06 + FreeBSD configuration + * X * Revision 2.7 1994/04/14 17:22:04 kdburg X * major rework done X * diff --git a/gnu/libexec/uucp/contrib/uurate.c b/gnu/libexec/uucp/contrib/uurate.c index 907e24298e070..966df425b471a 100644 --- a/gnu/libexec/uucp/contrib/uurate.c +++ b/gnu/libexec/uucp/contrib/uurate.c @@ -84,6 +84,9 @@ * get knowledge of */ /* $Log: uurate.c,v $ + * Revision 1.4 1995/08/19 21:24:38 ache + * Commit delta: current -> 1.06 + FreeBSD configuration + * * Revision 1.15 1994/04/07 21:47:11 kdburg * printed 'no data avail' while there was data; layout chnaged * (cosmetic only) @@ -139,7 +142,7 @@ * */ char version[] = "@(#) Taylor UUCP Log File Summary Filter, Version 1.2.2"; -static char rcsid[] = "$Id: uurate.c,v 1.15 1994/04/07 21:47:11 kdburg Rel $"; +static char rcsid[] = "$Id: uurate.c,v 1.4 1995/08/19 21:24:38 ache Exp $"; #include <ctype.h> /* Character Classification */ #include <math.h> #include "uucp.h" diff --git a/gnu/libexec/uucp/contrib/uurate.man b/gnu/libexec/uucp/contrib/uurate.man index e12a4e1c0a84b..2a150a84008b9 100644 --- a/gnu/libexec/uucp/contrib/uurate.man +++ b/gnu/libexec/uucp/contrib/uurate.man @@ -1,4 +1,4 @@ -''' $Id: uurate.man,v 1.4 1993/09/28 17:38:31 kdburg Rel $ +''' $Id: uurate.man,v 1.3 1995/08/19 21:24:40 ache Exp $ .TH uurate 1 .SH NAME uurate \- Report Taylor UUCP statistics diff --git a/gnu/libexec/uucp/contrib/uusnap.c b/gnu/libexec/uucp/contrib/uusnap.c index 123741cbff286..c12f7bd8405db 100644 --- a/gnu/libexec/uucp/contrib/uusnap.c +++ b/gnu/libexec/uucp/contrib/uusnap.c @@ -25,7 +25,7 @@ #include "uucp.h" #if USE_RCS_ID -char uusnap_rcsid[] = "$Id: uusnap.c,v 1.9 92/05/05 22:51:50 hwr Exp Locker: hwr $"; +char uusnap_rcsid[] = "$Id: uusnap.c,v 1.4 1995/08/19 21:24:42 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/cu/Makefile b/gnu/libexec/uucp/cu/Makefile index 1637588090b04..126107875cf1e 100644 --- a/gnu/libexec/uucp/cu/Makefile +++ b/gnu/libexec/uucp/cu/Makefile @@ -1,5 +1,5 @@ # Makefile for cu -# $Id: Makefile,v 1.4 1995/08/19 21:24:49 ache Exp $ +# $Id: Makefile,v 1.5 1995/09/14 22:18:29 ache Exp $ BINDIR= $(bindir) BINOWN= $(owner) diff --git a/gnu/libexec/uucp/cu/cu.1 b/gnu/libexec/uucp/cu/cu.1 index f756d4c941ee5..625e99416f27c 100644 --- a/gnu/libexec/uucp/cu/cu.1 +++ b/gnu/libexec/uucp/cu/cu.1 @@ -1,4 +1,4 @@ -''' $Id: cu.1,v 1.9 1995/08/02 00:16:58 ian Rel $ +''' $Id: cu.1,v 1.4 1995/08/19 21:24:50 ache Exp $ .TH cu 1 "Taylor UUCP 1.06" .SH NAME cu \- Call up another system diff --git a/gnu/libexec/uucp/cu/cu.c b/gnu/libexec/uucp/cu/cu.c index b82f180299c9a..e8a4623f67f49 100644 --- a/gnu/libexec/uucp/cu/cu.c +++ b/gnu/libexec/uucp/cu/cu.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char cu_rcsid[] = "$Id: cu.c,v 1.42 1995/08/02 01:19:50 ian Rel $"; +const char cu_rcsid[] = "$Id: cu.c,v 1.5 1995/08/19 21:24:51 ache Exp $"; #endif #include "cu.h" diff --git a/gnu/libexec/uucp/doc/uucp.texi b/gnu/libexec/uucp/doc/uucp.texi index 50ff55646f1ba..7b0ac7cef729f 100644 --- a/gnu/libexec/uucp/doc/uucp.texi +++ b/gnu/libexec/uucp/doc/uucp.texi @@ -5649,8 +5649,8 @@ Keywords: UUCP, protocol, FAQ Approved: news-answers-request@@MIT.Edu Archive-name: uucp-internals -Version: $Revision: 1.2 $ -Last-modified: $Date: 1995/08/19 21:24:55 $ +Version: $Revision: 1.3 $ +Last-modified: $Date: 1995/08/21 11:28:17 $ @end format @end ifset diff --git a/gnu/libexec/uucp/libunix/Makefile b/gnu/libexec/uucp/libunix/Makefile index f4cc4a62ef38e..aef9a6f3af900 100644 --- a/gnu/libexec/uucp/libunix/Makefile +++ b/gnu/libexec/uucp/libunix/Makefile @@ -1,5 +1,5 @@ # This subdirectory contains Unix specific support functions. -# $Id: Makefile,v 1.3 1995/05/13 12:57:23 ache Exp $ +# $Id: Makefile,v 1.4 1995/08/19 21:25:01 ache Exp $ LIB= unix SRCS = access.c addbas.c app3.c app4.c basnam.c bytfre.c corrup.c \ diff --git a/gnu/libexec/uucp/libunix/cusub.c b/gnu/libexec/uucp/libunix/cusub.c index b1bce904c2b10..654b72a8c2071 100644 --- a/gnu/libexec/uucp/libunix/cusub.c +++ b/gnu/libexec/uucp/libunix/cusub.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char cusub_rcsid[] = "$Id: cusub.c,v 1.24 1995/06/21 19:18:53 ian Rel $"; +const char cusub_rcsid[] = "$Id: cusub.c,v 1.4 1995/08/19 21:25:06 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libunix/lock.c b/gnu/libexec/uucp/libunix/lock.c index 1be6fbc7ba06c..23dee3fda5e1d 100644 --- a/gnu/libexec/uucp/libunix/lock.c +++ b/gnu/libexec/uucp/libunix/lock.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char lock_rcsid[] = "$Id: lock.c,v 1.20 1995/06/21 19:19:38 ian Rel $"; +const char lock_rcsid[] = "$Id: lock.c,v 1.4 1995/08/19 21:25:36 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libunix/picksb.c b/gnu/libexec/uucp/libunix/picksb.c index 43a0b2a180456..a660283c16df9 100644 --- a/gnu/libexec/uucp/libunix/picksb.c +++ b/gnu/libexec/uucp/libunix/picksb.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char picksb_rcsid[] = "$Id: picksb.c,v 1.10 1995/06/21 19:19:54 ian Rel $"; +const char picksb_rcsid[] = "$Id: picksb.c,v 1.4 1995/08/19 21:25:47 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libunix/pipe.c b/gnu/libexec/uucp/libunix/pipe.c index 7f69040b88f1f..b59b46980a12f 100644 --- a/gnu/libexec/uucp/libunix/pipe.c +++ b/gnu/libexec/uucp/libunix/pipe.c @@ -27,7 +27,7 @@ #include "uucp.h" #if USE_RCS_ID -const char pipe_rcsid[] = "$Id: pipe.c,v 1.6 1995/06/21 19:19:57 ian Rel $"; +const char pipe_rcsid[] = "$Id: pipe.c,v 1.2 1995/08/19 21:25:48 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libunix/serial.c b/gnu/libexec/uucp/libunix/serial.c index 1798f31c266eb..f192d8bf726d1 100644 --- a/gnu/libexec/uucp/libunix/serial.c +++ b/gnu/libexec/uucp/libunix/serial.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char serial_rcsid[] = "$Id: serial.c,v 1.7 1996/10/12 10:41:56 joerg Exp $"; +const char serial_rcsid[] = "$Id: serial.c,v 1.7.2.1 1996/12/03 15:23:47 phk Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libunix/spool.c b/gnu/libexec/uucp/libunix/spool.c index 8c0a82f7ea66f..0f51976d5aa95 100644 --- a/gnu/libexec/uucp/libunix/spool.c +++ b/gnu/libexec/uucp/libunix/spool.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char spool_rcsid[] = "$Id: spool.c,v 1.11 1995/06/30 21:22:54 ian Rel $"; +const char spool_rcsid[] = "$Id: spool.c,v 1.4 1995/08/19 21:26:02 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libunix/statsb.c b/gnu/libexec/uucp/libunix/statsb.c index 4fed4379a3aa3..fdb71dc758f74 100644 --- a/gnu/libexec/uucp/libunix/statsb.c +++ b/gnu/libexec/uucp/libunix/statsb.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char statsb_rcsid[] = "$Id: statsb.c,v 1.19 1995/06/21 19:20:39 ian Rel $"; +const char statsb_rcsid[] = "$Id: statsb.c,v 1.3 1995/08/19 21:26:05 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libunix/tcp.c b/gnu/libexec/uucp/libunix/tcp.c index 6ec39f26a63ba..d38536ce231bb 100644 --- a/gnu/libexec/uucp/libunix/tcp.c +++ b/gnu/libexec/uucp/libunix/tcp.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char tcp_rcsid[] = "$Id: tcp.c,v 1.5 1995/06/21 19:20:46 ian Rel $"; +const char tcp_rcsid[] = "$Id: tcp.c,v 1.1 1995/08/19 21:26:10 ache Exp $"; #endif #if HAVE_TCP diff --git a/gnu/libexec/uucp/libunix/tli.c b/gnu/libexec/uucp/libunix/tli.c index 3e546c844991b..a67e8c88c4530 100644 --- a/gnu/libexec/uucp/libunix/tli.c +++ b/gnu/libexec/uucp/libunix/tli.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char tli_rcsid[] = "$Id: tli.c,v 1.4 1995/06/21 19:20:50 ian Rel $"; +const char tli_rcsid[] = "$Id: tli.c,v 1.1 1995/08/19 21:26:11 ache Exp $"; #endif #if HAVE_TLI diff --git a/gnu/libexec/uucp/libunix/work.c b/gnu/libexec/uucp/libunix/work.c index 4f380fb8127f0..e28e480d1e34e 100644 --- a/gnu/libexec/uucp/libunix/work.c +++ b/gnu/libexec/uucp/libunix/work.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char work_rcsid[] = "$Id: work.c,v 1.20 1995/06/30 21:35:14 ian Rel $"; +const char work_rcsid[] = "$Id: work.c,v 1.4 1995/08/19 21:26:21 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libunix/xqtfil.c b/gnu/libexec/uucp/libunix/xqtfil.c index 7b1b1415ef977..71a6b48e844d0 100644 --- a/gnu/libexec/uucp/libunix/xqtfil.c +++ b/gnu/libexec/uucp/libunix/xqtfil.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char xqtfil_rcsid[] = "$Id: xqtfil.c,v 1.10 1995/07/19 04:18:37 ian Rel $"; +const char xqtfil_rcsid[] = "$Id: xqtfil.c,v 1.4 1995/08/19 21:26:23 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libunix/xqtsub.c b/gnu/libexec/uucp/libunix/xqtsub.c index a2fd50a507cc1..ea0794660b553 100644 --- a/gnu/libexec/uucp/libunix/xqtsub.c +++ b/gnu/libexec/uucp/libunix/xqtsub.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char xqtsub_rcsid[] = "$Id: xqtsub.c,v 1.18 1995/06/21 20:21:14 ian Rel $"; +const char xqtsub_rcsid[] = "$Id: xqtsub.c,v 1.4 1995/08/19 21:26:25 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/libuuconf/Makefile b/gnu/libexec/uucp/libuuconf/Makefile index 060214a206c75..1a8cab21aef33 100644 --- a/gnu/libexec/uucp/libuuconf/Makefile +++ b/gnu/libexec/uucp/libuuconf/Makefile @@ -1,5 +1,5 @@ # This is the Makefile for the Taylor UUCP uuconf library -# $Id: Makefile,v 1.2 1994/05/07 18:11:49 ache Exp $ +# $Id: Makefile,v 1.3 1995/08/19 21:26:30 ache Exp $ LIB= uuconf SRCS = addblk.c addstr.c allblk.c alloc.c base.c bool.c callin.c \ diff --git a/gnu/libexec/uucp/libuuconf/addblk.c b/gnu/libexec/uucp/libuuconf/addblk.c index 30cb07e35041f..91763c7f3cbeb 100644 --- a/gnu/libexec/uucp/libuuconf/addblk.c +++ b/gnu/libexec/uucp/libuuconf/addblk.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_addblk_rcsid[] = "$Id: addblk.c,v 1.5 1995/06/21 19:21:23 ian Rel $"; +const char _uuconf_addblk_rcsid[] = "$Id: addblk.c,v 1.3 1995/08/19 21:26:32 ache Exp $"; #endif #include "alloc.h" diff --git a/gnu/libexec/uucp/libuuconf/addstr.c b/gnu/libexec/uucp/libuuconf/addstr.c index dfc479bc5099e..80d9d5850bfa2 100644 --- a/gnu/libexec/uucp/libuuconf/addstr.c +++ b/gnu/libexec/uucp/libuuconf/addstr.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_addstr_rcsid[] = "$Id: addstr.c,v 1.7 1995/06/21 19:21:26 ian Rel $"; +const char _uuconf_addstr_rcsid[] = "$Id: addstr.c,v 1.3 1995/08/19 21:26:33 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/allblk.c b/gnu/libexec/uucp/libuuconf/allblk.c index 91bbe31d1b486..859f4ebdc317c 100644 --- a/gnu/libexec/uucp/libuuconf/allblk.c +++ b/gnu/libexec/uucp/libuuconf/allblk.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_allblk_rcsid[] = "$Id: allblk.c,v 1.5 1995/06/21 19:21:28 ian Rel $"; +const char _uuconf_allblk_rcsid[] = "$Id: allblk.c,v 1.3 1995/08/19 21:26:34 ache Exp $"; #endif #include "alloc.h" diff --git a/gnu/libexec/uucp/libuuconf/alloc.c b/gnu/libexec/uucp/libuuconf/alloc.c index 5a08b76d2a62c..f51268676dd46 100644 --- a/gnu/libexec/uucp/libuuconf/alloc.c +++ b/gnu/libexec/uucp/libuuconf/alloc.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_alloc_rcsid[] = "$Id: alloc.c,v 1.5 1995/06/21 19:21:31 ian Rel $"; +const char _uuconf_alloc_rcsid[] = "$Id: alloc.c,v 1.3 1995/08/19 21:26:36 ache Exp $"; #endif #include "alloc.h" diff --git a/gnu/libexec/uucp/libuuconf/base.c b/gnu/libexec/uucp/libuuconf/base.c index 829d96504b8a2..de1dca343cf1c 100644 --- a/gnu/libexec/uucp/libuuconf/base.c +++ b/gnu/libexec/uucp/libuuconf/base.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_base_rcsid[] = "$Id: base.c,v 1.5 1995/06/21 19:21:36 ian Rel $"; +const char _uuconf_base_rcsid[] = "$Id: base.c,v 1.3 1995/08/19 21:26:39 ache Exp $"; #endif /* This turns a cmdtab_offset table into a uuconf_cmdtab table. Each diff --git a/gnu/libexec/uucp/libuuconf/bool.c b/gnu/libexec/uucp/libuuconf/bool.c index be56d6a809d1d..c0a28b536524a 100644 --- a/gnu/libexec/uucp/libuuconf/bool.c +++ b/gnu/libexec/uucp/libuuconf/bool.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_bool_rcsid[] = "$Id: bool.c,v 1.5 1995/06/21 19:21:39 ian Rel $"; +const char _uuconf_bool_rcsid[] = "$Id: bool.c,v 1.4 1995/08/19 21:26:41 ache Exp $"; #endif /* Parse a boolean string into a variable. This is called by diff --git a/gnu/libexec/uucp/libuuconf/callin.c b/gnu/libexec/uucp/libuuconf/callin.c index 4e04707260633..b49b0e0e2a569 100644 --- a/gnu/libexec/uucp/libuuconf/callin.c +++ b/gnu/libexec/uucp/libuuconf/callin.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_callin_rcsid[] = "$Id: callin.c,v 1.11 1995/06/21 19:21:42 ian Rel $"; +const char _uuconf_callin_rcsid[] = "$Id: callin.c,v 1.4 1995/08/19 21:26:43 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/calout.c b/gnu/libexec/uucp/libuuconf/calout.c index 4b225a9fea5f4..0f540b3729115 100644 --- a/gnu/libexec/uucp/libuuconf/calout.c +++ b/gnu/libexec/uucp/libuuconf/calout.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_calout_rcsid[] = "$Id: calout.c,v 1.6 1995/06/21 19:21:45 ian Rel $"; +const char _uuconf_calout_rcsid[] = "$Id: calout.c,v 1.4 1995/08/19 21:26:44 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/chatc.c b/gnu/libexec/uucp/libuuconf/chatc.c index 48d0f4fc594ed..e97a8b5a13d41 100644 --- a/gnu/libexec/uucp/libuuconf/chatc.c +++ b/gnu/libexec/uucp/libuuconf/chatc.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_chatc_rcsid[] = "$Id: chatc.c,v 1.6 1995/06/21 19:21:48 ian Rel $"; +const char _uuconf_chatc_rcsid[] = "$Id: chatc.c,v 1.3 1995/08/19 21:26:45 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/libuuconf/cmdarg.c b/gnu/libexec/uucp/libuuconf/cmdarg.c index fd7dd40fc648e..e2503d61c2db8 100644 --- a/gnu/libexec/uucp/libuuconf/cmdarg.c +++ b/gnu/libexec/uucp/libuuconf/cmdarg.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_cmdarg_rcsid[] = "$Id: cmdarg.c,v 1.6 1995/06/21 19:21:50 ian Rel $"; +const char _uuconf_cmdarg_rcsid[] = "$Id: cmdarg.c,v 1.4 1995/08/19 21:26:48 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/libuuconf/cmdfil.c b/gnu/libexec/uucp/libuuconf/cmdfil.c index cb8782b1ee06e..143f98ea49cf2 100644 --- a/gnu/libexec/uucp/libuuconf/cmdfil.c +++ b/gnu/libexec/uucp/libuuconf/cmdfil.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_cmdfil_rcsid[] = "$Id: cmdfil.c,v 1.6 1995/06/21 19:21:53 ian Rel $"; +const char _uuconf_cmdfil_rcsid[] = "$Id: cmdfil.c,v 1.3 1995/08/19 21:26:50 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/cmdlin.c b/gnu/libexec/uucp/libuuconf/cmdlin.c index 4aaea0ba99e2e..a242db132ea7a 100644 --- a/gnu/libexec/uucp/libuuconf/cmdlin.c +++ b/gnu/libexec/uucp/libuuconf/cmdlin.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_cmdlin_rcsid[] = "$Id: cmdlin.c,v 1.6 1995/06/21 19:21:55 ian Rel $"; +const char _uuconf_cmdlin_rcsid[] = "$Id: cmdlin.c,v 1.4 1995/08/19 21:26:51 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/debfil.c b/gnu/libexec/uucp/libuuconf/debfil.c index 9ce91462c4eab..527a5e8ef3a59 100644 --- a/gnu/libexec/uucp/libuuconf/debfil.c +++ b/gnu/libexec/uucp/libuuconf/debfil.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_debfil_rcsid[] = "$Id: debfil.c,v 1.6 1995/06/21 19:21:57 ian Rel $"; +const char _uuconf_debfil_rcsid[] = "$Id: debfil.c,v 1.3 1995/08/19 21:26:53 ache Exp $"; #endif /* Get the name of the UUCP debugging file. */ diff --git a/gnu/libexec/uucp/libuuconf/deblev.c b/gnu/libexec/uucp/libuuconf/deblev.c index 8a52e961cc62c..f543fc78c4cc7 100644 --- a/gnu/libexec/uucp/libuuconf/deblev.c +++ b/gnu/libexec/uucp/libuuconf/deblev.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_deblev_rcsid[] = "$Id: deblev.c,v 1.5 1995/06/21 19:22:00 ian Rel $"; +const char _uuconf_deblev_rcsid[] = "$Id: deblev.c,v 1.3 1995/08/19 21:26:54 ache Exp $"; #endif /* Get the UUCP debugging level. */ diff --git a/gnu/libexec/uucp/libuuconf/diacod.c b/gnu/libexec/uucp/libuuconf/diacod.c index 8c3cf4f365903..f9f3357b00ee0 100644 --- a/gnu/libexec/uucp/libuuconf/diacod.c +++ b/gnu/libexec/uucp/libuuconf/diacod.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_diacod_rcsid[] = "$Id: diacod.c,v 1.9 1995/06/21 19:22:03 ian Rel $"; +const char _uuconf_diacod_rcsid[] = "$Id: diacod.c,v 1.3 1995/08/19 21:26:55 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/dial.c b/gnu/libexec/uucp/libuuconf/dial.c index 11060279dd5e9..bb5177c330b27 100644 --- a/gnu/libexec/uucp/libuuconf/dial.c +++ b/gnu/libexec/uucp/libuuconf/dial.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_dial_rcsid[] = "$Id: dial.c,v 1.6 1995/06/21 19:22:06 ian Rel $"; +const char _uuconf_dial_rcsid[] = "$Id: dial.c,v 1.3 1995/08/19 21:26:56 ache Exp $"; #endif /* Find a dialer by name. */ diff --git a/gnu/libexec/uucp/libuuconf/diasub.c b/gnu/libexec/uucp/libuuconf/diasub.c index 1375199a27236..882257fa73ec9 100644 --- a/gnu/libexec/uucp/libuuconf/diasub.c +++ b/gnu/libexec/uucp/libuuconf/diasub.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_diasub_rcsid[] = "$Id: diasub.c,v 1.6 1995/06/21 19:22:08 ian Rel $"; +const char _uuconf_diasub_rcsid[] = "$Id: diasub.c,v 1.3 1995/08/19 21:26:57 ache Exp $"; #endif /* Clear the information in a dialer. */ diff --git a/gnu/libexec/uucp/libuuconf/dnams.c b/gnu/libexec/uucp/libuuconf/dnams.c index 08481234eb4f1..9bedd16e28333 100644 --- a/gnu/libexec/uucp/libuuconf/dnams.c +++ b/gnu/libexec/uucp/libuuconf/dnams.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_dnams_rcsid[] = "$Id: dnams.c,v 1.5 1995/06/21 19:22:10 ian Rel $"; +const char _uuconf_dnams_rcsid[] = "$Id: dnams.c,v 1.3 1995/08/19 21:26:59 ache Exp $"; #endif /* Get all known dialer names. */ diff --git a/gnu/libexec/uucp/libuuconf/errno.c b/gnu/libexec/uucp/libuuconf/errno.c index 8b0d0c389a5aa..283833a6e044c 100644 --- a/gnu/libexec/uucp/libuuconf/errno.c +++ b/gnu/libexec/uucp/libuuconf/errno.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_errno_rcsid[] = "$Id: errno.c,v 1.5 1995/06/21 19:22:13 ian Rel $"; +const char _uuconf_errno_rcsid[] = "$Id: errno.c,v 1.3 1995/08/19 21:27:00 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/errstr.c b/gnu/libexec/uucp/libuuconf/errstr.c index 6a36acc64101a..760dc75b88a3d 100644 --- a/gnu/libexec/uucp/libuuconf/errstr.c +++ b/gnu/libexec/uucp/libuuconf/errstr.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_errstr_rcsid[] = "$Id: errstr.c,v 1.5 1995/06/21 19:22:17 ian Rel $"; +const char _uuconf_errstr_rcsid[] = "$Id: errstr.c,v 1.4 1995/08/19 21:27:01 ache Exp $"; #endif static char *zeprint_num P((char *zbuf, size_t cbuf, int ival)); diff --git a/gnu/libexec/uucp/libuuconf/filnam.c b/gnu/libexec/uucp/libuuconf/filnam.c index ad9380bfc98f5..82b6aee73353d 100644 --- a/gnu/libexec/uucp/libuuconf/filnam.c +++ b/gnu/libexec/uucp/libuuconf/filnam.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_filnam_rcsid[] = "$Id: filnam.c,v 1.6 1995/06/21 19:22:20 ian Rel $"; +const char _uuconf_filnam_rcsid[] = "$Id: filnam.c,v 1.3 1995/08/19 21:27:02 ache Exp $"; #endif /* Return the saved file name. */ diff --git a/gnu/libexec/uucp/libuuconf/freblk.c b/gnu/libexec/uucp/libuuconf/freblk.c index bbd091313f0f9..aa7f6583d8abe 100644 --- a/gnu/libexec/uucp/libuuconf/freblk.c +++ b/gnu/libexec/uucp/libuuconf/freblk.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_freblk_rcsid[] = "$Id: freblk.c,v 1.7 1995/06/21 19:22:23 ian Rel $"; +const char _uuconf_freblk_rcsid[] = "$Id: freblk.c,v 1.3 1995/08/19 21:27:04 ache Exp $"; #endif #include "alloc.h" diff --git a/gnu/libexec/uucp/libuuconf/fredia.c b/gnu/libexec/uucp/libuuconf/fredia.c index 2bc6573cb1b72..5098058e6d9a8 100644 --- a/gnu/libexec/uucp/libuuconf/fredia.c +++ b/gnu/libexec/uucp/libuuconf/fredia.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_fredia_rcsid[] = "$Id: fredia.c,v 1.5 1995/06/21 19:22:26 ian Rel $"; +const char _uuconf_fredia_rcsid[] = "$Id: fredia.c,v 1.3 1995/08/19 21:27:05 ache Exp $"; #endif /* Free the memory allocated for a dialer. */ diff --git a/gnu/libexec/uucp/libuuconf/free.c b/gnu/libexec/uucp/libuuconf/free.c index 3ea45f9f40428..a36c6eb51b557 100644 --- a/gnu/libexec/uucp/libuuconf/free.c +++ b/gnu/libexec/uucp/libuuconf/free.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_free_rcsid[] = "$Id: free.c,v 1.6 1995/06/21 19:22:30 ian Rel $"; +const char _uuconf_free_rcsid[] = "$Id: free.c,v 1.3 1995/08/19 21:27:07 ache Exp $"; #endif #include "alloc.h" diff --git a/gnu/libexec/uucp/libuuconf/freprt.c b/gnu/libexec/uucp/libuuconf/freprt.c index 399927bdf1699..6ead66ee74172 100644 --- a/gnu/libexec/uucp/libuuconf/freprt.c +++ b/gnu/libexec/uucp/libuuconf/freprt.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_freprt_rcsid[] = "$Id: freprt.c,v 1.5 1995/06/21 19:22:33 ian Rel $"; +const char _uuconf_freprt_rcsid[] = "$Id: freprt.c,v 1.3 1995/08/19 21:27:09 ache Exp $"; #endif /* Free the memory allocated for a port. */ diff --git a/gnu/libexec/uucp/libuuconf/fresys.c b/gnu/libexec/uucp/libuuconf/fresys.c index e367543b45d80..0711875f2fc7c 100644 --- a/gnu/libexec/uucp/libuuconf/fresys.c +++ b/gnu/libexec/uucp/libuuconf/fresys.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_fresys_rcsid[] = "$Id: fresys.c,v 1.5 1995/06/21 19:22:36 ian Rel $"; +const char _uuconf_fresys_rcsid[] = "$Id: fresys.c,v 1.3 1995/08/19 21:27:10 ache Exp $"; #endif /* Free the memory allocated for a system. */ diff --git a/gnu/libexec/uucp/libuuconf/grdcmp.c b/gnu/libexec/uucp/libuuconf/grdcmp.c index 39ddd0b30a64b..6a25e622fbf47 100644 --- a/gnu/libexec/uucp/libuuconf/grdcmp.c +++ b/gnu/libexec/uucp/libuuconf/grdcmp.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_grdcmp_rcsid[] = "$Id: grdcmp.c,v 1.5 1995/06/21 19:22:39 ian Rel $"; +const char _uuconf_grdcmp_rcsid[] = "$Id: grdcmp.c,v 1.3 1995/08/19 21:27:11 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/libuuconf/hdial.c b/gnu/libexec/uucp/libuuconf/hdial.c index 603aa12105982..c4933783331ce 100644 --- a/gnu/libexec/uucp/libuuconf/hdial.c +++ b/gnu/libexec/uucp/libuuconf/hdial.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hdial_rcsid[] = "$Id: hdial.c,v 1.6 1995/06/21 19:22:42 ian Rel $"; +const char _uuconf_hdial_rcsid[] = "$Id: hdial.c,v 1.4 1995/08/19 21:27:13 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/hdnams.c b/gnu/libexec/uucp/libuuconf/hdnams.c index be71feb947f3b..b9d747d9a4926 100644 --- a/gnu/libexec/uucp/libuuconf/hdnams.c +++ b/gnu/libexec/uucp/libuuconf/hdnams.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hdnams_rcsid[] = "$Id: hdnams.c,v 1.6 1995/06/21 19:22:48 ian Rel $"; +const char _uuconf_hdnams_rcsid[] = "$Id: hdnams.c,v 1.4 1995/08/19 21:27:14 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/hinit.c b/gnu/libexec/uucp/libuuconf/hinit.c index 808862dc7e3ed..e0138cddb0d5b 100644 --- a/gnu/libexec/uucp/libuuconf/hinit.c +++ b/gnu/libexec/uucp/libuuconf/hinit.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hinit_rcsid[] = "$Id: hinit.c,v 1.8 1995/06/21 19:22:51 ian Rel $"; +const char _uuconf_hinit_rcsid[] = "$Id: hinit.c,v 1.4 1995/08/19 21:27:16 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/hlocnm.c b/gnu/libexec/uucp/libuuconf/hlocnm.c index f2222a2f6333c..694b489641339 100644 --- a/gnu/libexec/uucp/libuuconf/hlocnm.c +++ b/gnu/libexec/uucp/libuuconf/hlocnm.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hlocnm_rcsid[] = "$Id: hlocnm.c,v 1.7 1995/06/21 19:22:55 ian Rel $"; +const char _uuconf_hlocnm_rcsid[] = "$Id: hlocnm.c,v 1.3 1995/08/19 21:27:17 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/hport.c b/gnu/libexec/uucp/libuuconf/hport.c index cf4b20613fd74..e39bd33e8528b 100644 --- a/gnu/libexec/uucp/libuuconf/hport.c +++ b/gnu/libexec/uucp/libuuconf/hport.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hport_rcsid[] = "$Id: hport.c,v 1.14 1995/06/21 19:22:58 ian Rel $"; +const char _uuconf_hport_rcsid[] = "$Id: hport.c,v 1.3 1995/08/19 21:27:22 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/hrmunk.c b/gnu/libexec/uucp/libuuconf/hrmunk.c index d06f67d03ef53..150f57a5ea120 100644 --- a/gnu/libexec/uucp/libuuconf/hrmunk.c +++ b/gnu/libexec/uucp/libuuconf/hrmunk.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hrmunk_rcsid[] = "$Id: hrmunk.c,v 1.4 1995/06/21 19:23:00 ian Rel $"; +const char _uuconf_hrmunk_rcsid[] = "$Id: hrmunk.c,v 1.3 1995/08/19 21:27:24 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/hsinfo.c b/gnu/libexec/uucp/libuuconf/hsinfo.c index 6520566ef6d4b..7903122f6f5cb 100644 --- a/gnu/libexec/uucp/libuuconf/hsinfo.c +++ b/gnu/libexec/uucp/libuuconf/hsinfo.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hsinfo_rcsid[] = "$Id: hsinfo.c,v 1.14 1995/06/21 19:23:03 ian Rel $"; +const char _uuconf_hsinfo_rcsid[] = "$Id: hsinfo.c,v 1.4 1995/08/19 21:27:25 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/hsnams.c b/gnu/libexec/uucp/libuuconf/hsnams.c index 98b2345a28e19..0e4d9b173f9bc 100644 --- a/gnu/libexec/uucp/libuuconf/hsnams.c +++ b/gnu/libexec/uucp/libuuconf/hsnams.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hsnams_rcsid[] = "$Id: hsnams.c,v 1.6 1995/06/21 19:23:06 ian Rel $"; +const char _uuconf_hsnams_rcsid[] = "$Id: hsnams.c,v 1.4 1995/08/19 21:27:26 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/hsys.c b/gnu/libexec/uucp/libuuconf/hsys.c index ef2d5ed3f7d5c..f8959c76f773d 100644 --- a/gnu/libexec/uucp/libuuconf/hsys.c +++ b/gnu/libexec/uucp/libuuconf/hsys.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hsys_rcsid[] = "$Id: hsys.c,v 1.5 1995/06/21 19:23:08 ian Rel $"; +const char _uuconf_hsys_rcsid[] = "$Id: hsys.c,v 1.3 1995/08/19 21:27:28 ache Exp $"; #endif /* Get system information from the HDB configuration files. This is a diff --git a/gnu/libexec/uucp/libuuconf/hunk.c b/gnu/libexec/uucp/libuuconf/hunk.c index e43a278076ea5..470e1ffe66cb0 100644 --- a/gnu/libexec/uucp/libuuconf/hunk.c +++ b/gnu/libexec/uucp/libuuconf/hunk.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_hunk_rcsid[] = "$Id: hunk.c,v 1.6 1995/06/21 19:23:11 ian Rel $"; +const char _uuconf_hunk_rcsid[] = "$Id: hunk.c,v 1.3 1995/08/19 21:27:29 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/iniglb.c b/gnu/libexec/uucp/libuuconf/iniglb.c index 8968426fb56cf..f406e906094af 100644 --- a/gnu/libexec/uucp/libuuconf/iniglb.c +++ b/gnu/libexec/uucp/libuuconf/iniglb.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_iniglb_rcsid[] = "$Id: iniglb.c,v 1.11 1995/06/28 14:38:23 ian Rel $"; +const char _uuconf_iniglb_rcsid[] = "$Id: iniglb.c,v 1.3 1995/08/19 21:27:30 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/init.c b/gnu/libexec/uucp/libuuconf/init.c index e8bda308406c1..f9b6432faaa26 100644 --- a/gnu/libexec/uucp/libuuconf/init.c +++ b/gnu/libexec/uucp/libuuconf/init.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_init_rcsid[] = "$Id: init.c,v 1.7 1995/06/21 19:23:16 ian Rel $"; +const char _uuconf_init_rcsid[] = "$Id: init.c,v 1.3 1995/08/19 21:27:32 ache Exp $"; #endif /* Initialize the UUCP configuration file reading routines. This is diff --git a/gnu/libexec/uucp/libuuconf/int.c b/gnu/libexec/uucp/libuuconf/int.c index 1fc8d59d58b8e..cfa1a9a534309 100644 --- a/gnu/libexec/uucp/libuuconf/int.c +++ b/gnu/libexec/uucp/libuuconf/int.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_int_rcsid[] = "$Id: int.c,v 1.6 1995/06/21 19:23:19 ian Rel $"; +const char _uuconf_int_rcsid[] = "$Id: int.c,v 1.3 1995/08/19 21:27:33 ache Exp $"; #endif /* Parse a string into a variable. This is called by uuconf_cmd_args, diff --git a/gnu/libexec/uucp/libuuconf/lckdir.c b/gnu/libexec/uucp/libuuconf/lckdir.c index 28b4e945f320e..b87420ca3781f 100644 --- a/gnu/libexec/uucp/libuuconf/lckdir.c +++ b/gnu/libexec/uucp/libuuconf/lckdir.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_lckdir_rcsid[] = "$Id: lckdir.c,v 1.5 1995/06/21 19:23:22 ian Rel $"; +const char _uuconf_lckdir_rcsid[] = "$Id: lckdir.c,v 1.3 1995/08/19 21:27:34 ache Exp $"; #endif /* Get the name of the UUCP lock directory. */ diff --git a/gnu/libexec/uucp/libuuconf/lineno.c b/gnu/libexec/uucp/libuuconf/lineno.c index a5f32f1bbab58..af10039e13947 100644 --- a/gnu/libexec/uucp/libuuconf/lineno.c +++ b/gnu/libexec/uucp/libuuconf/lineno.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_lineno_rcsid[] = "$Id: lineno.c,v 1.5 1995/06/21 19:23:24 ian Rel $"; +const char _uuconf_lineno_rcsid[] = "$Id: lineno.c,v 1.3 1995/08/19 21:27:35 ache Exp $"; #endif /* Return the saved line number. */ diff --git a/gnu/libexec/uucp/libuuconf/llocnm.c b/gnu/libexec/uucp/libuuconf/llocnm.c index 540fc5ba38cdf..5cb8600b664af 100644 --- a/gnu/libexec/uucp/libuuconf/llocnm.c +++ b/gnu/libexec/uucp/libuuconf/llocnm.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_llocnm_rcsid[] = "$Id: llocnm.c,v 1.8 1995/06/21 19:23:27 ian Rel $"; +const char _uuconf_llocnm_rcsid[] = "$Id: llocnm.c,v 1.3 1995/08/19 21:27:36 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/local.c b/gnu/libexec/uucp/libuuconf/local.c index 3dfef4cba87e3..f124802e899b1 100644 --- a/gnu/libexec/uucp/libuuconf/local.c +++ b/gnu/libexec/uucp/libuuconf/local.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_local_rcsid[] = "$Id: local.c,v 1.6 1995/06/21 19:23:29 ian Rel $"; +const char _uuconf_local_rcsid[] = "$Id: local.c,v 1.3 1995/08/19 21:27:37 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/locnm.c b/gnu/libexec/uucp/libuuconf/locnm.c index 87616f6d9568c..730f368a82bcb 100644 --- a/gnu/libexec/uucp/libuuconf/locnm.c +++ b/gnu/libexec/uucp/libuuconf/locnm.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_locnm_rcsid[] = "$Id: locnm.c,v 1.6 1995/06/21 19:23:31 ian Rel $"; +const char _uuconf_locnm_rcsid[] = "$Id: locnm.c,v 1.3 1995/08/19 21:27:39 ache Exp $"; #endif /* Get the local node name. */ diff --git a/gnu/libexec/uucp/libuuconf/logfil.c b/gnu/libexec/uucp/libuuconf/logfil.c index e2571fff7aa55..8b146259e0c93 100644 --- a/gnu/libexec/uucp/libuuconf/logfil.c +++ b/gnu/libexec/uucp/libuuconf/logfil.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_logfil_rcsid[] = "$Id: logfil.c,v 1.5 1995/06/21 19:23:34 ian Rel $"; +const char _uuconf_logfil_rcsid[] = "$Id: logfil.c,v 1.3 1995/08/19 21:27:41 ache Exp $"; #endif /* Get the name of the UUCP log file. */ diff --git a/gnu/libexec/uucp/libuuconf/maxuxq.c b/gnu/libexec/uucp/libuuconf/maxuxq.c index 6aebca699796a..a45a0e494f36b 100644 --- a/gnu/libexec/uucp/libuuconf/maxuxq.c +++ b/gnu/libexec/uucp/libuuconf/maxuxq.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_maxuxq_rcsid[] = "$Id: maxuxq.c,v 1.6 1995/06/21 19:23:36 ian Rel $"; +const char _uuconf_maxuxq_rcsid[] = "$Id: maxuxq.c,v 1.3 1995/08/19 21:27:42 ache Exp $"; #endif /* Get the maximum number of simultaneous uuxqt executions. When diff --git a/gnu/libexec/uucp/libuuconf/mrgblk.c b/gnu/libexec/uucp/libuuconf/mrgblk.c index 6e9292e73abfc..21d13eafa81c4 100644 --- a/gnu/libexec/uucp/libuuconf/mrgblk.c +++ b/gnu/libexec/uucp/libuuconf/mrgblk.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_mrgblk_rcsid[] = "$Id: mrgblk.c,v 1.5 1995/06/21 19:23:38 ian Rel $"; +const char _uuconf_mrgblk_rcsid[] = "$Id: mrgblk.c,v 1.3 1995/08/19 21:27:44 ache Exp $"; #endif #include "alloc.h" diff --git a/gnu/libexec/uucp/libuuconf/paramc.c b/gnu/libexec/uucp/libuuconf/paramc.c index a04bbdb6ca11c..feaf4d19b131b 100644 --- a/gnu/libexec/uucp/libuuconf/paramc.c +++ b/gnu/libexec/uucp/libuuconf/paramc.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_paramc_rcsid[] = "$Id: paramc.c,v 1.5 1995/06/21 19:23:41 ian Rel $"; +const char _uuconf_paramc_rcsid[] = "$Id: paramc.c,v 1.3 1995/08/19 21:27:45 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/port.c b/gnu/libexec/uucp/libuuconf/port.c index 8b0614e3aa121..bd15a7f8ad258 100644 --- a/gnu/libexec/uucp/libuuconf/port.c +++ b/gnu/libexec/uucp/libuuconf/port.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_port_rcsid[] = "$Id: port.c,v 1.6 1995/06/21 19:23:43 ian Rel $"; +const char _uuconf_port_rcsid[] = "$Id: port.c,v 1.3 1995/08/19 21:27:47 ache Exp $"; #endif /* Find a port by name, baud rate, and special purpose function. */ diff --git a/gnu/libexec/uucp/libuuconf/prtsub.c b/gnu/libexec/uucp/libuuconf/prtsub.c index af0d56f1eaf13..47d24bb1f489b 100644 --- a/gnu/libexec/uucp/libuuconf/prtsub.c +++ b/gnu/libexec/uucp/libuuconf/prtsub.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_prtsub_rcsid[] = "$Id: prtsub.c,v 1.7 1995/06/21 19:23:46 ian Rel $"; +const char _uuconf_prtsub_rcsid[] = "$Id: prtsub.c,v 1.3 1995/08/19 21:27:49 ache Exp $"; #endif /* Clear the information in a port. This can only clear the type diff --git a/gnu/libexec/uucp/libuuconf/pubdir.c b/gnu/libexec/uucp/libuuconf/pubdir.c index 7507371e8ca0e..fbfed1b169d6c 100644 --- a/gnu/libexec/uucp/libuuconf/pubdir.c +++ b/gnu/libexec/uucp/libuuconf/pubdir.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_pubdir_rcsid[] = "$Id: pubdir.c,v 1.7 1995/06/21 19:23:49 ian Rel $"; +const char _uuconf_pubdir_rcsid[] = "$Id: pubdir.c,v 1.3 1995/08/19 21:27:50 ache Exp $"; #endif /* Get the name of the UUCP public directory. */ diff --git a/gnu/libexec/uucp/libuuconf/rdlocs.c b/gnu/libexec/uucp/libuuconf/rdlocs.c index 3f5da73b58a64..e2f465a4f3318 100644 --- a/gnu/libexec/uucp/libuuconf/rdlocs.c +++ b/gnu/libexec/uucp/libuuconf/rdlocs.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_rdlocs_rcsid[] = "$Id: rdlocs.c,v 1.7 1995/06/21 19:23:52 ian Rel $"; +const char _uuconf_rdlocs_rcsid[] = "$Id: rdlocs.c,v 1.4 1995/08/19 21:27:51 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/rdperm.c b/gnu/libexec/uucp/libuuconf/rdperm.c index f1ecfd32bb6a4..d3cf81de9c2a1 100644 --- a/gnu/libexec/uucp/libuuconf/rdperm.c +++ b/gnu/libexec/uucp/libuuconf/rdperm.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_rdperm_rcsid[] = "$Id: rdperm.c,v 1.9 1995/06/21 19:23:54 ian Rel $"; +const char _uuconf_rdperm_rcsid[] = "$Id: rdperm.c,v 1.3 1995/08/19 21:27:55 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/reliab.c b/gnu/libexec/uucp/libuuconf/reliab.c index f978117696beb..36567eb9b4bd5 100644 --- a/gnu/libexec/uucp/libuuconf/reliab.c +++ b/gnu/libexec/uucp/libuuconf/reliab.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_reliab_rcsid[] = "$Id: reliab.c,v 1.6 1995/06/21 19:23:57 ian Rel $"; +const char _uuconf_reliab_rcsid[] = "$Id: reliab.c,v 1.3 1995/08/19 21:27:56 ache Exp $"; #endif /* Handle the "seven-bit" command for a port or a dialer. The pvar diff --git a/gnu/libexec/uucp/libuuconf/remunk.c b/gnu/libexec/uucp/libuuconf/remunk.c index 913b8ee62dfbf..546aefdc6c4ec 100644 --- a/gnu/libexec/uucp/libuuconf/remunk.c +++ b/gnu/libexec/uucp/libuuconf/remunk.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_remunk_rcsid[] = "$Id: remunk.c,v 1.5 1995/06/21 19:23:59 ian Rel $"; +const char _uuconf_remunk_rcsid[] = "$Id: remunk.c,v 1.3 1995/08/19 21:27:58 ache Exp $"; #endif /* Get the name of the remote.unknown shell script. */ diff --git a/gnu/libexec/uucp/libuuconf/runuxq.c b/gnu/libexec/uucp/libuuconf/runuxq.c index f1b7865fec6d1..9dbf92b660004 100644 --- a/gnu/libexec/uucp/libuuconf/runuxq.c +++ b/gnu/libexec/uucp/libuuconf/runuxq.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_runuxq_rcsid[] = "$Id: runuxq.c,v 1.5 1995/06/21 19:24:02 ian Rel $"; +const char _uuconf_runuxq_rcsid[] = "$Id: runuxq.c,v 1.2 1995/08/19 21:27:59 ache Exp $"; #endif /* Return how often to spawn a uuxqt process. This is either a diff --git a/gnu/libexec/uucp/libuuconf/sinfo.c b/gnu/libexec/uucp/libuuconf/sinfo.c index 121f1deaa1204..e904fff5b37ae 100644 --- a/gnu/libexec/uucp/libuuconf/sinfo.c +++ b/gnu/libexec/uucp/libuuconf/sinfo.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_sinfo_rcsid[] = "$Id: sinfo.c,v 1.5 1995/06/21 19:24:04 ian Rel $"; +const char _uuconf_sinfo_rcsid[] = "$Id: sinfo.c,v 1.3 1995/08/19 21:28:00 ache Exp $"; #endif /* Get information about a particular system. We combine the diff --git a/gnu/libexec/uucp/libuuconf/snams.c b/gnu/libexec/uucp/libuuconf/snams.c index 5788db31b0871..407f522c74736 100644 --- a/gnu/libexec/uucp/libuuconf/snams.c +++ b/gnu/libexec/uucp/libuuconf/snams.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_snams_rcsid[] = "$Id: snams.c,v 1.5 1995/06/21 19:24:07 ian Rel $"; +const char _uuconf_snams_rcsid[] = "$Id: snams.c,v 1.3 1995/08/19 21:28:02 ache Exp $"; #endif /* Get all known system names. */ diff --git a/gnu/libexec/uucp/libuuconf/split.c b/gnu/libexec/uucp/libuuconf/split.c index d3d5546d91c27..12c71fd1bd6a3 100644 --- a/gnu/libexec/uucp/libuuconf/split.c +++ b/gnu/libexec/uucp/libuuconf/split.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_split_rcsid[] = "$Id: split.c,v 1.5 1995/06/21 19:24:09 ian Rel $"; +const char _uuconf_split_rcsid[] = "$Id: split.c,v 1.3 1995/08/19 21:28:04 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/libuuconf/spool.c b/gnu/libexec/uucp/libuuconf/spool.c index 8fe4f5a62f79b..f871f2be3b51d 100644 --- a/gnu/libexec/uucp/libuuconf/spool.c +++ b/gnu/libexec/uucp/libuuconf/spool.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_spool_rcsid[] = "$Id: spool.c,v 1.6 1995/06/21 19:24:11 ian Rel $"; +const char _uuconf_spool_rcsid[] = "$Id: spool.c,v 1.3 1995/08/19 21:28:05 ache Exp $"; #endif /* Get the name of the UUCP spool directory. */ diff --git a/gnu/libexec/uucp/libuuconf/stafil.c b/gnu/libexec/uucp/libuuconf/stafil.c index 7c6377c702618..d733b3c4c02d4 100644 --- a/gnu/libexec/uucp/libuuconf/stafil.c +++ b/gnu/libexec/uucp/libuuconf/stafil.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_stafil_rcsid[] = "$Id: stafil.c,v 1.5 1995/06/21 19:24:14 ian Rel $"; +const char _uuconf_stafil_rcsid[] = "$Id: stafil.c,v 1.3 1995/08/19 21:28:06 ache Exp $"; #endif /* Get the name of the UUCP statistics file. */ diff --git a/gnu/libexec/uucp/libuuconf/strip.c b/gnu/libexec/uucp/libuuconf/strip.c index fc314a77e939f..973fad1efd0a4 100644 --- a/gnu/libexec/uucp/libuuconf/strip.c +++ b/gnu/libexec/uucp/libuuconf/strip.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_strip_rcsid[] = "$Id: strip.c,v 1.2 1995/06/28 15:43:14 ian Rel $"; +const char _uuconf_strip_rcsid[] = "$Id: strip.c,v 1.1 1995/08/19 21:28:07 ache Exp $"; #endif /* Get information about what types of global information should be diff --git a/gnu/libexec/uucp/libuuconf/syssub.c b/gnu/libexec/uucp/libuuconf/syssub.c index 7a98f5dd9cd60..11dd7f2f0ff94 100644 --- a/gnu/libexec/uucp/libuuconf/syssub.c +++ b/gnu/libexec/uucp/libuuconf/syssub.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_syssub_rcsid[] = "$Id: syssub.c,v 1.14 1995/06/21 19:24:20 ian Rel $"; +const char _uuconf_syssub_rcsid[] = "$Id: syssub.c,v 1.4 1995/08/19 21:28:10 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/tcalou.c b/gnu/libexec/uucp/libuuconf/tcalou.c index a41d7ad7335b6..b675b8ee9c2ef 100644 --- a/gnu/libexec/uucp/libuuconf/tcalou.c +++ b/gnu/libexec/uucp/libuuconf/tcalou.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tcalou_rcsid[] = "$Id: tcalou.c,v 1.8 1995/06/21 19:24:24 ian Rel $"; +const char _uuconf_tcalou_rcsid[] = "$Id: tcalou.c,v 1.3 1995/08/19 21:28:12 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/tdial.c b/gnu/libexec/uucp/libuuconf/tdial.c index fc2c588f0b63a..d3a8a751444da 100644 --- a/gnu/libexec/uucp/libuuconf/tdial.c +++ b/gnu/libexec/uucp/libuuconf/tdial.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tdial_rcsid[] = "$Id: tdial.c,v 1.6 1995/06/21 19:24:26 ian Rel $"; +const char _uuconf_tdial_rcsid[] = "$Id: tdial.c,v 1.3 1995/08/19 21:28:13 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/tdialc.c b/gnu/libexec/uucp/libuuconf/tdialc.c index 75cc11cc6aaa3..3e642b23eda15 100644 --- a/gnu/libexec/uucp/libuuconf/tdialc.c +++ b/gnu/libexec/uucp/libuuconf/tdialc.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tdialc_rcsid[] = "$Id: tdialc.c,v 1.6 1995/06/21 19:24:29 ian Rel $"; +const char _uuconf_tdialc_rcsid[] = "$Id: tdialc.c,v 1.4 1995/08/19 21:28:15 ache Exp $"; #endif static int idchat P((pointer pglobal, int argc, char **argv, pointer pvar, diff --git a/gnu/libexec/uucp/libuuconf/tdnams.c b/gnu/libexec/uucp/libuuconf/tdnams.c index c1f42c6dc8668..afd0814fa7111 100644 --- a/gnu/libexec/uucp/libuuconf/tdnams.c +++ b/gnu/libexec/uucp/libuuconf/tdnams.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tdnams_rcsid[] = "$Id: tdnams.c,v 1.6 1995/06/21 19:24:31 ian Rel $"; +const char _uuconf_tdnams_rcsid[] = "$Id: tdnams.c,v 1.4 1995/08/19 21:28:16 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/tgcmp.c b/gnu/libexec/uucp/libuuconf/tgcmp.c index 2960bdaadd473..081c6ab36b54d 100644 --- a/gnu/libexec/uucp/libuuconf/tgcmp.c +++ b/gnu/libexec/uucp/libuuconf/tgcmp.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tgcmp_rcsid[] = "$Id: tgcmp.c,v 1.5 1995/06/21 19:24:34 ian Rel $"; +const char _uuconf_tgcmp_rcsid[] = "$Id: tgcmp.c,v 1.3 1995/08/19 21:28:17 ache Exp $"; #endif /* A comparison function to pass to _uuconf_itime_parse. This diff --git a/gnu/libexec/uucp/libuuconf/thread.c b/gnu/libexec/uucp/libuuconf/thread.c index a3ee7ae8cc61d..91aae72f754a5 100644 --- a/gnu/libexec/uucp/libuuconf/thread.c +++ b/gnu/libexec/uucp/libuuconf/thread.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_thread_rcsid[] = "$Id: thread.c,v 1.5 1995/06/21 19:24:37 ian Rel $"; +const char _uuconf_thread_rcsid[] = "$Id: thread.c,v 1.3 1995/08/19 21:28:18 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/time.c b/gnu/libexec/uucp/libuuconf/time.c index 226116449d3be..928b4482bacbc 100644 --- a/gnu/libexec/uucp/libuuconf/time.c +++ b/gnu/libexec/uucp/libuuconf/time.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_time_rcsid[] = "$Id: time.c,v 1.13 1995/06/21 19:24:39 ian Rel $"; +const char _uuconf_time_rcsid[] = "$Id: time.c,v 1.3 1995/08/19 21:28:19 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/libuuconf/tinit.c b/gnu/libexec/uucp/libuuconf/tinit.c index 3404dbce60355..808850efeae04 100644 --- a/gnu/libexec/uucp/libuuconf/tinit.c +++ b/gnu/libexec/uucp/libuuconf/tinit.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tinit_rcsid[] = "$Id: tinit.c,v 1.13 1995/06/28 14:38:51 ian Rel $"; +const char _uuconf_tinit_rcsid[] = "$Id: tinit.c,v 1.3 1995/08/19 21:28:21 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/tlocnm.c b/gnu/libexec/uucp/libuuconf/tlocnm.c index 5c15e9292d068..60b1c91f08196 100644 --- a/gnu/libexec/uucp/libuuconf/tlocnm.c +++ b/gnu/libexec/uucp/libuuconf/tlocnm.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tlocnm_rcsid[] = "$Id: tlocnm.c,v 1.6 1995/06/21 19:24:45 ian Rel $"; +const char _uuconf_tlocnm_rcsid[] = "$Id: tlocnm.c,v 1.3 1995/08/19 21:28:23 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/tport.c b/gnu/libexec/uucp/libuuconf/tport.c index 507b036364242..7cb22b200a386 100644 --- a/gnu/libexec/uucp/libuuconf/tport.c +++ b/gnu/libexec/uucp/libuuconf/tport.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tport_rcsid[] = "$Id: tport.c,v 1.9 1995/06/21 19:24:48 ian Rel $"; +const char _uuconf_tport_rcsid[] = "$Id: tport.c,v 1.3 1995/08/19 21:28:24 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/tportc.c b/gnu/libexec/uucp/libuuconf/tportc.c index 742440845548c..7fc284dc3bb40 100644 --- a/gnu/libexec/uucp/libuuconf/tportc.c +++ b/gnu/libexec/uucp/libuuconf/tportc.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tportc_rcsid[] = "$Id: tportc.c,v 1.14 1995/06/21 19:24:52 ian Rel $"; +const char _uuconf_tportc_rcsid[] = "$Id: tportc.c,v 1.4 1995/08/19 21:28:27 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/tsinfo.c b/gnu/libexec/uucp/libuuconf/tsinfo.c index 670cf34c77234..32f7fc0d24f04 100644 --- a/gnu/libexec/uucp/libuuconf/tsinfo.c +++ b/gnu/libexec/uucp/libuuconf/tsinfo.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tsinfo_rcsid[] = "$Id: tsinfo.c,v 1.17 1995/08/11 03:34:37 ian Rel $"; +const char _uuconf_tsinfo_rcsid[] = "$Id: tsinfo.c,v 1.3 1995/08/19 21:28:29 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/tsnams.c b/gnu/libexec/uucp/libuuconf/tsnams.c index a350b1520f949..e5cacf1a19ea6 100644 --- a/gnu/libexec/uucp/libuuconf/tsnams.c +++ b/gnu/libexec/uucp/libuuconf/tsnams.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tsnams_rcsid[] = "$Id: tsnams.c,v 1.5 1995/06/21 19:24:59 ian Rel $"; +const char _uuconf_tsnams_rcsid[] = "$Id: tsnams.c,v 1.3 1995/08/19 21:28:30 ache Exp $"; #endif /* Get all the system names from the Taylor UUCP configuration files. diff --git a/gnu/libexec/uucp/libuuconf/tsys.c b/gnu/libexec/uucp/libuuconf/tsys.c index bf5b34330fd3c..daec0e6b51b6e 100644 --- a/gnu/libexec/uucp/libuuconf/tsys.c +++ b/gnu/libexec/uucp/libuuconf/tsys.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tsys_rcsid[] = "$Id: tsys.c,v 1.5 1995/06/21 19:25:01 ian Rel $"; +const char _uuconf_tsys_rcsid[] = "$Id: tsys.c,v 1.3 1995/08/19 21:28:31 ache Exp $"; #endif /* Get system information from the Taylor UUCP configuration files. diff --git a/gnu/libexec/uucp/libuuconf/tval.c b/gnu/libexec/uucp/libuuconf/tval.c index 53f0c85849e81..b8beab3f38f07 100644 --- a/gnu/libexec/uucp/libuuconf/tval.c +++ b/gnu/libexec/uucp/libuuconf/tval.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_tval_rcsid[] = "$Id: tval.c,v 1.5 1995/06/21 19:25:03 ian Rel $"; +const char _uuconf_tval_rcsid[] = "$Id: tval.c,v 1.3 1995/08/19 21:28:33 ache Exp $"; #endif /* Validate a login name for a system using Taylor UUCP configuration diff --git a/gnu/libexec/uucp/libuuconf/ugtlin.c b/gnu/libexec/uucp/libuuconf/ugtlin.c index 27d8ab6f945b7..95dbbe5bab2f1 100644 --- a/gnu/libexec/uucp/libuuconf/ugtlin.c +++ b/gnu/libexec/uucp/libuuconf/ugtlin.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_ugtlin_rcsid[] = "$Id: ugtlin.c,v 1.6 1995/06/21 19:25:06 ian Rel $"; +const char _uuconf_ugtlin_rcsid[] = "$Id: ugtlin.c,v 1.3 1995/08/19 21:28:34 ache Exp $"; #endif /* Read a line from a file with backslash continuations. This updates diff --git a/gnu/libexec/uucp/libuuconf/unk.c b/gnu/libexec/uucp/libuuconf/unk.c index ad6c0c8f228f2..7fd386760bc2c 100644 --- a/gnu/libexec/uucp/libuuconf/unk.c +++ b/gnu/libexec/uucp/libuuconf/unk.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_unk_rcsid[] = "$Id: unk.c,v 1.5 1995/06/21 19:25:08 ian Rel $"; +const char _uuconf_unk_rcsid[] = "$Id: unk.c,v 1.3 1995/08/19 21:28:35 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/val.c b/gnu/libexec/uucp/libuuconf/val.c index f406ec2f43b06..b6c4eaca833c4 100644 --- a/gnu/libexec/uucp/libuuconf/val.c +++ b/gnu/libexec/uucp/libuuconf/val.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_val_rcsid[] = "$Id: val.c,v 1.5 1995/06/21 19:25:13 ian Rel $"; +const char _uuconf_val_rcsid[] = "$Id: val.c,v 1.3 1995/08/19 21:28:38 ache Exp $"; #endif /* Validate a login name for a system. */ diff --git a/gnu/libexec/uucp/libuuconf/vinit.c b/gnu/libexec/uucp/libuuconf/vinit.c index d9c5f97cbb79e..2097145f83d57 100644 --- a/gnu/libexec/uucp/libuuconf/vinit.c +++ b/gnu/libexec/uucp/libuuconf/vinit.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_vinit_rcsid[] = "$Id: vinit.c,v 1.5 1995/06/21 19:25:16 ian Rel $"; +const char _uuconf_vinit_rcsid[] = "$Id: vinit.c,v 1.3 1995/08/19 21:28:39 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/vport.c b/gnu/libexec/uucp/libuuconf/vport.c index 7846cb9274ef7..ce4623dd67d7f 100644 --- a/gnu/libexec/uucp/libuuconf/vport.c +++ b/gnu/libexec/uucp/libuuconf/vport.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_vport_rcsid[] = "$Id: vport.c,v 1.9 1995/06/21 19:25:19 ian Rel $"; +const char _uuconf_vport_rcsid[] = "$Id: vport.c,v 1.4 1995/08/19 21:28:40 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/vsinfo.c b/gnu/libexec/uucp/libuuconf/vsinfo.c index 6a6875c890e60..04e06be263d38 100644 --- a/gnu/libexec/uucp/libuuconf/vsinfo.c +++ b/gnu/libexec/uucp/libuuconf/vsinfo.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_vsinfo_rcsid[] = "$Id: vsinfo.c,v 1.14 1995/06/21 19:25:24 ian Rel $"; +const char _uuconf_vsinfo_rcsid[] = "$Id: vsinfo.c,v 1.4 1995/08/19 21:28:43 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/vsnams.c b/gnu/libexec/uucp/libuuconf/vsnams.c index 2d2e4a504e9ff..f90ec249e0fad 100644 --- a/gnu/libexec/uucp/libuuconf/vsnams.c +++ b/gnu/libexec/uucp/libuuconf/vsnams.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_vsnams_rcsid[] = "$Id: vsnams.c,v 1.8 1995/06/21 19:25:26 ian Rel $"; +const char _uuconf_vsnams_rcsid[] = "$Id: vsnams.c,v 1.3 1995/08/19 21:28:46 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/libuuconf/vsys.c b/gnu/libexec/uucp/libuuconf/vsys.c index 82ac24659268a..29eed8c35e42e 100644 --- a/gnu/libexec/uucp/libuuconf/vsys.c +++ b/gnu/libexec/uucp/libuuconf/vsys.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char _uuconf_vsys_rcsid[] = "$Id: vsys.c,v 1.5 1995/06/21 19:25:29 ian Rel $"; +const char _uuconf_vsys_rcsid[] = "$Id: vsys.c,v 1.3 1995/08/19 21:28:49 ache Exp $"; #endif /* Get system information from the V2 configuration files. This is a diff --git a/gnu/libexec/uucp/libuucp/Makefile b/gnu/libexec/uucp/libuucp/Makefile index 33e0a02518505..e709431abc6a5 100644 --- a/gnu/libexec/uucp/libuucp/Makefile +++ b/gnu/libexec/uucp/libuucp/Makefile @@ -1,5 +1,5 @@ # This is the Makefile for the libuucp subdirectory of Taylor UUCP -# $Id: Makefile,v 1.2 1993/08/16 16:22:34 jtc Exp $ +# $Id: Makefile,v 1.3 1994/05/07 18:13:29 ache Exp $ LIB= uucp SRCS = buffer.c crc.c debug.c escape.c getopt.c getop1.c parse.c spool.c \ diff --git a/gnu/libexec/uucp/libuucp/parse.c b/gnu/libexec/uucp/libuucp/parse.c index da724fc6a2986..ab047d08dfb93 100644 --- a/gnu/libexec/uucp/libuucp/parse.c +++ b/gnu/libexec/uucp/libuucp/parse.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char parse_rcsid[] = "$Id: parse.c,v 1.8 1995/06/21 19:18:35 ian Rel $"; +const char parse_rcsid[] = "$Id: parse.c,v 1.4 1995/08/19 21:29:22 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/sample/Makefile b/gnu/libexec/uucp/sample/Makefile index ad78f12e6b177..585a0fa66c508 100644 --- a/gnu/libexec/uucp/sample/Makefile +++ b/gnu/libexec/uucp/sample/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1994/04/25 16:17:59 jkh Exp $ +# $Id: Makefile,v 1.3 1995/07/25 00:31:29 bde Exp $ FILES= call.sample config.sample dial.sample dialcode.sample passwd.sample \ port.sample sys1.sample sys2.sample diff --git a/gnu/libexec/uucp/tstuu.c b/gnu/libexec/uucp/tstuu.c index a4ba8621b19ba..ee04353ffc821 100644 --- a/gnu/libexec/uucp/tstuu.c +++ b/gnu/libexec/uucp/tstuu.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char tstuu_rcsid[] = "$Id: tstuu.c,v 1.86 1995/06/29 19:34:59 ian Rel $"; +const char tstuu_rcsid[] = "$Id: tstuu.c,v 1.4 1995/08/19 21:23:11 ache Exp $"; #endif #include "sysdep.h" diff --git a/gnu/libexec/uucp/uuchk/Makefile b/gnu/libexec/uucp/uuchk/Makefile index 707dcee0dc173..3fa79f205866d 100644 --- a/gnu/libexec/uucp/uuchk/Makefile +++ b/gnu/libexec/uucp/uuchk/Makefile @@ -1,5 +1,5 @@ # Makefile for uuchk -# $Id: Makefile,v 1.3 1994/05/31 05:46:20 ache Exp $ +# $Id: Makefile,v 1.4 1995/05/14 17:00:58 ache Exp $ BINDIR= $(sbindir) diff --git a/gnu/libexec/uucp/uuchk/uuchk.c b/gnu/libexec/uucp/uuchk/uuchk.c index 190fd4bf336b6..4e9540a225846 100644 --- a/gnu/libexec/uucp/uuchk/uuchk.c +++ b/gnu/libexec/uucp/uuchk/uuchk.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char uuchk_rcsid[] = "$Id: uuchk.c,v 1.65 1995/07/18 00:59:30 ian Rel $"; +const char uuchk_rcsid[] = "$Id: uuchk.c,v 1.4 1995/08/19 21:29:30 ache Exp $"; #endif #include "getopt.h" diff --git a/gnu/libexec/uucp/uucico/Makefile b/gnu/libexec/uucp/uucico/Makefile index 7bc891635e951..dffe30908ce93 100644 --- a/gnu/libexec/uucp/uucico/Makefile +++ b/gnu/libexec/uucp/uucico/Makefile @@ -1,5 +1,5 @@ # Makefile for uucico -# $Id: Makefile,v 1.8 1995/08/19 21:29:34 ache Exp $ +# $Id: Makefile,v 1.9 1995/09/14 22:18:39 ache Exp $ BINDIR= $(libxdir) BINOWN= $(owner) diff --git a/gnu/libexec/uucp/uucico/prote.c b/gnu/libexec/uucp/uucico/prote.c index fc73b5db141bd..c6f0c97483c27 100644 --- a/gnu/libexec/uucp/uucico/prote.c +++ b/gnu/libexec/uucp/uucico/prote.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char prote_rcsid[] = "$Id: prote.c,v 1.20 1995/08/02 00:24:28 ian Rel $"; +const char prote_rcsid[] = "$Id: prote.c,v 1.4 1995/08/19 21:29:36 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/uucico/protf.c b/gnu/libexec/uucp/uucico/protf.c index 289dbeff02bcd..7c70ede274c2e 100644 --- a/gnu/libexec/uucp/uucico/protf.c +++ b/gnu/libexec/uucp/uucico/protf.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char protf_rcsid[] = "$Id: protf.c,v 1.33 1995/06/21 19:15:17 ian Rel $"; +const char protf_rcsid[] = "$Id: protf.c,v 1.4 1995/08/19 21:29:38 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/uucico/protg.c b/gnu/libexec/uucp/uucico/protg.c index eda4ed0df38ad..d106c5d7ac8ff 100644 --- a/gnu/libexec/uucp/uucico/protg.c +++ b/gnu/libexec/uucp/uucico/protg.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char protg_rcsid[] = "$Id: protg.c,v 1.68 1995/06/21 19:15:22 ian Rel $"; +const char protg_rcsid[] = "$Id: protg.c,v 1.4 1995/08/19 21:29:40 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/uucico/proti.c b/gnu/libexec/uucp/uucico/proti.c index 32098921cdb4e..e8acd483dd345 100644 --- a/gnu/libexec/uucp/uucico/proti.c +++ b/gnu/libexec/uucp/uucico/proti.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char proti_rcsid[] = "$Id: proti.c,v 1.33 1995/06/21 19:15:28 ian Rel $"; +const char proti_rcsid[] = "$Id: proti.c,v 1.4 1995/08/19 21:29:42 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/uucico/protj.c b/gnu/libexec/uucp/uucico/protj.c index 3d7c206ceb8f0..8d8cffd092f36 100644 --- a/gnu/libexec/uucp/uucico/protj.c +++ b/gnu/libexec/uucp/uucico/protj.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char protj_rcsid[] = "$Id: protj.c,v 1.6 1995/06/21 19:15:32 ian Rel $"; +const char protj_rcsid[] = "$Id: protj.c,v 1.3 1995/08/19 21:29:44 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/uucico/prott.c b/gnu/libexec/uucp/uucico/prott.c index dec4557704043..0d38bed6f269b 100644 --- a/gnu/libexec/uucp/uucico/prott.c +++ b/gnu/libexec/uucp/uucico/prott.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char prott_rcsid[] = "$Id: prott.c,v 1.29 1995/06/21 19:15:36 ian Rel $"; +const char prott_rcsid[] = "$Id: prott.c,v 1.4 1995/08/19 21:29:45 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/uucico/proty.c b/gnu/libexec/uucp/uucico/proty.c index f15671e2b4d34..2d5d5fb747758 100644 --- a/gnu/libexec/uucp/uucico/proty.c +++ b/gnu/libexec/uucp/uucico/proty.c @@ -23,7 +23,7 @@ #include "uucp.h" #if USE_RCS_ID -const char proty_id[] = "$Id: proty.c,v 1.4 1995/06/21 19:15:40 ian Rel $"; +const char proty_id[] = "$Id: proty.c,v 1.1 1995/08/19 21:29:47 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/uucico/protz.c b/gnu/libexec/uucp/uucico/protz.c index 5dd2473fd115a..878bae7c2382f 100644 --- a/gnu/libexec/uucp/uucico/protz.c +++ b/gnu/libexec/uucp/uucico/protz.c @@ -181,7 +181,7 @@ #include "uucp.h" #if USE_RCS_ID -const char protz_rcsid[] = "$Id: protz.c,v 1.8 1993/12/20 00:44:49 ian Rel $"; +const char protz_rcsid[] = "$Id: protz.c,v 1.4 1995/08/19 21:29:48 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/uucico/rec.c b/gnu/libexec/uucp/uucico/rec.c index 4a8f16351a767..69ed0dbb14e89 100644 --- a/gnu/libexec/uucp/uucico/rec.c +++ b/gnu/libexec/uucp/uucico/rec.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char rec_rcsid[] = "$Id: rec.c,v 1.43 1995/08/02 01:21:12 ian Rel $"; +const char rec_rcsid[] = "$Id: rec.c,v 1.5 1995/08/19 21:29:50 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/uucico/send.c b/gnu/libexec/uucp/uucico/send.c index 6cd7450826874..abe3384dc8236 100644 --- a/gnu/libexec/uucp/uucico/send.c +++ b/gnu/libexec/uucp/uucico/send.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char send_rcsid[] = "$Id: send.c,v 1.51 1995/06/21 19:15:49 ian Rel $"; +const char send_rcsid[] = "$Id: send.c,v 1.5 1995/08/19 21:29:52 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/uucico/time.c b/gnu/libexec/uucp/uucico/time.c index 74842469f50a8..4b81a48696e22 100644 --- a/gnu/libexec/uucp/uucico/time.c +++ b/gnu/libexec/uucp/uucico/time.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char time_rcsid[] = "$Id: time.c,v 1.21 1995/06/21 19:16:02 ian Rel $"; +const char time_rcsid[] = "$Id: time.c,v 1.3 1995/08/19 21:29:54 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/uucico/trans.c b/gnu/libexec/uucp/uucico/trans.c index b62b908446cc9..e3860a4c1c936 100644 --- a/gnu/libexec/uucp/uucico/trans.c +++ b/gnu/libexec/uucp/uucico/trans.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char trans_rcsid[] = "$Id: trans.c,v 1.4 1995/08/19 21:29:55 ache Exp $"; +const char trans_rcsid[] = "$Id: trans.c,v 1.5 1995/08/21 11:28:22 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/uucico/uucico.8 b/gnu/libexec/uucp/uucico/uucico.8 index a7ca915d78d15..3b3b293e1b8bb 100644 --- a/gnu/libexec/uucp/uucico/uucico.8 +++ b/gnu/libexec/uucp/uucico/uucico.8 @@ -1,4 +1,4 @@ -''' $Id: uucico.8,v 1.18 1995/06/26 22:36:09 ian Rel $ +''' $Id: uucico.8,v 1.5 1995/08/19 21:29:57 ache Exp $ .TH uucico 8 "Taylor UUCP 1.06" .SH NAME uucico \- UUCP file transfer daemon diff --git a/gnu/libexec/uucp/uucico/uucico.c b/gnu/libexec/uucp/uucico/uucico.c index d268e422671d0..0699faf781ebf 100644 --- a/gnu/libexec/uucp/uucico/uucico.c +++ b/gnu/libexec/uucp/uucico/uucico.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char uucico_rcsid[] = "$Id: uucico.c,v 1.5 1995/08/19 21:29:59 ache Exp $"; +const char uucico_rcsid[] = "$Id: uucico.c,v 1.6 1995/08/21 11:28:23 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/uucico/xcmd.c b/gnu/libexec/uucp/uucico/xcmd.c index a02411ad22c07..728356260e536 100644 --- a/gnu/libexec/uucp/uucico/xcmd.c +++ b/gnu/libexec/uucp/uucico/xcmd.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char xcmd_rcsid[] = "$Id: xcmd.c,v 1.19 1995/06/21 20:20:42 ian Rel $"; +const char xcmd_rcsid[] = "$Id: xcmd.c,v 1.3 1995/08/19 21:30:01 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/uuconv/Makefile b/gnu/libexec/uucp/uuconv/Makefile index 1f9feff7b987d..e33e311a43ed2 100644 --- a/gnu/libexec/uucp/uuconv/Makefile +++ b/gnu/libexec/uucp/uuconv/Makefile @@ -1,5 +1,5 @@ # Makefile for uuconv -# $Id: Makefile,v 1.4 1995/05/14 17:01:07 ache Exp $ +# $Id: Makefile,v 1.5 1995/05/30 04:45:39 rgrimes Exp $ BINDIR= $(sbindir) diff --git a/gnu/libexec/uucp/uuconv/uuconv.c b/gnu/libexec/uucp/uuconv/uuconv.c index 2528140958ddb..a5f2372effcd4 100644 --- a/gnu/libexec/uucp/uuconv/uuconv.c +++ b/gnu/libexec/uucp/uuconv/uuconv.c @@ -26,7 +26,7 @@ #include "uucnfi.h" #if USE_RCS_ID -const char uuconv_rcsid[] = "$Id: uuconv.c,v 1.27 1995/06/29 19:36:27 ian Rel $"; +const char uuconv_rcsid[] = "$Id: uuconv.c,v 1.4 1995/08/19 21:30:03 ache Exp $"; #endif #include "getopt.h" diff --git a/gnu/libexec/uucp/uucp/Makefile b/gnu/libexec/uucp/uucp/Makefile index 4cb4afa8138ad..b6af00ea421ac 100644 --- a/gnu/libexec/uucp/uucp/Makefile +++ b/gnu/libexec/uucp/uucp/Makefile @@ -1,5 +1,5 @@ # Makefile for uucp -# $Id: Makefile,v 1.2 1994/05/31 05:37:12 ache Exp $ +# $Id: Makefile,v 1.3 1994/05/31 07:37:14 ache Exp $ BINDIR= $(bindir) BINOWN= $(owner) diff --git a/gnu/libexec/uucp/uucp/uucp.1 b/gnu/libexec/uucp/uucp/uucp.1 index 25cc7cbb24415..a46164319b32c 100644 --- a/gnu/libexec/uucp/uucp/uucp.1 +++ b/gnu/libexec/uucp/uucp/uucp.1 @@ -1,4 +1,4 @@ -''' $Id: uucp.1,v 1.11 1995/06/26 21:34:49 ian Rel $ +''' $Id: uucp.1,v 1.4 1995/08/19 21:30:08 ache Exp $ .TH uucp 1 "Taylor UUCP 1.06" .SH NAME uucp \- Unix to Unix copy diff --git a/gnu/libexec/uucp/uucp/uucp.c b/gnu/libexec/uucp/uucp/uucp.c index bf2aa201dd3f6..115e930013e7c 100644 --- a/gnu/libexec/uucp/uucp/uucp.c +++ b/gnu/libexec/uucp/uucp/uucp.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char uucp_rcsid[] = "$Id: uucp.c,v 1.3 1995/08/19 21:30:10 ache Exp $"; +const char uucp_rcsid[] = "$Id: uucp.c,v 1.4 1995/08/21 11:28:24 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/uulog/Makefile b/gnu/libexec/uucp/uulog/Makefile index 321656f3dcf13..eb57dd2314a59 100644 --- a/gnu/libexec/uucp/uulog/Makefile +++ b/gnu/libexec/uucp/uulog/Makefile @@ -1,5 +1,5 @@ # Makefile for uulog -# $Id: Makefile,v 1.2 1993/08/05 16:15:14 jtc Exp $ +# $Id: Makefile,v 1.1 1993/08/05 18:27:39 conklin Exp $ BINDIR= $(bindir) diff --git a/gnu/libexec/uucp/uulog/uulog.c b/gnu/libexec/uucp/uulog/uulog.c index 9d9cad52dfaf7..427e32d3bbf50 100644 --- a/gnu/libexec/uucp/uulog/uulog.c +++ b/gnu/libexec/uucp/uulog/uulog.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char uulog_rcsid[] = "$Id: uulog.c,v 1.26 1995/06/29 19:37:19 ian Rel $"; +const char uulog_rcsid[] = "$Id: uulog.c,v 1.4 1995/08/19 21:30:12 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/uuname/Makefile b/gnu/libexec/uucp/uuname/Makefile index 5e7b314ba11e5..1558f6bba3f25 100644 --- a/gnu/libexec/uucp/uuname/Makefile +++ b/gnu/libexec/uucp/uuname/Makefile @@ -1,5 +1,5 @@ # Makefile for uuname -# $Id: Makefile,v 1.2 1993/08/05 16:15:16 jtc Exp $ +# $Id: Makefile,v 1.1 1993/08/05 18:27:42 conklin Exp $ BINDIR= $(bindir) BINOWN= $(owner) diff --git a/gnu/libexec/uucp/uuname/uuname.c b/gnu/libexec/uucp/uuname/uuname.c index 22fc70606a696..8389498cbb895 100644 --- a/gnu/libexec/uucp/uuname/uuname.c +++ b/gnu/libexec/uucp/uuname/uuname.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char uuname_rcsid[] = "$Id: uuname.c,v 1.21 1995/06/29 19:37:53 ian Rel $"; +const char uuname_rcsid[] = "$Id: uuname.c,v 1.3 1995/08/19 21:30:14 ache Exp $"; #endif #include "getopt.h" diff --git a/gnu/libexec/uucp/uupick/Makefile b/gnu/libexec/uucp/uupick/Makefile index c9a431219d841..871e138471c35 100644 --- a/gnu/libexec/uucp/uupick/Makefile +++ b/gnu/libexec/uucp/uupick/Makefile @@ -1,5 +1,5 @@ # Makefile for uupick -# $Id: Makefile,v 1.2 1993/08/05 16:15:19 jtc Exp $ +# $Id: Makefile,v 1.1 1993/08/05 18:27:46 conklin Exp $ BINDIR= $(bindir) diff --git a/gnu/libexec/uucp/uupick/uupick.c b/gnu/libexec/uucp/uupick/uupick.c index d88230f17e2db..1e89d932de3f4 100644 --- a/gnu/libexec/uucp/uupick/uupick.c +++ b/gnu/libexec/uucp/uupick/uupick.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char uupick_rcsid[] = "$Id: uupick.c,v 1.16 1995/06/29 19:38:55 ian Rel $"; +const char uupick_rcsid[] = "$Id: uupick.c,v 1.3 1995/08/19 21:30:16 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/libexec/uucp/uusched/Makefile b/gnu/libexec/uucp/uusched/Makefile index a18430ab56e8f..a50ce7a452a8d 100644 --- a/gnu/libexec/uucp/uusched/Makefile +++ b/gnu/libexec/uucp/uusched/Makefile @@ -1,5 +1,5 @@ # Makefile for uusched -# $Id: Makefile,v 1.7 1995/05/13 12:57:43 ache Exp $ +# $Id: Makefile,v 1.8 1995/07/25 00:31:36 bde Exp $ BINDIR= $(bindir) CLEANFILES+= $(ONESHPROG) diff --git a/gnu/libexec/uucp/uustat/Makefile b/gnu/libexec/uucp/uustat/Makefile index f45e6a1084038..2b403f60b6818 100644 --- a/gnu/libexec/uucp/uustat/Makefile +++ b/gnu/libexec/uucp/uustat/Makefile @@ -1,5 +1,5 @@ # Makefile for uustat -# $Id: Makefile,v 1.1 1993/08/05 18:28:01 conklin Exp $ +# $Id: Makefile,v 1.2 1995/09/15 00:05:07 ache Exp $ BINDIR= $(bindir) BINOWN= $(owner) diff --git a/gnu/libexec/uucp/uustat/uustat.1 b/gnu/libexec/uucp/uustat/uustat.1 index 3256700670d06..e4500a0006fa2 100644 --- a/gnu/libexec/uucp/uustat/uustat.1 +++ b/gnu/libexec/uucp/uustat/uustat.1 @@ -1,4 +1,4 @@ -''' $Id: uustat.1,v 1.5 1995/08/19 21:30:18 ache Exp $ +''' $Id: uustat.1,v 1.6 1996/02/02 00:26:06 mpp Exp $ .TH uustat 1 "Taylor UUCP 1.06" .SH NAME uustat \- UUCP status inquiry and control diff --git a/gnu/libexec/uucp/uustat/uustat.c b/gnu/libexec/uucp/uustat/uustat.c index 8918caeb18055..50d1ce1e0294d 100644 --- a/gnu/libexec/uucp/uustat/uustat.c +++ b/gnu/libexec/uucp/uustat/uustat.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char uustat_rcsid[] = "$Id: uustat.c,v 1.55 1995/08/02 00:14:15 ian Rel $"; +const char uustat_rcsid[] = "$Id: uustat.c,v 1.4 1995/08/19 21:30:21 ache Exp $"; #endif #include <ctype.h> diff --git a/gnu/libexec/uucp/uuto/Makefile b/gnu/libexec/uucp/uuto/Makefile index 8fa6d0a890714..6818e46d33650 100644 --- a/gnu/libexec/uucp/uuto/Makefile +++ b/gnu/libexec/uucp/uuto/Makefile @@ -1,5 +1,5 @@ # Makefile for uuto -# $Id: Makefile,v 1.5 1995/05/13 12:57:44 ache Exp $ +# $Id: Makefile,v 1.6 1995/07/25 00:31:45 bde Exp $ BINDIR= $(bindir) CLEANFILES+= $(ONESHPROG) diff --git a/gnu/libexec/uucp/uux/Makefile b/gnu/libexec/uucp/uux/Makefile index 4ee45a4314556..1fe92f2fa2c27 100644 --- a/gnu/libexec/uucp/uux/Makefile +++ b/gnu/libexec/uucp/uux/Makefile @@ -1,5 +1,5 @@ # Makefile for uux -# $Id: Makefile,v 1.2 1994/05/31 05:46:38 ache Exp $ +# $Id: Makefile,v 1.3 1994/05/31 07:37:25 ache Exp $ BINDIR= $(bindir) BINOWN= $(owner) diff --git a/gnu/libexec/uucp/uux/uux.1 b/gnu/libexec/uucp/uux/uux.1 index 034d4800acc98..4d740998fb530 100644 --- a/gnu/libexec/uucp/uux/uux.1 +++ b/gnu/libexec/uucp/uux/uux.1 @@ -1,4 +1,4 @@ -''' $Id: uux.1,v 1.12 1995/06/27 02:21:14 ian Rel $ +''' $Id: uux.1,v 1.4 1995/08/19 21:30:25 ache Exp $ .TH uux 1 "Taylor UUCP 1.06" .SH NAME uux \- Remote command execution over UUCP diff --git a/gnu/libexec/uucp/uux/uux.c b/gnu/libexec/uucp/uux/uux.c index 966ded2f6116d..71a9123d637a9 100644 --- a/gnu/libexec/uucp/uux/uux.c +++ b/gnu/libexec/uucp/uux/uux.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char uux_rcsid[] = "$Id: uux.c,v 1.7 1995/08/19 21:30:27 ache Exp $"; +const char uux_rcsid[] = "$Id: uux.c,v 1.8 1995/08/21 11:28:26 ache Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/uuxqt/Makefile b/gnu/libexec/uucp/uuxqt/Makefile index 8669d541e2265..a64620bd26390 100644 --- a/gnu/libexec/uucp/uuxqt/Makefile +++ b/gnu/libexec/uucp/uuxqt/Makefile @@ -1,5 +1,5 @@ # Makefile for uuxqt -# $Id: Makefile,v 1.5 1994/05/31 05:46:42 ache Exp $ +# $Id: Makefile,v 1.6 1995/05/13 12:30:17 ache Exp $ BINDIR= $(libxdir) BINOWN= $(owner) diff --git a/gnu/libexec/uucp/uuxqt/uuxqt.8 b/gnu/libexec/uucp/uuxqt/uuxqt.8 index 94aa559d79560..89cd4810cd6c9 100644 --- a/gnu/libexec/uucp/uuxqt/uuxqt.8 +++ b/gnu/libexec/uucp/uuxqt/uuxqt.8 @@ -1,4 +1,4 @@ -''' $Id: uuxqt.8,v 1.8 1995/06/26 22:38:55 ian Rel $ +''' $Id: uuxqt.8,v 1.4 1995/08/19 21:30:28 ache Exp $ .TH uuxqt 8 "Taylor UUCP 1.06" .SH NAME uuxqt \- UUCP execution daemon diff --git a/gnu/libexec/uucp/uuxqt/uuxqt.c b/gnu/libexec/uucp/uuxqt/uuxqt.c index 99c7db425fd9c..08c3f3af1903c 100644 --- a/gnu/libexec/uucp/uuxqt/uuxqt.c +++ b/gnu/libexec/uucp/uuxqt/uuxqt.c @@ -26,7 +26,7 @@ #include "uucp.h" #if USE_RCS_ID -const char uuxqt_rcsid[] = "$Id: uuxqt.c,v 1.82 1995/07/19 04:22:26 ian Rel $"; +const char uuxqt_rcsid[] = "$Id: uuxqt.c,v 1.5 1995/08/19 21:30:30 ache Exp $"; #endif #include <errno.h> diff --git a/gnu/usr.bin/Makefile b/gnu/usr.bin/Makefile index f5eb3a79a0baf..0dab4ae18c601 100644 --- a/gnu/usr.bin/Makefile +++ b/gnu/usr.bin/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.32 1996/09/10 14:04:37 peter Exp $ +# $Id: Makefile,v 1.33 1996/10/04 08:45:34 peter Exp $ SUBDIR= as awk bc bison cc cpio cvs dc dialog diff diff3 gdb genclass gperf \ grep groff gzip ld man patch perl ptx rcs sdiff send-pr \ diff --git a/gnu/usr.bin/Makefile.inc b/gnu/usr.bin/Makefile.inc index 5371a22cca25b..07604ed971c24 100644 --- a/gnu/usr.bin/Makefile.inc +++ b/gnu/usr.bin/Makefile.inc @@ -1,3 +1,3 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1994/01/30 00:31:51 rgrimes Exp $ BINDIR?= /usr/bin diff --git a/gnu/usr.bin/as/Makefile b/gnu/usr.bin/as/Makefile index 908501d5edbaf..c50a7dc393f26 100644 --- a/gnu/usr.bin/as/Makefile +++ b/gnu/usr.bin/as/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 6.1 (Berkeley) 3/3/91 -# $Id: Makefile,v 1.9 1995/09/22 14:14:12 phk Exp $ +# $Id: Makefile,v 1.10 1996/06/24 04:22:43 jkh Exp $ .include "config/Makefile.$(MACHINE)" diff --git a/gnu/usr.bin/as/Makefile.in b/gnu/usr.bin/as/Makefile.in index ba1696b1466f7..d9c8468646bac 100644 --- a/gnu/usr.bin/as/Makefile.in +++ b/gnu/usr.bin/as/Makefile.in @@ -1,4 +1,4 @@ -# $Id: $ +# $Id: Makefile.in,v 1.3 1996/05/07 23:14:59 wosch Exp $ # Makefile for GNU Assembler # Copyright (C) 1987-1992 Free Software Foundation, Inc. diff --git a/gnu/usr.bin/as/app.c b/gnu/usr.bin/as/app.c index 15e88e9140501..08c07d0543724 100644 --- a/gnu/usr.bin/as/app.c +++ b/gnu/usr.bin/as/app.c @@ -24,7 +24,7 @@ pair. This needs better error-handling. */ #ifndef lint -static char rcsid[] = "$Id: app.c,v 1.3 1994/12/23 22:35:59 nate Exp $"; +static char rcsid[] = "$Id: app.c,v 1.4 1995/05/30 04:45:59 rgrimes Exp $"; #endif #include <stdio.h> diff --git a/gnu/usr.bin/as/as.1 b/gnu/usr.bin/as/as.1 index 093aae6fc27f2..5d264759cc0f2 100644 --- a/gnu/usr.bin/as/as.1 +++ b/gnu/usr.bin/as/as.1 @@ -1,6 +1,6 @@ .\" Copyright (c) 1991, 1992 Free Software Foundation .\" See section COPYING for conditions for redistribution -.\" $Id: as.1,v 1.5 1996/08/29 18:05:40 wosch Exp $ +.\" $Id: as.1,v 1.6 1996/10/01 00:11:12 peter Exp $ .TH as 1 "21 January 1992" "cygnus support" "GNU Development Tools" .SH NAME diff --git a/gnu/usr.bin/as/as.c b/gnu/usr.bin/as/as.c index 309ba38310e09..acb5d7ee7fe58 100644 --- a/gnu/usr.bin/as/as.c +++ b/gnu/usr.bin/as/as.c @@ -32,7 +32,7 @@ * */ #ifndef lint -static char rcsid[] = "$Id: as.c,v 1.3 1995/05/30 04:46:01 rgrimes Exp $"; +static char rcsid[] = "$Id: as.c,v 1.4 1996/10/01 00:11:19 peter Exp $"; #endif #include <stdio.h> diff --git a/gnu/usr.bin/as/as.h b/gnu/usr.bin/as/as.h index 0e9d017528e48..32825adb64f0e 100644 --- a/gnu/usr.bin/as/as.h +++ b/gnu/usr.bin/as/as.h @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: as.h,v 1.4 1995/05/30 04:46:02 rgrimes Exp $ + * $Id: as.h,v 1.5 1996/10/01 00:11:25 peter Exp $ */ #define GAS 1 diff --git a/gnu/usr.bin/as/atof-generic.c b/gnu/usr.bin/as/atof-generic.c index 47a58b1409a47..55bdbc72d0a58 100644 --- a/gnu/usr.bin/as/atof-generic.c +++ b/gnu/usr.bin/as/atof-generic.c @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: atof-generic.c,v 1.2 1993/11/03 00:51:14 paul Exp $"; +static char rcsid[] = "$Id: atof-generic.c,v 1.3 1995/05/30 04:46:04 rgrimes Exp $"; #endif #include <ctype.h> diff --git a/gnu/usr.bin/as/bignum-copy.c b/gnu/usr.bin/as/bignum-copy.c index ec90e39975ca0..f1fe529c38e17 100644 --- a/gnu/usr.bin/as/bignum-copy.c +++ b/gnu/usr.bin/as/bignum-copy.c @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: bignum-copy.c,v 1.2 1993/11/03 00:51:16 paul Exp $"; +static char rcsid[] = "$Id: bignum-copy.c,v 1.3 1995/05/30 04:46:05 rgrimes Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/bignum.h b/gnu/usr.bin/as/bignum.h index 64efadc1f27c2..f5e3a1dcacc9c 100644 --- a/gnu/usr.bin/as/bignum.h +++ b/gnu/usr.bin/as/bignum.h @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: bignum.h,v 1.2 1993/11/03 00:51:18 paul Exp $ + * $Id: bignum.h,v 1.3 1995/05/30 04:46:06 rgrimes Exp $ */ /***********************************************************************\ diff --git a/gnu/usr.bin/as/bit_fix.h b/gnu/usr.bin/as/bit_fix.h index 14988ff2000e3..91d526b515ff7 100644 --- a/gnu/usr.bin/as/bit_fix.h +++ b/gnu/usr.bin/as/bit_fix.h @@ -18,7 +18,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: bit_fix.h,v 1.1 1993/11/03 00:51:19 paul Exp $ + * $Id: bit_fix.h,v 1.2 1995/05/30 04:46:07 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/cond.c b/gnu/usr.bin/as/cond.c index 3eb8db7f41142..74488f4dc9570 100644 --- a/gnu/usr.bin/as/cond.c +++ b/gnu/usr.bin/as/cond.c @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: cond.c,v 1.2 1994/12/23 22:36:03 nate Exp $"; +static char rcsid[] = "$Id: cond.c,v 1.3 1995/05/30 04:46:08 rgrimes Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/config/Makefile.hp300 b/gnu/usr.bin/as/config/Makefile.hp300 index 4261d35b39bc3..388501cf8dc82 100644 --- a/gnu/usr.bin/as/config/Makefile.hp300 +++ b/gnu/usr.bin/as/config/Makefile.hp300 @@ -1,5 +1,5 @@ # from: @(#)Makefile.hp300 6.1 (Berkeley) 3/3/91 -# $Id: Makefile.hp300,v 1.4 1993/10/16 03:23:04 cgd Exp $ +# $Id: Makefile.hp300,v 1.1 1993/11/03 00:52:56 paul Exp $ CFLAGS+= -Dm68851 SRCS+= tc-m68k.c atof-ieee.c diff --git a/gnu/usr.bin/as/config/Makefile.i386 b/gnu/usr.bin/as/config/Makefile.i386 index 4cee91937bf9c..06c3d737cfcae 100644 --- a/gnu/usr.bin/as/config/Makefile.i386 +++ b/gnu/usr.bin/as/config/Makefile.i386 @@ -1,5 +1,5 @@ # from: @(#)Makefile.i386 6.1 (Berkeley) 3/3/91 -# $Id: Makefile.i386,v 1.2 1993/11/03 00:52:58 paul Exp $ +# $Id: Makefile.i386,v 1.3 1994/12/23 22:37:31 nate Exp $ CFLAGS+= -DNON_BROKEN_WORDS -DPIC SRCS+= tc-i386.c atof-ieee.c diff --git a/gnu/usr.bin/as/config/Makefile.pc532 b/gnu/usr.bin/as/config/Makefile.pc532 index d4b22aba6c807..5336a25a5eee6 100644 --- a/gnu/usr.bin/as/config/Makefile.pc532 +++ b/gnu/usr.bin/as/config/Makefile.pc532 @@ -1,4 +1,4 @@ -# $Id: Makefile.pc532,v 1.1 1993/10/16 03:23:37 cgd Exp $ +# $Id: Makefile.pc532,v 1.1 1993/11/03 00:52:59 paul Exp $ SRCS+= tc-ns32k.c atof-ns32k.c diff --git a/gnu/usr.bin/as/config/Makefile.sparc b/gnu/usr.bin/as/config/Makefile.sparc index 6dc9658536f7b..2e9c8f197219c 100644 --- a/gnu/usr.bin/as/config/Makefile.sparc +++ b/gnu/usr.bin/as/config/Makefile.sparc @@ -1,5 +1,5 @@ # from: @(#)Makefile.i386 6.1 (Berkeley) 3/3/91 -# $Id: Makefile.sparc,v 1.1 1993/11/03 00:53:00 paul Exp $ +# $Id: Makefile.sparc,v 1.2 1994/12/23 22:37:31 nate Exp $ CFLAGS+= -DNON_BROKEN_WORDS -DPIC SRCS+= tc-sparc.c atof-ieee.c diff --git a/gnu/usr.bin/as/config/Makefile.vax b/gnu/usr.bin/as/config/Makefile.vax index f62b087d3df33..060f15d9ddaee 100644 --- a/gnu/usr.bin/as/config/Makefile.vax +++ b/gnu/usr.bin/as/config/Makefile.vax @@ -1,4 +1,4 @@ # from: @(#)Makefile.vax 6.1 (Berkeley) 3/3/91 -# $Id: Makefile.vax,v 1.3 1993/10/02 20:58:23 pk Exp $ +# $Id: Makefile.vax,v 1.1 1993/11/03 00:53:01 paul Exp $ SRCS+= tc-vax.c atof-vax.c diff --git a/gnu/usr.bin/as/config/atof-ieee.c b/gnu/usr.bin/as/config/atof-ieee.c index 2c51e6b7da121..752ca60a21aef 100644 --- a/gnu/usr.bin/as/config/atof-ieee.c +++ b/gnu/usr.bin/as/config/atof-ieee.c @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: atof-ieee.c,v 1.4 1996/09/22 00:55:46 pst Exp $"; +static char rcsid[] = "$Id: atof-ieee.c,v 1.5 1996/10/01 00:12:30 peter Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/config/ho-i386.h b/gnu/usr.bin/as/config/ho-i386.h index 04de36681d1c0..7e7dbc330fce7 100644 --- a/gnu/usr.bin/as/config/ho-i386.h +++ b/gnu/usr.bin/as/config/ho-i386.h @@ -17,7 +17,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: ho-i386.h,v 1.1 1993/11/03 00:53:21 paul Exp $ + * $Id: ho-i386.h,v 1.2 1995/05/30 04:46:55 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/config/obj-aout.h b/gnu/usr.bin/as/config/obj-aout.h index ff99f41015e81..ef754b2634c52 100644 --- a/gnu/usr.bin/as/config/obj-aout.h +++ b/gnu/usr.bin/as/config/obj-aout.h @@ -17,7 +17,7 @@ License along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: obj-aout.h,v 1.4 1995/05/30 04:47:04 rgrimes Exp $ + $Id: obj-aout.h,v 1.5 1996/10/01 00:12:37 peter Exp $ */ diff --git a/gnu/usr.bin/as/config/tc-i386.c b/gnu/usr.bin/as/config/tc-i386.c index 8d3982e1ea1e6..1b1f9db23f1af 100644 --- a/gnu/usr.bin/as/config/tc-i386.c +++ b/gnu/usr.bin/as/config/tc-i386.c @@ -25,7 +25,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: tc-i386.c,v 1.5 1996/10/01 00:12:43 peter Exp $"; +static char rcsid[] = "$Id: tc-i386.c,v 1.6 1996/10/03 08:07:38 peter Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/config/tc-i386.h b/gnu/usr.bin/as/config/tc-i386.h index fd4d335ab2d94..5dc82e144768c 100644 --- a/gnu/usr.bin/as/config/tc-i386.h +++ b/gnu/usr.bin/as/config/tc-i386.h @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: tc-i386.h,v 1.2 1994/12/23 22:37:36 nate Exp $ + * $Id: tc-i386.h,v 1.3 1995/05/30 04:47:31 rgrimes Exp $ */ #ifndef TC_I386 diff --git a/gnu/usr.bin/as/config/tc-sparc.c b/gnu/usr.bin/as/config/tc-sparc.c index b82a52c0cb104..7dcbafc53cca8 100644 --- a/gnu/usr.bin/as/config/tc-sparc.c +++ b/gnu/usr.bin/as/config/tc-sparc.c @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: tc-sparc.c,v 1.4 1995/05/30 04:47:49 rgrimes Exp $"; +static char rcsid[] = "$Id: tc-sparc.c,v 1.5 1996/10/01 00:13:16 peter Exp $"; #endif #define cypress 1234 diff --git a/gnu/usr.bin/as/config/tc-sparc.h b/gnu/usr.bin/as/config/tc-sparc.h index c6dfa317da6c9..0463ebef45fe0 100644 --- a/gnu/usr.bin/as/config/tc-sparc.h +++ b/gnu/usr.bin/as/config/tc-sparc.h @@ -18,7 +18,7 @@ to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: tc-sparc.h,v 1.2 1994/12/23 22:37:41 nate Exp $ + * $Id: tc-sparc.h,v 1.3 1995/05/30 04:47:50 rgrimes Exp $ */ #define TC_SPARC 1 diff --git a/gnu/usr.bin/as/config/te-generic.h b/gnu/usr.bin/as/config/te-generic.h index f72d5ee95fea3..8bf93bf4ad39c 100644 --- a/gnu/usr.bin/as/config/te-generic.h +++ b/gnu/usr.bin/as/config/te-generic.h @@ -6,7 +6,7 @@ * compile, and copying as an aid for testing and porting. xoxorich. */ /* - * $Id: te-generic.h,v 1.1 1993/10/02 20:59:49 pk Exp $ + * $Id: te-generic.h,v 1.1 1993/11/03 00:55:03 paul Exp $ */ diff --git a/gnu/usr.bin/as/debug.c b/gnu/usr.bin/as/debug.c index d0a0c2d052cae..63e64dfdbfad5 100644 --- a/gnu/usr.bin/as/debug.c +++ b/gnu/usr.bin/as/debug.c @@ -21,7 +21,7 @@ /* Routines for debug use only. */ #ifndef lint -static char rcsid[] = "$Id: debug.c,v 1.1 1993/11/03 00:51:26 paul Exp $"; +static char rcsid[] = "$Id: debug.c,v 1.2 1995/05/30 04:46:09 rgrimes Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/expr.c b/gnu/usr.bin/as/expr.c index e846d5656189b..3d7caa6ac36c4 100644 --- a/gnu/usr.bin/as/expr.c +++ b/gnu/usr.bin/as/expr.c @@ -25,7 +25,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: expr.c,v 1.3 1995/05/30 04:46:10 rgrimes Exp $"; +static char rcsid[] = "$Id: expr.c,v 1.4 1996/10/01 00:11:30 peter Exp $"; #endif #include <ctype.h> diff --git a/gnu/usr.bin/as/expr.h b/gnu/usr.bin/as/expr.h index d0b68a53b013c..52b591326c074 100644 --- a/gnu/usr.bin/as/expr.h +++ b/gnu/usr.bin/as/expr.h @@ -17,7 +17,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: expr.h,v 1.2 1993/11/03 00:51:31 paul Exp $ + * $Id: expr.h,v 1.3 1995/05/30 04:46:11 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/flo-const.c b/gnu/usr.bin/as/flo-const.c index 90f0af108bea0..4df2e46309a6b 100644 --- a/gnu/usr.bin/as/flo-const.c +++ b/gnu/usr.bin/as/flo-const.c @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: flo-const.c,v 1.1 1993/11/03 00:51:32 paul Exp $"; +static char rcsid[] = "$Id: flo-const.c,v 1.2 1995/05/30 04:46:12 rgrimes Exp $"; #endif #include "flonum.h" diff --git a/gnu/usr.bin/as/flo-copy.c b/gnu/usr.bin/as/flo-copy.c index 6e1b30685d1c0..8eb41627cf720 100644 --- a/gnu/usr.bin/as/flo-copy.c +++ b/gnu/usr.bin/as/flo-copy.c @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: flo-copy.c,v 1.1 1993/11/03 00:51:34 paul Exp $"; +static char rcsid[] = "$Id: flo-copy.c,v 1.2 1995/05/30 04:46:13 rgrimes Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/flonum-mult.c b/gnu/usr.bin/as/flonum-mult.c index 4fe8f38dbc0be..6b718758388b3 100644 --- a/gnu/usr.bin/as/flonum-mult.c +++ b/gnu/usr.bin/as/flonum-mult.c @@ -19,7 +19,7 @@ notice and this notice must be preserved on all copies. */ #ifndef lint -static char rcsid[] = "$Id: flonum-mult.c,v 1.2 1993/11/03 00:51:36 paul Exp $"; +static char rcsid[] = "$Id: flonum-mult.c,v 1.3 1995/05/30 04:46:14 rgrimes Exp $"; #endif #include "flonum.h" diff --git a/gnu/usr.bin/as/flonum.h b/gnu/usr.bin/as/flonum.h index cc05dbf0267df..7bb3c0dec3ba8 100644 --- a/gnu/usr.bin/as/flonum.h +++ b/gnu/usr.bin/as/flonum.h @@ -18,7 +18,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: flonum.h,v 1.2 1993/11/03 00:51:37 paul Exp $ + * $Id: flonum.h,v 1.3 1995/05/30 04:46:15 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/frags.c b/gnu/usr.bin/as/frags.c index 71f4669b3f5e3..262e058a25b9e 100644 --- a/gnu/usr.bin/as/frags.c +++ b/gnu/usr.bin/as/frags.c @@ -19,7 +19,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: frags.c,v 1.2 1993/11/03 00:51:39 paul Exp $"; +static char rcsid[] = "$Id: frags.c,v 1.3 1995/05/30 04:46:16 rgrimes Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/frags.h b/gnu/usr.bin/as/frags.h index 0e82c65f362ae..23753a7a44e7a 100644 --- a/gnu/usr.bin/as/frags.h +++ b/gnu/usr.bin/as/frags.h @@ -18,7 +18,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: frags.h,v 1.2 1993/11/03 00:51:40 paul Exp $ + * $Id: frags.h,v 1.3 1995/05/30 04:46:17 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/hash.c b/gnu/usr.bin/as/hash.c index 70068ea81ab90..8fccf2787e160 100644 --- a/gnu/usr.bin/as/hash.c +++ b/gnu/usr.bin/as/hash.c @@ -123,7 +123,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: hash.c,v 1.3 1995/05/30 04:46:18 rgrimes Exp $"; +static char rcsid[] = "$Id: hash.c,v 1.4 1995/12/01 08:19:12 jkh Exp $"; #endif #include <stdio.h> diff --git a/gnu/usr.bin/as/hash.h b/gnu/usr.bin/as/hash.h index 034c2aa62c311..c9a2ab2db95d4 100644 --- a/gnu/usr.bin/as/hash.h +++ b/gnu/usr.bin/as/hash.h @@ -17,7 +17,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: hash.h,v 1.2 1993/11/03 00:51:46 paul Exp $ + * $Id: hash.h,v 1.3 1995/05/30 04:46:19 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/hex-value.c b/gnu/usr.bin/as/hex-value.c index 432aa02422109..f55a64bc947ef 100644 --- a/gnu/usr.bin/as/hex-value.c +++ b/gnu/usr.bin/as/hex-value.c @@ -23,7 +23,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: hex-value.c,v 1.2 1993/11/03 00:51:47 paul Exp $"; +static char rcsid[] = "$Id: hex-value.c,v 1.3 1995/05/30 04:46:20 rgrimes Exp $"; #endif #define __ (42) /* blatently illegal digit value */ diff --git a/gnu/usr.bin/as/input-file.c b/gnu/usr.bin/as/input-file.c index 39e19ac0c52a5..86c6a7734c84b 100644 --- a/gnu/usr.bin/as/input-file.c +++ b/gnu/usr.bin/as/input-file.c @@ -25,7 +25,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: input-file.c,v 1.2 1993/11/03 00:51:48 paul Exp $"; +static char rcsid[] = "$Id: input-file.c,v 1.3 1995/05/30 04:46:21 rgrimes Exp $"; #endif #ifdef USG diff --git a/gnu/usr.bin/as/input-file.h b/gnu/usr.bin/as/input-file.h index 0c6da7d004e51..b9fb65fd04a9d 100644 --- a/gnu/usr.bin/as/input-file.h +++ b/gnu/usr.bin/as/input-file.h @@ -20,7 +20,7 @@ /*"input_file.c":Operating-system dependant functions to read source files.*/ /* - * $Id: input-file.h,v 1.2 1993/11/03 00:51:50 paul Exp $ + * $Id: input-file.h,v 1.3 1995/05/30 04:46:22 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/input-scrub.c b/gnu/usr.bin/as/input-scrub.c index 0e0a1790f3bd4..47ba0d29f7346 100644 --- a/gnu/usr.bin/as/input-scrub.c +++ b/gnu/usr.bin/as/input-scrub.c @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: input-scrub.c,v 1.3 1994/12/23 22:36:05 nate Exp $"; +static char rcsid[] = "$Id: input-scrub.c,v 1.4 1995/05/30 04:46:23 rgrimes Exp $"; #endif #include <errno.h> /* Need this to make errno declaration right */ diff --git a/gnu/usr.bin/as/listing.c b/gnu/usr.bin/as/listing.c index f79a8b451041e..332d4df9e6bfa 100644 --- a/gnu/usr.bin/as/listing.c +++ b/gnu/usr.bin/as/listing.c @@ -92,7 +92,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ */ #ifndef lint -static char rcsid[] = "$Id: listing.c,v 1.2 1994/12/23 22:36:08 nate Exp $"; +static char rcsid[] = "$Id: listing.c,v 1.3 1995/05/30 04:46:24 rgrimes Exp $"; #endif #include <ctype.h> diff --git a/gnu/usr.bin/as/listing.h b/gnu/usr.bin/as/listing.h index 2220c35eb4c26..fde349b11e4a0 100644 --- a/gnu/usr.bin/as/listing.h +++ b/gnu/usr.bin/as/listing.h @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: listing.h,v 1.1 1993/11/03 00:51:56 paul Exp $ + * $Id: listing.h,v 1.2 1994/12/23 22:36:10 nate Exp $ */ #ifndef __listing_h__ diff --git a/gnu/usr.bin/as/makefile.dos b/gnu/usr.bin/as/makefile.dos index 89c74c7873619..b9f7197c5fd6c 100644 --- a/gnu/usr.bin/as/makefile.dos +++ b/gnu/usr.bin/as/makefile.dos @@ -17,7 +17,7 @@ #along with GNU GAS; see the file COPYING. If not, write to #the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -# $Id: makefile.dos,v 1.1 1993/10/02 20:57:43 pk Exp $ +# $Id: makefile.dos,v 1.1 1993/11/03 00:51:59 paul Exp $ # The targets for external use include: # all, doc, proto, install, uninstall, includes, TAGS, diff --git a/gnu/usr.bin/as/messages.c b/gnu/usr.bin/as/messages.c index 55e97d943ef8c..e46d371d8d866 100644 --- a/gnu/usr.bin/as/messages.c +++ b/gnu/usr.bin/as/messages.c @@ -18,7 +18,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: messages.c,v 1.3 1994/12/23 22:36:12 nate Exp $"; +static char rcsid[] = "$Id: messages.c,v 1.4 1995/05/30 04:46:25 rgrimes Exp $"; #endif #include <stdio.h> diff --git a/gnu/usr.bin/as/obj.h b/gnu/usr.bin/as/obj.h index a621941004aec..000641a3c6130 100644 --- a/gnu/usr.bin/as/obj.h +++ b/gnu/usr.bin/as/obj.h @@ -19,7 +19,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: obj.h,v 1.1 1993/11/03 00:52:03 paul Exp $ + * $Id: obj.h,v 1.2 1995/05/30 04:46:26 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/obstack.c b/gnu/usr.bin/as/obstack.c index d7302ea1f5d47..b36bdada55eab 100644 --- a/gnu/usr.bin/as/obstack.c +++ b/gnu/usr.bin/as/obstack.c @@ -16,7 +16,7 @@ along with this program; if not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: obstack.c,v 1.3 1993/10/02 20:57:47 pk Exp $"; +static char rcsid[] = "$Id: obstack.c,v 1.2 1993/11/03 00:52:04 paul Exp $"; #endif #include "obstack.h" diff --git a/gnu/usr.bin/as/obstack.h b/gnu/usr.bin/as/obstack.h index c29bb1f47921c..cd847ed7ec82c 100644 --- a/gnu/usr.bin/as/obstack.h +++ b/gnu/usr.bin/as/obstack.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: obstack.h,v 1.2 1993/11/03 00:52:06 paul Exp $ + * $Id: obstack.h,v 1.3 1995/05/30 04:46:27 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/opcode/a29k.h b/gnu/usr.bin/as/opcode/a29k.h index 8c3616747f090..1d34ff8f5ec9a 100644 --- a/gnu/usr.bin/as/opcode/a29k.h +++ b/gnu/usr.bin/as/opcode/a29k.h @@ -285,6 +285,9 @@ CONST unsigned int num_opcodes = (((sizeof a29k_opcodes) / (sizeof a29k_opcodes[ /* * $Log: a29k.h,v $ + * Revision 1.1 1993/11/03 00:55:48 paul + * Brought over NetBSD's gas ready for pk's shared libs. + * * Revision 1.1 1993/10/02 21:00:40 pk * GNU gas 1.92.3 based assembler supporting PIC code (for i386 and sparc). * diff --git a/gnu/usr.bin/as/opcode/i386.h b/gnu/usr.bin/as/opcode/i386.h index c6197c00e65ea..43b4ca85ae0e9 100644 --- a/gnu/usr.bin/as/opcode/i386.h +++ b/gnu/usr.bin/as/opcode/i386.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: i386.h,v 1.4 1996/10/01 00:13:48 peter Exp $ */ +/* $Id: i386.h,v 1.4.2.1 1996/11/11 21:24:26 phk Exp $ */ static const template i386_optab[] = { diff --git a/gnu/usr.bin/as/opcode/i960.h b/gnu/usr.bin/as/opcode/i960.h index 6a6ad42536bde..c32f7ae5ea523 100644 --- a/gnu/usr.bin/as/opcode/i960.h +++ b/gnu/usr.bin/as/opcode/i960.h @@ -18,7 +18,7 @@ * appropriate. */ -/* $Id: i960.h,v 1.1 1993/11/03 00:55:56 paul Exp $ */ +/* $Id: i960.h,v 1.2 1995/05/30 04:48:03 rgrimes Exp $ */ #define CTRL 0 #define COBR 1 diff --git a/gnu/usr.bin/as/opcode/sparc.h b/gnu/usr.bin/as/opcode/sparc.h index 7921cf597f432..b5e8d5e331147 100644 --- a/gnu/usr.bin/as/opcode/sparc.h +++ b/gnu/usr.bin/as/opcode/sparc.h @@ -20,7 +20,7 @@ along with GAS or GDB; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: sparc.h,v 1.2 1994/12/23 22:37:45 nate Exp $ + * $Id: sparc.h,v 1.3 1995/05/30 04:48:14 rgrimes Exp $ */ /* FIXME-someday: perhaps the ,a's and such should be embedded in the diff --git a/gnu/usr.bin/as/output-file.c b/gnu/usr.bin/as/output-file.c index 1a8683be431f5..27bcd8e615f05 100644 --- a/gnu/usr.bin/as/output-file.c +++ b/gnu/usr.bin/as/output-file.c @@ -27,7 +27,7 @@ /* note that we do need config info. xoxorich. */ #ifndef lint -static char rcsid[] = "$Id: output-file.c,v 1.2 1993/11/03 00:52:08 paul Exp $"; +static char rcsid[] = "$Id: output-file.c,v 1.3 1995/05/30 04:46:29 rgrimes Exp $"; #endif #include <stdio.h> diff --git a/gnu/usr.bin/as/output-file.h b/gnu/usr.bin/as/output-file.h index 37878ab6d1438..26e8e45073b3f 100644 --- a/gnu/usr.bin/as/output-file.h +++ b/gnu/usr.bin/as/output-file.h @@ -18,7 +18,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: output-file.h,v 1.1 1993/11/03 00:52:10 paul Exp $ + * $Id: output-file.h,v 1.2 1995/05/30 04:46:30 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/read.c b/gnu/usr.bin/as/read.c index faa253c622c8a..ac21457ccd671 100644 --- a/gnu/usr.bin/as/read.c +++ b/gnu/usr.bin/as/read.c @@ -19,7 +19,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: read.c,v 1.6 1995/05/30 04:46:31 rgrimes Exp $"; +static char rcsid[] = "$Id: read.c,v 1.7 1996/10/01 00:11:37 peter Exp $"; #endif #define MASK_CHAR (0xFF) /* If your chars aren't 8 bits, you will diff --git a/gnu/usr.bin/as/read.h b/gnu/usr.bin/as/read.h index be5767d82d81a..7c9a2a3060215 100644 --- a/gnu/usr.bin/as/read.h +++ b/gnu/usr.bin/as/read.h @@ -18,7 +18,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: read.h,v 1.5 1995/05/30 04:46:32 rgrimes Exp $ + * $Id: read.h,v 1.6 1996/10/01 00:11:45 peter Exp $ */ diff --git a/gnu/usr.bin/as/struc-symbol.h b/gnu/usr.bin/as/struc-symbol.h index fd7fd816df70a..9b74064194c81 100644 --- a/gnu/usr.bin/as/struc-symbol.h +++ b/gnu/usr.bin/as/struc-symbol.h @@ -17,7 +17,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: struc-symbol.h,v 1.5 1995/05/30 04:46:33 rgrimes Exp $ + * $Id: struc-symbol.h,v 1.6 1996/10/01 00:11:48 peter Exp $ */ diff --git a/gnu/usr.bin/as/subsegs.c b/gnu/usr.bin/as/subsegs.c index 4bca715b0349f..dda307cc1c23b 100644 --- a/gnu/usr.bin/as/subsegs.c +++ b/gnu/usr.bin/as/subsegs.c @@ -22,7 +22,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: subsegs.c,v 1.4 1995/05/30 04:46:34 rgrimes Exp $"; +static char rcsid[] = "$Id: subsegs.c,v 1.5 1996/10/01 00:11:54 peter Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/subsegs.h b/gnu/usr.bin/as/subsegs.h index 9d1482a94588d..7c10a8f55f512 100644 --- a/gnu/usr.bin/as/subsegs.h +++ b/gnu/usr.bin/as/subsegs.h @@ -18,7 +18,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: subsegs.h,v 1.2 1993/11/03 00:52:20 paul Exp $ + * $Id: subsegs.h,v 1.3 1995/05/30 04:46:35 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/symbols.c b/gnu/usr.bin/as/symbols.c index 441f528be6ccc..a2adf0ae6f2f1 100644 --- a/gnu/usr.bin/as/symbols.c +++ b/gnu/usr.bin/as/symbols.c @@ -19,7 +19,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef lint -static char rcsid[] = "$Id: symbols.c,v 1.3 1995/05/30 04:46:36 rgrimes Exp $"; +static char rcsid[] = "$Id: symbols.c,v 1.4 1996/10/01 00:11:57 peter Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/symbols.h b/gnu/usr.bin/as/symbols.h index 0906e9d38093c..11ad6375dc72d 100644 --- a/gnu/usr.bin/as/symbols.h +++ b/gnu/usr.bin/as/symbols.h @@ -18,7 +18,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: symbols.h,v 1.2 1993/11/03 00:52:23 paul Exp $ + * $Id: symbols.h,v 1.3 1995/05/30 04:46:37 rgrimes Exp $ */ diff --git a/gnu/usr.bin/as/tc.h b/gnu/usr.bin/as/tc.h index fa71bd528115e..39133216a91f9 100644 --- a/gnu/usr.bin/as/tc.h +++ b/gnu/usr.bin/as/tc.h @@ -18,7 +18,7 @@ along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* - * $Id: tc.h,v 1.2 1995/05/30 04:46:38 rgrimes Exp $ + * $Id: tc.h,v 1.3 1996/10/01 00:12:02 peter Exp $ */ diff --git a/gnu/usr.bin/as/testscripts/doboth b/gnu/usr.bin/as/testscripts/doboth index 6b46a03eb1257..dc379e93d3fbb 100755 --- a/gnu/usr.bin/as/testscripts/doboth +++ b/gnu/usr.bin/as/testscripts/doboth @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: doboth,v 1.1 1993/10/02 21:01:07 pk Exp $ +# $Id: doboth,v 1.1 1993/11/03 00:56:17 paul Exp $ x=$1 ; shift y=$1 ; shift diff --git a/gnu/usr.bin/as/testscripts/doobjcmp b/gnu/usr.bin/as/testscripts/doobjcmp index 6c90cf9a05ffc..9fe6d907558e9 100755 --- a/gnu/usr.bin/as/testscripts/doobjcmp +++ b/gnu/usr.bin/as/testscripts/doobjcmp @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: doobjcmp,v 1.1 1993/10/02 21:01:08 pk Exp $ +# $Id: doobjcmp,v 1.1 1993/11/03 00:56:18 paul Exp $ # compare two object files, in depth. x=$1 diff --git a/gnu/usr.bin/as/testscripts/dostriptest b/gnu/usr.bin/as/testscripts/dostriptest index aa734c0c2b9fc..6f0c2918aeedf 100755 --- a/gnu/usr.bin/as/testscripts/dostriptest +++ b/gnu/usr.bin/as/testscripts/dostriptest @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: dostriptest,v 1.1 1993/10/02 21:01:09 pk Exp $ +# $Id: dostriptest,v 1.1 1993/11/03 00:56:19 paul Exp $ x=striptest.xx.$$ y=striptest.yy.$$ diff --git a/gnu/usr.bin/as/testscripts/dotest b/gnu/usr.bin/as/testscripts/dotest index 051ee11ef7908..ff39433d32b9d 100755 --- a/gnu/usr.bin/as/testscripts/dotest +++ b/gnu/usr.bin/as/testscripts/dotest @@ -1,6 +1,6 @@ #!/bin/sh # ad hoc debug tool -# $Id: dotest,v 1.1 1993/10/02 21:01:10 pk Exp $ +# $Id: dotest,v 1.1 1993/11/03 00:56:21 paul Exp $ x=$1 y=$2 diff --git a/gnu/usr.bin/as/testscripts/dounsortreloc b/gnu/usr.bin/as/testscripts/dounsortreloc index 0a4771c6425ea..b990553fa6e7c 100755 --- a/gnu/usr.bin/as/testscripts/dounsortreloc +++ b/gnu/usr.bin/as/testscripts/dounsortreloc @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: dounsortreloc,v 1.1 1993/10/02 21:01:11 pk Exp $ +# $Id: dounsortreloc,v 1.1 1993/11/03 00:56:22 paul Exp $ # objdump the reloc table, but strip off the headings and reloc # numbers and sort the result. Intended for use in comparing reloc # tables that may not be in the same order. diff --git a/gnu/usr.bin/as/testscripts/dounsortsymbols b/gnu/usr.bin/as/testscripts/dounsortsymbols index 2dc5acd65e003..480fe555317ef 100755 --- a/gnu/usr.bin/as/testscripts/dounsortsymbols +++ b/gnu/usr.bin/as/testscripts/dounsortsymbols @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: dounsortsymbols,v 1.1 1993/10/02 21:01:12 pk Exp $ +# $Id: dounsortsymbols,v 1.1 1993/11/03 00:56:24 paul Exp $ # objdump the symbol table, but strip off the headings and symbol # numbers and sort the result. Intended for use in comparing symbol # tables that may not be in the same order. diff --git a/gnu/usr.bin/as/version.c b/gnu/usr.bin/as/version.c index c18109a7a414d..64c4caa4b6e19 100644 --- a/gnu/usr.bin/as/version.c +++ b/gnu/usr.bin/as/version.c @@ -16,10 +16,10 @@ const */ #ifndef lint -static char rcsid[] = "$Id: version.c,v 1.3 1994/02/14 21:18:05 nate Exp $"; +static char rcsid[] = "$Id: version.c,v 1.4 1995/05/30 04:46:39 rgrimes Exp $"; #endif -char version_string[] = "GNU assembler version 1.92.3, FreeBSD $Revision: 1.3 $\n"; +char version_string[] = "GNU assembler version 1.92.3, FreeBSD $Revision: 1.4 $\n"; #ifdef HO_VMS dummy3() diff --git a/gnu/usr.bin/as/write.c b/gnu/usr.bin/as/write.c index 7510d2d5db6d0..cf794999f1fd2 100644 --- a/gnu/usr.bin/as/write.c +++ b/gnu/usr.bin/as/write.c @@ -21,7 +21,7 @@ /* This thing should be set up to do byteordering correctly. But... */ #ifndef lint -static char rcsid[] = "$Id: write.c,v 1.7 1995/05/30 04:46:40 rgrimes Exp $"; +static char rcsid[] = "$Id: write.c,v 1.8 1996/10/01 00:12:04 peter Exp $"; #endif #include "as.h" diff --git a/gnu/usr.bin/as/xmalloc.c b/gnu/usr.bin/as/xmalloc.c index 4ecb289237de4..b6a6932c1e536 100644 --- a/gnu/usr.bin/as/xmalloc.c +++ b/gnu/usr.bin/as/xmalloc.c @@ -42,7 +42,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: xmalloc.c,v 1.2 1993/11/03 00:52:32 paul Exp $"; +static char rcsid[] = "$Id: xmalloc.c,v 1.3 1995/05/30 04:46:42 rgrimes Exp $"; #endif #include <stdio.h> diff --git a/gnu/usr.bin/as/xrealloc.c b/gnu/usr.bin/as/xrealloc.c index 8b2db1623d57f..057d4a27dac11 100644 --- a/gnu/usr.bin/as/xrealloc.c +++ b/gnu/usr.bin/as/xrealloc.c @@ -43,7 +43,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: xrealloc.c,v 1.2 1993/11/03 00:52:34 paul Exp $"; +static char rcsid[] = "$Id: xrealloc.c,v 1.3 1995/05/30 04:46:42 rgrimes Exp $"; #endif diff --git a/gnu/usr.bin/bc/bc.1 b/gnu/usr.bin/bc/bc.1 index 2aef706119a72..480087b055f3e 100644 --- a/gnu/usr.bin/bc/bc.1 +++ b/gnu/usr.bin/bc/bc.1 @@ -25,7 +25,7 @@ .\" Western Washington University .\" Bellingham, WA 98226-9062 .\" -.\" $Id: bc.1,v 1.4 1996/11/04 03:54:58 steve Exp $ +.\" $Id: bc.1,v 1.3.2.1 1996/11/06 09:23:50 phk Exp $ .\" .TH bc 1 .\" "Command Manual" v1.03 "Nov 2, 1994" .SH NAME diff --git a/gnu/usr.bin/bison/Makefile b/gnu/usr.bin/bison/Makefile index 89f0ed5977864..696e4fc4a5713 100644 --- a/gnu/usr.bin/bison/Makefile +++ b/gnu/usr.bin/bison/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/09/10 13:23:43 peter Exp $ .PATH: ${.CURDIR}/../../../contrib/bison diff --git a/gnu/usr.bin/bison/data/Makefile b/gnu/usr.bin/bison/data/Makefile index 781844125c0c0..8a6274e9e6823 100644 --- a/gnu/usr.bin/bison/data/Makefile +++ b/gnu/usr.bin/bison/data/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1996/09/10 13:23:44 peter Exp $ +# $Id: Makefile,v 1.2 1996/10/27 21:50:59 joerg Exp $ BISONDIR=${.CURDIR}/../../../../contrib/bison diff --git a/gnu/usr.bin/bison/doc/Makefile b/gnu/usr.bin/bison/doc/Makefile index c1bbd4e7fb372..d4a29bddaf106 100644 --- a/gnu/usr.bin/bison/doc/Makefile +++ b/gnu/usr.bin/bison/doc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1995/10/29 09:08:35 peter Exp $ +# $Id: Makefile,v 1.1 1996/09/10 13:23:46 peter Exp $ INFO = bison diff --git a/gnu/usr.bin/cc/Makefile b/gnu/usr.bin/cc/Makefile index 0ee469fa75470..c720c65bf3ceb 100644 --- a/gnu/usr.bin/cc/Makefile +++ b/gnu/usr.bin/cc/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.6 1996/09/19 15:37:58 peter Exp $ +# $Id: Makefile,v 1.7 1996/10/13 17:37:02 peter Exp $ # # The order of some of these are rather important. Some depend on previous diff --git a/gnu/usr.bin/cc/Makefile.inc b/gnu/usr.bin/cc/Makefile.inc index c90dcf7d65269..9b131a8ff24b0 100644 --- a/gnu/usr.bin/cc/Makefile.inc +++ b/gnu/usr.bin/cc/Makefile.inc @@ -1,5 +1,5 @@ # -# $Id: Makefile.inc,v 1.16 1996/09/21 14:27:22 peter Exp $ +# $Id: Makefile.inc,v 1.17 1996/10/01 03:44:29 peter Exp $ # # Sometimes this is .include'd several times... diff --git a/gnu/usr.bin/cc/c++/Makefile b/gnu/usr.bin/cc/c++/Makefile index 5557c627dfdc9..4eb3926dc2536 100644 --- a/gnu/usr.bin/cc/c++/Makefile +++ b/gnu/usr.bin/cc/c++/Makefile @@ -1,5 +1,5 @@ # -# $Id$ +# $Id: Makefile,v 1.5 1994/11/15 04:51:26 phk Exp $ # PROG = c++ diff --git a/gnu/usr.bin/cc/c++filt/Makefile b/gnu/usr.bin/cc/c++filt/Makefile index 5e801de45adbc..d8d3201a49a1a 100644 --- a/gnu/usr.bin/cc/c++filt/Makefile +++ b/gnu/usr.bin/cc/c++filt/Makefile @@ -1,5 +1,5 @@ # -# $Id$ +# $Id: Makefile,v 1.1 1996/10/13 17:37:03 peter Exp $ # PROG = c++filt diff --git a/gnu/usr.bin/cc/cc/Makefile b/gnu/usr.bin/cc/cc/Makefile index f62c1d9c813ed..6c69712fc687e 100644 --- a/gnu/usr.bin/cc/cc/Makefile +++ b/gnu/usr.bin/cc/cc/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.9 1996/02/09 16:18:56 mpp Exp $ +# $Id: Makefile,v 1.10 1996/09/19 15:38:13 peter Exp $ # PROG = cc diff --git a/gnu/usr.bin/cc/cc1/Makefile b/gnu/usr.bin/cc/cc1/Makefile index c824c8b529d38..e0243614516bc 100644 --- a/gnu/usr.bin/cc/cc1/Makefile +++ b/gnu/usr.bin/cc/cc1/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.8 1996/09/19 15:38:33 peter Exp $ +# $Id: Makefile,v 1.9 1996/09/21 14:27:26 peter Exp $ # PROG = cc1 diff --git a/gnu/usr.bin/cc/cc1obj/Makefile b/gnu/usr.bin/cc/cc1obj/Makefile index 1a0cd7f23e40a..4357febd3de75 100644 --- a/gnu/usr.bin/cc/cc1obj/Makefile +++ b/gnu/usr.bin/cc/cc1obj/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.1 1996/09/19 15:39:20 peter Exp $ +# $Id: Makefile,v 1.2 1996/09/21 14:27:29 peter Exp $ # PROG = cc1obj diff --git a/gnu/usr.bin/cc/cc1plus/Makefile b/gnu/usr.bin/cc/cc1plus/Makefile index b054b8ae73fcb..0cb3081409aa9 100644 --- a/gnu/usr.bin/cc/cc1plus/Makefile +++ b/gnu/usr.bin/cc/cc1plus/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.8 1996/09/19 15:39:23 peter Exp $ +# $Id: Makefile,v 1.9 1996/09/21 14:27:32 peter Exp $ # #First, so that we get cp/tree.c and cp/expr.c instead of the C version diff --git a/gnu/usr.bin/cc/cc_int/Makefile b/gnu/usr.bin/cc/cc_int/Makefile index a422eb49cc947..4b87a62114396 100644 --- a/gnu/usr.bin/cc/cc_int/Makefile +++ b/gnu/usr.bin/cc/cc_int/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.10 1996/09/21 14:27:35 peter Exp $ +# $Id: Makefile,v 1.11 1996/09/21 17:49:45 jkh Exp $ # .include "../Makefile.inc" diff --git a/gnu/usr.bin/cc/cc_tools/Makefile b/gnu/usr.bin/cc/cc_tools/Makefile index 6b0c8623c4e83..378745355895e 100644 --- a/gnu/usr.bin/cc/cc_tools/Makefile +++ b/gnu/usr.bin/cc/cc_tools/Makefile @@ -1,5 +1,5 @@ # -# $Id$ +# $Id: Makefile,v 1.1 1996/09/19 15:47:16 peter Exp $ # # diff --git a/gnu/usr.bin/cc/cpp/Makefile b/gnu/usr.bin/cc/cpp/Makefile index 8ffd1ab31f4fe..1702fa48969c5 100644 --- a/gnu/usr.bin/cc/cpp/Makefile +++ b/gnu/usr.bin/cc/cpp/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.6 1996/09/23 04:14:30 peter Exp $ +# $Id: Makefile,v 1.7 1996/09/23 16:12:38 bde Exp $ # PROG = cpp diff --git a/gnu/usr.bin/cc/doc/Makefile b/gnu/usr.bin/cc/doc/Makefile index 998ac0ca4620f..c9e0e9171162d 100644 --- a/gnu/usr.bin/cc/doc/Makefile +++ b/gnu/usr.bin/cc/doc/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.3 1996/09/19 15:47:47 peter Exp $ INFO = gcc cpp reno gxxint diff --git a/gnu/usr.bin/cc/f77/Makefile b/gnu/usr.bin/cc/f77/Makefile index e7ed05100edb4..fed2b5693e20f 100644 --- a/gnu/usr.bin/cc/f77/Makefile +++ b/gnu/usr.bin/cc/f77/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.1 1994/10/25 14:36:49 ljo Exp $ +# $Id: Makefile,v 1.2 1996/01/16 10:21:40 graichen Exp $ # PROG = f77 diff --git a/gnu/usr.bin/cc/libgcc/Makefile b/gnu/usr.bin/cc/libgcc/Makefile index 9117c5279bebe..4888a43cbd100 100644 --- a/gnu/usr.bin/cc/libgcc/Makefile +++ b/gnu/usr.bin/cc/libgcc/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.12 1996/09/21 14:27:38 peter Exp $ +# $Id: Makefile,v 1.13 1996/10/01 03:47:36 peter Exp $ # LIB= gcc diff --git a/gnu/usr.bin/cvs/Makefile b/gnu/usr.bin/cvs/Makefile index a15127d6652b9..aa1e24832f1e9 100644 --- a/gnu/usr.bin/cvs/Makefile +++ b/gnu/usr.bin/cvs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.7 1995/12/10 22:58:29 peter Exp $ +# $Id: Makefile,v 1.8 1996/08/20 23:52:29 peter Exp $ SUBDIR = lib cvs contrib cvsbug doc tools diff --git a/gnu/usr.bin/cvs/contrib/Makefile b/gnu/usr.bin/cvs/contrib/Makefile index 0c3a79c2bfb91..05e72c0db6563 100644 --- a/gnu/usr.bin/cvs/contrib/Makefile +++ b/gnu/usr.bin/cvs/contrib/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.5 1996/08/20 23:53:00 peter Exp $ +# $Id: Makefile,v 1.6 1996/09/05 08:43:50 peter Exp $ .include "${.CURDIR}/../Makefile.inc" diff --git a/gnu/usr.bin/cvs/contrib/easy-import.pl b/gnu/usr.bin/cvs/contrib/easy-import.pl index b6e534a7a6fd8..3b57997d749d9 100644 --- a/gnu/usr.bin/cvs/contrib/easy-import.pl +++ b/gnu/usr.bin/cvs/contrib/easy-import.pl @@ -8,7 +8,7 @@ # # Written by Jörg Wunsch, 95/03/07, and placed in the public domain. # -# $Id: easy-import.pl,v 1.9 1996/10/20 13:14:40 joerg Exp $ +# $Id: easy-import.pl,v 1.9.2.1 1996/11/23 08:21:34 phk Exp $ require "complete.pl"; require "getopts.pl"; @@ -22,7 +22,7 @@ sub scan_opts $dont_do_it = "-n" if $opt_n; if($opt_v) { - print STDERR '$Source: /home/ncvs/src/gnu/usr.bin/cvs/contrib/easy-import.pl,v $ $Revision: 1.10 $' . "\n"; # 'emacs kludge + print STDERR '$Source: /home/ncvs/src/gnu/usr.bin/cvs/contrib/easy-import.pl,v $ $Revision: 1.9.2.1 $' . "\n"; # 'emacs kludge exit 0; } die "usage: $0 [-v] [-n] [moduledir]\n" . diff --git a/gnu/usr.bin/cvs/cvs/Makefile b/gnu/usr.bin/cvs/cvs/Makefile index c222fd0d3f9ce..80db266185c8d 100644 --- a/gnu/usr.bin/cvs/cvs/Makefile +++ b/gnu/usr.bin/cvs/cvs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.13 1995/12/11 04:24:02 peter Exp $ +# $Id: Makefile,v 1.14 1996/08/20 23:54:06 peter Exp $ .include "${.CURDIR}/../Makefile.inc" diff --git a/gnu/usr.bin/cvs/cvsbug/Makefile b/gnu/usr.bin/cvs/cvsbug/Makefile index dea1d637c18c5..71906610e31ea 100644 --- a/gnu/usr.bin/cvs/cvsbug/Makefile +++ b/gnu/usr.bin/cvs/cvsbug/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1995/12/11 04:24:06 peter Exp $ +# $Id: Makefile,v 1.4 1996/08/20 23:55:14 peter Exp $ .include "${.CURDIR}/../Makefile.inc" diff --git a/gnu/usr.bin/cvs/doc/Makefile b/gnu/usr.bin/cvs/doc/Makefile index 567af49571eb5..a00d4ef8b8947 100644 --- a/gnu/usr.bin/cvs/doc/Makefile +++ b/gnu/usr.bin/cvs/doc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1996/08/21 00:35:53 peter Exp $ +# $Id: Makefile,v 1.5 1996/08/21 00:57:26 peter Exp $ BINDIR?= ${INFODIR} diff --git a/gnu/usr.bin/cvs/lib/Makefile b/gnu/usr.bin/cvs/lib/Makefile index 78d96a448ce21..2472992cb3eb1 100644 --- a/gnu/usr.bin/cvs/lib/Makefile +++ b/gnu/usr.bin/cvs/lib/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.10 1995/12/11 02:22:30 peter Exp $ +# $Id: Makefile,v 1.11 1996/08/20 23:56:38 peter Exp $ .include "${.CURDIR}/../Makefile.inc" diff --git a/gnu/usr.bin/cvs/tools/Makefile b/gnu/usr.bin/cvs/tools/Makefile index f54e35566d571..c273dbacaec50 100644 --- a/gnu/usr.bin/cvs/tools/Makefile +++ b/gnu/usr.bin/cvs/tools/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.7 1995/12/11 01:58:50 peter Exp $ +# $Id: Makefile,v 1.1 1996/08/21 00:04:28 peter Exp $ .include "${.CURDIR}/../Makefile.inc" diff --git a/gnu/usr.bin/dialog/Makefile b/gnu/usr.bin/dialog/Makefile index 436519a7e32a9..f6ae2938cedc5 100644 --- a/gnu/usr.bin/dialog/Makefile +++ b/gnu/usr.bin/dialog/Makefile @@ -1,5 +1,5 @@ # Makefile for dialog -# $Id: Makefile,v 1.3 1994/10/11 23:51:06 ache Exp $ +# $Id: Makefile,v 1.4 1994/10/28 03:12:45 ache Exp $ PROG= dialog MAN1= dialog.1 diff --git a/gnu/usr.bin/diff/Makefile b/gnu/usr.bin/diff/Makefile index a6bc38509bd3c..b4b1378b100b4 100644 --- a/gnu/usr.bin/diff/Makefile +++ b/gnu/usr.bin/diff/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.5 1995/10/29 09:08:32 peter Exp $ PROG= diff SRCS= diff.c analyze.c io.c context.c ed.c normal.c ifdef.c util.c dir.c \ version.c getopt.c getopt1.c side.c cmpbuf.c diff --git a/gnu/usr.bin/diff/doc/Makefile b/gnu/usr.bin/diff/doc/Makefile index 033d464aa0cdb..6a0104e4fde2a 100644 --- a/gnu/usr.bin/diff/doc/Makefile +++ b/gnu/usr.bin/diff/doc/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1995/10/29 09:08:35 peter Exp $ INFO = diff diff --git a/gnu/usr.bin/gdb/gdb/Makefile b/gnu/usr.bin/gdb/gdb/Makefile index 7ed4e97ca2f70..e69e152eccb12 100644 --- a/gnu/usr.bin/gdb/gdb/Makefile +++ b/gnu/usr.bin/gdb/gdb/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.13 1996/06/24 04:22:55 jkh Exp $ +# $Id: Makefile,v 1.13.2.1 1997/02/02 20:46:32 joerg Exp $ PROG = gdb diff --git a/gnu/usr.bin/gdb/gdb/kcorelow.c b/gnu/usr.bin/gdb/gdb/kcorelow.c index d718eae41eeec..34faa1a0b8e2a 100644 --- a/gnu/usr.bin/gdb/gdb/kcorelow.c +++ b/gnu/usr.bin/gdb/gdb/kcorelow.c @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: kcorelow.c,v 1.5 1996/10/29 21:52:19 gj Exp $ + $Id: kcorelow.c,v 1.5.2.1 1997/02/02 20:48:34 joerg Exp $ */ #include "defs.h" diff --git a/gnu/usr.bin/genclass/Makefile b/gnu/usr.bin/genclass/Makefile index 808b01231c2a3..50c65bf02184a 100644 --- a/gnu/usr.bin/genclass/Makefile +++ b/gnu/usr.bin/genclass/Makefile @@ -1,5 +1,5 @@ # -# $Id$ +# $Id: Makefile,v 1.1 1996/10/03 23:00:09 peter Exp $ # GPPDIR= ${.CURDIR}/../../../contrib/libg++ diff --git a/gnu/usr.bin/gperf/Makefile b/gnu/usr.bin/gperf/Makefile index 55c9e84acba06..d3bb1eaa88522 100644 --- a/gnu/usr.bin/gperf/Makefile +++ b/gnu/usr.bin/gperf/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/09/10 14:03:08 peter Exp $ .PATH: ${.CURDIR}/../../../contrib/gperf .PATH: ${.CURDIR}/../../../contrib/gperf/src diff --git a/gnu/usr.bin/gperf/doc/Makefile b/gnu/usr.bin/gperf/doc/Makefile index 2c4633e4ec744..0fa7a7051a405 100644 --- a/gnu/usr.bin/gperf/doc/Makefile +++ b/gnu/usr.bin/gperf/doc/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/09/10 14:03:12 peter Exp $ INFO = gperf diff --git a/gnu/usr.bin/groff/Makefile b/gnu/usr.bin/groff/Makefile index 8a94ac08963b0..8a07e7da4f2e4 100644 --- a/gnu/usr.bin/groff/Makefile +++ b/gnu/usr.bin/groff/Makefile @@ -1,6 +1,6 @@ # Makefile for groff # -# $Id$ +# $Id: Makefile,v 2.1 1996/09/08 01:27:08 pst Exp $ SUBDIR= libgroff libdriver libbib \ addftinfo eqn \ diff --git a/gnu/usr.bin/groff/Makefile.cfg b/gnu/usr.bin/groff/Makefile.cfg index f001303da582f..44cb5f5d29475 100644 --- a/gnu/usr.bin/groff/Makefile.cfg +++ b/gnu/usr.bin/groff/Makefile.cfg @@ -1,4 +1,4 @@ -# $Id: Makefile.cfg,v 2.1 1996/09/08 01:27:10 pst Exp $ +# $Id: Makefile.cfg,v 2.1.2.1 1997/03/08 19:09:01 bde Exp $ BINDIR?= /usr/bin SHELL= /bin/sh diff --git a/gnu/usr.bin/groff/Makefile.dev b/gnu/usr.bin/groff/Makefile.dev index f60f56cddba76..0eecafe46e213 100644 --- a/gnu/usr.bin/groff/Makefile.dev +++ b/gnu/usr.bin/groff/Makefile.dev @@ -2,7 +2,7 @@ # Client Makefiles define DEV and DEVFILES and provide rules for # individual font files # -# $Id: Makefile.dev,v 2.1 1996/09/08 01:27:11 pst Exp $ +# $Id: Makefile.dev,v 2.2 1996/09/09 18:05:00 phk Exp $ .include "../Makefile.cfg" diff --git a/gnu/usr.bin/groff/devX100-12/Makefile b/gnu/usr.bin/groff/devX100-12/Makefile index a505681cd599d..93e5cb3e94a84 100644 --- a/gnu/usr.bin/groff/devX100-12/Makefile +++ b/gnu/usr.bin/groff/devX100-12/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/09/08 01:27:19 pst Exp $ +# $Id: Makefile,v 1.4 1996/09/09 18:05:13 phk Exp $ # # Generic groff font makefile # diff --git a/gnu/usr.bin/groff/devX100/Makefile b/gnu/usr.bin/groff/devX100/Makefile index e322dea81a920..be9a928418142 100644 --- a/gnu/usr.bin/groff/devX100/Makefile +++ b/gnu/usr.bin/groff/devX100/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/09/08 01:27:17 pst Exp $ +# $Id: Makefile,v 1.4 1996/09/09 18:05:12 phk Exp $ # # Generic groff font makefile # diff --git a/gnu/usr.bin/groff/devX75-12/Makefile b/gnu/usr.bin/groff/devX75-12/Makefile index 0a281a3715f04..bde00037590d2 100644 --- a/gnu/usr.bin/groff/devX75-12/Makefile +++ b/gnu/usr.bin/groff/devX75-12/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/09/08 01:27:23 pst Exp $ +# $Id: Makefile,v 1.4 1996/09/09 18:05:15 phk Exp $ # # Generic groff font makefile # diff --git a/gnu/usr.bin/groff/devX75/Makefile b/gnu/usr.bin/groff/devX75/Makefile index dab8bfd7c4352..64febb8054aa0 100644 --- a/gnu/usr.bin/groff/devX75/Makefile +++ b/gnu/usr.bin/groff/devX75/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/09/08 01:27:21 pst Exp $ +# $Id: Makefile,v 1.4 1996/09/09 18:05:14 phk Exp $ # # Generic groff font makefile # diff --git a/gnu/usr.bin/groff/libgroff/Makefile b/gnu/usr.bin/groff/libgroff/Makefile index 1061ea68e1e09..7538b4180924e 100644 --- a/gnu/usr.bin/groff/libgroff/Makefile +++ b/gnu/usr.bin/groff/libgroff/Makefile @@ -1,6 +1,6 @@ # Makefile for libgroff # -# $Id$ +# $Id: Makefile,v 1.4 1996/09/08 01:27:42 pst Exp $ # .include "../Makefile.inc" diff --git a/gnu/usr.bin/gzip/Makefile b/gnu/usr.bin/gzip/Makefile index 402fb90568d2a..c714ec2ad56ba 100644 --- a/gnu/usr.bin/gzip/Makefile +++ b/gnu/usr.bin/gzip/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 5.3 (Berkeley) 5/12/90 -# $Id: Makefile,v 1.11 1996/07/02 23:01:01 wosch Exp $ +# $Id: Makefile,v 1.12 1996/08/28 15:45:32 bde Exp $ PROG= gzip SRCS= gzip.c zip.c deflate.c trees.c bits.c unzip.c inflate.c util.c \ diff --git a/gnu/usr.bin/gzip/bits.c b/gnu/usr.bin/gzip/bits.c index fae17801fa649..27bff48f71c1d 100644 --- a/gnu/usr.bin/gzip/bits.c +++ b/gnu/usr.bin/gzip/bits.c @@ -60,7 +60,7 @@ #endif #ifdef RCSID -static char rcsid[] = "$Id: bits.c,v 1.3 1993/10/14 00:32:24 nate Exp $"; +static char rcsid[] = "$Id: bits.c,v 1.4 1995/05/30 05:00:30 rgrimes Exp $"; #endif /* =========================================================================== diff --git a/gnu/usr.bin/gzip/crypt.c b/gnu/usr.bin/gzip/crypt.c index cbce024a01aac..57f62340ecda6 100644 --- a/gnu/usr.bin/gzip/crypt.c +++ b/gnu/usr.bin/gzip/crypt.c @@ -2,5 +2,5 @@ * Hardly worth copyrighting :-) */ #ifdef RCSID -static char rcsid[] = "$Id: crypt.c,v 0.6 1993/03/22 09:48:47 jloup Exp $"; +static char rcsid[] = "$Id: crypt.c,v 1.3 1993/10/14 00:32:26 nate Exp $"; #endif diff --git a/gnu/usr.bin/gzip/deflate.c b/gnu/usr.bin/gzip/deflate.c index 0bc0ed4108153..5ed86205973bc 100644 --- a/gnu/usr.bin/gzip/deflate.c +++ b/gnu/usr.bin/gzip/deflate.c @@ -68,7 +68,7 @@ #include "lzw.h" /* just for consistency checking */ #ifdef RCSID -static char rcsid[] = "$Id: deflate.c,v 1.3 1993/10/14 00:32:29 nate Exp $"; +static char rcsid[] = "$Id: deflate.c,v 1.4 1995/05/30 05:00:31 rgrimes Exp $"; #endif /* =========================================================================== diff --git a/gnu/usr.bin/gzip/gzip.c b/gnu/usr.bin/gzip/gzip.c index 846b69e6b37a1..c10b4a095b828 100644 --- a/gnu/usr.bin/gzip/gzip.c +++ b/gnu/usr.bin/gzip/gzip.c @@ -45,7 +45,7 @@ static char *license_msg[] = { */ #ifdef RCSID -static char rcsid[] = "$Id: gzip.c,v 1.3 1993/10/14 00:32:48 nate Exp $"; +static char rcsid[] = "$Id: gzip.c,v 1.4 1995/05/30 05:00:33 rgrimes Exp $"; #endif #include <ctype.h> diff --git a/gnu/usr.bin/gzip/inflate.c b/gnu/usr.bin/gzip/inflate.c index a53d013dbcbba..a59d0ae5e1326 100644 --- a/gnu/usr.bin/gzip/inflate.c +++ b/gnu/usr.bin/gzip/inflate.c @@ -97,7 +97,7 @@ */ #ifdef RCSID -static char rcsid[] = "$Id: inflate.c,v 1.3 1993/10/14 00:32:55 nate Exp $"; +static char rcsid[] = "$Id: inflate.c,v 1.4 1995/05/30 05:00:37 rgrimes Exp $"; #endif #include <sys/types.h> diff --git a/gnu/usr.bin/gzip/lzw.c b/gnu/usr.bin/gzip/lzw.c index 12bf5c611d0cc..92b3ce4c5515e 100644 --- a/gnu/usr.bin/gzip/lzw.c +++ b/gnu/usr.bin/gzip/lzw.c @@ -3,7 +3,7 @@ */ #ifdef RCSID -static char rcsid[] = "$Id: lzw.c,v 0.9 1993/06/10 13:27:31 jloup Exp $"; +static char rcsid[] = "$Id: lzw.c,v 1.3 1993/10/14 00:32:59 nate Exp $"; #endif #include "tailor.h" diff --git a/gnu/usr.bin/gzip/match.S b/gnu/usr.bin/gzip/match.S index 4a3d681c3d2bc..6ff3623082037 100644 --- a/gnu/usr.bin/gzip/match.S +++ b/gnu/usr.bin/gzip/match.S @@ -9,7 +9,7 @@ * Kristoffer Eriksson <ske@pkmab.se> */ -/* $Id: match.S,v 0.14 1993/06/11 18:33:24 jloup Exp $ */ +/* $Id: match.S,v 1.3 1993/10/14 00:33:02 nate Exp $ */ /* Preprocess with -DNO_UNDERLINE if your C compiler does not prefix * external symbols with an underline character '_'. diff --git a/gnu/usr.bin/gzip/revision.h b/gnu/usr.bin/gzip/revision.h index f99b65f9bbd25..4e5362fb2c6f3 100644 --- a/gnu/usr.bin/gzip/revision.h +++ b/gnu/usr.bin/gzip/revision.h @@ -13,4 +13,4 @@ # undef LZW #endif -/* $Id: revision.h,v 0.25 1993/06/24 08:29:52 jloup Exp $ */ +/* $Id: revision.h,v 1.3 1993/10/14 00:33:05 nate Exp $ */ diff --git a/gnu/usr.bin/gzip/tailor.h b/gnu/usr.bin/gzip/tailor.h index 840733ab50e26..a3e6321680357 100644 --- a/gnu/usr.bin/gzip/tailor.h +++ b/gnu/usr.bin/gzip/tailor.h @@ -8,7 +8,7 @@ * The target dependent functions should be defined in tailor.c. */ -/* $Id: tailor.h,v 1.3 1993/10/14 00:33:08 nate Exp $ */ +/* $Id: tailor.h,v 1.4 1995/05/30 05:00:38 rgrimes Exp $ */ #if defined(__MSDOS__) && !defined(MSDOS) # define MSDOS diff --git a/gnu/usr.bin/gzip/trees.c b/gnu/usr.bin/gzip/trees.c index d5b41c8ab7d17..b3f452f4cb90d 100644 --- a/gnu/usr.bin/gzip/trees.c +++ b/gnu/usr.bin/gzip/trees.c @@ -59,7 +59,7 @@ #include "gzip.h" #ifdef RCSID -static char rcsid[] = "$Id: trees.c,v 1.3 1993/10/14 00:33:11 nate Exp $"; +static char rcsid[] = "$Id: trees.c,v 1.4 1995/05/30 05:00:40 rgrimes Exp $"; #endif /* =========================================================================== diff --git a/gnu/usr.bin/gzip/unlzh.c b/gnu/usr.bin/gzip/unlzh.c index e318e5ed94187..f8d7989588d65 100644 --- a/gnu/usr.bin/gzip/unlzh.c +++ b/gnu/usr.bin/gzip/unlzh.c @@ -4,7 +4,7 @@ */ #ifdef RCSID -static char rcsid[] = "$Id: unlzh.c,v 1.2 1993/06/24 10:59:01 jloup Exp $"; +static char rcsid[] = "$Id: unlzh.c,v 1.2 1993/10/14 00:33:14 nate Exp $"; #endif #include <stdio.h> diff --git a/gnu/usr.bin/gzip/unlzw.c b/gnu/usr.bin/gzip/unlzw.c index fe2110fc347ac..d873fb0323cc6 100644 --- a/gnu/usr.bin/gzip/unlzw.c +++ b/gnu/usr.bin/gzip/unlzw.c @@ -8,7 +8,7 @@ */ #ifdef RCSID -static char rcsid[] = "$Id: unlzw.c,v 1.3 1993/10/14 00:33:17 nate Exp $"; +static char rcsid[] = "$Id: unlzw.c,v 1.4 1995/05/30 05:00:41 rgrimes Exp $"; #endif #include <sys/types.h> diff --git a/gnu/usr.bin/gzip/unpack.c b/gnu/usr.bin/gzip/unpack.c index a00fdaefc6b26..447052de75dce 100644 --- a/gnu/usr.bin/gzip/unpack.c +++ b/gnu/usr.bin/gzip/unpack.c @@ -5,7 +5,7 @@ */ #ifdef RCSID -static char rcsid[] = "$Id: unpack.c,v 1.4 1993/06/11 19:25:36 jloup Exp $"; +static char rcsid[] = "$Id: unpack.c,v 1.3 1993/10/14 00:33:20 nate Exp $"; #endif #include "tailor.h" diff --git a/gnu/usr.bin/gzip/unzip.c b/gnu/usr.bin/gzip/unzip.c index 7e287a157ad38..eda8046986c37 100644 --- a/gnu/usr.bin/gzip/unzip.c +++ b/gnu/usr.bin/gzip/unzip.c @@ -14,7 +14,7 @@ */ #ifdef RCSID -static char rcsid[] = "$Id: unzip.c,v 0.13 1993/06/10 13:29:00 jloup Exp $"; +static char rcsid[] = "$Id: unzip.c,v 1.3 1993/10/14 00:33:24 nate Exp $"; #endif #include "tailor.h" diff --git a/gnu/usr.bin/gzip/util.c b/gnu/usr.bin/gzip/util.c index 2cddf92f8e072..e4eb06c7fa339 100644 --- a/gnu/usr.bin/gzip/util.c +++ b/gnu/usr.bin/gzip/util.c @@ -5,7 +5,7 @@ */ #ifdef RCSID -static char rcsid[] = "$Id: util.c,v 1.3 1993/10/14 00:33:26 nate Exp $"; +static char rcsid[] = "$Id: util.c,v 1.4 1995/05/30 05:00:43 rgrimes Exp $"; #endif #include <ctype.h> diff --git a/gnu/usr.bin/gzip/zgrep.getopt b/gnu/usr.bin/gzip/zgrep.getopt index f6aa343f5c38d..66563c70bd2d7 100644 --- a/gnu/usr.bin/gzip/zgrep.getopt +++ b/gnu/usr.bin/gzip/zgrep.getopt @@ -26,7 +26,7 @@ # # zgrep - search possibly compressed files for a regular expression # -# $Id: zgrep.getopt,v 1.1 1996/05/12 16:20:26 wosch Exp $ +# $Id: zgrep.getopt,v 1.2 1996/08/27 20:03:53 wosch Exp $ PATH=/bin:/usr/bin:$PATH; export PATH diff --git a/gnu/usr.bin/gzip/zip.c b/gnu/usr.bin/gzip/zip.c index 507d1616efdde..67de7c97c5f15 100644 --- a/gnu/usr.bin/gzip/zip.c +++ b/gnu/usr.bin/gzip/zip.c @@ -5,7 +5,7 @@ */ #ifdef RCSID -static char rcsid[] = "$Id: zip.c,v 0.17 1993/06/10 13:29:25 jloup Exp $"; +static char rcsid[] = "$Id: zip.c,v 1.3 1993/10/14 00:33:32 nate Exp $"; #endif #include <ctype.h> diff --git a/gnu/usr.bin/ld/Makefile b/gnu/usr.bin/ld/Makefile index 7d9c7c0e9218d..e472b0e784f8c 100644 --- a/gnu/usr.bin/ld/Makefile +++ b/gnu/usr.bin/ld/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.17 1995/09/22 14:14:32 phk Exp $ +# $Id: Makefile,v 1.18 1996/10/01 01:22:12 peter Exp $ # PROG= ld diff --git a/gnu/usr.bin/ld/PORTING b/gnu/usr.bin/ld/PORTING index 017f6d77095e7..bb368e2cdbec9 100644 --- a/gnu/usr.bin/ld/PORTING +++ b/gnu/usr.bin/ld/PORTING @@ -1,4 +1,4 @@ -$Id: PORTING,v 1.1 1994/12/23 22:56:08 nate Exp $ +$Id: PORTING,v 1.2 1996/10/01 01:22:14 peter Exp $ This document describes some of the machine dependent parts in ld(1) and rtld(?) Most of the machine dependencies are a result of different ways in which diff --git a/gnu/usr.bin/ld/cplus-dem.c b/gnu/usr.bin/ld/cplus-dem.c index 27f56ef6d392a..30333965c8896 100644 --- a/gnu/usr.bin/ld/cplus-dem.c +++ b/gnu/usr.bin/ld/cplus-dem.c @@ -5,7 +5,7 @@ #ifndef lint /*static char sccsid[] = "from: @(#)cplus-dem.c 5.4 (Berkeley) 4/30/91";*/ -static char rcsid[] = "$Id: cplus-dem.c,v 1.3 1993/11/09 04:18:51 paul Exp $"; +static char rcsid[] = "$Id: cplus-dem.c,v 1.4 1995/05/30 05:01:42 rgrimes Exp $"; #endif /* not lint */ /* Demangler for GNU C++ diff --git a/gnu/usr.bin/ld/dynamic.h b/gnu/usr.bin/ld/dynamic.h index 1231a6262592d..5e667096689ae 100644 --- a/gnu/usr.bin/ld/dynamic.h +++ b/gnu/usr.bin/ld/dynamic.h @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: dynamic.h,v 1.1 1996/10/01 01:22:16 peter Exp $ */ #ifndef __DYNAMIC_H__ diff --git a/gnu/usr.bin/ld/i386/md-static-funcs.c b/gnu/usr.bin/ld/i386/md-static-funcs.c index 8a672ed9db870..e9ef86675f282 100644 --- a/gnu/usr.bin/ld/i386/md-static-funcs.c +++ b/gnu/usr.bin/ld/i386/md-static-funcs.c @@ -1,5 +1,5 @@ /* - * $Id: md-static-funcs.c,v 1.3 1995/11/02 18:47:55 nate Exp $ + * $Id: md-static-funcs.c,v 1.4 1996/10/01 01:27:54 peter Exp $ * * Called by ld.so when onanating. * This *must* be a static function, so it is not called through a jmpslot. diff --git a/gnu/usr.bin/ld/i386/md.c b/gnu/usr.bin/ld/i386/md.c index 546bd8e2e970c..5e1229811d39c 100644 --- a/gnu/usr.bin/ld/i386/md.c +++ b/gnu/usr.bin/ld/i386/md.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: md.c,v 1.12 1995/03/04 17:46:20 nate Exp $ + * $Id: md.c,v 1.13 1996/10/01 01:27:56 peter Exp $ */ #include <sys/param.h> diff --git a/gnu/usr.bin/ld/i386/md.h b/gnu/usr.bin/ld/i386/md.h index f7ad9d406df18..66a8ecf632d4c 100644 --- a/gnu/usr.bin/ld/i386/md.h +++ b/gnu/usr.bin/ld/i386/md.h @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: md.h,v 1.12 1995/03/04 17:46:21 nate Exp $ + * $Id: md.h,v 1.13 1996/10/01 01:27:58 peter Exp $ */ #ifndef __MD_H__ diff --git a/gnu/usr.bin/ld/i386/mdprologue.S b/gnu/usr.bin/ld/i386/mdprologue.S index 1de0f7200f1a9..79bf4dadd486d 100644 --- a/gnu/usr.bin/ld/i386/mdprologue.S +++ b/gnu/usr.bin/ld/i386/mdprologue.S @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: mdprologue.S,v 1.7 1994/12/04 07:42:44 mycroft Exp $ + * $Id: mdprologue.S,v 1.6 1995/03/04 17:46:22 nate Exp $ */ /* diff --git a/gnu/usr.bin/ld/ld.1 b/gnu/usr.bin/ld/ld.1 index 6aebcd7763372..edbc7dd0a057d 100644 --- a/gnu/usr.bin/ld/ld.1 +++ b/gnu/usr.bin/ld/ld.1 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ld.1,v 1.11 1996/08/29 18:05:54 wosch Exp $ +.\" $Id: ld.1,v 1.12 1996/10/01 01:22:21 peter Exp $ .\" .Dd October 14, 1993 .Dt LD 1 diff --git a/gnu/usr.bin/ld/ld.c b/gnu/usr.bin/ld/ld.c index a540c9c8cba3b..6d93afa2b84e4 100644 --- a/gnu/usr.bin/ld/ld.c +++ b/gnu/usr.bin/ld/ld.c @@ -32,7 +32,7 @@ static char sccsid[] = "@(#)ld.c 6.10 (Berkeley) 5/22/91"; Set, indirect, and warning symbol features added by Randy Smith. */ /* - * $Id: ld.c,v 1.36 1996/10/01 01:22:23 peter Exp $ + * $Id: ld.c,v 1.36.2.1 1997/02/03 00:50:33 jdp Exp $ */ /* Define how to initialize system-dependent header fields. */ diff --git a/gnu/usr.bin/ld/ld.h b/gnu/usr.bin/ld/ld.h index f020d6e4dc22c..32075ab061b57 100644 --- a/gnu/usr.bin/ld/ld.h +++ b/gnu/usr.bin/ld/ld.h @@ -1,5 +1,5 @@ /* - * $Id: ld.h,v 1.16 1996/04/20 18:27:55 jdp Exp $ + * $Id: ld.h,v 1.17 1996/10/01 01:22:27 peter Exp $ */ /*- * This code is derived from software copyrighted by the Free Software diff --git a/gnu/usr.bin/ld/ldconfig/Makefile b/gnu/usr.bin/ld/ldconfig/Makefile index 1dfb159514ae7..937b5f5a89a7e 100644 --- a/gnu/usr.bin/ld/ldconfig/Makefile +++ b/gnu/usr.bin/ld/ldconfig/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.7 1994/04/13 20:49:42 ats Exp $ +# $Id: Makefile,v 1.8 1996/10/01 01:31:41 peter Exp $ PROG= ldconfig SRCS= ldconfig.c shlib.c support.c diff --git a/gnu/usr.bin/ld/ldconfig/ldconfig.8 b/gnu/usr.bin/ld/ldconfig/ldconfig.8 index 652ebf9b79e44..5e4c4017ad7f0 100644 --- a/gnu/usr.bin/ld/ldconfig/ldconfig.8 +++ b/gnu/usr.bin/ld/ldconfig/ldconfig.8 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ldconfig.8,v 1.9 1996/10/10 23:14:22 jdp Exp $ +.\" $Id: ldconfig.8,v 1.9.2.1 1996/11/10 12:03:38 phk Exp $ .\" .Dd October 3, 1993 .Dt LDCONFIG 8 diff --git a/gnu/usr.bin/ld/ldconfig/ldconfig.c b/gnu/usr.bin/ld/ldconfig/ldconfig.c index 1cde0a06a1c83..1e4a124474d8e 100644 --- a/gnu/usr.bin/ld/ldconfig/ldconfig.c +++ b/gnu/usr.bin/ld/ldconfig/ldconfig.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ldconfig.c,v 1.16 1996/11/08 02:12:40 jdp Exp $ + * $Id: ldconfig.c,v 1.15.2.1 1996/11/08 23:20:38 joerg Exp $ */ #include <sys/param.h> diff --git a/gnu/usr.bin/ld/ldd/Makefile b/gnu/usr.bin/ld/ldd/Makefile index 03351032e15d6..7016aad9b829e 100644 --- a/gnu/usr.bin/ld/ldd/Makefile +++ b/gnu/usr.bin/ld/ldd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1993/12/16 21:51:27 nate Exp $ +# $Id: Makefile,v 1.4 1996/10/01 02:16:12 peter Exp $ PROG= ldd SRCS= ldd.c sods.c diff --git a/gnu/usr.bin/ld/ldd/ldd.c b/gnu/usr.bin/ld/ldd/ldd.c index db02bd34b5068..5445045b3d752 100644 --- a/gnu/usr.bin/ld/ldd/ldd.c +++ b/gnu/usr.bin/ld/ldd/ldd.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ldd.c,v 1.8.2.1 1996/11/23 08:22:05 phk Exp $ + * $Id: ldd.c,v 1.8.2.2 1996/12/03 10:32:50 phk Exp $ */ #include <sys/types.h> diff --git a/gnu/usr.bin/ld/ldd/sods.c b/gnu/usr.bin/ld/ldd/sods.c index 4a9e904d4980c..75f599f273ff5 100644 --- a/gnu/usr.bin/ld/ldd/sods.c +++ b/gnu/usr.bin/ld/ldd/sods.c @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: sods.c,v 1.1 1996/10/01 02:16:16 peter Exp $ */ #include <assert.h> diff --git a/gnu/usr.bin/ld/lib.c b/gnu/usr.bin/ld/lib.c index 7741ea206f6c0..6f481e32ab1df 100644 --- a/gnu/usr.bin/ld/lib.c +++ b/gnu/usr.bin/ld/lib.c @@ -30,7 +30,7 @@ Set, indirect, and warning symbol features added by Randy Smith. */ /* - * $Id: lib.c,v 1.17 1996/07/12 19:08:23 jkh Exp $ - library routines + * $Id: lib.c,v 1.18 1996/10/01 01:22:30 peter Exp $ - library routines */ #include <sys/param.h> diff --git a/gnu/usr.bin/ld/rrs.c b/gnu/usr.bin/ld/rrs.c index f69c092235677..c255eb7ad6c6d 100644 --- a/gnu/usr.bin/ld/rrs.c +++ b/gnu/usr.bin/ld/rrs.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: rrs.c,v 1.16 1996/07/12 19:08:27 jkh Exp $ + * $Id: rrs.c,v 1.17 1996/10/01 01:22:35 peter Exp $ */ #include <sys/param.h> diff --git a/gnu/usr.bin/ld/rtld/Makefile b/gnu/usr.bin/ld/rtld/Makefile index d84a0fafe832d..c203fc26733df 100644 --- a/gnu/usr.bin/ld/rtld/Makefile +++ b/gnu/usr.bin/ld/rtld/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.20 1996/09/12 03:42:54 bde Exp $ +# $Id: Makefile,v 1.21 1996/10/01 01:51:40 peter Exp $ PROG= ld.so SRCS= mdprologue.S rtld.c malloc.c shlib.c md.c support.c sbrk.c diff --git a/gnu/usr.bin/ld/rtld/malloc.c b/gnu/usr.bin/ld/rtld/malloc.c index 5d1d0a49dae64..ee3dba582bdb1 100644 --- a/gnu/usr.bin/ld/rtld/malloc.c +++ b/gnu/usr.bin/ld/rtld/malloc.c @@ -33,7 +33,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)malloc.c 5.11 (Berkeley) 2/23/91";*/ -static char *rcsid = "$Id: malloc.c,v 1.4 1995/05/30 05:01:48 rgrimes Exp $"; +static char *rcsid = "$Id: malloc.c,v 1.5 1996/07/12 19:08:36 jkh Exp $"; #endif /* LIBC_SCCS and not lint */ /* diff --git a/gnu/usr.bin/ld/rtld/rtld.1 b/gnu/usr.bin/ld/rtld/rtld.1 index ddd694b512030..dc1fb4258a75d 100644 --- a/gnu/usr.bin/ld/rtld/rtld.1 +++ b/gnu/usr.bin/ld/rtld/rtld.1 @@ -1,4 +1,4 @@ -.\" $Id: rtld.1,v 1.5 1996/10/01 01:51:46 peter Exp $ +.\" $Id: rtld.1,v 1.6 1996/10/18 04:49:43 jdp Exp $ .\" .\" Copyright (c) 1995 Paul Kranenburg .\" All rights reserved. diff --git a/gnu/usr.bin/ld/rtld/rtld.c b/gnu/usr.bin/ld/rtld/rtld.c index 9c34c6370875b..12765786f87a1 100644 --- a/gnu/usr.bin/ld/rtld/rtld.c +++ b/gnu/usr.bin/ld/rtld/rtld.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: rtld.c,v 1.40 1996/10/24 16:24:19 jdp Exp $ + * $Id: rtld.c,v 1.40.2.1 1997/01/20 19:37:13 jdp Exp $ */ #include <sys/param.h> diff --git a/gnu/usr.bin/ld/rtld/sbrk.c b/gnu/usr.bin/ld/rtld/sbrk.c index f99fb64043994..c5f5a1db64385 100644 --- a/gnu/usr.bin/ld/rtld/sbrk.c +++ b/gnu/usr.bin/ld/rtld/sbrk.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: sbrk.c,v 1.1 1993/12/11 21:06:36 jkh Exp $ + * $Id: sbrk.c,v 1.2 1996/10/01 01:52:03 peter Exp $ */ #include <machine/vmparam.h> diff --git a/gnu/usr.bin/ld/shlib.c b/gnu/usr.bin/ld/shlib.c index 44e30f0b75ea2..2a26b6aa894c1 100644 --- a/gnu/usr.bin/ld/shlib.c +++ b/gnu/usr.bin/ld/shlib.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: shlib.c,v 1.15 1996/04/20 18:27:56 jdp Exp $ + * $Id: shlib.c,v 1.16 1996/10/01 01:22:38 peter Exp $ */ #include <sys/param.h> diff --git a/gnu/usr.bin/ld/shlib.h b/gnu/usr.bin/ld/shlib.h index 796d37e7636cc..f09ed8c4aecef 100644 --- a/gnu/usr.bin/ld/shlib.h +++ b/gnu/usr.bin/ld/shlib.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *- - * $Id$ + * $Id: shlib.h,v 1.1 1996/10/01 01:22:40 peter Exp $ */ /* diff --git a/gnu/usr.bin/ld/sparc/md-static-funcs.c b/gnu/usr.bin/ld/sparc/md-static-funcs.c index 2672cb596be60..8446daa5256c8 100644 --- a/gnu/usr.bin/ld/sparc/md-static-funcs.c +++ b/gnu/usr.bin/ld/sparc/md-static-funcs.c @@ -1,6 +1,6 @@ /* - * $Id: md-static-funcs.c,v 1.2 1993/12/08 10:28:56 pk Exp $ + * $Id: md-static-funcs.c,v 1.2 1993/12/11 12:02:08 jkh Exp $ * * Simple SPARC relocations for the benefit of self-relocation of ld.so * avoiding the use of global variables (ie. reloc_bitshift[] et. al.). diff --git a/gnu/usr.bin/ld/sparc/md.c b/gnu/usr.bin/ld/sparc/md.c index 68831a6054f90..6abab408502c6 100644 --- a/gnu/usr.bin/ld/sparc/md.c +++ b/gnu/usr.bin/ld/sparc/md.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: md.c,v 1.8 1994/06/15 22:41:19 rich Exp $ + * $Id: md.c,v 1.9 1996/10/01 01:28:06 peter Exp $ */ #include <sys/param.h> diff --git a/gnu/usr.bin/ld/sparc/md.h b/gnu/usr.bin/ld/sparc/md.h index 421cbd6c7d3dd..0dc427a08c302 100644 --- a/gnu/usr.bin/ld/sparc/md.h +++ b/gnu/usr.bin/ld/sparc/md.h @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: md.h,v 1.7 1995/03/04 17:46:25 nate Exp $ + * $Id: md.h,v 1.8 1996/10/01 01:28:10 peter Exp $ */ /* diff --git a/gnu/usr.bin/ld/sparc/mdprologue.S b/gnu/usr.bin/ld/sparc/mdprologue.S index d3236a3866710..6a0ec5cc810b5 100644 --- a/gnu/usr.bin/ld/sparc/mdprologue.S +++ b/gnu/usr.bin/ld/sparc/mdprologue.S @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: mdprologue.S,v 1.3 1994/02/13 20:43:13 jkh Exp $ + * $Id: mdprologue.S,v 1.4 1995/03/04 17:46:26 nate Exp $ */ /* diff --git a/gnu/usr.bin/ld/support.c b/gnu/usr.bin/ld/support.c index 128f0b6ef4a84..1c5473cad02d5 100644 --- a/gnu/usr.bin/ld/support.c +++ b/gnu/usr.bin/ld/support.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *- - * $Id: support.c,v 1.1 1996/10/01 01:22:42 peter Exp $ + * $Id: support.c,v 1.1.2.1 1997/02/03 00:50:35 jdp Exp $ */ #include <sys/types.h> #include <string.h> diff --git a/gnu/usr.bin/ld/support.h b/gnu/usr.bin/ld/support.h index 5be1e31c19d92..7911fa21bbd34 100644 --- a/gnu/usr.bin/ld/support.h +++ b/gnu/usr.bin/ld/support.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *- - * $Id$ + * $Id: support.h,v 1.1 1996/10/01 01:22:44 peter Exp $ */ /* diff --git a/gnu/usr.bin/ld/symbol.c b/gnu/usr.bin/ld/symbol.c index 10738705569cc..fa875da6a2db3 100644 --- a/gnu/usr.bin/ld/symbol.c +++ b/gnu/usr.bin/ld/symbol.c @@ -31,7 +31,7 @@ /* * symbol table routines - * $Id: symbol.c,v 1.6 1994/12/23 22:30:54 nate Exp $ + * $Id: symbol.c,v 1.7 1996/10/01 01:22:45 peter Exp $ */ /* Create the symbol table entries for `etext', `edata' and `end'. */ diff --git a/gnu/usr.bin/ld/symseg.h b/gnu/usr.bin/ld/symseg.h index 112dd6f0a7f59..0b9a58476bd50 100644 --- a/gnu/usr.bin/ld/symseg.h +++ b/gnu/usr.bin/ld/symseg.h @@ -4,7 +4,7 @@ * Foundation. * * from: @(#)symseg.h 5.4 (Berkeley) 4/30/91 - * $Id: symseg.h,v 1.3 1993/11/09 04:19:05 paul Exp $ + * $Id: symseg.h,v 1.4 1995/05/30 05:01:47 rgrimes Exp $ */ /* GDB symbol table format definitions. diff --git a/gnu/usr.bin/ld/warnings.c b/gnu/usr.bin/ld/warnings.c index 660bcc5cc89d0..a3ab7769a0c92 100644 --- a/gnu/usr.bin/ld/warnings.c +++ b/gnu/usr.bin/ld/warnings.c @@ -30,7 +30,7 @@ Set, indirect, and warning symbol features added by Randy Smith. */ /* - * $Id: warnings.c,v 1.11 1996/07/12 19:08:29 jkh Exp $ + * $Id: warnings.c,v 1.12 1996/10/01 01:22:48 peter Exp $ */ #include <sys/param.h> diff --git a/gnu/usr.bin/ld/xbits.c b/gnu/usr.bin/ld/xbits.c index edcb16af843c3..6fd922aa012b0 100644 --- a/gnu/usr.bin/ld/xbits.c +++ b/gnu/usr.bin/ld/xbits.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: xbits.c,v 1.3 1994/02/13 20:41:50 jkh Exp $ + * $Id: xbits.c,v 1.4 1996/10/01 01:22:51 peter Exp $ */ /* diff --git a/gnu/usr.bin/man/Makefile.shprog b/gnu/usr.bin/man/Makefile.shprog index 665a194917ff3..f329a8cfe881a 100644 --- a/gnu/usr.bin/man/Makefile.shprog +++ b/gnu/usr.bin/man/Makefile.shprog @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile.shprog,v 1.1 1995/10/21 14:27:04 bde Exp $ # This may become bsd.shprog.mk. The general version would have to handle: # - arbitrary sed substitutions. diff --git a/gnu/usr.bin/man/apropos/Makefile b/gnu/usr.bin/man/apropos/Makefile index c109d3c04391b..4ecc857ce4d1f 100644 --- a/gnu/usr.bin/man/apropos/Makefile +++ b/gnu/usr.bin/man/apropos/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1996/03/09 17:31:08 wosch Exp wosch $ +# $Id: Makefile,v 1.11 1996/03/10 18:52:05 wosch Exp $ SHPROG= apropos diff --git a/gnu/usr.bin/man/apropos/apropos.sh b/gnu/usr.bin/man/apropos/apropos.sh index f726f1fb8b316..a1b1d0d397b41 100644 --- a/gnu/usr.bin/man/apropos/apropos.sh +++ b/gnu/usr.bin/man/apropos/apropos.sh @@ -15,7 +15,7 @@ # The University of Texas at Austin # Austin, Texas 78712 # -# $Id: apropos.sh,v 1.6 1996/09/14 23:20:33 wosch Exp $ +# $Id: apropos.sh,v 1.7 1996/09/27 17:36:50 wosch Exp $ PATH=/bin:/usr/bin:$PATH diff --git a/gnu/usr.bin/man/catman/catman.1 b/gnu/usr.bin/man/catman/catman.1 index a0a72197758e5..a93f3ac6af016 100644 --- a/gnu/usr.bin/man/catman/catman.1 +++ b/gnu/usr.bin/man/catman/catman.1 @@ -24,7 +24,7 @@ .\" .\" /usr/bin/catman - preformat man pages .\" -.\" $Id: catman.1,v 1.9 1996/12/09 07:25:41 mpp Exp $ +.\" $Id: catman.1,v 1.8.2.1 1996/12/10 17:23:05 joerg Exp $ .Dd Mar 12, 1995 .Dt CATMAN 1 .Os diff --git a/gnu/usr.bin/man/catman/catman.perl b/gnu/usr.bin/man/catman/catman.perl index 4f4ce5c42d6c9..6c7ec8e18c00d 100644 --- a/gnu/usr.bin/man/catman/catman.perl +++ b/gnu/usr.bin/man/catman/catman.perl @@ -26,7 +26,7 @@ # # /usr/bin/catman - preformat man pages # -# $Id: catman.perl,v 1.7 1996/03/21 18:17:41 wosch Exp $ +# $Id: catman.perl,v 1.8 1996/08/27 20:04:01 wosch Exp $ sub usage { diff --git a/gnu/usr.bin/man/makewhatis/makewhatis.1 b/gnu/usr.bin/man/makewhatis/makewhatis.1 index aa55f94d34cc0..647c2f9d5a0b9 100644 --- a/gnu/usr.bin/man/makewhatis/makewhatis.1 +++ b/gnu/usr.bin/man/makewhatis/makewhatis.1 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: makewhatis.1,v 1.8 1996/12/14 23:27:20 mpp Exp $ +.\" $Id: makewhatis.1,v 1.6.2.2 1996/12/22 23:05:27 mpp Exp $ .Dd Jan, 12, 1995 .Dt MAKEWHATIS 1 .Os FreeBSD 2.1 diff --git a/gnu/usr.bin/man/makewhatis/makewhatis.local.8 b/gnu/usr.bin/man/makewhatis/makewhatis.local.8 index 932d31d27765f..7bdc721d40dba 100644 --- a/gnu/usr.bin/man/makewhatis/makewhatis.local.8 +++ b/gnu/usr.bin/man/makewhatis/makewhatis.local.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: makewhatis.local.8,v 1.3 1996/12/09 07:26:04 mpp Exp $ +.\" $Id: makewhatis.local.8,v 1.2.2.1 1996/12/10 17:23:18 joerg Exp $ .Dd April, 26, 1996 .Dt MAKEWHATIS.LOCAL 8 .Os FreeBSD 2.2 diff --git a/gnu/usr.bin/man/makewhatis/makewhatis.local.sh b/gnu/usr.bin/man/makewhatis/makewhatis.local.sh index 9203cfb839c9d..d5a340cfe0963 100644 --- a/gnu/usr.bin/man/makewhatis/makewhatis.local.sh +++ b/gnu/usr.bin/man/makewhatis/makewhatis.local.sh @@ -33,7 +33,7 @@ # # PS: this wrapper works also for catman(1) # -# $Id: makewhatis.local.sh,v 1.2 1996/05/22 00:57:40 wosch Exp $ +# $Id: makewhatis.local.sh,v 1.3 1996/08/27 20:04:07 wosch Exp $ PATH=/bin:/usr/bin:$PATH; export PATH opt= dirs= localdirs= diff --git a/gnu/usr.bin/man/makewhatis/makewhatis.perl b/gnu/usr.bin/man/makewhatis/makewhatis.perl index b3f685ffebcad..61d1b9556237d 100644 --- a/gnu/usr.bin/man/makewhatis/makewhatis.perl +++ b/gnu/usr.bin/man/makewhatis/makewhatis.perl @@ -26,7 +26,7 @@ # # makewhatis -- update the whatis database in the man directories. # -# $Id: makewhatis.perl,v 1.10 1996/05/22 00:57:42 wosch Exp $ +# $Id: makewhatis.perl,v 1.11 1996/08/27 20:04:09 wosch Exp $ sub usage { diff --git a/gnu/usr.bin/patch/EXTERN.h b/gnu/usr.bin/patch/EXTERN.h index 96dd888a933d1..bde49f4be63c5 100644 --- a/gnu/usr.bin/patch/EXTERN.h +++ b/gnu/usr.bin/patch/EXTERN.h @@ -1,6 +1,9 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/EXTERN.h,v 1.1.1.1 1993/06/19 14:21:52 paul Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/EXTERN.h,v 1.2 1995/05/30 05:02:26 rgrimes Exp $ * * $Log: EXTERN.h,v $ + * Revision 1.2 1995/05/30 05:02:26 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1993/06/19 14:21:52 paul * b-maked patch-2.10 * diff --git a/gnu/usr.bin/patch/INTERN.h b/gnu/usr.bin/patch/INTERN.h index b718b1d4cc9f0..5f3beab6236c3 100644 --- a/gnu/usr.bin/patch/INTERN.h +++ b/gnu/usr.bin/patch/INTERN.h @@ -1,6 +1,9 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/INTERN.h,v 1.1.1.1 1993/06/19 14:21:52 paul Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/INTERN.h,v 1.2 1995/05/30 05:02:27 rgrimes Exp $ * * $Log: INTERN.h,v $ + * Revision 1.2 1995/05/30 05:02:27 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1993/06/19 14:21:52 paul * b-maked patch-2.10 * diff --git a/gnu/usr.bin/patch/common.h b/gnu/usr.bin/patch/common.h index 4bb99e0248196..e58f3f2f2cb9b 100644 --- a/gnu/usr.bin/patch/common.h +++ b/gnu/usr.bin/patch/common.h @@ -1,6 +1,9 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/common.h,v 1.2 1993/09/22 16:51:03 rich Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/common.h,v 1.3 1995/05/30 05:02:30 rgrimes Exp $ * * $Log: common.h,v $ + * Revision 1.3 1995/05/30 05:02:30 rgrimes + * Remove trailing whitespace. + * * Revision 1.2 1993/09/22 16:51:03 rich * Increaed the fixed static buffer sizes and maximum hunk size that * otherwise causes the XFree86 1.3 patch set to fail. diff --git a/gnu/usr.bin/patch/inp.c b/gnu/usr.bin/patch/inp.c index 63eb5a4094526..eb484606d62d2 100644 --- a/gnu/usr.bin/patch/inp.c +++ b/gnu/usr.bin/patch/inp.c @@ -1,4 +1,4 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/inp.c,v 1.3 1995/05/30 05:02:31 rgrimes Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/inp.c,v 1.3.6.1 1997/03/17 22:32:26 jmg Exp $ * * Log: inp.c,v * diff --git a/gnu/usr.bin/patch/inp.h b/gnu/usr.bin/patch/inp.h index ea07ee89d8a18..40999d5c897c4 100644 --- a/gnu/usr.bin/patch/inp.h +++ b/gnu/usr.bin/patch/inp.h @@ -1,6 +1,9 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/inp.h,v 1.1.1.1 1993/06/19 14:21:52 paul Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/inp.h,v 1.2 1995/05/30 05:02:33 rgrimes Exp $ * * $Log: inp.h,v $ + * Revision 1.2 1995/05/30 05:02:33 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1993/06/19 14:21:52 paul * b-maked patch-2.10 * diff --git a/gnu/usr.bin/patch/patch.1 b/gnu/usr.bin/patch/patch.1 index 6eec2b4ca80b5..77391e1b5ac1b 100644 --- a/gnu/usr.bin/patch/patch.1 +++ b/gnu/usr.bin/patch/patch.1 @@ -1,8 +1,13 @@ .\" -*- nroff -*- .rn '' }` -'\" $Header: /home/ncvs/src/gnu/usr.bin/patch/patch.1,v 1.4 1994/02/25 21:45:59 phk Exp $ +'\" $Header: /home/ncvs/src/gnu/usr.bin/patch/patch.1,v 1.5 1996/02/07 23:47:55 jdp Exp $ '\" '\" $Log: patch.1,v $ +'\" Revision 1.5 1996/02/07 23:47:55 jdp +'\" Update the manual page to reflect the fact that an "Index" line +'\" now takes precedence over a context diff header for determining +'\" the name of the file to patch. +'\" '\" Revision 1.4 1994/02/25 21:45:59 phk '\" added the -C/-check again. '\" diff --git a/gnu/usr.bin/patch/patch.c b/gnu/usr.bin/patch/patch.c index a43e62b98e222..375cdacf3172e 100644 --- a/gnu/usr.bin/patch/patch.c +++ b/gnu/usr.bin/patch/patch.c @@ -1,5 +1,5 @@ char rcsid[] = - "$Header: /home/ncvs/src/gnu/usr.bin/patch/patch.c,v 1.6 1995/05/30 05:02:34 rgrimes Exp $"; + "$Header: /home/ncvs/src/gnu/usr.bin/patch/patch.c,v 1.6.6.1 1997/03/17 22:32:26 jmg Exp $"; /* patch - a program to apply diffs to original files * diff --git a/gnu/usr.bin/patch/pch.c b/gnu/usr.bin/patch/pch.c index cc5d2c85e261e..c5d17f78fbd34 100644 --- a/gnu/usr.bin/patch/pch.c +++ b/gnu/usr.bin/patch/pch.c @@ -1,4 +1,4 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/pch.c,v 1.8 1996/04/12 11:37:32 markm Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/pch.c,v 1.8.2.1 1997/03/17 22:32:27 jmg Exp $ * * Log: pch.c,v * Revision 2.0.2.0 90/05/01 22:17:51 davison diff --git a/gnu/usr.bin/patch/pch.h b/gnu/usr.bin/patch/pch.h index 49670816989fd..d7f40e1d177f6 100644 --- a/gnu/usr.bin/patch/pch.h +++ b/gnu/usr.bin/patch/pch.h @@ -1,6 +1,9 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/pch.h,v 1.1.1.1 1993/06/19 14:21:52 paul Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/pch.h,v 1.2 1995/05/30 05:02:36 rgrimes Exp $ * * $Log: pch.h,v $ + * Revision 1.2 1995/05/30 05:02:36 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1993/06/19 14:21:52 paul * b-maked patch-2.10 * diff --git a/gnu/usr.bin/patch/util.h b/gnu/usr.bin/patch/util.h index 5bb36105d53bc..d2e17a897903c 100644 --- a/gnu/usr.bin/patch/util.h +++ b/gnu/usr.bin/patch/util.h @@ -1,4 +1,4 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/util.h,v 1.2 1995/05/30 05:02:38 rgrimes Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/util.h,v 1.2.6.1 1997/03/17 22:32:29 jmg Exp $ * * Log: util.h,v * Revision 2.0 86/09/17 15:40:06 lwall diff --git a/gnu/usr.bin/patch/version.c b/gnu/usr.bin/patch/version.c index dfd2e9a6bb860..740b82d3404cf 100644 --- a/gnu/usr.bin/patch/version.c +++ b/gnu/usr.bin/patch/version.c @@ -1,6 +1,9 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/version.c,v 1.1.1.1 1993/06/19 14:21:52 paul Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/version.c,v 1.2 1995/05/30 05:02:39 rgrimes Exp $ * * $Log: version.c,v $ + * Revision 1.2 1995/05/30 05:02:39 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1993/06/19 14:21:52 paul * b-maked patch-2.10 * diff --git a/gnu/usr.bin/patch/version.h b/gnu/usr.bin/patch/version.h index f59ee261e6391..5a57bc5890481 100644 --- a/gnu/usr.bin/patch/version.h +++ b/gnu/usr.bin/patch/version.h @@ -1,6 +1,9 @@ -/* $Header: /home/ncvs/src/gnu/usr.bin/patch/version.h,v 1.1.1.1 1993/06/19 14:21:52 paul Exp $ +/* $Header: /home/ncvs/src/gnu/usr.bin/patch/version.h,v 1.2 1995/05/30 05:02:40 rgrimes Exp $ * * $Log: version.h,v $ + * Revision 1.2 1995/05/30 05:02:40 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1993/06/19 14:21:52 paul * b-maked patch-2.10 * diff --git a/gnu/usr.bin/perl/eg/ADB b/gnu/usr.bin/perl/eg/ADB index 09b93c302aae1..1d6da1a3465fd 100644 --- a/gnu/usr.bin/perl/eg/ADB +++ b/gnu/usr.bin/perl/eg/ADB @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/ADB,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/ADB,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ # This script is only useful when used in your crash directory. diff --git a/gnu/usr.bin/perl/eg/changes b/gnu/usr.bin/perl/eg/changes index 9835e1b6ddc24..e6acacb35f09a 100644 --- a/gnu/usr.bin/perl/eg/changes +++ b/gnu/usr.bin/perl/eg/changes @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/changes,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/changes,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ ($dir, $days) = @ARGV; $dir = '/' if $dir eq ''; diff --git a/gnu/usr.bin/perl/eg/dus b/gnu/usr.bin/perl/eg/dus index 94c648bd76267..d2903576975a4 100644 --- a/gnu/usr.bin/perl/eg/dus +++ b/gnu/usr.bin/perl/eg/dus @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/dus,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/dus,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ # This script does a du -s on any directories in the current directory that # are not mount points for another filesystem. diff --git a/gnu/usr.bin/perl/eg/findcp b/gnu/usr.bin/perl/eg/findcp index 47e443820d88d..96c8ebc9f2eec 100644 --- a/gnu/usr.bin/perl/eg/findcp +++ b/gnu/usr.bin/perl/eg/findcp @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/findcp,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/findcp,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ # This is a wrapper around the find command that pretends find has a switch # of the form -cp host:destination. It presumes your find implements -ls. diff --git a/gnu/usr.bin/perl/eg/findtar b/gnu/usr.bin/perl/eg/findtar index a60f10f76c320..1c9f823beea59 100644 --- a/gnu/usr.bin/perl/eg/findtar +++ b/gnu/usr.bin/perl/eg/findtar @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/findtar,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/findtar,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ # findtar takes find-style arguments and spits out a tarfile on stdout. # It won't work unless your find supports -ls and your tar the I flag. diff --git a/gnu/usr.bin/perl/eg/g/gcp b/gnu/usr.bin/perl/eg/g/gcp index 3e44a9cf182bb..dca3cd6e03f3f 100644 --- a/gnu/usr.bin/perl/eg/g/gcp +++ b/gnu/usr.bin/perl/eg/g/gcp @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/g/gcp,v 1.1.1.1 1993/08/23 21:29:44 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/g/gcp,v 1.1.1.1 1994/09/10 06:27:48 gclarkii Exp $ # Here is a script to do global rcps. See man page. diff --git a/gnu/usr.bin/perl/eg/g/gcp.man b/gnu/usr.bin/perl/eg/g/gcp.man index 8985742fa4732..c188dc9698cbb 100644 --- a/gnu/usr.bin/perl/eg/g/gcp.man +++ b/gnu/usr.bin/perl/eg/g/gcp.man @@ -1,4 +1,4 @@ -.\" $Header: /home/cvs/386BSD/ports/lang/perl/eg/g/gcp.man,v 1.1.1.1 1993/08/23 21:29:44 nate Exp $ +.\" $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/g/gcp.man,v 1.1.1.1 1994/09/10 06:27:48 gclarkii Exp $ .TH GCP 1C "13 May 1988" .SH NAME gcp \- global file copy diff --git a/gnu/usr.bin/perl/eg/g/ged b/gnu/usr.bin/perl/eg/g/ged index d296a84c913a8..ecc72103dac79 100644 --- a/gnu/usr.bin/perl/eg/g/ged +++ b/gnu/usr.bin/perl/eg/g/ged @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/g/ged,v 1.1.1.1 1993/08/23 21:29:44 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/g/ged,v 1.1.1.1 1994/09/10 06:27:48 gclarkii Exp $ # Does inplace edits on a set of files on a set of machines. # diff --git a/gnu/usr.bin/perl/eg/g/gsh b/gnu/usr.bin/perl/eg/g/gsh index 3322a02ff74f0..3d9cd6a09a829 100644 --- a/gnu/usr.bin/perl/eg/g/gsh +++ b/gnu/usr.bin/perl/eg/g/gsh @@ -1,6 +1,6 @@ #! /usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/g/gsh,v 1.1.1.1 1993/08/23 21:29:44 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/g/gsh,v 1.1.1.1 1994/09/10 06:27:48 gclarkii Exp $ # Do rsh globally--see man page diff --git a/gnu/usr.bin/perl/eg/g/gsh.man b/gnu/usr.bin/perl/eg/g/gsh.man index 00eafb66d8c26..6675ca33ac914 100644 --- a/gnu/usr.bin/perl/eg/g/gsh.man +++ b/gnu/usr.bin/perl/eg/g/gsh.man @@ -1,4 +1,4 @@ -.\" $Header: /home/cvs/386BSD/ports/lang/perl/eg/g/gsh.man,v 1.1.1.1 1993/08/23 21:29:44 nate Exp $ +.\" $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/g/gsh.man,v 1.1.1.1 1994/09/10 06:27:48 gclarkii Exp $ .TH GSH 8 "13 May 1988" .SH NAME gsh \- global shell diff --git a/gnu/usr.bin/perl/eg/muck.man b/gnu/usr.bin/perl/eg/muck.man index 1b45ee0325c01..c485cfd5811e9 100644 --- a/gnu/usr.bin/perl/eg/muck.man +++ b/gnu/usr.bin/perl/eg/muck.man @@ -1,4 +1,4 @@ -.\" $Header: /home/cvs/386BSD/ports/lang/perl/eg/muck.man,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +.\" $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/muck.man,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ .TH MUCK 1 "10 Jan 1989" .SH NAME muck \- make usage checker diff --git a/gnu/usr.bin/perl/eg/myrup b/gnu/usr.bin/perl/eg/myrup index b3185896ef985..52d8339ecad57 100644 --- a/gnu/usr.bin/perl/eg/myrup +++ b/gnu/usr.bin/perl/eg/myrup @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/myrup,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/myrup,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ # This was a customization of ruptime requested by someone here who wanted # to be able to find the least loaded machine easily. It uses the diff --git a/gnu/usr.bin/perl/eg/nih b/gnu/usr.bin/perl/eg/nih index a376142cdd759..059eabb190a49 100644 --- a/gnu/usr.bin/perl/eg/nih +++ b/gnu/usr.bin/perl/eg/nih @@ -1,7 +1,7 @@ eval "exec /usr/bin/perl -Spi.bak $0 $*" if $running_under_some_shell; -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/nih,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/nih,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ # This script makes #! scripts directly executable on machines that don't # support #!. It edits in place any scripts mentioned on the command line. diff --git a/gnu/usr.bin/perl/eg/relink b/gnu/usr.bin/perl/eg/relink index 69956c9a6738f..fd4186ed44930 100644 --- a/gnu/usr.bin/perl/eg/relink +++ b/gnu/usr.bin/perl/eg/relink @@ -2,9 +2,12 @@ 'di'; 'ig00'; # -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/relink,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/relink,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ # # $Log: relink,v $ +# Revision 1.1.1.1 1994/09/10 06:27:47 gclarkii +# Initial import of Perl 4.046 bmaked +# # Revision 1.1.1.1 1993/08/23 21:29:43 nate # PERL! # diff --git a/gnu/usr.bin/perl/eg/rename b/gnu/usr.bin/perl/eg/rename index b568406f86039..d0127074c8dd8 100644 --- a/gnu/usr.bin/perl/eg/rename +++ b/gnu/usr.bin/perl/eg/rename @@ -2,9 +2,12 @@ 'di'; 'ig00'; # -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/rename,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/rename,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ # # $Log: rename,v $ +# Revision 1.1.1.1 1994/09/10 06:27:47 gclarkii +# Initial import of Perl 4.046 bmaked +# # Revision 1.1.1.1 1993/08/23 21:29:43 nate # PERL! # diff --git a/gnu/usr.bin/perl/eg/rmfrom b/gnu/usr.bin/perl/eg/rmfrom index 0c8fa2c86aafc..18a9fc794fe2e 100644 --- a/gnu/usr.bin/perl/eg/rmfrom +++ b/gnu/usr.bin/perl/eg/rmfrom @@ -1,6 +1,6 @@ #!/usr/bin/perl -n -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/rmfrom,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/rmfrom,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ # A handy (but dangerous) script to put after a find ... -print. diff --git a/gnu/usr.bin/perl/eg/scan/scan_df b/gnu/usr.bin/perl/eg/scan/scan_df index 688738710a53d..2db989bb35574 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_df +++ b/gnu/usr.bin/perl/eg/scan/scan_df @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/scan/scan_df,v 1.1.1.1 1993/08/23 21:29:44 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/scan/scan_df,v 1.1.1.1 1994/09/10 06:27:49 gclarkii Exp $ # This report points out filesystems that are in danger of overflowing. diff --git a/gnu/usr.bin/perl/eg/scan/scan_last b/gnu/usr.bin/perl/eg/scan/scan_last index 6621120d3e44d..6c109b43d499e 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_last +++ b/gnu/usr.bin/perl/eg/scan/scan_last @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/scan/scan_last,v 1.1.1.1 1993/08/23 21:29:45 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/scan/scan_last,v 1.1.1.1 1994/09/10 06:27:49 gclarkii Exp $ # This reports who was logged on at weird hours diff --git a/gnu/usr.bin/perl/eg/scan/scan_messages b/gnu/usr.bin/perl/eg/scan/scan_messages index a28cda858a17c..81fc714dcf4e8 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_messages +++ b/gnu/usr.bin/perl/eg/scan/scan_messages @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/scan/scan_messages,v 1.1.1.1 1993/08/23 21:29:44 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/scan/scan_messages,v 1.1.1.1 1994/09/10 06:27:49 gclarkii Exp $ # This prints out extraordinary console messages. You'll need to customize. diff --git a/gnu/usr.bin/perl/eg/scan/scan_passwd b/gnu/usr.bin/perl/eg/scan/scan_passwd index f9c53c7d2385a..9cfa77f4b135f 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_passwd +++ b/gnu/usr.bin/perl/eg/scan/scan_passwd @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/scan/scan_passwd,v 1.1.1.1 1993/08/23 21:29:45 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/scan/scan_passwd,v 1.1.1.1 1994/09/10 06:27:49 gclarkii Exp $ # This scans passwd file for security holes. diff --git a/gnu/usr.bin/perl/eg/scan/scan_ps b/gnu/usr.bin/perl/eg/scan/scan_ps index b0480d544c30c..9a99d1dddb188 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_ps +++ b/gnu/usr.bin/perl/eg/scan/scan_ps @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/scan/scan_ps,v 1.1.1.1 1993/08/23 21:29:45 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/scan/scan_ps,v 1.1.1.1 1994/09/10 06:27:49 gclarkii Exp $ # This looks for looping processes. diff --git a/gnu/usr.bin/perl/eg/scan/scan_sudo b/gnu/usr.bin/perl/eg/scan/scan_sudo index a95a6092b4673..81e014872d442 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_sudo +++ b/gnu/usr.bin/perl/eg/scan/scan_sudo @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/scan/scan_sudo,v 1.1.1.1 1993/08/23 21:29:45 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/scan/scan_sudo,v 1.1.1.1 1994/09/10 06:27:49 gclarkii Exp $ # Analyze the sudo log. diff --git a/gnu/usr.bin/perl/eg/scan/scan_suid b/gnu/usr.bin/perl/eg/scan/scan_suid index a730e0aaee162..8a694e5f20146 100644 --- a/gnu/usr.bin/perl/eg/scan/scan_suid +++ b/gnu/usr.bin/perl/eg/scan/scan_suid @@ -1,6 +1,6 @@ #!/usr/bin/perl -P -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/scan/scan_suid,v 1.1.1.1 1993/08/23 21:29:44 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/scan/scan_suid,v 1.1.1.1 1994/09/10 06:27:49 gclarkii Exp $ # Look for new setuid root files. diff --git a/gnu/usr.bin/perl/eg/scan/scanner b/gnu/usr.bin/perl/eg/scan/scanner index f773e87e8f8ae..64e2469aa0ead 100644 --- a/gnu/usr.bin/perl/eg/scan/scanner +++ b/gnu/usr.bin/perl/eg/scan/scanner @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/scan/scanner,v 1.1.1.1 1993/08/23 21:29:44 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/scan/scanner,v 1.1.1.1 1994/09/10 06:27:48 gclarkii Exp $ # This runs all the scan_* routines on all the machines in /etc/ghosts. # We run this every morning at about 6 am: diff --git a/gnu/usr.bin/perl/eg/shmkill b/gnu/usr.bin/perl/eg/shmkill index e8d1b11b3630a..67513f2c0a869 100644 --- a/gnu/usr.bin/perl/eg/shmkill +++ b/gnu/usr.bin/perl/eg/shmkill @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/shmkill,v 1.1.1.1 1993/08/23 21:29:43 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/shmkill,v 1.1.1.1 1994/09/10 06:27:47 gclarkii Exp $ # A script to call from crontab periodically when people are leaving shared # memory sitting around unattached. diff --git a/gnu/usr.bin/perl/eg/van/empty b/gnu/usr.bin/perl/eg/van/empty index ee656e68563f8..ca9e5de64e6e7 100644 --- a/gnu/usr.bin/perl/eg/van/empty +++ b/gnu/usr.bin/perl/eg/van/empty @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/van/empty,v 1.1.1.1 1993/08/23 21:29:45 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/van/empty,v 1.1.1.1 1994/09/10 06:27:49 gclarkii Exp $ # This script empties a trashcan. diff --git a/gnu/usr.bin/perl/eg/van/unvanish b/gnu/usr.bin/perl/eg/van/unvanish index 50459821546b8..06e1aa1245d13 100644 --- a/gnu/usr.bin/perl/eg/van/unvanish +++ b/gnu/usr.bin/perl/eg/van/unvanish @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/van/unvanish,v 1.1.1.1 1993/08/23 21:29:45 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/van/unvanish,v 1.1.1.1 1994/09/10 06:27:50 gclarkii Exp $ sub it { if ($olddir ne '.') { diff --git a/gnu/usr.bin/perl/eg/van/vanexp b/gnu/usr.bin/perl/eg/van/vanexp index 79b78854d54c3..e30df855d4725 100644 --- a/gnu/usr.bin/perl/eg/van/vanexp +++ b/gnu/usr.bin/perl/eg/van/vanexp @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/van/vanexp,v 1.1.1.1 1993/08/23 21:29:45 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/van/vanexp,v 1.1.1.1 1994/09/10 06:27:50 gclarkii Exp $ # This is for running from a find at night to expire old .deleteds diff --git a/gnu/usr.bin/perl/eg/van/vanish b/gnu/usr.bin/perl/eg/van/vanish index b79776a4ebdc9..769789ea2ad38 100644 --- a/gnu/usr.bin/perl/eg/van/vanish +++ b/gnu/usr.bin/perl/eg/van/vanish @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Header: /home/cvs/386BSD/ports/lang/perl/eg/van/vanish,v 1.1.1.1 1993/08/23 21:29:45 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/eg/van/vanish,v 1.1.1.1 1994/09/10 06:27:50 gclarkii Exp $ sub it { if ($olddir ne '.') { diff --git a/gnu/usr.bin/perl/emacs/perldb.pl b/gnu/usr.bin/perl/emacs/perldb.pl index 7c9e6513ea0cf..8f861ef726ff8 100644 --- a/gnu/usr.bin/perl/emacs/perldb.pl +++ b/gnu/usr.bin/perl/emacs/perldb.pl @@ -3,7 +3,7 @@ package DB; # modified Perl debugger, to be run from Emacs in perldb-mode # Ray Lischner (uunet!mntgfx!lisch) as of 5 Nov 1990 -$header = '$Header: /home/cvs/386BSD/ports/lang/perl/emacs/perldb.pl,v 1.1.1.1 1993/08/23 21:29:46 nate Exp $'; +$header = '$Header: /home/ncvs/src/gnu/usr.bin/perl/emacs/perldb.pl,v 1.1.1.1 1994/09/10 06:27:50 gclarkii Exp $'; # # This file is automatically included if you do perl -d. # It's probably not useful to include this yourself. @@ -13,6 +13,9 @@ $header = '$Header: /home/cvs/386BSD/ports/lang/perl/emacs/perldb.pl,v 1.1.1.1 1 # have a breakpoint. It also inserts a do 'perldb.pl' before the first line. # # $Log: perldb.pl,v $ +# Revision 1.1.1.1 1994/09/10 06:27:50 gclarkii +# Initial import of Perl 4.046 bmaked +# # Revision 1.1.1.1 1993/08/23 21:29:46 nate # PERL! # diff --git a/gnu/usr.bin/perl/lib/ctime.pl b/gnu/usr.bin/perl/lib/ctime.pl index 4c59754b7b81e..4a5686c52548f 100644 --- a/gnu/usr.bin/perl/lib/ctime.pl +++ b/gnu/usr.bin/perl/lib/ctime.pl @@ -3,7 +3,7 @@ ;# Waldemar Kebsch, Federal Republic of Germany, November 1988 ;# kebsch.pad@nixpbe.UUCP ;# Modified March 1990, Feb 1991 to properly handle timezones -;# $RCSfile: ctime.pl,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:29:52 $ +;# $RCSfile: ctime.pl,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:52 $ ;# Marion Hakanson (hakanson@cse.ogi.edu) ;# Oregon Graduate Institute of Science and Technology ;# diff --git a/gnu/usr.bin/perl/lib/gethostname.pl b/gnu/usr.bin/perl/lib/gethostname.pl index 2342bad7d7b9f..5c8c2c59b0b64 100644 --- a/gnu/usr.bin/perl/lib/gethostname.pl +++ b/gnu/usr.bin/perl/lib/gethostname.pl @@ -4,7 +4,7 @@ # Written 13-Feb-96 by Jörg Wunsch, interface business GmbH Dresden. # Placed in the public domain. # -# $Id: gethostname.pl,v 1.1 1996/02/13 13:17:49 joerg Exp $ +# $Id: gethostname.pl,v 1.2 1996/03/18 21:42:31 joerg Exp $ # package gethostname; diff --git a/gnu/usr.bin/perl/lib/getopt.pl b/gnu/usr.bin/perl/lib/getopt.pl index 6772d54aae206..6c3c4996f0871 100644 --- a/gnu/usr.bin/perl/lib/getopt.pl +++ b/gnu/usr.bin/perl/lib/getopt.pl @@ -1,4 +1,4 @@ -;# $RCSfile: getopt.pl,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:29:52 $ +;# $RCSfile: getopt.pl,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:52 $ ;# Process single-character switches with switch clustering. Pass one argument ;# which is a string containing all switches that take an argument. For each diff --git a/gnu/usr.bin/perl/lib/importenv.pl b/gnu/usr.bin/perl/lib/importenv.pl index c9ad330b6d037..2d7b7ee12e9fb 100644 --- a/gnu/usr.bin/perl/lib/importenv.pl +++ b/gnu/usr.bin/perl/lib/importenv.pl @@ -1,4 +1,4 @@ -;# $Header: /home/cvs/386BSD/ports/lang/perl/lib/importenv.pl,v 1.1.1.1 1993/08/23 21:29:53 nate Exp $ +;# $Header: /home/ncvs/src/gnu/usr.bin/perl/lib/importenv.pl,v 1.1.1.1 1994/09/10 06:27:52 gclarkii Exp $ ;# This file, when interpreted, pulls the environment into normal variables. ;# Usage: diff --git a/gnu/usr.bin/perl/lib/perldb.pl b/gnu/usr.bin/perl/lib/perldb.pl index 1aadb934e979f..3d363ed26811a 100644 --- a/gnu/usr.bin/perl/lib/perldb.pl +++ b/gnu/usr.bin/perl/lib/perldb.pl @@ -4,7 +4,7 @@ package DB; # Ray Lischner (uunet!mntgfx!lisch) as of 5 Nov 1990 # Johan Vromans -- upgrade to 4.0 pl 10 -$header = '$RCSfile: perldb.pl,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:29:51 $'; +$header = '$RCSfile: perldb.pl,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:53 $'; # # This file is automatically included if you do perl -d. # It's probably not useful to include this yourself. @@ -14,6 +14,9 @@ $header = '$RCSfile: perldb.pl,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:29:51 # have a breakpoint. It also inserts a do 'perldb.pl' before the first line. # # $Log: perldb.pl,v $ +# Revision 1.1.1.1 1994/09/10 06:27:53 gclarkii +# Initial import of Perl 4.046 bmaked +# # Revision 1.1.1.1 1993/08/23 21:29:51 nate # PERL! # diff --git a/gnu/usr.bin/perl/lib/pwd.pl b/gnu/usr.bin/perl/lib/pwd.pl index 16baadcdcdd4b..1294e18de6378 100644 --- a/gnu/usr.bin/perl/lib/pwd.pl +++ b/gnu/usr.bin/perl/lib/pwd.pl @@ -1,8 +1,11 @@ ;# pwd.pl - keeps track of current working directory in PWD environment var ;# -;# $RCSfile: pwd.pl,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:29:52 $ +;# $RCSfile: pwd.pl,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:53 $ ;# ;# $Log: pwd.pl,v $ +;# Revision 1.1.1.1 1994/09/10 06:27:53 gclarkii +;# Initial import of Perl 4.046 bmaked +;# # Revision 1.1.1.1 1993/08/23 21:29:52 nate # PERL! # diff --git a/gnu/usr.bin/perl/lib/stat.pl b/gnu/usr.bin/perl/lib/stat.pl index 6186f5428d18c..cd9321c9966c2 100644 --- a/gnu/usr.bin/perl/lib/stat.pl +++ b/gnu/usr.bin/perl/lib/stat.pl @@ -1,4 +1,4 @@ -;# $Header: /home/cvs/386BSD/ports/lang/perl/lib/stat.pl,v 1.1.1.1 1993/08/23 21:29:53 nate Exp $ +;# $Header: /home/ncvs/src/gnu/usr.bin/perl/lib/stat.pl,v 1.1.1.1 1994/09/10 06:27:53 gclarkii Exp $ ;# Usage: ;# require 'stat.pl'; diff --git a/gnu/usr.bin/perl/lib/syslog.pl b/gnu/usr.bin/perl/lib/syslog.pl index 94a4f6a19a008..96fdc231c7834 100644 --- a/gnu/usr.bin/perl/lib/syslog.pl +++ b/gnu/usr.bin/perl/lib/syslog.pl @@ -2,6 +2,9 @@ # syslog.pl # # $Log: syslog.pl,v $ +# Revision 1.1.1.1 1994/09/10 06:27:53 gclarkii +# Initial import of Perl 4.046 bmaked +# # Revision 1.1.1.1 1993/08/23 21:29:51 nate # PERL! # diff --git a/gnu/usr.bin/perl/lib/termcap.pl b/gnu/usr.bin/perl/lib/termcap.pl index 81556dbd3fb4b..2e173baa33cf2 100644 --- a/gnu/usr.bin/perl/lib/termcap.pl +++ b/gnu/usr.bin/perl/lib/termcap.pl @@ -1,4 +1,4 @@ -;# $RCSfile: termcap.pl,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:29:52 $ +;# $RCSfile: termcap.pl,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:53 $ ;# ;# Usage: ;# require 'ioctl.pl'; diff --git a/gnu/usr.bin/perl/lib/validate.pl b/gnu/usr.bin/perl/lib/validate.pl index 4b901b6c314e2..df92731c9f7b8 100644 --- a/gnu/usr.bin/perl/lib/validate.pl +++ b/gnu/usr.bin/perl/lib/validate.pl @@ -1,4 +1,4 @@ -;# $Header: /home/cvs/386BSD/ports/lang/perl/lib/validate.pl,v 1.1.1.1 1993/08/23 21:29:51 nate Exp $ +;# $Header: /home/ncvs/src/gnu/usr.bin/perl/lib/validate.pl,v 1.1.1.1 1994/09/10 06:27:53 gclarkii Exp $ ;# The validate routine takes a single multiline string consisting of ;# lines containing a filename plus a file test to try on it. (The diff --git a/gnu/usr.bin/perl/misc/c2ph b/gnu/usr.bin/perl/misc/c2ph index 1a2e4b8306ea3..7214e3b1d43cd 100644 --- a/gnu/usr.bin/perl/misc/c2ph +++ b/gnu/usr.bin/perl/misc/c2ph @@ -10,7 +10,7 @@ # See the usage message for more. If this isn't enough, read the code. # -$RCSID = '$RCSfile: c2ph,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:31 $'; +$RCSID = '$RCSfile: c2ph,v $$Revision: 1.2 $$Date: 1994/10/29 07:14:38 $'; ###################################################################### diff --git a/gnu/usr.bin/perl/misc/pstruct b/gnu/usr.bin/perl/misc/pstruct index 5dfea04776f66..c9f9a04aa4ea3 100644 --- a/gnu/usr.bin/perl/misc/pstruct +++ b/gnu/usr.bin/perl/misc/pstruct @@ -10,7 +10,7 @@ # See the usage message for more. If this isn't enough, read the code. # -$RCSID = '$RCSfile: pstruct,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:31 $'; +$RCSID = '$RCSfile: pstruct,v $$Revision: 1.2 $$Date: 1994/10/29 07:14:39 $'; ###################################################################### diff --git a/gnu/usr.bin/perl/perl/EXTERN.h b/gnu/usr.bin/perl/perl/EXTERN.h index fec95bf609060..31c8caecca090 100644 --- a/gnu/usr.bin/perl/perl/EXTERN.h +++ b/gnu/usr.bin/perl/perl/EXTERN.h @@ -1,4 +1,4 @@ -/* $RCSfile: EXTERN.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:34 $ +/* $RCSfile: EXTERN.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:02:46 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: EXTERN.h,v $ + * Revision 1.2 1995/05/30 05:02:46 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:34 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/INTERN.h b/gnu/usr.bin/perl/perl/INTERN.h index d1792d852ea32..6a9417dceca45 100644 --- a/gnu/usr.bin/perl/perl/INTERN.h +++ b/gnu/usr.bin/perl/perl/INTERN.h @@ -1,4 +1,4 @@ -/* $RCSfile: INTERN.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:34 $ +/* $RCSfile: INTERN.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:02:47 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: INTERN.h,v $ + * Revision 1.2 1995/05/30 05:02:47 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:34 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/arg.h b/gnu/usr.bin/perl/perl/arg.h index b3f8d5a050ccb..53e5583b1924a 100644 --- a/gnu/usr.bin/perl/perl/arg.h +++ b/gnu/usr.bin/perl/perl/arg.h @@ -1,4 +1,4 @@ -/* $RCSfile: arg.h,v $$Revision: 1.2 $$Date: 1994/09/11 03:17:24 $ +/* $RCSfile: arg.h,v $$Revision: 1.3 $$Date: 1995/05/30 05:02:49 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: arg.h,v $ + * Revision 1.3 1995/05/30 05:02:49 rgrimes + * Remove trailing whitespace. + * * Revision 1.2 1994/09/11 03:17:24 gclarkii * Changed AF_LOCAL to AF_LOCAL_XX so as not to conflict with 4.4 socket.h * Added casts to shutup warnings in doio.c diff --git a/gnu/usr.bin/perl/perl/array.c b/gnu/usr.bin/perl/perl/array.c index a413e3b2a6704..5436decde8f10 100644 --- a/gnu/usr.bin/perl/perl/array.c +++ b/gnu/usr.bin/perl/perl/array.c @@ -1,4 +1,4 @@ -/* $RCSfile: array.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:31 $ +/* $RCSfile: array.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:02:50 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: array.c,v $ + * Revision 1.2 1995/05/30 05:02:50 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:31 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/array.h b/gnu/usr.bin/perl/perl/array.h index 9b2207be765c2..97f97a57b6035 100644 --- a/gnu/usr.bin/perl/perl/array.h +++ b/gnu/usr.bin/perl/perl/array.h @@ -1,4 +1,4 @@ -/* $RCSfile: array.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:34 $ +/* $RCSfile: array.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:02:51 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: array.h,v $ + * Revision 1.2 1995/05/30 05:02:51 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:34 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/cmd.c b/gnu/usr.bin/perl/perl/cmd.c index 162926d0a3165..345258f7d780f 100644 --- a/gnu/usr.bin/perl/perl/cmd.c +++ b/gnu/usr.bin/perl/perl/cmd.c @@ -1,4 +1,4 @@ -/* $RCSfile: cmd.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:32 $ +/* $RCSfile: cmd.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:02:52 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: cmd.c,v $ + * Revision 1.2 1995/05/30 05:02:52 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:32 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/cmd.h b/gnu/usr.bin/perl/perl/cmd.h index da0fa8e7696d0..dc23a7ead278d 100644 --- a/gnu/usr.bin/perl/perl/cmd.h +++ b/gnu/usr.bin/perl/perl/cmd.h @@ -1,4 +1,4 @@ -/* $RCSfile: cmd.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:34 $ +/* $RCSfile: cmd.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:02:54 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: cmd.h,v $ + * Revision 1.2 1995/05/30 05:02:54 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:34 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/cons.c b/gnu/usr.bin/perl/perl/cons.c index bbf783ef7843e..c7de42152a439 100644 --- a/gnu/usr.bin/perl/perl/cons.c +++ b/gnu/usr.bin/perl/perl/cons.c @@ -1,4 +1,4 @@ -/* $RCSfile: cons.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:32 $ +/* $RCSfile: cons.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:02:56 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: cons.c,v $ + * Revision 1.2 1995/05/30 05:02:56 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:32 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/consarg.c b/gnu/usr.bin/perl/perl/consarg.c index d0d59b73c92ab..23b664d985c6a 100644 --- a/gnu/usr.bin/perl/perl/consarg.c +++ b/gnu/usr.bin/perl/perl/consarg.c @@ -1,4 +1,4 @@ -/* $RCSfile: consarg.c,v $$Revision: 1.2 $$Date: 1994/09/11 03:17:29 $ +/* $RCSfile: consarg.c,v $$Revision: 1.3 $$Date: 1995/05/30 05:02:57 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: consarg.c,v $ + * Revision 1.3 1995/05/30 05:02:57 rgrimes + * Remove trailing whitespace. + * * Revision 1.2 1994/09/11 03:17:29 gclarkii * Changed AF_LOCAL to AF_LOCAL_XX so as not to conflict with 4.4 socket.h * Added casts to shutup warnings in doio.c diff --git a/gnu/usr.bin/perl/perl/crypt.c b/gnu/usr.bin/perl/perl/crypt.c index 3e95f452cf7f4..fac3d61b4df57 100644 --- a/gnu/usr.bin/perl/perl/crypt.c +++ b/gnu/usr.bin/perl/perl/crypt.c @@ -36,7 +36,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /* from static char sccsid[] = "@(#)crypt.c 5.11 (Berkeley) 6/25/91"; */ -static char rcsid[] = "$Header: /home/ncvs/src/gnu/usr.bin/perl/perl/crypt.c,v 1.1.1.1 1994/09/10 06:27:37 gclarkii Exp $"; +static char rcsid[] = "$Header: /home/ncvs/src/gnu/usr.bin/perl/perl/crypt.c,v 1.2 1995/05/30 05:02:58 rgrimes Exp $"; #endif /* LIBC_SCCS and not lint */ #include <unistd.h> diff --git a/gnu/usr.bin/perl/perl/doarg.c b/gnu/usr.bin/perl/perl/doarg.c index 2a647875b536a..0f6133887619a 100644 --- a/gnu/usr.bin/perl/perl/doarg.c +++ b/gnu/usr.bin/perl/perl/doarg.c @@ -1,4 +1,4 @@ -/* $RCSfile: doarg.c,v $$Revision: 1.2 $$Date: 1994/09/11 03:17:30 $ +/* $RCSfile: doarg.c,v $$Revision: 1.3 $$Date: 1995/05/30 05:02:59 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: doarg.c,v $ + * Revision 1.3 1995/05/30 05:02:59 rgrimes + * Remove trailing whitespace. + * * Revision 1.2 1994/09/11 03:17:30 gclarkii * Changed AF_LOCAL to AF_LOCAL_XX so as not to conflict with 4.4 socket.h * Added casts to shutup warnings in doio.c diff --git a/gnu/usr.bin/perl/perl/doio.c b/gnu/usr.bin/perl/perl/doio.c index 9c0731f6099f1..e4d17dc0339bc 100644 --- a/gnu/usr.bin/perl/perl/doio.c +++ b/gnu/usr.bin/perl/perl/doio.c @@ -1,4 +1,4 @@ -/* $RCSfile: doio.c,v $$Revision: 1.2 $$Date: 1994/09/11 03:17:32 $ +/* $RCSfile: doio.c,v $$Revision: 1.3 $$Date: 1995/05/30 05:03:00 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: doio.c,v $ + * Revision 1.3 1995/05/30 05:03:00 rgrimes + * Remove trailing whitespace. + * * Revision 1.2 1994/09/11 03:17:32 gclarkii * Changed AF_LOCAL to AF_LOCAL_XX so as not to conflict with 4.4 socket.h * Added casts to shutup warnings in doio.c diff --git a/gnu/usr.bin/perl/perl/dolist.c b/gnu/usr.bin/perl/perl/dolist.c index 448a260ad4e74..59fac1f1e3cb7 100644 --- a/gnu/usr.bin/perl/perl/dolist.c +++ b/gnu/usr.bin/perl/perl/dolist.c @@ -1,4 +1,4 @@ -/* $RCSfile: dolist.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:32 $ +/* $RCSfile: dolist.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:01 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: dolist.c,v $ + * Revision 1.2 1995/05/30 05:03:01 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:32 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/dump.c b/gnu/usr.bin/perl/perl/dump.c index 7a07135efb377..e5f2865000295 100644 --- a/gnu/usr.bin/perl/perl/dump.c +++ b/gnu/usr.bin/perl/perl/dump.c @@ -1,4 +1,4 @@ -/* $RCSfile: dump.c,v $$Revision: 1.2 $$Date: 1994/09/11 03:17:33 $ +/* $RCSfile: dump.c,v $$Revision: 1.3 $$Date: 1995/05/30 05:03:02 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: dump.c,v $ + * Revision 1.3 1995/05/30 05:03:02 rgrimes + * Remove trailing whitespace. + * * Revision 1.2 1994/09/11 03:17:33 gclarkii * Changed AF_LOCAL to AF_LOCAL_XX so as not to conflict with 4.4 socket.h * Added casts to shutup warnings in doio.c diff --git a/gnu/usr.bin/perl/perl/eval.c b/gnu/usr.bin/perl/perl/eval.c index 40155f5549fca..d62e62b66a80b 100644 --- a/gnu/usr.bin/perl/perl/eval.c +++ b/gnu/usr.bin/perl/perl/eval.c @@ -1,4 +1,4 @@ -/* $RCSfile: eval.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:32 $ +/* $RCSfile: eval.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:03 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: eval.c,v $ + * Revision 1.2 1995/05/30 05:03:03 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:32 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/form.c b/gnu/usr.bin/perl/perl/form.c index cfb7aed218c83..a0d87ce3d235d 100644 --- a/gnu/usr.bin/perl/perl/form.c +++ b/gnu/usr.bin/perl/perl/form.c @@ -1,4 +1,4 @@ -/* $RCSfile: form.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:33 $ +/* $RCSfile: form.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:04 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: form.c,v $ + * Revision 1.2 1995/05/30 05:03:04 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:33 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/form.h b/gnu/usr.bin/perl/perl/form.h index 3f63289744cac..39d0a15f36aba 100644 --- a/gnu/usr.bin/perl/perl/form.h +++ b/gnu/usr.bin/perl/perl/form.h @@ -1,4 +1,4 @@ -/* $RCSfile: form.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:34 $ +/* $RCSfile: form.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:05 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: form.h,v $ + * Revision 1.2 1995/05/30 05:03:05 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:34 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/handy.h b/gnu/usr.bin/perl/perl/handy.h index df719841233bc..5509c67739c08 100644 --- a/gnu/usr.bin/perl/perl/handy.h +++ b/gnu/usr.bin/perl/perl/handy.h @@ -1,4 +1,4 @@ -/* $RCSfile: handy.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:34 $ +/* $RCSfile: handy.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:06 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: handy.h,v $ + * Revision 1.2 1995/05/30 05:03:06 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:34 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/hash.c b/gnu/usr.bin/perl/perl/hash.c index 5d9b5940a90df..a8cd4b12e261d 100644 --- a/gnu/usr.bin/perl/perl/hash.c +++ b/gnu/usr.bin/perl/perl/hash.c @@ -1,4 +1,4 @@ -/* $RCSfile: hash.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:33 $ +/* $RCSfile: hash.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:07 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: hash.c,v $ + * Revision 1.2 1995/05/30 05:03:07 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:33 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/hash.h b/gnu/usr.bin/perl/perl/hash.h index ddf2a11b064ea..bfec83b201cdd 100644 --- a/gnu/usr.bin/perl/perl/hash.h +++ b/gnu/usr.bin/perl/perl/hash.h @@ -1,4 +1,4 @@ -/* $RCSfile: hash.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:35 $ +/* $RCSfile: hash.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:08 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: hash.h,v $ + * Revision 1.2 1995/05/30 05:03:08 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:35 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/malloc.c b/gnu/usr.bin/perl/perl/malloc.c index 5cc86d9108825..ccae6d08b6cfe 100644 --- a/gnu/usr.bin/perl/perl/malloc.c +++ b/gnu/usr.bin/perl/perl/malloc.c @@ -1,6 +1,9 @@ -/* $RCSfile: malloc.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:33 $ +/* $RCSfile: malloc.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:09 $ * * $Log: malloc.c,v $ + * Revision 1.2 1995/05/30 05:03:09 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:33 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/perl.1 b/gnu/usr.bin/perl/perl/perl.1 index 38ce017badf65..126f9bea6a295 100644 --- a/gnu/usr.bin/perl/perl/perl.1 +++ b/gnu/usr.bin/perl/perl/perl.1 @@ -1,7 +1,10 @@ .rn '' }` -''' $RCSfile: perl.1,v $$Revision: 1.2 $$Date: 1994/10/27 23:16:52 $ +''' $RCSfile: perl.1,v $$Revision: 1.3 $$Date: 1996/10/05 22:26:23 $ ''' ''' $Log: perl.1,v $ +''' Revision 1.3 1996/10/05 22:26:23 wosch +''' delete doubled words, e.g.: "the the" -> "the" +''' ''' Revision 1.2 1994/10/27 23:16:52 wollman ''' Convince Perl to that is is part of the system, as /usr/bin/perl (binary) ''' and /usr/share/perl (library). The latter was chosen as analogous to other diff --git a/gnu/usr.bin/perl/perl/perl.c b/gnu/usr.bin/perl/perl/perl.c index de956af17499e..5e8afd818a279 100644 --- a/gnu/usr.bin/perl/perl/perl.c +++ b/gnu/usr.bin/perl/perl/perl.c @@ -1,4 +1,4 @@ -char rcsid[] = "$RCSfile: perl.c,v $$Revision: 1.5 $$Date: 1996/06/02 19:59:24 $\nPatch level: ###\n"; +char rcsid[] = "$RCSfile: perl.c,v $$Revision: 1.7 $$Date: 1996/06/30 09:47:56 $\nPatch level: ###\n"; /* * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,11 @@ char rcsid[] = "$RCSfile: perl.c,v $$Revision: 1.5 $$Date: 1996/06/02 19:59:24 $ * License or the Artistic License, as specified in the README file. * * $Log: perl.c,v $ + * Revision 1.7 1996/06/30 09:47:56 joerg + * Back out Nate's changes from rev. 1.6; our Perl has not been + * vulnerable since it used setreuid() as opposed to Posix saved IDs. + * The change broke setuid scripts. + * * Revision 1.5 1996/06/02 19:59:24 gpalmer * Use setreuid instead of seteuid for permissions management * diff --git a/gnu/usr.bin/perl/perl/perl.h b/gnu/usr.bin/perl/perl/perl.h index 7693aa0c81572..25424cca7218d 100644 --- a/gnu/usr.bin/perl/perl/perl.h +++ b/gnu/usr.bin/perl/perl/perl.h @@ -1,4 +1,4 @@ -/* $RCSfile: perl.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:35 $ +/* $RCSfile: perl.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:11 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: perl.h,v $ + * Revision 1.2 1995/05/30 05:03:11 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:35 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/regcomp.c b/gnu/usr.bin/perl/perl/regcomp.c index 0287778f2878a..c264a8ee6e029 100644 --- a/gnu/usr.bin/perl/perl/regcomp.c +++ b/gnu/usr.bin/perl/perl/regcomp.c @@ -7,9 +7,12 @@ * blame Henry for some of the lack of readability. */ -/* $RCSfile: regcomp.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:33 $ +/* $RCSfile: regcomp.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:14 $ * * $Log: regcomp.c,v $ + * Revision 1.2 1995/05/30 05:03:14 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:33 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/regcomp.h b/gnu/usr.bin/perl/perl/regcomp.h index b6b8c182aa3b0..8178189d21e77 100644 --- a/gnu/usr.bin/perl/perl/regcomp.h +++ b/gnu/usr.bin/perl/perl/regcomp.h @@ -1,6 +1,9 @@ -/* $RCSfile: regcomp.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:35 $ +/* $RCSfile: regcomp.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:15 $ * * $Log: regcomp.h,v $ + * Revision 1.2 1995/05/30 05:03:15 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:35 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/regexec.c b/gnu/usr.bin/perl/perl/regexec.c index b8353061b2565..a1f5ebb9eafa4 100644 --- a/gnu/usr.bin/perl/perl/regexec.c +++ b/gnu/usr.bin/perl/perl/regexec.c @@ -7,9 +7,12 @@ * blame Henry for some of the lack of readability. */ -/* $RCSfile: regexec.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:33 $ +/* $RCSfile: regexec.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:16 $ * * $Log: regexec.c,v $ + * Revision 1.2 1995/05/30 05:03:16 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:33 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/regexp.h b/gnu/usr.bin/perl/perl/regexp.h index 634b19b913cef..075db02a5dec7 100644 --- a/gnu/usr.bin/perl/perl/regexp.h +++ b/gnu/usr.bin/perl/perl/regexp.h @@ -5,9 +5,12 @@ * not the System V one. */ -/* $RCSfile: regexp.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:35 $ +/* $RCSfile: regexp.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:17 $ * * $Log: regexp.h,v $ + * Revision 1.2 1995/05/30 05:03:17 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:35 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/spat.h b/gnu/usr.bin/perl/perl/spat.h index 7c392b0de11a4..dea4561b1ea9d 100644 --- a/gnu/usr.bin/perl/perl/spat.h +++ b/gnu/usr.bin/perl/perl/spat.h @@ -1,4 +1,4 @@ -/* $RCSfile: spat.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:35 $ +/* $RCSfile: spat.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:18 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: spat.h,v $ + * Revision 1.2 1995/05/30 05:03:18 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:35 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/stab.c b/gnu/usr.bin/perl/perl/stab.c index e34aa94028b78..bcc1a61dac8f4 100644 --- a/gnu/usr.bin/perl/perl/stab.c +++ b/gnu/usr.bin/perl/perl/stab.c @@ -1,4 +1,4 @@ -/* $RCSfile: stab.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:33 $ +/* $RCSfile: stab.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:19 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: stab.c,v $ + * Revision 1.2 1995/05/30 05:03:19 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:33 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/stab.h b/gnu/usr.bin/perl/perl/stab.h index 9da5a4ac5282e..097657549df9a 100644 --- a/gnu/usr.bin/perl/perl/stab.h +++ b/gnu/usr.bin/perl/perl/stab.h @@ -1,4 +1,4 @@ -/* $RCSfile: stab.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:35 $ +/* $RCSfile: stab.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:20 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: stab.h,v $ + * Revision 1.2 1995/05/30 05:03:20 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:35 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/str.c b/gnu/usr.bin/perl/perl/str.c index 0f8b36d793c7b..216da34f197dc 100644 --- a/gnu/usr.bin/perl/perl/str.c +++ b/gnu/usr.bin/perl/perl/str.c @@ -1,4 +1,4 @@ -/* $RCSfile: str.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:33 $ +/* $RCSfile: str.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:21 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: str.c,v $ + * Revision 1.2 1995/05/30 05:03:21 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:33 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/str.h b/gnu/usr.bin/perl/perl/str.h index 8e95749e246ac..b318add1afb39 100644 --- a/gnu/usr.bin/perl/perl/str.h +++ b/gnu/usr.bin/perl/perl/str.h @@ -1,4 +1,4 @@ -/* $RCSfile: str.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:35 $ +/* $RCSfile: str.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:22 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: str.h,v $ + * Revision 1.2 1995/05/30 05:03:22 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:35 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/t/TEST b/gnu/usr.bin/perl/perl/t/TEST index 957a868c5cdd4..445ab6c4f74a6 100755 --- a/gnu/usr.bin/perl/perl/t/TEST +++ b/gnu/usr.bin/perl/perl/t/TEST @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: TEST,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:01 $ +# $RCSfile: TEST,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:38 $ # This is written in a peculiar style, since we're trying to avoid # most of the constructs we'll be testing for. diff --git a/gnu/usr.bin/perl/perl/t/base/cond.t b/gnu/usr.bin/perl/perl/t/base/cond.t index 7d49f4e9b591d..ec9e3222090f7 100755 --- a/gnu/usr.bin/perl/perl/t/base/cond.t +++ b/gnu/usr.bin/perl/perl/t/base/cond.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/base/cond.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/base/cond.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ # make sure conditional operators work diff --git a/gnu/usr.bin/perl/perl/t/base/if.t b/gnu/usr.bin/perl/perl/t/base/if.t index 2a9b82c77e7d2..627324b86304f 100755 --- a/gnu/usr.bin/perl/perl/t/base/if.t +++ b/gnu/usr.bin/perl/perl/t/base/if.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/base/if.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/base/if.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ print "1..2\n"; diff --git a/gnu/usr.bin/perl/perl/t/base/lex.t b/gnu/usr.bin/perl/perl/t/base/lex.t index cd6321d9f0816..a3535cc91bd56 100755 --- a/gnu/usr.bin/perl/perl/t/base/lex.t +++ b/gnu/usr.bin/perl/perl/t/base/lex.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/base/lex.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/base/lex.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ print "1..18\n"; diff --git a/gnu/usr.bin/perl/perl/t/base/pat.t b/gnu/usr.bin/perl/perl/t/base/pat.t index 2c8d9a9f2b85c..61c0d08fac8aa 100755 --- a/gnu/usr.bin/perl/perl/t/base/pat.t +++ b/gnu/usr.bin/perl/perl/t/base/pat.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/base/pat.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/base/pat.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ print "1..2\n"; diff --git a/gnu/usr.bin/perl/perl/t/base/term.t b/gnu/usr.bin/perl/perl/t/base/term.t index c049c5872364d..aaa59baaccad4 100755 --- a/gnu/usr.bin/perl/perl/t/base/term.t +++ b/gnu/usr.bin/perl/perl/t/base/term.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/base/term.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/base/term.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ print "1..6\n"; diff --git a/gnu/usr.bin/perl/perl/t/cmd/elsif.t b/gnu/usr.bin/perl/perl/t/cmd/elsif.t index 0e3457f6ad1f5..332a16b41de05 100755 --- a/gnu/usr.bin/perl/perl/t/cmd/elsif.t +++ b/gnu/usr.bin/perl/perl/t/cmd/elsif.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/cmd/elsif.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/cmd/elsif.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ sub foo { if ($_[0] == 1) { diff --git a/gnu/usr.bin/perl/perl/t/cmd/for.t b/gnu/usr.bin/perl/perl/t/cmd/for.t index 4a0c9226bae87..4a27fc8a97e97 100755 --- a/gnu/usr.bin/perl/perl/t/cmd/for.t +++ b/gnu/usr.bin/perl/perl/t/cmd/for.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/cmd/for.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/cmd/for.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ print "1..7\n"; diff --git a/gnu/usr.bin/perl/perl/t/cmd/mod.t b/gnu/usr.bin/perl/perl/t/cmd/mod.t index eeb44d97b5d83..0b18a348cbbb0 100755 --- a/gnu/usr.bin/perl/perl/t/cmd/mod.t +++ b/gnu/usr.bin/perl/perl/t/cmd/mod.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/cmd/mod.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/cmd/mod.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ print "1..7\n"; diff --git a/gnu/usr.bin/perl/perl/t/cmd/subval.t b/gnu/usr.bin/perl/perl/t/cmd/subval.t index f7f411b34ab13..e7795f931223c 100755 --- a/gnu/usr.bin/perl/perl/t/cmd/subval.t +++ b/gnu/usr.bin/perl/perl/t/cmd/subval.t @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: subval.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:05 $ +# $RCSfile: subval.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:39 $ sub foo1 { 'true1'; diff --git a/gnu/usr.bin/perl/perl/t/cmd/switch.t b/gnu/usr.bin/perl/perl/t/cmd/switch.t index d0d4c932ad0d9..724d567ca869d 100755 --- a/gnu/usr.bin/perl/perl/t/cmd/switch.t +++ b/gnu/usr.bin/perl/perl/t/cmd/switch.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/cmd/switch.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/cmd/switch.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ print "1..18\n"; diff --git a/gnu/usr.bin/perl/perl/t/cmd/while.t b/gnu/usr.bin/perl/perl/t/cmd/while.t index 006e251a9d2e6..58719f70d14b1 100755 --- a/gnu/usr.bin/perl/perl/t/cmd/while.t +++ b/gnu/usr.bin/perl/perl/t/cmd/while.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/cmd/while.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/cmd/while.t,v 1.1.1.1 1994/09/10 06:27:39 gclarkii Exp $ print "1..10\n"; diff --git a/gnu/usr.bin/perl/perl/t/comp/cmdopt.t b/gnu/usr.bin/perl/perl/t/comp/cmdopt.t index 3c47130602ca0..902126a5dceba 100755 --- a/gnu/usr.bin/perl/perl/t/comp/cmdopt.t +++ b/gnu/usr.bin/perl/perl/t/comp/cmdopt.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/comp/cmdopt.t,v 1.1.1.1 1993/08/23 21:30:06 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/comp/cmdopt.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ print "1..40\n"; diff --git a/gnu/usr.bin/perl/perl/t/comp/cpp.t b/gnu/usr.bin/perl/perl/t/comp/cpp.t index 8cceb73ca8a04..656ea25d3918f 100755 --- a/gnu/usr.bin/perl/perl/t/comp/cpp.t +++ b/gnu/usr.bin/perl/perl/t/comp/cpp.t @@ -1,6 +1,6 @@ #!./perl -P -# $RCSfile: cpp.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:06 $ +# $RCSfile: cpp.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:40 $ open(CONFIG,"../config.sh") || die; while (<CONFIG>) { diff --git a/gnu/usr.bin/perl/perl/t/comp/decl.t b/gnu/usr.bin/perl/perl/t/comp/decl.t index f1c84c2190cec..81f921e576af2 100755 --- a/gnu/usr.bin/perl/perl/t/comp/decl.t +++ b/gnu/usr.bin/perl/perl/t/comp/decl.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/comp/decl.t,v 1.1.1.1 1993/08/23 21:30:07 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/comp/decl.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ # check to see if subroutine declarations work everwhere diff --git a/gnu/usr.bin/perl/perl/t/comp/multiline.t b/gnu/usr.bin/perl/perl/t/comp/multiline.t index 78df482d3e7c9..49e43f77308e1 100755 --- a/gnu/usr.bin/perl/perl/t/comp/multiline.t +++ b/gnu/usr.bin/perl/perl/t/comp/multiline.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/comp/multiline.t,v 1.1.1.1 1993/08/23 21:30:06 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/comp/multiline.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ print "1..5\n"; diff --git a/gnu/usr.bin/perl/perl/t/comp/script.t b/gnu/usr.bin/perl/perl/t/comp/script.t index 9dcf901958561..820230668ee83 100755 --- a/gnu/usr.bin/perl/perl/t/comp/script.t +++ b/gnu/usr.bin/perl/perl/t/comp/script.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/comp/script.t,v 1.1.1.1 1993/08/23 21:30:06 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/comp/script.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ print "1..3\n"; diff --git a/gnu/usr.bin/perl/perl/t/comp/term.t b/gnu/usr.bin/perl/perl/t/comp/term.t index 70b23fd8a6aee..47589f736649f 100755 --- a/gnu/usr.bin/perl/perl/t/comp/term.t +++ b/gnu/usr.bin/perl/perl/t/comp/term.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/comp/term.t,v 1.1.1.1 1993/08/23 21:30:06 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/comp/term.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ # tests that aren't important enough for base.term diff --git a/gnu/usr.bin/perl/perl/t/io/argv.t b/gnu/usr.bin/perl/perl/t/io/argv.t index 99c593620eeed..cc1d6d68ec428 100755 --- a/gnu/usr.bin/perl/perl/t/io/argv.t +++ b/gnu/usr.bin/perl/perl/t/io/argv.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/io/argv.t,v 1.1.1.1 1993/08/23 21:30:06 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/io/argv.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ print "1..5\n"; diff --git a/gnu/usr.bin/perl/perl/t/io/dup.t b/gnu/usr.bin/perl/perl/t/io/dup.t index 8d11eca79973c..efa2055371089 100755 --- a/gnu/usr.bin/perl/perl/t/io/dup.t +++ b/gnu/usr.bin/perl/perl/t/io/dup.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/io/dup.t,v 1.1.1.1 1993/08/23 21:30:06 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/io/dup.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ print "1..6\n"; diff --git a/gnu/usr.bin/perl/perl/t/io/fs.t b/gnu/usr.bin/perl/perl/t/io/fs.t index 1d95cdc3530cc..95f85d5572b31 100755 --- a/gnu/usr.bin/perl/perl/t/io/fs.t +++ b/gnu/usr.bin/perl/perl/t/io/fs.t @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: fs.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:05 $ +# $RCSfile: fs.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:40 $ print "1..22\n"; diff --git a/gnu/usr.bin/perl/perl/t/io/inplace.t b/gnu/usr.bin/perl/perl/t/io/inplace.t index b22afdaa4b98b..82cc096fdae4b 100755 --- a/gnu/usr.bin/perl/perl/t/io/inplace.t +++ b/gnu/usr.bin/perl/perl/t/io/inplace.t @@ -2,7 +2,7 @@ $^I = '.bak'; -# $Header: /home/cvs/386BSD/ports/lang/perl/t/io/inplace.t,v 1.1.1.1 1993/08/23 21:30:05 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/io/inplace.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ print "1..2\n"; diff --git a/gnu/usr.bin/perl/perl/t/io/pipe.t b/gnu/usr.bin/perl/perl/t/io/pipe.t index 791a9c715f85e..d52a4b9293268 100755 --- a/gnu/usr.bin/perl/perl/t/io/pipe.t +++ b/gnu/usr.bin/perl/perl/t/io/pipe.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/io/pipe.t,v 1.1.1.1 1993/08/23 21:30:06 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/io/pipe.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ $| = 1; print "1..8\n"; diff --git a/gnu/usr.bin/perl/perl/t/io/print.t b/gnu/usr.bin/perl/perl/t/io/print.t index 11854427410b7..38e1dcf827a5e 100755 --- a/gnu/usr.bin/perl/perl/t/io/print.t +++ b/gnu/usr.bin/perl/perl/t/io/print.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/io/print.t,v 1.1.1.1 1993/08/23 21:30:06 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/io/print.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ print "1..16\n"; diff --git a/gnu/usr.bin/perl/perl/t/io/tell.t b/gnu/usr.bin/perl/perl/t/io/tell.t index 27e69a0fd7ee4..669a176ad274d 100755 --- a/gnu/usr.bin/perl/perl/t/io/tell.t +++ b/gnu/usr.bin/perl/perl/t/io/tell.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/io/tell.t,v 1.1.1.1 1993/08/23 21:30:06 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/io/tell.t,v 1.1.1.1 1994/09/10 06:27:40 gclarkii Exp $ print "1..13\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/append.t b/gnu/usr.bin/perl/perl/t/op/append.t index 92c6f48e80c4d..3bf47989ccbe4 100755 --- a/gnu/usr.bin/perl/perl/t/op/append.t +++ b/gnu/usr.bin/perl/perl/t/op/append.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/append.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/append.t,v 1.1.1.1 1994/09/10 06:27:41 gclarkii Exp $ print "1..3\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/array.t b/gnu/usr.bin/perl/perl/t/op/array.t index 39e05e3fbbb4e..708f8b9f885af 100755 --- a/gnu/usr.bin/perl/perl/t/op/array.t +++ b/gnu/usr.bin/perl/perl/t/op/array.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/array.t,v 1.1.1.1 1993/08/23 21:30:02 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/array.t,v 1.1.1.1 1994/09/10 06:27:41 gclarkii Exp $ print "1..36\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/auto.t b/gnu/usr.bin/perl/perl/t/op/auto.t index 5301f934d8ed4..4e6f65918bf55 100755 --- a/gnu/usr.bin/perl/perl/t/op/auto.t +++ b/gnu/usr.bin/perl/perl/t/op/auto.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/auto.t,v 1.1.1.1 1993/08/23 21:30:01 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/auto.t,v 1.1.1.1 1994/09/10 06:27:41 gclarkii Exp $ print "1..34\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/chop.t b/gnu/usr.bin/perl/perl/t/op/chop.t index d691d734105bd..86938fb757baf 100755 --- a/gnu/usr.bin/perl/perl/t/op/chop.t +++ b/gnu/usr.bin/perl/perl/t/op/chop.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/chop.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/chop.t,v 1.1.1.1 1994/09/10 06:27:41 gclarkii Exp $ print "1..4\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/cond.t b/gnu/usr.bin/perl/perl/t/op/cond.t index 054a5ff7f0d79..d9277387f5001 100755 --- a/gnu/usr.bin/perl/perl/t/op/cond.t +++ b/gnu/usr.bin/perl/perl/t/op/cond.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/cond.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/cond.t,v 1.1.1.1 1994/09/10 06:27:41 gclarkii Exp $ print "1..4\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/dbm.t b/gnu/usr.bin/perl/perl/t/op/dbm.t index 23d4d98c9412f..f5bd08e15690a 100755 --- a/gnu/usr.bin/perl/perl/t/op/dbm.t +++ b/gnu/usr.bin/perl/perl/t/op/dbm.t @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: dbm.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:02 $ +# $RCSfile: dbm.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:41 $ if (!-r '/usr/include/dbm.h' && !-r '/usr/include/ndbm.h' && !-r '/usr/include/rpcsvc/dbm.h') { diff --git a/gnu/usr.bin/perl/perl/t/op/delete.t b/gnu/usr.bin/perl/perl/t/op/delete.t index e4e1fea106585..4ebeb5e6f2756 100755 --- a/gnu/usr.bin/perl/perl/t/op/delete.t +++ b/gnu/usr.bin/perl/perl/t/op/delete.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/delete.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/delete.t,v 1.1.1.1 1994/09/10 06:27:41 gclarkii Exp $ print "1..6\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/do.t b/gnu/usr.bin/perl/perl/t/op/do.t index 370012c129b13..247925b0cbdb7 100755 --- a/gnu/usr.bin/perl/perl/t/op/do.t +++ b/gnu/usr.bin/perl/perl/t/op/do.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/do.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/do.t,v 1.1.1.1 1994/09/10 06:27:41 gclarkii Exp $ sub foo1 { diff --git a/gnu/usr.bin/perl/perl/t/op/each.t b/gnu/usr.bin/perl/perl/t/op/each.t index 532d1b01f3f42..578638fd5e37d 100755 --- a/gnu/usr.bin/perl/perl/t/op/each.t +++ b/gnu/usr.bin/perl/perl/t/op/each.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/each.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/each.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ print "1..3\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/eval.t b/gnu/usr.bin/perl/perl/t/op/eval.t index b21b44d8354c9..bb3bf1297a22b 100755 --- a/gnu/usr.bin/perl/perl/t/op/eval.t +++ b/gnu/usr.bin/perl/perl/t/op/eval.t @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: eval.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:02 $ +# $RCSfile: eval.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:42 $ print "1..16\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/exec.t b/gnu/usr.bin/perl/perl/t/op/exec.t index 69909f7407909..5fb9f43157c7f 100755 --- a/gnu/usr.bin/perl/perl/t/op/exec.t +++ b/gnu/usr.bin/perl/perl/t/op/exec.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/exec.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/exec.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ $| = 1; # flush stdout print "1..8\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/exp.t b/gnu/usr.bin/perl/perl/t/op/exp.t index 2195e54067d6a..26b1ee671aa6e 100755 --- a/gnu/usr.bin/perl/perl/t/op/exp.t +++ b/gnu/usr.bin/perl/perl/t/op/exp.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/exp.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/exp.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ print "1..6\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/flip.t b/gnu/usr.bin/perl/perl/t/op/flip.t index 74ba5085ac5f4..a38a60fbf914c 100755 --- a/gnu/usr.bin/perl/perl/t/op/flip.t +++ b/gnu/usr.bin/perl/perl/t/op/flip.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/flip.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/flip.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ print "1..8\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/fork.t b/gnu/usr.bin/perl/perl/t/op/fork.t index 10b54a2a2c5b3..0024a33544d0f 100755 --- a/gnu/usr.bin/perl/perl/t/op/fork.t +++ b/gnu/usr.bin/perl/perl/t/op/fork.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/fork.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/fork.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ $| = 1; print "1..2\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/glob.t b/gnu/usr.bin/perl/perl/t/op/glob.t index 68b0844cad74e..e467249ca4cf9 100755 --- a/gnu/usr.bin/perl/perl/t/op/glob.t +++ b/gnu/usr.bin/perl/perl/t/op/glob.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/glob.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/glob.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ print "1..4\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/goto.t b/gnu/usr.bin/perl/perl/t/op/goto.t index 44ef343201e44..8bd9ace214bba 100755 --- a/gnu/usr.bin/perl/perl/t/op/goto.t +++ b/gnu/usr.bin/perl/perl/t/op/goto.t @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: goto.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:03 $ +# $RCSfile: goto.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:42 $ print "1..3\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/index.t b/gnu/usr.bin/perl/perl/t/op/index.t index 769314b5e37fe..a663ec36ad331 100755 --- a/gnu/usr.bin/perl/perl/t/op/index.t +++ b/gnu/usr.bin/perl/perl/t/op/index.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/index.t,v 1.1.1.1 1993/08/23 21:30:01 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/index.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ print "1..20\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/int.t b/gnu/usr.bin/perl/perl/t/op/int.t index 09434b8675a61..1a5a2a023fdb3 100755 --- a/gnu/usr.bin/perl/perl/t/op/int.t +++ b/gnu/usr.bin/perl/perl/t/op/int.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/int.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/int.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ print "1..4\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/join.t b/gnu/usr.bin/perl/perl/t/op/join.t index a6678e979011a..d79b341a13450 100755 --- a/gnu/usr.bin/perl/perl/t/op/join.t +++ b/gnu/usr.bin/perl/perl/t/op/join.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/join.t,v 1.1.1.1 1993/08/23 21:30:02 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/join.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ print "1..3\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/list.t b/gnu/usr.bin/perl/perl/t/op/list.t index 52b2347bfd309..850709da569c7 100755 --- a/gnu/usr.bin/perl/perl/t/op/list.t +++ b/gnu/usr.bin/perl/perl/t/op/list.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/list.t,v 1.1.1.1 1993/08/23 21:30:02 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/list.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ print "1..27\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/local.t b/gnu/usr.bin/perl/perl/t/op/local.t index 67396e7cddebe..a962f44533c44 100755 --- a/gnu/usr.bin/perl/perl/t/op/local.t +++ b/gnu/usr.bin/perl/perl/t/op/local.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/local.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/local.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ print "1..20\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/magic.t b/gnu/usr.bin/perl/perl/t/op/magic.t index 1f47a9936ace1..e3ae1045a10a3 100755 --- a/gnu/usr.bin/perl/perl/t/op/magic.t +++ b/gnu/usr.bin/perl/perl/t/op/magic.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/magic.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/magic.t,v 1.1.1.1 1994/09/10 06:27:42 gclarkii Exp $ $| = 1; # command buffering diff --git a/gnu/usr.bin/perl/perl/t/op/mkdir.t b/gnu/usr.bin/perl/perl/t/op/mkdir.t index 0290ed4e5bbc3..17660b378ef6e 100755 --- a/gnu/usr.bin/perl/perl/t/op/mkdir.t +++ b/gnu/usr.bin/perl/perl/t/op/mkdir.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/mkdir.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/mkdir.t,v 1.1.1.1 1994/09/10 06:27:43 gclarkii Exp $ print "1..7\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/oct.t b/gnu/usr.bin/perl/perl/t/op/oct.t index 9322cf0e73e10..f26ddbe8d9848 100755 --- a/gnu/usr.bin/perl/perl/t/op/oct.t +++ b/gnu/usr.bin/perl/perl/t/op/oct.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/oct.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/oct.t,v 1.1.1.1 1994/09/10 06:27:43 gclarkii Exp $ print "1..3\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/ord.t b/gnu/usr.bin/perl/perl/t/op/ord.t index 9d319882d4fe9..e766c85bfbc99 100755 --- a/gnu/usr.bin/perl/perl/t/op/ord.t +++ b/gnu/usr.bin/perl/perl/t/op/ord.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/ord.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/ord.t,v 1.1.1.1 1994/09/10 06:27:43 gclarkii Exp $ print "1..2\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/pack.t b/gnu/usr.bin/perl/perl/t/op/pack.t index 1dfaddf370efb..90faade78df65 100755 --- a/gnu/usr.bin/perl/perl/t/op/pack.t +++ b/gnu/usr.bin/perl/perl/t/op/pack.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/pack.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/pack.t,v 1.1.1.1 1994/09/10 06:27:43 gclarkii Exp $ print "1..3\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/pat.t b/gnu/usr.bin/perl/perl/t/op/pat.t index ce9f35c6ee668..c6d6a50f86324 100755 --- a/gnu/usr.bin/perl/perl/t/op/pat.t +++ b/gnu/usr.bin/perl/perl/t/op/pat.t @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: pat.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:01 $ +# $RCSfile: pat.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:43 $ print "1..51\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/push.t b/gnu/usr.bin/perl/perl/t/op/push.t index 3d738acfbda31..105f07f1b9453 100755 --- a/gnu/usr.bin/perl/perl/t/op/push.t +++ b/gnu/usr.bin/perl/perl/t/op/push.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/push.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/push.t,v 1.1.1.1 1994/09/10 06:27:43 gclarkii Exp $ @tests = split(/\n/, <<EOF); 0 3, 0 1 2, 3 4 5 6 7 diff --git a/gnu/usr.bin/perl/perl/t/op/range.t b/gnu/usr.bin/perl/perl/t/op/range.t index 6214f9527b994..e40e436df130f 100755 --- a/gnu/usr.bin/perl/perl/t/op/range.t +++ b/gnu/usr.bin/perl/perl/t/op/range.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/range.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/range.t,v 1.1.1.1 1994/09/10 06:27:43 gclarkii Exp $ print "1..8\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/read.t b/gnu/usr.bin/perl/perl/t/op/read.t index 4151e5c6a6746..471a2a85a46c8 100755 --- a/gnu/usr.bin/perl/perl/t/op/read.t +++ b/gnu/usr.bin/perl/perl/t/op/read.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/read.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/read.t,v 1.1.1.1 1994/09/10 06:27:43 gclarkii Exp $ print "1..4\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/regexp.t b/gnu/usr.bin/perl/perl/t/op/regexp.t index 58f6666e6949d..3b5ea3521d63e 100755 --- a/gnu/usr.bin/perl/perl/t/op/regexp.t +++ b/gnu/usr.bin/perl/perl/t/op/regexp.t @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: regexp.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:03 $ +# $RCSfile: regexp.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:43 $ open(TESTS,'op/re_tests') || open(TESTS,'t/op/re_tests') || die "Can't open re_tests"; diff --git a/gnu/usr.bin/perl/perl/t/op/repeat.t b/gnu/usr.bin/perl/perl/t/op/repeat.t index 68c61fc6a05e2..c06aa00b71c1e 100755 --- a/gnu/usr.bin/perl/perl/t/op/repeat.t +++ b/gnu/usr.bin/perl/perl/t/op/repeat.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/repeat.t,v 1.1.1.1 1993/08/23 21:30:02 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/repeat.t,v 1.1.1.1 1994/09/10 06:27:43 gclarkii Exp $ print "1..19\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/s.t b/gnu/usr.bin/perl/perl/t/op/s.t index 59300209cd39c..3a8a3ded864de 100755 --- a/gnu/usr.bin/perl/perl/t/op/s.t +++ b/gnu/usr.bin/perl/perl/t/op/s.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/s.t,v 1.1.1.1 1993/08/23 21:30:01 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/s.t,v 1.1.1.1 1994/09/10 06:27:43 gclarkii Exp $ print "1..51\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/sleep.t b/gnu/usr.bin/perl/perl/t/op/sleep.t index 81113712d3435..5ae30739672c4 100755 --- a/gnu/usr.bin/perl/perl/t/op/sleep.t +++ b/gnu/usr.bin/perl/perl/t/op/sleep.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/sleep.t,v 1.1.1.1 1993/08/23 21:30:04 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/sleep.t,v 1.1.1.1 1994/09/10 06:27:45 gclarkii Exp $ print "1..1\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/sort.t b/gnu/usr.bin/perl/perl/t/op/sort.t index 4692ee4422fb0..10a7e375ee16f 100755 --- a/gnu/usr.bin/perl/perl/t/op/sort.t +++ b/gnu/usr.bin/perl/perl/t/op/sort.t @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: sort.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:02 $ +# $RCSfile: sort.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:46 $ print "1..10\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/split.t b/gnu/usr.bin/perl/perl/t/op/split.t index 63bf3c7c76da8..89834b39aef94 100755 --- a/gnu/usr.bin/perl/perl/t/op/split.t +++ b/gnu/usr.bin/perl/perl/t/op/split.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/split.t,v 1.1.1.1 1993/08/23 21:30:02 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/split.t,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ print "1..12\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/sprintf.t b/gnu/usr.bin/perl/perl/t/op/sprintf.t index cdb4af5a2244e..d2760227f0ec9 100755 --- a/gnu/usr.bin/perl/perl/t/op/sprintf.t +++ b/gnu/usr.bin/perl/perl/t/op/sprintf.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/sprintf.t,v 1.1.1.1 1993/08/23 21:30:01 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/sprintf.t,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ print "1..1\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/stat.t b/gnu/usr.bin/perl/perl/t/op/stat.t index a5db14fd124ed..2cfff01709508 100755 --- a/gnu/usr.bin/perl/perl/t/op/stat.t +++ b/gnu/usr.bin/perl/perl/t/op/stat.t @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: stat.t,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:01 $ +# $RCSfile: stat.t,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:46 $ print "1..56\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/study.t b/gnu/usr.bin/perl/perl/t/op/study.t index a0fdc4cd273c7..7f7ba3576e734 100755 --- a/gnu/usr.bin/perl/perl/t/op/study.t +++ b/gnu/usr.bin/perl/perl/t/op/study.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/study.t,v 1.1.1.1 1993/08/23 21:30:02 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/study.t,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ print "1..24\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/substr.t b/gnu/usr.bin/perl/perl/t/op/substr.t index 09f312f837628..1de2da75ba852 100755 --- a/gnu/usr.bin/perl/perl/t/op/substr.t +++ b/gnu/usr.bin/perl/perl/t/op/substr.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/substr.t,v 1.1.1.1 1993/08/23 21:30:01 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/substr.t,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ print "1..22\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/time.t b/gnu/usr.bin/perl/perl/t/op/time.t index f8e5545f7b418..e48de9057baa5 100755 --- a/gnu/usr.bin/perl/perl/t/op/time.t +++ b/gnu/usr.bin/perl/perl/t/op/time.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/time.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/time.t,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ print "1..5\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/undef.t b/gnu/usr.bin/perl/perl/t/op/undef.t index b4827db0c5475..0d263090a380a 100755 --- a/gnu/usr.bin/perl/perl/t/op/undef.t +++ b/gnu/usr.bin/perl/perl/t/op/undef.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/undef.t,v 1.1.1.1 1993/08/23 21:30:02 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/undef.t,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ print "1..21\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/unshift.t b/gnu/usr.bin/perl/perl/t/op/unshift.t index 53d73883822bf..fcdf9e8070ae0 100755 --- a/gnu/usr.bin/perl/perl/t/op/unshift.t +++ b/gnu/usr.bin/perl/perl/t/op/unshift.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/unshift.t,v 1.1.1.1 1993/08/23 21:30:02 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/unshift.t,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ print "1..2\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/vec.t b/gnu/usr.bin/perl/perl/t/op/vec.t index 51344769b6cfb..94113edd66ce3 100755 --- a/gnu/usr.bin/perl/perl/t/op/vec.t +++ b/gnu/usr.bin/perl/perl/t/op/vec.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/vec.t,v 1.1.1.1 1993/08/23 21:30:03 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/vec.t,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ print "1..13\n"; diff --git a/gnu/usr.bin/perl/perl/t/op/write.t b/gnu/usr.bin/perl/perl/t/op/write.t index d17f1951bb760..f1b7fdd0d8624 100755 --- a/gnu/usr.bin/perl/perl/t/op/write.t +++ b/gnu/usr.bin/perl/perl/t/op/write.t @@ -1,6 +1,6 @@ #!./perl -# $Header: /home/cvs/386BSD/ports/lang/perl/t/op/write.t,v 1.1.1.1 1993/08/23 21:30:02 nate Exp $ +# $Header: /home/ncvs/src/gnu/usr.bin/perl/perl/t/op/write.t,v 1.1.1.1 1994/09/10 06:27:46 gclarkii Exp $ print "1..3\n"; diff --git a/gnu/usr.bin/perl/perl/tdoio.c b/gnu/usr.bin/perl/perl/tdoio.c index 1cd6269e8c70a..d2d58e16d271d 100644 --- a/gnu/usr.bin/perl/perl/tdoio.c +++ b/gnu/usr.bin/perl/perl/tdoio.c @@ -1,4 +1,4 @@ -/* $RCSfile: tdoio.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:36 $ +/* $RCSfile: tdoio.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:23 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: tdoio.c,v $ + * Revision 1.2 1995/05/30 05:03:23 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:36 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/toke.c b/gnu/usr.bin/perl/perl/toke.c index bf2e1163f27bd..e068a0b1131a7 100644 --- a/gnu/usr.bin/perl/perl/toke.c +++ b/gnu/usr.bin/perl/perl/toke.c @@ -1,4 +1,4 @@ -/* $RCSfile: toke.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:34 $ +/* $RCSfile: toke.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:26 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: toke.c,v $ + * Revision 1.2 1995/05/30 05:03:26 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:34 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/usersub.c b/gnu/usr.bin/perl/perl/usersub.c index 8c7cb65c47f6f..f49eda39b9704 100644 --- a/gnu/usr.bin/perl/perl/usersub.c +++ b/gnu/usr.bin/perl/perl/usersub.c @@ -1,10 +1,13 @@ -/* $RCSfile: usersub.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:34 $ +/* $RCSfile: usersub.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:27 $ * * This file contains stubs for routines that the user may define to * set up glue routines for C libraries or to decrypt encrypted scripts * for execution. * * $Log: usersub.c,v $ + * Revision 1.2 1995/05/30 05:03:27 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:34 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/util.c b/gnu/usr.bin/perl/perl/util.c index fd4b43602934a..e44800dd2e06b 100644 --- a/gnu/usr.bin/perl/perl/util.c +++ b/gnu/usr.bin/perl/perl/util.c @@ -1,4 +1,4 @@ -/* $RCSfile: util.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:34 $ +/* $RCSfile: util.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:28 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: util.c,v $ + * Revision 1.2 1995/05/30 05:03:28 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:34 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/perl/util.h b/gnu/usr.bin/perl/perl/util.h index 003e443860104..b3c1db512881e 100644 --- a/gnu/usr.bin/perl/perl/util.h +++ b/gnu/usr.bin/perl/perl/util.h @@ -1,4 +1,4 @@ -/* $RCSfile: util.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:35 $ +/* $RCSfile: util.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:29 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: util.h,v $ + * Revision 1.2 1995/05/30 05:03:29 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:35 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/usub/curses.mus b/gnu/usr.bin/perl/usub/curses.mus index 03269c3415e93..898f7376abd25 100644 --- a/gnu/usr.bin/perl/usub/curses.mus +++ b/gnu/usr.bin/perl/usub/curses.mus @@ -1,6 +1,9 @@ -/* $RCSfile: curses.mus,v $$Revision: 1.1 $$Date: 1995/03/24 04:33:49 $ +/* $RCSfile: curses.mus,v $$Revision: 1.2 $$Date: 1995/04/02 13:11:14 $ * * $Log: curses.mus,v $ + * Revision 1.2 1995/04/02 13:11:14 bde + * Fix compiler warnings: don't declare enum types as static. + * # Revision 1.1 1995/03/24 04:33:49 jkh # Bring back perl/usub as usub/, this time containing an updated curseperl # which is also installed by default (the reason for which should also be diff --git a/gnu/usr.bin/perl/usub/usersub.c b/gnu/usr.bin/perl/usub/usersub.c index 26fbcbccf62ef..786ad2721a975 100644 --- a/gnu/usr.bin/perl/usub/usersub.c +++ b/gnu/usr.bin/perl/usub/usersub.c @@ -1,6 +1,9 @@ -/* $RCSfile: usersub.c,v $$Revision: 1.1 $$Date: 1995/03/24 04:33:54 $ +/* $RCSfile: usersub.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:33 $ * * $Log: usersub.c,v $ + * Revision 1.2 1995/05/30 05:03:33 rgrimes + * Remove trailing whitespace. + * * Revision 1.1 1995/03/24 04:33:54 jkh * Bring back perl/usub as usub/, this time containing an updated curseperl * which is also installed by default (the reason for which should also be diff --git a/gnu/usr.bin/perl/x2p/EXTERN.h b/gnu/usr.bin/perl/x2p/EXTERN.h index b0bb6d0162fb7..cbc5ca6543df5 100644 --- a/gnu/usr.bin/perl/x2p/EXTERN.h +++ b/gnu/usr.bin/perl/x2p/EXTERN.h @@ -1,4 +1,4 @@ -/* $RCSfile: EXTERN.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:54 $ +/* $RCSfile: EXTERN.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:35 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: EXTERN.h,v $ + * Revision 1.2 1995/05/30 05:03:35 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:54 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/INTERN.h b/gnu/usr.bin/perl/x2p/INTERN.h index d8a8a3e2a349a..38ee58f87c943 100644 --- a/gnu/usr.bin/perl/x2p/INTERN.h +++ b/gnu/usr.bin/perl/x2p/INTERN.h @@ -1,4 +1,4 @@ -/* $RCSfile: INTERN.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:54 $ +/* $RCSfile: INTERN.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:36 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: INTERN.h,v $ + * Revision 1.2 1995/05/30 05:03:36 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:54 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/a2p.1 b/gnu/usr.bin/perl/x2p/a2p.1 index 58d8c077fafdc..19da253f3e712 100644 --- a/gnu/usr.bin/perl/x2p/a2p.1 +++ b/gnu/usr.bin/perl/x2p/a2p.1 @@ -1,7 +1,10 @@ .rn '' }` -''' $Header: /home/cvs/386BSD/ports/lang/perl/x2p/a2p.man,v 1.1.1.1 1993/08/23 21:30:10 nate Exp $ +''' $Header: /home/ncvs/src/gnu/usr.bin/perl/x2p/a2p.1,v 1.1.1.1 1994/09/10 06:27:55 gclarkii Exp $ ''' -''' $Log: a2p.man,v $ +''' $Log: a2p.1,v $ +''' Revision 1.1.1.1 1994/09/10 06:27:55 gclarkii +''' Initial import of Perl 4.046 bmaked +''' .\" Revision 1.1.1.1 1993/08/23 21:30:10 nate .\" PERL! .\" diff --git a/gnu/usr.bin/perl/x2p/a2p.h b/gnu/usr.bin/perl/x2p/a2p.h index cc59fb7ddf8ed..02ce43557b55e 100644 --- a/gnu/usr.bin/perl/x2p/a2p.h +++ b/gnu/usr.bin/perl/x2p/a2p.h @@ -1,4 +1,4 @@ -/* $RCSfile: a2p.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:53 $ +/* $RCSfile: a2p.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:37 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: a2p.h,v $ + * Revision 1.2 1995/05/30 05:03:37 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:53 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/a2p.y b/gnu/usr.bin/perl/x2p/a2p.y index bc86632dd417b..d41e5153bd6bf 100644 --- a/gnu/usr.bin/perl/x2p/a2p.y +++ b/gnu/usr.bin/perl/x2p/a2p.y @@ -1,5 +1,5 @@ %{ -/* $RCSfile: a2p.y,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:09 $ +/* $RCSfile: a2p.y,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:53 $ * * Copyright (c) 1991, Larry Wall * @@ -7,6 +7,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: a2p.y,v $ + * Revision 1.1.1.1 1994/09/10 06:27:53 gclarkii + * Initial import of Perl 4.046 bmaked + * * Revision 1.1.1.1 1993/08/23 21:30:09 nate * PERL! * diff --git a/gnu/usr.bin/perl/x2p/a2py.c b/gnu/usr.bin/perl/x2p/a2py.c index fcc196b640f22..1a873591a85d3 100644 --- a/gnu/usr.bin/perl/x2p/a2py.c +++ b/gnu/usr.bin/perl/x2p/a2py.c @@ -1,4 +1,4 @@ -/* $RCSfile: a2py.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:53 $ +/* $RCSfile: a2py.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:38 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: a2py.c,v $ + * Revision 1.2 1995/05/30 05:03:38 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:53 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/handy.h b/gnu/usr.bin/perl/x2p/handy.h index 1db94d4bfae27..b732e5e8ddc25 100644 --- a/gnu/usr.bin/perl/x2p/handy.h +++ b/gnu/usr.bin/perl/x2p/handy.h @@ -1,4 +1,4 @@ -/* $RCSfile: handy.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:54 $ +/* $RCSfile: handy.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:40 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: handy.h,v $ + * Revision 1.2 1995/05/30 05:03:40 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:54 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/hash.c b/gnu/usr.bin/perl/x2p/hash.c index d1ae8ac44a560..fe1dee0444d9e 100644 --- a/gnu/usr.bin/perl/x2p/hash.c +++ b/gnu/usr.bin/perl/x2p/hash.c @@ -1,4 +1,4 @@ -/* $RCSfile: hash.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:54 $ +/* $RCSfile: hash.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:40 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: hash.c,v $ + * Revision 1.2 1995/05/30 05:03:40 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:54 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/hash.h b/gnu/usr.bin/perl/x2p/hash.h index 452321cd557c3..ec91d4bfb4b94 100644 --- a/gnu/usr.bin/perl/x2p/hash.h +++ b/gnu/usr.bin/perl/x2p/hash.h @@ -1,4 +1,4 @@ -/* $RCSfile: hash.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:54 $ +/* $RCSfile: hash.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:42 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: hash.h,v $ + * Revision 1.2 1995/05/30 05:03:42 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:54 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/malloc.c b/gnu/usr.bin/perl/x2p/malloc.c index e7fff7f25c0f1..f57169d2570bf 100644 --- a/gnu/usr.bin/perl/x2p/malloc.c +++ b/gnu/usr.bin/perl/x2p/malloc.c @@ -1,6 +1,9 @@ -/* $RCSfile: malloc.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:54 $ +/* $RCSfile: malloc.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:43 $ * * $Log: malloc.c,v $ + * Revision 1.2 1995/05/30 05:03:43 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:54 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/s2p b/gnu/usr.bin/perl/x2p/s2p index c110e5ef5720e..1af6834c7c424 100755 --- a/gnu/usr.bin/perl/x2p/s2p +++ b/gnu/usr.bin/perl/x2p/s2p @@ -5,9 +5,20 @@ eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' $bin = '/usr/bin'; -# $RCSfile: s2p,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:54 $ +# $RCSfile: s2p,v $$Revision: 1.2 $$Date: 1994/10/29 07:14:55 $ # # $Log: s2p,v $ +# Revision 1.2 1994/10/29 07:14:55 pst +# Test test test! sigh! +# +# Perl's scripts are still trying to execute perl out of /usr/gnu/bin/perl. +# +# The hack Larry was using for h2ph.1 doesn't work with the new macros, so +# make it a real man page. +# +# Also, we weren't building the .ph files, add them as an afterinstall rule +# in the x2p subdirectory. +# # Revision 1.1.1.1 1994/09/10 06:27:54 gclarkii # Initial import of Perl 4.046 bmaked # diff --git a/gnu/usr.bin/perl/x2p/s2p.1 b/gnu/usr.bin/perl/x2p/s2p.1 index ab74717833fc2..9948dfa389569 100644 --- a/gnu/usr.bin/perl/x2p/s2p.1 +++ b/gnu/usr.bin/perl/x2p/s2p.1 @@ -1,7 +1,10 @@ .rn '' }` -''' $RCSfile: s2p.man,v $$Revision: 1.1.1.1 $$Date: 1993/08/23 21:30:10 $ +''' $RCSfile: s2p.1,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:53 $ ''' -''' $Log: s2p.man,v $ +''' $Log: s2p.1,v $ +''' Revision 1.1.1.1 1994/09/10 06:27:53 gclarkii +''' Initial import of Perl 4.046 bmaked +''' .\" Revision 1.1.1.1 1993/08/23 21:30:10 nate .\" PERL! .\" diff --git a/gnu/usr.bin/perl/x2p/str.c b/gnu/usr.bin/perl/x2p/str.c index 4e078a6600fe3..f30ca028dea1a 100644 --- a/gnu/usr.bin/perl/x2p/str.c +++ b/gnu/usr.bin/perl/x2p/str.c @@ -1,4 +1,4 @@ -/* $RCSfile: str.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:54 $ +/* $RCSfile: str.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:44 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: str.c,v $ + * Revision 1.2 1995/05/30 05:03:44 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:54 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/str.h b/gnu/usr.bin/perl/x2p/str.h index 642e18e664008..052677e7074ea 100644 --- a/gnu/usr.bin/perl/x2p/str.h +++ b/gnu/usr.bin/perl/x2p/str.h @@ -1,4 +1,4 @@ -/* $RCSfile: str.h,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:55 $ +/* $RCSfile: str.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:45 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: str.h,v $ + * Revision 1.2 1995/05/30 05:03:45 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:55 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/util.c b/gnu/usr.bin/perl/x2p/util.c index 70a6cd7a647ff..2ef137bf7dc81 100644 --- a/gnu/usr.bin/perl/x2p/util.c +++ b/gnu/usr.bin/perl/x2p/util.c @@ -1,4 +1,4 @@ -/* $RCSfile: util.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:55 $ +/* $RCSfile: util.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:45 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: util.c,v $ + * Revision 1.2 1995/05/30 05:03:45 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:55 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/perl/x2p/util.h b/gnu/usr.bin/perl/x2p/util.h index 17a689a33bf26..722bbdbd35fcb 100644 --- a/gnu/usr.bin/perl/x2p/util.h +++ b/gnu/usr.bin/perl/x2p/util.h @@ -1,4 +1,4 @@ -/* $RCSfile: util.h,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:46 $ +/* $RCSfile: util.h,v $$Revision: 1.2.6.1 $$Date: 1997/02/23 11:46:32 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: util.h,v $ + * Revision 1.2.6.1 1997/02/23 11:46:32 joerg + * YAMFC (rev 1.3: remove bogus redeclaration of getenv()) + * * Revision 1.2 1995/05/30 05:03:46 rgrimes * Remove trailing whitespace. * diff --git a/gnu/usr.bin/perl/x2p/walk.c b/gnu/usr.bin/perl/x2p/walk.c index c7e5e4445bf57..d1ac02e19727c 100644 --- a/gnu/usr.bin/perl/x2p/walk.c +++ b/gnu/usr.bin/perl/x2p/walk.c @@ -1,4 +1,4 @@ -/* $RCSfile: walk.c,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:55 $ +/* $RCSfile: walk.c,v $$Revision: 1.2 $$Date: 1995/05/30 05:03:47 $ * * Copyright (c) 1991, Larry Wall * @@ -6,6 +6,9 @@ * License or the Artistic License, as specified in the README file. * * $Log: walk.c,v $ + * Revision 1.2 1995/05/30 05:03:47 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/10 06:27:55 gclarkii * Initial import of Perl 4.046 bmaked * diff --git a/gnu/usr.bin/rcs/CREDITS b/gnu/usr.bin/rcs/CREDITS index 6eca1b9c68bb2..8675fb3bac8b8 100644 --- a/gnu/usr.bin/rcs/CREDITS +++ b/gnu/usr.bin/rcs/CREDITS @@ -21,4 +21,4 @@ Brendan Kehoe of Cygnus Support suggested rlog's -N option. Paul D. Smith of Data General suggested improvements in option and error processing. Adam Hammer of Purdue QAed. -$Id: CREDITS,v 1.1 1993/11/03 17:50:39 eggert Exp $ +$Id: CREDITS,v 1.2 1995/10/28 21:48:56 peter Exp $ diff --git a/gnu/usr.bin/rcs/NEWS b/gnu/usr.bin/rcs/NEWS index 62b7c2b0b814d..d7d08212c14fa 100644 --- a/gnu/usr.bin/rcs/NEWS +++ b/gnu/usr.bin/rcs/NEWS @@ -1,6 +1,6 @@ Recent changes to RCS (and possible future changes) - $Id: NEWS,v 1.5 1995/06/16 06:19:24 eggert Exp $ + $Id: NEWS,v 1.2 1995/10/28 21:48:59 peter Exp $ Copyright 1991, 1992, 1993, 1994, 1995 Paul Eggert Distributed under license by the Free Software Foundation, Inc. diff --git a/gnu/usr.bin/rcs/REFS b/gnu/usr.bin/rcs/REFS index eaf96a5a1f2bf..dc33becec8f8d 100644 --- a/gnu/usr.bin/rcs/REFS +++ b/gnu/usr.bin/rcs/REFS @@ -2,7 +2,7 @@ Here are references to RCS and related free software and documentation. Some of this information changes often; see the Frequently Asked Questions for more up-to-date references. - $Id: REFS,v 1.1 1995/06/16 06:19:24 eggert Exp $ + $Id: REFS,v 1.2 1995/10/28 21:49:02 peter Exp $ Frequently Asked Questions (FAQs) diff --git a/gnu/usr.bin/rcs/ci/ci.1 b/gnu/usr.bin/rcs/ci/ci.1 index b11cf8d68b4e7..bb04f11f16ac8 100644 --- a/gnu/usr.bin/rcs/ci/ci.1 +++ b/gnu/usr.bin/rcs/ci/ci.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: ci.1,v 1.2 1995/10/28 21:49:06 peter Exp $ +.Id $Id: ci.1,v 1.3 1996/02/12 04:56:44 mpp Exp $ .ds i \&\s-1ISO\s0 .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 diff --git a/gnu/usr.bin/rcs/ci/ci.c b/gnu/usr.bin/rcs/ci/ci.c index 701b15cde1d03..0556566d6e655 100644 --- a/gnu/usr.bin/rcs/ci/ci.c +++ b/gnu/usr.bin/rcs/ci/ci.c @@ -274,7 +274,7 @@ static struct hshentry newdelta; /* new delta to be inserted */ static struct stat workstat; static struct Symrev *assoclst, **nextassoc; -mainProg(ciId, "ci", "$Id: ci.c,v 1.3 1995/10/28 21:49:08 peter Exp $") +mainProg(ciId, "ci", "$Id: ci.c,v 1.4 1995/10/29 22:05:59 peter Exp $") { static char const cmdusage[] = "\nci usage: ci -{fIklMqru}[rev] -d[date] -mmsg -{nN}name -sstate -ttext -T -Vn -wwho -xsuff -zzone file ..."; diff --git a/gnu/usr.bin/rcs/co/co.1 b/gnu/usr.bin/rcs/co/co.1 index 8d0a6e70d5e8f..82b1aad778ec6 100644 --- a/gnu/usr.bin/rcs/co/co.1 +++ b/gnu/usr.bin/rcs/co/co.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: co.1,v 5.13 1995/06/01 16:23:43 eggert Exp $ +.Id $Id: co.1,v 1.3 1995/10/28 21:49:11 peter Exp $ .ds i \&\s-1ISO\s0 .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 diff --git a/gnu/usr.bin/rcs/co/co.c b/gnu/usr.bin/rcs/co/co.c index 91da3ef47dfa4..57d48094fe5b9 100644 --- a/gnu/usr.bin/rcs/co/co.c +++ b/gnu/usr.bin/rcs/co/co.c @@ -191,7 +191,7 @@ static struct hshentries *gendeltas; /* deltas to be generated */ static struct hshentry *targetdelta; /* final delta to be generated */ static struct stat workstat; -mainProg(coId, "co", "$Id: co.c,v 1.5 1995/10/29 19:31:07 peter Exp $") +mainProg(coId, "co", "$Id: co.c,v 1.6 1995/10/29 22:06:03 peter Exp $") { static char const cmdusage[] = "\nco usage: co -{fIlMpqru}[rev] -ddate -jjoins -ksubst -sstate -T -w[who] -Vn -xsuff -zzone file ..."; diff --git a/gnu/usr.bin/rcs/doc/rcs.ms b/gnu/usr.bin/rcs/doc/rcs.ms index 1c908100c5c0b..856a6fc3fee8f 100644 --- a/gnu/usr.bin/rcs/doc/rcs.ms +++ b/gnu/usr.bin/rcs/doc/rcs.ms @@ -18,7 +18,7 @@ .de Id .ND \\$4 .. -.Id $Id: rcs.ms,v 5.4 1995/06/01 16:23:43 eggert Exp $ +.Id $Id: rcs.ms,v 1.2 1995/10/28 21:49:15 peter Exp $ .RP .TL RCS\*-A System for Version Control diff --git a/gnu/usr.bin/rcs/ident/ident.1 b/gnu/usr.bin/rcs/ident/ident.1 index 33c10eb8126dc..99fdc356c1c0b 100644 --- a/gnu/usr.bin/rcs/ident/ident.1 +++ b/gnu/usr.bin/rcs/ident/ident.1 @@ -3,7 +3,7 @@ .ds Dt \\$4 .ds iD \\$3 \\$4 \\$5 \\$6 \\$7 .. -.Id $Id: ident.1,v 5.4 1993/11/09 17:40:15 eggert Exp $ +.Id $Id: ident.1,v 1.2 1995/10/28 21:49:18 peter Exp $ .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 .if n .ds - \%-- diff --git a/gnu/usr.bin/rcs/ident/ident.c b/gnu/usr.bin/rcs/ident/ident.c index 2d50e7727ec29..3d2f0a169d31b 100644 --- a/gnu/usr.bin/rcs/ident/ident.c +++ b/gnu/usr.bin/rcs/ident/ident.c @@ -102,7 +102,7 @@ static int match P((FILE*)); static int scanfile P((FILE*,char const*,int)); static void reportError P((char const*)); -mainProg(identId, "ident", "$Id: ident.c,v 1.3 1995/10/28 21:49:19 peter Exp $") +mainProg(identId, "ident", "$Id: ident.c,v 1.4 1995/10/29 22:06:07 peter Exp $") /* Ident searches the named files for all occurrences * of the pattern $@: text $ where @ is a keyword. */ diff --git a/gnu/usr.bin/rcs/lib/conf.h b/gnu/usr.bin/rcs/lib/conf.h index b1d404a9ea680..1a7cf76e82f75 100644 --- a/gnu/usr.bin/rcs/lib/conf.h +++ b/gnu/usr.bin/rcs/lib/conf.h @@ -1,6 +1,6 @@ /* RCS compile-time configuration */ - /* $Id: conf.h,v 1.4 1995/10/28 21:49:25 peter Exp $ */ + /* $Id: conf.h,v 1.5 1995/10/29 08:35:51 peter Exp $ */ /* * This file is generated automatically. diff --git a/gnu/usr.bin/rcs/lib/maketime.c b/gnu/usr.bin/rcs/lib/maketime.c index 0f98926043714..f657179ca6033 100644 --- a/gnu/usr.bin/rcs/lib/maketime.c +++ b/gnu/usr.bin/rcs/lib/maketime.c @@ -43,7 +43,7 @@ Report problems and direct all questions to: #include "maketime.h" char const maketId[] - = "$Id: maketime.c,v 1.3 1995/10/28 21:49:29 peter Exp $"; + = "$Id: maketime.c,v 1.4 1995/12/01 08:26:33 jkh Exp $"; static int isleap P((int)); static int month_days P((struct tm const*)); diff --git a/gnu/usr.bin/rcs/lib/merger.c b/gnu/usr.bin/rcs/lib/merger.c index fd36d26ae31e1..7408f7ad0ea78 100644 --- a/gnu/usr.bin/rcs/lib/merger.c +++ b/gnu/usr.bin/rcs/lib/merger.c @@ -28,7 +28,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(mergerId, "$Id: merger.c,v 1.7 1995/06/16 06:19:24 eggert Exp $") +libId(mergerId, "$Id: merger.c,v 1.2 1995/10/28 21:49:31 peter Exp $") static char const *normalize_arg P((char const*,char**)); static char const * diff --git a/gnu/usr.bin/rcs/lib/partime.c b/gnu/usr.bin/rcs/lib/partime.c index 4246566d766ba..d19f0813ffe8c 100644 --- a/gnu/usr.bin/rcs/lib/partime.c +++ b/gnu/usr.bin/rcs/lib/partime.c @@ -46,7 +46,7 @@ Report problems and direct all questions to: #include "partime.h" char const partimeId[] - = "$Id: partime.c,v 5.13 1995/06/16 06:19:24 eggert Exp $"; + = "$Id: partime.c,v 1.3 1995/10/28 21:49:33 peter Exp $"; /* Lookup tables for names of months, weekdays, time zones. */ diff --git a/gnu/usr.bin/rcs/lib/rcsbase.h b/gnu/usr.bin/rcs/lib/rcsbase.h index 31fb6ffd54de1..e991f36a383e1 100644 --- a/gnu/usr.bin/rcs/lib/rcsbase.h +++ b/gnu/usr.bin/rcs/lib/rcsbase.h @@ -1,6 +1,6 @@ /* RCS common definitions and data structures */ -#define RCSBASE "$Id: rcsbase.h,v 1.5 1995/10/29 19:31:09 peter Exp $" +#define RCSBASE "$Id: rcsbase.h,v 1.6 1995/10/29 22:06:10 peter Exp $" /* Copyright 1982, 1988, 1989 Walter Tichy Copyright 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert diff --git a/gnu/usr.bin/rcs/lib/rcsedit.c b/gnu/usr.bin/rcs/lib/rcsedit.c index 7273de50e0554..fc8b78453a638 100644 --- a/gnu/usr.bin/rcs/lib/rcsedit.c +++ b/gnu/usr.bin/rcs/lib/rcsedit.c @@ -201,7 +201,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(editId, "$Id: rcsedit.c,v 1.5 1995/10/29 19:31:10 peter Exp $") +libId(editId, "$Id: rcsedit.c,v 1.6 1995/10/29 22:06:12 peter Exp $") static void editEndsPrematurely P((void)) exiting; static void editLineNumberOverflow P((void)) exiting; diff --git a/gnu/usr.bin/rcs/lib/rcsfcmp.c b/gnu/usr.bin/rcs/lib/rcsfcmp.c index c9cef573bf162..0ee18a1586aa0 100644 --- a/gnu/usr.bin/rcs/lib/rcsfcmp.c +++ b/gnu/usr.bin/rcs/lib/rcsfcmp.c @@ -118,7 +118,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(fcmpId, "$Id: rcsfcmp.c,v 1.3 1995/10/28 21:49:38 peter Exp $") +libId(fcmpId, "$Id: rcsfcmp.c,v 1.4 1995/10/29 22:06:15 peter Exp $") static int discardkeyval P((int,RILE*)); static int diff --git a/gnu/usr.bin/rcs/lib/rcsfnms.c b/gnu/usr.bin/rcs/lib/rcsfnms.c index fe6a6aad09005..9a946583711e5 100644 --- a/gnu/usr.bin/rcs/lib/rcsfnms.c +++ b/gnu/usr.bin/rcs/lib/rcsfnms.c @@ -177,7 +177,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(fnmsId, "$Id: rcsfnms.c,v 1.3 1995/10/28 21:49:39 peter Exp $") +libId(fnmsId, "$Id: rcsfnms.c,v 1.4 1995/10/29 22:06:18 peter Exp $") static char const *bindex P((char const*,int)); static int fin2open P((char const*, size_t, char const*, size_t, char const*, size_t, RILE*(*)P((struct buf*,struct stat*,int)), int)); diff --git a/gnu/usr.bin/rcs/lib/rcsgen.c b/gnu/usr.bin/rcs/lib/rcsgen.c index 0c8e5c0e4d032..13270aa55a389 100644 --- a/gnu/usr.bin/rcs/lib/rcsgen.c +++ b/gnu/usr.bin/rcs/lib/rcsgen.c @@ -140,7 +140,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(genId, "$Id: rcsgen.c,v 1.3 1995/10/28 21:49:41 peter Exp $") +libId(genId, "$Id: rcsgen.c,v 1.4 1995/10/29 22:06:21 peter Exp $") int interactiveflag; /* Should we act as if stdin is a tty? */ struct buf curlogbuf; /* buffer for current log message */ diff --git a/gnu/usr.bin/rcs/lib/rcskeep.c b/gnu/usr.bin/rcs/lib/rcskeep.c index f8a0d2aad06fd..5723a2acb9be1 100644 --- a/gnu/usr.bin/rcs/lib/rcskeep.c +++ b/gnu/usr.bin/rcs/lib/rcskeep.c @@ -98,7 +98,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(keepId, "$Id: rcskeep.c,v 1.3 1995/10/28 21:49:43 peter Exp $") +libId(keepId, "$Id: rcskeep.c,v 1.4 1995/10/29 22:06:23 peter Exp $") static int badly_terminated P((void)); static int checknum P((char const*)); diff --git a/gnu/usr.bin/rcs/lib/rcskeys.c b/gnu/usr.bin/rcs/lib/rcskeys.c index 492d8cba8d3a5..ad948352b1954 100644 --- a/gnu/usr.bin/rcs/lib/rcskeys.c +++ b/gnu/usr.bin/rcs/lib/rcskeys.c @@ -63,7 +63,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(keysId, "$Id: rcskeys.c,v 1.7 1995/10/29 19:31:11 peter Exp $") +libId(keysId, "$Id: rcskeys.c,v 1.8 1995/10/29 22:06:24 peter Exp $") char const *const Keyword[] = { diff --git a/gnu/usr.bin/rcs/lib/rcslex.c b/gnu/usr.bin/rcs/lib/rcslex.c index 9929dc4f0f924..b3b7f49dacd0f 100644 --- a/gnu/usr.bin/rcs/lib/rcslex.c +++ b/gnu/usr.bin/rcs/lib/rcslex.c @@ -168,7 +168,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(lexId, "$Id: rcslex.c,v 1.4 1995/10/28 21:49:46 peter Exp $") +libId(lexId, "$Id: rcslex.c,v 1.5 1995/10/29 22:06:26 peter Exp $") static char *checkidentifier P((char*,int,int)); static void errsay P((char const*)); diff --git a/gnu/usr.bin/rcs/lib/rcsmap.c b/gnu/usr.bin/rcs/lib/rcsmap.c index 0345ef82f24d0..2eba929ae6e4d 100644 --- a/gnu/usr.bin/rcs/lib/rcsmap.c +++ b/gnu/usr.bin/rcs/lib/rcsmap.c @@ -29,7 +29,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(mapId, "$Id: rcsmap.c,v 5.3 1995/06/16 06:19:24 eggert Exp $") +libId(mapId, "$Id: rcsmap.c,v 1.2 1995/10/28 21:49:48 peter Exp $") /* map of character types */ /* ISO 8859/1 (Latin-1) */ diff --git a/gnu/usr.bin/rcs/lib/rcsrev.c b/gnu/usr.bin/rcs/lib/rcsrev.c index c0d0bda41e3f5..9e6fa05c58c74 100644 --- a/gnu/usr.bin/rcs/lib/rcsrev.c +++ b/gnu/usr.bin/rcs/lib/rcsrev.c @@ -105,7 +105,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(revId, "$Id: rcsrev.c,v 1.4 1995/10/29 22:06:29 peter Exp $") +libId(revId, "$Id: rcsrev.c,v 1.5 1995/12/01 08:26:36 jkh Exp $") static char const *branchtip P((char const*)); static char const *lookupsym P((char const*)); diff --git a/gnu/usr.bin/rcs/lib/rcssyn.c b/gnu/usr.bin/rcs/lib/rcssyn.c index 35772fe7a1bfc..ffbde25a7f9ea 100644 --- a/gnu/usr.bin/rcs/lib/rcssyn.c +++ b/gnu/usr.bin/rcs/lib/rcssyn.c @@ -153,7 +153,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(synId, "$Id: rcssyn.c,v 1.3 1995/10/28 21:49:53 peter Exp $") +libId(synId, "$Id: rcssyn.c,v 1.4 1995/10/29 22:06:30 peter Exp $") static char const *getkeyval P((char const*,enum tokens,int)); static int getdelta P((void)); diff --git a/gnu/usr.bin/rcs/lib/rcstime.c b/gnu/usr.bin/rcs/lib/rcstime.c index a49a8576c51d3..4d347ae8cfe87 100644 --- a/gnu/usr.bin/rcs/lib/rcstime.c +++ b/gnu/usr.bin/rcs/lib/rcstime.c @@ -30,7 +30,7 @@ Report problems and direct all questions to: #include "partime.h" #include "maketime.h" -libId(rcstimeId, "$Id: rcstime.c,v 1.4 1995/06/16 06:19:24 eggert Exp $") +libId(rcstimeId, "$Id: rcstime.c,v 1.2 1995/10/28 21:49:55 peter Exp $") static long zone_offset; /* seconds east of UTC, or TM_LOCAL_ZONE */ static int use_zone_offset; /* if zero, use UTC without zone indication */ diff --git a/gnu/usr.bin/rcs/lib/rcsutil.c b/gnu/usr.bin/rcs/lib/rcsutil.c index 455f054ead2c1..122bdd70969e2 100644 --- a/gnu/usr.bin/rcs/lib/rcsutil.c +++ b/gnu/usr.bin/rcs/lib/rcsutil.c @@ -186,7 +186,7 @@ Report problems and direct all questions to: #include "rcsbase.h" -libId(utilId, "$Id: rcsutil.c,v 1.3 1995/10/28 21:49:57 peter Exp $") +libId(utilId, "$Id: rcsutil.c,v 1.4 1995/10/29 22:06:32 peter Exp $") #if !has_memcmp int diff --git a/gnu/usr.bin/rcs/merge/merge.1 b/gnu/usr.bin/rcs/merge/merge.1 index e4860d2573889..32b6195086ba0 100644 --- a/gnu/usr.bin/rcs/merge/merge.1 +++ b/gnu/usr.bin/rcs/merge/merge.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: merge.1,v 5.7 1995/06/01 16:23:43 eggert Exp $ +.Id $Id: merge.1,v 1.2 1995/10/28 21:50:04 peter Exp $ .TH MERGE 1 \*(Dt GNU .SH NAME merge \- three-way file merge diff --git a/gnu/usr.bin/rcs/merge/merge.c b/gnu/usr.bin/rcs/merge/merge.c index 44d33a3d054de..33d6588550942 100644 --- a/gnu/usr.bin/rcs/merge/merge.c +++ b/gnu/usr.bin/rcs/merge/merge.c @@ -41,7 +41,7 @@ badoption(a) } -mainProg(mergeId, "merge", "$Id: merge.c,v 1.8 1995/06/16 06:19:24 eggert Exp $") +mainProg(mergeId, "merge", "$Id: merge.c,v 1.2 1995/10/28 21:50:08 peter Exp $") { register char const *a; char const *arg[3], *label[3], *edarg = 0; diff --git a/gnu/usr.bin/rcs/rcs/rcs.1 b/gnu/usr.bin/rcs/rcs/rcs.1 index 38daf8b62588d..4e8f6e126ef7a 100644 --- a/gnu/usr.bin/rcs/rcs/rcs.1 +++ b/gnu/usr.bin/rcs/rcs/rcs.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: rcs.1,v 5.13 1995/06/05 08:28:35 eggert Exp $ +.Id $Id: rcs.1,v 1.2 1995/10/28 21:50:11 peter Exp $ .ds r \&\s-1RCS\s0 .if n .ds - \%-- .if t .ds - \(em diff --git a/gnu/usr.bin/rcs/rcs/rcs.c b/gnu/usr.bin/rcs/rcs/rcs.c index bb51afb51410e..04ff22920ad92 100644 --- a/gnu/usr.bin/rcs/rcs/rcs.c +++ b/gnu/usr.bin/rcs/rcs/rcs.c @@ -275,7 +275,7 @@ static struct delrevpair delrev; static struct hshentry *cuthead, *cuttail, *delstrt; static struct hshentries *gendeltas; -mainProg(rcsId, "rcs", "$Id: rcs.c,v 1.3 1995/10/28 21:50:13 peter Exp $") +mainProg(rcsId, "rcs", "$Id: rcs.c,v 1.4 1995/10/29 22:06:37 peter Exp $") { static char const cmdusage[] = "\nrcs usage: rcs -{ae}logins -Afile -{blu}[rev] -cstring -{iILqTU} -ksubst -mrev:msg -{nN}name[:[rev]] -orange -sstate[:rev] -t[text] -Vn -xsuff -zzone file ..."; diff --git a/gnu/usr.bin/rcs/rcs/rcsfile.5 b/gnu/usr.bin/rcs/rcs/rcsfile.5 index 5a1929f783353..b33827cba0fa0 100644 --- a/gnu/usr.bin/rcs/rcs/rcsfile.5 +++ b/gnu/usr.bin/rcs/rcs/rcsfile.5 @@ -5,7 +5,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: rcsfile.5in,v 5.6 1995/06/05 08:28:35 eggert Exp $ +.Id $Id: rcsfile.5,v 1.2 1995/10/28 21:50:16 peter Exp $ .ds r \s-1RCS\s0 .if n .ds - \%-- .if t .ds - \(em diff --git a/gnu/usr.bin/rcs/rcs/rcsintro.1 b/gnu/usr.bin/rcs/rcs/rcsintro.1 index fa970437b5186..f6707a5330470 100644 --- a/gnu/usr.bin/rcs/rcs/rcsintro.1 +++ b/gnu/usr.bin/rcs/rcs/rcsintro.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: rcsintro.1,v 5.3 1993/11/03 17:42:27 eggert Exp $ +.Id $Id: rcsintro.1,v 1.2 1995/10/28 21:50:20 peter Exp $ .ds r \&\s-1RCS\s0 .if n .ds - \%-- .if t .ds - \(em diff --git a/gnu/usr.bin/rcs/rcsclean/rcsclean.1 b/gnu/usr.bin/rcs/rcsclean/rcsclean.1 index be58c94ccef81..6fdb9a2968842 100644 --- a/gnu/usr.bin/rcs/rcsclean/rcsclean.1 +++ b/gnu/usr.bin/rcs/rcsclean/rcsclean.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: rcsclean.1,v 1.12 1993/11/03 17:42:27 eggert Exp $ +.Id $Id: rcsclean.1,v 1.2 1995/10/28 21:50:24 peter Exp $ .ds r \&\s-1RCS\s0 .if n .ds - \%-- .if t .ds - \(em diff --git a/gnu/usr.bin/rcs/rcsclean/rcsclean.c b/gnu/usr.bin/rcs/rcsclean/rcsclean.c index 3d8ecd3fe5d9a..2c8613b0eb621 100644 --- a/gnu/usr.bin/rcs/rcsclean/rcsclean.c +++ b/gnu/usr.bin/rcs/rcsclean/rcsclean.c @@ -38,7 +38,7 @@ static void cleanup P((void)); static RILE *workptr; static int exitstatus; -mainProg(rcscleanId, "rcsclean", "$Id: rcsclean.c,v 5.9 1995/06/16 06:19:24 eggert Exp $") +mainProg(rcscleanId, "rcsclean", "$Id: rcsclean.c,v 1.2 1995/10/28 21:50:27 peter Exp $") { static char const usage[] = "\nrcsclean: usage: rcsclean -ksubst -{nqru}[rev] -T -Vn -xsuff -zzone file ..."; diff --git a/gnu/usr.bin/rcs/rcsdiff/rcsdiff.1 b/gnu/usr.bin/rcs/rcsdiff/rcsdiff.1 index 373c3376de721..eaf5328f26393 100644 --- a/gnu/usr.bin/rcs/rcsdiff/rcsdiff.1 +++ b/gnu/usr.bin/rcs/rcsdiff/rcsdiff.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: rcsdiff.1,v 5.5 1993/11/03 17:42:27 eggert Exp $ +.Id $Id: rcsdiff.1,v 1.2 1995/10/28 21:50:32 peter Exp $ .ds r \&\s-1RCS\s0 .if n .ds - \%-- .if t .ds - \(em diff --git a/gnu/usr.bin/rcs/rcsdiff/rcsdiff.c b/gnu/usr.bin/rcs/rcsdiff/rcsdiff.c index 9e31541f45544..c90b86f9a5e62 100644 --- a/gnu/usr.bin/rcs/rcsdiff/rcsdiff.c +++ b/gnu/usr.bin/rcs/rcsdiff/rcsdiff.c @@ -151,7 +151,7 @@ static int exitstatus; static RILE *workptr; static struct stat workstat; -mainProg(rcsdiffId, "rcsdiff", "$Id: rcsdiff.c,v 1.4 1995/10/29 22:06:42 peter Exp $") +mainProg(rcsdiffId, "rcsdiff", "$Id: rcsdiff.c,v 1.5 1996/01/20 07:51:25 mpp Exp $") { static char const cmdusage[] = "\nrcsdiff usage: rcsdiff -ksubst -q -rrev1 [-rrev2] -Vn -xsuff -zzone [diff options] file ..."; diff --git a/gnu/usr.bin/rcs/rcsfreeze/rcsfreeze.1 b/gnu/usr.bin/rcs/rcsfreeze/rcsfreeze.1 index be669a9f2a0d0..30f76f7100cd6 100644 --- a/gnu/usr.bin/rcs/rcsfreeze/rcsfreeze.1 +++ b/gnu/usr.bin/rcs/rcsfreeze/rcsfreeze.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: rcsfreeze.1,v 4.4 1990/11/13 15:43:42 hammer Exp $ +.Id $Id: rcsfreeze.1,v 1.2 1995/10/28 21:50:42 peter Exp $ .ds r \s-1RCS\s0 .TH RCSFREEZE 1 \*(Dt GNU .SH NAME diff --git a/gnu/usr.bin/rcs/rcsfreeze/rcsfreeze.sh b/gnu/usr.bin/rcs/rcsfreeze/rcsfreeze.sh index d41ba75a84d1b..0274c8d0a1ce4 100644 --- a/gnu/usr.bin/rcs/rcsfreeze/rcsfreeze.sh +++ b/gnu/usr.bin/rcs/rcsfreeze/rcsfreeze.sh @@ -2,7 +2,7 @@ # rcsfreeze - assign a symbolic revision number to a configuration of RCS files -# $Id: rcsfreeze.sh,v 1.4 1996/03/12 23:09:04 wosch Exp $ +# $Id: rcsfreeze.sh,v 1.4.2.1 1996/11/28 08:08:29 phk Exp $ # The idea is to run rcsfreeze each time a new version is checked # in. A unique symbolic revision number (C_[number], where number diff --git a/gnu/usr.bin/rcs/rcsmerge/rcsmerge.1 b/gnu/usr.bin/rcs/rcsmerge/rcsmerge.1 index 96b6a46f0639f..fbfb2ff0aec80 100644 --- a/gnu/usr.bin/rcs/rcsmerge/rcsmerge.1 +++ b/gnu/usr.bin/rcs/rcsmerge/rcsmerge.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id: rcsmerge.1,v 5.6 1995/06/01 16:23:43 eggert Exp $ +.Id $Id: rcsmerge.1,v 1.2 1995/10/28 21:50:50 peter Exp $ .ds r \&\s-1RCS\s0 .if n .ds - \%-- .if t .ds - \(em diff --git a/gnu/usr.bin/rcs/rcsmerge/rcsmerge.c b/gnu/usr.bin/rcs/rcsmerge/rcsmerge.c index a4d9b86c29e9a..0953a985c7c49 100644 --- a/gnu/usr.bin/rcs/rcsmerge/rcsmerge.c +++ b/gnu/usr.bin/rcs/rcsmerge/rcsmerge.c @@ -117,7 +117,7 @@ Report problems and direct all questions to: static char const co[] = CO; -mainProg(rcsmergeId, "rcsmerge", "$Id: rcsmerge.c,v 1.3 1995/10/28 21:50:52 peter Exp $") +mainProg(rcsmergeId, "rcsmerge", "$Id: rcsmerge.c,v 1.4 1995/10/29 22:06:45 peter Exp $") { static char const cmdusage[] = "\nrcsmerge usage: rcsmerge -rrev1 [-rrev2] -ksubst -{pq}[rev] -Vn -xsuff -zzone file"; diff --git a/gnu/usr.bin/rcs/rcstest b/gnu/usr.bin/rcs/rcstest index 47eab4fc1d7bb..80ea18e4a2af7 100755 --- a/gnu/usr.bin/rcs/rcstest +++ b/gnu/usr.bin/rcs/rcstest @@ -15,7 +15,7 @@ # The current directory and ./RCS must be readable, writable, and searchable. -# $Id: rcstest,v 5.14 1995/06/16 06:19:24 eggert Exp $ +# $Id: rcstest,v 1.2 1995/10/28 21:49:04 peter Exp $ # Copyright 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert diff --git a/gnu/usr.bin/rcs/rlog/rlog.1 b/gnu/usr.bin/rcs/rlog/rlog.1 index 953617cecdc88..c8c110386366c 100644 --- a/gnu/usr.bin/rcs/rlog/rlog.1 +++ b/gnu/usr.bin/rcs/rlog/rlog.1 @@ -2,7 +2,7 @@ .ds Rv \\$3 .ds Dt \\$4 .. -.Id $Id$ +.Id $Id: rlog.1,v 1.4.2.1 1997/01/26 07:48:21 mpp Exp $ .ds i \&\s-1ISO\s0 .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 diff --git a/gnu/usr.bin/rcs/rlog/rlog.c b/gnu/usr.bin/rcs/rlog/rlog.c index a3e63be982d45..8ab1639c231e3 100644 --- a/gnu/usr.bin/rcs/rlog/rlog.c +++ b/gnu/usr.bin/rcs/rlog/rlog.c @@ -218,7 +218,7 @@ static struct rcslockers *lockerlist; static struct stateattri *statelist; -mainProg(rlogId, "rlog", "$Id: rlog.c,v 1.9 1995/10/29 18:07:04 peter Exp $") +mainProg(rlogId, "rlog", "$Id: rlog.c,v 1.10 1995/10/29 22:06:48 peter Exp $") { static char const cmdusage[] = "\nrlog usage: rlog -{bhLNRt} -v[string] -ddates -l[lockers] -r[revs] -sstates -Vn -w[logins] -xsuff -zzone file ..."; diff --git a/gnu/usr.bin/send-pr/send-pr.sh b/gnu/usr.bin/send-pr/send-pr.sh index 931dc5c1ae799..c6570508f0a18 100644 --- a/gnu/usr.bin/send-pr/send-pr.sh +++ b/gnu/usr.bin/send-pr/send-pr.sh @@ -20,7 +20,7 @@ # along with GNU GNATS; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # -# $Id$ +# $Id: send-pr.sh,v 1.6 1996/10/19 21:42:40 joerg Exp $ # The version of this send-pr. VERSION=3.2 diff --git a/gnu/usr.bin/tar/getdate.y b/gnu/usr.bin/tar/getdate.y index aa8f6b512a33c..941af0cfacb39 100644 --- a/gnu/usr.bin/tar/getdate.y +++ b/gnu/usr.bin/tar/getdate.y @@ -1,5 +1,5 @@ %{ -/* $Revision: 1.1.1.1 $ +/* $Revision: 1.2 $ ** ** Originally written by Steven M. Bellovin <smb@research.att.com> while ** at the University of North Carolina at Chapel Hill. Later tweaked by @@ -98,7 +98,7 @@ extern struct tm *localtime(); #if !defined(lint) && !defined(SABER) static char RCS[] = - "$Header: /home/ncvs/src/gnu/usr.bin/tar/getdate.y,v 1.1.1.1 1993/06/18 04:22:21 jkh Exp $"; + "$Header: /home/ncvs/src/gnu/usr.bin/tar/getdate.y,v 1.2 1994/11/04 02:12:22 jkh Exp $"; #endif /* !defined(lint) && !defined(SABER) */ diff --git a/gnu/usr.bin/tar/tar.1 b/gnu/usr.bin/tar/tar.1 index 47be4e7d8ae43..a79d4c9afc603 100644 --- a/gnu/usr.bin/tar/tar.1 +++ b/gnu/usr.bin/tar/tar.1 @@ -3,7 +3,7 @@ .\" .\" Written by John F. Woods <jfw@jfwhome.funhouse.com> .\" -.\" $Id: tar.1,v 1.5 1996/02/09 21:14:26 jmz Exp $ +.\" $Id: tar.1,v 1.6 1996/08/13 00:13:49 chuckr Exp $ .\" .Dd 6 August 1994 .Os FreeBSD diff --git a/gnu/usr.bin/texinfo/Makefile b/gnu/usr.bin/texinfo/Makefile index 172255cc53c12..8412b422c6891 100644 --- a/gnu/usr.bin/texinfo/Makefile +++ b/gnu/usr.bin/texinfo/Makefile @@ -1,6 +1,6 @@ # # Bmake file for texinfo -# $Id: Makefile,v 1.2 1994/09/15 12:09:35 jkh Exp $ +# $Id: Makefile,v 1.3 1995/01/22 22:44:45 ache Exp $ # SUBDIR= info info-files makedoc makeinfo texindex doc diff --git a/gnu/usr.bin/texinfo/Makefile.inc b/gnu/usr.bin/texinfo/Makefile.inc index a5dfdf804459c..381b1efce0955 100644 --- a/gnu/usr.bin/texinfo/Makefile.inc +++ b/gnu/usr.bin/texinfo/Makefile.inc @@ -1,3 +1,3 @@ # Texinfo defaults. -# $Id: Makefile.inc,v 1.4 1995/07/16 10:23:51 joerg Exp $ +# $Id: Makefile.inc,v 1.5 1996/05/22 00:29:40 wosch Exp $ diff --git a/gnu/usr.bin/texinfo/info/info.1 b/gnu/usr.bin/texinfo/info/info.1 index cd88463b9bf5d..b8e345caaf19d 100644 --- a/gnu/usr.bin/texinfo/info/info.1 +++ b/gnu/usr.bin/texinfo/info/info.1 @@ -1,4 +1,4 @@ -.\" $Id$ +.\" $Id: info.1,v 1.3 1996/10/05 22:26:26 wosch Exp $ .\" .TH info 1 "7th December 1990" .SH NAME diff --git a/gnu/usr.bin/texinfo/makedoc/Makefile b/gnu/usr.bin/texinfo/makedoc/Makefile index d97ec098c31c8..08291ba44bde1 100644 --- a/gnu/usr.bin/texinfo/makedoc/Makefile +++ b/gnu/usr.bin/texinfo/makedoc/Makefile @@ -1,7 +1,7 @@ # # Bmakefile for GNU info # -# $Id: Makefile,v 1.2 1994/09/15 13:10:41 jkh Exp $ +# $Id: Makefile,v 1.3 1995/05/30 05:05:09 rgrimes Exp $ # PROG= makedoc diff --git a/gnu/usr.bin/texinfo/makeinfo/Makefile b/gnu/usr.bin/texinfo/makeinfo/Makefile index e102200dc7ae3..b933c9410429a 100644 --- a/gnu/usr.bin/texinfo/makeinfo/Makefile +++ b/gnu/usr.bin/texinfo/makeinfo/Makefile @@ -1,7 +1,7 @@ # # Bmakefile for GNU info # -# $Id: Makefile,v 1.2 1994/09/15 13:11:36 jkh Exp $ +# $Id: Makefile,v 1.3 1995/05/30 05:05:12 rgrimes Exp $ # PROG= makeinfo diff --git a/gnu/usr.bin/texinfo/texindex/Makefile b/gnu/usr.bin/texinfo/texindex/Makefile index aee14dfc9d091..0e52b27b83d95 100644 --- a/gnu/usr.bin/texinfo/texindex/Makefile +++ b/gnu/usr.bin/texinfo/texindex/Makefile @@ -1,7 +1,7 @@ # # Bmakefile for GNU info # -# $Id: Makefile,v 1.2 1994/09/15 13:12:23 jkh Exp $ +# $Id: Makefile,v 1.3 1995/05/30 05:05:18 rgrimes Exp $ # PROG= texindex diff --git a/gnu/usr.sbin/Makefile b/gnu/usr.sbin/Makefile index 689a1382ef7e0..b557041e8f996 100644 --- a/gnu/usr.sbin/Makefile +++ b/gnu/usr.sbin/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/02/12 14:48:44 wpaul Exp $ +# $Id: Makefile,v 1.4 1996/04/28 04:06:06 wpaul Exp $ SUBDIR= diff --git a/gnu/usr.sbin/Makefile.inc b/gnu/usr.sbin/Makefile.inc index 1fa8c0e074f63..dce1db05c712b 100644 --- a/gnu/usr.sbin/Makefile.inc +++ b/gnu/usr.sbin/Makefile.inc @@ -1,3 +1,3 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1995/01/31 09:14:03 wpaul Exp $ BINDIR?= /usr/sbin diff --git a/include/Makefile b/include/Makefile index 30263415388bf..53b736f34b3e7 100644 --- a/include/Makefile +++ b/include/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $Id: Makefile,v 1.44 1996/09/20 13:42:26 bde Exp $ +# $Id: Makefile,v 1.45 1996/10/17 18:44:56 jkh Exp $ # # Doing a make install builds /usr/include # diff --git a/include/arpa/inet.h b/include/arpa/inet.h index 99c8a4ab895b2..a861a04454df3 100644 --- a/include/arpa/inet.h +++ b/include/arpa/inet.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)inet.h 8.1 (Berkeley) 6/2/93 - * $Id: inet.h,v 1.3 1996/06/13 20:44:50 wollman Exp $ + * $Id: inet.h,v 1.4 1996/08/29 20:01:00 peter Exp $ */ #ifndef _ARPA_INET_H_ diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h index 71ad340021e86..35957fbb136dc 100644 --- a/include/arpa/nameser.h +++ b/include/arpa/nameser.h @@ -53,7 +53,7 @@ * * @(#)nameser.h 8.2 (Berkeley) 2/16/94 * From Id: nameser.h,v 4.9.1.15 1994/07/19 22:51:24 vixie Exp - * $Id: nameser.h,v 1.7 1996/01/30 23:31:16 mpp Exp $ + * $Id: nameser.h,v 1.8 1996/08/29 20:01:00 peter Exp $ */ #ifndef _ARPA_NAMESER_H_ diff --git a/include/link.h b/include/link.h index e3e79315dd191..369012f74a551 100644 --- a/include/link.h +++ b/include/link.h @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: link.h,v 1.8 1996/10/07 20:49:03 scrappy Exp $ + * $Id: link.h,v 1.9 1996/10/08 01:38:36 scrappy Exp $ */ /* diff --git a/include/netdb.h b/include/netdb.h index 8b86ea1a140ea..099a69c92c9e6 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)netdb.h 8.1 (Berkeley) 6/2/93 - * $Id: netdb.h,v 1.4 1996/01/30 23:30:30 mpp Exp $ + * $Id: netdb.h,v 1.5 1996/08/29 20:00:56 peter Exp $ * - * Portions Copyright (c) 1993 by Digital Equipment Corporation. * diff --git a/include/nl_types.h b/include/nl_types.h index ac8b43353f986..c938fa48b21c0 100644 --- a/include/nl_types.h +++ b/include/nl_types.h @@ -1,4 +1,4 @@ -/* $Id: nl_types.h,v 1.1 1995/03/30 12:47:56 jkh Exp $ */ +/* $Id: nl_types.h,v 1.2 1995/05/30 04:54:42 rgrimes Exp $ */ /*********************************************************** Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts. diff --git a/include/nlist.h b/include/nlist.h index 87e31fdf78771..7705bf27cacf2 100644 --- a/include/nlist.h +++ b/include/nlist.h @@ -37,7 +37,7 @@ * * @(#)nlist.h 8.2 (Berkeley) 1/21/94 * - * $Id: nlist.h,v 1.2 1994/12/23 22:32:48 nate Exp $ + * $Id: nlist.h,v 1.3 1996/10/01 00:01:43 peter Exp $ */ #ifndef _NLIST_H_ diff --git a/include/protocols/routed.h b/include/protocols/routed.h index 8bfc0a191257a..4ace3904d8467 100644 --- a/include/protocols/routed.h +++ b/include/protocols/routed.h @@ -40,7 +40,7 @@ #ifdef __cplusplus extern "C" { #endif -#ident "$Revision: 1.9 $" +#ident "$Revision: 1.7 $" /* * Routing Information Protocol diff --git a/include/resolv.h b/include/resolv.h index a6c4f4a825896..488ab67816aeb 100644 --- a/include/resolv.h +++ b/include/resolv.h @@ -53,7 +53,7 @@ * * @(#)resolv.h 8.1 (Berkeley) 6/2/93 * From Id: resolv.h,v 4.9.1.2 1993/05/17 09:59:01 vixie Exp - * $Id: resolv.h,v 1.6 1996/01/30 23:30:34 mpp Exp $ + * $Id: resolv.h,v 1.7 1996/08/29 20:00:58 peter Exp $ */ #ifndef _RESOLV_H_ diff --git a/include/rpc/auth.h b/include/rpc/auth.h index b979ffb101ea4..087e98805ae32 100644 --- a/include/rpc/auth.h +++ b/include/rpc/auth.h @@ -28,7 +28,7 @@ * * from: @(#)auth.h 1.17 88/02/08 SMI * from: @(#)auth.h 2.3 88/08/07 4.0 RPCSRC - * $Id: auth.h,v 1.4 1996/01/30 23:31:35 mpp Exp $ + * $Id: auth.h,v 1.5 1996/01/31 08:02:11 hsu Exp $ */ /* diff --git a/include/rpc/auth_unix.h b/include/rpc/auth_unix.h index f0522ed909633..34ddc1ad2edd9 100644 --- a/include/rpc/auth_unix.h +++ b/include/rpc/auth_unix.h @@ -28,7 +28,7 @@ * * from: @(#)auth_unix.h 1.8 88/02/08 SMI * from: @(#)auth_unix.h 2.2 88/07/29 4.0 RPCSRC - * $Id: auth_unix.h,v 1.3 1995/05/30 04:55:11 rgrimes Exp $ + * $Id: auth_unix.h,v 1.4 1996/01/30 23:31:42 mpp Exp $ */ /* diff --git a/include/rpc/clnt.h b/include/rpc/clnt.h index d464d6076205c..02080eb3e0322 100644 --- a/include/rpc/clnt.h +++ b/include/rpc/clnt.h @@ -28,7 +28,7 @@ * * from: @(#)clnt.h 1.31 88/02/08 SMI * from: @(#)clnt.h 2.1 88/07/29 4.0 RPCSRC - * $Id: clnt.h,v 1.3 1995/05/30 04:55:14 rgrimes Exp $ + * $Id: clnt.h,v 1.4 1996/01/30 23:31:48 mpp Exp $ */ /* diff --git a/include/rpc/pmap_clnt.h b/include/rpc/pmap_clnt.h index 39f6f4467a202..a0b53b4351ef4 100644 --- a/include/rpc/pmap_clnt.h +++ b/include/rpc/pmap_clnt.h @@ -28,7 +28,7 @@ * * from: @(#)pmap_clnt.h 1.11 88/02/08 SMI * from: @(#)pmap_clnt.h 2.1 88/07/29 4.0 RPCSRC - * $Id: pmap_clnt.h,v 1.3 1995/05/30 04:55:16 rgrimes Exp $ + * $Id: pmap_clnt.h,v 1.4 1996/01/30 23:31:59 mpp Exp $ */ /* diff --git a/include/rpc/pmap_prot.h b/include/rpc/pmap_prot.h index 2bb2583d00512..f4f19673842e4 100644 --- a/include/rpc/pmap_prot.h +++ b/include/rpc/pmap_prot.h @@ -28,7 +28,7 @@ * * from: @(#)pmap_prot.h 1.14 88/02/08 SMI * from: @(#)pmap_prot.h 2.1 88/07/29 4.0 RPCSRC - * $Id: pmap_prot.h,v 1.3 1995/05/30 04:55:18 rgrimes Exp $ + * $Id: pmap_prot.h,v 1.4 1996/01/30 23:32:08 mpp Exp $ */ /* diff --git a/include/rpc/pmap_rmt.h b/include/rpc/pmap_rmt.h index 73065eae79d71..d76131e49a34e 100644 --- a/include/rpc/pmap_rmt.h +++ b/include/rpc/pmap_rmt.h @@ -28,7 +28,7 @@ * * from: @(#)pmap_rmt.h 1.2 88/02/08 SMI * from: @(#)pmap_rmt.h 2.1 88/07/29 4.0 RPCSRC - * $Id: pmap_rmt.h,v 1.3 1995/05/30 04:55:20 rgrimes Exp $ + * $Id: pmap_rmt.h,v 1.4 1996/01/30 23:32:12 mpp Exp $ */ /* diff --git a/include/rpc/rpc.h b/include/rpc/rpc.h index dbdfc1562531b..66bab11811bc7 100644 --- a/include/rpc/rpc.h +++ b/include/rpc/rpc.h @@ -28,7 +28,7 @@ * * from: @(#)rpc.h 1.9 88/02/08 SMI * from: @(#)rpc.h 2.4 89/07/11 4.0 RPCSRC - * $Id: rpc.h,v 1.4 1995/05/30 04:55:23 rgrimes Exp $ + * $Id: rpc.h,v 1.5 1996/01/30 23:32:20 mpp Exp $ */ /* diff --git a/include/rpc/rpc_msg.h b/include/rpc/rpc_msg.h index 43103bd2da310..ff77693158a1f 100644 --- a/include/rpc/rpc_msg.h +++ b/include/rpc/rpc_msg.h @@ -28,7 +28,7 @@ * * from: @(#)rpc_msg.h 1.7 86/07/16 SMI * from: @(#)rpc_msg.h 2.1 88/07/29 4.0 RPCSRC - * $Id: rpc_msg.h,v 1.4 1995/05/30 04:55:25 rgrimes Exp $ + * $Id: rpc_msg.h,v 1.5 1996/01/30 23:32:24 mpp Exp $ */ /* diff --git a/include/rpc/svc.h b/include/rpc/svc.h index 05bec14129c45..2be1a7e5bfeef 100644 --- a/include/rpc/svc.h +++ b/include/rpc/svc.h @@ -28,7 +28,7 @@ * * from: @(#)svc.h 1.20 88/02/08 SMI * from: @(#)svc.h 2.2 88/07/29 4.0 RPCSRC - * $Id: svc.h,v 1.4 1995/05/30 04:55:28 rgrimes Exp $ + * $Id: svc.h,v 1.5 1996/01/30 23:32:29 mpp Exp $ */ /* diff --git a/include/rpc/svc_auth.h b/include/rpc/svc_auth.h index 4362dc45cbb2b..093e6a6691695 100644 --- a/include/rpc/svc_auth.h +++ b/include/rpc/svc_auth.h @@ -28,7 +28,7 @@ * * from: @(#)svc_auth.h 1.6 86/07/16 SMI * from: @(#)svc_auth.h 2.1 88/07/29 4.0 RPCSRC - * $Id: svc_auth.h,v 1.3 1995/05/30 04:55:32 rgrimes Exp $ + * $Id: svc_auth.h,v 1.4 1996/01/30 23:32:36 mpp Exp $ */ /* diff --git a/include/rpc/types.h b/include/rpc/types.h index dd8b3fbd3f7e2..8dc34df6f06cb 100644 --- a/include/rpc/types.h +++ b/include/rpc/types.h @@ -28,7 +28,7 @@ * * from: @(#)types.h 1.18 87/07/24 SMI * from: @(#)types.h 2.3 88/08/15 4.0 RPCSRC - * $Id: types.h,v 1.3 1995/05/30 04:55:35 rgrimes Exp $ + * $Id: types.h,v 1.4 1996/01/30 23:32:39 mpp Exp $ */ /* diff --git a/include/rpc/xdr.h b/include/rpc/xdr.h index 59fbbbff60983..49dd3320c5f9d 100644 --- a/include/rpc/xdr.h +++ b/include/rpc/xdr.h @@ -28,7 +28,7 @@ * * from: @(#)xdr.h 1.19 87/04/22 SMI * from: @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC - * $Id: xdr.h,v 1.3 1995/05/30 04:55:38 rgrimes Exp $ + * $Id: xdr.h,v 1.4 1996/01/30 23:32:45 mpp Exp $ */ /* diff --git a/include/rpcsvc/Makefile b/include/rpcsvc/Makefile index 5229a06e66ec3..d9710b84b0525 100644 --- a/include/rpcsvc/Makefile +++ b/include/rpcsvc/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 2.3 88/08/11 4.0 RPCSRC -# $Id: Makefile,v 1.11 1996/08/30 21:57:32 peter Exp $ +# $Id: Makefile,v 1.12 1996/08/30 22:36:45 peter Exp $ .SUFFIXES: .x diff --git a/include/rpcsvc/klm_prot.x b/include/rpcsvc/klm_prot.x index 6bc4f27074c26..c84b9b2d98d94 100644 --- a/include/rpcsvc/klm_prot.x +++ b/include/rpcsvc/klm_prot.x @@ -40,7 +40,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)klm_prot.x 1.7 87/07/08 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)klm_prot.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: klm_prot.x,v 1.1 1993/09/14 17:42:42 jtc Exp $"; +%static char rcsid[] = "$Id: klm_prot.x,v 1.1 1994/08/04 19:01:45 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/mount.x b/include/rpcsvc/mount.x index 758b47cfbdd1f..8c38b75c10d11 100644 --- a/include/rpcsvc/mount.x +++ b/include/rpcsvc/mount.x @@ -35,7 +35,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)mount.x 1.2 87/09/18 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)mount.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: mount.x,v 1.1 1993/09/14 17:42:43 jtc Exp $"; +%static char rcsid[] = "$Id: mount.x,v 1.1 1994/08/04 19:01:46 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/nfs_prot.x b/include/rpcsvc/nfs_prot.x index 74d46ba5300b4..819b93280ee1e 100644 --- a/include/rpcsvc/nfs_prot.x +++ b/include/rpcsvc/nfs_prot.x @@ -31,7 +31,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)nfs_prot.x 1.2 87/10/12 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)nfs_prot.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: nfs_prot.x,v 1.1 1993/09/14 17:42:44 jtc Exp $"; +%static char rcsid[] = "$Id: nfs_prot.x,v 1.1 1994/08/04 19:01:47 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/nlm_prot.x b/include/rpcsvc/nlm_prot.x index b0711243dc3ba..04721e28e3ff9 100644 --- a/include/rpcsvc/nlm_prot.x +++ b/include/rpcsvc/nlm_prot.x @@ -12,7 +12,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)nlm_prot.x 1.8 87/09/21 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: * @(#)nlm_prot.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: nlm_prot.x,v 1.1 1993/09/14 17:42:45 jtc Exp $"; +%static char rcsid[] = "$Id: nlm_prot.x,v 1.1 1994/08/04 19:01:48 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/rex.x b/include/rpcsvc/rex.x index 7609cc8b26f76..f027d28eef909 100644 --- a/include/rpcsvc/rex.x +++ b/include/rpcsvc/rex.x @@ -35,7 +35,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)rex.x 1.3 87/09/18 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)rex.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: rex.x,v 1.1 1993/09/14 17:42:46 jtc Exp $"; +%static char rcsid[] = "$Id: rex.x,v 1.1 1994/08/04 19:01:49 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/rnusers.x b/include/rpcsvc/rnusers.x index 034c5c25f7ccb..bf6dafbfbe04a 100644 --- a/include/rpcsvc/rnusers.x +++ b/include/rpcsvc/rnusers.x @@ -35,7 +35,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)rnusers.x 1.2 87/09/20 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)rnusers.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: rnusers.x,v 1.1 1993/09/14 17:42:46 jtc Exp $"; +%static char rcsid[] = "$Id: rnusers.x,v 1.1 1994/08/04 19:01:50 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/rquota.x b/include/rpcsvc/rquota.x index 0900c6581936a..476d76bd2be19 100644 --- a/include/rpcsvc/rquota.x +++ b/include/rpcsvc/rquota.x @@ -7,7 +7,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)rquota.x 1.2 87/09/20 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)rquota.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: rquota.x,v 1.1 1993/09/14 17:42:49 jtc Exp $"; +%static char rcsid[] = "$Id: rquota.x,v 1.1 1994/08/04 19:01:50 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/rstat.x b/include/rpcsvc/rstat.x index 2099b4f4994d8..0c55005cca17a 100644 --- a/include/rpcsvc/rstat.x +++ b/include/rpcsvc/rstat.x @@ -47,7 +47,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)rstat.x 1.2 87/09/18 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)rstat.x 2.2 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: rstat.x,v 1.3 1993/11/30 20:31:41 ats Exp $"; +%static char rcsid[] = "$Id: rstat.x,v 1.1 1994/08/04 19:01:51 wollman Exp $"; %#endif /* not lint */ #endif /* def RPC_HDR */ diff --git a/include/rpcsvc/rwall.x b/include/rpcsvc/rwall.x index 08e2c98e3d6d1..7541bca4ddf47 100644 --- a/include/rpcsvc/rwall.x +++ b/include/rpcsvc/rwall.x @@ -35,7 +35,7 @@ #ifndef RPC_HDR %#ifndef lint -%static char rcsid[] = "$Id: rwall.x,v 1.1 1993/09/14 17:42:50 jtc Exp $"; +%static char rcsid[] = "$Id: rwall.x,v 1.1 1994/08/04 19:01:52 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/sm_inter.x b/include/rpcsvc/sm_inter.x index f66570bdd867c..49a93044f8fd9 100644 --- a/include/rpcsvc/sm_inter.x +++ b/include/rpcsvc/sm_inter.x @@ -37,7 +37,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)sm_inter.x 1.7 87/06/24 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)sm_inter.x 2.2 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: sm_inter.x,v 1.1 1993/09/14 17:42:51 jtc Exp $"; +%static char rcsid[] = "$Id: sm_inter.x,v 1.1 1994/08/04 19:01:53 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/spray.x b/include/rpcsvc/spray.x index d580722dec1ed..5ae7a4d1780d0 100644 --- a/include/rpcsvc/spray.x +++ b/include/rpcsvc/spray.x @@ -36,7 +36,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)spray.x 1.2 87/09/18 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)spray.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: spray.x,v 1.1 1993/09/14 17:42:52 jtc Exp $"; +%static char rcsid[] = "$Id: spray.x,v 1.1 1994/08/04 19:01:54 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/yp.x b/include/rpcsvc/yp.x index 33dc9485ba322..ce5bcf264f9bf 100644 --- a/include/rpcsvc/yp.x +++ b/include/rpcsvc/yp.x @@ -34,7 +34,7 @@ #ifndef RPC_HDR %#ifndef lint %/*static char sccsid[] = "from: @(#)yp.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: yp.x,v 1.3 1995/12/07 03:50:27 wpaul Exp wpaul $"; +%static char rcsid[] = "$Id: yp.x,v 1.5 1996/02/26 02:22:53 wpaul Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/yp_prot.h b/include/rpcsvc/yp_prot.h index 6d27c071a6f6f..63df4d6c5a5b2 100644 --- a/include/rpcsvc/yp_prot.h +++ b/include/rpcsvc/yp_prot.h @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yp_prot.h,v 1.2 1995/05/30 04:55:47 rgrimes Exp $ + * $Id: yp_prot.h,v 1.3 1996/01/30 23:33:04 mpp Exp $ */ #ifndef _YP_PROT_H_ diff --git a/include/rpcsvc/ypclnt.h b/include/rpcsvc/ypclnt.h index 816801255125a..91b64868b1ce0 100644 --- a/include/rpcsvc/ypclnt.h +++ b/include/rpcsvc/ypclnt.h @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypclnt.h,v 1.2 1995/04/21 18:07:34 wpaul Exp $ + * $Id: ypclnt.h,v 1.3 1995/05/30 04:55:49 rgrimes Exp $ */ #ifndef _YPCLNT_H_ diff --git a/include/rpcsvc/yppasswd.x b/include/rpcsvc/yppasswd.x index 0b9197e99bf0a..4cad50d2cfdf6 100644 --- a/include/rpcsvc/yppasswd.x +++ b/include/rpcsvc/yppasswd.x @@ -36,7 +36,7 @@ %#ifndef lint %/*static char sccsid[] = "from: @(#)yppasswd.x 1.1 87/04/13 Copyr 1987 Sun Micro";*/ %/*static char sccsid[] = "from: @(#)yppasswd.x 2.1 88/08/01 4.0 RPCSRC";*/ -%static char rcsid[] = "$Id: yppasswd.x,v 1.1 1993/09/14 17:42:55 jtc Exp $"; +%static char rcsid[] = "$Id: yppasswd.x,v 1.1 1994/08/04 19:01:57 wollman Exp $"; %#endif /* not lint */ #endif diff --git a/include/rpcsvc/ypxfrd.x b/include/rpcsvc/ypxfrd.x index 46c16b395c97d..f51a1b94649c6 100644 --- a/include/rpcsvc/ypxfrd.x +++ b/include/rpcsvc/ypxfrd.x @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypxfrd.x,v 1.9 1996/07/02 00:35:36 wpaul Exp $ + * $Id: ypxfrd.x,v 1.2 1996/07/04 02:08:17 wpaul Exp $ */ /* @@ -68,7 +68,7 @@ #ifndef RPC_HDR %#ifndef lint -%static const char rcsid[] = "$Id: ypxfrd.x,v 1.9 1996/07/02 00:35:36 wpaul Exp $"; +%static const char rcsid[] = "$Id: ypxfrd.x,v 1.2 1996/07/04 02:08:17 wpaul Exp $"; %#endif /* not lint */ #endif diff --git a/include/stdio.h b/include/stdio.h index a238301d0e508..ca4912bca05b7 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)stdio.h 8.4 (Berkeley) 1/4/94 - * $Id$ + * $Id: stdio.h,v 1.8 1996/10/27 18:13:33 wosch Exp $ */ #ifndef _STDIO_H_ diff --git a/include/strhash.h b/include/strhash.h index 7533fb9c7711a..a05f84b8fd6f8 100644 --- a/include/strhash.h +++ b/include/strhash.h @@ -1,7 +1,7 @@ #ifndef _STRHASH_H_INCLUDE #define _STRHASH_H_INCLUDE -/* $Header: /home/ncvs/src/include/strhash.h,v 1.1 1995/03/26 10:12:53 jkh Exp $ */ +/* $Header: /home/ncvs/src/include/strhash.h,v 1.2 1995/05/30 04:54:49 rgrimes Exp $ */ /* * diff --git a/include/timers.h b/include/timers.h index 5a66ee72a4d5d..31af7643349db 100644 --- a/include/timers.h +++ b/include/timers.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: timers.h,v 1.1 1995/09/26 00:26:09 jb Exp jb $ + * $Id: timers.h,v 1.1 1996/01/22 00:24:56 julian Exp $ * * Description : Basic timers header. * diff --git a/include/utmp.h b/include/utmp.h index 74df997334b10..d60474ff24b17 100644 --- a/include/utmp.h +++ b/include/utmp.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)utmp.h 8.2 (Berkeley) 1/21/94 - * $Id$ + * $Id: utmp.h,v 1.2 1996/10/27 18:13:35 wosch Exp $ */ #ifndef _UTMP_H_ diff --git a/include/vis.h b/include/vis.h index 9cfbd79eba931..a172afc8662f7 100644 --- a/include/vis.h +++ b/include/vis.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vis.h 8.1 (Berkeley) 6/2/93 - * $Id$ + * $Id: vis.h,v 1.3 1996/05/01 00:57:57 bde Exp $ */ #ifndef _VIS_H_ diff --git a/lib/compat/Makefile b/lib/compat/Makefile index 4de61092e2a5c..1e329557261c3 100644 --- a/lib/compat/Makefile +++ b/lib/compat/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/12/23 05:07:19 peter Exp $ SUBDIR= diff --git a/lib/compat/Makefile.inc b/lib/compat/Makefile.inc index 5201d4a7dee7b..fc89e8abee429 100644 --- a/lib/compat/Makefile.inc +++ b/lib/compat/Makefile.inc @@ -1,3 +1,3 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1.2.1 1997/03/03 15:11:38 bde Exp $ LIBCOMPATDIR?= ${LIBDIR}/compat diff --git a/lib/compat/compat1x/Makefile b/lib/compat/compat1x/Makefile index 51e68077d8396..51d175f3ff952 100644 --- a/lib/compat/compat1x/Makefile +++ b/lib/compat/compat1x/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.2.2 1997/03/03 15:11:44 bde Exp $ DISTRIBUTION= compat1x diff --git a/lib/compat/compat20/Makefile b/lib/compat/compat20/Makefile index a9849be01d103..ebba2ff5e1091 100644 --- a/lib/compat/compat20/Makefile +++ b/lib/compat/compat20/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.2.2 1997/03/03 15:11:49 bde Exp $ DISTRIBUTION= compat20 diff --git a/lib/compat/compat21/Makefile b/lib/compat/compat21/Makefile index 50e2f230b218b..62cbdc3caa0ee 100644 --- a/lib/compat/compat21/Makefile +++ b/lib/compat/compat21/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.2.3 1997/03/03 15:11:52 bde Exp $ DISTRIBUTION= compat21 diff --git a/lib/csu/i386/Makefile b/lib/csu/i386/Makefile index 1b3e61f486790..e96e58b96500d 100644 --- a/lib/csu/i386/Makefile +++ b/lib/csu/i386/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.6 (Berkeley) 5/22/91 -# $Id$ +# $Id: Makefile,v 1.25.2.1 1997/03/03 14:57:06 bde Exp $ CFLAGS+= -DLIBC_SCCS -fno-omit-frame-pointer OBJS= crt0.o c++rt0.o gcrt0.o scrt0.o sgcrt0.o diff --git a/lib/csu/i386/c++rt0.c b/lib/csu/i386/c++rt0.c index 079c0986efdbb..9b397929e693e 100644 --- a/lib/csu/i386/c++rt0.c +++ b/lib/csu/i386/c++rt0.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: c++rt0.c,v 1.4 1996/01/15 17:53:25 jdp Exp $ + * $Id: c++rt0.c,v 1.5 1996/02/20 04:07:26 jdp Exp $ */ /* diff --git a/lib/csu/i386/crt0.c b/lib/csu/i386/crt0.c index a14a4081c9a5a..928f436d55f34 100644 --- a/lib/csu/i386/crt0.c +++ b/lib/csu/i386/crt0.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: crt0.c,v 1.24 1996/10/01 00:54:48 peter Exp $ + * $Id: crt0.c,v 1.25 1996/10/06 03:19:26 steve Exp $ */ #include <sys/param.h> diff --git a/lib/libc/db/docs/hash.usenix.ps b/lib/libc/db/docs/hash.usenix.ps index c884778830d2f..dcb73c1036301 100644 --- a/lib/libc/db/docs/hash.usenix.ps +++ b/lib/libc/db/docs/hash.usenix.ps @@ -7,7 +7,7 @@ % lib/psdit.pro -- prolog for psdit (ditroff) files % Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved. % last edit: shore Sat Nov 23 20:28:03 1985 -% RCSID: $Header: psdit.pro,v 2.1 85/11/24 12:19:43 shore Rel $ +% RCSID: $Header: /home/ncvs/src/lib/libc/db/docs/hash.usenix.ps,v 1.1.1.1 1996/02/27 01:59:15 pst Exp $ % Changed by Edward Wang (edward@ucbarpa.berkeley.edu) to handle graphics, % 17 Feb, 87. diff --git a/lib/libc/db/docs/libtp.usenix.ps b/lib/libc/db/docs/libtp.usenix.ps index ea821a9145e24..efd1975f3f3a3 100644 --- a/lib/libc/db/docs/libtp.usenix.ps +++ b/lib/libc/db/docs/libtp.usenix.ps @@ -7,7 +7,7 @@ % lib/psdit.pro -- prolog for psdit (ditroff) files % Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved. % last edit: shore Sat Nov 23 20:28:03 1985 -% RCSID: $Header: psdit.pro,v 2.1 85/11/24 12:19:43 shore Rel $ +% RCSID: $Header: /home/ncvs/src/lib/libc/db/docs/libtp.usenix.ps,v 1.1.1.1 1996/02/27 01:59:15 pst Exp $ % Changed by Edward Wang (edward@ucbarpa.berkeley.edu) to handle graphics, % 17 Feb, 87. diff --git a/lib/libc/db/man/mpool.3 b/lib/libc/db/man/mpool.3 index e625dc4514b5a..687a68ef848b4 100644 --- a/lib/libc/db/man/mpool.3 +++ b/lib/libc/db/man/mpool.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mpool.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ +.\" $Id: mpool.3,v 1.2 1996/10/05 22:26:32 wosch Exp $ .\" .TH MPOOL 3 "June 4, 1993" .UC 7 diff --git a/lib/libc/db/mpool/mpool.libtp b/lib/libc/db/mpool/mpool.libtp index 8c0fc27a0f626..766467843c25d 100644 --- a/lib/libc/db/mpool/mpool.libtp +++ b/lib/libc/db/mpool/mpool.libtp @@ -1,6 +1,6 @@ /****************************************************************************** -VERSION $Id: buf.c,v 1.26 92/01/09 09:15:26 margo Exp $ +VERSION $Id: mpool.libtp,v 1.1.1.1 1996/02/27 01:59:06 pst Exp $ PACKAGE: User Level Shared Memory Manager DESCRIPTION: diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 6d0ebb2d29662..b6981c665e6b0 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -1,5 +1,5 @@ # From: @(#)Makefile.inc 8.3 (Berkeley) 4/16/94 -# $Id: Makefile.inc,v 1.22.2.1 1997/02/17 14:50:42 mpp Exp $ +# $Id: Makefile.inc,v 1.22.2.2 1997/02/28 05:49:02 mpp Exp $ # machine-independent gen sources .PATH: ${.CURDIR}/${MACHINE}/gen ${.CURDIR}/gen diff --git a/lib/libc/gen/config.c b/lib/libc/gen/config.c index ffe276697990f..a86e864e42fee 100644 --- a/lib/libc/gen/config.c +++ b/lib/libc/gen/config.c @@ -6,12 +6,12 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: config.c,v 1.1 1994/11/13 20:47:43 phk Exp $ + * $Id: config.c,v 1.2 1995/05/30 05:40:09 rgrimes Exp $ * */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Id: config.c,v 1.1 1994/11/13 20:47:43 phk Exp $"; +static char rcsid[] = "$Id: config.c,v 1.2 1995/05/30 05:40:09 rgrimes Exp $"; #endif /* LIBC_SCCS and not lint */ /* diff --git a/lib/libc/gen/config_open.3 b/lib/libc/gen/config_open.3 index 7b7e36ca3a4e2..adb8568edb98e 100644 --- a/lib/libc/gen/config_open.3 +++ b/lib/libc/gen/config_open.3 @@ -5,7 +5,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: config_open.3,v 1.1 1994/11/13 20:47:44 phk Exp $ +.\" $Id: config_open.3,v 1.2 1996/01/30 16:32:41 mpp Exp $ .\" .Dd November 13, 1994 .Dt config_open 3 diff --git a/lib/libc/gen/crypt.c b/lib/libc/gen/crypt.c index c1417b8e4a61a..9308d3b4d2284 100644 --- a/lib/libc/gen/crypt.c +++ b/lib/libc/gen/crypt.c @@ -36,7 +36,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /* from static char sccsid[] = "@(#)crypt.c 5.11 (Berkeley) 6/25/91"; */ -static char rcsid[] = "$Header: /home/ncvs/src/lib/libc/gen/crypt.c,v 1.3 1995/05/30 05:40:10 rgrimes Exp $"; +static char rcsid[] = "$Header: /home/ncvs/src/lib/libc/gen/crypt.c,v 1.4 1995/10/22 14:36:04 phk Exp $"; #endif /* LIBC_SCCS and not lint */ #include <unistd.h> diff --git a/lib/libc/gen/disklabel.c b/lib/libc/gen/disklabel.c index ac2894e3bd070..92fbeaeedc35f 100644 --- a/lib/libc/gen/disklabel.c +++ b/lib/libc/gen/disklabel.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)disklabel.c 8.2 (Berkeley) 5/3/95"; #endif static const char rcsid[] = - "$Id$"; + "$Id: disklabel.c,v 1.3 1996/03/19 13:44:57 bde Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/lib/libc/gen/err.3 b/lib/libc/gen/err.3 index 047ed17725b38..cd22bbf40901c 100644 --- a/lib/libc/gen/err.3 +++ b/lib/libc/gen/err.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)err.3 8.1 (Berkeley) 6/9/93 -.\" $Id: err.3,v 1.3 1996/02/11 22:33:27 mpp Exp $ +.\" $Id: err.3,v 1.4 1996/08/22 23:25:29 mpp Exp $ .\" .Dd April 13, 1995 .Dt ERR 3 diff --git a/lib/libc/gen/fts.3 b/lib/libc/gen/fts.3 index e1dfb99ea8370..3564500d3a3e4 100644 --- a/lib/libc/gen/fts.3 +++ b/lib/libc/gen/fts.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 -.\" $Id: fts.3,v 1.3 1997/03/09 00:43:49 mpp Exp $ +.\" $Id: fts.3,v 1.2.2.1 1997/03/09 00:51:54 mpp Exp $ .\" .Dd April 16, 1994 .Dt FTS 3 diff --git a/lib/libc/gen/getbootfile.3 b/lib/libc/gen/getbootfile.3 index 5f40e19155e73..156b8c6a063d7 100644 --- a/lib/libc/gen/getbootfile.3 +++ b/lib/libc/gen/getbootfile.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)gethostname.3 8.1 (Berkeley) 6/4/93 -.\" $Id: getbootfile.3,v 1.2 1996/02/11 22:33:31 mpp Exp $ +.\" $Id: getbootfile.3,v 1.3 1996/08/22 22:04:15 mpp Exp $ .\" .Dd September 23, 1994 .Dt GETBOOTFILE 3 diff --git a/lib/libc/gen/getbootfile.c b/lib/libc/gen/getbootfile.c index 3d038514051e5..cd42924b4a137 100644 --- a/lib/libc/gen/getbootfile.c +++ b/lib/libc/gen/getbootfile.c @@ -34,7 +34,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char sccsid[] = "From: @(#)gethostname.c 8.1 (Berkeley) 6/4/93";*/ static const char rcsid[] = - "$Id: getbootfile.c,v 1.1 1994/09/23 20:22:01 wollman Exp $"; + "$Id: getbootfile.c,v 1.2 1994/09/24 00:10:13 wollman Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/gen/getdomainname.3 b/lib/libc/gen/getdomainname.3 index a37aa80fc0d97..7d90c6aa1d98b 100644 --- a/lib/libc/gen/getdomainname.3 +++ b/lib/libc/gen/getdomainname.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)gethostname.3 8.1 (Berkeley) 6/4/93 -.\" $Id: getdomainname.3,v 1.8 1997/02/22 14:58:06 peter Exp $ +.\" $Id: getdomainname.3,v 1.3.2.3 1997/02/28 05:49:09 mpp Exp $ .\" .Dd May 6, 1994 .Dt GETDOMAINNAME 3 diff --git a/lib/libc/gen/getdomainname.c b/lib/libc/gen/getdomainname.c index 1aeeb4a240e7c..6efa8eb2a20d6 100644 --- a/lib/libc/gen/getdomainname.c +++ b/lib/libc/gen/getdomainname.c @@ -36,7 +36,7 @@ static char sccsid[] = "From: @(#)gethostname.c 8.1 (Berkeley) 6/4/93"; */ static const char rcsid[] = - "$Id: getdomainname.c,v 1.2 1996/07/12 19:55:19 wollman Exp $"; + "$Id: getdomainname.c,v 1.3 1996/07/25 18:03:52 wollman Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/gen/getgrent.3 b/lib/libc/gen/getgrent.3 index 57591595f60fe..7f7079d231a4f 100644 --- a/lib/libc/gen/getgrent.3 +++ b/lib/libc/gen/getgrent.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)getgrent.3 8.2 (Berkeley) 4/19/94 -.\" $Id: getgrent.3,v 1.10 1997/02/28 05:46:19 mpp Exp $ +.\" $Id: getgrent.3,v 1.5.2.1 1997/02/28 05:49:11 mpp Exp $ .\" .Dd September 29, 1994 .Dt GETGRENT 3 diff --git a/lib/libc/gen/getosreldate.c b/lib/libc/gen/getosreldate.c index 808e16b56e705..24ca543057212 100644 --- a/lib/libc/gen/getosreldate.c +++ b/lib/libc/gen/getosreldate.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)gethostid.c 8.1 (Berkeley) 6/2/93"; */ static const char rcsid[] = - "$Id$"; + "$Id: getosreldate.c,v 1.1 1994/08/10 06:27:35 wollman Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/gen/getvfsent.3 b/lib/libc/gen/getvfsent.3 index 2f078b818a0d5..e034e173e6d2e 100644 --- a/lib/libc/gen/getvfsent.3 +++ b/lib/libc/gen/getvfsent.3 @@ -1,4 +1,4 @@ -.\" $Id: getvfsent.3,v 1.7 1997/02/22 14:58:10 peter Exp $ +.\" $Id: getvfsent.3,v 1.4.2.1 1997/02/28 05:49:18 mpp Exp $ .\" Written by Garrett A. Wollman, September 1994. .\" This manual page is in the public domain. .\" diff --git a/lib/libc/gen/ntp_gettime.c b/lib/libc/gen/ntp_gettime.c index feae846fbc2ea..4f832b98f888c 100644 --- a/lib/libc/gen/ntp_gettime.c +++ b/lib/libc/gen/ntp_gettime.c @@ -33,7 +33,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static const char rcsid[] = - "$Id: ntp_gettime.c,v 1.1 1994/09/18 20:29:46 wollman Exp $"; + "$Id: ntp_gettime.c,v 1.2 1994/09/19 22:04:28 ache Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/gen/pause.3 b/lib/libc/gen/pause.3 index 4cf7ed529426a..4c088bfc21149 100644 --- a/lib/libc/gen/pause.3 +++ b/lib/libc/gen/pause.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pause.3 8.1 (Berkeley) 6/4/93 -.\" $Id: pause.3,v 1.2 1997/03/09 00:42:46 mpp Exp $ +.\" $Id: pause.3,v 1.1.1.1.8.1 1997/03/09 00:51:58 mpp Exp $ .\" .Dd June 4, 1993 .Dt PAUSE 3 diff --git a/lib/libc/gen/setdomainname.c b/lib/libc/gen/setdomainname.c index 453614eabc732..2e4ddd419a45b 100644 --- a/lib/libc/gen/setdomainname.c +++ b/lib/libc/gen/setdomainname.c @@ -36,7 +36,7 @@ static char sccsid[] = "From: @(#)sethostname.c 8.1 (Berkeley) 6/4/93"; */ static const char rcsid[] = - "$Id: setdomainname.c,v 1.2 1996/07/12 19:55:20 wollman Exp $"; + "$Id: setdomainname.c,v 1.3 1996/07/25 18:03:53 wollman Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/gen/shmat.c b/lib/libc/gen/shmat.c index b38a6a5e09381..0b3ae765f4392 100644 --- a/lib/libc/gen/shmat.c +++ b/lib/libc/gen/shmat.c @@ -1,5 +1,5 @@ #if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$Id: shmat.c,v 1.2 1993/10/10 12:01:26 rgrimes Exp $"; +static char *rcsid = "$Id: shmat.c,v 1.1 1994/09/13 14:52:28 dfr Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/gen/shmctl.c b/lib/libc/gen/shmctl.c index 1bb384cff063d..2e43c666632ba 100644 --- a/lib/libc/gen/shmctl.c +++ b/lib/libc/gen/shmctl.c @@ -1,5 +1,5 @@ #if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$Id: shmctl.c,v 1.2 1993/10/10 12:01:28 rgrimes Exp $"; +static char *rcsid = "$Id: shmctl.c,v 1.1 1994/09/13 14:52:30 dfr Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/gen/shmdt.c b/lib/libc/gen/shmdt.c index fde6078704e7e..989a52401491c 100644 --- a/lib/libc/gen/shmdt.c +++ b/lib/libc/gen/shmdt.c @@ -1,5 +1,5 @@ #if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$Id: shmdt.c,v 1.2 1993/10/10 12:01:29 rgrimes Exp $"; +static char *rcsid = "$Id: shmdt.c,v 1.1 1994/09/13 14:52:31 dfr Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/gen/shmget.c b/lib/libc/gen/shmget.c index 455ea888a8696..dc4c40ddc89ba 100644 --- a/lib/libc/gen/shmget.c +++ b/lib/libc/gen/shmget.c @@ -1,5 +1,5 @@ #if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$Id: shmget.c,v 1.1 1993/09/27 00:57:49 rgrimes Exp $"; +static char *rcsid = "$Id: shmget.c,v 1.1 1994/09/13 14:52:32 dfr Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/gen/syslog.c b/lib/libc/gen/syslog.c index a355eb2ca9de4..1d34f0a3101ae 100644 --- a/lib/libc/gen/syslog.c +++ b/lib/libc/gen/syslog.c @@ -36,7 +36,7 @@ static char sccsid[] = "From: @(#)syslog.c 8.4 (Berkeley) 3/18/94"; */ static const char rcsid[] = - "$Id: syslog.c,v 1.8 1996/03/02 19:56:16 peter Exp $"; + "$Id: syslog.c,v 1.9 1996/07/12 18:54:07 jkh Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/gen/ualarm.3 b/lib/libc/gen/ualarm.3 index b9f73aa6d65f0..340924497ad42 100644 --- a/lib/libc/gen/ualarm.3 +++ b/lib/libc/gen/ualarm.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ualarm.3 8.2 (Berkeley) 4/19/94 -.\" $Id: ualarm.3,v 1.5 1997/02/22 14:58:19 peter Exp $ +.\" $Id: ualarm.3,v 1.2.2.1 1997/02/28 05:49:27 mpp Exp $ .\" .Dd April 19, 1994 .Dt UALARM 3 diff --git a/lib/libc/gen/uname.c b/lib/libc/gen/uname.c index 93f659e578430..62027c6cc488c 100644 --- a/lib/libc/gen/uname.c +++ b/lib/libc/gen/uname.c @@ -34,7 +34,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char sccsid[] = "From: @(#)uname.c 8.1 (Berkeley) 1/4/94";*/ static const char rcsid[] = - "$Id: uname.c,v 1.3 1995/05/30 05:40:29 rgrimes Exp $"; + "$Id: uname.c,v 1.4 1995/07/31 10:10:02 mpp Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/gen/vis.3 b/lib/libc/gen/vis.3 index 9054ac84b780d..71c777bed8b92 100644 --- a/lib/libc/gen/vis.3 +++ b/lib/libc/gen/vis.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)vis.3 8.1 (Berkeley) 6/9/93 -.\" $Id: vis.3,v 1.3 1996/08/22 23:26:15 mpp Exp $ +.\" $Id: vis.3,v 1.4 1996/08/23 00:26:01 mpp Exp $ .\" .Dd July 25, 1996 .Dt VIS 3 diff --git a/lib/libc/gmon/mcount.c b/lib/libc/gmon/mcount.c index b44af9920ed3d..f80cf2323979c 100644 --- a/lib/libc/gmon/mcount.c +++ b/lib/libc/gmon/mcount.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)mcount.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id: mcount.c,v 1.6 1996/05/02 08:43:37 phk Exp $"; + "$Id: mcount.c,v 1.7 1996/08/28 20:15:32 bde Exp $"; #endif #include <sys/param.h> diff --git a/lib/libc/i386/DEFS.h b/lib/libc/i386/DEFS.h index e3a70eee0e1fb..89208dde62528 100644 --- a/lib/libc/i386/DEFS.h +++ b/lib/libc/i386/DEFS.h @@ -35,7 +35,7 @@ * * from: @(#)DEFS.h 5.1 (Berkeley) 4/23/90 * - * $Id: DEFS.h,v 1.3 1996/05/05 07:56:02 peter Exp $ + * $Id: DEFS.h,v 1.3.2.1 1997/02/14 11:08:46 bde Exp $ */ #include <sys/cdefs.h> diff --git a/lib/libc/i386/SYS.h b/lib/libc/i386/SYS.h index 60cfed8bc9386..d37bc12ccfd16 100644 --- a/lib/libc/i386/SYS.h +++ b/lib/libc/i386/SYS.h @@ -35,7 +35,7 @@ * * from: @(#)SYS.h 5.5 (Berkeley) 5/7/91 * - * $Id: SYS.h,v 1.7 1996/10/31 17:50:45 dyson Exp $ + * $Id: SYS.h,v 1.7.2.1 1997/02/14 11:08:47 bde Exp $ */ #include <sys/syscall.h> diff --git a/lib/libc/i386/gen/Makefile.inc b/lib/libc/i386/gen/Makefile.inc index 387aebffef0f0..e27d9fc4a3a5e 100644 --- a/lib/libc/i386/gen/Makefile.inc +++ b/lib/libc/i386/gen/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id: Makefile.inc,v 1.5 1995/01/23 01:26:39 davidg Exp $ +# $Id: Makefile.inc,v 1.6 1995/10/05 10:24:57 phk Exp $ SRCS+= isinf.c infinity.c SRCS+= _setjmp.S alloca.S fabs.S ldexp.c modf.S setjmp.S sigsetjmp.S diff --git a/lib/libc/i386/gen/_setjmp.S b/lib/libc/i386/gen/_setjmp.S index 23a2cdea0a034..ffd20b75a9747 100644 --- a/lib/libc/i386/gen/_setjmp.S +++ b/lib/libc/i386/gen/_setjmp.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: _setjmp.S,v 1.3 1995/01/23 01:26:41 davidg Exp $ + * $Id: _setjmp.S,v 1.4 1996/01/22 00:00:52 julian Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: _setjmp.S,v 1.3 1995/01/23 01:26:41 davidg Exp $" + .asciz "$Id: _setjmp.S,v 1.4 1996/01/22 00:00:52 julian Exp $" #endif /* LIBC_RCS and not lint */ /* diff --git a/lib/libc/i386/gen/alloca.S b/lib/libc/i386/gen/alloca.S index f76b37bc1a15d..ce9cb1901ee1b 100644 --- a/lib/libc/i386/gen/alloca.S +++ b/lib/libc/i386/gen/alloca.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: alloca.S,v 1.2 1995/01/23 01:26:44 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: alloca.S,v 1.2 1995/01/23 01:26:44 davidg Exp $" #endif /* LIBC_RCS and not lint */ /* like alloc, but automatic automatic free in return */ diff --git a/lib/libc/i386/gen/fabs.S b/lib/libc/i386/gen/fabs.S index 5ae53705ffa63..dc7c470db9125 100644 --- a/lib/libc/i386/gen/fabs.S +++ b/lib/libc/i386/gen/fabs.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: fabs.S,v 1.2 1995/01/23 01:26:48 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: fabs.S,v 1.2 1995/01/23 01:26:48 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/gen/frexp.c b/lib/libc/i386/gen/frexp.c index aba48025ff5a9..1d703c29df07d 100644 --- a/lib/libc/i386/gen/frexp.c +++ b/lib/libc/i386/gen/frexp.c @@ -30,11 +30,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: frexp.c,v 1.2 1995/01/23 01:26:55 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) -static const char rcsid[] = "$Id$"; +static const char rcsid[] = "$Id: frexp.c,v 1.2 1995/01/23 01:26:55 davidg Exp $"; #endif /* LIBC_RCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/i386/gen/infinity.c b/lib/libc/i386/gen/infinity.c index e46f676a3f6df..11929ba9ce250 100644 --- a/lib/libc/i386/gen/infinity.c +++ b/lib/libc/i386/gen/infinity.c @@ -1,6 +1,6 @@ /* * infinity.c - * $Id$ + * $Id: infinity.c,v 1.2 1995/01/23 01:26:57 davidg Exp $ */ #include <math.h> diff --git a/lib/libc/i386/gen/isinf.c b/lib/libc/i386/gen/isinf.c index a121edaa3b567..8ae16c38bc02a 100644 --- a/lib/libc/i386/gen/isinf.c +++ b/lib/libc/i386/gen/isinf.c @@ -30,11 +30,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: isinf.c,v 1.2 1995/01/23 01:27:00 davidg Exp $ + * $Id: isinf.c,v 1.3 1996/07/12 18:54:26 jkh Exp $ */ #if defined(LIBC_RCS) && !defined(lint) -static const char rcsid[] = "$Id: isinf.c,v 1.2 1995/01/23 01:27:00 davidg Exp $"; +static const char rcsid[] = "$Id: isinf.c,v 1.3 1996/07/12 18:54:26 jkh Exp $"; #endif /* LIBC_RCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/i386/gen/ldexp.c b/lib/libc/i386/gen/ldexp.c index 8b63f528dc8c2..9c10f9b46a599 100644 --- a/lib/libc/i386/gen/ldexp.c +++ b/lib/libc/i386/gen/ldexp.c @@ -33,11 +33,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: ldexp.c,v 1.3 1995/01/23 01:27:02 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) -static const char rcsid[] = "$Id$"; +static const char rcsid[] = "$Id: ldexp.c,v 1.3 1995/01/23 01:27:02 davidg Exp $"; #endif /* LIBC_RCS and not lint */ /* diff --git a/lib/libc/i386/gen/modf.S b/lib/libc/i386/gen/modf.S index 34a89ed4dbce5..335d57e06aca4 100644 --- a/lib/libc/i386/gen/modf.S +++ b/lib/libc/i386/gen/modf.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: modf.S,v 1.2 1995/01/23 01:27:05 davidg Exp $ + * $Id: modf.S,v 1.3 1996/05/05 07:56:05 peter Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: modf.S,v 1.2 1995/01/23 01:27:05 davidg Exp $" + .asciz "$Id: modf.S,v 1.3 1996/05/05 07:56:05 peter Exp $" #endif /* LIBC_RCS and not lint */ /* diff --git a/lib/libc/i386/gen/setjmp.S b/lib/libc/i386/gen/setjmp.S index 078b2ebc089e0..a8fe6d0bfb614 100644 --- a/lib/libc/i386/gen/setjmp.S +++ b/lib/libc/i386/gen/setjmp.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: setjmp.S,v 1.4 1996/01/22 00:00:53 julian Exp $ + * $Id: setjmp.S,v 1.5 1996/05/05 07:56:06 peter Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: setjmp.S,v 1.4 1996/01/22 00:00:53 julian Exp $" + .asciz "$Id: setjmp.S,v 1.5 1996/05/05 07:56:06 peter Exp $" #endif /* LIBC_RCS and not lint */ /* diff --git a/lib/libc/i386/gen/sigsetjmp.S b/lib/libc/i386/gen/sigsetjmp.S index ff6ed8d8f471b..818318414d927 100644 --- a/lib/libc/i386/gen/sigsetjmp.S +++ b/lib/libc/i386/gen/sigsetjmp.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sigsetjmp.S,v 1.7 1996/05/05 07:56:07 peter Exp $ + * $Id: sigsetjmp.S,v 1.8 1996/05/11 13:28:11 jdp Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: sigsetjmp.S,v 1.7 1996/05/05 07:56:07 peter Exp $" + .asciz "$Id: sigsetjmp.S,v 1.8 1996/05/11 13:28:11 jdp Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/net/Makefile.inc b/lib/libc/i386/net/Makefile.inc index dff7fd1066b7a..c53f780add9d2 100644 --- a/lib/libc/i386/net/Makefile.inc +++ b/lib/libc/i386/net/Makefile.inc @@ -1,4 +1,4 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile.inc,v 1.3 1995/01/23 01:27:57 davidg Exp $ SRCS+= htonl.S htons.S ntohl.S ntohs.S diff --git a/lib/libc/i386/net/htonl.S b/lib/libc/i386/net/htonl.S index 095c40a6fa731..226d3b5dc4d29 100644 --- a/lib/libc/i386/net/htonl.S +++ b/lib/libc/i386/net/htonl.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: htonl.S,v 1.2 1995/01/23 01:28:00 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: htonl.S,v 1.2 1995/01/23 01:28:00 davidg Exp $" #endif /* LIBC_RCS and not lint */ /* netorder = htonl(hostorder) */ diff --git a/lib/libc/i386/net/htons.S b/lib/libc/i386/net/htons.S index 238dfc24d36b0..832b9e6495c9b 100644 --- a/lib/libc/i386/net/htons.S +++ b/lib/libc/i386/net/htons.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: htons.S,v 1.2 1995/01/23 01:28:03 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: htons.S,v 1.2 1995/01/23 01:28:03 davidg Exp $" #endif /* LIBC_RCS and not lint */ /* netorder = htons(hostorder) */ diff --git a/lib/libc/i386/net/ntohl.S b/lib/libc/i386/net/ntohl.S index 5af5008c437bd..76a3bb95825c9 100644 --- a/lib/libc/i386/net/ntohl.S +++ b/lib/libc/i386/net/ntohl.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: ntohl.S,v 1.2 1995/01/23 01:28:05 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: ntohl.S,v 1.2 1995/01/23 01:28:05 davidg Exp $" #endif /* LIBC_RCS and not lint */ /* hostorder = ntohl(netorder) */ diff --git a/lib/libc/i386/net/ntohs.S b/lib/libc/i386/net/ntohs.S index 4bed4a2c19c8f..b63bd87c6bfe0 100644 --- a/lib/libc/i386/net/ntohs.S +++ b/lib/libc/i386/net/ntohs.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: ntohs.S,v 1.2 1995/01/23 01:28:09 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: ntohs.S,v 1.2 1995/01/23 01:28:09 davidg Exp $" #endif /* LIBC_RCS and not lint */ /* hostorder = ntohs(netorder) */ diff --git a/lib/libc/i386/stdlib/Makefile.inc b/lib/libc/i386/stdlib/Makefile.inc index 65ce3481497f7..8b544afb20e49 100644 --- a/lib/libc/i386/stdlib/Makefile.inc +++ b/lib/libc/i386/stdlib/Makefile.inc @@ -1,4 +1,4 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile.inc,v 1.3 1995/01/23 01:28:28 davidg Exp $ SRCS+= abs.S diff --git a/lib/libc/i386/stdlib/abs.S b/lib/libc/i386/stdlib/abs.S index 4915d16641b59..35139c89bc817 100644 --- a/lib/libc/i386/stdlib/abs.S +++ b/lib/libc/i386/stdlib/abs.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: abs.S,v 1.3 1995/01/23 01:28:31 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: abs.S,v 1.3 1995/01/23 01:28:31 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/stdlib/div.S b/lib/libc/i386/stdlib/div.S index b4f89d280955a..394e79dd196f5 100644 --- a/lib/libc/i386/stdlib/div.S +++ b/lib/libc/i386/stdlib/div.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: div.S,v 1.1 1993/12/04 21:46:15 ats Exp $ + * $Id: div.S,v 1.1 1994/08/05 01:18:19 wollman Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: div.S,v 1.1 1993/12/04 21:46:15 ats Exp $" + .asciz "$Id: div.S,v 1.1 1994/08/05 01:18:19 wollman Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/stdlib/labs.S b/lib/libc/i386/stdlib/labs.S index 5c5afe142bbcd..ea86cf3532e2b 100644 --- a/lib/libc/i386/stdlib/labs.S +++ b/lib/libc/i386/stdlib/labs.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: labs.S,v 1.3 1995/01/23 01:28:33 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: labs.S,v 1.3 1995/01/23 01:28:33 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/stdlib/ldiv.S b/lib/libc/i386/stdlib/ldiv.S index de7bb948ab4ce..2fd7b1735787f 100644 --- a/lib/libc/i386/stdlib/ldiv.S +++ b/lib/libc/i386/stdlib/ldiv.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ldiv.S,v 1.1 1993/12/04 21:46:17 ats Exp $ + * $Id: ldiv.S,v 1.1 1994/08/05 01:18:21 wollman Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: ldiv.S,v 1.1 1993/12/04 21:46:17 ats Exp $" + .asciz "$Id: ldiv.S,v 1.1 1994/08/05 01:18:21 wollman Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/Makefile.inc b/lib/libc/i386/string/Makefile.inc index be5827f0e4cf5..df9bf9855ea2b 100644 --- a/lib/libc/i386/string/Makefile.inc +++ b/lib/libc/i386/string/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile.inc,v 1.4 1995/01/23 01:28:45 davidg Exp $ SRCS+= bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S \ memmove.S memset.S \ diff --git a/lib/libc/i386/string/bcmp.S b/lib/libc/i386/string/bcmp.S index c15975a3b685d..8452fdf8728af 100644 --- a/lib/libc/i386/string/bcmp.S +++ b/lib/libc/i386/string/bcmp.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: bcmp.S,v 1.1 1994/08/05 01:18:23 wollman Exp $ + * $Id: bcmp.S,v 1.2 1995/01/23 01:28:47 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: bcmp.S,v 1.1 1994/08/05 01:18:23 wollman Exp $" + .asciz "$Id: bcmp.S,v 1.2 1995/01/23 01:28:47 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/bcopy.S b/lib/libc/i386/string/bcopy.S index 6d9993825a046..8eede65c496ff 100644 --- a/lib/libc/i386/string/bcopy.S +++ b/lib/libc/i386/string/bcopy.S @@ -32,12 +32,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: bcopy.S,v 1.2 1995/01/23 01:28:49 davidg Exp $ + * $Id: bcopy.S,v 1.3 1995/12/27 18:47:44 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: bcopy.S,v 1.2 1995/01/23 01:28:49 davidg Exp $" + .asciz "$Id: bcopy.S,v 1.3 1995/12/27 18:47:44 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/bzero.S b/lib/libc/i386/string/bzero.S index 74a1d03c46eef..1fe7299449c4d 100644 --- a/lib/libc/i386/string/bzero.S +++ b/lib/libc/i386/string/bzero.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: bzero.S,v 1.1 1994/08/05 01:18:25 wollman Exp $ + * $Id: bzero.S,v 1.2 1995/01/23 01:28:52 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: bzero.S,v 1.1 1994/08/05 01:18:25 wollman Exp $" + .asciz "$Id: bzero.S,v 1.2 1995/01/23 01:28:52 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/ffs.S b/lib/libc/i386/string/ffs.S index 69ef90e17ec66..e42c8a1b74c4b 100644 --- a/lib/libc/i386/string/ffs.S +++ b/lib/libc/i386/string/ffs.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ffs.S,v 1.1 1994/08/05 01:18:26 wollman Exp $ + * $Id: ffs.S,v 1.2 1995/01/23 01:28:54 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: ffs.S,v 1.1 1994/08/05 01:18:26 wollman Exp $" + .asciz "$Id: ffs.S,v 1.2 1995/01/23 01:28:54 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/index.S b/lib/libc/i386/string/index.S index f7b0d8d53e858..a9984f6f79d22 100644 --- a/lib/libc/i386/string/index.S +++ b/lib/libc/i386/string/index.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: index.S,v 1.1 1994/08/05 01:18:27 wollman Exp $ + * $Id: index.S,v 1.2 1995/01/23 01:28:56 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: index.S,v 1.1 1994/08/05 01:18:27 wollman Exp $" + .asciz "$Id: index.S,v 1.2 1995/01/23 01:28:56 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/memchr.S b/lib/libc/i386/string/memchr.S index dd989d4c01f05..236f7d8f12ec7 100644 --- a/lib/libc/i386/string/memchr.S +++ b/lib/libc/i386/string/memchr.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: memchr.S,v 1.4 1994/11/25 08:58:53 davidg Exp $ + * $Id: memchr.S,v 1.5 1995/01/23 01:28:58 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: memchr.S,v 1.4 1994/11/25 08:58:53 davidg Exp $" + .asciz "$Id: memchr.S,v 1.5 1995/01/23 01:28:58 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/memcmp.S b/lib/libc/i386/string/memcmp.S index f43329d8e724f..919632f0d634f 100644 --- a/lib/libc/i386/string/memcmp.S +++ b/lib/libc/i386/string/memcmp.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: memcmp.S,v 1.1 1994/08/05 01:18:29 wollman Exp $ + * $Id: memcmp.S,v 1.2 1995/01/23 01:29:00 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: memcmp.S,v 1.1 1994/08/05 01:18:29 wollman Exp $" + .asciz "$Id: memcmp.S,v 1.2 1995/01/23 01:29:00 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/memmove.S b/lib/libc/i386/string/memmove.S index 497af4fceaccf..33e3d94ffb4bc 100644 --- a/lib/libc/i386/string/memmove.S +++ b/lib/libc/i386/string/memmove.S @@ -32,12 +32,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: memmove.S,v 1.2 1995/01/23 01:29:02 davidg Exp $ + * $Id: memmove.S,v 1.3 1995/12/27 18:47:45 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: memmove.S,v 1.2 1995/01/23 01:29:02 davidg Exp $" + .asciz "$Id: memmove.S,v 1.3 1995/12/27 18:47:45 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/memset.S b/lib/libc/i386/string/memset.S index 412bcbb2cca91..3b84777b4b9de 100644 --- a/lib/libc/i386/string/memset.S +++ b/lib/libc/i386/string/memset.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: memset.S,v 1.1 1994/08/05 01:18:30 wollman Exp $ + * $Id: memset.S,v 1.2 1995/01/23 01:29:04 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: memset.S,v 1.1 1994/08/05 01:18:30 wollman Exp $" + .asciz "$Id: memset.S,v 1.2 1995/01/23 01:29:04 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/rindex.S b/lib/libc/i386/string/rindex.S index 53af042ab1856..5d7718ae2a1bb 100644 --- a/lib/libc/i386/string/rindex.S +++ b/lib/libc/i386/string/rindex.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: rindex.S,v 1.1 1994/08/05 01:18:31 wollman Exp $ + * $Id: rindex.S,v 1.2 1995/01/23 01:29:06 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: rindex.S,v 1.1 1994/08/05 01:18:31 wollman Exp $" + .asciz "$Id: rindex.S,v 1.2 1995/01/23 01:29:06 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/strcat.S b/lib/libc/i386/string/strcat.S index 9d5e119cb56be..f5166a5e68b0a 100644 --- a/lib/libc/i386/string/strcat.S +++ b/lib/libc/i386/string/strcat.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: strcat.S,v 1.1 1994/08/05 01:18:32 wollman Exp $ + * $Id: strcat.S,v 1.2 1995/01/23 01:29:09 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: strcat.S,v 1.1 1994/08/05 01:18:32 wollman Exp $" + .asciz "$Id: strcat.S,v 1.2 1995/01/23 01:29:09 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/strchr.S b/lib/libc/i386/string/strchr.S index dd2e680545a22..97ed471e42dea 100644 --- a/lib/libc/i386/string/strchr.S +++ b/lib/libc/i386/string/strchr.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: strchr.S,v 1.1 1994/08/05 01:18:33 wollman Exp $ + * $Id: strchr.S,v 1.2 1995/01/23 01:29:12 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: strchr.S,v 1.1 1994/08/05 01:18:33 wollman Exp $" + .asciz "$Id: strchr.S,v 1.2 1995/01/23 01:29:12 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/strcmp.S b/lib/libc/i386/string/strcmp.S index ef076c51dd282..434a0aed91c39 100644 --- a/lib/libc/i386/string/strcmp.S +++ b/lib/libc/i386/string/strcmp.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: strcmp.S,v 1.1 1994/08/05 01:18:34 wollman Exp $ + * $Id: strcmp.S,v 1.2 1995/01/23 01:29:14 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: strcmp.S,v 1.1 1994/08/05 01:18:34 wollman Exp $" + .asciz "$Id: strcmp.S,v 1.2 1995/01/23 01:29:14 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/strcpy.S b/lib/libc/i386/string/strcpy.S index 2d93e46455266..c74651cfbb066 100644 --- a/lib/libc/i386/string/strcpy.S +++ b/lib/libc/i386/string/strcpy.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: strcpy.S,v 1.1 1994/08/05 01:18:34 wollman Exp $ + * $Id: strcpy.S,v 1.2 1995/01/23 01:29:17 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: strcpy.S,v 1.1 1994/08/05 01:18:34 wollman Exp $" + .asciz "$Id: strcpy.S,v 1.2 1995/01/23 01:29:17 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/strlen.S b/lib/libc/i386/string/strlen.S index 16eee1aba4560..00da10187875a 100644 --- a/lib/libc/i386/string/strlen.S +++ b/lib/libc/i386/string/strlen.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: strlen.S,v 1.1 1994/08/05 01:18:35 wollman Exp $ + * $Id: strlen.S,v 1.2 1995/01/23 01:29:19 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: strlen.S,v 1.1 1994/08/05 01:18:35 wollman Exp $" + .asciz "$Id: strlen.S,v 1.2 1995/01/23 01:29:19 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/strncmp.S b/lib/libc/i386/string/strncmp.S index 20788bd9eadc5..adea7752dd54c 100644 --- a/lib/libc/i386/string/strncmp.S +++ b/lib/libc/i386/string/strncmp.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: strncmp.S,v 1.2 1994/12/27 13:12:34 bde Exp $ + * $Id: strncmp.S,v 1.3 1995/01/23 01:29:21 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: strncmp.S,v 1.2 1994/12/27 13:12:34 bde Exp $" + .asciz "$Id: strncmp.S,v 1.3 1995/01/23 01:29:21 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/strrchr.S b/lib/libc/i386/string/strrchr.S index 28f063795ad12..8ee670d8c974f 100644 --- a/lib/libc/i386/string/strrchr.S +++ b/lib/libc/i386/string/strrchr.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: strrchr.S,v 1.1 1994/08/05 01:18:37 wollman Exp $ + * $Id: strrchr.S,v 1.2 1995/01/23 01:29:23 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: strrchr.S,v 1.1 1994/08/05 01:18:37 wollman Exp $" + .asciz "$Id: strrchr.S,v 1.2 1995/01/23 01:29:23 davidg Exp $" #endif /* LIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/string/swab.S b/lib/libc/i386/string/swab.S index 87deded2443b6..6e062449521db 100644 --- a/lib/libc/i386/string/swab.S +++ b/lib/libc/i386/string/swab.S @@ -27,12 +27,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: swab.S,v 1.1 1995/01/22 21:36:15 davidg Exp $ + * $Id: swab.S,v 1.2 1995/01/23 01:29:25 davidg Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: swab.S,v 1.1 1995/01/22 21:36:15 davidg Exp $" + .asciz "$Id: swab.S,v 1.2 1995/01/23 01:29:25 davidg Exp $" #endif #include "DEFS.h" diff --git a/lib/libc/i386/sys/Makefile.inc b/lib/libc/i386/sys/Makefile.inc index 6774dd3425a95..4bbec8b7a7b67 100644 --- a/lib/libc/i386/sys/Makefile.inc +++ b/lib/libc/i386/sys/Makefile.inc @@ -1,5 +1,5 @@ # from: Makefile.inc,v 1.1 1993/09/03 19:04:23 jtc Exp -# $Id$ +# $Id: Makefile.inc,v 1.2 1994/02/21 05:19:06 rgrimes Exp $ .PATH: ${.CURDIR}/${MACHINE}/sys diff --git a/lib/libc/i386/sys/Ovfork.S b/lib/libc/i386/sys/Ovfork.S index 2b69ca0c16d41..2d8c4950dce1f 100644 --- a/lib/libc/i386/sys/Ovfork.S +++ b/lib/libc/i386/sys/Ovfork.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: Ovfork.S,v 1.3 1996/01/22 00:00:56 julian Exp $ + * $Id: Ovfork.S,v 1.4 1996/05/05 07:56:09 peter Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: Ovfork.S,v 1.3 1996/01/22 00:00:56 julian Exp $" + .asciz "$Id: Ovfork.S,v 1.4 1996/05/05 07:56:09 peter Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "DEFS.h" diff --git a/lib/libc/i386/sys/brk.S b/lib/libc/i386/sys/brk.S index 2ae87fa32f8bd..94bc49011ac69 100644 --- a/lib/libc/i386/sys/brk.S +++ b/lib/libc/i386/sys/brk.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: brk.S,v 1.3 1996/05/05 07:56:10 peter Exp $ + * $Id: brk.S,v 1.4 1996/06/25 18:54:42 bde Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: brk.S,v 1.3 1996/05/05 07:56:10 peter Exp $" + .asciz "$Id: brk.S,v 1.4 1996/06/25 18:54:42 bde Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/cerror.S b/lib/libc/i386/sys/cerror.S index 632939b9d8246..f31555301e0e6 100644 --- a/lib/libc/i386/sys/cerror.S +++ b/lib/libc/i386/sys/cerror.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cerror.S,v 1.5 1996/05/05 07:56:11 peter Exp $ + * $Id: cerror.S,v 1.6 1996/05/10 16:43:47 peter Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: cerror.S,v 1.5 1996/05/05 07:56:11 peter Exp $" + .asciz "$Id: cerror.S,v 1.6 1996/05/10 16:43:47 peter Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/exect.S b/lib/libc/i386/sys/exect.S index 59ce389f29783..fbe13b4777438 100644 --- a/lib/libc/i386/sys/exect.S +++ b/lib/libc/i386/sys/exect.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: exect.S,v 1.2 1995/01/23 01:29:46 davidg Exp $ + * $Id: exect.S,v 1.3 1996/05/05 07:56:12 peter Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: exect.S,v 1.2 1995/01/23 01:29:46 davidg Exp $" + .asciz "$Id: exect.S,v 1.3 1996/05/05 07:56:12 peter Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/fork.S b/lib/libc/i386/sys/fork.S index aae2ff9e8f75d..d97816648a777 100644 --- a/lib/libc/i386/sys/fork.S +++ b/lib/libc/i386/sys/fork.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: fork.S,v 1.4 1996/05/05 07:56:13 peter Exp $ + * $Id: fork.S,v 1.5 1996/08/20 08:19:58 julian Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: fork.S,v 1.4 1996/05/05 07:56:13 peter Exp $" + .asciz "$Id: fork.S,v 1.5 1996/08/20 08:19:58 julian Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/i386_get_ldt.2 b/lib/libc/i386/sys/i386_get_ldt.2 index ade7e10b139f3..8d131c9628a3f 100644 --- a/lib/libc/i386/sys/i386_get_ldt.2 +++ b/lib/libc/i386/sys/i386_get_ldt.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)fork.2 6.5 (Berkeley) 3/10/91 -.\" $Id: i386_get_ldt.2,v 1.2 1993/10/09 00:59:10 cgd Exp $ +.\" $Id: i386_get_ldt.2,v 1.1 1994/01/31 12:05:30 davidg Exp $ .\" .Dd September 20, 1993 .Dt I386_GET_LDT 2 diff --git a/lib/libc/i386/sys/i386_get_ldt.c b/lib/libc/i386/sys/i386_get_ldt.c index 8c4e5d221a064..5267839ec0efa 100644 --- a/lib/libc/i386/sys/i386_get_ldt.c +++ b/lib/libc/i386/sys/i386_get_ldt.c @@ -25,11 +25,11 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: i386_get_ldt.c,v 1.2 1995/01/23 01:29:50 davidg Exp $ + * $Id: i386_get_ldt.c,v 1.3 1995/05/30 05:40:37 rgrimes Exp $ */ #if defined(LIBC_RCS) && !defined(lint) -static const char rcsid[] = "$Id: i386_get_ldt.c,v 1.2 1995/01/23 01:29:50 davidg Exp $"; +static const char rcsid[] = "$Id: i386_get_ldt.c,v 1.3 1995/05/30 05:40:37 rgrimes Exp $"; #endif /* LIBC_RCS and not lint */ #include <sys/cdefs.h> diff --git a/lib/libc/i386/sys/i386_set_ldt.c b/lib/libc/i386/sys/i386_set_ldt.c index 8754fd12344ed..3c81a2cf36fd7 100644 --- a/lib/libc/i386/sys/i386_set_ldt.c +++ b/lib/libc/i386/sys/i386_set_ldt.c @@ -25,11 +25,11 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: i386_set_ldt.c,v 1.2 1995/01/23 01:29:53 davidg Exp $ + * $Id: i386_set_ldt.c,v 1.3 1995/05/30 05:40:38 rgrimes Exp $ */ #if defined(LIBC_RCS) && !defined(lint) -static const char rcsid[] = "$Id: i386_set_ldt.c,v 1.2 1995/01/23 01:29:53 davidg Exp $"; +static const char rcsid[] = "$Id: i386_set_ldt.c,v 1.3 1995/05/30 05:40:38 rgrimes Exp $"; #endif /* LIBC_RCS and not lint */ #include <sys/cdefs.h> diff --git a/lib/libc/i386/sys/mount.S b/lib/libc/i386/sys/mount.S index 3fbcd637db8c2..a28af7a081848 100644 --- a/lib/libc/i386/sys/mount.S +++ b/lib/libc/i386/sys/mount.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mount.S,v 1.1 1994/08/05 01:18:45 wollman Exp $ + * $Id: mount.S,v 1.2 1995/01/23 01:29:55 davidg Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: mount.S,v 1.2 1995/01/23 01:29:55 davidg Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/pipe.S b/lib/libc/i386/sys/pipe.S index d52b189ba536e..603af78adf444 100644 --- a/lib/libc/i386/sys/pipe.S +++ b/lib/libc/i386/sys/pipe.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pipe.S,v 1.4 1996/05/05 07:56:13 peter Exp $ + * $Id: pipe.S,v 1.5 1996/08/20 08:20:03 julian Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: pipe.S,v 1.4 1996/05/05 07:56:13 peter Exp $" + .asciz "$Id: pipe.S,v 1.5 1996/08/20 08:20:03 julian Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/ptrace.S b/lib/libc/i386/sys/ptrace.S index 993c9be550563..f6431a4289620 100644 --- a/lib/libc/i386/sys/ptrace.S +++ b/lib/libc/i386/sys/ptrace.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ptrace.S,v 1.2 1995/01/23 01:29:59 davidg Exp $ + * $Id: ptrace.S,v 1.3 1996/05/05 07:56:14 peter Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: ptrace.S,v 1.2 1995/01/23 01:29:59 davidg Exp $" + .asciz "$Id: ptrace.S,v 1.3 1996/05/05 07:56:14 peter Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/reboot.S b/lib/libc/i386/sys/reboot.S index f90cca00cb41d..5bfd77ea97598 100644 --- a/lib/libc/i386/sys/reboot.S +++ b/lib/libc/i386/sys/reboot.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: reboot.S,v 1.1 1994/08/05 01:18:48 wollman Exp $ + * $Id: reboot.S,v 1.2 1995/01/23 01:30:02 davidg Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id$" + .asciz "$Id: reboot.S,v 1.2 1995/01/23 01:30:02 davidg Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/rfork.S b/lib/libc/i386/sys/rfork.S index 3411357860412..afb4b27398253 100644 --- a/lib/libc/i386/sys/rfork.S +++ b/lib/libc/i386/sys/rfork.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rfork.S,v 1.2 1996/05/05 07:56:15 peter Exp $ + * $Id: rfork.S,v 1.3 1996/08/20 08:20:06 julian Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: rfork.S,v 1.2 1996/05/05 07:56:15 peter Exp $" + .asciz "$Id: rfork.S,v 1.3 1996/08/20 08:20:06 julian Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/sbrk.S b/lib/libc/i386/sys/sbrk.S index d5c48ddcb7247..5ed740914d74e 100644 --- a/lib/libc/i386/sys/sbrk.S +++ b/lib/libc/i386/sys/sbrk.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sbrk.S,v 1.3 1995/10/04 15:58:57 phk Exp $ + * $Id: sbrk.S,v 1.4 1996/05/05 07:56:16 peter Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: sbrk.S,v 1.3 1995/10/04 15:58:57 phk Exp $" + .asciz "$Id: sbrk.S,v 1.4 1996/05/05 07:56:16 peter Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/setlogin.S b/lib/libc/i386/sys/setlogin.S index 1ec31b9ef760a..6a99c3063a218 100644 --- a/lib/libc/i386/sys/setlogin.S +++ b/lib/libc/i386/sys/setlogin.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: setlogin.S,v 1.2 1995/01/23 01:30:06 davidg Exp $ + * $Id: setlogin.S,v 1.3 1996/05/05 07:56:17 peter Exp $ */ #if defined(LIBC_RCS) && !defined(lint) .text - .asciz "$Id: setlogin.S,v 1.2 1995/01/23 01:30:06 davidg Exp $" + .asciz "$Id: setlogin.S,v 1.3 1996/05/05 07:56:17 peter Exp $" #endif /* LIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/sigpending.S b/lib/libc/i386/sys/sigpending.S index 938a069da3873..33b484b656b6e 100644 --- a/lib/libc/i386/sys/sigpending.S +++ b/lib/libc/i386/sys/sigpending.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sigpending.S,v 1.4 1996/05/05 07:56:18 peter Exp $ + * $Id: sigpending.S,v 1.5 1996/08/20 08:20:09 julian Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: sigpending.S,v 1.4 1996/05/05 07:56:18 peter Exp $" + .asciz "$Id: sigpending.S,v 1.5 1996/08/20 08:20:09 julian Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/sigprocmask.S b/lib/libc/i386/sys/sigprocmask.S index 1f48c6b7c0222..02d87523fadf6 100644 --- a/lib/libc/i386/sys/sigprocmask.S +++ b/lib/libc/i386/sys/sigprocmask.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sigprocmask.S,v 1.3 1996/01/22 00:00:59 julian Exp $ + * $Id: sigprocmask.S,v 1.4 1996/05/05 07:56:19 peter Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: sigprocmask.S,v 1.3 1996/01/22 00:00:59 julian Exp $" + .asciz "$Id: sigprocmask.S,v 1.4 1996/05/05 07:56:19 peter Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/sigreturn.S b/lib/libc/i386/sys/sigreturn.S index c685b9198287e..b1e14d3770e0e 100644 --- a/lib/libc/i386/sys/sigreturn.S +++ b/lib/libc/i386/sys/sigreturn.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sigreturn.S,v 1.4 1996/05/05 07:56:19 peter Exp $ + * $Id: sigreturn.S,v 1.5 1996/08/20 08:20:12 julian Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: sigreturn.S,v 1.4 1996/05/05 07:56:19 peter Exp $" + .asciz "$Id: sigreturn.S,v 1.5 1996/08/20 08:20:12 julian Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/sigsuspend.S b/lib/libc/i386/sys/sigsuspend.S index 3d64e48150831..078bc0e653cf2 100644 --- a/lib/libc/i386/sys/sigsuspend.S +++ b/lib/libc/i386/sys/sigsuspend.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sigsuspend.S,v 1.3 1996/01/22 00:01:01 julian Exp $ + * $Id: sigsuspend.S,v 1.4 1996/05/05 07:56:20 peter Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: sigsuspend.S,v 1.3 1996/01/22 00:01:01 julian Exp $" + .asciz "$Id: sigsuspend.S,v 1.4 1996/05/05 07:56:20 peter Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/i386/sys/syscall.S b/lib/libc/i386/sys/syscall.S index ccc1b93e6901e..798a59a12458e 100644 --- a/lib/libc/i386/sys/syscall.S +++ b/lib/libc/i386/sys/syscall.S @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: syscall.S,v 1.2 1995/01/23 01:30:24 davidg Exp $ + * $Id: syscall.S,v 1.3 1996/05/05 07:56:21 peter Exp $ */ #if defined(SYSLIBC_RCS) && !defined(lint) .text - .asciz "$Id: syscall.S,v 1.2 1995/01/23 01:30:24 davidg Exp $" + .asciz "$Id: syscall.S,v 1.3 1996/05/05 07:56:21 peter Exp $" #endif /* SYSLIBC_RCS and not lint */ #include "SYS.h" diff --git a/lib/libc/locale/collate.c b/lib/libc/locale/collate.c index a9907afc176e6..00c0832004242 100644 --- a/lib/libc/locale/collate.c +++ b/lib/libc/locale/collate.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: collate.c,v 1.8.2.4 1997/02/05 23:20:45 joerg Exp $ + * $Id: collate.c,v 1.8.2.5 1997/02/08 14:15:45 joerg Exp $ */ #include <rune.h> diff --git a/lib/libc/locale/collate.h b/lib/libc/locale/collate.h index 731bbf751e221..bce70f35acf69 100644 --- a/lib/libc/locale/collate.h +++ b/lib/libc/locale/collate.h @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: collate.h,v 1.4 1996/10/15 21:53:23 ache Exp $ + * $Id: collate.h,v 1.5 1996/10/31 04:25:13 ache Exp $ */ #ifndef COLLATE_H_INCLUDED diff --git a/lib/libc/locale/collcmp.c b/lib/libc/locale/collcmp.c index 3a0b6e6796521..6682e9c7cbefc 100644 --- a/lib/libc/locale/collcmp.c +++ b/lib/libc/locale/collcmp.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: collcmp.c,v 1.7 1996/10/23 15:35:46 ache Exp $ + * $Id: collcmp.c,v 1.8 1996/10/31 04:25:14 ache Exp $ */ #define ASCII_COMPATIBLE_COLLATE /* see usr.bin/colldef/data */ diff --git a/lib/libc/locale/setlocale.c b/lib/libc/locale/setlocale.c index 65aed305c297f..39fb7f5c1e57d 100644 --- a/lib/libc/locale/setlocale.c +++ b/lib/libc/locale/setlocale.c @@ -33,12 +33,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: setlocale.c,v 1.8.2.5 1997/02/08 14:15:48 joerg Exp $ + * $Id: setlocale.c,v 1.8.2.6 1997/02/22 20:17:21 joerg Exp $ */ #ifdef LIBC_RCS static const char rcsid[] = - "$Id: setlocale.c,v 1.8.2.5 1997/02/08 14:15:48 joerg Exp $"; + "$Id: setlocale.c,v 1.8.2.6 1997/02/22 20:17:21 joerg Exp $"; #endif #if defined(LIBC_SCCS) && !defined(lint) diff --git a/lib/libc/locale/table.c b/lib/libc/locale/table.c index 2f9f5c629ae15..9d76939b81f71 100644 --- a/lib/libc/locale/table.c +++ b/lib/libc/locale/table.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: table.c,v 1.6 1996/08/20 21:16:53 ache Exp $ + * $Id: table.c,v 1.6.2.1 1997/02/22 20:17:22 joerg Exp $ */ #if defined(LIBC_SCCS) && !defined(lint) diff --git a/lib/libc/net/ether_addr.c b/lib/libc/net/ether_addr.c index f3c8938ac9e3f..a5f79e21943a8 100644 --- a/lib/libc/net/ether_addr.c +++ b/lib/libc/net/ether_addr.c @@ -35,7 +35,7 @@ * Center for Telecommunications Research * Columbia University, New York City * - * $Id: ether_addr.c,v 1.4.2.1 1996/12/10 21:08:17 joerg Exp $ + * $Id: ether_addr.c,v 1.4.2.2 1996/12/31 16:22:28 wpaul Exp $ */ diff --git a/lib/libc/net/ethers.3 b/lib/libc/net/ethers.3 index f8b4eb1785d78..d9e4a42e27933 100644 --- a/lib/libc/net/ethers.3 +++ b/lib/libc/net/ethers.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ethers.3,v 1.7 1997/02/22 15:00:05 peter Exp $ +.\" $Id: ethers.3,v 1.3.2.1 1997/02/28 05:50:03 mpp Exp $ .\" .Dd April 12, 1995 .Dt ETHERS 3 diff --git a/lib/libc/net/gethostbydns.c b/lib/libc/net/gethostbydns.c index 1f987715017bd..70d91356368f7 100644 --- a/lib/libc/net/gethostbydns.c +++ b/lib/libc/net/gethostbydns.c @@ -53,7 +53,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: gethostbydns.c,v 1.12 1996/11/01 06:25:43 peter Exp $"; +static char rcsid[] = "$Id: gethostbydns.c,v 1.12.2.1 1997/01/14 01:26:38 wpaul Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/net/gethostbyht.c b/lib/libc/net/gethostbyht.c index 3623ced42d76a..dcd6c964a4315 100644 --- a/lib/libc/net/gethostbyht.c +++ b/lib/libc/net/gethostbyht.c @@ -53,7 +53,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: gethostbyht.c,v 1.5 1996/08/29 20:07:51 peter Exp $"; +static char rcsid[] = "$Id: gethostbyht.c,v 1.6 1996/08/30 00:26:49 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/gethostbynis.c b/lib/libc/net/gethostbynis.c index fbf162227c134..e3b0df5695192 100644 --- a/lib/libc/net/gethostbynis.c +++ b/lib/libc/net/gethostbynis.c @@ -24,8 +24,8 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)$Id: gethostbynis.c,v 1.4.2.1 1996/12/24 17:15:16 wpaul Exp $"; -static char rcsid[] = "$Id: gethostbynis.c,v 1.4.2.1 1996/12/24 17:15:16 wpaul Exp $"; +static char sccsid[] = "@(#)$Id: gethostbynis.c,v 1.4.2.2 1996/12/31 16:22:31 wpaul Exp $"; +static char rcsid[] = "$Id: gethostbynis.c,v 1.4.2.2 1996/12/31 16:22:31 wpaul Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/gethostnamadr.c b/lib/libc/net/gethostnamadr.c index 95f00e3a7315b..be5d57e215c7e 100644 --- a/lib/libc/net/gethostnamadr.c +++ b/lib/libc/net/gethostnamadr.c @@ -24,8 +24,8 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)$Id: gethostnamadr.c,v 1.9 1996/08/20 08:20:21 julian Exp $"; -static char rcsid[] = "$Id: gethostnamadr.c,v 1.9 1996/08/20 08:20:21 julian Exp $"; +static char sccsid[] = "@(#)$Id: gethostnamadr.c,v 1.10 1996/08/29 20:07:57 peter Exp $"; +static char rcsid[] = "$Id: gethostnamadr.c,v 1.10 1996/08/29 20:07:57 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/getnetbydns.c b/lib/libc/net/getnetbydns.c index 1f7607b2012aa..ab2a4d02669d8 100644 --- a/lib/libc/net/getnetbydns.c +++ b/lib/libc/net/getnetbydns.c @@ -60,7 +60,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: getnetbydns.c,v 1.6 1996/07/12 18:54:37 jkh Exp $"; +static char rcsid[] = "$Id: getnetbydns.c,v 1.7 1996/08/29 20:07:58 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/getnetbynis.c b/lib/libc/net/getnetbynis.c index d5fbb2427bef4..351168d5de62b 100644 --- a/lib/libc/net/getnetbynis.c +++ b/lib/libc/net/getnetbynis.c @@ -24,8 +24,8 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)$Id: getnetbynis.c,v 1.6 1996/08/29 20:08:01 peter Exp $"; -static char rcsid[] = "$Id: getnetbynis.c,v 1.6 1996/08/29 20:08:01 peter Exp $"; +static char sccsid[] = "@(#)$Id: getnetbynis.c,v 1.6.2.1 1996/12/31 16:22:33 wpaul Exp $"; +static char rcsid[] = "$Id: getnetbynis.c,v 1.6.2.1 1996/12/31 16:22:33 wpaul Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/getnetnamadr.c b/lib/libc/net/getnetnamadr.c index b0e7468babed0..b1694e501ecdc 100644 --- a/lib/libc/net/getnetnamadr.c +++ b/lib/libc/net/getnetnamadr.c @@ -24,8 +24,8 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)$Id: getnetnamadr.c,v 1.5 1996/07/12 18:54:40 jkh Exp $"; -static char rcsid[] = "$Id: getnetnamadr.c,v 1.5 1996/07/12 18:54:40 jkh Exp $"; +static char sccsid[] = "@(#)$Id: getnetnamadr.c,v 1.6 1996/08/29 20:08:04 peter Exp $"; +static char rcsid[] = "$Id: getnetnamadr.c,v 1.6 1996/08/29 20:08:04 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/getservent.3 b/lib/libc/net/getservent.3 index 79c18a3beb91d..b985c807d4081 100644 --- a/lib/libc/net/getservent.3 +++ b/lib/libc/net/getservent.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)getservent.3 8.3 (Berkeley) 1/12/94 -.\" $Id$ +.\" $Id: getservent.3,v 1.3 1996/06/17 20:04:06 wollman Exp $ .\" .Dd July 9, 1995 .Dt GETSERVENT 3 diff --git a/lib/libc/net/herror.c b/lib/libc/net/herror.c index 84626edba44e8..2c400f8e012f0 100644 --- a/lib/libc/net/herror.c +++ b/lib/libc/net/herror.c @@ -53,7 +53,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)herror.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: herror.c,v 1.3 1995/08/20 20:02:41 peter Exp $"; +static char rcsid[] = "$Id: herror.c,v 1.4 1996/01/13 09:03:55 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/net/inet.3 b/lib/libc/net/inet.3 index 7bcbf77c7a322..aa0b502050088 100644 --- a/lib/libc/net/inet.3 +++ b/lib/libc/net/inet.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93 -.\" $Id: inet.3,v 1.3 1996/12/23 23:09:18 wosch Exp $ +.\" $Id: inet.3,v 1.2.2.1 1997/01/02 17:47:42 mpp Exp $ .\" .Dd June 17, 1996 .Dt INET 3 diff --git a/lib/libc/net/inet_addr.c b/lib/libc/net/inet_addr.c index a1ac899519703..55def71ae3bea 100644 --- a/lib/libc/net/inet_addr.c +++ b/lib/libc/net/inet_addr.c @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)inet_addr.c 8.1 (Berkeley) 6/17/93"; -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: inet_addr.c,v 1.3 1996/01/13 09:03:56 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/inet_ntop.c b/lib/libc/net/inet_ntop.c index c774acc023f05..11d062e34ddc2 100644 --- a/lib/libc/net/inet_ntop.c +++ b/lib/libc/net/inet_ntop.c @@ -15,7 +15,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Id: inet_ntop.c,v 8.7 1996/08/05 08:41:18 vixie Exp $"; +static char rcsid[] = "$Id: inet_ntop.c,v 1.1 1996/08/29 20:08:05 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/inet_pton.c b/lib/libc/net/inet_pton.c index d9fd34425dacf..2f739911c8d54 100644 --- a/lib/libc/net/inet_pton.c +++ b/lib/libc/net/inet_pton.c @@ -15,7 +15,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Id: inet_pton.c,v 8.7 1996/08/05 08:31:35 vixie Exp $"; +static char rcsid[] = "$Id: inet_pton.c,v 1.1 1996/08/29 20:08:06 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/linkaddr.3 b/lib/libc/net/linkaddr.3 index 6999add0e8628..7c826f556e47a 100644 --- a/lib/libc/net/linkaddr.3 +++ b/lib/libc/net/linkaddr.3 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 -.\" $Id$ +.\" $Id: linkaddr.3,v 1.5 1996/06/17 20:11:12 wollman Exp $ .\" .Dd June 17, 1996 .Dt LINK_ADDR 3 diff --git a/lib/libc/net/map_v4v6.c b/lib/libc/net/map_v4v6.c index f4fdc2329d8d8..061ef46f59537 100644 --- a/lib/libc/net/map_v4v6.c +++ b/lib/libc/net/map_v4v6.c @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: gethnamaddr.c,v 8.17 1996/08/05 08:31:35 vixie Exp $"; +static char rcsid[] = "$Id: map_v4v6.c,v 1.1 1996/08/29 20:08:07 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/net/ns.3 b/lib/libc/net/ns.3 index 62c85d8e2b5f1..cbed7386db63f 100644 --- a/lib/libc/net/ns.3 +++ b/lib/libc/net/ns.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ns.3 8.1 (Berkeley) 6/4/93 -.\" $Id: ns.3,v 1.2 1996/12/23 23:09:18 wosch Exp $ +.\" $Id: ns.3,v 1.1.1.1.8.1 1997/01/02 17:47:43 mpp Exp $ .\" .Dd June 4, 1993 .Dt NS 3 diff --git a/lib/libc/net/nsap_addr.c b/lib/libc/net/nsap_addr.c index fcbbf1ebc2d79..a65e8d6c804b7 100644 --- a/lib/libc/net/nsap_addr.c +++ b/lib/libc/net/nsap_addr.c @@ -16,7 +16,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Id: nsap_addr.c,v 8.3 1996/08/05 08:31:35 vixie Exp $"; +static char rcsid[] = "$Id: nsap_addr.c,v 1.1 1996/08/29 20:08:08 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/net/rcmd.3 b/lib/libc/net/rcmd.3 index e25057fa4eb9c..4f4471fa96b66 100644 --- a/lib/libc/net/rcmd.3 +++ b/lib/libc/net/rcmd.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)rcmd.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ +.\" $Id: rcmd.3,v 1.5 1996/06/17 20:12:53 wollman Exp $ .\" .Dd February 15, 1996 .Dt RCMD 3 diff --git a/lib/libc/net/res_comp.c b/lib/libc/net/res_comp.c index 6f4d31f742668..98a1a81991dde 100644 --- a/lib/libc/net/res_comp.c +++ b/lib/libc/net/res_comp.c @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)res_comp.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: res_comp.c,v 8.8 1996/08/05 08:31:35 vixie Exp $"; +static char rcsid[] = "$Id: res_comp.c,v 1.7 1996/08/30 21:13:27 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/net/res_data.c b/lib/libc/net/res_data.c index 819b3c68d7bbe..35bd16647f4b4 100644 --- a/lib/libc/net/res_data.c +++ b/lib/libc/net/res_data.c @@ -54,7 +54,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Id: res_data.c,v 8.2 1996/08/05 08:31:35 vixie Exp $"; +static char rcsid[] = "$Id: res_data.c,v 1.3 1996/08/30 21:13:31 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/net/res_debug.c b/lib/libc/net/res_debug.c index 8af52875943df..02d739c5f1cd6 100644 --- a/lib/libc/net/res_debug.c +++ b/lib/libc/net/res_debug.c @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)res_debug.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: res_debug.c,v 8.12 1996/08/05 08:31:35 vixie Exp $"; +static char rcsid[] = "$Id: res_debug.c,v 1.10 1996/08/30 21:13:33 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/net/res_init.c b/lib/libc/net/res_init.c index aeb021f72a84c..d0622895e92e3 100644 --- a/lib/libc/net/res_init.c +++ b/lib/libc/net/res_init.c @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)res_init.c 8.1 (Berkeley) 6/7/93"; -static char rcsid[] = "$Id: res_init.c,v 8.5 1996/08/05 08:31:35 vixie Exp $"; +static char rcsid[] = "$Id: res_init.c,v 1.9 1996/08/30 21:13:35 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/net/res_mkquery.c b/lib/libc/net/res_mkquery.c index ebf0de759a57d..3bd908d195654 100644 --- a/lib/libc/net/res_mkquery.c +++ b/lib/libc/net/res_mkquery.c @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)res_mkquery.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: res_mkquery.c,v 8.4 1996/08/05 08:31:35 vixie Exp $"; +static char rcsid[] = "$Id: res_mkquery.c,v 1.9 1996/08/30 21:13:39 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/net/res_query.c b/lib/libc/net/res_query.c index 0a2c3e4bd3f1d..ae7cc57f5ea20 100644 --- a/lib/libc/net/res_query.c +++ b/lib/libc/net/res_query.c @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)res_query.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: res_query.c,v 8.7 1996/08/05 08:31:35 vixie Exp $"; +static char rcsid[] = "$Id: res_query.c,v 1.9 1996/08/30 21:13:40 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/net/res_send.c b/lib/libc/net/res_send.c index bc5799ae736b9..8df91f1780a7a 100644 --- a/lib/libc/net/res_send.c +++ b/lib/libc/net/res_send.c @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)res_send.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: res_send.c,v 1.10.2.1 1997/03/10 19:35:22 guido Exp $"; +static char rcsid[] = "$Id: res_send.c,v 1.10.2.2 1997/03/11 07:23:55 jkh Exp $"; #endif /* LIBC_SCCS and not lint */ /* diff --git a/lib/libc/net/res_stubs.c b/lib/libc/net/res_stubs.c index 509a548e84559..d550d5d9aff57 100644 --- a/lib/libc/net/res_stubs.c +++ b/lib/libc/net/res_stubs.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: res_stubs.c,v 1.1.2.1 1996/12/30 12:35:20 peter Exp $ */ /* diff --git a/lib/libc/nls/catclose.3 b/lib/libc/nls/catclose.3 index fc9c9afc41eb3..9578689d52bce 100644 --- a/lib/libc/nls/catclose.3 +++ b/lib/libc/nls/catclose.3 @@ -1,4 +1,4 @@ -.\" $Id: catclose.3,v 1.4 1997/02/22 15:00:44 peter Exp $ +.\" $Id: catclose.3,v 1.1.6.1 1997/02/28 05:50:10 mpp Exp $ .\" .\" Copyright (c) 1994 Winning Strategies, Inc. .\" All rights reserved. diff --git a/lib/libc/nls/catclose.c b/lib/libc/nls/catclose.c index 341f6643aa808..501269292f6ca 100644 --- a/lib/libc/nls/catclose.c +++ b/lib/libc/nls/catclose.c @@ -1,4 +1,4 @@ -/* $Id$ */ +/* $Id: catclose.c,v 1.1 1995/03/30 12:47:21 jkh Exp $ */ /* * Written by J.T. Conklin, 10/05/94 diff --git a/lib/libc/nls/catgets.3 b/lib/libc/nls/catgets.3 index 186ea00599ff1..05b5903382684 100644 --- a/lib/libc/nls/catgets.3 +++ b/lib/libc/nls/catgets.3 @@ -1,4 +1,4 @@ -.\" $Id: catgets.3,v 1.1 1995/03/30 12:47:23 jkh Exp $ +.\" $Id: catgets.3,v 1.2 1996/02/09 12:25:08 jkh Exp $ .\" .\" Copyright (c) 1994 Winning Strategies, Inc. .\" All rights reserved. diff --git a/lib/libc/nls/catgets.c b/lib/libc/nls/catgets.c index c29cf64684142..f2792787e96ed 100644 --- a/lib/libc/nls/catgets.c +++ b/lib/libc/nls/catgets.c @@ -1,4 +1,4 @@ -/* $Id$ */ +/* $Id: catgets.c,v 1.1 1995/03/30 12:47:23 jkh Exp $ */ /* * Written by J.T. Conklin, 10/05/94 diff --git a/lib/libc/nls/catopen.3 b/lib/libc/nls/catopen.3 index 109829f0ddf33..8f11752c0899a 100644 --- a/lib/libc/nls/catopen.3 +++ b/lib/libc/nls/catopen.3 @@ -1,4 +1,4 @@ -.\" $Id: catopen.3,v 1.1 1995/03/30 12:47:24 jkh Exp $ +.\" $Id: catopen.3,v 1.2 1996/01/30 16:33:16 mpp Exp $ .\" .\" Copyright (c) 1994 Winning Strategies, Inc. .\" All rights reserved. diff --git a/lib/libc/nls/catopen.c b/lib/libc/nls/catopen.c index 5dfb727c5812b..217c9c8ec63ab 100644 --- a/lib/libc/nls/catopen.c +++ b/lib/libc/nls/catopen.c @@ -1,4 +1,4 @@ -/* $Id$ */ +/* $Id: catopen.c,v 1.1 1995/03/30 12:47:25 jkh Exp $ */ /* * Written by J.T. Conklin, 10/05/94 diff --git a/lib/libc/nls/msgcat.c b/lib/libc/nls/msgcat.c index 1110810dea0a3..3591396720f9a 100644 --- a/lib/libc/nls/msgcat.c +++ b/lib/libc/nls/msgcat.c @@ -1,4 +1,4 @@ -/* $Id: msgcat.c,v 1.4 1995/10/22 14:39:22 phk Exp $ */ +/* $Id: msgcat.c,v 1.5 1996/07/12 18:55:03 jkh Exp $ */ /*********************************************************** Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts. diff --git a/lib/libc/nls/msgcat.h b/lib/libc/nls/msgcat.h index 354ca1e35b8f3..98f6d6140a05c 100644 --- a/lib/libc/nls/msgcat.h +++ b/lib/libc/nls/msgcat.h @@ -1,4 +1,4 @@ -/* $Id: msgcat.h,v 1.2 1995/05/30 05:41:00 rgrimes Exp $ */ +/* $Id: msgcat.h,v 1.3 1996/07/12 18:55:04 jkh Exp $ */ /* -*-c++-*- */ diff --git a/lib/libc/quad/quad.h b/lib/libc/quad/quad.h index 873a1f6bde0a7..145d640f073ff 100644 --- a/lib/libc/quad/quad.h +++ b/lib/libc/quad/quad.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)quad.h 8.1 (Berkeley) 6/4/93 - * $Id$ + * $Id: quad.h,v 1.2 1995/12/26 13:25:13 bde Exp $ */ /* diff --git a/lib/libc/rpc/auth_none.c b/lib/libc/rpc/auth_none.c index 76a5cf138cf0f..c7339e50ffe67 100644 --- a/lib/libc/rpc/auth_none.c +++ b/lib/libc/rpc/auth_none.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)auth_none.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: auth_none.c,v 1.3 1995/10/22 14:51:06 phk Exp $"; +static char *rcsid = "$Id: auth_none.c,v 1.4 1996/06/08 22:54:49 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/auth_unix.c b/lib/libc/rpc/auth_unix.c index e96eb0879f932..757569783a932 100644 --- a/lib/libc/rpc/auth_unix.c +++ b/lib/libc/rpc/auth_unix.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)auth_unix.c 1.19 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)auth_unix.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: auth_unix.c,v 1.5 1995/10/22 14:51:08 phk Exp $"; +static char *rcsid = "$Id: auth_unix.c,v 1.6 1996/06/10 20:13:00 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/authunix_prot.c b/lib/libc/rpc/authunix_prot.c index 5a8c2a465ed7c..c818ba0de77c9 100644 --- a/lib/libc/rpc/authunix_prot.c +++ b/lib/libc/rpc/authunix_prot.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)authunix_prot.c 1.15 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)authunix_prot.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: authunix_prot.c,v 1.1 1994/08/07 18:35:40 wollman Exp $"; +static char *rcsid = "$Id: authunix_prot.c,v 1.2 1995/05/30 05:41:12 rgrimes Exp $"; #endif /* diff --git a/lib/libc/rpc/bindresvport.c b/lib/libc/rpc/bindresvport.c index 4411ba95cf4fc..ce507f40cc82b 100644 --- a/lib/libc/rpc/bindresvport.c +++ b/lib/libc/rpc/bindresvport.c @@ -31,7 +31,7 @@ /*static char *sccsid = "from: @(#)bindresvport.c 1.8 88/02/08 SMI";*/ /*static char *sccsid = "from: @(#)bindresvport.c 2.2 88/07/29 4.0 RPCSRC";*/ /*from: OpenBSD: bindresvport.c,v 1.7 1996/07/30 16:25:47 downsj Exp */ -static char *rcsid = "$Id: bindresvport.c,v 1.4 1996/06/10 00:49:15 jraynard Exp $"; +static char *rcsid = "$Id: bindresvport.c,v 1.5 1996/08/12 14:09:46 peter Exp $"; #endif /* diff --git a/lib/libc/rpc/clnt_generic.c b/lib/libc/rpc/clnt_generic.c index 44b9f79a3853c..931e66c03edab 100644 --- a/lib/libc/rpc/clnt_generic.c +++ b/lib/libc/rpc/clnt_generic.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)clnt_generic.c 1.4 87/08/11 (C) 1987 SMI";*/ /*static char *sccsid = "from: @(#)clnt_generic.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: clnt_generic.c,v 1.3 1995/10/22 14:51:12 phk Exp $"; +static char *rcsid = "$Id: clnt_generic.c,v 1.4 1996/08/12 14:00:18 peter Exp $"; #endif /* diff --git a/lib/libc/rpc/clnt_perror.c b/lib/libc/rpc/clnt_perror.c index 0bcd8f048a105..bc90d929efe07 100644 --- a/lib/libc/rpc/clnt_perror.c +++ b/lib/libc/rpc/clnt_perror.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)clnt_perror.c 1.15 87/10/07 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)clnt_perror.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: clnt_perror.c,v 1.4 1995/12/10 17:40:18 wpaul Exp $"; +static char *rcsid = "$Id: clnt_perror.c,v 1.5 1996/06/10 20:13:02 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/clnt_raw.c b/lib/libc/rpc/clnt_raw.c index dc7b08b4bd69d..dd50752bf0274 100644 --- a/lib/libc/rpc/clnt_raw.c +++ b/lib/libc/rpc/clnt_raw.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)clnt_raw.c 1.22 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)clnt_raw.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: clnt_raw.c,v 1.4 1995/10/27 16:56:48 adam Exp $"; +static char *rcsid = "$Id: clnt_raw.c,v 1.5 1996/06/08 22:54:50 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/clnt_simple.c b/lib/libc/rpc/clnt_simple.c index 5d24b85022271..809828c08c8de 100644 --- a/lib/libc/rpc/clnt_simple.c +++ b/lib/libc/rpc/clnt_simple.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)clnt_simple.c 1.35 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)clnt_simple.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: clnt_simple.c,v 1.4 1996/06/10 20:13:03 jraynard Exp $"; +static char *rcsid = "$Id: clnt_simple.c,v 1.5 1996/08/12 14:00:20 peter Exp $"; #endif /* diff --git a/lib/libc/rpc/clnt_tcp.c b/lib/libc/rpc/clnt_tcp.c index be07090136546..17479f7e48e6f 100644 --- a/lib/libc/rpc/clnt_tcp.c +++ b/lib/libc/rpc/clnt_tcp.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)clnt_tcp.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: clnt_tcp.c,v 1.5 1995/12/07 12:50:53 bde Exp $"; +static char *rcsid = "$Id: clnt_tcp.c,v 1.6 1996/06/10 00:49:16 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/clnt_udp.c b/lib/libc/rpc/clnt_udp.c index 28dfddc238042..8f87583de9fce 100644 --- a/lib/libc/rpc/clnt_udp.c +++ b/lib/libc/rpc/clnt_udp.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)clnt_udp.c 1.39 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)clnt_udp.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: clnt_udp.c,v 1.6 1995/12/07 12:50:54 bde Exp $"; +static char *rcsid = "$Id: clnt_udp.c,v 1.7 1996/06/10 00:49:16 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/get_myaddress.c b/lib/libc/rpc/get_myaddress.c index 37400942a36a8..c08cf9ebf2599 100644 --- a/lib/libc/rpc/get_myaddress.c +++ b/lib/libc/rpc/get_myaddress.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)get_myaddress.c 1.4 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)get_myaddress.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: get_myaddress.c,v 1.4 1996/06/08 22:54:51 jraynard Exp $"; +static char *rcsid = "$Id: get_myaddress.c,v 1.4.2.1 1996/11/25 07:23:37 phk Exp $"; #endif /* diff --git a/lib/libc/rpc/getrpcent.c b/lib/libc/rpc/getrpcent.c index eb278c09823a5..a18cfdd21072e 100644 --- a/lib/libc/rpc/getrpcent.c +++ b/lib/libc/rpc/getrpcent.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)getrpcent.c 1.14 91/03/11 Copyr 1984 Sun Micro";*/ -static char *rcsid = "$Id: getrpcent.c,v 1.4 1996/06/10 20:13:04 jraynard Exp $"; +static char *rcsid = "$Id: getrpcent.c,v 1.5 1996/06/11 17:22:48 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/getrpcport.c b/lib/libc/rpc/getrpcport.c index 91af220a52dfd..cc90889207df9 100644 --- a/lib/libc/rpc/getrpcport.c +++ b/lib/libc/rpc/getrpcport.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)getrpcport.c 1.3 87/08/11 SMI";*/ /*static char *sccsid = "from: @(#)getrpcport.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: getrpcport.c,v 1.4 1996/06/08 22:54:52 jraynard Exp $"; +static char *rcsid = "$Id: getrpcport.c,v 1.5 1996/08/12 14:00:22 peter Exp $"; #endif /* diff --git a/lib/libc/rpc/pmap_clnt.c b/lib/libc/rpc/pmap_clnt.c index f1096790a26d5..30439d807e0b0 100644 --- a/lib/libc/rpc/pmap_clnt.c +++ b/lib/libc/rpc/pmap_clnt.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)pmap_clnt.c 1.37 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)pmap_clnt.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: pmap_clnt.c,v 1.3 1995/10/22 14:51:28 phk Exp $"; +static char *rcsid = "$Id: pmap_clnt.c,v 1.4 1996/06/08 22:54:54 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/pmap_getmaps.c b/lib/libc/rpc/pmap_getmaps.c index 6119fc057515a..fd5a674fa0b20 100644 --- a/lib/libc/rpc/pmap_getmaps.c +++ b/lib/libc/rpc/pmap_getmaps.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)pmap_getmaps.c 1.10 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)pmap_getmaps.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: pmap_getmaps.c,v 1.3 1995/10/22 14:51:29 phk Exp $"; +static char *rcsid = "$Id: pmap_getmaps.c,v 1.4 1996/06/10 00:49:17 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/pmap_getport.c b/lib/libc/rpc/pmap_getport.c index dd63a3757f407..6113f7fd0fe06 100644 --- a/lib/libc/rpc/pmap_getport.c +++ b/lib/libc/rpc/pmap_getport.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)pmap_getport.c 1.9 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)pmap_getport.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: pmap_getport.c,v 1.2 1995/05/30 05:41:24 rgrimes Exp $"; +static char *rcsid = "$Id: pmap_getport.c,v 1.3 1995/10/22 14:51:31 phk Exp $"; #endif /* diff --git a/lib/libc/rpc/pmap_prot.c b/lib/libc/rpc/pmap_prot.c index 07b5acd5b2af8..fcb9c99971572 100644 --- a/lib/libc/rpc/pmap_prot.c +++ b/lib/libc/rpc/pmap_prot.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)pmap_prot.c 1.17 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)pmap_prot.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: pmap_prot.c,v 1.1 1994/08/07 18:35:56 wollman Exp $"; +static char *rcsid = "$Id: pmap_prot.c,v 1.2 1995/05/30 05:41:25 rgrimes Exp $"; #endif /* diff --git a/lib/libc/rpc/pmap_prot2.c b/lib/libc/rpc/pmap_prot2.c index 2f2a9a0c52318..d81f6129802db 100644 --- a/lib/libc/rpc/pmap_prot2.c +++ b/lib/libc/rpc/pmap_prot2.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)pmap_prot2.c 1.3 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)pmap_prot2.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: pmap_prot2.c,v 1.2 1995/05/30 05:41:26 rgrimes Exp $"; +static char *rcsid = "$Id: pmap_prot2.c,v 1.3 1996/06/10 20:13:05 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/pmap_rmt.c b/lib/libc/rpc/pmap_rmt.c index b8cc248fa38d2..1220c5782cc12 100644 --- a/lib/libc/rpc/pmap_rmt.c +++ b/lib/libc/rpc/pmap_rmt.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)pmap_rmt.c 1.21 87/08/27 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)pmap_rmt.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: pmap_rmt.c,v 1.7 1996/06/10 04:59:05 wpaul Exp $"; +static char *rcsid = "$Id: pmap_rmt.c,v 1.8 1996/08/12 14:00:23 peter Exp $"; #endif /* diff --git a/lib/libc/rpc/rpc_callmsg.c b/lib/libc/rpc/rpc_callmsg.c index 23ca32e14a06a..53f2482e9ba0d 100644 --- a/lib/libc/rpc/rpc_callmsg.c +++ b/lib/libc/rpc/rpc_callmsg.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)rpc_callmsg.c 1.4 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)rpc_callmsg.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: rpc_callmsg.c,v 1.3 1995/10/22 14:51:33 phk Exp $"; +static char *rcsid = "$Id: rpc_callmsg.c,v 1.4 1996/06/08 22:54:55 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/rpc_commondata.c b/lib/libc/rpc/rpc_commondata.c index aa095265b086c..8437b7982a9a6 100644 --- a/lib/libc/rpc/rpc_commondata.c +++ b/lib/libc/rpc/rpc_commondata.c @@ -29,7 +29,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)rpc_commondata.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: rpc_commondata.c,v 1.1 1994/08/07 18:36:01 wollman Exp $"; +static char *rcsid = "$Id: rpc_commondata.c,v 1.2 1995/05/30 05:41:29 rgrimes Exp $"; #endif #include <rpc/rpc.h> diff --git a/lib/libc/rpc/rpc_prot.c b/lib/libc/rpc/rpc_prot.c index 9f7d1c0ece284..994fd781cecdd 100644 --- a/lib/libc/rpc/rpc_prot.c +++ b/lib/libc/rpc/rpc_prot.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)rpc_prot.c 1.36 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)rpc_prot.c 2.3 88/08/07 4.0 RPCSRC";*/ -static char *rcsid = "$Id: rpc_prot.c,v 1.2 1995/05/30 05:41:31 rgrimes Exp $"; +static char *rcsid = "$Id: rpc_prot.c,v 1.3 1996/06/10 20:13:06 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/svc.c b/lib/libc/rpc/svc.c index 05f82d3154727..67b951cfe9f41 100644 --- a/lib/libc/rpc/svc.c +++ b/lib/libc/rpc/svc.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)svc.c 1.44 88/02/08 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)svc.c 2.4 88/08/11 4.0 RPCSRC";*/ -static char *rcsid = "$Id: svc.c,v 1.5 1996/06/11 17:22:50 jraynard Exp $"; +static char *rcsid = "$Id: svc.c,v 1.6 1996/08/12 14:00:24 peter Exp $"; #endif /* diff --git a/lib/libc/rpc/svc_auth.c b/lib/libc/rpc/svc_auth.c index 4ce0cafce4636..7d206df02decc 100644 --- a/lib/libc/rpc/svc_auth.c +++ b/lib/libc/rpc/svc_auth.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)svc_auth.c 1.19 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)svc_auth.c 2.1 88/08/07 4.0 RPCSRC";*/ -static char *rcsid = "$Id: svc_auth.c,v 1.2 1995/05/30 05:41:32 rgrimes Exp $"; +static char *rcsid = "$Id: svc_auth.c,v 1.3 1996/06/11 17:22:51 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/svc_auth_unix.c b/lib/libc/rpc/svc_auth_unix.c index 27ced54634e13..dcb996645503f 100644 --- a/lib/libc/rpc/svc_auth_unix.c +++ b/lib/libc/rpc/svc_auth_unix.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)svc_auth_unix.c 1.28 88/02/08 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)svc_auth_unix.c 2.3 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: svc_auth_unix.c,v 1.2 1995/05/30 05:41:33 rgrimes Exp $"; +static char *rcsid = "$Id: svc_auth_unix.c,v 1.3 1995/10/22 14:51:35 phk Exp $"; #endif /* diff --git a/lib/libc/rpc/svc_raw.c b/lib/libc/rpc/svc_raw.c index f72a5f4cb1ef7..3a5bcb3cf47c0 100644 --- a/lib/libc/rpc/svc_raw.c +++ b/lib/libc/rpc/svc_raw.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)svc_raw.c 1.15 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)svc_raw.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: svc_raw.c,v 1.2 1995/05/30 05:41:34 rgrimes Exp $"; +static char *rcsid = "$Id: svc_raw.c,v 1.3 1995/10/22 14:51:36 phk Exp $"; #endif /* diff --git a/lib/libc/rpc/svc_run.c b/lib/libc/rpc/svc_run.c index 5c8486490a6bb..ef83bd8463837 100644 --- a/lib/libc/rpc/svc_run.c +++ b/lib/libc/rpc/svc_run.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)svc_run.c 1.1 87/10/13 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)svc_run.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: svc_run.c,v 1.2 1995/05/30 05:41:35 rgrimes Exp $"; +static char *rcsid = "$Id: svc_run.c,v 1.3 1996/06/10 00:49:19 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/svc_simple.c b/lib/libc/rpc/svc_simple.c index f18b417ced114..6d302347653bc 100644 --- a/lib/libc/rpc/svc_simple.c +++ b/lib/libc/rpc/svc_simple.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)svc_simple.c 1.18 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)svc_simple.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: svc_simple.c,v 1.3 1995/10/22 14:51:37 phk Exp $"; +static char *rcsid = "$Id: svc_simple.c,v 1.4 1996/06/10 20:13:08 jraynard Exp $"; #endif /* diff --git a/lib/libc/rpc/svc_tcp.c b/lib/libc/rpc/svc_tcp.c index 05193b3641bcc..3f8b7050722ed 100644 --- a/lib/libc/rpc/svc_tcp.c +++ b/lib/libc/rpc/svc_tcp.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)svc_tcp.c 1.21 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)svc_tcp.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: svc_tcp.c,v 1.6 1996/06/10 20:13:09 jraynard Exp $"; +static char *rcsid = "$Id: svc_tcp.c,v 1.7 1996/08/12 14:00:25 peter Exp $"; #endif /* diff --git a/lib/libc/rpc/svc_udp.c b/lib/libc/rpc/svc_udp.c index 16a6140106d89..8146351d492bd 100644 --- a/lib/libc/rpc/svc_udp.c +++ b/lib/libc/rpc/svc_udp.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)svc_udp.c 1.24 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)svc_udp.c 2.2 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: svc_udp.c,v 1.5 1996/06/08 22:54:59 jraynard Exp $"; +static char *rcsid = "$Id: svc_udp.c,v 1.6 1996/08/12 14:00:26 peter Exp $"; #endif /* diff --git a/lib/libc/stdio/Makefile.inc b/lib/libc/stdio/Makefile.inc index 89df7d64f1fe4..9c9d8ca6f68af 100644 --- a/lib/libc/stdio/Makefile.inc +++ b/lib/libc/stdio/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.3 (Berkeley) 4/17/94 -# $Id: Makefile.inc,v 1.5 1996/05/29 01:00:00 wosch Exp $ +# $Id: Makefile.inc,v 1.6 1996/05/29 05:00:12 jkh Exp $ # stdio sources .PATH: ${.CURDIR}/stdio diff --git a/lib/libc/stdio/asprintf.c b/lib/libc/stdio/asprintf.c index 9b4d05b4397b9..63be28cc559f5 100644 --- a/lib/libc/stdio/asprintf.c +++ b/lib/libc/stdio/asprintf.c @@ -24,7 +24,7 @@ */ #if defined(LIBC_RCS) && !defined(lint) -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: asprintf.c,v 1.1 1996/05/27 10:49:42 peter Exp $"; #endif /* LIBC_RCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/clrerr.c b/lib/libc/stdio/clrerr.c index a230119a6e805..c665cf4fbb84b 100644 --- a/lib/libc/stdio/clrerr.c +++ b/lib/libc/stdio/clrerr.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)clrerr.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: clrerr.c,v 1.3 1996/06/22 10:33:01 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fclose.c b/lib/libc/stdio/fclose.c index 1104bd08a78d5..402752ed0090d 100644 --- a/lib/libc/stdio/fclose.c +++ b/lib/libc/stdio/fclose.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fclose.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fclose.c,v 1.3 1996/06/22 10:33:02 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <errno.h> diff --git a/lib/libc/stdio/feof.c b/lib/libc/stdio/feof.c index e42df61ea6690..ca618a44fc2b5 100644 --- a/lib/libc/stdio/feof.c +++ b/lib/libc/stdio/feof.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)feof.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: feof.c,v 1.3 1996/06/22 10:33:03 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/ferror.c b/lib/libc/stdio/ferror.c index 8a6850095bf2b..de37ae242b952 100644 --- a/lib/libc/stdio/ferror.c +++ b/lib/libc/stdio/ferror.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)ferror.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: ferror.c,v 1.3 1996/06/22 10:33:04 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fflush.c b/lib/libc/stdio/fflush.c index aed57ec852c1f..2520686e34f6a 100644 --- a/lib/libc/stdio/fflush.c +++ b/lib/libc/stdio/fflush.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fflush.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fflush.c,v 1.3 1996/06/22 10:33:05 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <errno.h> diff --git a/lib/libc/stdio/fgetc.c b/lib/libc/stdio/fgetc.c index f93a0046209fe..a8cc240e05635 100644 --- a/lib/libc/stdio/fgetc.c +++ b/lib/libc/stdio/fgetc.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fgetc.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fgetc.c,v 1.3 1996/06/22 10:33:06 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fgetln.c b/lib/libc/stdio/fgetln.c index 7c5742b908e10..a939b395679bb 100644 --- a/lib/libc/stdio/fgetln.c +++ b/lib/libc/stdio/fgetln.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fgetln.c 8.2 (Berkeley) 1/2/94"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fgetln.c,v 1.3 1996/06/22 10:33:08 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fgetpos.c b/lib/libc/stdio/fgetpos.c index ab8a9e50ceaa3..01aacf8108ec2 100644 --- a/lib/libc/stdio/fgetpos.c +++ b/lib/libc/stdio/fgetpos.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fgetpos.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fgetpos.c,v 1.3 1996/06/22 10:33:09 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fgets.c b/lib/libc/stdio/fgets.c index 434fc07cdec2a..c5f7f652234d6 100644 --- a/lib/libc/stdio/fgets.c +++ b/lib/libc/stdio/fgets.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fgets.c 8.2 (Berkeley) 12/22/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fgets.c,v 1.5 1996/06/22 10:33:10 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fileno.c b/lib/libc/stdio/fileno.c index 6ceac0c1d8e08..4b9af68acb9f5 100644 --- a/lib/libc/stdio/fileno.c +++ b/lib/libc/stdio/fileno.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fileno.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fileno.c,v 1.3 1996/06/22 10:33:11 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/findfp.c b/lib/libc/stdio/findfp.c index 8a6cddd71a906..664e0c6eab74b 100644 --- a/lib/libc/stdio/findfp.c +++ b/lib/libc/stdio/findfp.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)findfp.c 8.2 (Berkeley) 1/4/94"; #endif static const char rcsid[] = - "$Id$"; + "$Id: findfp.c,v 1.3 1996/06/22 10:33:12 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/stdio/flags.c b/lib/libc/stdio/flags.c index 4ef0db11a4000..e47f123d5833b 100644 --- a/lib/libc/stdio/flags.c +++ b/lib/libc/stdio/flags.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)flags.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: flags.c,v 1.3 1996/06/22 10:33:13 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/stdio/fprintf.c b/lib/libc/stdio/fprintf.c index 383f1e17908b1..0718a0c849791 100644 --- a/lib/libc/stdio/fprintf.c +++ b/lib/libc/stdio/fprintf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fprintf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fprintf.c,v 1.3 1996/06/22 10:33:15 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fpurge.c b/lib/libc/stdio/fpurge.c index d1d9e876258f0..beb9c24661136 100644 --- a/lib/libc/stdio/fpurge.c +++ b/lib/libc/stdio/fpurge.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fpurge.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fpurge.c,v 1.3 1996/06/22 10:33:16 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <errno.h> diff --git a/lib/libc/stdio/fputc.c b/lib/libc/stdio/fputc.c index 89b138d15a0a0..76fbe23a0a43e 100644 --- a/lib/libc/stdio/fputc.c +++ b/lib/libc/stdio/fputc.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fputc.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fputc.c,v 1.3 1996/06/22 10:33:17 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fputs.c b/lib/libc/stdio/fputs.c index 537c34895debc..afc12f91a5ae1 100644 --- a/lib/libc/stdio/fputs.c +++ b/lib/libc/stdio/fputs.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fputs.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fputs.c,v 1.3 1996/06/22 10:33:18 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fread.c b/lib/libc/stdio/fread.c index 4f67fbf4134f0..30b3a1a1c1f8f 100644 --- a/lib/libc/stdio/fread.c +++ b/lib/libc/stdio/fread.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fread.c 8.2 (Berkeley) 12/11/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fread.c,v 1.3 1996/06/22 10:33:20 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fscanf.c b/lib/libc/stdio/fscanf.c index 8513f801cea69..a993e18d78100 100644 --- a/lib/libc/stdio/fscanf.c +++ b/lib/libc/stdio/fscanf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fscanf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fscanf.c,v 1.3 1996/06/22 10:33:21 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fseek.c b/lib/libc/stdio/fseek.c index c6707dfb34f6f..c86db24b403a5 100644 --- a/lib/libc/stdio/fseek.c +++ b/lib/libc/stdio/fseek.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fseek.c 8.3 (Berkeley) 1/2/94"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fseek.c,v 1.4 1996/06/22 10:33:22 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/stdio/fsetpos.c b/lib/libc/stdio/fsetpos.c index d521a2054871a..d197c6af46a01 100644 --- a/lib/libc/stdio/fsetpos.c +++ b/lib/libc/stdio/fsetpos.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fsetpos.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fsetpos.c,v 1.3 1996/06/22 10:33:23 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/ftell.c b/lib/libc/stdio/ftell.c index 855b6e1f8b392..8746c84495a09 100644 --- a/lib/libc/stdio/ftell.c +++ b/lib/libc/stdio/ftell.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)ftell.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: ftell.c,v 1.5 1996/06/22 10:33:25 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fvwrite.c b/lib/libc/stdio/fvwrite.c index 28db2bafc4f65..d1508b28b5174 100644 --- a/lib/libc/stdio/fvwrite.c +++ b/lib/libc/stdio/fvwrite.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fvwrite.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fvwrite.c,v 1.3 1996/06/22 10:33:27 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/fwalk.c b/lib/libc/stdio/fwalk.c index 8f91b46d90494..3a5bc75cc097b 100644 --- a/lib/libc/stdio/fwalk.c +++ b/lib/libc/stdio/fwalk.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fwalk.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fwalk.c,v 1.3 1996/06/22 10:33:28 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <errno.h> diff --git a/lib/libc/stdio/fwrite.c b/lib/libc/stdio/fwrite.c index ba8540d4af963..833aec7cfcc67 100644 --- a/lib/libc/stdio/fwrite.c +++ b/lib/libc/stdio/fwrite.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)fwrite.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fwrite.c,v 1.3 1996/06/22 10:33:32 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/getc.c b/lib/libc/stdio/getc.c index ced796b8919a5..78a458d44c638 100644 --- a/lib/libc/stdio/getc.c +++ b/lib/libc/stdio/getc.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)getc.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: getc.c,v 1.3 1996/06/22 10:33:33 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/getchar.c b/lib/libc/stdio/getchar.c index 0bcbd3a694943..2ed35a7cb7554 100644 --- a/lib/libc/stdio/getchar.c +++ b/lib/libc/stdio/getchar.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)getchar.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: getchar.c,v 1.3 1996/06/22 10:33:34 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ /* diff --git a/lib/libc/stdio/gets.c b/lib/libc/stdio/gets.c index 0c821ea76bd1b..3492e1c79ec56 100644 --- a/lib/libc/stdio/gets.c +++ b/lib/libc/stdio/gets.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)gets.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: gets.c,v 1.4 1996/06/22 10:33:35 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <unistd.h> diff --git a/lib/libc/stdio/getw.c b/lib/libc/stdio/getw.c index c72756d4db8d2..9d8262f1230e1 100644 --- a/lib/libc/stdio/getw.c +++ b/lib/libc/stdio/getw.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)getw.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: getw.c,v 1.3 1996/06/22 10:33:36 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/mktemp.c b/lib/libc/stdio/mktemp.c index bc4c928e2de97..c9d36621cac4c 100644 --- a/lib/libc/stdio/mktemp.c +++ b/lib/libc/stdio/mktemp.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)mktemp.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: mktemp.c,v 1.4 1996/06/22 10:33:37 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libc/stdio/printf.c b/lib/libc/stdio/printf.c index 97115494c425e..c49eed24e52e2 100644 --- a/lib/libc/stdio/printf.c +++ b/lib/libc/stdio/printf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)printf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: printf.c,v 1.3 1996/06/22 10:33:39 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/putc.c b/lib/libc/stdio/putc.c index a1b081464249e..b7a2a3937f4a5 100644 --- a/lib/libc/stdio/putc.c +++ b/lib/libc/stdio/putc.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)putc.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: putc.c,v 1.3 1996/06/22 10:33:40 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/putchar.c b/lib/libc/stdio/putchar.c index 99439aca10e71..4b53d14ab48d5 100644 --- a/lib/libc/stdio/putchar.c +++ b/lib/libc/stdio/putchar.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)putchar.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: putchar.c,v 1.3 1996/06/22 10:33:42 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/puts.c b/lib/libc/stdio/puts.c index 91a20de975aeb..249fad59a003e 100644 --- a/lib/libc/stdio/puts.c +++ b/lib/libc/stdio/puts.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)puts.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: puts.c,v 1.3 1996/06/22 10:33:43 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/putw.c b/lib/libc/stdio/putw.c index 946a311ac3372..227f6fdf1d141 100644 --- a/lib/libc/stdio/putw.c +++ b/lib/libc/stdio/putw.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)putw.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: putw.c,v 1.3 1996/06/22 10:33:44 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/refill.c b/lib/libc/stdio/refill.c index 845e0e6e0b64e..1d4e2046ed7d4 100644 --- a/lib/libc/stdio/refill.c +++ b/lib/libc/stdio/refill.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)refill.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id: refill.c,v 1.3 1996/06/22 10:33:45 jraynard Exp $"; + "$Id: refill.c,v 1.4 1996/08/13 17:49:45 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include <errno.h> diff --git a/lib/libc/stdio/remove.c b/lib/libc/stdio/remove.c index 6a255639c9608..248e26a81cdf1 100644 --- a/lib/libc/stdio/remove.c +++ b/lib/libc/stdio/remove.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)remove.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: remove.c,v 1.3 1996/06/22 10:33:46 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <unistd.h> diff --git a/lib/libc/stdio/rewind.c b/lib/libc/stdio/rewind.c index f6609d69f5767..02b4a2c2f465f 100644 --- a/lib/libc/stdio/rewind.c +++ b/lib/libc/stdio/rewind.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)rewind.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: rewind.c,v 1.3 1996/06/22 10:33:48 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <errno.h> diff --git a/lib/libc/stdio/scanf.c b/lib/libc/stdio/scanf.c index 7a8bd65990fa5..f3fa66ff4d5d4 100644 --- a/lib/libc/stdio/scanf.c +++ b/lib/libc/stdio/scanf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)scanf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: scanf.c,v 1.3 1996/06/22 10:33:50 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/setbuffer.c b/lib/libc/stdio/setbuffer.c index d27217751e155..291951dc8dcf7 100644 --- a/lib/libc/stdio/setbuffer.c +++ b/lib/libc/stdio/setbuffer.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)setbuffer.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: setbuffer.c,v 1.2 1996/06/22 10:33:51 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/setvbuf.c b/lib/libc/stdio/setvbuf.c index 9cc6bb6ee65eb..45134f6cf18f2 100644 --- a/lib/libc/stdio/setvbuf.c +++ b/lib/libc/stdio/setvbuf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)setvbuf.c 8.2 (Berkeley) 11/16/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: setvbuf.c,v 1.3 1996/06/22 10:33:53 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/snprintf.c b/lib/libc/stdio/snprintf.c index 0e3c4566f55b3..58bb8c17c719c 100644 --- a/lib/libc/stdio/snprintf.c +++ b/lib/libc/stdio/snprintf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)snprintf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: snprintf.c,v 1.3 1996/06/22 10:33:54 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/sprintf.c b/lib/libc/stdio/sprintf.c index fb0514d5ff2b5..f12c3197adf96 100644 --- a/lib/libc/stdio/sprintf.c +++ b/lib/libc/stdio/sprintf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)sprintf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: sprintf.c,v 1.3 1996/06/22 10:33:55 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/sscanf.c b/lib/libc/stdio/sscanf.c index d114ae3b9a0f8..52bd947ae1959 100644 --- a/lib/libc/stdio/sscanf.c +++ b/lib/libc/stdio/sscanf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)sscanf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: sscanf.c,v 1.3 1996/06/22 10:33:56 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/stdio.c b/lib/libc/stdio/stdio.c index 852e971336f2b..1bd61e8ed501d 100644 --- a/lib/libc/stdio/stdio.c +++ b/lib/libc/stdio/stdio.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)stdio.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: stdio.c,v 1.4 1996/06/22 10:33:57 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <fcntl.h> diff --git a/lib/libc/stdio/tempnam.c b/lib/libc/stdio/tempnam.c index 243fa397ca56b..b0b8ef8e72551 100644 --- a/lib/libc/stdio/tempnam.c +++ b/lib/libc/stdio/tempnam.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)tempnam.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: tempnam.c,v 1.3 1996/06/22 10:33:58 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/param.h> diff --git a/lib/libc/stdio/ungetc.c b/lib/libc/stdio/ungetc.c index c0355b7f64108..a2361cdaee9e3 100644 --- a/lib/libc/stdio/ungetc.c +++ b/lib/libc/stdio/ungetc.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)ungetc.c 8.2 (Berkeley) 11/3/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: ungetc.c,v 1.3 1996/06/22 10:33:59 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/vasprintf.c b/lib/libc/stdio/vasprintf.c index 6b728e5ff8fc1..19a68b2c8c7e7 100644 --- a/lib/libc/stdio/vasprintf.c +++ b/lib/libc/stdio/vasprintf.c @@ -24,7 +24,7 @@ */ #if defined(LIBC_RCS) && !defined(lint) -static char rcsid[] = "$Id: vasprintf.c,v 1.2 1996/06/22 10:34:01 jraynard Exp $"; +static char rcsid[] = "$Id: vasprintf.c,v 1.3 1996/07/28 16:16:11 peter Exp $"; #endif /* LIBC_RCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/vfprintf.c b/lib/libc/stdio/vfprintf.c index 5c3b9861e0c4e..a489fface573a 100644 --- a/lib/libc/stdio/vfprintf.c +++ b/lib/libc/stdio/vfprintf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)vfprintf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: vfprintf.c,v 1.9 1996/06/22 10:34:02 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ /* diff --git a/lib/libc/stdio/vfscanf.c b/lib/libc/stdio/vfscanf.c index e12f5d67291a8..1e6a507c548c9 100644 --- a/lib/libc/stdio/vfscanf.c +++ b/lib/libc/stdio/vfscanf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)vfscanf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id: vfscanf.c,v 1.3.2.1 1997/02/02 18:30:54 joerg Exp $"; + "$Id: vfscanf.c,v 1.3.2.2 1997/03/07 09:12:11 joerg Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/vprintf.c b/lib/libc/stdio/vprintf.c index 8d449d620e610..e1743e0499ab6 100644 --- a/lib/libc/stdio/vprintf.c +++ b/lib/libc/stdio/vprintf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)vprintf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: vprintf.c,v 1.3 1996/06/22 10:34:07 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/vscanf.c b/lib/libc/stdio/vscanf.c index 9381710f301a4..863c381844df6 100644 --- a/lib/libc/stdio/vscanf.c +++ b/lib/libc/stdio/vscanf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)vscanf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: vscanf.c,v 1.3 1996/06/22 10:34:09 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/vsnprintf.c b/lib/libc/stdio/vsnprintf.c index 8837c2e051440..f5a7eb5a8a3af 100644 --- a/lib/libc/stdio/vsnprintf.c +++ b/lib/libc/stdio/vsnprintf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)vsnprintf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: vsnprintf.c,v 1.3 1996/06/22 10:34:10 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/vsprintf.c b/lib/libc/stdio/vsprintf.c index 911d97fa36feb..140a95bce4478 100644 --- a/lib/libc/stdio/vsprintf.c +++ b/lib/libc/stdio/vsprintf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)vsprintf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: vsprintf.c,v 1.3 1996/06/22 10:34:11 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/vsscanf.c b/lib/libc/stdio/vsscanf.c index 4cfa6627079fc..001d624a722e5 100644 --- a/lib/libc/stdio/vsscanf.c +++ b/lib/libc/stdio/vsscanf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)vsscanf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: vsscanf.c,v 1.4 1996/06/22 10:34:12 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/wbuf.c b/lib/libc/stdio/wbuf.c index b85ac51fa8e1c..604d975a9f63d 100644 --- a/lib/libc/stdio/wbuf.c +++ b/lib/libc/stdio/wbuf.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)wbuf.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: wbuf.c,v 1.3 1996/06/22 10:34:13 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdio/wsetup.c b/lib/libc/stdio/wsetup.c index 74f0f7755d138..80604d71a3add 100644 --- a/lib/libc/stdio/wsetup.c +++ b/lib/libc/stdio/wsetup.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)wsetup.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: wsetup.c,v 1.3 1996/06/22 10:34:15 jraynard Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdio.h> diff --git a/lib/libc/stdlib/abs.3 b/lib/libc/stdlib/abs.3 index ba55204ff3c44..4f89b0aa132f0 100644 --- a/lib/libc/stdlib/abs.3 +++ b/lib/libc/stdlib/abs.3 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)abs.3 8.1 (Berkeley) 6/4/93 -.\" $Id: abs.3,v 1.5 1997/02/22 15:03:06 peter Exp $ +.\" $Id: abs.3,v 1.2.2.1 1997/02/28 05:50:27 mpp Exp $ .\" .Dd June 4, 1993 .Dt ABS 3 diff --git a/lib/libc/stdlib/calloc.3 b/lib/libc/stdlib/calloc.3 index aa1038fd4268d..703e9594a6570 100644 --- a/lib/libc/stdlib/calloc.3 +++ b/lib/libc/stdlib/calloc.3 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)calloc.3 8.1 (Berkeley) 6/4/93 -.\" $Id: calloc.3,v 1.4 1997/02/22 15:03:08 peter Exp $ +.\" $Id: calloc.3,v 1.1.1.1.8.2 1997/02/28 05:50:28 mpp Exp $ .\" .Dd June 4, 1993 .Dt CALLOC 3 diff --git a/lib/libc/stdlib/malloc.3 b/lib/libc/stdlib/malloc.3 index cd10039db2a90..ae7c9fbbaa613 100644 --- a/lib/libc/stdlib/malloc.3 +++ b/lib/libc/stdlib/malloc.3 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)malloc.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ +.\" $Id: malloc.3,v 1.6 1996/09/23 19:26:38 phk Exp $ .\" .Dd August 27, 1996 .Dt MALLOC 3 diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index 0b06473fed028..124bf89668dda 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: malloc.c,v 1.18.2.1 1996/12/30 01:35:15 alex Exp $ + * $Id: malloc.c,v 1.18.2.2 1997/03/18 16:18:24 phk Exp $ * */ diff --git a/lib/libc/stdlib/memory.3 b/lib/libc/stdlib/memory.3 index 2b9e8e742fb66..e1068262f5051 100644 --- a/lib/libc/stdlib/memory.3 +++ b/lib/libc/stdlib/memory.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)memory.3 8.1 (Berkeley) 6/4/93 -.\" $Id: memory.3,v 1.2 1996/12/23 23:09:38 wosch Exp $ +.\" $Id: memory.3,v 1.1.1.1.8.1 1997/01/02 17:47:49 mpp Exp $ .\" .Dd June 4, 1993 .Dt MEMORY 3 diff --git a/lib/libc/stdlib/qsort.c b/lib/libc/stdlib/qsort.c index 2e166a9854df0..c7b3ce78ae85b 100644 --- a/lib/libc/stdlib/qsort.c +++ b/lib/libc/stdlib/qsort.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)qsort.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id: qsort.c,v 1.4 1996/04/19 18:40:20 bde Exp $"; + "$Id: qsort.c,v 1.5 1996/08/31 14:47:23 bde Exp $"; #endif /* LIBC_SCCS and not lint */ #include <stdlib.h> diff --git a/lib/libc/stdlib/strhash.c b/lib/libc/stdlib/strhash.c index 8e2230bc72a0c..21223127a5c79 100644 --- a/lib/libc/stdlib/strhash.c +++ b/lib/libc/stdlib/strhash.c @@ -1,5 +1,5 @@ #ifndef lint -static char *rcsid = "$Header: /home/ncvs/src/lib/libc/stdlib/strhash.c,v 1.5 1995/10/22 14:53:17 phk Exp $"; +static char *rcsid = "$Header: /home/ncvs/src/lib/libc/stdlib/strhash.c,v 1.6 1996/01/13 14:25:04 jkh Exp $"; #endif /* @@ -37,6 +37,10 @@ static char *rcsid = "$Header: /home/ncvs/src/lib/libc/stdlib/strhash.c,v 1.5 19 /* * $Log: strhash.c,v $ + * Revision 1.6 1996/01/13 14:25:04 jkh + * Return pointer to new hash node when search inserts it (e.g. there + * was some datum given). + * * Revision 1.5 1995/10/22 14:53:17 phk * Mino cleanup, #includes & unused vars. * diff --git a/lib/libc/stdtime/strftime.c b/lib/libc/stdtime/strftime.c index 332031b77a5d7..f62337836ad14 100644 --- a/lib/libc/stdtime/strftime.c +++ b/lib/libc/stdtime/strftime.c @@ -17,7 +17,7 @@ #ifdef LIBC_RCS static const char rcsid[] = - "$Id: strftime.c,v 1.11.2.3 1997/02/05 23:22:13 joerg Exp $"; + "$Id: strftime.c,v 1.11.2.4 1997/02/08 14:16:11 joerg Exp $"; #endif #ifndef lint diff --git a/lib/libc/string/Makefile.inc b/lib/libc/string/Makefile.inc index 315c8991c5f91..2d7aae54e48a6 100644 --- a/lib/libc/string/Makefile.inc +++ b/lib/libc/string/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id: $ +# $Id: Makefile.inc,v 1.7 1996/05/07 23:16:16 wosch Exp $ .PATH: ${.CURDIR}/${MACHINE}/string ${.CURDIR}/string diff --git a/lib/libc/string/memcmp.3 b/lib/libc/string/memcmp.3 index 4fbee334f0e1d..5f62e2b3cb92f 100644 --- a/lib/libc/string/memcmp.3 +++ b/lib/libc/string/memcmp.3 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)memcmp.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ +.\" $Id: memcmp.3,v 1.2 1996/10/05 22:26:36 wosch Exp $ .\" .Dd June 4, 1993 .Dt MEMCMP 3 diff --git a/lib/libc/string/strcoll.c b/lib/libc/string/strcoll.c index b9169136c3f2c..63eddc8b11abd 100644 --- a/lib/libc/string/strcoll.c +++ b/lib/libc/string/strcoll.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: strcoll.c,v 1.6 1996/07/12 18:55:38 jkh Exp $ + * $Id: strcoll.c,v 1.7 1996/08/13 17:03:17 ache Exp $ */ #include <stdlib.h> diff --git a/lib/libc/string/strdup.3 b/lib/libc/string/strdup.3 index 53d9f047879cc..ad01c18ea9db0 100644 --- a/lib/libc/string/strdup.3 +++ b/lib/libc/string/strdup.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)strdup.3 8.1 (Berkeley) 6/9/93 -.\" $Id: strdup.3,v 1.6 1997/02/22 15:03:27 peter Exp $ +.\" $Id: strdup.3,v 1.3.2.1 1997/02/28 05:50:32 mpp Exp $ .\" .Dd June 9, 1993 .Dt STRDUP 3 diff --git a/lib/libc/string/string.3 b/lib/libc/string/string.3 index 387da5f73093a..7d486f321b58b 100644 --- a/lib/libc/string/string.3 +++ b/lib/libc/string/string.3 @@ -32,7 +32,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)string.3 8.2 (Berkeley) 12/11/93 -.\" $Id: string.3,v 1.5 1997/02/22 15:03:29 peter Exp $ +.\" $Id: string.3,v 1.2.2.1 1997/02/28 05:50:32 mpp Exp $ .\" .Dd December 11, 1993 .Dt STRING 3 diff --git a/lib/libc/string/strxfrm.c b/lib/libc/string/strxfrm.c index 6031674e2034b..3a8507b90a2c5 100644 --- a/lib/libc/string/strxfrm.c +++ b/lib/libc/string/strxfrm.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: strxfrm.c,v 1.4 1995/02/18 11:36:33 ache Exp $ + * $Id: strxfrm.c,v 1.6 1996/08/13 17:03:18 ache Exp $ */ #include <stdlib.h> diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index 324305a3b605c..a15578ea23edb 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/17/93 -# $Id: Makefile.inc,v 1.19 1996/05/28 16:24:53 phk Exp $ +# $Id: Makefile.inc,v 1.20 1996/09/20 13:55:25 phk Exp $ # sys sources .PATH: ${.CURDIR}/${MACHINE}/sys ${.CURDIR}/sys diff --git a/lib/libc/sys/_exit.2 b/lib/libc/sys/_exit.2 index 02c2fde2e1272..2f2cd54fddf7b 100644 --- a/lib/libc/sys/_exit.2 +++ b/lib/libc/sys/_exit.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)_exit.2 8.1 (Berkeley) 6/4/93 -.\" $Id: _exit.2,v 1.4 1996/08/29 21:23:51 wosch Exp $ +.\" $Id: _exit.2,v 1.4.2.1 1996/12/03 15:37:12 phk Exp $ .\" .Dd June 4, 1993 .Dt EXIT 2 diff --git a/lib/libc/sys/access.2 b/lib/libc/sys/access.2 index 4061723b4051a..4d8fd919baaa9 100644 --- a/lib/libc/sys/access.2 +++ b/lib/libc/sys/access.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)access.2 8.2 (Berkeley) 4/1/94 -.\" $Id: access.2,v 1.4 1997/01/11 23:55:54 mpp Exp $ +.\" $Id: access.2,v 1.2.2.2 1997/01/11 23:59:42 mpp Exp $ .\" .Dd April 1, 1994 .Dt ACCESS 2 diff --git a/lib/libc/sys/chdir.2 b/lib/libc/sys/chdir.2 index 4d60052184366..0563e2da46f90 100644 --- a/lib/libc/sys/chdir.2 +++ b/lib/libc/sys/chdir.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)chdir.2 8.2 (Berkeley) 12/11/93 -.\" $Id: chdir.2,v 1.4 1997/01/11 23:55:56 mpp Exp $ +.\" $Id: chdir.2,v 1.2.2.2 1997/01/11 23:59:45 mpp Exp $ .\" .Dd December 11, 1993 .Dt CHDIR 2 diff --git a/lib/libc/sys/chmod.2 b/lib/libc/sys/chmod.2 index 222ec27c67df5..f6e2676474881 100644 --- a/lib/libc/sys/chmod.2 +++ b/lib/libc/sys/chmod.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)chmod.2 8.1 (Berkeley) 6/4/93 -.\" $Id: chmod.2,v 1.8 1997/02/22 15:03:43 peter Exp $ +.\" $Id: chmod.2,v 1.3.2.3 1997/02/28 05:50:38 mpp Exp $ .\" .Dd June 4, 1993 .Dt CHMOD 2 diff --git a/lib/libc/sys/chown.2 b/lib/libc/sys/chown.2 index 9668bae4957ef..3df82969cea45 100644 --- a/lib/libc/sys/chown.2 +++ b/lib/libc/sys/chown.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)chown.2 8.4 (Berkeley) 4/19/94 -.\" $Id: chown.2,v 1.9 1997/02/22 15:03:44 peter Exp $ +.\" $Id: chown.2,v 1.4.2.3 1997/02/28 05:50:39 mpp Exp $ .\" .Dd April 19, 1994 .Dt CHOWN 2 diff --git a/lib/libc/sys/close.2 b/lib/libc/sys/close.2 index fdba5eb63d763..3ed45a94442fb 100644 --- a/lib/libc/sys/close.2 +++ b/lib/libc/sys/close.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)close.2 8.2 (Berkeley) 4/19/94 -.\" $Id: close.2,v 1.8 1997/02/22 15:03:47 peter Exp $ +.\" $Id: close.2,v 1.4.2.2 1997/02/28 05:50:40 mpp Exp $ .\" .Dd April 19, 1994 .Dt CLOSE 2 diff --git a/lib/libc/sys/dup.2 b/lib/libc/sys/dup.2 index 84f746514e8b0..0f9ce6882a2b9 100644 --- a/lib/libc/sys/dup.2 +++ b/lib/libc/sys/dup.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dup.2 8.1 (Berkeley) 6/4/93 -.\" $Id: dup.2,v 1.8 1997/03/09 13:16:48 mckay Exp $ +.\" $Id: dup.2,v 1.3.2.3 1997/03/09 22:16:51 mpp Exp $ .\" .Dd June 4, 1993 .Dt DUP 2 diff --git a/lib/libc/sys/getpid.2 b/lib/libc/sys/getpid.2 index 5db15e023032e..c3998d8d1d940 100644 --- a/lib/libc/sys/getpid.2 +++ b/lib/libc/sys/getpid.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getpid.2 8.1 (Berkeley) 6/4/93 -.\" $Id: getpid.2,v 1.3 1996/08/29 21:24:07 wosch Exp $ +.\" $Id: getpid.2,v 1.3.2.1 1996/12/03 15:37:28 phk Exp $ .\" .Dd June 4, 1993 .Dt GETPID 2 diff --git a/lib/libc/sys/getsockopt.2 b/lib/libc/sys/getsockopt.2 index a216b077e4c7e..214e79589748e 100644 --- a/lib/libc/sys/getsockopt.2 +++ b/lib/libc/sys/getsockopt.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getsockopt.2 8.4 (Berkeley) 5/2/95 -.\" $Id: getsockopt.2,v 1.9 1997/03/11 11:35:50 peter Exp $ +.\" $Id: getsockopt.2,v 1.6.2.1 1997/03/12 14:50:50 mpp Exp $ .\" .Dd May 2, 1995 .Dt GETSOCKOPT 2 diff --git a/lib/libc/sys/getuid.2 b/lib/libc/sys/getuid.2 index 5626bcbbfd9ea..d0effd3ca0494 100644 --- a/lib/libc/sys/getuid.2 +++ b/lib/libc/sys/getuid.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getuid.2 8.1 (Berkeley) 6/4/93 -.\" $Id: getuid.2,v 1.2 1996/08/29 21:24:08 wosch Exp $ +.\" $Id: getuid.2,v 1.2.2.1 1996/12/03 15:37:30 phk Exp $ .\" .Dd June 4, 1993 .Dt GETUID 2 diff --git a/lib/libc/sys/kill.2 b/lib/libc/sys/kill.2 index c43c28100805b..86d0c860a24c0 100644 --- a/lib/libc/sys/kill.2 +++ b/lib/libc/sys/kill.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)kill.2 8.3 (Berkeley) 4/19/94 -.\" $Id: kill.2,v 1.6 1997/02/22 15:03:55 peter Exp $ +.\" $Id: kill.2,v 1.2.2.2 1997/02/28 05:50:48 mpp Exp $ .\" .Dd April 19, 1994 .Dt KILL 2 diff --git a/lib/libc/sys/ktrace.2 b/lib/libc/sys/ktrace.2 index af63e9ad8985c..c1f4f5b146f28 100644 --- a/lib/libc/sys/ktrace.2 +++ b/lib/libc/sys/ktrace.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ktrace.2 8.1 (Berkeley) 6/4/93 -.\" $Id: ktrace.2,v 1.6 1997/02/22 15:03:57 peter Exp $ +.\" $Id: ktrace.2,v 1.3.2.1 1997/02/28 05:50:49 mpp Exp $ .\" .Dd June 4, 1993 .Dt KTRACE 2 diff --git a/lib/libc/sys/link.2 b/lib/libc/sys/link.2 index dd1f944f02126..46d88707b1ff9 100644 --- a/lib/libc/sys/link.2 +++ b/lib/libc/sys/link.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)link.2 8.3 (Berkeley) 1/12/94 -.\" $Id: link.2,v 1.6 1997/01/11 23:56:05 mpp Exp $ +.\" $Id: link.2,v 1.4.2.2 1997/01/12 00:00:07 mpp Exp $ .\" .Dd January 12, 1994 .Dt LINK 2 diff --git a/lib/libc/sys/listen.2 b/lib/libc/sys/listen.2 index 65f888d426135..52c7eb7180166 100644 --- a/lib/libc/sys/listen.2 +++ b/lib/libc/sys/listen.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)listen.2 8.2 (Berkeley) 12/11/93 -.\" $Id: listen.2,v 1.6 1996/05/23 01:05:25 mpp Exp $ +.\" $Id: listen.2,v 1.7 1996/08/22 23:28:18 mpp Exp $ .\" .Dd November 3, 1995 .Dt LISTEN 2 diff --git a/lib/libc/sys/lseek.2 b/lib/libc/sys/lseek.2 index 80fd838856d64..d280aebb1b56c 100644 --- a/lib/libc/sys/lseek.2 +++ b/lib/libc/sys/lseek.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)lseek.2 8.3 (Berkeley) 4/19/94 -.\" $Id: lseek.2,v 1.3 1996/08/29 21:24:12 wosch Exp $ +.\" $Id: lseek.2,v 1.3.2.1 1996/12/03 15:37:36 phk Exp $ .\" .Dd April 19, 1994 .Dt LSEEK 2 diff --git a/lib/libc/sys/madvise.2 b/lib/libc/sys/madvise.2 index b88f7a227e233..857c5106dc4ce 100644 --- a/lib/libc/sys/madvise.2 +++ b/lib/libc/sys/madvise.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)madvise.2 8.1 (Berkeley) 6/9/93 -.\" $Id: madvise.2,v 1.8 1997/01/11 22:51:27 mpp Exp $ +.\" $Id: madvise.2,v 1.7.2.1 1997/01/11 23:34:42 mpp Exp $ .\" .Dd Jul 19, 1996 .Dt MADVISE 2 diff --git a/lib/libc/sys/mincore.2 b/lib/libc/sys/mincore.2 index 53e16357bbad7..333b92f85bad4 100644 --- a/lib/libc/sys/mincore.2 +++ b/lib/libc/sys/mincore.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mincore.2 8.1 (Berkeley) 6/9/93 -.\" $Id: mincore.2,v 1.6 1997/01/11 23:33:14 mpp Exp $ +.\" $Id: mincore.2,v 1.4.2.2 1997/01/11 23:34:44 mpp Exp $ .\" .Dd June 9, 1993 .Dt MINCORE 2 diff --git a/lib/libc/sys/minherit.2 b/lib/libc/sys/minherit.2 index 997bafd8a82ad..ba0fde7c9d37f 100644 --- a/lib/libc/sys/minherit.2 +++ b/lib/libc/sys/minherit.2 @@ -1,4 +1,4 @@ -.\" $Id: minherit.2,v 1.1 1996/02/23 19:56:54 peter Exp $ +.\" $Id: minherit.2,v 1.1.2.1 1997/01/12 00:39:21 mpp Exp $ .\" .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. diff --git a/lib/libc/sys/mkdir.2 b/lib/libc/sys/mkdir.2 index 5782cc154cd41..5f0b9427e0cf2 100644 --- a/lib/libc/sys/mkdir.2 +++ b/lib/libc/sys/mkdir.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mkdir.2 8.2 (Berkeley) 12/11/93 -.\" $Id: mkdir.2,v 1.4 1997/01/11 23:56:06 mpp Exp $ +.\" $Id: mkdir.2,v 1.2.2.2 1997/01/12 00:00:13 mpp Exp $ .\" .Dd December 11, 1993 .Dt MKDIR 2 diff --git a/lib/libc/sys/profil.2 b/lib/libc/sys/profil.2 index 8db74bae36401..25a9595ae6ec0 100644 --- a/lib/libc/sys/profil.2 +++ b/lib/libc/sys/profil.2 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)profil.2 8.1 (Berkeley) 6/4/93 -.\" $Id$ +.\" $Id: profil.2,v 1.3 1996/08/29 21:24:13 wosch Exp $ .\" .Dd "June 4, 1993" .Dt PROFIL 2 diff --git a/lib/libc/sys/ptrace.2 b/lib/libc/sys/ptrace.2 index ce60ef62d0c73..8cf57ef785ea9 100644 --- a/lib/libc/sys/ptrace.2 +++ b/lib/libc/sys/ptrace.2 @@ -1,4 +1,4 @@ -.\" $Id: ptrace.2,v 1.9 1997/02/22 15:04:13 peter Exp $ +.\" $Id: ptrace.2,v 1.5.2.2 1997/02/28 05:50:54 mpp Exp $ .\" $NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp $ .\" .\" This file is in the public domain. diff --git a/lib/libc/sys/readlink.2 b/lib/libc/sys/readlink.2 index 04a2ad76269f1..f5f08e4fef39b 100644 --- a/lib/libc/sys/readlink.2 +++ b/lib/libc/sys/readlink.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)readlink.2 8.1 (Berkeley) 6/4/93 -.\" $Id: readlink.2,v 1.4 1997/01/11 23:56:12 mpp Exp $ +.\" $Id: readlink.2,v 1.2.2.2 1997/01/12 00:00:30 mpp Exp $ .\" .Dd June 4, 1993 .Dt READLINK 2 diff --git a/lib/libc/sys/rename.2 b/lib/libc/sys/rename.2 index da22418c8e607..93ab53cf84f6c 100644 --- a/lib/libc/sys/rename.2 +++ b/lib/libc/sys/rename.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rename.2 8.1 (Berkeley) 6/4/93 -.\" $Id: rename.2,v 1.4 1997/01/11 23:56:13 mpp Exp $ +.\" $Id: rename.2,v 1.2.2.2 1997/01/12 00:00:32 mpp Exp $ .\" .Dd June 4, 1993 .Dt RENAME 2 diff --git a/lib/libc/sys/rtprio.2 b/lib/libc/sys/rtprio.2 index 245c2419af8c8..fbb9e2a351a72 100644 --- a/lib/libc/sys/rtprio.2 +++ b/lib/libc/sys/rtprio.2 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rtprio.2,v 1.8 1997/02/22 15:04:17 peter Exp $ +.\" $Id: rtprio.2,v 1.5.2.1 1997/02/28 05:50:58 mpp Exp $ .\" .Dd July 23, 1994 .Dt RTPRIO 2 diff --git a/lib/libc/sys/semctl.2 b/lib/libc/sys/semctl.2 index 6519f12da1787..57f5859f37054 100644 --- a/lib/libc/sys/semctl.2 +++ b/lib/libc/sys/semctl.2 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: semctl.2,v 1.1 1995/10/03 19:17:17 joerg Exp $ +.\" $Id: semctl.2,v 1.2 1996/01/30 16:34:34 mpp Exp $ .\" .Dd September 12, 1995 .Dt SEMCTL 2 diff --git a/lib/libc/sys/semget.2 b/lib/libc/sys/semget.2 index c283c9ed26d86..7884fb549beb1 100644 --- a/lib/libc/sys/semget.2 +++ b/lib/libc/sys/semget.2 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: semget.2,v 1.1 1995/10/03 19:17:18 joerg Exp $ +.\" $Id: semget.2,v 1.1.4.1 1996/12/04 16:02:41 phk Exp $ .\" .Dd September 12, 1995 .Dt SEMGET 2 diff --git a/lib/libc/sys/semop.2 b/lib/libc/sys/semop.2 index 9d07893dd97c1..33cc4292cab12 100644 --- a/lib/libc/sys/semop.2 +++ b/lib/libc/sys/semop.2 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: semop.2,v 1.2.2.1 1997/03/03 14:41:19 bde Exp $ .\" .Dd September 22, 1995 .Dt SEMOP 2 diff --git a/lib/libc/sys/send.2 b/lib/libc/sys/send.2 index a2f61d934f911..175f3a05e062d 100644 --- a/lib/libc/sys/send.2 +++ b/lib/libc/sys/send.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)send.2 8.2 (Berkeley) 2/21/94 -.\" $Id: send.2,v 1.7 1997/02/22 15:04:22 peter Exp $ +.\" $Id: send.2,v 1.3.2.2 1997/02/28 05:50:59 mpp Exp $ .\" .Dd February 15, 1995 .Dt SEND 2 diff --git a/lib/libc/sys/setuid.2 b/lib/libc/sys/setuid.2 index c0c154a517c15..d8cd9d71b739d 100644 --- a/lib/libc/sys/setuid.2 +++ b/lib/libc/sys/setuid.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)setuid.2 8.1 (Berkeley) 6/4/93 -.\" $Id: setuid.2,v 1.4.2.3 1996/12/10 23:56:02 joerg Exp $ +.\" $Id: setuid.2,v 1.4.2.4 1997/02/28 12:03:03 bde Exp $ .\" .Dd June 4, 1993 .Dt SETUID 2 diff --git a/lib/libc/sys/shmat.2 b/lib/libc/sys/shmat.2 index 8fb823447f75b..ffa91636aea6e 100644 --- a/lib/libc/sys/shmat.2 +++ b/lib/libc/sys/shmat.2 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: shmat.2,v 1.5 1997/02/22 15:04:25 peter Exp $ +.\" $Id: shmat.2,v 1.2.2.1 1997/02/28 05:51:00 mpp Exp $ .\" .Dd August 2, 1995 .Dt SHMAT 2 diff --git a/lib/libc/sys/shmctl.2 b/lib/libc/sys/shmctl.2 index ae78ebcee1d16..4c20d64473e6c 100644 --- a/lib/libc/sys/shmctl.2 +++ b/lib/libc/sys/shmctl.2 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: shmctl.2,v 1.2.2.1 1997/03/03 14:46:33 bde Exp $ .\" .Dd July 17, 1995 .Dt SHMCTL 2 diff --git a/lib/libc/sys/shmget.2 b/lib/libc/sys/shmget.2 index 2546f022088bb..88f47357ce146 100644 --- a/lib/libc/sys/shmget.2 +++ b/lib/libc/sys/shmget.2 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: shmget.2,v 1.5 1997/02/22 15:04:26 peter Exp $ +.\" $Id: shmget.2,v 1.2.2.1 1997/02/28 05:51:00 mpp Exp $ .\" .Dd July 3, 1995 .Dt SHMGET 2 diff --git a/lib/libc/sys/socket.2 b/lib/libc/sys/socket.2 index b069b5781fce5..02da1c770b0a5 100644 --- a/lib/libc/sys/socket.2 +++ b/lib/libc/sys/socket.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)socket.2 8.1 (Berkeley) 6/4/93 -.\" $Id$ +.\" $Id: socket.2,v 1.3.2.1 1997/03/03 14:41:21 bde Exp $ .\" .Dd February 15, 1995 .Dt SOCKET 2 diff --git a/lib/libc/sys/stat.2 b/lib/libc/sys/stat.2 index cb016d4b6d13f..2523c6370278a 100644 --- a/lib/libc/sys/stat.2 +++ b/lib/libc/sys/stat.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)stat.2 8.3 (Berkeley) 4/19/94 -.\" $Id: stat.2,v 1.9 1997/01/11 23:56:19 mpp Exp $ +.\" $Id: stat.2,v 1.6.2.3 1997/01/12 00:00:35 mpp Exp $ .\" .Dd April 19, 1994 .Dt STAT 2 diff --git a/lib/libc/sys/umask.2 b/lib/libc/sys/umask.2 index f250a6e2911b0..80c3c2ea3e57a 100644 --- a/lib/libc/sys/umask.2 +++ b/lib/libc/sys/umask.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)umask.2 8.1 (Berkeley) 6/4/93 -.\" $Id: umask.2,v 1.2 1996/08/29 21:24:19 wosch Exp $ +.\" $Id: umask.2,v 1.2.2.1 1996/12/03 15:38:07 phk Exp $ .\" .Dd June 4, 1993 .Dt UMASK 2 diff --git a/lib/libc/sys/unlink.2 b/lib/libc/sys/unlink.2 index 647a95122338d..484086b9837da 100644 --- a/lib/libc/sys/unlink.2 +++ b/lib/libc/sys/unlink.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)unlink.2 8.1 (Berkeley) 6/4/93 -.\" $Id: unlink.2,v 1.5 1997/01/11 23:56:31 mpp Exp $ +.\" $Id: unlink.2,v 1.4.2.1 1997/01/12 00:00:43 mpp Exp $ .\" .Dd June 4, 1993 .Dt UNLINK 2 diff --git a/lib/libc/sys/vfork.2 b/lib/libc/sys/vfork.2 index 3e490146c70ef..d693e9dfd6d76 100644 --- a/lib/libc/sys/vfork.2 +++ b/lib/libc/sys/vfork.2 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)vfork.2 8.1 (Berkeley) 6/4/93 -.\" $Id: vfork.2,v 1.5 1996/12/23 23:09:41 wosch Exp $ +.\" $Id: vfork.2,v 1.4.2.2 1997/01/12 00:09:35 mpp Exp $ .\" .Dd June 4, 1993 .Dt VFORK 2 diff --git a/lib/libc/xdr/xdr.3 b/lib/libc/xdr/xdr.3 index 57204ccebada0..f64e5b1cdc9b2 100644 --- a/lib/libc/xdr/xdr.3 +++ b/lib/libc/xdr/xdr.3 @@ -1,5 +1,5 @@ .\" @(#)xdr.3n 2.2 88/08/03 4.0 RPCSRC; from 1.16 88/03/14 SMI -.\" $Id$ +.\" $Id: xdr.3,v 1.3 1996/10/05 22:26:44 wosch Exp $ .\" .TH XDR 3 "16 February 1988" .SH NAME diff --git a/lib/libc/xdr/xdr.c b/lib/libc/xdr/xdr.c index 87b4f7aaacf42..f37d98764f2a8 100644 --- a/lib/libc/xdr/xdr.c +++ b/lib/libc/xdr/xdr.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)xdr.c 1.35 87/08/12";*/ /*static char *sccsid = "from: @(#)xdr.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: xdr.c,v 1.2 1995/05/30 05:42:03 rgrimes Exp $"; +static char *rcsid = "$Id: xdr.c,v 1.3 1995/10/22 14:53:51 phk Exp $"; #endif /* diff --git a/lib/libc/xdr/xdr_array.c b/lib/libc/xdr/xdr_array.c index 35bbb2bd99e8e..eb4025b4c3bad 100644 --- a/lib/libc/xdr/xdr_array.c +++ b/lib/libc/xdr/xdr_array.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)xdr_array.c 1.10 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)xdr_array.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: xdr_array.c,v 1.2 1995/05/30 05:42:04 rgrimes Exp $"; +static char *rcsid = "$Id: xdr_array.c,v 1.3 1995/10/22 14:53:54 phk Exp $"; #endif /* diff --git a/lib/libc/xdr/xdr_float.c b/lib/libc/xdr/xdr_float.c index 105ca43bbfad1..e76f5439849cf 100644 --- a/lib/libc/xdr/xdr_float.c +++ b/lib/libc/xdr/xdr_float.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)xdr_float.c 1.12 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)xdr_float.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: xdr_float.c,v 1.1 1994/08/07 18:39:32 wollman Exp $"; +static char *rcsid = "$Id: xdr_float.c,v 1.2 1995/05/30 05:42:04 rgrimes Exp $"; #endif /* diff --git a/lib/libc/xdr/xdr_mem.c b/lib/libc/xdr/xdr_mem.c index 6f82f670f17ae..85ffc6db610d9 100644 --- a/lib/libc/xdr/xdr_mem.c +++ b/lib/libc/xdr/xdr_mem.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)xdr_mem.c 1.19 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)xdr_mem.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: xdr_mem.c,v 1.2 1995/05/30 05:42:06 rgrimes Exp $"; +static char *rcsid = "$Id: xdr_mem.c,v 1.3 1995/10/22 14:53:55 phk Exp $"; #endif /* diff --git a/lib/libc/xdr/xdr_rec.c b/lib/libc/xdr/xdr_rec.c index 3b69f257132b3..0d9f495c9dd5a 100644 --- a/lib/libc/xdr/xdr_rec.c +++ b/lib/libc/xdr/xdr_rec.c @@ -29,7 +29,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)xdr_rec.c 1.21 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)xdr_rec.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char *rcsid = "$Id: xdr_rec.c,v 1.3 1995/05/30 05:42:09 rgrimes Exp $"; +static char *rcsid = "$Id: xdr_rec.c,v 1.4 1995/10/22 14:53:56 phk Exp $"; #endif /* diff --git a/lib/libc/xdr/xdr_reference.c b/lib/libc/xdr/xdr_reference.c index 91ccff2d79cf1..b626c5332fcc5 100644 --- a/lib/libc/xdr/xdr_reference.c +++ b/lib/libc/xdr/xdr_reference.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)xdr_reference.c 1.11 87/08/11 SMI";*/ /*static char *sccsid = "from: @(#)xdr_reference.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: xdr_reference.c,v 1.2 1995/05/30 05:42:12 rgrimes Exp $"; +static char *rcsid = "$Id: xdr_reference.c,v 1.3 1995/10/22 14:53:58 phk Exp $"; #endif /* diff --git a/lib/libc/xdr/xdr_stdio.c b/lib/libc/xdr/xdr_stdio.c index 5cfdf205a619d..ecf6e44488721 100644 --- a/lib/libc/xdr/xdr_stdio.c +++ b/lib/libc/xdr/xdr_stdio.c @@ -30,7 +30,7 @@ #if defined(LIBC_SCCS) && !defined(lint) /*static char *sccsid = "from: @(#)xdr_stdio.c 1.16 87/08/11 Copyr 1984 Sun Micro";*/ /*static char *sccsid = "from: @(#)xdr_stdio.c 2.1 88/07/29 4.0 RPCSRC";*/ -static char *rcsid = "$Id: xdr_stdio.c,v 1.1 1994/08/07 18:39:35 wollman Exp $"; +static char *rcsid = "$Id: xdr_stdio.c,v 1.2 1995/05/30 05:42:12 rgrimes Exp $"; #endif /* diff --git a/lib/libc/yp/Makefile.inc b/lib/libc/yp/Makefile.inc index 529de751828ed..8d438d7a981e7 100644 --- a/lib/libc/yp/Makefile.inc +++ b/lib/libc/yp/Makefile.inc @@ -1,5 +1,5 @@ # from: @(#)Makefile.inc 5.3 (Berkeley) 2/20/91 -# $Id: Makefile.inc,v 1.1 1994/08/07 23:04:53 wollman Exp $ +# $Id: Makefile.inc,v 1.2 1995/12/14 05:16:43 wpaul Exp $ # yp sources .PATH: ${.CURDIR}/yp diff --git a/lib/libc/yp/xdryp.c b/lib/libc/yp/xdryp.c index 2d63227713dde..715db2401ca99 100644 --- a/lib/libc/yp/xdryp.c +++ b/lib/libc/yp/xdryp.c @@ -28,7 +28,7 @@ */ #ifndef LINT -static char *rcsid = "$Id: xdryp.c,v 1.5 1996/02/04 05:05:43 wpaul Exp $"; +static char *rcsid = "$Id: xdryp.c,v 1.6 1996/06/03 13:16:53 jraynard Exp $"; #endif #include <rpc/rpc.h> diff --git a/lib/libc/yp/yplib.c b/lib/libc/yp/yplib.c index 7c565abe56e8e..402236ed78344 100644 --- a/lib/libc/yp/yplib.c +++ b/lib/libc/yp/yplib.c @@ -28,7 +28,7 @@ */ #ifndef LINT -static char *rcsid = "$Id: yplib.c,v 1.24.2.1 1996/11/08 23:21:17 joerg Exp $"; +static char *rcsid = "$Id: yplib.c,v 1.24.2.2 1996/12/21 18:17:42 wpaul Exp $"; #endif #include <sys/param.h> diff --git a/lib/libc_r/gen/Makefile.inc b/lib/libc_r/gen/Makefile.inc index 2bfe3cd98422d..0ee83235d0778 100644 --- a/lib/libc_r/gen/Makefile.inc +++ b/lib/libc_r/gen/Makefile.inc @@ -1,5 +1,5 @@ # From: @(#)Makefile.inc 8.3 (Berkeley) 4/16/94 -# $Id: Makefile.inc,v 1.16 1995/05/30 05:40:08 rgrimes Exp $ +# $Id: Makefile.inc,v 1.1 1996/01/22 00:22:18 julian Exp $ # machine-independent gen sources .PATH: ${.CURDIR}/../libc/${MACHINE}/gen ${.CURDIR}/../libc/gen diff --git a/lib/libc_r/i386/gen/Makefile.inc b/lib/libc_r/i386/gen/Makefile.inc index e27d9fc4a3a5e..dfa5f3cc0cf4c 100644 --- a/lib/libc_r/i386/gen/Makefile.inc +++ b/lib/libc_r/i386/gen/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id: Makefile.inc,v 1.6 1995/10/05 10:24:57 phk Exp $ +# $Id: Makefile.inc,v 1.1 1996/01/22 00:22:23 julian Exp $ SRCS+= isinf.c infinity.c SRCS+= _setjmp.S alloca.S fabs.S ldexp.c modf.S setjmp.S sigsetjmp.S diff --git a/lib/libc_r/i386/net/Makefile.inc b/lib/libc_r/i386/net/Makefile.inc index c53f780add9d2..133d31128134a 100644 --- a/lib/libc_r/i386/net/Makefile.inc +++ b/lib/libc_r/i386/net/Makefile.inc @@ -1,4 +1,4 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id: Makefile.inc,v 1.3 1995/01/23 01:27:57 davidg Exp $ +# $Id: Makefile.inc,v 1.1 1996/01/22 00:22:25 julian Exp $ SRCS+= htonl.S htons.S ntohl.S ntohs.S diff --git a/lib/libc_r/i386/stdlib/Makefile.inc b/lib/libc_r/i386/stdlib/Makefile.inc index 8b544afb20e49..29c9ec79aaa86 100644 --- a/lib/libc_r/i386/stdlib/Makefile.inc +++ b/lib/libc_r/i386/stdlib/Makefile.inc @@ -1,4 +1,4 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id: Makefile.inc,v 1.3 1995/01/23 01:28:28 davidg Exp $ +# $Id: Makefile.inc,v 1.1 1996/01/22 00:22:27 julian Exp $ SRCS+= abs.S diff --git a/lib/libc_r/i386/string/Makefile.inc b/lib/libc_r/i386/string/Makefile.inc index df9bf9855ea2b..2eaef68115d82 100644 --- a/lib/libc_r/i386/string/Makefile.inc +++ b/lib/libc_r/i386/string/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id: Makefile.inc,v 1.4 1995/01/23 01:28:45 davidg Exp $ +# $Id: Makefile.inc,v 1.1 1996/01/22 00:22:28 julian Exp $ SRCS+= bcmp.S bcopy.S bzero.S ffs.S index.S memchr.S memcmp.S \ memmove.S memset.S \ diff --git a/lib/libc_r/i386/sys/Makefile.inc b/lib/libc_r/i386/sys/Makefile.inc index fdeba08f46fc5..aab48ef9ecdf7 100644 --- a/lib/libc_r/i386/sys/Makefile.inc +++ b/lib/libc_r/i386/sys/Makefile.inc @@ -1,5 +1,5 @@ # from: Makefile.inc,v 1.1 1993/09/03 19:04:23 jtc Exp -# $Id: Makefile.inc,v 1.2 1994/02/21 05:19:06 rgrimes Exp $ +# $Id: Makefile.inc,v 1.1 1996/01/22 00:22:30 julian Exp $ .PATH: ${.CURDIR}/../libc/${MACHINE}/sys diff --git a/lib/libc_r/man/Makefile.inc b/lib/libc_r/man/Makefile.inc index 7d67fb8858bb4..e4beb4fe2a3e7 100644 --- a/lib/libc_r/man/Makefile.inc +++ b/lib/libc_r/man/Makefile.inc @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1996/08/20 08:20:42 julian Exp $ # POSIX thread man files diff --git a/lib/libc_r/man/pthread_getspecific.3 b/lib/libc_r/man/pthread_getspecific.3 index b53841e0e76d8..fdd8f92fd6eeb 100644 --- a/lib/libc_r/man/pthread_getspecific.3 +++ b/lib/libc_r/man/pthread_getspecific.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: pthread_getspecific.3,v 1.2 1996/09/23 22:23:01 wosch Exp $ .\" .Dd April 4, 1996 .Dt PTHREAD_GETSPECIFIC 3 diff --git a/lib/libc_r/stdtime/Makefile.inc b/lib/libc_r/stdtime/Makefile.inc index c6c8591d8bf3a..861b172a11c95 100644 --- a/lib/libc_r/stdtime/Makefile.inc +++ b/lib/libc_r/stdtime/Makefile.inc @@ -1,4 +1,4 @@ -# $Id: Makefile.inc,v 1.2 1994/09/13 21:26:01 wollman Exp $ +# $Id: Makefile.inc,v 1.1 1996/01/22 00:22:49 julian Exp $ .PATH: ${.CURDIR}/../libc/stdtime diff --git a/lib/libc_r/string/Makefile.inc b/lib/libc_r/string/Makefile.inc index 1296824f0a3ee..f9c309714addf 100644 --- a/lib/libc_r/string/Makefile.inc +++ b/lib/libc_r/string/Makefile.inc @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $Id: $ +# $Id: Makefile.inc,v 1.2 1996/05/07 23:16:47 wosch Exp $ .PATH: ${.CURDIR}/../libc/${MACHINE}/string ${.CURDIR}/../libc/string diff --git a/lib/libc_r/uthread/Makefile.inc b/lib/libc_r/uthread/Makefile.inc index 72a6e57a56c5b..0d1bafc0a6bf5 100644 --- a/lib/libc_r/uthread/Makefile.inc +++ b/lib/libc_r/uthread/Makefile.inc @@ -1,4 +1,4 @@ -# $Id: Makefile.inc,v 1.2 1996/02/17 02:19:35 jdp Exp $ +# $Id: Makefile.inc,v 1.3 1996/08/20 08:20:59 julian Exp $ CPLUSPLUSLIB= cpluspluslib diff --git a/lib/libc_r/yp/Makefile.inc b/lib/libc_r/yp/Makefile.inc index 3e8540d845061..ea7fe16c72927 100644 --- a/lib/libc_r/yp/Makefile.inc +++ b/lib/libc_r/yp/Makefile.inc @@ -1,5 +1,5 @@ # from: @(#)Makefile.inc 5.3 (Berkeley) 2/20/91 -# $Id: Makefile.inc,v 1.1 1994/08/07 23:04:53 wollman Exp $ +# $Id: Makefile.inc,v 1.1 1996/01/22 00:23:58 julian Exp $ # yp sources .PATH: ${.CURDIR}/../libc/yp diff --git a/lib/libcom_err/Makefile b/lib/libcom_err/Makefile index a09601c3efbea..7c737d81dcf5d 100644 --- a/lib/libcom_err/Makefile +++ b/lib/libcom_err/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/08/30 01:45:45 peter Exp $ +# $Id: Makefile,v 1.4 1996/09/04 22:22:46 bde Exp $ LIB= com_err SRCS= com_err.c error_message.c et_name.c init_et.c diff --git a/lib/libcom_err/com_err.3 b/lib/libcom_err/com_err.3 index ee4375b0262ea..2fcd23aa2d50e 100644 --- a/lib/libcom_err/com_err.3 +++ b/lib/libcom_err/com_err.3 @@ -1,7 +1,7 @@ .\" Copyright (c) 1988 Massachusetts Institute of Technology, .\" Student Information Processing Board. All rights reserved. .\" -.\" $Header$ +.\" $Header: /home/ncvs/src/lib/libcom_err/com_err.3,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp $ .\" .TH COM_ERR 3 "22 Nov 1988" SIPB .SH NAME diff --git a/lib/libcom_err/com_err.c b/lib/libcom_err/com_err.c index 71b520b19f520..a64ab66064ec4 100644 --- a/lib/libcom_err/com_err.c +++ b/lib/libcom_err/com_err.c @@ -15,7 +15,7 @@ #if ! lint static const char rcsid[] = - "$Id: /a/ncvs/src/lib/libcom_err/com_err.c,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp $"; + "$Id: com_err.c,v 1.2 1995/01/23 22:53:12 wollman Exp $"; #endif /* ! lint */ static void diff --git a/lib/libcom_err/doc/Makefile b/lib/libcom_err/doc/Makefile index def1c434cd5d6..2ecaf275874f2 100644 --- a/lib/libcom_err/doc/Makefile +++ b/lib/libcom_err/doc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp $ +# $Id: Makefile,v 1.1.1.1.6.1 1997/03/07 09:14:29 joerg Exp $ INFO= com_err INFOSECTION= "Programming & development tools." diff --git a/lib/libcom_err/doc/com_err.texinfo b/lib/libcom_err/doc/com_err.texinfo index 77f62c7ddde13..6d4c01892da16 100644 --- a/lib/libcom_err/doc/com_err.texinfo +++ b/lib/libcom_err/doc/com_err.texinfo @@ -1,6 +1,6 @@ \input texinfo @c -*-texinfo-*- -@c $Header: /home/ncvs/src/lib/libcom_err/doc/com_err.texinfo,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp $ +@c $Header: /home/ncvs/src/lib/libcom_err/doc/com_err.texinfo,v 1.1.1.1.6.1 1997/03/07 09:14:30 joerg Exp $ @c $Source: /home/ncvs/src/lib/libcom_err/doc/com_err.texinfo,v $ @c Note that although this source file is in texinfo format (more diff --git a/lib/libcom_err/error_message.c b/lib/libcom_err/error_message.c index 51ac5687e9638..ac69c195391e8 100644 --- a/lib/libcom_err/error_message.c +++ b/lib/libcom_err/error_message.c @@ -1,5 +1,5 @@ /* - * $Header: /home/ncvs/src/lib/libcom_err/error_message.c,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp $ + * $Header: /home/ncvs/src/lib/libcom_err/error_message.c,v 1.2 1996/07/12 18:55:46 jkh Exp $ * $Source: /home/ncvs/src/lib/libcom_err/error_message.c,v $ * $Locker: $ * @@ -16,7 +16,7 @@ #include "internal.h" static const char rcsid[] = - "$Header: /home/ncvs/src/lib/libcom_err/error_message.c,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp $"; + "$Header: /home/ncvs/src/lib/libcom_err/error_message.c,v 1.2 1996/07/12 18:55:46 jkh Exp $"; static const char copyright[] = "Copyright 1986, 1987, 1988 by the Student Information Processing Board\nand the department of Information Systems\nof the Massachusetts Institute of Technology"; diff --git a/lib/libcom_err/et_name.c b/lib/libcom_err/et_name.c index a896bab84e183..7af3b549d7f3d 100644 --- a/lib/libcom_err/et_name.c +++ b/lib/libcom_err/et_name.c @@ -12,7 +12,7 @@ static const char copyright[] = "Copyright 1987,1988 by Student Information Processing Board, Massachusetts Institute of Technology"; static const char rcsid_et_name_c[] = - "$Header: et_name.c,v 1.7 89/01/01 06:14:56 raeburn Exp $"; + "$Header: /home/ncvs/src/lib/libcom_err/et_name.c,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp $"; #endif static const char char_set[] = diff --git a/lib/libcom_err/init_et.c b/lib/libcom_err/init_et.c index 630c2ac4a0b3c..281b4cd3e54cc 100644 --- a/lib/libcom_err/init_et.c +++ b/lib/libcom_err/init_et.c @@ -1,6 +1,6 @@ /* - * $Header: init_et.c,v 1.5 88/10/27 08:34:54 raeburn Exp $ - * $Source: /mit/raeburn/Work/et/src/RCS/init_et.c,v $ + * $Header: /home/ncvs/src/lib/libcom_err/init_et.c,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp $ + * $Source: /home/ncvs/src/lib/libcom_err/init_et.c,v $ * $Locker: $ * * Copyright 1986, 1987, 1988 by MIT Information Systems and @@ -19,7 +19,7 @@ #ifndef lint static const char rcsid_init_et_c[] = - "$Header: init_et.c,v 1.5 88/10/27 08:34:54 raeburn Exp $"; + "$Header: /home/ncvs/src/lib/libcom_err/init_et.c,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp $"; #endif extern char *malloc(), *realloc(); diff --git a/lib/libcompat/4.1/ascftime.c b/lib/libcompat/4.1/ascftime.c index e842b6e820813..ac3ad8c77530d 100644 --- a/lib/libcompat/4.1/ascftime.c +++ b/lib/libcompat/4.1/ascftime.c @@ -31,7 +31,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: ascftime.c,v 1.1 1995/04/10 18:47:51 joerg Exp $ */ #include <time.h> diff --git a/lib/libcompat/4.1/cftime.3 b/lib/libcompat/4.1/cftime.3 index 5c760a9d5c311..18fa13d30a6bb 100644 --- a/lib/libcompat/4.1/cftime.3 +++ b/lib/libcompat/4.1/cftime.3 @@ -32,7 +32,7 @@ .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" -.\" $Id$ +.\" $Id: cftime.3,v 1.1 1995/04/10 18:47:52 joerg Exp $ .\" .Dd June 15, 1993 .Os diff --git a/lib/libcompat/4.1/cftime.c b/lib/libcompat/4.1/cftime.c index 2e3a34bc71c87..03df0b3cd831e 100644 --- a/lib/libcompat/4.1/cftime.c +++ b/lib/libcompat/4.1/cftime.c @@ -31,7 +31,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: cftime.c,v 1.1 1995/04/10 18:47:53 joerg Exp $ */ #include <time.h> diff --git a/lib/libcompat/4.1/ftime.c b/lib/libcompat/4.1/ftime.c index 8f6efb1f96eba..c396e480f821d 100644 --- a/lib/libcompat/4.1/ftime.c +++ b/lib/libcompat/4.1/ftime.c @@ -29,7 +29,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: ftime.c,v 1.1.1.1 1994/05/27 10:33:22 rgrimes Exp $"; +static char rcsid[] = "$Id: ftime.c,v 1.2 1996/07/12 18:55:49 jkh Exp $"; #endif /* not lint */ #include <sys/types.h> diff --git a/lib/libcompat/4.1/getpw.c b/lib/libcompat/4.1/getpw.c index 5ea696af7bdcc..4bd48724e59bf 100644 --- a/lib/libcompat/4.1/getpw.c +++ b/lib/libcompat/4.1/getpw.c @@ -29,7 +29,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: getpw.c,v 1.1 1995/04/10 18:47:55 joerg Exp $ + * $Id: getpw.c,v 1.2 1995/05/30 05:42:17 rgrimes Exp $ */ #include <sys/types.h> diff --git a/lib/libcompat/4.1/gtty.c b/lib/libcompat/4.1/gtty.c index 7875399a3fd2c..d562e9a0eab7b 100644 --- a/lib/libcompat/4.1/gtty.c +++ b/lib/libcompat/4.1/gtty.c @@ -29,7 +29,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: gtty.c,v 1.1.1.1 1994/05/27 10:33:22 rgrimes Exp $"; +static char rcsid[] = "$Id: gtty.c,v 1.2 1995/04/10 18:47:56 joerg Exp $"; #endif /* not lint */ #include <sgtty.h> diff --git a/lib/libcompat/4.1/stty.c b/lib/libcompat/4.1/stty.c index 91d241bce3e67..0fc157cfad183 100644 --- a/lib/libcompat/4.1/stty.c +++ b/lib/libcompat/4.1/stty.c @@ -29,7 +29,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: stty.c,v 1.1.1.1 1994/05/27 10:33:22 rgrimes Exp $"; +static char rcsid[] = "$Id: stty.c,v 1.2 1995/04/10 18:47:57 joerg Exp $"; #endif /* not lint */ #include <sgtty.h> diff --git a/lib/libcompat/4.3/cfree.3 b/lib/libcompat/4.3/cfree.3 index 0f5afb277ddfb..2f465800ba226 100644 --- a/lib/libcompat/4.3/cfree.3 +++ b/lib/libcompat/4.3/cfree.3 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: cfree.3,v 1.1 1995/11/24 08:36:51 joerg Exp $ .\" " <- this is for hilit19 :) .Dd November 23, 1995 .Dt CFREE 3 diff --git a/lib/libcompat/4.4/cuserid.3 b/lib/libcompat/4.4/cuserid.3 index dd8aa38b890c8..193b3cf27d247 100644 --- a/lib/libcompat/4.4/cuserid.3 +++ b/lib/libcompat/4.4/cuserid.3 @@ -29,7 +29,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: cuserid.3,v 1.5 1997/02/22 15:06:05 peter Exp $ +.\" $Id: cuserid.3,v 1.2.2.1 1997/02/28 07:21:21 mpp Exp $ .\" .Dd April 10, 1995 .Os diff --git a/lib/libcompat/SysV/ftok.3 b/lib/libcompat/SysV/ftok.3 index 1130e38bbea0a..eeb1b8a898314 100644 --- a/lib/libcompat/SysV/ftok.3 +++ b/lib/libcompat/SysV/ftok.3 @@ -23,7 +23,7 @@ .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ftok.3,v 1.4 1996/06/03 10:40:39 joerg Exp $ +.\" $Id: ftok.3,v 1.5 1996/10/05 22:26:47 wosch Exp $ .Dd June 24, 1994 .Os .Dt ftok 3 diff --git a/lib/libcompat/SysV/ftok.c b/lib/libcompat/SysV/ftok.c index 8861509a541e4..08b77318d37e3 100644 --- a/lib/libcompat/SysV/ftok.c +++ b/lib/libcompat/SysV/ftok.c @@ -26,7 +26,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$Id: ftok.c,v 1.2 1994/06/26 16:27:34 jtc Exp $"; +static char *rcsid = "$Id: ftok.c,v 1.1 1995/05/01 08:53:21 joerg Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> diff --git a/lib/libcrypt/Makefile b/lib/libcrypt/Makefile index d4d5057297d24..0ac5a24c32e06 100644 --- a/lib/libcrypt/Makefile +++ b/lib/libcrypt/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.6 1994/11/14 06:44:45 bde Exp $ +# $Id: Makefile,v 1.7 1995/05/30 05:42:21 rgrimes Exp $ # LCRYPTBASE= libcrypt diff --git a/lib/libcrypt/crypt.c b/lib/libcrypt/crypt.c index ce7b9ee2903c4..15f8a0cf2bcaa 100644 --- a/lib/libcrypt/crypt.c +++ b/lib/libcrypt/crypt.c @@ -6,12 +6,12 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: crypt.c,v 1.4 1996/07/12 18:56:01 jkh Exp $ + * $Id: crypt.c,v 1.5 1996/10/14 08:34:02 phk Exp $ * */ #if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Header: /home/ncvs/src/lib/libcrypt/crypt.c,v 1.4 1996/07/12 18:56:01 jkh Exp $"; +static char rcsid[] = "$Header: /home/ncvs/src/lib/libcrypt/crypt.c,v 1.5 1996/10/14 08:34:02 phk Exp $"; #endif /* LIBC_SCCS and not lint */ #include <unistd.h> diff --git a/lib/libcurses/Makefile b/lib/libcurses/Makefile index 3d25222d6f8e5..682da4a851d9f 100644 --- a/lib/libcurses/Makefile +++ b/lib/libcurses/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.2 (Berkeley) 1/2/94 -# $Id: Makefile,v 1.7 1996/08/30 01:47:14 peter Exp $ +# $Id: Makefile,v 1.8 1996/09/05 17:14:18 bde Exp $ CFLAGS+=#-DTFILE=\"/dev/ttyp0\" CFLAGS+=-D_CURSES_PRIVATE -I${.CURDIR} diff --git a/lib/libdisk/Makefile b/lib/libdisk/Makefile index e53d97f81772b..d2518ff62d986 100644 --- a/lib/libdisk/Makefile +++ b/lib/libdisk/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.17 1996/08/30 01:47:56 peter Exp $ +# $Id: Makefile,v 1.17.2.1 1997/01/24 21:08:27 jkh Exp $ LIB= disk SRCS= blocks.c disklabel.c dkcksum.c chunk.c disk.c change.c \ diff --git a/lib/libdisk/blocks.c b/lib/libdisk/blocks.c index e3dca8a0eece1..163a65e675025 100644 --- a/lib/libdisk/blocks.c +++ b/lib/libdisk/blocks.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: blocks.c,v 1.3 1995/04/30 06:09:24 phk Exp $ + * $Id: blocks.c,v 1.4 1996/07/09 12:17:45 jkh Exp $ * */ diff --git a/lib/libdisk/change.c b/lib/libdisk/change.c index cc2602055b4bb..7ce625be6aaac 100644 --- a/lib/libdisk/change.c +++ b/lib/libdisk/change.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: change.c,v 1.10 1995/12/07 10:33:18 peter Exp $ + * $Id: change.c,v 1.10.2.1 1996/11/28 21:51:05 phk Exp $ * */ diff --git a/lib/libdisk/chunk.c b/lib/libdisk/chunk.c index a34b34848611b..3671652a6fe50 100644 --- a/lib/libdisk/chunk.c +++ b/lib/libdisk/chunk.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: chunk.c,v 1.15 1995/06/11 19:29:32 rgrimes Exp $ + * $Id: chunk.c,v 1.16 1996/03/24 18:55:36 joerg Exp $ * */ diff --git a/lib/libdisk/create_chunk.c b/lib/libdisk/create_chunk.c index 3c1eff7139cec..856e7383ee533 100644 --- a/lib/libdisk/create_chunk.c +++ b/lib/libdisk/create_chunk.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: create_chunk.c,v 1.24 1996/04/29 05:03:01 jkh Exp $ + * $Id: create_chunk.c,v 1.24.2.1 1996/12/14 11:56:42 joerg Exp $ * */ diff --git a/lib/libdisk/disk.c b/lib/libdisk/disk.c index fea1e3bc1f62d..0efad8d0d8293 100644 --- a/lib/libdisk/disk.c +++ b/lib/libdisk/disk.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: disk.c,v 1.22.2.2 1996/12/14 11:56:43 joerg Exp $ + * $Id: disk.c,v 1.22.2.3 1997/01/24 21:08:28 jkh Exp $ * */ diff --git a/lib/libdisk/disklabel.c b/lib/libdisk/disklabel.c index 9714e6c28f2e4..f2d94187bbba1 100644 --- a/lib/libdisk/disklabel.c +++ b/lib/libdisk/disklabel.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id$ + * $Id: disklabel.c,v 1.2 1995/04/29 01:55:22 phk Exp $ * */ diff --git a/lib/libdisk/libdisk.3 b/lib/libdisk/libdisk.3 index cb96ba88e8779..4ba2f654f2299 100644 --- a/lib/libdisk/libdisk.3 +++ b/lib/libdisk/libdisk.3 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: libdisk.3,v 1.2 1996/03/24 18:55:38 joerg Exp $ +.\" $Id: libdisk.3,v 1.2.2.1 1997/01/24 21:08:29 jkh Exp $ .\" " .Dd March 15, 1996 .Dt LIBDISK 3 diff --git a/lib/libdisk/libdisk.h b/lib/libdisk/libdisk.h index 8e2ff412f32ca..c07d810e9b8c3 100644 --- a/lib/libdisk/libdisk.h +++ b/lib/libdisk/libdisk.h @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * -* $Id: libdisk.h,v 1.22.2.1 1996/11/28 21:51:12 phk Exp $ +* $Id: libdisk.h,v 1.22.2.2 1997/01/24 21:08:30 jkh Exp $ * */ diff --git a/lib/libdisk/rules.c b/lib/libdisk/rules.c index 1ea9ca85b162e..70eda4533e545 100644 --- a/lib/libdisk/rules.c +++ b/lib/libdisk/rules.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: rules.c,v 1.10.2.1 1995/06/03 08:40:33 jkh Exp $ + * $Id: rules.c,v 1.11 1995/06/11 19:29:36 rgrimes Exp $ * */ diff --git a/lib/libdisk/tst01.c b/lib/libdisk/tst01.c index 65b1cf6593598..564a00a6dad20 100644 --- a/lib/libdisk/tst01.c +++ b/lib/libdisk/tst01.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: tst01.c,v 1.18 1996/07/09 12:17:46 jkh Exp $ + * $Id: tst01.c,v 1.18.2.1 1996/11/28 21:51:13 phk Exp $ * */ diff --git a/lib/libdisk/write_disk.c b/lib/libdisk/write_disk.c index e0c3286464659..b0ac666005d43 100644 --- a/lib/libdisk/write_disk.c +++ b/lib/libdisk/write_disk.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: write_disk.c,v 1.17 1996/04/29 05:03:02 jkh Exp $ + * $Id: write_disk.c,v 1.17.2.1 1996/11/28 21:51:15 phk Exp $ * */ diff --git a/lib/libftpio/ftp.errors b/lib/libftpio/ftp.errors index 26cb4f61a805e..dcd3de982efd1 100644 --- a/lib/libftpio/ftp.errors +++ b/lib/libftpio/ftp.errors @@ -1,4 +1,4 @@ -# $Id$ +# $Id: ftp.errors,v 1.1 1996/08/21 01:12:08 jkh Exp $ # # This list is taken from RFC 959. # It probably needs a going over. diff --git a/lib/libftpio/ftpio.3 b/lib/libftpio/ftpio.3 index 8476ec7110f8a..d26bbd07b2dec 100644 --- a/lib/libftpio/ftpio.3 +++ b/lib/libftpio/ftpio.3 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ftpio.3,v 1.11 1996/10/05 22:26:51 wosch Exp $ +.\" $Id: ftpio.3,v 1.11.2.1 1996/11/28 08:09:53 phk Exp $ .\" .Dd June 17, 1996 .Dt ftpio 3 diff --git a/lib/libftpio/ftpio.c b/lib/libftpio/ftpio.c index a1f8f1c158148..f37e5ac132c84 100644 --- a/lib/libftpio/ftpio.c +++ b/lib/libftpio/ftpio.c @@ -14,7 +14,7 @@ * Turned inside out. Now returns xfers as new file ids, not as a special * `state' of FTP_t * - * $Id: ftpio.c,v 1.21 1996/12/17 20:19:35 jkh Exp $ + * $Id: ftpio.c,v 1.15.2.2 1996/12/17 20:28:06 jkh Exp $ * */ diff --git a/lib/libftpio/ftpio.h b/lib/libftpio/ftpio.h index fe897db82371b..c2cbcb779f421 100644 --- a/lib/libftpio/ftpio.h +++ b/lib/libftpio/ftpio.h @@ -21,7 +21,7 @@ * Turned inside out. Now returns xfers as new file ids, not as a special * `state' of FTP_t * - * $Id: ftpio.h,v 1.8 1996/09/19 17:28:34 peter Exp $ + * $Id: ftpio.h,v 1.8.2.1 1996/11/28 08:09:56 phk Exp $ */ /* Internal housekeeping data structure for FTP sessions */ diff --git a/lib/libgnumalloc/Makefile b/lib/libgnumalloc/Makefile index 209d559fa8ecc..9a1da29e5edbe 100644 --- a/lib/libgnumalloc/Makefile +++ b/lib/libgnumalloc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.9 1996/09/27 16:22:37 bde Exp $ +# $Id: Makefile,v 1.10 1996/10/08 20:06:22 bde Exp $ LIB= gnumalloc INTERNALLIB= yes # Do not build or install ${LIB}*.a diff --git a/lib/libkvm/kvm_getprocs.3 b/lib/libkvm/kvm_getprocs.3 index d7666c910f277..7a565ff773c57 100644 --- a/lib/libkvm/kvm_getprocs.3 +++ b/lib/libkvm/kvm_getprocs.3 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)kvm_getprocs.3 8.1 (Berkeley) 6/4/93 -.\" $Id: kvm_getprocs.3,v 1.5 1997/02/22 15:07:00 peter Exp $ +.\" $Id: kvm_getprocs.3,v 1.3.2.1 1997/02/28 06:43:48 mpp Exp $ .\" .Dd June 4, 1993 .Dt KVM_GETPROCS 3 diff --git a/lib/libm/Makefile b/lib/libm/Makefile index 6cc7d100db322..1807be721f72a 100644 --- a/lib/libm/Makefile +++ b/lib/libm/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id: Makefile,v 1.2 1994/08/05 01:52:05 wollman Exp $ +# $Id: Makefile,v 1.3 1996/05/07 23:18:54 wosch Exp $ # # ieee - for most IEEE machines, we hope. # mc68881 - the, ahem, mc68881. diff --git a/lib/libm/common_source/atan2.3 b/lib/libm/common_source/atan2.3 index fd6e7da52cb45..9cd8fd1f8e5c5 100644 --- a/lib/libm/common_source/atan2.3 +++ b/lib/libm/common_source/atan2.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)atan2.3 8.1 (Berkeley) 6/4/93 -.\" $Id: atan2.3,v 1.2 1996/12/23 23:09:42 wosch Exp $ +.\" $Id: atan2.3,v 1.1.1.1.8.1 1997/01/02 17:48:00 mpp Exp $ .\" .Dd June 4, 1993 .Dt ATAN2 3 diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile index 822852973758e..f550afc473716 100644 --- a/lib/libmd/Makefile +++ b/lib/libmd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.20 1996/02/09 22:44:44 phk Exp $ +# $Id: Makefile,v 1.21 1996/08/30 01:53:09 peter Exp $ LIB= md NOPIC= true diff --git a/lib/libmd/md2.copyright b/lib/libmd/md2.copyright index 5f04560251085..623095e28a257 100644 --- a/lib/libmd/md2.copyright +++ b/lib/libmd/md2.copyright @@ -1,4 +1,4 @@ -.\" $Id$ +.\" $Id: md2.copyright,v 1.2 1996/10/09 21:00:40 wollman Exp $ Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All rights reserved. .Pp diff --git a/lib/libmd/md2.h b/lib/libmd/md2.h index ecdeaf7870ec2..737b2310da823 100644 --- a/lib/libmd/md2.h +++ b/lib/libmd/md2.h @@ -1,5 +1,5 @@ /* MD2.H - header file for MD2C.C - * $Id$ + * $Id: md2.h,v 1.5 1997/02/22 15:07:12 peter Exp $ */ /* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All diff --git a/lib/libmd/md2c.c b/lib/libmd/md2c.c index ebf9edcbfc432..879bec16078c3 100644 --- a/lib/libmd/md2c.c +++ b/lib/libmd/md2c.c @@ -1,5 +1,5 @@ /* MD2C.C - RSA Data Security, Inc., MD2 message-digest algorithm - * $Id$ + * $Id: md2c.c,v 1.5 1997/02/22 15:07:15 peter Exp $ */ /* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All diff --git a/lib/libmd/md4.copyright b/lib/libmd/md4.copyright index df93ad0a9347c..7aeb1051c0b23 100644 --- a/lib/libmd/md4.copyright +++ b/lib/libmd/md4.copyright @@ -1,4 +1,4 @@ -.\" $Id$ +.\" $Id: md4.copyright,v 1.2 1996/10/09 21:00:43 wollman Exp $ Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. .Pp diff --git a/lib/libmd/md4.h b/lib/libmd/md4.h index 5481bbda569e8..5f8e14d6d5a22 100644 --- a/lib/libmd/md4.h +++ b/lib/libmd/md4.h @@ -1,5 +1,5 @@ /* MD4.H - header file for MD4C.C - * $Id$ + * $Id: md4.h,v 1.6 1997/02/22 15:07:17 peter Exp $ */ /* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All diff --git a/lib/libmd/md4c.c b/lib/libmd/md4c.c index a0eba4d8cf583..20cab728e0315 100644 --- a/lib/libmd/md4c.c +++ b/lib/libmd/md4c.c @@ -1,5 +1,5 @@ /* MD4C.C - RSA Data Security, Inc., MD4 message-digest algorithm - * $Id$ + * $Id: md4c.c,v 1.5 1997/02/22 15:07:19 peter Exp $ */ /* Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved. diff --git a/lib/libmd/md5.copyright b/lib/libmd/md5.copyright index c37746f4501eb..e3899190b8f9d 100644 --- a/lib/libmd/md5.copyright +++ b/lib/libmd/md5.copyright @@ -1,4 +1,4 @@ -.\" $Id$ +.\" $Id: md5.copyright,v 1.2 1996/10/09 21:00:46 wollman Exp $ Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. .Pp diff --git a/lib/libmd/md5c.c b/lib/libmd/md5c.c index 8d26ea34c6f22..8926a03c3f960 100644 --- a/lib/libmd/md5c.c +++ b/lib/libmd/md5c.c @@ -22,7 +22,7 @@ * These notices must be retained in any copies of any part of this * documentation and/or software. * - * $Id: md5c.c,v 1.6 1996/12/22 10:27:25 phk Exp $ + * $Id: md5c.c,v 1.5.2.1 1996/12/30 08:16:09 phk Exp $ * * This code is the same as the code published by RSA Inc. It has been * edited for clarity and style only. diff --git a/lib/libmd/mdX.3 b/lib/libmd/mdX.3 index cd08a7ede721f..e62c46f1d1f4a 100644 --- a/lib/libmd/mdX.3 +++ b/lib/libmd/mdX.3 @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: mdX.3,v 1.6 1996/10/09 21:00:48 wollman Exp $ +.\" $Id: mdX.3,v 1.7 1996/10/22 16:28:56 phk Exp $ .\" .Dd October 9, 1996 .Dt MDX 3 diff --git a/lib/libmd/mdXhl.c b/lib/libmd/mdXhl.c index 913e2900d0cb4..44d4a42ef5d37 100644 --- a/lib/libmd/mdXhl.c +++ b/lib/libmd/mdXhl.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: mdXhl.c,v 1.7 1996/07/24 20:55:38 phk Exp $ + * $Id: mdXhl.c,v 1.8 1996/10/25 06:48:12 bde Exp $ * */ diff --git a/lib/libmd/mddriver.c b/lib/libmd/mddriver.c index 633442b5a9f73..acba7b328b4cc 100644 --- a/lib/libmd/mddriver.c +++ b/lib/libmd/mddriver.c @@ -1,5 +1,5 @@ /* MDDRIVER.C - test driver for MD2, MD4 and MD5 - * $Id$ + * $Id: mddriver.c,v 1.3 1997/02/22 15:07:24 peter Exp $ */ /* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All diff --git a/lib/libmytinfo/Makefile b/lib/libmytinfo/Makefile index b8247c6c17823..f733c2fe26dbc 100644 --- a/lib/libmytinfo/Makefile +++ b/lib/libmytinfo/Makefile @@ -1,7 +1,7 @@ # Makefile for libmytinfo # Use 'make update_term_h' manually after changing internal # mytinfo structures -# $Id: Makefile,v 1.9 1995/08/06 12:37:26 bde Exp $ +# $Id: Makefile,v 1.10 1996/08/30 01:57:19 peter Exp $ LIB= mytinfo SRCS= addstr.c binorder.c buildpath.c caplist.c capsort.c compar.c\ diff --git a/lib/libmytinfo/TESTS/Makefile b/lib/libmytinfo/TESTS/Makefile index eeaa6d2411725..b21a4e9ddac53 100644 --- a/lib/libmytinfo/TESTS/Makefile +++ b/lib/libmytinfo/TESTS/Makefile @@ -1,5 +1,5 @@ # Makefile for libmytinfo tests -# $Id$ +# $Id: Makefile,v 1.1 1994/10/09 16:37:30 ache Exp $ LIB= mytinfo diff --git a/lib/libncurses/Makefile b/lib/libncurses/Makefile index ae392838cb253..3d5bdef4e85e7 100644 --- a/lib/libncurses/Makefile +++ b/lib/libncurses/Makefile @@ -1,5 +1,5 @@ # Makefile for ncurses -# $Id: Makefile,v 1.18 1996/08/30 01:58:36 peter Exp $ +# $Id: Makefile,v 1.19 1996/09/05 17:14:22 bde Exp $ LIB= ncurses SHLIB_MAJOR= 3 diff --git a/lib/libncurses/TESTS/newdemo.c b/lib/libncurses/TESTS/newdemo.c index 5573557b08ec7..540aba40293f1 100644 --- a/lib/libncurses/TESTS/newdemo.c +++ b/lib/libncurses/TESTS/newdemo.c @@ -1,4 +1,4 @@ -/* $Header: /home/ncvs/src/lib/libncurses/TESTS/newdemo.c,v 1.1.1.1 1994/10/07 08:58:56 ache Exp $ +/* $Header: /home/ncvs/src/lib/libncurses/TESTS/newdemo.c,v 1.2 1995/05/30 05:47:07 rgrimes Exp $ * * newdemo.c - A demo program using PDCurses. The program illustrate * the use of colours for text output. diff --git a/lib/libncurses/curs_addch.3 b/lib/libncurses/curs_addch.3 index 5b26e32c42de0..2b9cb0d65f9bf 100644 --- a/lib/libncurses/curs_addch.3 +++ b/lib/libncurses/curs_addch.3 @@ -1,4 +1,4 @@ -.\" $Id$ +.\" $Id: curs_addch.3,v 1.4 1996/10/05 22:26:53 wosch Exp $ .\" .TH curs_addch 3 "" .SH NAME diff --git a/lib/libncurses/curs_insstr.3 b/lib/libncurses/curs_insstr.3 index 735dd1b181950..aa2c25b6ae70e 100644 --- a/lib/libncurses/curs_insstr.3 +++ b/lib/libncurses/curs_insstr.3 @@ -1,4 +1,4 @@ -.\" $Id$ +.\" $Id: curs_insstr.3,v 1.4 1996/10/05 22:26:54 wosch Exp $ .\" .TH curs_insstr 3 "" .SH NAME diff --git a/lib/libopie/Makefile b/lib/libopie/Makefile index 85e4682f56e1b..2a5722d890d2e 100644 --- a/lib/libopie/Makefile +++ b/lib/libopie/Makefile @@ -1,6 +1,6 @@ # Makefile for libopie # -# $Id: Makefile,v 1.1.1.1.2.1 1997/02/22 05:16:10 nate Exp $ +# $Id: Makefile,v 1.1.1.1.2.2 1997/03/09 09:28:29 pst Exp $ # OPIE_DIST?= ${.CURDIR}/../../contrib/opie DIST_DIR= ${OPIE_DIST}/${.CURDIR:T} diff --git a/lib/libpcap/Makefile b/lib/libpcap/Makefile index 52deb1a4973b0..d5e80a508e95c 100644 --- a/lib/libpcap/Makefile +++ b/lib/libpcap/Makefile @@ -1,5 +1,5 @@ # Makefile for libpcap -# $Id: Makefile,v 1.11 1996/08/21 16:50:08 pst Exp $ +# $Id: Makefile,v 1.12 1996/08/30 01:59:46 peter Exp $ LIB= pcap SRCS= pcap-bpf.c \ diff --git a/lib/librpcsvc/Makefile b/lib/librpcsvc/Makefile index c331ceaccf88c..83dd83e39c679 100644 --- a/lib/librpcsvc/Makefile +++ b/lib/librpcsvc/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.10 (Berkeley) 6/24/90 -# $Id: Makefile,v 1.5 1996/06/05 03:54:43 wpaul Exp $ +# $Id: Makefile,v 1.6 1996/08/30 02:02:09 peter Exp $ .PATH: ${DESTDIR}/usr/include/rpcsvc diff --git a/lib/libscsi/scsi.c b/lib/libscsi/scsi.c index 29051718fa9f7..04b3bbd8c994c 100644 --- a/lib/libscsi/scsi.c +++ b/lib/libscsi/scsi.c @@ -30,7 +30,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * $Id: scsi.c,v 1.5 1995/05/05 20:40:02 dufault Exp $ + * $Id: scsi.c,v 1.6 1995/05/30 05:47:26 rgrimes Exp $ */ #include <stdlib.h> #include <stdio.h> diff --git a/lib/libskey/pathnames.h b/lib/libskey/pathnames.h index 87c8a2356dfae..137da80d105f9 100644 --- a/lib/libskey/pathnames.h +++ b/lib/libskey/pathnames.h @@ -1,4 +1,4 @@ -/* $Id: pathnames.h,v 1.1 1994/05/27 07:50:08 pst Exp $ (FreeBSD) */ +/* $Id: pathnames.h,v 1.2 1994/10/19 00:03:14 pst Exp $ (FreeBSD) */ #include <paths.h> diff --git a/lib/libskey/skey.3 b/lib/libskey/skey.3 index 27ccfb584db04..5ae8d1b5e18ae 100644 --- a/lib/libskey/skey.3 +++ b/lib/libskey/skey.3 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: skey.3,v 1.5 1997/02/22 15:07:58 peter Exp $ +.\" $Id: skey.3,v 1.2.2.1 1997/02/28 07:25:11 mpp Exp $ .\" .Dd December 22, 1996 .Dt SKEY 3 diff --git a/lib/libss/Makefile b/lib/libss/Makefile index dd2ae79852b5f..049dfb6a7093c 100644 --- a/lib/libss/Makefile +++ b/lib/libss/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.14 1996/09/05 17:14:31 bde Exp $ +# $Id: Makefile,v 1.15 1996/09/05 21:22:51 bde Exp $ LIB= ss SRCS= ss_err.c data.c error.c execute_cmd.c help.c invocation.c list_rqs.c \ diff --git a/lib/libtcl/Makefile b/lib/libtcl/Makefile index 62ec322d8c692..9ec59c11f6c4e 100644 --- a/lib/libtcl/Makefile +++ b/lib/libtcl/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.12 1996/10/31 16:09:02 peter Exp $ +# $Id: Makefile,v 1.12.2.1 1997/01/07 06:22:35 asami Exp $ # # This file is generated automatically, do not edit it here! # diff --git a/lib/libtelnet/Makefile b/lib/libtelnet/Makefile index 5ab752297aa4d..d215434c37c55 100644 --- a/lib/libtelnet/Makefile +++ b/lib/libtelnet/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.2 (Berkeley) 12/15/93 -# $Id: Makefile,v 1.3 1994/08/12 22:41:25 csgr Exp $ +# $Id: Makefile,v 1.4 1995/05/30 05:47:41 rgrimes Exp $ LIB= telnet SRCS= genget.c getent.c misc.c diff --git a/lib/libtermcap/termcap.h b/lib/libtermcap/termcap.h index 9c0cdfbb60475..46800d61cf585 100644 --- a/lib/libtermcap/termcap.h +++ b/lib/libtermcap/termcap.h @@ -24,7 +24,7 @@ * SUCH DAMAGE. */ -/* $Id: termcap.h,v 1.7 1996/07/12 18:57:26 jkh Exp $ */ +/* $Id: termcap.h,v 1.8 1996/09/10 12:42:10 peter Exp $ */ #ifndef _TERMCAP_H_ #define _TERMCAP_H_ diff --git a/lib/libutil/libutil.h b/lib/libutil/libutil.h index 3f32d7ac0c06d..6336b7c8f4728 100644 --- a/lib/libutil/libutil.h +++ b/lib/libutil/libutil.h @@ -18,7 +18,7 @@ * 5. Modifications may be freely made to this file providing the above * conditions are met. * - * $Id$ + * $Id: libutil.h,v 1.1 1996/01/01 08:27:37 peter Exp $ */ #ifndef _LIBUTIL_H_ diff --git a/lib/libutil/login.3 b/lib/libutil/login.3 index bbb980ec15d34..e28606330a649 100644 --- a/lib/libutil/login.3 +++ b/lib/libutil/login.3 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: login.3,v 1.1 1996/12/29 18:30:38 joerg Exp $ +.\" $Id: login.3,v 1.2 1996/12/30 21:08:38 mpp Exp $ .\" " .Dd December 29, 1996 .Os diff --git a/lib/libutil/login_tty.3 b/lib/libutil/login_tty.3 index b19a551967c0e..d92553519d614 100644 --- a/lib/libutil/login_tty.3 +++ b/lib/libutil/login_tty.3 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: login_tty.3,v 1.1 1996/12/29 18:30:39 joerg Exp $ +.\" $Id: login_tty.3,v 1.2 1996/12/30 21:08:40 mpp Exp $ .\" " .Dd December 29, 1996 .Os diff --git a/lib/libutil/logout.3 b/lib/libutil/logout.3 index b3f093b7a16e1..ca9867a19e05d 100644 --- a/lib/libutil/logout.3 +++ b/lib/libutil/logout.3 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: logout.3,v 1.1 1996/12/29 18:30:40 joerg Exp $ +.\" $Id: logout.3,v 1.2 1996/12/30 21:08:41 mpp Exp $ .\" " .Dd December 29, 1996 .Os diff --git a/lib/libutil/logwtmp.3 b/lib/libutil/logwtmp.3 index faa97219d3143..f823b71c11736 100644 --- a/lib/libutil/logwtmp.3 +++ b/lib/libutil/logwtmp.3 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: logwtmp.3,v 1.1 1996/12/29 18:30:41 joerg Exp $ +.\" $Id: logwtmp.3,v 1.2 1996/12/30 21:08:43 mpp Exp $ .\" " .Dd December 29, 1996 .Os diff --git a/lib/libutil/pty.3 b/lib/libutil/pty.3 index c19eeaf423dab..eb324056972d1 100644 --- a/lib/libutil/pty.3 +++ b/lib/libutil/pty.3 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: pty.3,v 1.6 1997/02/22 15:08:31 peter Exp $ +.\" $Id: pty.3,v 1.2.2.2 1997/02/28 06:48:13 mpp Exp $ .\" " .Dd December 29, 1996 .Os diff --git a/lib/libutil/setproctitle.3 b/lib/libutil/setproctitle.3 index 3ddbd90a4f286..ccd73aaa23acc 100644 --- a/lib/libutil/setproctitle.3 +++ b/lib/libutil/setproctitle.3 @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $Id: setproctitle.3,v 1.5 1996/12/30 21:08:45 mpp Exp $ +.\" $Id: setproctitle.3,v 1.4.2.1 1996/12/30 21:15:45 mpp Exp $ .\" .\" The following requests are required for all man pages. .Dd December 16, 1995 diff --git a/lib/libutil/setproctitle.c b/lib/libutil/setproctitle.c index 1f9f4b51ac7f7..d212dfc756b10 100644 --- a/lib/libutil/setproctitle.c +++ b/lib/libutil/setproctitle.c @@ -14,7 +14,7 @@ * 3. Absolutely no warranty of function or purpose is made by the author * Peter Wemm. * - * $Id: setproctitle.c,v 1.2 1996/02/24 14:37:29 peter Exp $ + * $Id: setproctitle.c,v 1.3 1996/07/12 18:57:35 jkh Exp $ */ #include <sys/types.h> diff --git a/lib/liby/Makefile b/lib/liby/Makefile index 25f970c513164..dc033187ae70f 100644 --- a/lib/liby/Makefile +++ b/lib/liby/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/11/20 20:55:11 wollman Exp $ +# $Id: Makefile,v 1.1.1.1.8.1 1996/11/23 18:22:27 phk Exp $ LIB= y SHLIB_MAJOR= 2 diff --git a/lib/libz/Makefile b/lib/libz/Makefile index afebefa4576db..97150db0b41ab 100644 --- a/lib/libz/Makefile +++ b/lib/libz/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.2 1996/08/18 23:52:20 peter Exp $ +# $Id: Makefile,v 1.3 1996/08/19 01:21:46 peter Exp $ # MAINTAINER=peter@FreeBSD.org diff --git a/lib/msun/Makefile b/lib/msun/Makefile index 8c19ecce4d2a6..e6acc0bd3153b 100644 --- a/lib/msun/Makefile +++ b/lib/msun/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 5.1beta 93/09/24 -# $Id: Makefile,v 1.11.2.3 1997/02/23 11:02:55 joerg Exp $ +# $Id: Makefile,v 1.11.2.4 1997/03/03 14:20:58 bde Exp $ # # ==================================================== # Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. diff --git a/lib/msun/i387/e_acos.S b/lib/msun/i387/e_acos.S index e54cee481d0d1..4367256ced65c 100644 --- a/lib/msun/i387/e_acos.S +++ b/lib/msun/i387/e_acos.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_acos.S,v 1.5 1997/02/22 15:08:43 peter Exp $") +RCSID("$Id: e_acos.S,v 1.2.8.1 1997/03/03 14:17:17 bde Exp $") /* * acos(x) = atan2(sqrt(1 - x^2, x). diff --git a/lib/msun/i387/e_asin.S b/lib/msun/i387/e_asin.S index 318dfa8a6a573..33121b19b7b6b 100644 --- a/lib/msun/i387/e_asin.S +++ b/lib/msun/i387/e_asin.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_asin.S,v 1.5 1997/02/22 15:08:44 peter Exp $") +RCSID("$Id: e_asin.S,v 1.2.8.1 1997/03/03 14:17:20 bde Exp $") /* * asin(x) = atan2(x, sqrt(1 - x^2). diff --git a/lib/msun/i387/e_atan2.S b/lib/msun/i387/e_atan2.S index cd16476ede3c1..98d37f56a996c 100644 --- a/lib/msun/i387/e_atan2.S +++ b/lib/msun/i387/e_atan2.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_atan2.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: e_atan2.S,v 1.2 1994/08/19 11:14:13 jkh Exp $") ENTRY(__ieee754_atan2) fldl 4(%esp) diff --git a/lib/msun/i387/e_exp.S b/lib/msun/i387/e_exp.S index d76f90e8e7213..10f07df002f71 100644 --- a/lib/msun/i387/e_exp.S +++ b/lib/msun/i387/e_exp.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_exp.S,v 1.3 1996/06/01 18:00:07 bde Exp $") +RCSID("$Id: e_exp.S,v 1.3.2.1 1997/02/16 17:40:11 bde Exp $") /* e^x = 2^(x * log2(e)) */ ENTRY(__ieee754_exp) diff --git a/lib/msun/i387/e_fmod.S b/lib/msun/i387/e_fmod.S index bacb4d8527dc2..6897c831ef7cf 100644 --- a/lib/msun/i387/e_fmod.S +++ b/lib/msun/i387/e_fmod.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_fmod.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: e_fmod.S,v 1.2 1994/08/19 11:14:15 jkh Exp $") ENTRY(__ieee754_fmod) fldl 12(%esp) diff --git a/lib/msun/i387/e_log.S b/lib/msun/i387/e_log.S index 28ed68612772a..490694a167be1 100644 --- a/lib/msun/i387/e_log.S +++ b/lib/msun/i387/e_log.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_log.S,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $") +RCSID("$Id: e_log.S,v 1.2 1994/08/19 11:14:15 jkh Exp $") ENTRY(__ieee754_log) fldln2 diff --git a/lib/msun/i387/e_log10.S b/lib/msun/i387/e_log10.S index 612a374995e00..44ce987943f2e 100644 --- a/lib/msun/i387/e_log10.S +++ b/lib/msun/i387/e_log10.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_log10.S,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $") +RCSID("$Id: e_log10.S,v 1.2 1994/08/19 11:14:16 jkh Exp $") ENTRY(__ieee754_log10) fldlg2 diff --git a/lib/msun/i387/e_remainder.S b/lib/msun/i387/e_remainder.S index c67f6ab7492a2..ae8aafb616ba1 100644 --- a/lib/msun/i387/e_remainder.S +++ b/lib/msun/i387/e_remainder.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_remainder.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: e_remainder.S,v 1.2 1994/08/19 11:14:18 jkh Exp $") ENTRY(__ieee754_remainder) fldl 12(%esp) diff --git a/lib/msun/i387/e_scalb.S b/lib/msun/i387/e_scalb.S index 28806751e527b..f9410116fc286 100644 --- a/lib/msun/i387/e_scalb.S +++ b/lib/msun/i387/e_scalb.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_scalb.S,v 1.2 1994/08/19 11:14:19 jkh Exp $") +RCSID("$Id: e_scalb.S,v 1.2.8.1 1996/12/15 15:14:28 bde Exp $") ENTRY(__ieee754_scalb) fldl 12(%esp) diff --git a/lib/msun/i387/e_sqrt.S b/lib/msun/i387/e_sqrt.S index 7625e7b91ec3c..5207e33081750 100644 --- a/lib/msun/i387/e_sqrt.S +++ b/lib/msun/i387/e_sqrt.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: e_sqrt.S,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $") +RCSID("$Id: e_sqrt.S,v 1.2 1994/08/19 11:14:20 jkh Exp $") ENTRY(__ieee754_sqrt) fldl 4(%esp) diff --git a/lib/msun/i387/s_atan.S b/lib/msun/i387/s_atan.S index 266f80ac4572d..ef3fa81772502 100644 --- a/lib/msun/i387/s_atan.S +++ b/lib/msun/i387/s_atan.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_atan.S,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $") +RCSID("$Id: s_atan.S,v 1.2 1994/08/19 11:14:20 jkh Exp $") ENTRY(atan) fldl 4(%esp) diff --git a/lib/msun/i387/s_ceil.S b/lib/msun/i387/s_ceil.S index 84a1b7a8c1517..d3f420bb706d1 100644 --- a/lib/msun/i387/s_ceil.S +++ b/lib/msun/i387/s_ceil.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_ceil.S,v 1.2 1994/08/19 11:14:21 jkh Exp $") +RCSID("$Id: s_ceil.S,v 1.2.8.1 1996/12/15 15:22:44 bde Exp $") ENTRY(ceil) pushl %ebp diff --git a/lib/msun/i387/s_copysign.S b/lib/msun/i387/s_copysign.S index 1733af5428f46..3df8d625012c9 100644 --- a/lib/msun/i387/s_copysign.S +++ b/lib/msun/i387/s_copysign.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_copysign.S,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $") +RCSID("$Id: s_copysign.S,v 1.2 1994/08/19 11:14:22 jkh Exp $") ENTRY(copysign) movl 16(%esp),%edx diff --git a/lib/msun/i387/s_cos.S b/lib/msun/i387/s_cos.S index e1a122ff90561..74d1567c92b00 100644 --- a/lib/msun/i387/s_cos.S +++ b/lib/msun/i387/s_cos.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_cos.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: s_cos.S,v 1.2 1994/08/19 11:14:23 jkh Exp $") ENTRY(cos) fldl 4(%esp) diff --git a/lib/msun/i387/s_finite.S b/lib/msun/i387/s_finite.S index d80bba6f828f2..4e9b6b3cd2ff1 100644 --- a/lib/msun/i387/s_finite.S +++ b/lib/msun/i387/s_finite.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_finite.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: s_finite.S,v 1.2 1994/08/19 11:14:24 jkh Exp $") ENTRY(finite) movl 8(%esp),%eax diff --git a/lib/msun/i387/s_floor.S b/lib/msun/i387/s_floor.S index 7abc424c7bcef..7f095324578d8 100644 --- a/lib/msun/i387/s_floor.S +++ b/lib/msun/i387/s_floor.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_floor.S,v 1.2 1994/08/19 11:14:25 jkh Exp $") +RCSID("$Id: s_floor.S,v 1.2.8.1 1996/12/15 15:22:45 bde Exp $") ENTRY(floor) pushl %ebp diff --git a/lib/msun/i387/s_ilogb.S b/lib/msun/i387/s_ilogb.S index 26e664b542457..02553a435eb0f 100644 --- a/lib/msun/i387/s_ilogb.S +++ b/lib/msun/i387/s_ilogb.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_ilogb.S,v 1.2 1994/08/19 11:14:26 jkh Exp $") +RCSID("$Id: s_ilogb.S,v 1.3 1996/02/25 20:29:46 bde Exp $") ENTRY(ilogb) pushl %ebp diff --git a/lib/msun/i387/s_log1p.S b/lib/msun/i387/s_log1p.S index ad511bee358ad..58637694807b1 100644 --- a/lib/msun/i387/s_log1p.S +++ b/lib/msun/i387/s_log1p.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_log1p.S,v 1.4 1994/08/19 03:55:57 jtc Exp $") +RCSID("$Id: s_log1p.S,v 1.3 1994/08/19 23:52:29 jkh Exp $") /* * The fyl2xp1 instruction has such a limited range: diff --git a/lib/msun/i387/s_logb.S b/lib/msun/i387/s_logb.S index 6992459c939db..d39b4488188c3 100644 --- a/lib/msun/i387/s_logb.S +++ b/lib/msun/i387/s_logb.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_logb.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: s_logb.S,v 1.2 1994/08/19 11:14:28 jkh Exp $") ENTRY(logb) fldl 4(%esp) diff --git a/lib/msun/i387/s_rint.S b/lib/msun/i387/s_rint.S index 54888078dd991..e3254437f92b1 100644 --- a/lib/msun/i387/s_rint.S +++ b/lib/msun/i387/s_rint.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_rint.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: s_rint.S,v 1.2 1994/08/19 11:14:29 jkh Exp $") ENTRY(rint) fldl 4(%esp) diff --git a/lib/msun/i387/s_scalbn.S b/lib/msun/i387/s_scalbn.S index e9f17d29b9eeb..021ecdad3dc4a 100644 --- a/lib/msun/i387/s_scalbn.S +++ b/lib/msun/i387/s_scalbn.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_scalbn.S,v 1.2 1994/08/19 11:14:30 jkh Exp $") +RCSID("$Id: s_scalbn.S,v 1.2.8.1 1996/12/15 15:14:33 bde Exp $") ENTRY(scalbn) fildl 12(%esp) diff --git a/lib/msun/i387/s_significand.S b/lib/msun/i387/s_significand.S index f980dd60a43a3..414211fdce02c 100644 --- a/lib/msun/i387/s_significand.S +++ b/lib/msun/i387/s_significand.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_significand.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: s_significand.S,v 1.2 1994/08/19 11:14:30 jkh Exp $") ENTRY(significand) fldl 4(%esp) diff --git a/lib/msun/i387/s_sin.S b/lib/msun/i387/s_sin.S index 56d7a7a872437..3b605bb026dad 100644 --- a/lib/msun/i387/s_sin.S +++ b/lib/msun/i387/s_sin.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_sin.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: s_sin.S,v 1.2 1994/08/19 11:14:31 jkh Exp $") ENTRY(sin) fldl 4(%esp) diff --git a/lib/msun/i387/s_tan.S b/lib/msun/i387/s_tan.S index a124457229e12..bbd26643aef75 100644 --- a/lib/msun/i387/s_tan.S +++ b/lib/msun/i387/s_tan.S @@ -35,7 +35,7 @@ #include <machine/asmacros.h> -RCSID("$Id: s_tan.S,v 1.1.1.1 1994/08/19 09:40:01 jkh Exp $") +RCSID("$Id: s_tan.S,v 1.2 1994/08/19 11:14:32 jkh Exp $") ENTRY(tan) fldl 4(%esp) diff --git a/lib/msun/man/acos.3 b/lib/msun/man/acos.3 index a2a840e224283..8da68f1d88f3c 100644 --- a/lib/msun/man/acos.3 +++ b/lib/msun/man/acos.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)acos.3 5.1 (Berkeley) 5/2/91 -.\" $Id: acos.3,v 1.5 1997/02/22 15:09:19 peter Exp $ +.\" $Id: acos.3,v 1.2.6.1 1997/02/28 07:28:40 mpp Exp $ .\" .Dd May 2, 1991 .Dt ACOS 3 diff --git a/lib/msun/man/acosh.3 b/lib/msun/man/acosh.3 index 08e1a6e8761d9..2a4e933e45913 100644 --- a/lib/msun/man/acosh.3 +++ b/lib/msun/man/acosh.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)acosh.3 5.2 (Berkeley) 5/6/91 -.\" $Id: acosh.3,v 1.2 1995/03/01 05:05:19 jkh Exp $ +.\" $Id: acosh.3,v 1.3 1996/02/12 01:20:25 mpp Exp $ .\" .Dd May 6, 1991 .Dt ACOSH 3 diff --git a/lib/msun/man/asin.3 b/lib/msun/man/asin.3 index a372103aa1541..4d817b7fba539 100644 --- a/lib/msun/man/asin.3 +++ b/lib/msun/man/asin.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)asin.3 5.1 (Berkeley) 5/2/91 -.\" $Id: asin.3,v 1.5 1997/02/22 15:09:22 peter Exp $ +.\" $Id: asin.3,v 1.2.6.1 1997/02/28 07:28:40 mpp Exp $ .\" .Dd May 2, 1991 .Dt ASIN 3 diff --git a/lib/msun/man/asinh.3 b/lib/msun/man/asinh.3 index 7de32aecbee62..1d11e4b59274f 100644 --- a/lib/msun/man/asinh.3 +++ b/lib/msun/man/asinh.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)asinh.3 6.4 (Berkeley) 5/6/91 -.\" $Id: asinh.3,v 1.2 1995/03/01 05:05:27 jkh Exp $ +.\" $Id: asinh.3,v 1.3 1996/02/12 01:20:25 mpp Exp $ .\" .Dd May 6, 1991 .Dt ASINH 3 diff --git a/lib/msun/man/atan.3 b/lib/msun/man/atan.3 index 6983d83c2b175..54835c8a20b2a 100644 --- a/lib/msun/man/atan.3 +++ b/lib/msun/man/atan.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)atan.3 5.1 (Berkeley) 5/2/91 -.\" $Id: atan.3,v 1.5 1997/02/22 15:09:24 peter Exp $ +.\" $Id: atan.3,v 1.2.6.1 1997/02/28 07:28:41 mpp Exp $ .\" .Dd May 2, 1991 .Dt ATAN 3 diff --git a/lib/msun/man/atan2.3 b/lib/msun/man/atan2.3 index 9204f5e353806..c46efe916877e 100644 --- a/lib/msun/man/atan2.3 +++ b/lib/msun/man/atan2.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)atan2.3 5.1 (Berkeley) 5/2/91 -.\" $Id: atan2.3,v 1.5 1997/02/22 15:09:25 peter Exp $ +.\" $Id: atan2.3,v 1.2.6.1 1997/02/28 07:28:42 mpp Exp $ .\" .Dd May 2, 1991 .Dt ATAN2 3 diff --git a/lib/msun/man/atanh.3 b/lib/msun/man/atanh.3 index 4c1a3ea959c5f..5f22bee9223c2 100644 --- a/lib/msun/man/atanh.3 +++ b/lib/msun/man/atanh.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)atanh.3 5.2 (Berkeley) 5/6/91 -.\" $Id: atanh.3,v 1.2 1995/03/01 05:05:37 jkh Exp $ +.\" $Id: atanh.3,v 1.3 1996/02/12 01:20:26 mpp Exp $ .\" .Dd May 6, 1991 .Dt ATANH 3 diff --git a/lib/msun/man/ceil.3 b/lib/msun/man/ceil.3 index e922d1bae571f..fbda5a7ce35e4 100644 --- a/lib/msun/man/ceil.3 +++ b/lib/msun/man/ceil.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)ceil.3 5.1 (Berkeley) 5/2/91 -.\" $Id: ceil.3,v 1.6 1997/02/22 15:09:26 peter Exp $ +.\" $Id: ceil.3,v 1.3.2.1 1997/02/28 07:28:42 mpp Exp $ .\" .Dd March 10, 1994 .Dt CEIL 3 diff --git a/lib/msun/man/cos.3 b/lib/msun/man/cos.3 index 46d9e8d2d2049..c6515534c41f4 100644 --- a/lib/msun/man/cos.3 +++ b/lib/msun/man/cos.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)cos.3 5.1 (Berkeley) 5/2/91 -.\" $Id: cos.3,v 1.5 1997/02/22 15:09:27 peter Exp $ +.\" $Id: cos.3,v 1.2.6.1 1997/02/28 07:28:43 mpp Exp $ .\" .Dd May 2, 1991 .Dt COS 3 diff --git a/lib/msun/man/cosh.3 b/lib/msun/man/cosh.3 index 824b56efc5609..0fa4aae72d599 100644 --- a/lib/msun/man/cosh.3 +++ b/lib/msun/man/cosh.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)cosh.3 5.1 (Berkeley) 5/2/91 -.\" $Id: cosh.3,v 1.5 1997/02/22 15:09:28 peter Exp $ +.\" $Id: cosh.3,v 1.2.6.1 1997/02/28 07:28:43 mpp Exp $ .\" .Dd May 2, 1991 .Dt COSH 3 diff --git a/lib/msun/man/erf.3 b/lib/msun/man/erf.3 index 030ca6ace5451..c307e8fca1b6c 100644 --- a/lib/msun/man/erf.3 +++ b/lib/msun/man/erf.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)erf.3 6.4 (Berkeley) 4/20/91 -.\" $Id: erf.3,v 1.1.1.1 1994/08/19 09:39:42 jkh Exp $ +.\" $Id: erf.3,v 1.2 1995/03/01 05:05:52 jkh Exp $ .\" .Dd April 20, 1991 .Dt ERF 3 diff --git a/lib/msun/man/exp.3 b/lib/msun/man/exp.3 index 7b20966860792..784d7f1fd410b 100644 --- a/lib/msun/man/exp.3 +++ b/lib/msun/man/exp.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)exp.3 6.12 (Berkeley) 7/31/91 -.\" $Id: exp.3,v 1.6 1997/02/22 15:09:30 peter Exp $ +.\" $Id: exp.3,v 1.3.2.1 1997/02/28 07:28:44 mpp Exp $ .\" .Dd July 31, 1991 .Dt EXP 3 diff --git a/lib/msun/man/fabs.3 b/lib/msun/man/fabs.3 index f9d993e54365c..6df8ba7ad5b30 100644 --- a/lib/msun/man/fabs.3 +++ b/lib/msun/man/fabs.3 @@ -31,7 +31,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)fabs.3 5.1 (Berkeley) 5/2/91 -.\" $Id: fabs.3,v 1.5 1997/02/22 15:09:31 peter Exp $ +.\" $Id: fabs.3,v 1.2.6.1 1997/02/28 07:28:45 mpp Exp $ .\" .Dd May 2, 1991 .Dt FABS 3 diff --git a/lib/msun/man/floor.3 b/lib/msun/man/floor.3 index ca1181406ee72..cbe8d50688f7f 100644 --- a/lib/msun/man/floor.3 +++ b/lib/msun/man/floor.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)floor.3 6.5 (Berkeley) 4/19/91 -.\" $Id: floor.3,v 1.6 1997/02/22 15:09:32 peter Exp $ +.\" $Id: floor.3,v 1.3.2.1 1997/02/28 07:28:45 mpp Exp $ .\" .Dd March 10, 1994 .Dt FLOOR 3 diff --git a/lib/msun/man/fmod.3 b/lib/msun/man/fmod.3 index 60a8489023885..5fb2aafadb49d 100644 --- a/lib/msun/man/fmod.3 +++ b/lib/msun/man/fmod.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)fmod.3 5.1 (Berkeley) 5/2/91 -.\" $Id: fmod.3,v 1.1.1.1 1994/08/19 09:39:42 jkh Exp $ +.\" $Id: fmod.3,v 1.2 1995/03/01 05:06:06 jkh Exp $ .\" .Dd May 2, 1991 .Dt FMOD 3 diff --git a/lib/msun/man/hypot.3 b/lib/msun/man/hypot.3 index 09d0da06a714d..052aaf2b7b44b 100644 --- a/lib/msun/man/hypot.3 +++ b/lib/msun/man/hypot.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)hypot.3 6.7 (Berkeley) 5/6/91 -.\" $Id: hypot.3,v 1.1.1.1 1994/08/19 09:39:42 jkh Exp $ +.\" $Id: hypot.3,v 1.2 1995/03/01 05:06:09 jkh Exp $ .\" .Dd May 6, 1991 .Dt HYPOT 3 diff --git a/lib/msun/man/ieee.3 b/lib/msun/man/ieee.3 index bdd23cd4b9a35..07853894ed42f 100644 --- a/lib/msun/man/ieee.3 +++ b/lib/msun/man/ieee.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91 -.\" $Id: ieee.3,v 1.1.1.1 1994/08/19 09:39:42 jkh Exp $ +.\" $Id: ieee.3,v 1.2 1995/03/01 05:06:12 jkh Exp $ .\" .Dd Feb 25, 1994 .Dt IEEE 3 diff --git a/lib/msun/man/ieee_test.3 b/lib/msun/man/ieee_test.3 index cdd79a3a48ea0..8070cca9f3d36 100644 --- a/lib/msun/man/ieee_test.3 +++ b/lib/msun/man/ieee_test.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91 -.\" $Id: ieee_test.3,v 1.1.1.1 1994/08/19 09:39:43 jkh Exp $ +.\" $Id: ieee_test.3,v 1.2 1995/03/01 05:06:16 jkh Exp $ .\" .Dd March 10, 1994 .Dt IEEE_TEST 3 diff --git a/lib/msun/man/j0.3 b/lib/msun/man/j0.3 index 8e1327cb86fe8..78e05e767673d 100644 --- a/lib/msun/man/j0.3 +++ b/lib/msun/man/j0.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)j0.3 6.7 (Berkeley) 4/19/91 -.\" $Id: j0.3,v 1.3 1995/10/22 18:16:39 bde Exp $ +.\" $Id: j0.3,v 1.4 1996/02/12 01:20:27 mpp Exp $ .\" .Dd April 19, 1991 .Dt J0 3 diff --git a/lib/msun/man/lgamma.3 b/lib/msun/man/lgamma.3 index 34a2d567b5db3..e40e87d6783da 100644 --- a/lib/msun/man/lgamma.3 +++ b/lib/msun/man/lgamma.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)lgamma.3 6.6 (Berkeley) 12/3/92 -.\" $Id: lgamma.3,v 1.2 1995/03/01 05:06:23 jkh Exp $ +.\" $Id: lgamma.3,v 1.3 1996/02/12 01:20:29 mpp Exp $ .\" .Dd December 3, 1992 .Dt LGAMMA 3 diff --git a/lib/msun/man/math.3 b/lib/msun/man/math.3 index e2d62c0eb1f48..525243bbb7364 100644 --- a/lib/msun/man/math.3 +++ b/lib/msun/man/math.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)math.3 6.10 (Berkeley) 5/6/91 -.\" $Id: math.3,v 1.2 1995/03/01 05:06:27 jkh Exp $ +.\" $Id: math.3,v 1.3 1996/02/12 01:20:30 mpp Exp $ .\" .TH MATH 3M "May 6, 1991" .UC 4 diff --git a/lib/msun/man/rint.3 b/lib/msun/man/rint.3 index 7d037018addb5..fd1064772d072 100644 --- a/lib/msun/man/rint.3 +++ b/lib/msun/man/rint.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)rint.3 5.1 (Berkeley) 5/2/91 -.\" $Id: rint.3,v 1.5 1997/02/22 15:09:40 peter Exp $ +.\" $Id: rint.3,v 1.2.6.1 1997/02/28 07:28:46 mpp Exp $ .\" .Dd March 10, 1994 .Dt RINT 3 diff --git a/lib/msun/man/sin.3 b/lib/msun/man/sin.3 index d80b5b3955f38..220adcca88223 100644 --- a/lib/msun/man/sin.3 +++ b/lib/msun/man/sin.3 @@ -31,7 +31,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sin.3 6.7 (Berkeley) 4/19/91 -.\" $Id: sin.3,v 1.5 1997/02/22 15:09:40 peter Exp $ +.\" $Id: sin.3,v 1.2.6.1 1997/02/28 07:28:47 mpp Exp $ .\" .Dd April 19, 1991 .Dt SIN 3 diff --git a/lib/msun/man/sinh.3 b/lib/msun/man/sinh.3 index 77392da14534c..0d2ba9cc60534 100644 --- a/lib/msun/man/sinh.3 +++ b/lib/msun/man/sinh.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sinh.3 6.6 (Berkeley) 4/19/91 -.\" $Id: sinh.3,v 1.5 1997/02/22 15:09:41 peter Exp $ +.\" $Id: sinh.3,v 1.2.6.1 1997/02/28 07:28:47 mpp Exp $ .Dd April 19, 1991 .Dt SINH 3 .Os diff --git a/lib/msun/man/sqrt.3 b/lib/msun/man/sqrt.3 index fe71926c7ce10..9364415e81352 100644 --- a/lib/msun/man/sqrt.3 +++ b/lib/msun/man/sqrt.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sqrt.3 6.4 (Berkeley) 5/6/91 -.\" $Id: sqrt.3,v 1.2 1995/03/01 05:06:41 jkh Exp $ +.\" $Id: sqrt.3,v 1.3 1996/02/12 01:20:32 mpp Exp $ .\" .Dd May 6, 1991 .Dt SQRT 3 diff --git a/lib/msun/man/tan.3 b/lib/msun/man/tan.3 index 407a90309bd8f..d3aaba518d526 100644 --- a/lib/msun/man/tan.3 +++ b/lib/msun/man/tan.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)tan.3 5.1 (Berkeley) 5/2/91 -.\" $Id: tan.3,v 1.5 1997/02/22 15:09:45 peter Exp $ +.\" $Id: tan.3,v 1.2.6.1 1997/02/28 07:28:48 mpp Exp $ .\" .Dd May 2, 1991 .Dt TAN 3 diff --git a/lib/msun/man/tanh.3 b/lib/msun/man/tanh.3 index 30bd24b245a1b..4e64c2d66c343 100644 --- a/lib/msun/man/tanh.3 +++ b/lib/msun/man/tanh.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)tanh.3 5.1 (Berkeley) 5/2/91 -.\" $Id: tanh.3,v 1.5 1997/02/22 15:09:46 peter Exp $ +.\" $Id: tanh.3,v 1.2.6.1 1997/02/28 07:28:48 mpp Exp $ .\" .Dd May 2, 1991 .Dt TANH 3 diff --git a/lib/msun/src/e_acos.c b/lib/msun/src/e_acos.c index 804c2c2e09335..3f030498aea06 100644 --- a/lib/msun/src/e_acos.c +++ b/lib/msun/src/e_acos.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_acos.c,v 1.2 1995/05/30 05:47:51 rgrimes Exp $"; +static char rcsid[] = "$Id: e_acos.c,v 1.2.6.1 1997/02/23 11:02:58 joerg Exp $"; #endif /* __ieee754_acos(x) diff --git a/lib/msun/src/e_acosf.c b/lib/msun/src/e_acosf.c index e220a72e20a13..3b981bdbf2a61 100644 --- a/lib/msun/src/e_acosf.c +++ b/lib/msun/src/e_acosf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_acosf.c,v 1.1.1.1 1994/08/19 09:39:43 jkh Exp $"; +static char rcsid[] = "$Id: e_acosf.c,v 1.2 1995/05/30 05:47:52 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_acosh.c b/lib/msun/src/e_acosh.c index efaefea51a0af..e6d5928807020 100644 --- a/lib/msun/src/e_acosh.c +++ b/lib/msun/src/e_acosh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_acosh.c,v 1.1.1.1 1994/08/19 09:39:43 jkh Exp $"; +static char rcsid[] = "$Id: e_acosh.c,v 1.2 1995/05/30 05:47:53 rgrimes Exp $"; #endif /* __ieee754_acosh(x) diff --git a/lib/msun/src/e_acoshf.c b/lib/msun/src/e_acoshf.c index 53080e9485dfe..812046165fc05 100644 --- a/lib/msun/src/e_acoshf.c +++ b/lib/msun/src/e_acoshf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_acoshf.c,v 1.1.1.1 1994/08/19 09:39:44 jkh Exp $"; +static char rcsid[] = "$Id: e_acoshf.c,v 1.2 1995/05/30 05:47:54 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_asin.c b/lib/msun/src/e_asin.c index 9ca49b2d5961a..fdeac34943067 100644 --- a/lib/msun/src/e_asin.c +++ b/lib/msun/src/e_asin.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_asin.c,v 1.3 1996/07/12 18:57:45 jkh Exp $"; +static char rcsid[] = "$Id: e_asin.c,v 1.3.2.1 1997/02/23 11:03:00 joerg Exp $"; #endif /* __ieee754_asin(x) diff --git a/lib/msun/src/e_asinf.c b/lib/msun/src/e_asinf.c index 6d6ba8503336f..533f7b05c7f1f 100644 --- a/lib/msun/src/e_asinf.c +++ b/lib/msun/src/e_asinf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_asinf.c,v 1.2 1995/05/30 05:47:56 rgrimes Exp $"; +static char rcsid[] = "$Id: e_asinf.c,v 1.3 1996/07/12 18:57:47 jkh Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_atan2.c b/lib/msun/src/e_atan2.c index f664a3044a529..949b49a0be20b 100644 --- a/lib/msun/src/e_atan2.c +++ b/lib/msun/src/e_atan2.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_atan2.c,v 1.3 1996/07/12 18:57:51 jkh Exp $"; +static char rcsid[] = "$Id: e_atan2.c,v 1.3.2.1 1997/02/23 11:03:01 joerg Exp $"; #endif /* __ieee754_atan2(y,x) diff --git a/lib/msun/src/e_atan2f.c b/lib/msun/src/e_atan2f.c index 39aa779eeef9e..5eaefe425b899 100644 --- a/lib/msun/src/e_atan2f.c +++ b/lib/msun/src/e_atan2f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_atan2f.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: e_atan2f.c,v 1.2 1995/05/30 05:47:59 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_atanh.c b/lib/msun/src/e_atanh.c index aeb8a75444faf..3bc134d95cb6a 100644 --- a/lib/msun/src/e_atanh.c +++ b/lib/msun/src/e_atanh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_atanh.c,v 1.1.1.1 1994/08/19 09:39:43 jkh Exp $"; +static char rcsid[] = "$Id: e_atanh.c,v 1.2 1995/05/30 05:48:01 rgrimes Exp $"; #endif /* __ieee754_atanh(x) diff --git a/lib/msun/src/e_atanhf.c b/lib/msun/src/e_atanhf.c index 1c2cc6450fcaa..c75915674e5e7 100644 --- a/lib/msun/src/e_atanhf.c +++ b/lib/msun/src/e_atanhf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_atanhf.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: e_atanhf.c,v 1.2 1995/05/30 05:48:04 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_cosh.c b/lib/msun/src/e_cosh.c index c0bec61edf6ab..4d0ab06b2dfb0 100644 --- a/lib/msun/src/e_cosh.c +++ b/lib/msun/src/e_cosh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_cosh.c,v 1.2 1995/05/30 05:48:07 rgrimes Exp $"; +static char rcsid[] = "$Id: e_cosh.c,v 1.3 1996/07/12 18:57:52 jkh Exp $"; #endif /* __ieee754_cosh(x) diff --git a/lib/msun/src/e_coshf.c b/lib/msun/src/e_coshf.c index 25bb9e30aa199..00364368d8154 100644 --- a/lib/msun/src/e_coshf.c +++ b/lib/msun/src/e_coshf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_coshf.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: e_coshf.c,v 1.2 1995/05/30 05:48:07 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_exp.c b/lib/msun/src/e_exp.c index 9a3735e1543bc..d7f4ba340e786 100644 --- a/lib/msun/src/e_exp.c +++ b/lib/msun/src/e_exp.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_exp.c,v 1.3 1996/07/12 18:57:55 jkh Exp $"; +static char rcsid[] = "$Id: e_exp.c,v 1.3.2.1 1997/02/23 11:03:02 joerg Exp $"; #endif /* __ieee754_exp(x) diff --git a/lib/msun/src/e_expf.c b/lib/msun/src/e_expf.c index ed265784bee7e..99e24c902246d 100644 --- a/lib/msun/src/e_expf.c +++ b/lib/msun/src/e_expf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_expf.c,v 1.2 1995/05/30 05:48:09 rgrimes Exp $"; +static char rcsid[] = "$Id: e_expf.c,v 1.3 1996/07/12 18:57:56 jkh Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_fmod.c b/lib/msun/src/e_fmod.c index dc9ef8ccfd8d8..5e06e80149f7a 100644 --- a/lib/msun/src/e_fmod.c +++ b/lib/msun/src/e_fmod.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_fmod.c,v 1.2 1995/05/30 05:48:10 rgrimes Exp $"; +static char rcsid[] = "$Id: e_fmod.c,v 1.2.6.1 1997/02/23 11:03:03 joerg Exp $"; #endif /* diff --git a/lib/msun/src/e_fmodf.c b/lib/msun/src/e_fmodf.c index 4a54d1818b084..c96947e52d034 100644 --- a/lib/msun/src/e_fmodf.c +++ b/lib/msun/src/e_fmodf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_fmodf.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: e_fmodf.c,v 1.2 1995/05/30 05:48:11 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/e_gamma.c b/lib/msun/src/e_gamma.c index 699dc54acad66..fe1cd8622c5a2 100644 --- a/lib/msun/src/e_gamma.c +++ b/lib/msun/src/e_gamma.c @@ -12,7 +12,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_gamma.c,v 1.1.1.1 1994/08/19 09:39:43 jkh Exp $"; +static char rcsid[] = "$Id: e_gamma.c,v 1.2 1995/05/30 05:48:12 rgrimes Exp $"; #endif /* __ieee754_gamma(x) diff --git a/lib/msun/src/e_gamma_r.c b/lib/msun/src/e_gamma_r.c index 699af100b1710..f571c963741f3 100644 --- a/lib/msun/src/e_gamma_r.c +++ b/lib/msun/src/e_gamma_r.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_gamma_r.c,v 1.1.1.1 1994/08/19 09:39:43 jkh Exp $"; +static char rcsid[] = "$Id: e_gamma_r.c,v 1.2 1995/05/30 05:48:13 rgrimes Exp $"; #endif /* __ieee754_gamma_r(x, signgamp) diff --git a/lib/msun/src/e_gammaf.c b/lib/msun/src/e_gammaf.c index 039c25784e361..f994b286c342e 100644 --- a/lib/msun/src/e_gammaf.c +++ b/lib/msun/src/e_gammaf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_gammaf.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: e_gammaf.c,v 1.2 1995/05/30 05:48:14 rgrimes Exp $"; #endif /* __ieee754_gammaf(x) diff --git a/lib/msun/src/e_gammaf_r.c b/lib/msun/src/e_gammaf_r.c index 93f17fb825b47..0e01afe1d62b6 100644 --- a/lib/msun/src/e_gammaf_r.c +++ b/lib/msun/src/e_gammaf_r.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_gammaf_r.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: e_gammaf_r.c,v 1.2 1995/05/30 05:48:15 rgrimes Exp $"; #endif /* __ieee754_gammaf_r(x, signgamp) diff --git a/lib/msun/src/e_hypot.c b/lib/msun/src/e_hypot.c index 2f6e30ff44bfc..342acb220c5a3 100644 --- a/lib/msun/src/e_hypot.c +++ b/lib/msun/src/e_hypot.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_hypot.c,v 1.1.1.1 1994/08/19 09:39:44 jkh Exp $"; +static char rcsid[] = "$Id: e_hypot.c,v 1.2 1995/05/30 05:48:16 rgrimes Exp $"; #endif /* __ieee754_hypot(x,y) diff --git a/lib/msun/src/e_hypotf.c b/lib/msun/src/e_hypotf.c index c8a066778c572..2b958173c5f46 100644 --- a/lib/msun/src/e_hypotf.c +++ b/lib/msun/src/e_hypotf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_hypotf.c,v 1.2 1995/05/30 05:48:17 rgrimes Exp $"; +static char rcsid[] = "$Id: e_hypotf.c,v 1.2.6.1 1997/03/05 11:54:54 bde Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_j0.c b/lib/msun/src/e_j0.c index 3a11397a3262f..16d2d9d05ed80 100644 --- a/lib/msun/src/e_j0.c +++ b/lib/msun/src/e_j0.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_j0.c,v 1.1.1.1 1994/08/19 09:39:43 jkh Exp $"; +static char rcsid[] = "$Id: e_j0.c,v 1.2 1995/05/30 05:48:18 rgrimes Exp $"; #endif /* __ieee754_j0(x), __ieee754_y0(x) diff --git a/lib/msun/src/e_j0f.c b/lib/msun/src/e_j0f.c index ce416fab70e82..cb54e47e862f8 100644 --- a/lib/msun/src/e_j0f.c +++ b/lib/msun/src/e_j0f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_j0f.c,v 1.1.1.1 1994/08/19 09:39:55 jkh Exp $"; +static char rcsid[] = "$Id: e_j0f.c,v 1.2 1995/05/30 05:48:19 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_j1.c b/lib/msun/src/e_j1.c index f577368048ed4..4012d4a9d6564 100644 --- a/lib/msun/src/e_j1.c +++ b/lib/msun/src/e_j1.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_j1.c,v 1.1.1.1 1994/08/19 09:39:44 jkh Exp $"; +static char rcsid[] = "$Id: e_j1.c,v 1.2 1995/05/30 05:48:20 rgrimes Exp $"; #endif /* __ieee754_j1(x), __ieee754_y1(x) diff --git a/lib/msun/src/e_j1f.c b/lib/msun/src/e_j1f.c index f06b30006f2db..1897cb4459221 100644 --- a/lib/msun/src/e_j1f.c +++ b/lib/msun/src/e_j1f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_j1f.c,v 1.1.1.1 1994/08/19 09:39:55 jkh Exp $"; +static char rcsid[] = "$Id: e_j1f.c,v 1.2 1995/05/30 05:48:23 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_jn.c b/lib/msun/src/e_jn.c index ae309f0e6b74f..9175826d4e938 100644 --- a/lib/msun/src/e_jn.c +++ b/lib/msun/src/e_jn.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_jn.c,v 1.2 1995/04/07 23:13:42 bde Exp $"; +static char rcsid[] = "$Id: e_jn.c,v 1.3 1995/05/30 05:48:24 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/e_jnf.c b/lib/msun/src/e_jnf.c index 6393f83df5c1f..eeb145ac21308 100644 --- a/lib/msun/src/e_jnf.c +++ b/lib/msun/src/e_jnf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_jnf.c,v 1.2 1995/04/07 23:13:43 bde Exp $"; +static char rcsid[] = "$Id: e_jnf.c,v 1.3 1995/05/30 05:48:25 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_lgamma.c b/lib/msun/src/e_lgamma.c index 39de847aa1753..b11a5d9ad0df1 100644 --- a/lib/msun/src/e_lgamma.c +++ b/lib/msun/src/e_lgamma.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_lgamma.c,v 1.1.1.1 1994/08/19 09:39:44 jkh Exp $"; +static char rcsid[] = "$Id: e_lgamma.c,v 1.2 1995/05/30 05:48:26 rgrimes Exp $"; #endif /* __ieee754_lgamma(x) diff --git a/lib/msun/src/e_lgamma_r.c b/lib/msun/src/e_lgamma_r.c index 57b24d414de4d..3ee6368e369a3 100644 --- a/lib/msun/src/e_lgamma_r.c +++ b/lib/msun/src/e_lgamma_r.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_lgamma_r.c,v 1.1.1.1 1994/08/19 09:39:44 jkh Exp $"; +static char rcsid[] = "$Id: e_lgamma_r.c,v 1.2 1995/05/30 05:48:27 rgrimes Exp $"; #endif /* __ieee754_lgamma_r(x, signgamp) diff --git a/lib/msun/src/e_lgammaf.c b/lib/msun/src/e_lgammaf.c index 1d90cdd692a93..6293ffd609caa 100644 --- a/lib/msun/src/e_lgammaf.c +++ b/lib/msun/src/e_lgammaf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_lgammaf.c,v 1.1.1.1 1994/08/19 09:39:55 jkh Exp $"; +static char rcsid[] = "$Id: e_lgammaf.c,v 1.2 1995/05/30 05:48:28 rgrimes Exp $"; #endif /* __ieee754_lgammaf(x) diff --git a/lib/msun/src/e_lgammaf_r.c b/lib/msun/src/e_lgammaf_r.c index 2cd8ec8ca9c41..419d80785a508 100644 --- a/lib/msun/src/e_lgammaf_r.c +++ b/lib/msun/src/e_lgammaf_r.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_lgammaf_r.c,v 1.1.1.1 1994/08/19 09:39:55 jkh Exp $"; +static char rcsid[] = "$Id: e_lgammaf_r.c,v 1.2 1995/05/30 05:48:29 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_log.c b/lib/msun/src/e_log.c index eca1a8e01561c..bcd791d1a523a 100644 --- a/lib/msun/src/e_log.c +++ b/lib/msun/src/e_log.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_log.c,v 1.2 1995/05/30 05:48:30 rgrimes Exp $"; +static char rcsid[] = "$Id: e_log.c,v 1.2.6.1 1997/02/23 11:03:05 joerg Exp $"; #endif /* __ieee754_log(x) diff --git a/lib/msun/src/e_log10.c b/lib/msun/src/e_log10.c index eed3d8f4df53a..df52ec491221f 100644 --- a/lib/msun/src/e_log10.c +++ b/lib/msun/src/e_log10.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_log10.c,v 1.3 1995/05/30 05:48:30 rgrimes Exp $"; +static char rcsid[] = "$Id: e_log10.c,v 1.3.6.1 1997/02/23 11:03:06 joerg Exp $"; #endif /* __ieee754_log10(x) diff --git a/lib/msun/src/e_log10f.c b/lib/msun/src/e_log10f.c index 3caa25abba356..266100a62969f 100644 --- a/lib/msun/src/e_log10f.c +++ b/lib/msun/src/e_log10f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_log10f.c,v 1.2 1995/04/07 23:23:23 bde Exp $"; +static char rcsid[] = "$Id: e_log10f.c,v 1.3 1995/05/30 05:48:31 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_logf.c b/lib/msun/src/e_logf.c index 1baef0470b730..1585de78e5e87 100644 --- a/lib/msun/src/e_logf.c +++ b/lib/msun/src/e_logf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_logf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: e_logf.c,v 1.2 1995/05/30 05:48:32 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_pow.c b/lib/msun/src/e_pow.c index 8bdc8a862e5fa..51ddba94abce2 100644 --- a/lib/msun/src/e_pow.c +++ b/lib/msun/src/e_pow.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_pow.c,v 1.1.1.1 1994/08/19 09:39:44 jkh Exp $"; +static char rcsid[] = "$Id: e_pow.c,v 1.2 1995/05/30 05:48:34 rgrimes Exp $"; #endif /* __ieee754_pow(x,y) return x**y diff --git a/lib/msun/src/e_powf.c b/lib/msun/src/e_powf.c index 7b268d36fe239..e5c05d8f762e9 100644 --- a/lib/msun/src/e_powf.c +++ b/lib/msun/src/e_powf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_powf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: e_powf.c,v 1.2 1995/05/30 05:48:36 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_rem_pio2.c b/lib/msun/src/e_rem_pio2.c index 5b1c3bf264030..f9533744f1d4e 100644 --- a/lib/msun/src/e_rem_pio2.c +++ b/lib/msun/src/e_rem_pio2.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_rem_pio2.c,v 1.2 1995/04/07 23:23:24 bde Exp $"; +static char rcsid[] = "$Id: e_rem_pio2.c,v 1.3 1995/05/30 05:48:37 rgrimes Exp $"; #endif /* __ieee754_rem_pio2(x,y) diff --git a/lib/msun/src/e_rem_pio2f.c b/lib/msun/src/e_rem_pio2f.c index 98c305fd9f13d..1602501951c39 100644 --- a/lib/msun/src/e_rem_pio2f.c +++ b/lib/msun/src/e_rem_pio2f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_rem_pio2f.c,v 1.2 1995/04/07 23:23:25 bde Exp $"; +static char rcsid[] = "$Id: e_rem_pio2f.c,v 1.3 1995/05/30 05:48:38 rgrimes Exp $"; #endif /* __ieee754_rem_pio2f(x,y) diff --git a/lib/msun/src/e_remainder.c b/lib/msun/src/e_remainder.c index e08c0ac6b042b..724bc285ea8bf 100644 --- a/lib/msun/src/e_remainder.c +++ b/lib/msun/src/e_remainder.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_remainder.c,v 1.2 1995/05/30 05:48:39 rgrimes Exp $"; +static char rcsid[] = "$Id: e_remainder.c,v 1.2.6.1 1997/02/23 11:03:07 joerg Exp $"; #endif /* __ieee754_remainder(x,p) diff --git a/lib/msun/src/e_remainderf.c b/lib/msun/src/e_remainderf.c index cc66ba454aec9..df3a52ced4a59 100644 --- a/lib/msun/src/e_remainderf.c +++ b/lib/msun/src/e_remainderf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_remainderf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: e_remainderf.c,v 1.2 1995/05/30 05:48:40 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_scalb.c b/lib/msun/src/e_scalb.c index d85b0bdb3e80e..ff97b3c81804c 100644 --- a/lib/msun/src/e_scalb.c +++ b/lib/msun/src/e_scalb.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_scalb.c,v 1.2 1995/05/30 05:48:43 rgrimes Exp $"; +static char rcsid[] = "$Id: e_scalb.c,v 1.2.6.1 1997/02/23 11:03:08 joerg Exp $"; #endif /* diff --git a/lib/msun/src/e_scalbf.c b/lib/msun/src/e_scalbf.c index 0dff855c37c2c..8a6e4abf37d65 100644 --- a/lib/msun/src/e_scalbf.c +++ b/lib/msun/src/e_scalbf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_scalbf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: e_scalbf.c,v 1.2 1995/05/30 05:48:45 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_sinh.c b/lib/msun/src/e_sinh.c index 4b81a2434b86a..ec9f4ff97f71d 100644 --- a/lib/msun/src/e_sinh.c +++ b/lib/msun/src/e_sinh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_sinh.c,v 1.2 1995/05/30 05:48:48 rgrimes Exp $"; +static char rcsid[] = "$Id: e_sinh.c,v 1.3 1996/07/12 18:57:58 jkh Exp $"; #endif /* __ieee754_sinh(x) diff --git a/lib/msun/src/e_sinhf.c b/lib/msun/src/e_sinhf.c index 9c6e45bed155b..f6e3a8f2cc723 100644 --- a/lib/msun/src/e_sinhf.c +++ b/lib/msun/src/e_sinhf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_sinhf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: e_sinhf.c,v 1.2 1995/05/30 05:48:49 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/e_sqrt.c b/lib/msun/src/e_sqrt.c index ddd33fd9e3e74..934883f0411c8 100644 --- a/lib/msun/src/e_sqrt.c +++ b/lib/msun/src/e_sqrt.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_sqrt.c,v 1.2 1995/05/30 05:48:50 rgrimes Exp $"; +static char rcsid[] = "$Id: e_sqrt.c,v 1.2.6.1 1997/02/23 11:03:09 joerg Exp $"; #endif /* __ieee754_sqrt(x) diff --git a/lib/msun/src/e_sqrtf.c b/lib/msun/src/e_sqrtf.c index a4cb172e1bdc7..da3c2216e693a 100644 --- a/lib/msun/src/e_sqrtf.c +++ b/lib/msun/src/e_sqrtf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: e_sqrtf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: e_sqrtf.c,v 1.2 1995/05/30 05:48:52 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/get_hw_float.c b/lib/msun/src/get_hw_float.c index fea5c89a81eca..7702491b48b8b 100644 --- a/lib/msun/src/get_hw_float.c +++ b/lib/msun/src/get_hw_float.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: get_hw_float.c,v 1.2 1997/02/22 15:10:42 peter Exp $ */ #include <sys/types.h> diff --git a/lib/msun/src/k_cos.c b/lib/msun/src/k_cos.c index 57ebe6219613b..be536d89a3f94 100644 --- a/lib/msun/src/k_cos.c +++ b/lib/msun/src/k_cos.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: k_cos.c,v 1.1.1.1 1994/08/19 09:39:44 jkh Exp $"; +static char rcsid[] = "$Id: k_cos.c,v 1.2 1995/05/30 05:48:53 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/k_cosf.c b/lib/msun/src/k_cosf.c index 09e2ff72cc2ef..f1746d19ad92f 100644 --- a/lib/msun/src/k_cosf.c +++ b/lib/msun/src/k_cosf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: k_cosf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: k_cosf.c,v 1.2 1995/05/30 05:48:55 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/k_rem_pio2.c b/lib/msun/src/k_rem_pio2.c index 25faf35f40ea2..2edb6c50ef150 100644 --- a/lib/msun/src/k_rem_pio2.c +++ b/lib/msun/src/k_rem_pio2.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: k_rem_pio2.c,v 1.1.1.1 1994/08/19 09:39:45 jkh Exp $"; +static char rcsid[] = "$Id: k_rem_pio2.c,v 1.2 1995/05/30 05:48:57 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/k_rem_pio2f.c b/lib/msun/src/k_rem_pio2f.c index 10615386eb815..d44f40bf35612 100644 --- a/lib/msun/src/k_rem_pio2f.c +++ b/lib/msun/src/k_rem_pio2f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: k_rem_pio2f.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: k_rem_pio2f.c,v 1.2 1995/05/30 05:49:00 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/k_sin.c b/lib/msun/src/k_sin.c index 394df92768117..7e4bed6fb6546 100644 --- a/lib/msun/src/k_sin.c +++ b/lib/msun/src/k_sin.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: k_sin.c,v 1.1.1.1 1994/08/19 09:39:45 jkh Exp $"; +static char rcsid[] = "$Id: k_sin.c,v 1.2 1995/05/30 05:49:05 rgrimes Exp $"; #endif /* __kernel_sin( x, y, iy) diff --git a/lib/msun/src/k_sinf.c b/lib/msun/src/k_sinf.c index b7c3db935ddeb..faf57de58d199 100644 --- a/lib/msun/src/k_sinf.c +++ b/lib/msun/src/k_sinf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: k_sinf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: k_sinf.c,v 1.2 1995/05/30 05:49:10 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/k_standard.c b/lib/msun/src/k_standard.c index d32362e386b84..bfc9001db7d9f 100644 --- a/lib/msun/src/k_standard.c +++ b/lib/msun/src/k_standard.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: k_standard.c,v 1.1.1.1 1994/08/19 09:39:45 jkh Exp $"; +static char rcsid[] = "$Id: k_standard.c,v 1.2 1995/05/30 05:49:13 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/k_tan.c b/lib/msun/src/k_tan.c index d5851cf2f0f8d..7418b653c20c0 100644 --- a/lib/msun/src/k_tan.c +++ b/lib/msun/src/k_tan.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: k_tan.c,v 1.1.1.1 1994/08/19 09:39:45 jkh Exp $"; +static char rcsid[] = "$Id: k_tan.c,v 1.2 1995/05/30 05:49:14 rgrimes Exp $"; #endif /* __kernel_tan( x, y, k ) diff --git a/lib/msun/src/k_tanf.c b/lib/msun/src/k_tanf.c index 9be8d378ade63..ec087d3a5e6f4 100644 --- a/lib/msun/src/k_tanf.c +++ b/lib/msun/src/k_tanf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: k_tanf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: k_tanf.c,v 1.2 1995/05/30 05:49:15 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/math.h b/lib/msun/src/math.h index 74b021ff06a73..7623c942de63e 100644 --- a/lib/msun/src/math.h +++ b/lib/msun/src/math.h @@ -11,7 +11,7 @@ /* * from: @(#)fdlibm.h 5.1 93/09/24 - * $Id: math.h,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $ + * $Id: math.h,v 1.2 1995/05/30 05:49:16 rgrimes Exp $ */ #ifndef _MATH_H_ diff --git a/lib/msun/src/math_private.h b/lib/msun/src/math_private.h index 232f65b8712fa..897e32372eb16 100644 --- a/lib/msun/src/math_private.h +++ b/lib/msun/src/math_private.h @@ -11,7 +11,7 @@ /* * from: @(#)fdlibm.h 5.1 93/09/24 - * $Id: math_private.h,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $ + * $Id: math_private.h,v 1.2 1995/05/30 05:49:17 rgrimes Exp $ */ #ifndef _MATH_PRIVATE_H_ diff --git a/lib/msun/src/s_asinh.c b/lib/msun/src/s_asinh.c index 64de8defe96f1..a33b2d9c400a7 100644 --- a/lib/msun/src/s_asinh.c +++ b/lib/msun/src/s_asinh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_asinh.c,v 1.1.1.1 1994/08/19 09:39:45 jkh Exp $"; +static char rcsid[] = "$Id: s_asinh.c,v 1.2 1995/05/30 05:49:18 rgrimes Exp $"; #endif /* asinh(x) diff --git a/lib/msun/src/s_asinhf.c b/lib/msun/src/s_asinhf.c index e96704fc9bf22..8363c8791afc0 100644 --- a/lib/msun/src/s_asinhf.c +++ b/lib/msun/src/s_asinhf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_asinhf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: s_asinhf.c,v 1.2 1995/05/30 05:49:19 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_atan.c b/lib/msun/src/s_atan.c index 94c6210c2158a..ec6ca02a287a4 100644 --- a/lib/msun/src/s_atan.c +++ b/lib/msun/src/s_atan.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_atan.c,v 1.2 1995/05/30 05:49:20 rgrimes Exp $"; +static char rcsid[] = "$Id: s_atan.c,v 1.2.6.1 1997/02/23 11:03:13 joerg Exp $"; #endif /* atan(x) diff --git a/lib/msun/src/s_atanf.c b/lib/msun/src/s_atanf.c index 52beebfcf5ec2..3fd85906be407 100644 --- a/lib/msun/src/s_atanf.c +++ b/lib/msun/src/s_atanf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_atanf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: s_atanf.c,v 1.2 1995/05/30 05:49:22 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_cbrt.c b/lib/msun/src/s_cbrt.c index a3fcc0215b47b..c494ab9dcfb1a 100644 --- a/lib/msun/src/s_cbrt.c +++ b/lib/msun/src/s_cbrt.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_cbrt.c,v 1.1.1.1 1994/08/19 09:39:51 jkh Exp $"; +static char rcsid[] = "$Id: s_cbrt.c,v 1.2 1995/05/30 05:49:22 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_cbrtf.c b/lib/msun/src/s_cbrtf.c index 8bee2beb4a571..c86453f451fd6 100644 --- a/lib/msun/src/s_cbrtf.c +++ b/lib/msun/src/s_cbrtf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_cbrtf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: s_cbrtf.c,v 1.2 1995/05/30 05:49:23 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_ceil.c b/lib/msun/src/s_ceil.c index 6f49bb4d3b3fb..4bcefe7d2d71e 100644 --- a/lib/msun/src/s_ceil.c +++ b/lib/msun/src/s_ceil.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_ceil.c,v 1.2 1995/05/30 05:49:25 rgrimes Exp $"; +static char rcsid[] = "$Id: s_ceil.c,v 1.2.6.1 1997/02/23 11:03:14 joerg Exp $"; #endif /* diff --git a/lib/msun/src/s_ceilf.c b/lib/msun/src/s_ceilf.c index b30f5ba8e816a..2b5f42d2e0882 100644 --- a/lib/msun/src/s_ceilf.c +++ b/lib/msun/src/s_ceilf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_ceilf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: s_ceilf.c,v 1.2 1995/05/30 05:49:26 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_copysign.c b/lib/msun/src/s_copysign.c index 7ece0ad5873a2..73452a4792c31 100644 --- a/lib/msun/src/s_copysign.c +++ b/lib/msun/src/s_copysign.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_copysign.c,v 1.2 1995/05/30 05:49:27 rgrimes Exp $"; +static char rcsid[] = "$Id: s_copysign.c,v 1.2.6.1 1997/02/23 11:03:16 joerg Exp $"; #endif /* diff --git a/lib/msun/src/s_copysignf.c b/lib/msun/src/s_copysignf.c index 07b1a530ab140..3192193cf0c3b 100644 --- a/lib/msun/src/s_copysignf.c +++ b/lib/msun/src/s_copysignf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_copysignf.c,v 1.1.1.1 1994/08/19 09:39:57 jkh Exp $"; +static char rcsid[] = "$Id: s_copysignf.c,v 1.2 1995/05/30 05:49:28 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_cos.c b/lib/msun/src/s_cos.c index f1117f1be54d8..000b0a03c070c 100644 --- a/lib/msun/src/s_cos.c +++ b/lib/msun/src/s_cos.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_cos.c,v 1.2 1995/05/30 05:49:29 rgrimes Exp $"; +static char rcsid[] = "$Id: s_cos.c,v 1.2.6.1 1997/02/23 11:03:17 joerg Exp $"; #endif /* cos(x) diff --git a/lib/msun/src/s_cosf.c b/lib/msun/src/s_cosf.c index 95fe4e7723d6f..700af27cc1063 100644 --- a/lib/msun/src/s_cosf.c +++ b/lib/msun/src/s_cosf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_cosf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_cosf.c,v 1.2 1995/05/30 05:49:30 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_erf.c b/lib/msun/src/s_erf.c index 4a06e2043ed24..39a2acd47af01 100644 --- a/lib/msun/src/s_erf.c +++ b/lib/msun/src/s_erf.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_erf.c,v 1.1.1.1 1994/08/19 09:39:51 jkh Exp $"; +static char rcsid[] = "$Id: s_erf.c,v 1.2 1995/05/30 05:49:31 rgrimes Exp $"; #endif /* double erf(double x) diff --git a/lib/msun/src/s_erff.c b/lib/msun/src/s_erff.c index 15e40b13e4007..f72279b435756 100644 --- a/lib/msun/src/s_erff.c +++ b/lib/msun/src/s_erff.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_erff.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_erff.c,v 1.2 1995/05/30 05:49:32 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_expm1.c b/lib/msun/src/s_expm1.c index 9c933e24c8855..14df0c3663adc 100644 --- a/lib/msun/src/s_expm1.c +++ b/lib/msun/src/s_expm1.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_expm1.c,v 1.1.1.1 1994/08/19 09:39:51 jkh Exp $"; +static char rcsid[] = "$Id: s_expm1.c,v 1.2 1995/05/30 05:49:33 rgrimes Exp $"; #endif /* expm1(x) diff --git a/lib/msun/src/s_expm1f.c b/lib/msun/src/s_expm1f.c index e7d43514f0cc6..fe9a1b428c9cd 100644 --- a/lib/msun/src/s_expm1f.c +++ b/lib/msun/src/s_expm1f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_expm1f.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_expm1f.c,v 1.2 1995/05/30 05:49:34 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_fabs.c b/lib/msun/src/s_fabs.c index 590d5594ea2e4..1192324a4d59d 100644 --- a/lib/msun/src/s_fabs.c +++ b/lib/msun/src/s_fabs.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_fabs.c,v 1.1.1.1 1994/08/19 09:39:51 jkh Exp $"; +static char rcsid[] = "$Id: s_fabs.c,v 1.2 1995/05/30 05:49:35 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_fabsf.c b/lib/msun/src/s_fabsf.c index e2462725b9a5c..9f36414933a33 100644 --- a/lib/msun/src/s_fabsf.c +++ b/lib/msun/src/s_fabsf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_fabsf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_fabsf.c,v 1.2 1995/05/30 05:49:36 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_finite.c b/lib/msun/src/s_finite.c index d484c056f3e35..3caf249845848 100644 --- a/lib/msun/src/s_finite.c +++ b/lib/msun/src/s_finite.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_finite.c,v 1.2 1995/05/30 05:49:37 rgrimes Exp $"; +static char rcsid[] = "$Id: s_finite.c,v 1.2.6.1 1997/02/23 11:03:17 joerg Exp $"; #endif /* diff --git a/lib/msun/src/s_finitef.c b/lib/msun/src/s_finitef.c index 28b2f791b3753..f42241996f46e 100644 --- a/lib/msun/src/s_finitef.c +++ b/lib/msun/src/s_finitef.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_finitef.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_finitef.c,v 1.2 1995/05/30 05:49:38 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_floor.c b/lib/msun/src/s_floor.c index 65cef7adf9a87..539b1077cdd74 100644 --- a/lib/msun/src/s_floor.c +++ b/lib/msun/src/s_floor.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_floor.c,v 1.2 1995/05/30 05:49:39 rgrimes Exp $"; +static char rcsid[] = "$Id: s_floor.c,v 1.2.6.1 1997/02/23 11:03:18 joerg Exp $"; #endif /* diff --git a/lib/msun/src/s_floorf.c b/lib/msun/src/s_floorf.c index 8851213808860..e2a82485f74dc 100644 --- a/lib/msun/src/s_floorf.c +++ b/lib/msun/src/s_floorf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_floorf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_floorf.c,v 1.2 1995/05/30 05:49:40 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_frexp.c b/lib/msun/src/s_frexp.c index 6a1fadf978499..64b254003ac0a 100644 --- a/lib/msun/src/s_frexp.c +++ b/lib/msun/src/s_frexp.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_frexp.c,v 1.2 1995/04/07 23:23:26 bde Exp $"; +static char rcsid[] = "$Id: s_frexp.c,v 1.3 1995/05/30 05:49:41 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_frexpf.c b/lib/msun/src/s_frexpf.c index ee97029b6f4d9..33d73bef13a1e 100644 --- a/lib/msun/src/s_frexpf.c +++ b/lib/msun/src/s_frexpf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_frexpf.c,v 1.2 1995/04/07 23:23:27 bde Exp $"; +static char rcsid[] = "$Id: s_frexpf.c,v 1.3 1995/05/30 05:49:44 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_ilogb.c b/lib/msun/src/s_ilogb.c index 897d606989e4b..e0ef1a66f3f5b 100644 --- a/lib/msun/src/s_ilogb.c +++ b/lib/msun/src/s_ilogb.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_ilogb.c,v 1.2 1995/05/30 05:49:45 rgrimes Exp $"; +static char rcsid[] = "$Id: s_ilogb.c,v 1.2.6.1 1997/02/23 11:03:19 joerg Exp $"; #endif /* ilogb(double x) diff --git a/lib/msun/src/s_ilogbf.c b/lib/msun/src/s_ilogbf.c index 8c0f162a908d8..2014959bd2635 100644 --- a/lib/msun/src/s_ilogbf.c +++ b/lib/msun/src/s_ilogbf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_ilogbf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_ilogbf.c,v 1.2 1995/05/30 05:49:46 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_isnan.c b/lib/msun/src/s_isnan.c index 677913f5c114d..5f01d48d9de58 100644 --- a/lib/msun/src/s_isnan.c +++ b/lib/msun/src/s_isnan.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_isnan.c,v 1.1.1.1 1994/08/19 09:39:52 jkh Exp $"; +static char rcsid[] = "$Id: s_isnan.c,v 1.2 1995/05/30 05:49:47 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_isnanf.c b/lib/msun/src/s_isnanf.c index 4c4e69ef01a02..85e68c2311076 100644 --- a/lib/msun/src/s_isnanf.c +++ b/lib/msun/src/s_isnanf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_isnanf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_isnanf.c,v 1.2 1995/05/30 05:49:48 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_ldexp.c b/lib/msun/src/s_ldexp.c index 1d11ff2ba4b1c..971ecd218a373 100644 --- a/lib/msun/src/s_ldexp.c +++ b/lib/msun/src/s_ldexp.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_ldexp.c,v 1.1.1.1 1994/08/19 09:39:52 jkh Exp $"; +static char rcsid[] = "$Id: s_ldexp.c,v 1.2 1995/05/30 05:49:51 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_ldexpf.c b/lib/msun/src/s_ldexpf.c index 7cd0ce06e2e21..6bfa0c5efc7ac 100644 --- a/lib/msun/src/s_ldexpf.c +++ b/lib/msun/src/s_ldexpf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_ldexpf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_ldexpf.c,v 1.2 1995/05/30 05:49:53 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_lib_version.c b/lib/msun/src/s_lib_version.c index 7936f89dca0d7..a02c715bd8c20 100644 --- a/lib/msun/src/s_lib_version.c +++ b/lib/msun/src/s_lib_version.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_lib_version.c,v 1.1.1.1 1994/08/19 09:39:52 jkh Exp $"; +static char rcsid[] = "$Id: s_lib_version.c,v 1.2 1995/05/30 05:49:56 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_log1p.c b/lib/msun/src/s_log1p.c index 56218d4a720b6..6522f155900cc 100644 --- a/lib/msun/src/s_log1p.c +++ b/lib/msun/src/s_log1p.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_log1p.c,v 1.1.1.1 1994/08/19 09:39:52 jkh Exp $"; +static char rcsid[] = "$Id: s_log1p.c,v 1.2 1995/05/30 05:49:57 rgrimes Exp $"; #endif /* double log1p(double x) diff --git a/lib/msun/src/s_log1pf.c b/lib/msun/src/s_log1pf.c index 4c4f652448504..4183da498eba8 100644 --- a/lib/msun/src/s_log1pf.c +++ b/lib/msun/src/s_log1pf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_log1pf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_log1pf.c,v 1.2 1995/05/30 05:49:58 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_logb.c b/lib/msun/src/s_logb.c index a34950e09bcdb..ec003c98cd19d 100644 --- a/lib/msun/src/s_logb.c +++ b/lib/msun/src/s_logb.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_logb.c,v 1.2 1995/05/30 05:49:59 rgrimes Exp $"; +static char rcsid[] = "$Id: s_logb.c,v 1.2.6.1 1997/02/23 11:03:20 joerg Exp $"; #endif /* diff --git a/lib/msun/src/s_logbf.c b/lib/msun/src/s_logbf.c index ddc0a04d8f864..aaa1d675d30ce 100644 --- a/lib/msun/src/s_logbf.c +++ b/lib/msun/src/s_logbf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_logbf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_logbf.c,v 1.2 1995/05/30 05:50:00 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_matherr.c b/lib/msun/src/s_matherr.c index 219a88c48b022..0d7288e9f2097 100644 --- a/lib/msun/src/s_matherr.c +++ b/lib/msun/src/s_matherr.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_matherr.c,v 1.1.1.1 1994/08/19 09:39:52 jkh Exp $"; +static char rcsid[] = "$Id: s_matherr.c,v 1.2 1995/05/30 05:50:02 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_modf.c b/lib/msun/src/s_modf.c index b0ebbd0ff03bf..0635159192cff 100644 --- a/lib/msun/src/s_modf.c +++ b/lib/msun/src/s_modf.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_modf.c,v 1.1.1.1 1994/08/19 09:39:52 jkh Exp $"; +static char rcsid[] = "$Id: s_modf.c,v 1.2 1995/05/30 05:50:04 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/s_modff.c b/lib/msun/src/s_modff.c index d1f0e3257bc11..5adc2f4cb7801 100644 --- a/lib/msun/src/s_modff.c +++ b/lib/msun/src/s_modff.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_modff.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_modff.c,v 1.2 1995/05/30 05:50:08 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_nextafter.c b/lib/msun/src/s_nextafter.c index 1936fad89e0f0..44a28d2c8ea8a 100644 --- a/lib/msun/src/s_nextafter.c +++ b/lib/msun/src/s_nextafter.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_nextafter.c,v 1.1.1.1 1994/08/19 09:39:52 jkh Exp $"; +static char rcsid[] = "$Id: s_nextafter.c,v 1.2 1995/05/30 05:50:11 rgrimes Exp $"; #endif /* IEEE functions diff --git a/lib/msun/src/s_nextafterf.c b/lib/msun/src/s_nextafterf.c index bd870705acc9c..a3f3e02787a7c 100644 --- a/lib/msun/src/s_nextafterf.c +++ b/lib/msun/src/s_nextafterf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_nextafterf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_nextafterf.c,v 1.2 1995/05/30 05:50:13 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_rint.c b/lib/msun/src/s_rint.c index 27b537c911a45..d8048a91ae27c 100644 --- a/lib/msun/src/s_rint.c +++ b/lib/msun/src/s_rint.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_rint.c,v 1.3 1996/08/28 16:34:33 bde Exp $"; +static char rcsid[] = "$Id: s_rint.c,v 1.3.2.1 1997/02/23 11:03:20 joerg Exp $"; #endif /* diff --git a/lib/msun/src/s_rintf.c b/lib/msun/src/s_rintf.c index 90a85a310b484..41b167ee21abe 100644 --- a/lib/msun/src/s_rintf.c +++ b/lib/msun/src/s_rintf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_rintf.c,v 1.2 1995/05/30 05:50:21 rgrimes Exp $"; +static char rcsid[] = "$Id: s_rintf.c,v 1.3 1996/08/28 16:34:36 bde Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_scalbn.c b/lib/msun/src/s_scalbn.c index 4c9c98d6e0f65..1136a274fcec0 100644 --- a/lib/msun/src/s_scalbn.c +++ b/lib/msun/src/s_scalbn.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_scalbn.c,v 1.2 1995/05/30 05:50:23 rgrimes Exp $"; +static char rcsid[] = "$Id: s_scalbn.c,v 1.2.6.1 1997/02/23 11:03:21 joerg Exp $"; #endif /* diff --git a/lib/msun/src/s_scalbnf.c b/lib/msun/src/s_scalbnf.c index 08b16406a95af..4f3e004a7df39 100644 --- a/lib/msun/src/s_scalbnf.c +++ b/lib/msun/src/s_scalbnf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_scalbnf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_scalbnf.c,v 1.2 1995/05/30 05:50:24 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_significand.c b/lib/msun/src/s_significand.c index 2f3d9b61db177..85288a47b37d5 100644 --- a/lib/msun/src/s_significand.c +++ b/lib/msun/src/s_significand.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_significand.c,v 1.2 1995/05/30 05:50:26 rgrimes Exp $"; +static char rcsid[] = "$Id: s_significand.c,v 1.2.6.1 1997/02/23 11:03:22 joerg Exp $"; #endif /* diff --git a/lib/msun/src/s_significandf.c b/lib/msun/src/s_significandf.c index 445f264151e4d..0410f81617f1d 100644 --- a/lib/msun/src/s_significandf.c +++ b/lib/msun/src/s_significandf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_significandf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_significandf.c,v 1.2 1995/05/30 05:50:28 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_sin.c b/lib/msun/src/s_sin.c index 80fe27b77ef3c..85b68d5a791d0 100644 --- a/lib/msun/src/s_sin.c +++ b/lib/msun/src/s_sin.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_sin.c,v 1.2 1995/05/30 05:50:30 rgrimes Exp $"; +static char rcsid[] = "$Id: s_sin.c,v 1.2.6.1 1997/02/23 11:03:22 joerg Exp $"; #endif /* sin(x) diff --git a/lib/msun/src/s_sinf.c b/lib/msun/src/s_sinf.c index 69b4841191e43..52cfc468a08c8 100644 --- a/lib/msun/src/s_sinf.c +++ b/lib/msun/src/s_sinf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_sinf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_sinf.c,v 1.2 1995/05/30 05:50:32 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_tan.c b/lib/msun/src/s_tan.c index 1f8e9d8693a9f..a40b345c4243e 100644 --- a/lib/msun/src/s_tan.c +++ b/lib/msun/src/s_tan.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_tan.c,v 1.2 1995/05/30 05:50:33 rgrimes Exp $"; +static char rcsid[] = "$Id: s_tan.c,v 1.2.6.1 1997/02/23 11:03:23 joerg Exp $"; #endif /* tan(x) diff --git a/lib/msun/src/s_tanf.c b/lib/msun/src/s_tanf.c index 0fb7e19c411c8..1148a8569e258 100644 --- a/lib/msun/src/s_tanf.c +++ b/lib/msun/src/s_tanf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_tanf.c,v 1.1.1.1 1994/08/19 09:39:58 jkh Exp $"; +static char rcsid[] = "$Id: s_tanf.c,v 1.2 1995/05/30 05:50:34 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/s_tanh.c b/lib/msun/src/s_tanh.c index dc1baaab9b9ec..046c67895bbaf 100644 --- a/lib/msun/src/s_tanh.c +++ b/lib/msun/src/s_tanh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_tanh.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: s_tanh.c,v 1.2 1995/05/30 05:50:35 rgrimes Exp $"; #endif /* Tanh(x) diff --git a/lib/msun/src/s_tanhf.c b/lib/msun/src/s_tanhf.c index 47908316047b0..cfe602030d4f3 100644 --- a/lib/msun/src/s_tanhf.c +++ b/lib/msun/src/s_tanhf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: s_tanhf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: s_tanhf.c,v 1.2 1995/05/30 05:50:36 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/w_acos.c b/lib/msun/src/w_acos.c index af5f0227edf73..31b67b3c90347 100644 --- a/lib/msun/src/w_acos.c +++ b/lib/msun/src/w_acos.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_acos.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_acos.c,v 1.2 1995/05/30 05:50:37 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_acosf.c b/lib/msun/src/w_acosf.c index 1501235e3c402..5ddd21e9f1c11 100644 --- a/lib/msun/src/w_acosf.c +++ b/lib/msun/src/w_acosf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_acosf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_acosf.c,v 1.2 1995/05/30 05:50:38 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_acosh.c b/lib/msun/src/w_acosh.c index d32cd3d32d477..4b2a98ff22db9 100644 --- a/lib/msun/src/w_acosh.c +++ b/lib/msun/src/w_acosh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_acosh.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_acosh.c,v 1.2 1995/05/30 05:50:39 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_acoshf.c b/lib/msun/src/w_acoshf.c index 232685309174c..90fb1991eb061 100644 --- a/lib/msun/src/w_acoshf.c +++ b/lib/msun/src/w_acoshf.c @@ -15,7 +15,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_acoshf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_acoshf.c,v 1.2 1995/05/30 05:50:40 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_asin.c b/lib/msun/src/w_asin.c index 7174df657fa1f..0079e15ec9920 100644 --- a/lib/msun/src/w_asin.c +++ b/lib/msun/src/w_asin.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_asin.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_asin.c,v 1.2 1995/05/30 05:50:41 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_asinf.c b/lib/msun/src/w_asinf.c index fdc08d4b7ff58..e5894361e3c81 100644 --- a/lib/msun/src/w_asinf.c +++ b/lib/msun/src/w_asinf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_asinf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_asinf.c,v 1.2 1995/05/30 05:50:42 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_atan2.c b/lib/msun/src/w_atan2.c index b408ad6e561a6..d6827296f867d 100644 --- a/lib/msun/src/w_atan2.c +++ b/lib/msun/src/w_atan2.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_atan2.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_atan2.c,v 1.2 1995/05/30 05:50:43 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_atan2f.c b/lib/msun/src/w_atan2f.c index 403cc52f22d22..319463e35a78e 100644 --- a/lib/msun/src/w_atan2f.c +++ b/lib/msun/src/w_atan2f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_atan2f.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_atan2f.c,v 1.2 1995/05/30 05:50:44 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_atanh.c b/lib/msun/src/w_atanh.c index c0774220be44a..14f0b1c97be0a 100644 --- a/lib/msun/src/w_atanh.c +++ b/lib/msun/src/w_atanh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_atanh.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_atanh.c,v 1.2 1995/05/30 05:50:45 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_atanhf.c b/lib/msun/src/w_atanhf.c index 8e6fe1a185e12..d751c8c0aca9b 100644 --- a/lib/msun/src/w_atanhf.c +++ b/lib/msun/src/w_atanhf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_atanhf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_atanhf.c,v 1.2 1995/05/30 05:50:46 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_cosh.c b/lib/msun/src/w_cosh.c index 5386838ffc725..306eab1d33e32 100644 --- a/lib/msun/src/w_cosh.c +++ b/lib/msun/src/w_cosh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_cosh.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_cosh.c,v 1.2 1995/05/30 05:50:49 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_coshf.c b/lib/msun/src/w_coshf.c index 64fd579640f64..15b44ff31285c 100644 --- a/lib/msun/src/w_coshf.c +++ b/lib/msun/src/w_coshf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_coshf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_coshf.c,v 1.2 1995/05/30 05:50:53 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_exp.c b/lib/msun/src/w_exp.c index 0d592ee5004ee..3288c53c109df 100644 --- a/lib/msun/src/w_exp.c +++ b/lib/msun/src/w_exp.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_exp.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_exp.c,v 1.2 1995/05/30 05:50:58 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_expf.c b/lib/msun/src/w_expf.c index e22a951e92c9b..276a6d291c583 100644 --- a/lib/msun/src/w_expf.c +++ b/lib/msun/src/w_expf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_expf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_expf.c,v 1.2 1995/05/30 05:51:00 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_fmod.c b/lib/msun/src/w_fmod.c index 4065409d170e9..02d2184d135f5 100644 --- a/lib/msun/src/w_fmod.c +++ b/lib/msun/src/w_fmod.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_fmod.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_fmod.c,v 1.2 1995/05/30 05:51:02 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_fmodf.c b/lib/msun/src/w_fmodf.c index 5c0c43209af20..b6681360b27cd 100644 --- a/lib/msun/src/w_fmodf.c +++ b/lib/msun/src/w_fmodf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_fmodf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_fmodf.c,v 1.2 1995/05/30 05:51:03 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_gamma.c b/lib/msun/src/w_gamma.c index bf53f1874931b..a1ddf9037f478 100644 --- a/lib/msun/src/w_gamma.c +++ b/lib/msun/src/w_gamma.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_gamma.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_gamma.c,v 1.2 1995/05/30 05:51:04 rgrimes Exp $"; #endif /* double gamma(double x) diff --git a/lib/msun/src/w_gamma_r.c b/lib/msun/src/w_gamma_r.c index 7aad6133c320e..7db1799f524b0 100644 --- a/lib/msun/src/w_gamma_r.c +++ b/lib/msun/src/w_gamma_r.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_gamma_r.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_gamma_r.c,v 1.2 1995/05/30 05:51:06 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_gammaf.c b/lib/msun/src/w_gammaf.c index 89e8f7fa26a16..5aad38ae5d734 100644 --- a/lib/msun/src/w_gammaf.c +++ b/lib/msun/src/w_gammaf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_gammaf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_gammaf.c,v 1.2 1995/05/30 05:51:10 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/w_gammaf_r.c b/lib/msun/src/w_gammaf_r.c index a2585cbb300a6..024c5d4cde23e 100644 --- a/lib/msun/src/w_gammaf_r.c +++ b/lib/msun/src/w_gammaf_r.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_gammaf_r.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_gammaf_r.c,v 1.2 1995/05/30 05:51:12 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_hypot.c b/lib/msun/src/w_hypot.c index 9b6f46fcf652f..77ccecc891c74 100644 --- a/lib/msun/src/w_hypot.c +++ b/lib/msun/src/w_hypot.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_hypot.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_hypot.c,v 1.2 1995/05/30 05:51:13 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_hypotf.c b/lib/msun/src/w_hypotf.c index 0b126d702cd70..030dd5dadfcb2 100644 --- a/lib/msun/src/w_hypotf.c +++ b/lib/msun/src/w_hypotf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_hypotf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_hypotf.c,v 1.2 1995/05/30 05:51:15 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_j0.c b/lib/msun/src/w_j0.c index c98038a422f49..244f2feb6af25 100644 --- a/lib/msun/src/w_j0.c +++ b/lib/msun/src/w_j0.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_j0.c,v 1.5 1997/02/22 15:12:13 peter Exp $"; +static char rcsid[] = "$Id: w_j0.c,v 1.2.6.1 1997/03/03 14:21:04 bde Exp $"; #endif /* diff --git a/lib/msun/src/w_j0f.c b/lib/msun/src/w_j0f.c index 73b10e5fa021c..da6fc6185c5b5 100644 --- a/lib/msun/src/w_j0f.c +++ b/lib/msun/src/w_j0f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_j0f.c,v 1.5 1997/02/22 15:12:14 peter Exp $"; +static char rcsid[] = "$Id: w_j0f.c,v 1.2.6.1 1997/03/03 14:21:05 bde Exp $"; #endif /* diff --git a/lib/msun/src/w_j1.c b/lib/msun/src/w_j1.c index 3ddaf34f519df..dc437393d0680 100644 --- a/lib/msun/src/w_j1.c +++ b/lib/msun/src/w_j1.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_j1.c,v 1.5 1997/02/22 15:12:15 peter Exp $"; +static char rcsid[] = "$Id: w_j1.c,v 1.2.6.1 1997/03/03 14:21:05 bde Exp $"; #endif /* diff --git a/lib/msun/src/w_j1f.c b/lib/msun/src/w_j1f.c index b750b57bb965d..c93dbd0afc32e 100644 --- a/lib/msun/src/w_j1f.c +++ b/lib/msun/src/w_j1f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_j1f.c,v 1.5 1997/02/22 15:12:16 peter Exp $"; +static char rcsid[] = "$Id: w_j1f.c,v 1.2.6.1 1997/03/03 14:21:06 bde Exp $"; #endif /* diff --git a/lib/msun/src/w_jn.c b/lib/msun/src/w_jn.c index a34299dc15271..f1bb89171ee61 100644 --- a/lib/msun/src/w_jn.c +++ b/lib/msun/src/w_jn.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_jn.c,v 1.6 1997/02/22 15:12:17 peter Exp $"; +static char rcsid[] = "$Id: w_jn.c,v 1.2.6.1 1997/03/03 14:21:06 bde Exp $"; #endif /* diff --git a/lib/msun/src/w_jnf.c b/lib/msun/src/w_jnf.c index 195395f554011..7634894cf02e9 100644 --- a/lib/msun/src/w_jnf.c +++ b/lib/msun/src/w_jnf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_jnf.c,v 1.5 1997/02/22 15:12:18 peter Exp $"; +static char rcsid[] = "$Id: w_jnf.c,v 1.2.6.1 1997/03/03 14:21:08 bde Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/w_lgamma.c b/lib/msun/src/w_lgamma.c index f15cb9d148997..ff197721a1ecc 100644 --- a/lib/msun/src/w_lgamma.c +++ b/lib/msun/src/w_lgamma.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_lgamma.c,v 1.1.1.1 1994/08/19 09:39:53 jkh Exp $"; +static char rcsid[] = "$Id: w_lgamma.c,v 1.2 1995/05/30 05:51:28 rgrimes Exp $"; #endif /* double lgamma(double x) diff --git a/lib/msun/src/w_lgamma_r.c b/lib/msun/src/w_lgamma_r.c index 2cac60c13ba51..cc0621428dee0 100644 --- a/lib/msun/src/w_lgamma_r.c +++ b/lib/msun/src/w_lgamma_r.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_lgamma_r.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: w_lgamma_r.c,v 1.2 1995/05/30 05:51:29 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_lgammaf.c b/lib/msun/src/w_lgammaf.c index e4b2aa20ee79d..02b0b6e72b6c7 100644 --- a/lib/msun/src/w_lgammaf.c +++ b/lib/msun/src/w_lgammaf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_lgammaf.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_lgammaf.c,v 1.2 1995/05/30 05:51:31 rgrimes Exp $"; #endif #include "math.h" diff --git a/lib/msun/src/w_lgammaf_r.c b/lib/msun/src/w_lgammaf_r.c index 3fd4f227c5330..067e18baea7d6 100644 --- a/lib/msun/src/w_lgammaf_r.c +++ b/lib/msun/src/w_lgammaf_r.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_lgammaf_r.c,v 1.1.1.1 1994/08/19 09:39:59 jkh Exp $"; +static char rcsid[] = "$Id: w_lgammaf_r.c,v 1.2 1995/05/30 05:51:32 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_log.c b/lib/msun/src/w_log.c index e5b8afde387f7..03f8321599685 100644 --- a/lib/msun/src/w_log.c +++ b/lib/msun/src/w_log.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_log.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: w_log.c,v 1.2 1995/05/30 05:51:33 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_log10.c b/lib/msun/src/w_log10.c index c09deeb78e3f3..2fe95b3ab1f99 100644 --- a/lib/msun/src/w_log10.c +++ b/lib/msun/src/w_log10.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_log10.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: w_log10.c,v 1.2 1995/05/30 05:51:34 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_log10f.c b/lib/msun/src/w_log10f.c index 31a94107239fb..d86014a6340fc 100644 --- a/lib/msun/src/w_log10f.c +++ b/lib/msun/src/w_log10f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_log10f.c,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $"; +static char rcsid[] = "$Id: w_log10f.c,v 1.2 1995/05/30 05:51:35 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_logf.c b/lib/msun/src/w_logf.c index 3f3f8d47aab06..fe9b5cd0a7e13 100644 --- a/lib/msun/src/w_logf.c +++ b/lib/msun/src/w_logf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_logf.c,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $"; +static char rcsid[] = "$Id: w_logf.c,v 1.2 1995/05/30 05:51:36 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_powf.c b/lib/msun/src/w_powf.c index 40fb91fc858e6..68685ae06f2fd 100644 --- a/lib/msun/src/w_powf.c +++ b/lib/msun/src/w_powf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_powf.c,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $"; +static char rcsid[] = "$Id: w_powf.c,v 1.2 1995/05/30 05:51:38 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_remainder.c b/lib/msun/src/w_remainder.c index dd0f112157141..1386f0fa9cb68 100644 --- a/lib/msun/src/w_remainder.c +++ b/lib/msun/src/w_remainder.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_remainder.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: w_remainder.c,v 1.2 1995/05/30 05:51:39 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_remainderf.c b/lib/msun/src/w_remainderf.c index a7f3e469e6cc2..fce589524009e 100644 --- a/lib/msun/src/w_remainderf.c +++ b/lib/msun/src/w_remainderf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_remainderf.c,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $"; +static char rcsid[] = "$Id: w_remainderf.c,v 1.2 1995/05/30 05:51:40 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_scalb.c b/lib/msun/src/w_scalb.c index 9e3ce15042c7e..1d79db94c6206 100644 --- a/lib/msun/src/w_scalb.c +++ b/lib/msun/src/w_scalb.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_scalb.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: w_scalb.c,v 1.2 1995/05/30 05:51:41 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_scalbf.c b/lib/msun/src/w_scalbf.c index 469525cfc17ff..f6a5a4f53c3e4 100644 --- a/lib/msun/src/w_scalbf.c +++ b/lib/msun/src/w_scalbf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_scalbf.c,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $"; +static char rcsid[] = "$Id: w_scalbf.c,v 1.2 1995/05/30 05:51:42 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_sinh.c b/lib/msun/src/w_sinh.c index 8498dbe87e330..ab311429cafa4 100644 --- a/lib/msun/src/w_sinh.c +++ b/lib/msun/src/w_sinh.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_sinh.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: w_sinh.c,v 1.2 1995/05/30 05:51:43 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_sinhf.c b/lib/msun/src/w_sinhf.c index 5f1467dc1d227..3edbd4473f9e0 100644 --- a/lib/msun/src/w_sinhf.c +++ b/lib/msun/src/w_sinhf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_sinhf.c,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $"; +static char rcsid[] = "$Id: w_sinhf.c,v 1.2 1995/05/30 05:51:44 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_sqrt.c b/lib/msun/src/w_sqrt.c index bdf97d21e086f..21672c40fdf78 100644 --- a/lib/msun/src/w_sqrt.c +++ b/lib/msun/src/w_sqrt.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_sqrt.c,v 1.1.1.1 1994/08/19 09:39:54 jkh Exp $"; +static char rcsid[] = "$Id: w_sqrt.c,v 1.2 1995/05/30 05:51:46 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_sqrtf.c b/lib/msun/src/w_sqrtf.c index 55631bff80126..7b87e6762c3c7 100644 --- a/lib/msun/src/w_sqrtf.c +++ b/lib/msun/src/w_sqrtf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: w_sqrtf.c,v 1.1.1.1 1994/08/19 09:40:00 jkh Exp $"; +static char rcsid[] = "$Id: w_sqrtf.c,v 1.2 1995/05/30 05:51:47 rgrimes Exp $"; #endif /* diff --git a/lib/msun/src/w_y0.c b/lib/msun/src/w_y0.c index 91b9760a1d8ba..071e8f4d8d62e 100644 --- a/lib/msun/src/w_y0.c +++ b/lib/msun/src/w_y0.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: w_y0.c,v 1.2 1997/02/22 15:12:36 peter Exp $"; #endif /* diff --git a/lib/msun/src/w_y0f.c b/lib/msun/src/w_y0f.c index 52ed04113bb0f..512de59fe3b8d 100644 --- a/lib/msun/src/w_y0f.c +++ b/lib/msun/src/w_y0f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: w_y0f.c,v 1.2 1997/02/22 15:12:37 peter Exp $"; #endif /* diff --git a/lib/msun/src/w_y1.c b/lib/msun/src/w_y1.c index b46d81e9282ca..f6ecd0013585b 100644 --- a/lib/msun/src/w_y1.c +++ b/lib/msun/src/w_y1.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: w_y1.c,v 1.2 1997/02/22 15:12:38 peter Exp $"; #endif /* diff --git a/lib/msun/src/w_y1f.c b/lib/msun/src/w_y1f.c index b4e4633d68acc..f5a895dd67465 100644 --- a/lib/msun/src/w_y1f.c +++ b/lib/msun/src/w_y1f.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: w_y1f.c,v 1.2 1997/02/22 15:12:39 peter Exp $"; #endif /* diff --git a/lib/msun/src/w_yn.c b/lib/msun/src/w_yn.c index af0337657bdd4..fad0f44bfac2f 100644 --- a/lib/msun/src/w_yn.c +++ b/lib/msun/src/w_yn.c @@ -11,7 +11,7 @@ */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: w_yn.c,v 1.2 1997/02/22 15:12:40 peter Exp $"; #endif /* diff --git a/lib/msun/src/w_ynf.c b/lib/msun/src/w_ynf.c index 0597b92ce2def..20f7a8f0b88d1 100644 --- a/lib/msun/src/w_ynf.c +++ b/lib/msun/src/w_ynf.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: w_ynf.c,v 1.2 1997/02/22 15:12:41 peter Exp $"; #endif #include "math.h" diff --git a/libexec/Makefile b/libexec/Makefile index f53fd6b29393e..06ad08288e2e7 100644 --- a/libexec/Makefile +++ b/libexec/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id: Makefile,v 1.20 1996/09/22 21:51:36 wosch Exp $ +# $Id: Makefile,v 1.20.2.1 1996/11/13 20:25:30 phk Exp $ SUBDIR= atrun bootpd comsat fingerd ftpd getNAME getty lfs_cleanerd \ mail.local makekey mknetid named-xfer revnetgroup rexecd rlogind \ diff --git a/libexec/atrun/LEGAL b/libexec/atrun/LEGAL index 2cd9453a7c34f..cc7421810600a 100644 --- a/libexec/atrun/LEGAL +++ b/libexec/atrun/LEGAL @@ -1,4 +1,4 @@ -# $Id$ +# $Id: LEGAL,v 1.2 1996/09/22 21:51:40 wosch Exp $ -----BEGIN PGP SIGNED MESSAGE----- diff --git a/libexec/atrun/Makefile b/libexec/atrun/Makefile index 5e47abfb82f02..62e59dea92a58 100644 --- a/libexec/atrun/Makefile +++ b/libexec/atrun/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1995/08/21 12:34:16 ache Exp $ +# $Id: Makefile,v 1.4 1995/08/29 13:42:52 ache Exp $ MAINSRC= ${.CURDIR}/../../usr.bin/at diff --git a/libexec/atrun/atrun.c b/libexec/atrun/atrun.c index 8ff1bfa0d59fa..1f01468552db9 100644 --- a/libexec/atrun/atrun.c +++ b/libexec/atrun/atrun.c @@ -71,7 +71,7 @@ /* File scope variables */ static char *namep; -static char rcsid[] = "$Id: atrun.c,v 1.5 1995/08/21 12:34:17 ache Exp $"; +static char rcsid[] = "$Id: atrun.c,v 1.6 1995/08/28 21:30:23 mpp Exp $"; static debug = 0; void perr(const char *a); diff --git a/libexec/atrun/atrun.man b/libexec/atrun/atrun.man index abce667bfacc7..2172492ab5974 100644 --- a/libexec/atrun/atrun.man +++ b/libexec/atrun/atrun.man @@ -1,4 +1,4 @@ -.\" $Id: atrun.man,v 1.1 1994/05/10 18:23:08 kernel Exp $ +.\" $Id: atrun.man,v 1.1 1995/04/12 02:52:21 ache Exp $ .Dd April 12, 1995 .Dt ATRUN 8 .Os "FreeBSD 2.1" diff --git a/libexec/atrun/gloadavg.c b/libexec/atrun/gloadavg.c index 6e996f078d58d..881c485b3eec4 100644 --- a/libexec/atrun/gloadavg.c +++ b/libexec/atrun/gloadavg.c @@ -39,7 +39,7 @@ /* File scope variables */ -static char rcsid[] = "$Id: gloadavg.c,v 1.2 1995/08/10 04:06:54 ache Exp $"; +static char rcsid[] = "$Id: gloadavg.c,v 1.1 1995/08/21 12:34:17 ache Exp $"; /* Global functions */ diff --git a/libexec/atrun/gloadavg.h b/libexec/atrun/gloadavg.h index c7e2c2c7c8ccd..e30a2687362e6 100644 --- a/libexec/atrun/gloadavg.h +++ b/libexec/atrun/gloadavg.h @@ -25,5 +25,5 @@ double gloadavg(void); #if 0 -static char atrun_h_rcsid[] = "$Id: gloadavg.h,v 1.2 1995/08/10 04:06:55 ache Exp $"; +static char atrun_h_rcsid[] = "$Id: gloadavg.h,v 1.1 1995/08/21 12:34:18 ache Exp $"; #endif diff --git a/libexec/bootpd/Announce b/libexec/bootpd/Announce index a605c6a98fdaf..591143732a028 100644 --- a/libexec/bootpd/Announce +++ b/libexec/bootpd/Announce @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Announce,v 1.2 1996/09/22 21:51:44 wosch Exp $ This is an enhanced version of the CMU BOOTP server which was derived from the original BOOTP server created by Bill Croft at Stanford. diff --git a/libexec/bootpd/Changes b/libexec/bootpd/Changes index 23310e1cf2858..44740a73fe55c 100644 --- a/libexec/bootpd/Changes +++ b/libexec/bootpd/Changes @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Changes,v 1.2 1996/09/22 21:51:47 wosch Exp $ Changes, most recent first Date, <email> Real Name diff --git a/libexec/bootpd/Makefile b/libexec/bootpd/Makefile index 06dea58ce5610..f118d3eeb9d79 100644 --- a/libexec/bootpd/Makefile +++ b/libexec/bootpd/Makefile @@ -1,5 +1,5 @@ # bootpd/Makefile -# $Id: Makefile,v 1.4 1996/01/23 01:57:58 pst Exp $ +# $Id: Makefile,v 1.5 1996/02/02 17:48:33 mpp Exp $ PROG= bootpd CFLAGS+= -DETC_ETHERS diff --git a/libexec/bootpd/Makefile.UNIX b/libexec/bootpd/Makefile.UNIX index 50187dae4588f..1c088ce63cf57 100644 --- a/libexec/bootpd/Makefile.UNIX +++ b/libexec/bootpd/Makefile.UNIX @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile.UNIX,v 1.2 1996/09/22 21:51:50 wosch Exp $ # # Makefile for the BOOTP programs: # bootpd - BOOTP server daemon diff --git a/libexec/bootpd/Makefile.inc b/libexec/bootpd/Makefile.inc index d055f527cdef8..a9ccd60f49b88 100644 --- a/libexec/bootpd/Makefile.inc +++ b/libexec/bootpd/Makefile.inc @@ -1,3 +1,3 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1996/01/23 02:22:14 pst Exp $ BINDIR?= /usr/libexec diff --git a/libexec/bootpd/Problems b/libexec/bootpd/Problems index bec9ac0faa1c6..f4acde31f8288 100644 --- a/libexec/bootpd/Problems +++ b/libexec/bootpd/Problems @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Problems,v 1.2 1996/09/22 21:51:52 wosch Exp $ Common problems and ways to work around them: diff --git a/libexec/bootpd/README b/libexec/bootpd/README index ddfaebe9bab3e..fc887c66e496b 100644 --- a/libexec/bootpd/README +++ b/libexec/bootpd/README @@ -1,4 +1,4 @@ -# $Id$ +# $Id: README,v 1.2 1996/09/22 21:51:54 wosch Exp $ This is an enhanced version of the CMU BOOTP server which was derived from the original BOOTP server created by Bill Croft at Stanford. diff --git a/libexec/bootpd/bootp.h b/libexec/bootpd/bootp.h index 23c0a2161b0bb..13246fe61bb08 100644 --- a/libexec/bootpd/bootp.h +++ b/libexec/bootpd/bootp.h @@ -23,7 +23,7 @@ SOFTWARE. /* * Bootstrap Protocol (BOOTP). RFC951 and RFC1395. * - * $Id: bootp.h $ + * $Id: bootp.h,v 1.1.1.2 1996/01/23 01:33:56 pst Exp $ * * * This file specifies the "implementation-independent" BOOTP protocol diff --git a/libexec/bootpd/bootpd.8 b/libexec/bootpd/bootpd.8 index 9bfcd3bee922b..a57520e6dd1f5 100644 --- a/libexec/bootpd/bootpd.8 +++ b/libexec/bootpd/bootpd.8 @@ -1,6 +1,6 @@ .\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University .\" -.\" $Header: /home/ncvs/src/libexec/bootpd/bootpd.8,v 1.5 1996/11/12 13:32:49 phk Exp $ +.\" $Header: /home/ncvs/src/libexec/bootpd/bootpd.8,v 1.4.2.1 1996/11/13 20:08:38 phk Exp $ .\" .TH BOOTPD 8 "November 06, 1993" "Carnegie Mellon University" .SH NAME diff --git a/libexec/bootpd/bootpd.c b/libexec/bootpd/bootpd.c index db4eecd4101fd..060895c5ed136 100644 --- a/libexec/bootpd/bootpd.c +++ b/libexec/bootpd/bootpd.c @@ -19,7 +19,7 @@ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - $Id$ + $Id: bootpd.c,v 1.4 1996/09/22 21:51:56 wosch Exp $ ************************************************************************/ diff --git a/libexec/bootpd/bootpgw/Makefile b/libexec/bootpd/bootpgw/Makefile index c000107e9a04b..ed7622927cebc 100644 --- a/libexec/bootpd/bootpgw/Makefile +++ b/libexec/bootpd/bootpgw/Makefile @@ -1,5 +1,5 @@ # Makefile -# $Id: Makefile,v 1.1.1.1 1994/09/30 05:43:13 pst Exp $ +# $Id: Makefile,v 1.1 1996/01/23 02:02:03 pst Exp $ PROG= bootpgw NOMAN= true diff --git a/libexec/bootpd/bootptab.5 b/libexec/bootpd/bootptab.5 index c79116a617b97..f5b3deb2fe8d0 100644 --- a/libexec/bootpd/bootptab.5 +++ b/libexec/bootpd/bootptab.5 @@ -1,6 +1,6 @@ .\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University .\" -.\" $Header: $ +.\" $Header: /home/ncvs/src/libexec/bootpd/bootptab.5,v 1.1.1.2 1996/01/23 01:34:00 pst Exp $ .\" .TH BOOTPTAB 5 "October 31, 1991" "Carnegie Mellon University" .UC 6 diff --git a/libexec/bootpd/bootptab.mcs b/libexec/bootpd/bootptab.mcs index a798f8afa9e17..12a468293f35d 100644 --- a/libexec/bootpd/bootptab.mcs +++ b/libexec/bootpd/bootptab.mcs @@ -2,7 +2,7 @@ # Last update: gwr, Sun Dec 12 19:00:00 EDT 1993 # Blank lines and lines beginning with '#' are ignored. # -# $Id$ +# $Id: bootptab.mcs,v 1.2 1996/09/22 21:51:59 wosch Exp $ # # Legend: (see bootptab.5) # first field -- hostname (not indented) diff --git a/libexec/bootpd/dovend.c b/libexec/bootpd/dovend.c index 447826f3ca0ee..12bc76b4e922e 100644 --- a/libexec/bootpd/dovend.c +++ b/libexec/bootpd/dovend.c @@ -1,7 +1,7 @@ /* * dovend.c : Inserts all but the first few vendor options. * - * $Id$ + * $Id: dovend.c,v 1.2 1996/09/22 21:52:04 wosch Exp $ */ #include <sys/types.h> diff --git a/libexec/bootpd/dumptab.c b/libexec/bootpd/dumptab.c index 3827fd99b00eb..8513e55c11edb 100644 --- a/libexec/bootpd/dumptab.c +++ b/libexec/bootpd/dumptab.c @@ -1,7 +1,7 @@ /* * dumptab.c - handles dumping the database * - * $Id$ + * $Id: dumptab.c,v 1.2 1996/09/22 21:52:07 wosch Exp $ */ #include <sys/types.h> diff --git a/libexec/bootpd/getether.c b/libexec/bootpd/getether.c index c396c8125484b..87d2cb2dd4b85 100644 --- a/libexec/bootpd/getether.c +++ b/libexec/bootpd/getether.c @@ -7,7 +7,7 @@ * If you figure out how to do this on another system, * please let me know. <gwr@mc.com> * - * $Id$ + * $Id: getether.c,v 1.4 1996/09/22 21:52:09 wosch Exp $ */ #include <sys/types.h> diff --git a/libexec/bootpd/getif.c b/libexec/bootpd/getif.c index eeff50f081d23..bc4ae61883d88 100644 --- a/libexec/bootpd/getif.c +++ b/libexec/bootpd/getif.c @@ -1,7 +1,7 @@ /* * getif.c : get an interface structure * - * $Id$ + * $Id: getif.c,v 1.3 1996/09/22 21:52:12 wosch Exp $ */ #include <sys/types.h> diff --git a/libexec/bootpd/hash.c b/libexec/bootpd/hash.c index f9597513f8b9c..7ffbb86e9ea88 100644 --- a/libexec/bootpd/hash.c +++ b/libexec/bootpd/hash.c @@ -19,7 +19,7 @@ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - $Id$ + $Id: hash.c,v 1.2 1996/09/22 21:52:14 wosch Exp $ ************************************************************************/ diff --git a/libexec/bootpd/hwaddr.c b/libexec/bootpd/hwaddr.c index bc41cff2d7e69..76d75dc04e596 100644 --- a/libexec/bootpd/hwaddr.c +++ b/libexec/bootpd/hwaddr.c @@ -2,7 +2,7 @@ * hwaddr.c - routines that deal with hardware addresses. * (i.e. Ethernet) * - * $Id$ + * $Id: hwaddr.c,v 1.3 1996/09/22 21:52:16 wosch Exp $ */ #include <sys/types.h> diff --git a/libexec/bootpd/hwaddr.h b/libexec/bootpd/hwaddr.h index b0a8c290801be..63ccd4979ff15 100644 --- a/libexec/bootpd/hwaddr.h +++ b/libexec/bootpd/hwaddr.h @@ -1,7 +1,7 @@ /* * hwaddr.h * - * $Id$ + * $Id: hwaddr.h,v 1.2 1996/09/22 21:52:19 wosch Exp $ */ #ifndef HWADDR_H diff --git a/libexec/bootpd/lookup.c b/libexec/bootpd/lookup.c index ed1a27cbe2cf9..9692b9dfc789e 100644 --- a/libexec/bootpd/lookup.c +++ b/libexec/bootpd/lookup.c @@ -1,7 +1,7 @@ /* * lookup.c - Lookup IP address, HW address, netmask * - * $Id$ + * $Id: lookup.c,v 1.2 1996/09/22 21:52:21 wosch Exp $ */ #include <sys/types.h> diff --git a/libexec/bootpd/patchlevel.h b/libexec/bootpd/patchlevel.h index 85566b5015a97..3a161a2fadef0 100644 --- a/libexec/bootpd/patchlevel.h +++ b/libexec/bootpd/patchlevel.h @@ -1,7 +1,7 @@ /* * patchlevel.h * - * $Id$ + * $Id: patchlevel.h,v 1.2 1996/09/22 21:52:23 wosch Exp $ */ #define VERSION "2.4" diff --git a/libexec/bootpd/readfile.c b/libexec/bootpd/readfile.c index 8dfd43023d0ba..6c7e7cea3bb0c 100644 --- a/libexec/bootpd/readfile.c +++ b/libexec/bootpd/readfile.c @@ -19,7 +19,7 @@ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - $Id$ + $Id: readfile.c,v 1.2 1996/09/22 21:52:26 wosch Exp $ ************************************************************************/ diff --git a/libexec/bootpd/rtmsg.c b/libexec/bootpd/rtmsg.c index 5942b22d13f4e..96801ffdf323e 100644 --- a/libexec/bootpd/rtmsg.c +++ b/libexec/bootpd/rtmsg.c @@ -39,7 +39,7 @@ /* * from arp.c 8.2 (Berkeley) 1/2/94 - * $Id: rtmsg.c,v 1.3 1995/01/30 11:11:43 dfr Exp $ + * $Id: rtmsg.c,v 1.4 1995/05/30 05:45:49 rgrimes Exp $ */ #include <sys/param.h> diff --git a/libexec/bootpd/tools/Makefile b/libexec/bootpd/tools/Makefile index b1f38e76ecbd0..625bdee24b1b5 100644 --- a/libexec/bootpd/tools/Makefile +++ b/libexec/bootpd/tools/Makefile @@ -1,5 +1,5 @@ # Makefile -# $Id$ +# $Id: Makefile,v 1.1.1.1 1994/09/30 05:45:07 pst Exp $ SUBDIR= bootpef bootptest diff --git a/libexec/bootpd/tools/Makefile.inc b/libexec/bootpd/tools/Makefile.inc index 0a2ab66f28f43..38b150a650860 100644 --- a/libexec/bootpd/tools/Makefile.inc +++ b/libexec/bootpd/tools/Makefile.inc @@ -1,4 +1,4 @@ # Makefile.inc -# $Id$ +# $Id: Makefile.inc,v 1.1.1.1 1994/09/30 05:45:07 pst Exp $ BINDIR=/usr/sbin diff --git a/libexec/bootpd/tools/bootpef/Makefile b/libexec/bootpd/tools/bootpef/Makefile index 7d176069a8d6d..eb0c4a5ef87f1 100644 --- a/libexec/bootpd/tools/bootpef/Makefile +++ b/libexec/bootpd/tools/bootpef/Makefile @@ -1,5 +1,5 @@ # Makefile -# $Id$ +# $Id: Makefile,v 1.1.1.1 1994/09/30 05:45:07 pst Exp $ PROG= bootpef MAN8= bootpef.8 diff --git a/libexec/bootpd/tools/bootpef/bootpef.c b/libexec/bootpd/tools/bootpef/bootpef.c index c7e927687dbfd..63f5c43b5a7ba 100644 --- a/libexec/bootpd/tools/bootpef/bootpef.c +++ b/libexec/bootpd/tools/bootpef/bootpef.c @@ -19,7 +19,7 @@ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - $Id$ + $Id: bootpef.c,v 1.2 1996/09/22 21:52:51 wosch Exp $ ************************************************************************/ diff --git a/libexec/bootpd/tools/bootptest/Makefile b/libexec/bootpd/tools/bootptest/Makefile index d137e736ab12d..95f99f1e112d5 100644 --- a/libexec/bootpd/tools/bootptest/Makefile +++ b/libexec/bootpd/tools/bootptest/Makefile @@ -1,5 +1,5 @@ # Makefile -# $Id: Makefile,v 1.2 1995/05/30 05:45:51 rgrimes Exp $ +# $Id: Makefile,v 1.3 1995/09/28 17:33:16 bde Exp $ PROG= bootptest MAN8= bootptest.8 diff --git a/libexec/bootpd/tools/bootptest/bootptest.c b/libexec/bootpd/tools/bootptest/bootptest.c index 2e2311284fc20..482b3ad51840b 100644 --- a/libexec/bootpd/tools/bootptest/bootptest.c +++ b/libexec/bootpd/tools/bootptest/bootptest.c @@ -31,7 +31,7 @@ * 09/28/93 Released version 1.0 * 09/93 Original developed by Gordon W. Ross <gwr@mc.com> * - * $Id$ + * $Id: bootptest.c,v 1.2 1996/09/22 21:52:55 wosch Exp $ */ char *usage = "bootptest [-h] server-name [vendor-data-template-file]"; diff --git a/libexec/bootpd/tools/bootptest/print-bootp.c b/libexec/bootpd/tools/bootptest/print-bootp.c index 8390321912a39..94d8badf7fefc 100644 --- a/libexec/bootpd/tools/bootptest/print-bootp.c +++ b/libexec/bootpd/tools/bootptest/print-bootp.c @@ -23,7 +23,7 @@ * This file was copied from tcpdump-2.1.1 and modified. * There is an e-mail list for tcpdump: <tcpdump@ee.lbl.gov> * - * $Id$ + * $Id: print-bootp.c,v 1.2 1996/09/22 21:52:58 wosch Exp $ */ #include <stdio.h> diff --git a/libexec/bootpd/trygetea.c b/libexec/bootpd/trygetea.c index 41800d78c1260..e312e62b2b2e0 100644 --- a/libexec/bootpd/trygetea.c +++ b/libexec/bootpd/trygetea.c @@ -1,7 +1,7 @@ /* * trygetea.c - test program for getether.c * - * $Id$ + * $Id: trygetea.c,v 1.2 1996/09/22 21:52:29 wosch Exp $ */ #include <sys/types.h> diff --git a/libexec/bootpd/trygetif.c b/libexec/bootpd/trygetif.c index e6226dcb9ef01..c0ea239df3d28 100644 --- a/libexec/bootpd/trygetif.c +++ b/libexec/bootpd/trygetif.c @@ -1,7 +1,7 @@ /* * trygetif.c - test program for getif.c * - * $Id$ + * $Id: trygetif.c,v 1.2 1996/09/22 21:52:31 wosch Exp $ */ #include <sys/types.h> diff --git a/libexec/bootpd/trylook.c b/libexec/bootpd/trylook.c index 0681dceebbc44..64420d9f57548 100644 --- a/libexec/bootpd/trylook.c +++ b/libexec/bootpd/trylook.c @@ -1,7 +1,7 @@ /* * trylook.c - test program for lookup.c * - * $Id$ + * $Id: trylook.c,v 1.2 1996/09/22 21:52:35 wosch Exp $ */ #include <sys/types.h> diff --git a/libexec/comsat/Makefile b/libexec/comsat/Makefile index 7352ab55103a2..68564078e9e21 100644 --- a/libexec/comsat/Makefile +++ b/libexec/comsat/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile,v 1.3 1996/09/22 21:53:03 wosch Exp $ PROG= comsat MAN8= comsat.8 diff --git a/libexec/comsat/comsat.8 b/libexec/comsat/comsat.8 index 916d1c90d0640..4c052b34b7fab 100644 --- a/libexec/comsat/comsat.8 +++ b/libexec/comsat/comsat.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)comsat.8 8.1 (Berkeley) 6/4/93 -.\" $Id$ +.\" $Id: comsat.8,v 1.3 1996/09/22 21:53:05 wosch Exp $ .\" .Dd June 4, 1993 .Dt COMSAT 8 diff --git a/libexec/comsat/comsat.c b/libexec/comsat/comsat.c index c3b876a77765d..f34877e61b033 100644 --- a/libexec/comsat/comsat.c +++ b/libexec/comsat/comsat.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: comsat.c,v 1.6 1996/09/22 21:53:07 wosch Exp $ */ #ifndef lint diff --git a/libexec/fingerd/Makefile b/libexec/fingerd/Makefile index 4deac6475ff24..e55d61d6191a6 100644 --- a/libexec/fingerd/Makefile +++ b/libexec/fingerd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile,v 1.3 1996/09/22 21:53:17 wosch Exp $ PROG= fingerd MAN8= fingerd.8 diff --git a/libexec/fingerd/fingerd.c b/libexec/fingerd/fingerd.c index 455d6e988ce6f..f83422761cf7b 100644 --- a/libexec/fingerd/fingerd.c +++ b/libexec/fingerd/fingerd.c @@ -42,7 +42,7 @@ static char copyright[] = static char sccsid[] = "@(#)fingerd.c 8.1 (Berkeley) 6/4/93"; */ static const char rcsid[] = - "$Id$"; + "$Id: fingerd.c,v 1.5 1995/12/17 20:25:28 wollman Exp $"; #endif /* not lint */ #include <sys/types.h> diff --git a/libexec/ftpd/Makefile b/libexec/ftpd/Makefile index 75df272ae1840..92fc686f76697 100644 --- a/libexec/ftpd/Makefile +++ b/libexec/ftpd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 4/4/94 -# $Id$ +# $Id: Makefile,v 1.17 1996/08/09 09:02:24 markm Exp $ PROG= ftpd MAN8= ftpd.8 diff --git a/libexec/ftpd/extern.h b/libexec/ftpd/extern.h index f5878664b4d31..fc1a80822e1f7 100644 --- a/libexec/ftpd/extern.h +++ b/libexec/ftpd/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.2 (Berkeley) 4/4/94 - * $Id: extern.h,v 1.4 1996/09/22 21:53:21 wosch Exp $ + * $Id: extern.h,v 1.6 1996/10/18 17:09:24 ache Exp $ */ void blkfree __P((char **)); diff --git a/libexec/ftpd/ftpcmd.y b/libexec/ftpd/ftpcmd.y index 5951e7099e11c..dfc40a0cdd9ef 100644 --- a/libexec/ftpd/ftpcmd.y +++ b/libexec/ftpd/ftpcmd.y @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ftpcmd.y 8.3 (Berkeley) 4/6/94 - * $Id$ + * $Id: ftpcmd.y,v 1.8 1996/09/22 21:53:23 wosch Exp $ */ /* diff --git a/libexec/ftpd/ftpd.8 b/libexec/ftpd/ftpd.8 index 6c8203403571d..b4ae4795b5633 100644 --- a/libexec/ftpd/ftpd.8 +++ b/libexec/ftpd/ftpd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94 -.\" $Id: ftpd.8,v 1.11 1997/01/11 20:17:05 mpp Exp $ +.\" $Id: ftpd.8,v 1.9.2.2 1997/01/11 20:20:08 mpp Exp $ .\" .Dd April 19, 1994 .Dt FTPD 8 diff --git a/libexec/ftpd/ftpd.c b/libexec/ftpd/ftpd.c index 8438fdbf98356..333a990b97d9b 100644 --- a/libexec/ftpd/ftpd.c +++ b/libexec/ftpd/ftpd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ftpd.c,v 1.25.2.3 1997/01/28 07:15:44 davidg Exp $ + * $Id: ftpd.c,v 1.25.2.4 1997/02/13 20:07:16 guido Exp $ */ #if 0 diff --git a/libexec/ftpd/logwtmp.c b/libexec/ftpd/logwtmp.c index 9562795fa8c3c..96b5043adf6f1 100644 --- a/libexec/ftpd/logwtmp.c +++ b/libexec/ftpd/logwtmp.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: logwtmp.c,v 1.3 1996/09/22 21:53:28 wosch Exp $ */ #ifndef lint diff --git a/libexec/ftpd/pathnames.h b/libexec/ftpd/pathnames.h index 8842742acfe25..69dc152f73ddc 100644 --- a/libexec/ftpd/pathnames.h +++ b/libexec/ftpd/pathnames.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)pathnames.h 8.1 (Berkeley) 6/4/93 - * $Id$ + * $Id: pathnames.h,v 1.6 1996/09/22 21:53:30 wosch Exp $ */ #include <paths.h> diff --git a/libexec/ftpd/popen.c b/libexec/ftpd/popen.c index 2026c41c58aaa..0283193487636 100644 --- a/libexec/ftpd/popen.c +++ b/libexec/ftpd/popen.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: popen.c,v 1.4 1996/09/22 21:53:32 wosch Exp $ + * $Id: popen.c,v 1.4.2.1 1996/11/21 16:35:53 phk Exp $ */ #if 0 diff --git a/libexec/ftpd/skey-stuff.c b/libexec/ftpd/skey-stuff.c index 98542e154ac50..0e1719c0c42f3 100644 --- a/libexec/ftpd/skey-stuff.c +++ b/libexec/ftpd/skey-stuff.c @@ -1,6 +1,6 @@ /* Author: Wietse Venema, Eindhoven University of Technology. * - * $Id: skey-stuff.c,v 1.3 1996/09/22 21:53:34 wosch Exp $ + * $Id: skey-stuff.c,v 1.6 1996/10/18 17:09:26 ache Exp $ */ #include <stdio.h> diff --git a/libexec/getNAME/Makefile b/libexec/getNAME/Makefile index 3efe56d44e903..86a81d04ced6d 100644 --- a/libexec/getNAME/Makefile +++ b/libexec/getNAME/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id: $ +# $Id: Makefile,v 1.2 1996/07/08 20:17:38 wosch Exp $ PROG= getNAME diff --git a/libexec/getNAME/getNAME.1 b/libexec/getNAME/getNAME.1 index 28d0ab2059c57..b40bba4dd664a 100644 --- a/libexec/getNAME/getNAME.1 +++ b/libexec/getNAME/getNAME.1 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: getNAME.1,v 1.2 1996/08/23 00:55:59 mpp Exp $ +.\" $Id: getNAME.1,v 1.3 1996/08/27 20:04:12 wosch Exp $ .Dd July 8, 1996 .Dt getNAME 1 diff --git a/libexec/getNAME/getNAME.c b/libexec/getNAME/getNAME.c index cab9bb83fd5a4..4cf80b1259cd7 100644 --- a/libexec/getNAME/getNAME.c +++ b/libexec/getNAME/getNAME.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: $ + * $Id: getNAME.c,v 1.2 1996/07/08 20:17:42 wosch Exp $ * */ diff --git a/libexec/getty/Makefile b/libexec/getty/Makefile index 96f7f7ed17b52..189e850ad7f47 100644 --- a/libexec/getty/Makefile +++ b/libexec/getty/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id: Makefile,v 1.1.1.2 1996/04/13 15:33:02 joerg Exp $ +# $Id: Makefile,v 1.5 1996/05/05 19:01:06 joerg Exp $ PROG= getty SRCS= main.c init.c subr.c diff --git a/libexec/getty/extern.h b/libexec/getty/extern.h index bcffdae3d04dc..74af6ea8b07c3 100644 --- a/libexec/getty/extern.h +++ b/libexec/getty/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)extern.h 8.1 (Berkeley) 6/4/93 - * $Id: extern.h,v 1.1.1.4 1996/04/13 15:33:04 joerg Exp $ + * $Id: extern.h,v 1.2 1996/05/05 19:01:07 joerg Exp $ */ struct delayval; diff --git a/libexec/getty/getty.8 b/libexec/getty/getty.8 index bc0e05082fe97..cdcb8e619523a 100644 --- a/libexec/getty/getty.8 +++ b/libexec/getty/getty.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)getty.8 8.1 (Berkeley) 6/4/93 -.\" $Id: getty.8,v 1.1.1.2 1996/04/13 15:33:06 joerg Exp $ +.\" $Id: getty.8,v 1.4 1996/05/05 19:01:07 joerg Exp $ .\" " .Dd June 4, 1993 .Dt GETTY 8 diff --git a/libexec/getty/gettytab.5 b/libexec/getty/gettytab.5 index 87f283242c5ae..1f90658f759c2 100644 --- a/libexec/getty/gettytab.5 +++ b/libexec/getty/gettytab.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)gettytab.5 8.4 (Berkeley) 4/19/94 -.\" $Id: gettytab.5,v 1.7.2.2 1996/12/22 23:05:11 mpp Exp $ +.\" $Id: gettytab.5,v 1.7.2.3 1996/12/31 05:50:26 msmith Exp $ .\" " .Dd April 19, 1994 .Dt GETTYTAB 5 diff --git a/libexec/getty/gettytab.h b/libexec/getty/gettytab.h index 92ec3d2d2a2a2..0bfeb2671cb4a 100644 --- a/libexec/getty/gettytab.h +++ b/libexec/getty/gettytab.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)gettytab.h 8.2 (Berkeley) 3/30/94 - * $Id: gettytab.h,v 1.3.2.1 1996/11/16 21:07:00 phk Exp $ + * $Id: gettytab.h,v 1.3.2.2 1996/12/31 05:50:27 msmith Exp $ */ /* diff --git a/libexec/getty/init.c b/libexec/getty/init.c index 0390f293a1a0f..c60fe1e7a8401 100644 --- a/libexec/getty/init.c +++ b/libexec/getty/init.c @@ -33,7 +33,7 @@ #ifndef lint /*static char sccsid[] = "from: @(#)init.c 8.1 (Berkeley) 6/4/93";*/ -static char rcsid[] = "$Id: init.c,v 1.3.2.1 1996/11/16 21:07:02 phk Exp $"; +static char rcsid[] = "$Id: init.c,v 1.3.2.2 1996/12/31 05:50:28 msmith Exp $"; #endif /* not lint */ /* diff --git a/libexec/getty/main.c b/libexec/getty/main.c index 0c52e28f847f7..4dea38a9966a7 100644 --- a/libexec/getty/main.c +++ b/libexec/getty/main.c @@ -39,7 +39,7 @@ static char copyright[] = #ifndef lint /*static char sccsid[] = "from: @(#)main.c 8.1 (Berkeley) 6/20/93";*/ -static char rcsid[] = "$Id: main.c,v 1.10.2.1 1996/11/16 21:07:03 phk Exp $"; +static char rcsid[] = "$Id: main.c,v 1.10.2.2 1996/12/31 05:50:28 msmith Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/libexec/getty/pathnames.h b/libexec/getty/pathnames.h index c3a0711f4b36f..27dbb3cb5f30a 100644 --- a/libexec/getty/pathnames.h +++ b/libexec/getty/pathnames.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)pathnames.h 8.1 (Berkeley) 6/4/93 - * $Id: pathnames.h,v 1.1.1.2 1996/04/13 15:33:13 joerg Exp $ + * $Id: pathnames.h,v 1.4 1996/05/05 19:01:11 joerg Exp $ */ #include <paths.h> diff --git a/libexec/getty/subr.c b/libexec/getty/subr.c index 171860552c711..5b27a53853692 100644 --- a/libexec/getty/subr.c +++ b/libexec/getty/subr.c @@ -33,7 +33,7 @@ #ifndef lint /*static char sccsid[] = "from: @(#)subr.c 8.1 (Berkeley) 6/4/93";*/ -static char rcsid[] = "$Id: subr.c,v 1.1.1.2 1996/04/13 15:33:14 joerg Exp $"; +static char rcsid[] = "$Id: subr.c,v 1.6 1996/05/05 19:01:11 joerg Exp $"; #endif /* not lint */ /* diff --git a/libexec/getty/ttys.5 b/libexec/getty/ttys.5 index 7b655265da3fb..f712b8462135d 100644 --- a/libexec/getty/ttys.5 +++ b/libexec/getty/ttys.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)ttys.5 8.1 (Berkeley) 6/4/93 -.\" $Id: ttys.5,v 1.1.1.2 1996/04/13 15:33:16 joerg Exp $ +.\" $Id: ttys.5,v 1.3 1996/05/05 19:01:13 joerg Exp $ .\" " .Dd June 4, 1993 .Dt TTYS 5 diff --git a/libexec/lfs_cleanerd/Makefile b/libexec/lfs_cleanerd/Makefile index cda92366f479f..0cc76a52da687 100644 --- a/libexec/lfs_cleanerd/Makefile +++ b/libexec/lfs_cleanerd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id$ +# $Id: Makefile,v 1.5 1996/09/22 21:53:40 wosch Exp $ PROG= lfs_cleanerd CFLAGS+=-I/sys/ufs/lfs -I${.CURDIR} ${DEBUG} diff --git a/libexec/lfs_cleanerd/clean.h b/libexec/lfs_cleanerd/clean.h index b28cffe10ba7f..61a3a7554d583 100644 --- a/libexec/lfs_cleanerd/clean.h +++ b/libexec/lfs_cleanerd/clean.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)clean.h 8.1 (Berkeley) 6/4/93 - * $Id$ + * $Id: clean.h,v 1.4 1996/09/22 21:53:42 wosch Exp $ */ /* diff --git a/libexec/lfs_cleanerd/cleanerd.c b/libexec/lfs_cleanerd/cleanerd.c index 44bd70236917f..e1afab1a9d953 100644 --- a/libexec/lfs_cleanerd/cleanerd.c +++ b/libexec/lfs_cleanerd/cleanerd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: cleanerd.c,v 1.4 1996/09/22 21:53:45 wosch Exp $ */ #ifndef lint diff --git a/libexec/lfs_cleanerd/lfs_cleanerd.8 b/libexec/lfs_cleanerd/lfs_cleanerd.8 index 2163de6e04d0e..40629d6bad955 100644 --- a/libexec/lfs_cleanerd/lfs_cleanerd.8 +++ b/libexec/lfs_cleanerd/lfs_cleanerd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)lfs_cleanerd.8 8.2 (Berkeley) 12/11/93 -.\" $Id$ +.\" $Id: lfs_cleanerd.8,v 1.3 1996/09/22 21:53:50 wosch Exp $ .\" .Dd "December 11, 1993" .Dt LFS_CLEANERD 8 diff --git a/libexec/lfs_cleanerd/library.c b/libexec/lfs_cleanerd/library.c index 0901030e29615..726e79f7b3e7b 100644 --- a/libexec/lfs_cleanerd/library.c +++ b/libexec/lfs_cleanerd/library.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: library.c,v 1.4 1996/09/22 21:53:52 wosch Exp $ */ #ifndef lint diff --git a/libexec/lfs_cleanerd/print.c b/libexec/lfs_cleanerd/print.c index 8468f123efe0c..f3939e615ef08 100644 --- a/libexec/lfs_cleanerd/print.c +++ b/libexec/lfs_cleanerd/print.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: print.c,v 1.3 1996/09/22 21:53:55 wosch Exp $ */ #ifndef lint diff --git a/libexec/mail.local/Makefile b/libexec/mail.local/Makefile index 59eaed29c3373..b9f3d3c4328b8 100644 --- a/libexec/mail.local/Makefile +++ b/libexec/mail.local/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 7/19/93 -# $Id$ +# $Id: Makefile,v 1.5 1996/09/22 21:54:03 wosch Exp $ PROG= mail.local MAN8= mail.local.8 diff --git a/libexec/mail.local/mail.local.8 b/libexec/mail.local/mail.local.8 index 8ffd5357ddf46..536bf0b78852d 100644 --- a/libexec/mail.local/mail.local.8 +++ b/libexec/mail.local/mail.local.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mail.local.8 8.2 (Berkeley) 12/11/93 -.\" $Id$ +.\" $Id: mail.local.8,v 1.4 1996/09/22 21:54:05 wosch Exp $ .\" .Dd December 11, 1993 .Dt MAIL.LOCAL 8 diff --git a/libexec/mail.local/mail.local.c b/libexec/mail.local/mail.local.c index 865fe20d707f7..14f3457484bd3 100644 --- a/libexec/mail.local/mail.local.c +++ b/libexec/mail.local/mail.local.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mail.local.c,v 1.9 1996/09/22 21:54:07 wosch Exp $ + * $Id: mail.local.c,v 1.10 1996/10/23 05:05:32 scrappy Exp $ */ #ifndef lint diff --git a/libexec/makekey/Makefile b/libexec/makekey/Makefile index 2ec0edde9e0f3..2b390fe384cb8 100644 --- a/libexec/makekey/Makefile +++ b/libexec/makekey/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile,v 1.6 1996/09/22 21:54:11 wosch Exp $ PROG= makekey MAN8= makekey.8 diff --git a/libexec/makekey/makekey.8 b/libexec/makekey/makekey.8 index dc367bf50f57a..be98a3705a929 100644 --- a/libexec/makekey/makekey.8 +++ b/libexec/makekey/makekey.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)makekey.8 8.2 (Berkeley) 12/11/93 -.\" $Id$ +.\" $Id: makekey.8,v 1.5 1996/09/22 21:54:13 wosch Exp $ .\" .Dd December 11, 1993 .Dt MAKEKEY 8 diff --git a/libexec/makekey/makekey.c b/libexec/makekey/makekey.c index 482908d75362f..ea968fef493f5 100644 --- a/libexec/makekey/makekey.c +++ b/libexec/makekey/makekey.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: makekey.c,v 1.4 1996/09/22 21:54:15 wosch Exp $ */ #ifndef lint diff --git a/libexec/mknetid/Makefile b/libexec/mknetid/Makefile index 9a3e82bf61bd6..5e81552538998 100644 --- a/libexec/mknetid/Makefile +++ b/libexec/mknetid/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1996/06/24 00:05:28 wpaul Exp $ +# $Id: Makefile,v 1.1.1.1 1996/06/25 20:26:38 wpaul Exp $ PROG= mknetid SRCS= mknetid.c hash.c parse_group.c diff --git a/libexec/mknetid/hash.c b/libexec/mknetid/hash.c index ec4167279ee31..b1afcc4798583 100644 --- a/libexec/mknetid/hash.c +++ b/libexec/mknetid/hash.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: hash.c,v 1.3 1996/06/24 22:48:50 wpaul Exp $ + * $Id: hash.c,v 1.1.1.1 1996/06/25 20:26:38 wpaul Exp $ */ #include <stdio.h> @@ -39,7 +39,7 @@ #include "hash.h" #ifndef lint -static const char rcsid[] = "$Id: hash.c,v 1.3 1996/06/24 22:48:50 wpaul Exp $"; +static const char rcsid[] = "$Id: hash.c,v 1.1.1.1 1996/06/25 20:26:38 wpaul Exp $"; #endif diff --git a/libexec/mknetid/hash.h b/libexec/mknetid/hash.h index 58c64d267e03b..ba293131c9e22 100644 --- a/libexec/mknetid/hash.h +++ b/libexec/mknetid/hash.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: hash.h,v 1.1.1.1 1996/06/25 20:26:38 wpaul Exp $ + * $Id: hash.h,v 1.2 1996/06/27 05:42:00 wpaul Exp $ */ /* Groupid entry hung off a member_entry node. */ diff --git a/libexec/mknetid/mknetid.8 b/libexec/mknetid/mknetid.8 index f246418ab95da..5dfd8e865692b 100644 --- a/libexec/mknetid/mknetid.8 +++ b/libexec/mknetid/mknetid.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: mknetid.8,v 1.2 1996/06/25 02:53:44 wpaul Exp $ +.\" $Id: mknetid.8,v 1.1.1.1 1996/06/25 20:26:38 wpaul Exp $ .\" .Dd June 23, 1996 .Dt MKNETID 8 diff --git a/libexec/mknetid/mknetid.c b/libexec/mknetid/mknetid.c index 02b4db5a5406b..d1c9ad1ed3203 100644 --- a/libexec/mknetid/mknetid.c +++ b/libexec/mknetid/mknetid.c @@ -35,7 +35,7 @@ * Center for Telecommunications Research * Columbia University, New York City * - * $Id: mknetid.c,v 1.3 1996/07/12 05:55:38 bde Exp $ + * $Id: mknetid.c,v 1.4 1996/10/24 03:33:32 wpaul Exp $ */ #include <sys/types.h> @@ -55,7 +55,7 @@ #include "hash.h" #ifndef lint -static const char rcsid[] = "$Id: mknetid.c,v 1.3 1996/07/12 05:55:38 bde Exp $"; +static const char rcsid[] = "$Id: mknetid.c,v 1.4 1996/10/24 03:33:32 wpaul Exp $"; #endif #define LINSIZ 1024 diff --git a/libexec/mknetid/parse_group.c b/libexec/mknetid/parse_group.c index 9f6709c44329f..88883fe1af7f5 100644 --- a/libexec/mknetid/parse_group.c +++ b/libexec/mknetid/parse_group.c @@ -36,7 +36,7 @@ static const char sccsid[] = "@(#)getgrent.c 8.2 (Berkeley) 3/21/94"; #endif /* LIBC_SCCS and not lint */ #ifndef lint -static const char rcsid[] = "$Id: parse_group.c,v 1.5 1996/06/24 00:12:09 wpaul Exp $"; +static const char rcsid[] = "$Id: parse_group.c,v 1.1.1.1 1996/06/25 20:26:38 wpaul Exp $"; #endif /* diff --git a/libexec/named-xfer/Makefile b/libexec/named-xfer/Makefile index 3f2a4abe0a7e2..3b8c53035516e 100644 --- a/libexec/named-xfer/Makefile +++ b/libexec/named-xfer/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1996/09/01 00:53:45 ache Exp $ +# $Id: Makefile,v 1.2.2.1 1996/11/28 21:51:40 phk Exp $ .include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" diff --git a/libexec/rbootd/Makefile b/libexec/rbootd/Makefile index dfb087004e34b..5bc2bb2ac1fcf 100644 --- a/libexec/rbootd/Makefile +++ b/libexec/rbootd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile,v 1.5 1996/09/22 21:54:19 wosch Exp $ PROG= rbootd SRCS= bpf.c conf.c parseconf.c rbootd.c rmpproto.c utils.c diff --git a/libexec/rbootd/bpf.c b/libexec/rbootd/bpf.c index c39150cae4494..e297294d0e04f 100644 --- a/libexec/rbootd/bpf.c +++ b/libexec/rbootd/bpf.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)bpf.c 8.1 (Berkeley) 6/4/93 - * $Id$ + * $Id: bpf.c,v 1.3 1996/09/22 21:54:25 wosch Exp $ * * Utah $Hdr: bpf.c 3.1 92/07/06$ * Author: Jeff Forys, University of Utah CSS diff --git a/libexec/rbootd/parseconf.c b/libexec/rbootd/parseconf.c index 7d7bce246b814..d5aca8862536a 100644 --- a/libexec/rbootd/parseconf.c +++ b/libexec/rbootd/parseconf.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)parseconf.c 8.1 (Berkeley) 6/4/93 - * $Id$ + * $Id: parseconf.c,v 1.3 1996/09/22 21:54:27 wosch Exp $ * * Utah $Hdr: parseconf.c 3.1 92/07/06$ * Author: Jeff Forys, University of Utah CSS diff --git a/libexec/rbootd/rbootd.8 b/libexec/rbootd/rbootd.8 index 8b2a281359a56..e795e5fee288d 100644 --- a/libexec/rbootd/rbootd.8 +++ b/libexec/rbootd/rbootd.8 @@ -38,7 +38,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rbootd.8 8.2 (Berkeley) 12/11/93 -.\" $Id$ +.\" $Id: rbootd.8,v 1.3 1996/09/22 21:54:30 wosch Exp $ .\" .\" Utah $Hdr: rbootd.man 3.1 92/07/06$ .\" Author: Jeff Forys, University of Utah CSS diff --git a/libexec/rbootd/rbootd.c b/libexec/rbootd/rbootd.c index c889d921d4880..557d3c039871f 100644 --- a/libexec/rbootd/rbootd.c +++ b/libexec/rbootd/rbootd.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)rbootd.c 8.2 (Berkeley) 2/22/94 - * $Id$ + * $Id: rbootd.c,v 1.3 1996/09/22 21:54:32 wosch Exp $ * * Utah $Hdr: rbootd.c 3.1 92/07/06$ * Author: Jeff Forys, University of Utah CSS diff --git a/libexec/revnetgroup/Makefile b/libexec/revnetgroup/Makefile index dec0e7b8e6535..c0d32c6833762 100644 --- a/libexec/revnetgroup/Makefile +++ b/libexec/revnetgroup/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.1.1 1995/10/26 16:25:29 wpaul Exp $ PROG= revnetgroup SRCS= revnetgroup.c hash.c parse_netgroup.c diff --git a/libexec/revnetgroup/hash.c b/libexec/revnetgroup/hash.c index 1469fcf7aab4d..04f2b7b459350 100644 --- a/libexec/revnetgroup/hash.c +++ b/libexec/revnetgroup/hash.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: hash.c,v 1.1.1.1 1995/10/26 16:25:29 wpaul Exp $ + * $Id: hash.c,v 1.2 1996/05/12 17:17:40 wpaul Exp $ */ #include <stdio.h> @@ -39,7 +39,7 @@ #include "hash.h" #ifndef lint -static const char rcsid[] = "$Id$"; +static const char rcsid[] = "$Id: hash.c,v 1.2 1996/05/12 17:17:40 wpaul Exp $"; #endif /* diff --git a/libexec/revnetgroup/hash.h b/libexec/revnetgroup/hash.h index a8ad74720e895..65c401d8ddf9b 100644 --- a/libexec/revnetgroup/hash.h +++ b/libexec/revnetgroup/hash.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: hash.h,v 1.2 1996/05/12 17:17:42 wpaul Exp $ + * $Id: hash.h,v 1.2.2.1 1996/12/22 15:13:02 joerg Exp $ */ /* Groupname entry hung off a member_entry node. */ diff --git a/libexec/revnetgroup/parse_netgroup.c b/libexec/revnetgroup/parse_netgroup.c index 7e7d824908276..5ab72a227cdb8 100644 --- a/libexec/revnetgroup/parse_netgroup.c +++ b/libexec/revnetgroup/parse_netgroup.c @@ -35,7 +35,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "$Id: parse_netgroup.c,v 1.2 1996/05/12 17:17:44 wpaul Exp $"; +static char sccsid[] = "$Id: parse_netgroup.c,v 1.2.2.1 1996/12/22 15:13:03 joerg Exp $"; #endif /* LIBC_SCCS and not lint */ /* @@ -52,7 +52,7 @@ static char sccsid[] = "$Id: parse_netgroup.c,v 1.2 1996/05/12 17:17:44 wpaul Ex #include "hash.h" #ifndef lint -static const char rcsid[] = "$Id: parse_netgroup.c,v 1.2 1996/05/12 17:17:44 wpaul Exp $"; +static const char rcsid[] = "$Id: parse_netgroup.c,v 1.2.2.1 1996/12/22 15:13:03 joerg Exp $"; #endif /* diff --git a/libexec/revnetgroup/revnetgroup.8 b/libexec/revnetgroup/revnetgroup.8 index 0a1330efc7391..33946e0c4e5c7 100644 --- a/libexec/revnetgroup/revnetgroup.8 +++ b/libexec/revnetgroup/revnetgroup.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: revnetgroup.8,v 1.1.1.1 1995/10/26 16:25:29 wpaul Exp $ .\" .Dd October 24, 1995 .Dt REVNETGROUP 8 diff --git a/libexec/revnetgroup/revnetgroup.c b/libexec/revnetgroup/revnetgroup.c index a314d3573cfcb..6491d9a88794d 100644 --- a/libexec/revnetgroup/revnetgroup.c +++ b/libexec/revnetgroup/revnetgroup.c @@ -35,7 +35,7 @@ * Center for Telecommunications Research * Columbia University, New York City * - * $Id: revnetgroup.c,v 1.3 1996/08/04 19:17:15 wpaul Exp $ + * $Id: revnetgroup.c,v 1.3.2.1 1996/12/22 15:13:03 joerg Exp $ */ #include <stdio.h> @@ -46,7 +46,7 @@ #include "hash.h" #ifndef lint -static const char rcsid[] = "$Id: revnetgroup.c,v 1.4 1996/12/13 02:40:39 wpaul Exp $"; +static const char rcsid[] = "$Id: revnetgroup.c,v 1.3.2.1 1996/12/22 15:13:03 joerg Exp $"; #endif /* Default location of netgroup file. */ diff --git a/libexec/rexecd/Makefile b/libexec/rexecd/Makefile index ebd3d15978460..f4090773752ab 100644 --- a/libexec/rexecd/Makefile +++ b/libexec/rexecd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile,v 1.6 1996/09/22 21:54:40 wosch Exp $ PROG= rexecd MAN8= rexecd.8 diff --git a/libexec/rexecd/rexecd.8 b/libexec/rexecd/rexecd.8 index 993bf86ad7757..84efb8aa14fd7 100644 --- a/libexec/rexecd/rexecd.8 +++ b/libexec/rexecd/rexecd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rexecd.8 8.2 (Berkeley) 12/11/93 -.\" $Id: rexecd.8,v 1.3.2.1 1996/11/21 16:36:15 phk Exp $ +.\" $Id: rexecd.8,v 1.3.2.2 1996/11/23 08:25:35 phk Exp $ .\" .Dd September 23, 1994 .Dt REXECD 8 diff --git a/libexec/rexecd/rexecd.c b/libexec/rexecd/rexecd.c index 225f482cc16fc..808ba603a62c7 100644 --- a/libexec/rexecd/rexecd.c +++ b/libexec/rexecd/rexecd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rexecd.c,v 1.8.2.2 1996/11/23 08:25:36 phk Exp $ + * $Id: rexecd.c,v 1.8.2.3 1997/02/09 04:40:52 imp Exp $ */ #ifndef lint diff --git a/libexec/rlogind/Makefile b/libexec/rlogind/Makefile index 41136e21b162c..40a6684648a40 100644 --- a/libexec/rlogind/Makefile +++ b/libexec/rlogind/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile,v 1.5 1996/09/22 21:54:52 wosch Exp $ PROG= rlogind SRCS= rlogind.c diff --git a/libexec/rlogind/rlogind.8 b/libexec/rlogind/rlogind.8 index 5414f3bf86d76..0a65e09e995ec 100644 --- a/libexec/rlogind/rlogind.8 +++ b/libexec/rlogind/rlogind.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rlogind.8 8.1 (Berkeley) 6/4/93 -.\" $Id: rlogind.8,v 1.5 1996/12/16 00:01:28 mpp Exp $ +.\" $Id: rlogind.8,v 1.4.2.1 1996/12/22 23:05:33 mpp Exp $ .\" .Dd June 4, 1993 .Dt RLOGIND 8 diff --git a/libexec/rlogind/rlogind.c b/libexec/rlogind/rlogind.c index b05dcce3f9590..41fc433f20180 100644 --- a/libexec/rlogind/rlogind.c +++ b/libexec/rlogind/rlogind.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rlogind.c,v 1.12 1996/09/22 21:54:59 wosch Exp $ + * $Id: rlogind.c,v 1.12.2.1 1997/02/09 04:33:30 imp Exp $ */ #ifndef lint diff --git a/libexec/rpc.rquotad/Makefile b/libexec/rpc.rquotad/Makefile index 7618d98f4a485..061834b54f5d5 100644 --- a/libexec/rpc.rquotad/Makefile +++ b/libexec/rpc.rquotad/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1995/04/12 00:47:27 jtc Exp $ +# $Id: Makefile,v 1.1.1.1 1996/01/05 08:47:12 graichen Exp $ PROG = rpc.rquotad SRCS = rquotad.c diff --git a/libexec/rpc.rquotad/rpc.rquotad.8 b/libexec/rpc.rquotad/rpc.rquotad.8 index 59325d083942b..22dc7a5641f96 100644 --- a/libexec/rpc.rquotad/rpc.rquotad.8 +++ b/libexec/rpc.rquotad/rpc.rquotad.8 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: rpc.rquotad.8,v 1.4 1997/03/14 06:09:04 mpp Exp $ +.\" $Id: rpc.rquotad.8,v 1.1.1.1.2.1 1997/03/14 06:10:09 mpp Exp $ .\" .Dd June 22, 1994 .Dt RPC.RQUOTAD 8 diff --git a/libexec/rpc.rstatd/Makefile b/libexec/rpc.rstatd/Makefile index 312f7cf7c3fe4..aa2ce5f9e6d64 100644 --- a/libexec/rpc.rstatd/Makefile +++ b/libexec/rpc.rstatd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1993/11/10 03:45:40 smace Exp $ +# $Id: Makefile,v 1.1.1.1 1994/08/28 14:49:03 csgr Exp $ PROG = rpc.rstatd SRCS = rstatd.c rstat_proc.c diff --git a/libexec/rpc.rstatd/rpc.rstatd.8 b/libexec/rpc.rstatd/rpc.rstatd.8 index 0644bbbf7f0d8..ebf814182709b 100644 --- a/libexec/rpc.rstatd/rpc.rstatd.8 +++ b/libexec/rpc.rstatd/rpc.rstatd.8 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rpc.rstatd.8,v 1.1 1993/09/16 00:27:45 jtc Exp $ +.\" $Id: rpc.rstatd.8,v 1.1.1.1 1994/08/28 14:49:04 csgr Exp $ .\" .Dd June 7, 1993 .Dt RPC.RSTATD 8 diff --git a/libexec/rpc.rstatd/rstat_proc.c b/libexec/rpc.rstatd/rstat_proc.c index 613ce51cc47b4..3e9c49e592c80 100644 --- a/libexec/rpc.rstatd/rstat_proc.c +++ b/libexec/rpc.rstatd/rstat_proc.c @@ -29,7 +29,7 @@ #ifndef lint /*static char sccsid[] = "from: @(#)rpc.rstatd.c 1.1 86/09/25 Copyr 1984 Sun Micro";*/ /*static char sccsid[] = "from: @(#)rstat_proc.c 2.2 88/08/01 4.0 RPCSRC";*/ -static char rcsid[] = "$Id: rstat_proc.c,v 1.2 1994/10/15 13:39:54 davidg Exp $"; +static char rcsid[] = "$Id: rstat_proc.c,v 1.3 1995/05/30 05:46:28 rgrimes Exp $"; #endif /* diff --git a/libexec/rpc.rstatd/rstatd.c b/libexec/rpc.rstatd/rstatd.c index 972974cc101a1..4b196e231227c 100644 --- a/libexec/rpc.rstatd/rstatd.c +++ b/libexec/rpc.rstatd/rstatd.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: rstatd.c,v 1.2 1994/11/18 22:31:05 ats Exp $"; +static char rcsid[] = "$Id: rstatd.c,v 1.3 1995/05/30 05:46:30 rgrimes Exp $"; #endif /* not lint */ #include <stdio.h> diff --git a/libexec/rpc.rusersd/Makefile b/libexec/rpc.rusersd/Makefile index 7e29b60c45d91..22d70a2f23b35 100644 --- a/libexec/rpc.rusersd/Makefile +++ b/libexec/rpc.rusersd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/11/05 05:13:39 jkh Exp $ +# $Id: Makefile,v 1.1.1.1.8.1 1996/11/06 08:44:39 phk Exp $ PROG = rpc.rusersd SRCS = rusersd.c rusers_proc.c diff --git a/libexec/rpc.rusersd/rpc.rusersd.8 b/libexec/rpc.rusersd/rpc.rusersd.8 index 15947ac8bfbb7..94ce38a524139 100644 --- a/libexec/rpc.rusersd/rpc.rusersd.8 +++ b/libexec/rpc.rusersd/rpc.rusersd.8 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rpc.rusersd.8,v 1.1 1993/09/16 00:34:43 jtc Exp $ +.\" $Id: rpc.rusersd.8,v 1.1.1.1 1994/08/28 14:53:44 csgr Exp $ .\" .Dd June 7, 1993 .Dt RPC.RUSERSD 8 diff --git a/libexec/rpc.rusersd/rusers_proc.c b/libexec/rpc.rusersd/rusers_proc.c index d472673e8a21d..15bcbc7b89afa 100644 --- a/libexec/rpc.rusersd/rusers_proc.c +++ b/libexec/rpc.rusersd/rusers_proc.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: rusers_proc.c,v 1.3 1994/11/18 23:36:18 ats Exp $"; +static char rcsid[] = "$Id: rusers_proc.c,v 1.4 1995/05/30 05:46:32 rgrimes Exp $"; #endif /* not lint */ #include <signal.h> diff --git a/libexec/rpc.rusersd/rusersd.c b/libexec/rpc.rusersd/rusersd.c index 01823060f0b5c..80a9cc6c93735 100644 --- a/libexec/rpc.rusersd/rusersd.c +++ b/libexec/rpc.rusersd/rusersd.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: rusersd.c,v 1.2 1994/11/18 22:40:11 ats Exp $"; +static char rcsid[] = "$Id: rusersd.c,v 1.3 1995/05/30 05:46:34 rgrimes Exp $"; #endif /* not lint */ #include <stdio.h> diff --git a/libexec/rpc.rwalld/Makefile b/libexec/rpc.rwalld/Makefile index 5d7b492a8a40c..81cf9784702b0 100644 --- a/libexec/rpc.rwalld/Makefile +++ b/libexec/rpc.rwalld/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1993/11/10 03:46:23 smace Exp $ +# $Id: Makefile,v 1.1.1.1 1994/08/28 14:58:36 csgr Exp $ PROG = rpc.rwalld SRCS = rwalld.c diff --git a/libexec/rpc.rwalld/rpc.rwalld.8 b/libexec/rpc.rwalld/rpc.rwalld.8 index eadadf4212b77..ada838542f844 100644 --- a/libexec/rpc.rwalld/rpc.rwalld.8 +++ b/libexec/rpc.rwalld/rpc.rwalld.8 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rpc.rwalld.8,v 1.1 1993/09/16 00:36:43 jtc Exp $ +.\" $Id: rpc.rwalld.8,v 1.1.1.1 1994/08/28 14:58:36 csgr Exp $ .\" .Dd June 7, 1993 .Dt RPC.RWALLD 8 diff --git a/libexec/rpc.rwalld/rwalld.c b/libexec/rpc.rwalld/rwalld.c index adb6c3f71b271..9a55e5e1733fa 100644 --- a/libexec/rpc.rwalld/rwalld.c +++ b/libexec/rpc.rwalld/rwalld.c @@ -28,7 +28,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: rwalld.c,v 1.2 1994/11/18 22:50:22 ats Exp $"; +static char rcsid[] = "$Id: rwalld.c,v 1.3 1995/05/30 05:46:36 rgrimes Exp $"; #endif /* not lint */ #include <unistd.h> diff --git a/libexec/rpc.sprayd/Makefile b/libexec/rpc.sprayd/Makefile index e497599a8451b..61086cefcefbb 100644 --- a/libexec/rpc.sprayd/Makefile +++ b/libexec/rpc.sprayd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1995/04/12 00:48:01 jtc Exp $ +# $Id: Makefile,v 1.1.1.1 1996/01/05 08:53:39 graichen Exp $ PROG = rpc.sprayd SRCS = sprayd.c diff --git a/libexec/rpc.sprayd/rpc.sprayd.8 b/libexec/rpc.sprayd/rpc.sprayd.8 index b2367fae20ab5..df5d5181f2dc7 100644 --- a/libexec/rpc.sprayd/rpc.sprayd.8 +++ b/libexec/rpc.sprayd/rpc.sprayd.8 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: rpc.sprayd.8,v 1.1.1.1 1996/01/05 08:53:39 graichen Exp $ +.\" $Id: rpc.sprayd.8,v 1.2 1996/04/07 00:05:54 mpp Exp $ .\" .Dd June 22, 1994 .Dt RPC.SPRAYD 8 diff --git a/libexec/rpc.sprayd/sprayd.c b/libexec/rpc.sprayd/sprayd.c index 28ae295fad059..8c3deea647aab 100644 --- a/libexec/rpc.sprayd/sprayd.c +++ b/libexec/rpc.sprayd/sprayd.c @@ -27,11 +27,11 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: sprayd.c,v 1.7 1995/03/26 23:36:44 mycroft Exp $ + * $Id: sprayd.c,v 1.1.1.1 1996/01/05 08:53:39 graichen Exp $ */ #ifndef lint -static char rcsid[] = "$Id: sprayd.c,v 1.7 1995/03/26 23:36:44 mycroft Exp $"; +static char rcsid[] = "$Id: sprayd.c,v 1.1.1.1 1996/01/05 08:53:39 graichen Exp $"; #endif /* not lint */ #include <stdio.h> diff --git a/libexec/rshd/Makefile b/libexec/rshd/Makefile index 984a6b763a338..a1b5fb47f441b 100644 --- a/libexec/rshd/Makefile +++ b/libexec/rshd/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id: Makefile,v 1.3 1994/09/29 13:06:37 csgr Exp $ +# $Id: Makefile,v 1.4 1994/11/20 23:20:00 wollman Exp $ PROG= rshd SRCS= rshd.c diff --git a/libexec/rshd/rshd.8 b/libexec/rshd/rshd.8 index a274bb235ee3c..aeab4d09a5d7e 100644 --- a/libexec/rshd/rshd.8 +++ b/libexec/rshd/rshd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rshd.8 8.1 (Berkeley) 6/4/93 -.\" $Id$ +.\" $Id: rshd.8,v 1.4 1996/09/22 21:55:06 wosch Exp $ .\" .Dd June 4, 1993 .Dt RSHD 8 diff --git a/libexec/rshd/rshd.c b/libexec/rshd/rshd.c index 740931d87fb86..9d8451a6de6e1 100644 --- a/libexec/rshd/rshd.c +++ b/libexec/rshd/rshd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rshd.c,v 1.9.2.1 1997/01/27 15:39:28 joerg Exp $ + * $Id: rshd.c,v 1.9.2.2 1997/02/09 04:33:28 imp Exp $ */ #ifndef lint diff --git a/libexec/talkd/Makefile b/libexec/talkd/Makefile index 1754066e11b31..40c0cc52a8e64 100644 --- a/libexec/talkd/Makefile +++ b/libexec/talkd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile,v 1.3 1996/09/22 21:55:12 wosch Exp $ PROG= ntalkd SRCS= talkd.c announce.c process.c table.c print.c ttymsg.c diff --git a/libexec/talkd/announce.c b/libexec/talkd/announce.c index 7984e51dbff3e..88fcd5730673c 100644 --- a/libexec/talkd/announce.c +++ b/libexec/talkd/announce.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: announce.c,v 1.5 1996/09/22 21:55:15 wosch Exp $ + * $Id: announce.c,v 1.5.2.1 1997/01/18 08:35:16 pst Exp $ */ #ifndef lint diff --git a/libexec/talkd/print.c b/libexec/talkd/print.c index af9e1194ac7ac..314f6c076eb7e 100644 --- a/libexec/talkd/print.c +++ b/libexec/talkd/print.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: print.c,v 1.3 1996/09/22 21:55:16 wosch Exp $ */ #ifndef lint diff --git a/libexec/talkd/process.c b/libexec/talkd/process.c index df087e3c4f7b9..d700fa7a5e434 100644 --- a/libexec/talkd/process.c +++ b/libexec/talkd/process.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: process.c,v 1.5 1996/09/22 21:55:18 wosch Exp $ */ #ifndef lint diff --git a/libexec/talkd/table.c b/libexec/talkd/table.c index a31c611afa28b..341dd0f794dda 100644 --- a/libexec/talkd/table.c +++ b/libexec/talkd/table.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: table.c,v 1.3 1996/09/22 21:55:20 wosch Exp $ */ #ifndef lint diff --git a/libexec/talkd/talkd.c b/libexec/talkd/talkd.c index f9ecb106a0ce8..20c7f82faabd4 100644 --- a/libexec/talkd/talkd.c +++ b/libexec/talkd/talkd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: talkd.c,v 1.4 1996/09/22 21:55:22 wosch Exp $ + * $Id: talkd.c,v 1.4.2.1 1997/01/18 08:35:17 pst Exp $ */ #ifndef lint diff --git a/libexec/telnetd/Makefile b/libexec/telnetd/Makefile index 7c9919effb412..f23142523a369 100644 --- a/libexec/telnetd/Makefile +++ b/libexec/telnetd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 12/15/93 -# $Id$ +# $Id: Makefile,v 1.8 1996/09/22 21:55:29 wosch Exp $ PROG= telnetd CFLAGS+=-DLINEMODE -DUSE_TERMIO -DDIAGNOSTICS diff --git a/libexec/telnetd/ext.h b/libexec/telnetd/ext.h index 05898fb5521d5..4940af0f13274 100644 --- a/libexec/telnetd/ext.h +++ b/libexec/telnetd/ext.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ext.h 8.2 (Berkeley) 12/15/93 - * $Id$ + * $Id: ext.h,v 1.4 1996/09/22 21:55:33 wosch Exp $ */ /* diff --git a/libexec/telnetd/pathnames.h b/libexec/telnetd/pathnames.h index 979f4d00a4f8a..27e511dd54a1d 100644 --- a/libexec/telnetd/pathnames.h +++ b/libexec/telnetd/pathnames.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)pathnames.h 8.1 (Berkeley) 6/4/93 - * $Id$ + * $Id: pathnames.h,v 1.3 1996/09/22 21:55:35 wosch Exp $ */ #if BSD > 43 diff --git a/libexec/telnetd/slc.c b/libexec/telnetd/slc.c index a3799f3eeb9c3..8acf2e208340b 100644 --- a/libexec/telnetd/slc.c +++ b/libexec/telnetd/slc.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: slc.c,v 1.3 1996/09/22 21:55:37 wosch Exp $ */ #ifndef lint diff --git a/libexec/telnetd/state.c b/libexec/telnetd/state.c index 4e72666d7cd5b..17afcf0c87083 100644 --- a/libexec/telnetd/state.c +++ b/libexec/telnetd/state.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: state.c,v 1.4 1996/09/22 21:55:39 wosch Exp $ */ #ifndef lint diff --git a/libexec/telnetd/sys_term.c b/libexec/telnetd/sys_term.c index 8bbe3fe315cb2..73514ddbd5117 100644 --- a/libexec/telnetd/sys_term.c +++ b/libexec/telnetd/sys_term.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sys_term.c,v 1.14 1996/09/22 21:55:42 wosch Exp $ + * $Id: sys_term.c,v 1.14.2.1 1997/01/12 21:56:27 joerg Exp $ */ #ifndef lint diff --git a/libexec/telnetd/telnetd.8 b/libexec/telnetd/telnetd.8 index e2d375b0bf221..8dbc3c15acfb7 100644 --- a/libexec/telnetd/telnetd.8 +++ b/libexec/telnetd/telnetd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)telnetd.8 8.3 (Berkeley) 3/1/94 -.\" $Id: telnetd.8,v 1.5 1996/10/06 17:59:20 wosch Exp $ +.\" $Id: telnetd.8,v 1.5.2.1 1997/02/05 06:02:38 pst Exp $ .\" .Dd March 1, 1994 .Dt TELNETD 8 diff --git a/libexec/telnetd/telnetd.c b/libexec/telnetd/telnetd.c index 1c57eb0ba84ea..8871605b4ab6c 100644 --- a/libexec/telnetd/telnetd.c +++ b/libexec/telnetd/telnetd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: telnetd.c,v 1.7 1996/09/22 21:55:46 wosch Exp $ + * $Id: telnetd.c,v 1.7.2.1 1997/01/12 21:56:33 joerg Exp $ */ #ifndef lint diff --git a/libexec/telnetd/termstat.c b/libexec/telnetd/termstat.c index 9cb2b630b6b7d..d481a0b8b7897 100644 --- a/libexec/telnetd/termstat.c +++ b/libexec/telnetd/termstat.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: termstat.c,v 1.5 1996/09/22 21:55:49 wosch Exp $ */ #ifndef lint diff --git a/libexec/telnetd/utility.c b/libexec/telnetd/utility.c index 6786bba222f39..96e1408c7bb06 100644 --- a/libexec/telnetd/utility.c +++ b/libexec/telnetd/utility.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: utility.c,v 1.5 1996/09/22 21:55:52 wosch Exp $ + * $Id: utility.c,v 1.5.2.1 1997/01/12 21:56:36 joerg Exp $ */ #ifndef lint diff --git a/libexec/tftpd/Makefile b/libexec/tftpd/Makefile index b7c600c419558..2c851224324fb 100644 --- a/libexec/tftpd/Makefile +++ b/libexec/tftpd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile,v 1.3 1996/09/22 21:56:03 wosch Exp $ PROG= tftpd SRCS= tftpd.c tftpsubs.c diff --git a/libexec/tftpd/tftpd.c b/libexec/tftpd/tftpd.c index b668f2ed3e0b8..a37f6ad40aecc 100644 --- a/libexec/tftpd/tftpd.c +++ b/libexec/tftpd/tftpd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: tftpd.c,v 1.4 1996/09/22 21:56:07 wosch Exp $ + * $Id: tftpd.c,v 1.4.2.1 1996/12/03 10:34:56 phk Exp $ */ #ifndef lint diff --git a/libexec/uucpd/Makefile b/libexec/uucpd/Makefile index 9a296c99cea10..bd65f159db5f9 100644 --- a/libexec/uucpd/Makefile +++ b/libexec/uucpd/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $Id$ +# $Id: Makefile,v 1.6 1996/09/22 21:56:12 wosch Exp $ PROG= uucpd MAN8= uucpd.8 diff --git a/libexec/uucpd/pathnames.h b/libexec/uucpd/pathnames.h index 782f23e874165..685b110efe700 100644 --- a/libexec/uucpd/pathnames.h +++ b/libexec/uucpd/pathnames.h @@ -32,7 +32,7 @@ * * @(#)pathnames.h 8.1 (Berkeley) 6/4/93 * - * $Id$ + * $Id: pathnames.h,v 1.3 1996/09/22 21:56:14 wosch Exp $ */ #include <paths.h> diff --git a/libexec/uucpd/uucpd.8 b/libexec/uucpd/uucpd.8 index e8b9d98bfb56c..ce1f7b1fa7c6d 100644 --- a/libexec/uucpd/uucpd.8 +++ b/libexec/uucpd/uucpd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rshd.8 8.1 (Berkeley) 6/4/93 -.\" $Id: uucpd.8,v 1.1 1996/02/18 20:32:30 markm Exp $ +.\" $Id: uucpd.8,v 1.2 1996/08/23 20:36:11 mpp Exp $ .\" .Dd Feb 18, 1996 .Dt UUCPD 8 diff --git a/libexec/uucpd/uucpd.c b/libexec/uucpd/uucpd.c index 266831dedd23d..259481f49a11d 100644 --- a/libexec/uucpd/uucpd.c +++ b/libexec/uucpd/uucpd.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: uucpd.c,v 1.7 1996/09/22 21:56:15 wosch Exp $ */ #ifndef lint diff --git a/libexec/xtend/Makefile b/libexec/xtend/Makefile index 041145caed62e..27acf3ce1cdf3 100644 --- a/libexec/xtend/Makefile +++ b/libexec/xtend/Makefile @@ -1,5 +1,5 @@ # Makefile for xtend (Stark) 10/30/93 -# $Id: Makefile,v 1.3 1996/09/04 22:22:54 bde Exp $ +# $Id: Makefile,v 1.4 1996/09/05 17:14:39 bde Exp $ BINMODE= 555 diff --git a/libexec/xtend/packet.c b/libexec/xtend/packet.c index ec67c94895e16..8628ebe9a2793 100644 --- a/libexec/xtend/packet.c +++ b/libexec/xtend/packet.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: packet.c,v 1.4 1996/09/22 21:56:21 wosch Exp $ */ #include <stdio.h> diff --git a/libexec/xtend/paths.h b/libexec/xtend/paths.h index e41d214ed07fd..16c7b8c08c895 100644 --- a/libexec/xtend/paths.h +++ b/libexec/xtend/paths.h @@ -1,7 +1,7 @@ /* * Pathnames for files used by xtend * - * $Id$ + * $Id: paths.h,v 1.3 1996/09/22 21:56:23 wosch Exp $ */ #define X10DIR "/var/spool/xten" diff --git a/libexec/xtend/status.c b/libexec/xtend/status.c index e527f55155c62..39b30fca120db 100644 --- a/libexec/xtend/status.c +++ b/libexec/xtend/status.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: status.c,v 1.4 1996/09/22 21:56:25 wosch Exp $ */ #include <stdio.h> diff --git a/libexec/xtend/user.c b/libexec/xtend/user.c index a795dba1a3e62..31b213d7aa7de 100644 --- a/libexec/xtend/user.c +++ b/libexec/xtend/user.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: user.c,v 1.3 1996/09/22 21:56:27 wosch Exp $ */ #include <stdio.h> diff --git a/libexec/xtend/xten.h b/libexec/xtend/xten.h index 23e8c6b266d08..ce6dda839ff03 100644 --- a/libexec/xtend/xten.h +++ b/libexec/xtend/xten.h @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: xten.h,v 1.3 1996/09/22 21:56:29 wosch Exp $ */ extern char *X10housenames[]; diff --git a/libexec/xtend/xtend.8 b/libexec/xtend/xtend.8 index 32731603c0106..52118adbf67a3 100644 --- a/libexec/xtend/xtend.8 +++ b/libexec/xtend/xtend.8 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: xtend.8,v 1.3 1996/09/22 21:56:32 wosch Exp $ +.\" $Id: xtend.8,v 1.4 1996/09/23 22:23:09 wosch Exp $ .\" .Th XTEND 8 "30 Oct 1993" .Dd Oct 30, 1993 diff --git a/libexec/xtend/xtend.c b/libexec/xtend/xtend.c index dd3212978418c..7edf99151a86c 100644 --- a/libexec/xtend/xtend.c +++ b/libexec/xtend/xtend.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: xtend.c,v 1.3 1996/09/22 21:56:33 wosch Exp $ */ /* diff --git a/libexec/xtend/xtend.h b/libexec/xtend/xtend.h index 9d704449cf69f..e00f25b0db7f4 100644 --- a/libexec/xtend/xtend.h +++ b/libexec/xtend/xtend.h @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: xtend.h,v 1.3 1996/09/22 21:56:36 wosch Exp $ */ /* diff --git a/libexec/ypxfr/Makefile b/libexec/ypxfr/Makefile index e7a9cad2dd308..9179c244b3a00 100644 --- a/libexec/ypxfr/Makefile +++ b/libexec/ypxfr/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/06/06 03:58:06 wpaul Exp $ +# $Id: Makefile,v 1.4 1996/09/05 17:14:42 bde Exp $ PROG= ypxfr SRCS= ypxfr_clnt.c yp_clnt.c ypxfr_getmap.c yp_dblookup.c \ diff --git a/libexec/ypxfr/yp_dbwrite.c b/libexec/ypxfr/yp_dbwrite.c index 2989d2adf6269..d33013fd3b7fc 100644 --- a/libexec/ypxfr/yp_dbwrite.c +++ b/libexec/ypxfr/yp_dbwrite.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yp_dbwrite.c,v 1.10 1996/06/03 03:11:25 wpaul Exp $ + * $Id: yp_dbwrite.c,v 1.4 1996/06/05 05:42:47 wpaul Exp $ * */ #include <stdio.h> @@ -46,7 +46,7 @@ #include "ypxfr_extern.h" #ifndef lint -static const char rcsid[] = "$Id: yp_dbwrite.c,v 1.10 1996/06/03 03:11:25 wpaul Exp $"; +static const char rcsid[] = "$Id: yp_dbwrite.c,v 1.4 1996/06/05 05:42:47 wpaul Exp $"; #endif #define PERM_SECURE (S_IRUSR|S_IWUSR) diff --git a/libexec/ypxfr/ypxfr.8 b/libexec/ypxfr/ypxfr.8 index 285c2581a1f63..6867166cba0d7 100644 --- a/libexec/ypxfr/ypxfr.8 +++ b/libexec/ypxfr/ypxfr.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ypxfr.8,v 1.3 1996/06/05 04:07:04 wpaul Exp $ +.\" $Id: ypxfr.8,v 1.3 1996/06/05 05:42:47 wpaul Exp $ .\" .Dd February 5, 1995 .Dt YPXFR 8 diff --git a/libexec/ypxfr/ypxfr_extern.h b/libexec/ypxfr/ypxfr_extern.h index 1a4c2bd7ae5a8..9fbe93f8cd247 100644 --- a/libexec/ypxfr/ypxfr_extern.h +++ b/libexec/ypxfr/ypxfr_extern.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypxfr_extern.h,v 1.3 1996/10/25 16:13:04 wpaul Exp $ + * $Id: ypxfr_extern.h,v 1.3.2.1 1997/01/14 01:27:41 wpaul Exp $ */ #include <sys/types.h> #include <limits.h> diff --git a/libexec/ypxfr/ypxfr_getmap.c b/libexec/ypxfr/ypxfr_getmap.c index a73ee5d1c8736..9da711bb34781 100644 --- a/libexec/ypxfr/ypxfr_getmap.c +++ b/libexec/ypxfr/ypxfr_getmap.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypxfr_getmap.c,v 1.8 1996/06/02 05:12:24 wpaul Exp $ + * $Id: ypxfr_getmap.c,v 1.3 1996/06/05 05:42:49 wpaul Exp $ */ #include <stdio.h> #include <sys/types.h> @@ -40,7 +40,7 @@ #include "ypxfr_extern.h" #ifndef lint -static const char rcsid[] = "$Id: ypxfr_getmap.c,v 1.8 1996/06/02 05:12:24 wpaul Exp $"; +static const char rcsid[] = "$Id: ypxfr_getmap.c,v 1.3 1996/06/05 05:42:49 wpaul Exp $"; #endif extern bool_t xdr_ypresp_all_seq __P(( XDR *, unsigned long * )); diff --git a/libexec/ypxfr/ypxfr_main.c b/libexec/ypxfr/ypxfr_main.c index 821bf871da4bc..79f21b43a4a99 100644 --- a/libexec/ypxfr/ypxfr_main.c +++ b/libexec/ypxfr/ypxfr_main.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypxfr_main.c,v 1.19 1996/10/25 15:58:15 wpaul Exp $ + * $Id: ypxfr_main.c,v 1.6 1996/10/25 16:13:05 wpaul Exp $ */ #include <stdio.h> #include <stdlib.h> @@ -51,7 +51,7 @@ struct dom_binding {}; #include "ypxfr_extern.h" #ifndef lint -static const char rcsid[] = "$Id: ypxfr_main.c,v 1.19 1996/10/25 15:58:15 wpaul Exp $"; +static const char rcsid[] = "$Id: ypxfr_main.c,v 1.6 1996/10/25 16:13:05 wpaul Exp $"; #endif char *progname = "ypxfr"; diff --git a/libexec/ypxfr/ypxfr_misc.c b/libexec/ypxfr/ypxfr_misc.c index 93efdb0d6ae4e..0dc2db52b3590 100644 --- a/libexec/ypxfr/ypxfr_misc.c +++ b/libexec/ypxfr/ypxfr_misc.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypxfr_misc.c,v 1.9 1996/10/25 15:58:15 wpaul Exp $ + * $Id: ypxfr_misc.c,v 1.5 1996/10/25 16:13:07 wpaul Exp $ */ #include <stdio.h> #include <string.h> @@ -43,7 +43,7 @@ struct dom_binding {}; #include "ypxfr_extern.h" #ifndef lint -static const char rcsid[] = "$Id: ypxfr_misc.c,v 1.9 1996/10/25 15:58:15 wpaul Exp $"; +static const char rcsid[] = "$Id: ypxfr_misc.c,v 1.5 1996/10/25 16:13:07 wpaul Exp $"; #endif char *ypxfrerr_string(code) diff --git a/libexec/ypxfr/ypxfrd_getmap.c b/libexec/ypxfr/ypxfrd_getmap.c index 7e9cd007fff4c..f756b05027984 100644 --- a/libexec/ypxfr/ypxfrd_getmap.c +++ b/libexec/ypxfr/ypxfrd_getmap.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypxfrd_getmap.c,v 1.9 1996/10/25 15:58:15 wpaul Exp $ + * $Id: ypxfrd_getmap.c,v 1.3 1996/10/25 16:13:09 wpaul Exp $ */ #include <stdlib.h> @@ -47,7 +47,7 @@ #include "ypxfr_extern.h" #ifndef lint -static const char rcsid[] = "$Id: ypxfrd_getmap.c,v 1.9 1996/10/25 15:58:15 wpaul Exp $"; +static const char rcsid[] = "$Id: ypxfrd_getmap.c,v 1.3 1996/10/25 16:13:09 wpaul Exp $"; #endif int fp = 0; diff --git a/lkm/Makefile b/lkm/Makefile index 220df3d028834..f73a86e8b920b 100644 --- a/lkm/Makefile +++ b/lkm/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.23 1996/06/12 03:49:35 asami Exp $ +# $Id: Makefile,v 1.24 1996/06/23 13:31:20 bde Exp $ # XXX present but broken: ip_mroute_mod mfs SUBDIR= atapi ccd cd9660 coff fdesc ibcs2 if_disc if_ppp if_sl if_tun \ diff --git a/lkm/Makefile.inc b/lkm/Makefile.inc index 68e02167221a8..d4d819373cce5 100644 --- a/lkm/Makefile.inc +++ b/lkm/Makefile.inc @@ -1,4 +1,4 @@ -# $Id: Makefile.inc,v 1.1 1994/09/16 20:24:27 wollman Exp $ +# $Id: Makefile.inc,v 1.2 1996/10/06 22:15:35 wosch Exp $ # already set in bsd.kmod.mk # KMODDIR= /lkm diff --git a/lkm/atapi/Makefile b/lkm/atapi/Makefile index 9f8c356663862..813e05ab80e0f 100644 --- a/lkm/atapi/Makefile +++ b/lkm/atapi/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.5 1996/09/06 23:32:54 pst Exp $ +# $Id: Makefile,v 1.6 1996/10/06 22:16:44 wosch Exp $ .PATH: ${.CURDIR}/../../sys/i386/isa KMOD = atapi_mod diff --git a/lkm/ccd/Makefile b/lkm/ccd/Makefile index a6bf54b8dae40..7c977f679aad4 100644 --- a/lkm/ccd/Makefile +++ b/lkm/ccd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1996/06/23 14:56:04 bde Exp $ +# $Id: Makefile,v 1.3 1996/09/21 01:51:11 bde Exp $ .PATH: ${.CURDIR}/../../sys/dev/ccd KMOD= ccd_mod diff --git a/lkm/cd9660/Makefile b/lkm/cd9660/Makefile index a7ee27b7bf7d4..f85e023989827 100644 --- a/lkm/cd9660/Makefile +++ b/lkm/cd9660/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/16 20:24:28 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/21 23:27:03 wollman Exp $ .PATH: ${.CURDIR}/../../sys/isofs/cd9660 KMOD= cd9660_mod diff --git a/lkm/coff/Makefile b/lkm/coff/Makefile index 3160c9e97555a..b82a3bace4f8d 100644 --- a/lkm/coff/Makefile +++ b/lkm/coff/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/10/14 08:46:11 sos Exp $ +# $Id: Makefile,v 1.2 1994/10/27 23:39:19 wollman Exp $ .PATH: ${.CURDIR}/../../sys/i386/ibcs2 KMOD= ibcs2_coff_mod diff --git a/lkm/coff/coff.c b/lkm/coff/coff.c index 4c8b55a240f8d..db32f1b09aa38 100644 --- a/lkm/coff/coff.c +++ b/lkm/coff/coff.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: coff.c,v 1.5 1995/11/14 07:33:54 bde Exp $ + * $Id: coff.c,v 1.6 1996/09/03 22:52:02 bde Exp $ */ #include <sys/param.h> diff --git a/lkm/fdesc/Makefile b/lkm/fdesc/Makefile index 7aa2a7d6a6757..b4a36f196278a 100644 --- a/lkm/fdesc/Makefile +++ b/lkm/fdesc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/16 20:24:28 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/21 23:27:05 wollman Exp $ .PATH: ${.CURDIR}/../../sys/miscfs/fdesc KMOD= fdesc_mod diff --git a/lkm/fpu/Makefile b/lkm/fpu/Makefile index 8e3e940ccdd96..6708b23e5dc75 100644 --- a/lkm/fpu/Makefile +++ b/lkm/fpu/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1995/10/15 17:00:49 phk Exp $ +# $Id: Makefile,v 1.1 1995/12/14 08:26:02 phk Exp $ .PATH: ${.CURDIR}/../../sys/i386/i386 KMOD= fpu diff --git a/lkm/gnufpu/Makefile b/lkm/gnufpu/Makefile index 4d52fd0986421..b4010c71c0a92 100644 --- a/lkm/gnufpu/Makefile +++ b/lkm/gnufpu/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1995/10/15 17:00:49 phk Exp $ +# $Id: Makefile,v 1.1 1995/12/14 08:26:14 phk Exp $ .PATH: ${.CURDIR}/../../sys/gnu/i386/fpemul KMOD= gnufpu diff --git a/lkm/ibcs2/Makefile b/lkm/ibcs2/Makefile index c72f985931187..297a90be44c27 100644 --- a/lkm/ibcs2/Makefile +++ b/lkm/ibcs2/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.11 1996/09/22 21:56:45 wosch Exp $ .PATH: ${.CURDIR}/../../sys/i386/ibcs2 KMOD= ibcs2_mod diff --git a/lkm/ibcs2/ibcs2 b/lkm/ibcs2/ibcs2 index 21f591ef64ad2..e03f00589f871 100755 --- a/lkm/ibcs2/ibcs2 +++ b/lkm/ibcs2/ibcs2 @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: ibcs2,v 1.3 1995/10/10 08:38:11 swallace Exp $ +# $Id: ibcs2,v 1.4 1995/10/28 12:35:00 peter Exp $ if [ $# -le 1 ]; then LOADERS="coff" # elf fi diff --git a/lkm/ibcs2/ibcs2.8 b/lkm/ibcs2/ibcs2.8 index eb43254b54274..f781b277100e8 100644 --- a/lkm/ibcs2/ibcs2.8 +++ b/lkm/ibcs2/ibcs2.8 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ibcs2.8,v 1.1 1995/11/28 21:12:06 joerg Exp $ +.\" $Id: ibcs2.8,v 1.2 1996/02/05 17:32:01 mpp Exp $ .\" .Dd November 27, 1995 .Dt IBCS2 8 diff --git a/lkm/ibcs2/ibcs2.c b/lkm/ibcs2/ibcs2.c index f7f9ec13477bb..d5f47f943f44d 100644 --- a/lkm/ibcs2/ibcs2.c +++ b/lkm/ibcs2/ibcs2.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2.c,v 1.6 1995/11/13 07:18:27 bde Exp $ + * $Id: ibcs2.c,v 1.7 1995/11/14 07:34:00 bde Exp $ */ #include <sys/param.h> diff --git a/lkm/if_disc/Makefile b/lkm/if_disc/Makefile index 492de57e96859..248a6202df0df 100644 --- a/lkm/if_disc/Makefile +++ b/lkm/if_disc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/22 22:12:59 wollman Exp $ +# $Id: Makefile,v 1.1 1995/03/20 19:25:46 wollman Exp $ .PATH: ${.CURDIR}/../../sys/net KMOD= if_disc_mod diff --git a/lkm/if_ppp/Makefile b/lkm/if_ppp/Makefile index 3b2fc6e190fb8..3fd28822723ba 100644 --- a/lkm/if_ppp/Makefile +++ b/lkm/if_ppp/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1995/04/15 17:36:53 ats Exp $ +# $Id: Makefile,v 1.4 1995/10/31 20:54:15 peter Exp $ .PATH: ${.CURDIR}/../../sys/net KMOD= if_ppp_mod diff --git a/lkm/if_sl/Makefile b/lkm/if_sl/Makefile index d2cdd81c2dbfa..1dc19ce0eecde 100644 --- a/lkm/if_sl/Makefile +++ b/lkm/if_sl/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1995/03/20 19:25:47 wollman Exp $ +# $Id: Makefile,v 1.2 1995/03/20 19:31:47 wollman Exp $ .PATH: ${.CURDIR}/../../sys/net KMOD= if_sl_mod diff --git a/lkm/if_tun/Makefile b/lkm/if_tun/Makefile index 49ca7784e15a2..00edaf487baf5 100644 --- a/lkm/if_tun/Makefile +++ b/lkm/if_tun/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/22 22:12:59 wollman Exp $ +# $Id: Makefile,v 1.1 1995/03/20 19:25:49 wollman Exp $ .PATH: ${.CURDIR}/../../sys/net KMOD= if_tun_mod diff --git a/lkm/ip_mroute_mod/Makefile b/lkm/ip_mroute_mod/Makefile index d1f93c3e2185d..b273ce1e53368 100644 --- a/lkm/ip_mroute_mod/Makefile +++ b/lkm/ip_mroute_mod/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/14 22:11:51 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/16 20:24:28 wollman Exp $ .PATH: ${.CURDIR}/../../sys/netinet KMOD= ip_mroute_mod diff --git a/lkm/ipfw/Makefile b/lkm/ipfw/Makefile index bef7381095719..1a5d23e2151fb 100644 --- a/lkm/ipfw/Makefile +++ b/lkm/ipfw/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1996/02/24 13:41:56 phk Exp $ +# $Id: Makefile,v 1.5 1996/06/23 14:27:52 bde Exp $ .PATH: ${.CURDIR}/../../sys/netinet KMOD= ipfw_mod diff --git a/lkm/joy/Makefile b/lkm/joy/Makefile index c466c60b5105d..2615a37f4bb89 100644 --- a/lkm/joy/Makefile +++ b/lkm/joy/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.3 1996/09/22 21:56:49 wosch Exp $ .PATH: ${.CURDIR}/../../sys/i386/isa KMOD = joy_mod diff --git a/lkm/joy/joy b/lkm/joy/joy index 3f5bbb96ab093..f9c5fdd2478e6 100644 --- a/lkm/joy/joy +++ b/lkm/joy/joy @@ -1,4 +1,4 @@ #!/bin/sh -# $Id$ +# $Id: joy,v 1.1 1996/03/16 01:35:48 jmz Exp $ modload -q -u -A `sysctl -n kern.bootfile` /lkm/joy_mod.o diff --git a/lkm/joy/joy.8 b/lkm/joy/joy.8 index 795d58662dce2..a896f04abcce6 100644 --- a/lkm/joy/joy.8 +++ b/lkm/joy/joy.8 @@ -22,7 +22,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: joy.8,v 1.1 1996/03/16 01:35:48 jmz Exp $ .\" .Dd March 16, 1996 .Dt JOY 8 diff --git a/lkm/kernfs/Makefile b/lkm/kernfs/Makefile index 1fbe7f76521e0..48b0662381893 100644 --- a/lkm/kernfs/Makefile +++ b/lkm/kernfs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/16 20:24:28 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/21 23:27:06 wollman Exp $ .PATH: ${.CURDIR}/../../sys/miscfs/kernfs KMOD= kernfs_mod diff --git a/lkm/linux/Makefile b/lkm/linux/Makefile index 6ab7b86680fc1..058073faf80c3 100644 --- a/lkm/linux/Makefile +++ b/lkm/linux/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.9 1997/01/10 05:48:49 mpp Exp $ +# $Id: Makefile,v 1.8.2.1 1997/01/10 05:54:36 mpp Exp $ .PATH: ${.CURDIR}/../../sys/i386/linux KMOD= linux_mod diff --git a/lkm/linux/linux b/lkm/linux/linux index e4364a6842692..81d1c16c0a78a 100644 --- a/lkm/linux/linux +++ b/lkm/linux/linux @@ -1,3 +1,3 @@ #!/bin/sh -# $Id: linux,v 1.1 1995/06/25 17:29:48 sos Exp $ +# $Id: linux,v 1.2 1995/10/28 12:35:06 peter Exp $ modload -e linux_mod -u -q -o /tmp/linux_mod /lkm/linux_mod.o diff --git a/lkm/linux/linux.8 b/lkm/linux/linux.8 index 31f619435e8ac..5693ee467e3a3 100644 --- a/lkm/linux/linux.8 +++ b/lkm/linux/linux.8 @@ -22,7 +22,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: linux.8,v 1.1 1996/03/16 01:35:48 jmz Exp $ +.\" $Id: linux.8,v 1.1 1997/01/10 05:48:50 mpp Exp $ .\" .Dd January 9, 1997 .Dt LINUX 8 diff --git a/lkm/linux/linux.c b/lkm/linux/linux.c index 23787758efa7c..a47485950393f 100644 --- a/lkm/linux/linux.c +++ b/lkm/linux/linux.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux.c,v 1.7 1996/09/03 22:52:07 bde Exp $ + * $Id: linux.c,v 1.8 1996/10/16 17:51:08 sos Exp $ */ #include <sys/param.h> diff --git a/lkm/mfs/Makefile b/lkm/mfs/Makefile index b3aee055aacbf..f35ff1abb9c27 100644 --- a/lkm/mfs/Makefile +++ b/lkm/mfs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/16 20:24:28 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/21 23:27:07 wollman Exp $ .PATH: ${.CURDIR}/../../sys/ufs/mfs KMOD= mfs_mod diff --git a/lkm/msdos/Makefile b/lkm/msdos/Makefile index c849011630e7b..0791e1543cb69 100644 --- a/lkm/msdos/Makefile +++ b/lkm/msdos/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/21 23:27:09 wollman Exp $ +# $Id: Makefile,v 1.2 1995/03/03 18:33:04 nate Exp $ .PATH: ${.CURDIR}/../../sys/msdosfs KMOD= msdos_mod diff --git a/lkm/nfs/Makefile b/lkm/nfs/Makefile index e8e89e8367d9a..5d2c428a9f424 100644 --- a/lkm/nfs/Makefile +++ b/lkm/nfs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/21 23:27:07 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/22 22:12:59 wollman Exp $ .PATH: ${.CURDIR}/../../sys/nfs KMOD= nfs_mod diff --git a/lkm/nullfs/Makefile b/lkm/nullfs/Makefile index fc71e6a33ea69..612ce01caf863 100644 --- a/lkm/nullfs/Makefile +++ b/lkm/nullfs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/16 20:24:28 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/21 23:27:10 wollman Exp $ .PATH: ${.CURDIR}/../../sys/miscfs/nullfs KMOD= null_mod diff --git a/lkm/pcic/Makefile b/lkm/pcic/Makefile index 2e1a7062ecea8..2777e1bb5b486 100644 --- a/lkm/pcic/Makefile +++ b/lkm/pcic/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1995/10/15 14:33:17 phk Exp $ +# $Id: Makefile,v 1.4 1995/10/15 17:00:49 phk Exp $ .PATH: ${.CURDIR}/../../sys/pccard KMOD= pcic_mod diff --git a/lkm/portal/Makefile b/lkm/portal/Makefile index 529314d1f6fe2..13923f972ede6 100644 --- a/lkm/portal/Makefile +++ b/lkm/portal/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/16 20:24:28 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/21 23:27:12 wollman Exp $ .PATH: ${.CURDIR}/../../sys/miscfs/portal KMOD= portal_mod diff --git a/lkm/procfs/Makefile b/lkm/procfs/Makefile index 8b8ee0b474b7a..ffdb6e17feec3 100644 --- a/lkm/procfs/Makefile +++ b/lkm/procfs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1996/01/24 19:34:49 peter Exp $ +# $Id: Makefile,v 1.3 1996/06/18 16:58:44 ache Exp $ .PATH: ${.CURDIR}/../../sys/miscfs/procfs KMOD= procfs_mod diff --git a/lkm/qcam/Makefile b/lkm/qcam/Makefile index 8720d0f7d905c..3cb52cf8d811a 100644 --- a/lkm/qcam/Makefile +++ b/lkm/qcam/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.4 1996/09/22 21:56:54 wosch Exp $ .PATH: ${.CURDIR}/../../sys/i386/isa KMOD = qcam_mod diff --git a/lkm/qcam/qcam b/lkm/qcam/qcam index f298e685c9c58..442a26b80aed1 100644 --- a/lkm/qcam/qcam +++ b/lkm/qcam/qcam @@ -1,4 +1,4 @@ #!/bin/sh -# $Id$ +# $Id: qcam,v 1.1.1.1 1996/03/16 22:06:26 pst Exp $ modload -q -u -A `sysctl -n kern.bootfile` /lkm/qcam_mod.o diff --git a/lkm/qcam/qcam.8 b/lkm/qcam/qcam.8 index 3a4587d7786fa..2a33a38a3b413 100644 --- a/lkm/qcam/qcam.8 +++ b/lkm/qcam/qcam.8 @@ -22,7 +22,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: qcam.8,v 1.1.1.1 1996/03/16 22:06:26 pst Exp $ .\" .Dd March 18, 1996 .Dt QCAM 8 diff --git a/lkm/syscons/Makefile b/lkm/syscons/Makefile index edd608e4907a5..2a5ddad6d632e 100644 --- a/lkm/syscons/Makefile +++ b/lkm/syscons/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1995/02/22 13:43:34 sos Exp $ SUBDIR= blank fade green snake star diff --git a/lkm/syscons/blank/Makefile b/lkm/syscons/blank/Makefile index b63e280597096..06e6f0a45e569 100644 --- a/lkm/syscons/blank/Makefile +++ b/lkm/syscons/blank/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1995/02/23 19:45:19 phk Exp $ +# $Id: Makefile,v 1.3 1996/10/06 22:16:52 wosch Exp $ KMOD= blank_saver_mod SRCS= blank_saver.c diff --git a/lkm/syscons/blank/blank_saver.c b/lkm/syscons/blank/blank_saver.c index 6b68c1a5c1cb7..fdc87ddfabcb2 100644 --- a/lkm/syscons/blank/blank_saver.c +++ b/lkm/syscons/blank/blank_saver.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: blank_saver.c,v 1.5 1995/11/14 07:34:34 bde Exp $ + * $Id: blank_saver.c,v 1.6 1995/11/29 20:10:19 wollman Exp $ */ #include <sys/param.h> diff --git a/lkm/syscons/fade/Makefile b/lkm/syscons/fade/Makefile index 215d8ed6b898a..2880e800c39b3 100644 --- a/lkm/syscons/fade/Makefile +++ b/lkm/syscons/fade/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1995/02/23 19:45:26 phk Exp $ +# $Id: Makefile,v 1.3 1996/10/06 22:16:57 wosch Exp $ KMOD= fade_saver_mod SRCS= fade_saver.c diff --git a/lkm/syscons/fade/fade_saver.c b/lkm/syscons/fade/fade_saver.c index 42522390dd657..fc98c7878a688 100644 --- a/lkm/syscons/fade/fade_saver.c +++ b/lkm/syscons/fade/fade_saver.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: fade_saver.c,v 1.6 1995/11/29 20:10:29 wollman Exp $ + * $Id: fade_saver.c,v 1.6.2.1 1997/01/20 19:59:47 sos Exp $ */ #include <sys/param.h> diff --git a/lkm/syscons/green/Makefile b/lkm/syscons/green/Makefile index e41ea0e87423f..bd8e6d47103d8 100644 --- a/lkm/syscons/green/Makefile +++ b/lkm/syscons/green/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1995/02/23 19:45:28 phk Exp $ +# $Id: Makefile,v 1.3 1996/10/06 22:17:02 wosch Exp $ KMOD= green_saver_mod SRCS= green_saver.c diff --git a/lkm/syscons/green/green_saver.c b/lkm/syscons/green/green_saver.c index e431dd744afa3..4a6b87a7b8e1e 100644 --- a/lkm/syscons/green/green_saver.c +++ b/lkm/syscons/green/green_saver.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: green_saver.c,v 1.5 1995/11/14 07:34:50 bde Exp $ + * $Id: green_saver.c,v 1.6 1995/11/29 20:10:30 wollman Exp $ */ #include <sys/param.h> diff --git a/lkm/syscons/saver.h b/lkm/syscons/saver.h index b2e0b6d4dba33..b284cbede674f 100644 --- a/lkm/syscons/saver.h +++ b/lkm/syscons/saver.h @@ -1,4 +1,4 @@ -/* $Id$ */ +/* $Id: saver.h,v 1.4 1996/09/22 21:56:57 wosch Exp $ */ #include <sys/param.h> #include <sys/systm.h> diff --git a/lkm/syscons/snake/Makefile b/lkm/syscons/snake/Makefile index c3eda52d1d127..c15ded38cdbde 100644 --- a/lkm/syscons/snake/Makefile +++ b/lkm/syscons/snake/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1995/02/23 19:45:29 phk Exp $ +# $Id: Makefile,v 1.3 1996/10/06 22:17:10 wosch Exp $ KMOD= snake_saver_mod SRCS= snake_saver.c diff --git a/lkm/syscons/snake/snake_saver.c b/lkm/syscons/snake/snake_saver.c index 613afb0dd523a..d6537878551fb 100644 --- a/lkm/syscons/snake/snake_saver.c +++ b/lkm/syscons/snake/snake_saver.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: snake_saver.c,v 1.10 1996/07/01 20:28:54 bde Exp $ + * $Id: snake_saver.c,v 1.10.2.1 1996/11/11 14:17:35 jkh Exp $ */ #include <sys/param.h> diff --git a/lkm/syscons/star/Makefile b/lkm/syscons/star/Makefile index ae1414a90cc9b..e629e75023b5e 100644 --- a/lkm/syscons/star/Makefile +++ b/lkm/syscons/star/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1995/02/23 19:45:30 phk Exp $ +# $Id: Makefile,v 1.3 1996/10/06 22:17:12 wosch Exp $ KMOD= star_saver_mod SRCS= star_saver.c diff --git a/lkm/syscons/star/star_saver.c b/lkm/syscons/star/star_saver.c index a31de13a54f5e..7866c2318a724 100644 --- a/lkm/syscons/star/star_saver.c +++ b/lkm/syscons/star/star_saver.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: star_saver.c,v 1.7 1995/11/29 20:10:33 wollman Exp $ + * $Id: star_saver.c,v 1.8 1996/07/01 20:29:10 bde Exp $ */ #include <sys/param.h> diff --git a/lkm/umapfs/Makefile b/lkm/umapfs/Makefile index c8c26c8da2d00..bb93903dd5649 100644 --- a/lkm/umapfs/Makefile +++ b/lkm/umapfs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/16 20:24:28 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/21 23:27:14 wollman Exp $ .PATH: ${.CURDIR}/../../sys/miscfs/umapfs KMOD= umap_mod diff --git a/lkm/union/Makefile b/lkm/union/Makefile index 2a1cf7efd3dd3..6c0025954d738 100644 --- a/lkm/union/Makefile +++ b/lkm/union/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/16 20:24:28 wollman Exp $ +# $Id: Makefile,v 1.1 1994/09/21 23:27:16 wollman Exp $ .PATH: ${.CURDIR}/../../sys/miscfs/union KMOD= union_mod diff --git a/lkm/wcd/Makefile b/lkm/wcd/Makefile index 6b0a1c3dde957..1baf4b473adaf 100644 --- a/lkm/wcd/Makefile +++ b/lkm/wcd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1996/09/06 23:32:55 pst Exp $ +# $Id: Makefile,v 1.5 1996/10/06 22:17:16 wosch Exp $ .PATH: ${.CURDIR}/../../sys/i386/isa KMOD = wcd_mod diff --git a/release/Makefile b/release/Makefile index d13f0835e2699..c5a2595d348ea 100644 --- a/release/Makefile +++ b/release/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.246.2.34 1997/03/15 20:59:35 joerg Exp $ # # How to roll a release: # diff --git a/release/boot_crunch.conf b/release/boot_crunch.conf index 309040d82451c..921c5329f8b55 100644 --- a/release/boot_crunch.conf +++ b/release/boot_crunch.conf @@ -1,4 +1,4 @@ -# $Id: boot_crunch.conf,v 1.25 1996/12/11 10:13:31 jkh Exp $ +# $Id: boot_crunch.conf,v 1.24.2.1 1996/12/12 12:11:03 jkh Exp $ srcdirs /usr/src/bin /usr/src/sbin /usr/src/release /usr/src/usr.bin srcdirs /usr/src/gnu/usr.bin /usr/src/usr.sbin /usr/src/sbin/i386 diff --git a/release/fixit.profile b/release/fixit.profile index 863f68548b468..2bcb8f97c1d52 100644 --- a/release/fixit.profile +++ b/release/fixit.profile @@ -1,5 +1,5 @@ : -# $Id: fixit.profile,v 1.1.6.2 1996/11/28 08:58:25 joerg Exp $ +# $Id: fixit.profile,v 1.1.6.3 1997/03/02 12:03:31 joerg Exp $ export BLOCKSIZE=K export PS1="Fixit# " diff --git a/release/fixit.services b/release/fixit.services index a985c1f8dac6a..251d751d5ab5c 100644 --- a/release/fixit.services +++ b/release/fixit.services @@ -3,7 +3,7 @@ # # Stripped-down version. # -# $Id$ +# $Id: fixit.services,v 1.1 1996/11/09 16:25:32 joerg Exp $ # # WELL KNOWN PORT NUMBERS # diff --git a/release/fixit_crunch.conf b/release/fixit_crunch.conf index 84a9bc0532d13..e343d47d472ac 100644 --- a/release/fixit_crunch.conf +++ b/release/fixit_crunch.conf @@ -1,4 +1,4 @@ -# $Id: fixit_crunch.conf,v 1.8.2.1 1996/11/06 22:48:03 joerg Exp $ +# $Id: fixit_crunch.conf,v 1.8.2.2 1996/11/09 16:33:57 joerg Exp $ # first, we list the source dirs that our programs reside in. These are # searched in order listed to find the dir containing each program. diff --git a/release/floppies/Makefile b/release/floppies/Makefile index 2e4bb21dffb50..bf1bb82587601 100644 --- a/release/floppies/Makefile +++ b/release/floppies/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1996/05/29 01:35:18 jkh Exp $ +# $Id: Makefile,v 1.3 1996/08/22 09:45:27 julian Exp $ # SUBDIR= boot fixit PROG=write_mfs_in_kernel diff --git a/release/floppies/boot/Makefile b/release/floppies/boot/Makefile index 2dd894d898d96..4dfafd68f9003 100644 --- a/release/floppies/boot/Makefile +++ b/release/floppies/boot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.214 1996/05/02 08:18:28 jkh Exp $ +# $Id: Makefile,v 1.1 1996/05/21 01:12:32 julian Exp $ SUBDIR= crunch mfs floppy .include <bsd.subdir.mk> diff --git a/release/floppies/boot/crunch/crunch.conf b/release/floppies/boot/crunch/crunch.conf index b9d6f14b65f7a..e9f0ff5e30f23 100644 --- a/release/floppies/boot/crunch/crunch.conf +++ b/release/floppies/boot/crunch/crunch.conf @@ -1,4 +1,4 @@ -# $Id: boot_crunch.conf,v 1.23 1996/02/08 18:02:51 phk Exp $ +# $Id: crunch.conf,v 1.1 1996/05/21 01:12:34 julian Exp $ srcdirs /usr/src/bin srcdirs /usr/src/release diff --git a/release/floppies/boot/floppy/Makefile b/release/floppies/boot/floppy/Makefile index eddf2689bd3c7..269a69879f8cb 100644 --- a/release/floppies/boot/floppy/Makefile +++ b/release/floppies/boot/floppy/Makefile @@ -1,5 +1,5 @@ -# $Id: Makefile,v 1.2 1996/06/24 04:23:34 jkh Exp $ +# $Id: Makefile,v 1.3 1996/08/22 09:45:38 julian Exp $ # If this is a RELEASE, then set # Things which without too much trouble can be considered variables diff --git a/release/floppies/boot/mfs/Makefile b/release/floppies/boot/mfs/Makefile index e7981b3bcb8e7..43ecc9c6d4a76 100644 --- a/release/floppies/boot/mfs/Makefile +++ b/release/floppies/boot/mfs/Makefile @@ -1,5 +1,5 @@ ### -# $Id: Makefile,v 1.1 1996/05/21 01:12:36 julian Exp $ +# $Id: Makefile,v 1.2 1996/08/22 09:45:43 julian Exp $ # # What are we if we weren't told.. CRUNCH?= mfs diff --git a/release/floppies/crunch_fs.mk b/release/floppies/crunch_fs.mk index 7471389f81f07..db42ae12d6794 100644 --- a/release/floppies/crunch_fs.mk +++ b/release/floppies/crunch_fs.mk @@ -1,5 +1,5 @@ ### -# $Id: crunch_fs.mk,v 1.1 1996/05/21 01:12:21 julian Exp $ +# $Id: crunch_fs.mk,v 1.2 1996/08/22 09:45:29 julian Exp $ # # This is included to make a floppy that includes a crunch file # diff --git a/release/floppies/fixit/Makefile b/release/floppies/fixit/Makefile index ee278f76ab4cb..28332a69ff87c 100644 --- a/release/floppies/fixit/Makefile +++ b/release/floppies/fixit/Makefile @@ -1,5 +1,5 @@ ### -# $Id: Makefile,v 1.214 1996/05/02 08:18:28 jkh Exp $ +# $Id: Makefile,v 1.1 1996/05/21 01:12:39 julian Exp $ # SUBDIR= crunch image diff --git a/release/floppies/fixit/crunch/crunch.conf b/release/floppies/fixit/crunch/crunch.conf index f31652ea1e87a..4ce647631ef0e 100644 --- a/release/floppies/fixit/crunch/crunch.conf +++ b/release/floppies/fixit/crunch/crunch.conf @@ -1,4 +1,4 @@ -# $Id: fixit_crunch.conf,v 1.6 1996/01/03 23:41:03 joerg Exp $ +# $Id: crunch.conf,v 1.1 1996/05/21 01:12:40 julian Exp $ # first, we list the source dirs that our programs reside in. These are # searched in order listed to find the dir containing each program. diff --git a/release/floppies/fixit/image/Makefile b/release/floppies/fixit/image/Makefile index a8a80c4403be8..c18ece5a42950 100644 --- a/release/floppies/fixit/image/Makefile +++ b/release/floppies/fixit/image/Makefile @@ -1,5 +1,5 @@ ### -# $Id: Makefile,v 1.214 1996/05/02 08:18:28 jkh Exp $ +# $Id: Makefile,v 1.1 1996/05/21 01:12:42 julian Exp $ # # What are we if we weren't told.. CRUNCH?= fixit diff --git a/release/floppies/fixit/verbatim/.profile b/release/floppies/fixit/verbatim/.profile index f5664e8d6eb8c..eede8f1a8f4ec 100644 --- a/release/floppies/fixit/verbatim/.profile +++ b/release/floppies/fixit/verbatim/.profile @@ -1,5 +1,5 @@ : -# $Id: fixit.profile,v 1.1 1995/03/15 06:14:19 phk Exp $ +# $Id: .profile,v 1.1 1996/05/21 01:12:43 julian Exp $ PATH=/stand BLOCKSIZE=K PS1="Fixit# " diff --git a/release/floppies/write_mfs_in_kernel.c b/release/floppies/write_mfs_in_kernel.c index 886bdd234dd8b..e2eeed0014a94 100644 --- a/release/floppies/write_mfs_in_kernel.c +++ b/release/floppies/write_mfs_in_kernel.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: write_mfs_in_kernel.c,v 1.1 1995/04/25 03:45:18 phk Exp $ + * $Id: write_mfs_in_kernel.c,v 1.1 1996/05/21 01:12:23 julian Exp $ * * This program patches a filesystem into a kernel made with MFS_ROOT * option. diff --git a/release/sysinstall/anonFTP.c b/release/sysinstall/anonFTP.c index 2b386f8d1e500..8a54ec319ace8 100644 --- a/release/sysinstall/anonFTP.c +++ b/release/sysinstall/anonFTP.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: anonFTP.c,v 1.17.2.2 1997/01/15 04:49:59 jkh Exp $ + * $Id: anonFTP.c,v 1.17.2.3 1997/03/09 22:37:47 jkh Exp $ * * Copyright (c) 1995 * Coranth Gryphon. All rights reserved. @@ -168,7 +168,7 @@ createFtpUser(void) return DITEM_SUCCESS; /* succeeds if already exists */ } - sprintf(pwline, "%s::%s:%d::0:0:%s:%s:/bin/date\n", FTP_NAME, tconf.uid, gid, tconf.comment, tconf.homedir); + sprintf(pwline, "%s:*:%s:%d::0:0:%s:%s:/nonexistent\n", FTP_NAME, tconf.uid, gid, tconf.comment, tconf.homedir); fptr = fopen(_PATH_MASTERPASSWD,"a"); if (! fptr) { diff --git a/release/sysinstall/anonFTP.c.orig b/release/sysinstall/anonFTP.c.orig new file mode 100644 index 0000000000000..83afbc9c2d6ed --- /dev/null +++ b/release/sysinstall/anonFTP.c.orig @@ -0,0 +1,316 @@ +/* + * The new sysinstall program. + * + * This is probably the last program in the `sysinstall' line - the next + * generation being essentially a complete rewrite. + * + * $Id: anonFTP.c,v 1.17.2.3 1997/03/09 22:37:47 jkh Exp $ + * + * Copyright (c) 1995 + * Coranth Gryphon. All rights reserved. + * Copyright (c) 1996 + * Jordan K. Hubbard. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer, + * verbatim and that no modifications are made prior to this + * point in the file. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR THEIR PETS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, LIFE OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#include "sysinstall.h" +#include <sys/param.h> +#include <pwd.h> +#include <grp.h> + +/* This doesn't change until FTP itself changes */ + +#define FTP_NAME "ftp" +#define MOTD_FILE "ftpmotd" + +/* These change if we want to use different defaults */ + +#define FTP_UID 14 +#define FTP_GID 5 +#define FTP_GROUP "operator" +#define FTP_UPLOAD "incoming" +#define FTP_COMMENT "Anonymous FTP Admin" +#define FTP_HOMEDIR "/var/ftp" + +#define ANONFTP_HELPFILE "anonftp" + +/* Set up the structure to hold configuration information */ +/* Note that this is only what we could fit onto the one screen */ + +typedef struct +{ + char homedir[64]; /* Home Dir for Anon FTP */ + char group[32]; /* Group */ + char uid[8]; /* UID */ + char comment[64]; /* PWD Comment */ + char upload[32]; /* Upload Dir */ +} FTPConf; + +static FTPConf tconf; + +#define ANONFTP_HOMEDIR_LEN 64 +#define ANONFTP_COMMENT_LEN 64 +#define ANONFTP_UPLOAD_LEN 32 +#define ANONFTP_GROUP_LEN 32 +#define ANONFTP_UID_LEN 8 + +static int okbutton, cancelbutton; + +/* What the screen size is meant to be */ +#define ANONFTP_DIALOG_Y 0 +#define ANONFTP_DIALOG_X 8 +#define ANONFTP_DIALOG_WIDTH COLS - 16 +#define ANONFTP_DIALOG_HEIGHT LINES - 2 + +static Layout layout[] = { +#define LAYOUT_UID 0 + { 2, 3, 8, ANONFTP_UID_LEN - 1, + "UID:", "What user ID to assign to FTP Admin", + tconf.uid, STRINGOBJ, NULL }, +#define LAYOUT_GROUP 1 + { 2, 15, 15, ANONFTP_GROUP_LEN - 1, + "Group:", "Group name that ftp process belongs to", + tconf.group, STRINGOBJ, NULL }, +#define LAYOUT_COMMENT 2 + { 2, 35, 24, ANONFTP_COMMENT_LEN - 1, + "Comment:", "Password file comment for FTP Admin", + tconf.comment, STRINGOBJ, NULL }, +#define LAYOUT_HOMEDIR 3 + { 9, 10, 43, ANONFTP_HOMEDIR_LEN - 1, + "FTP Root Directory:", + "The top directory to chroot to when doing anonymous ftp", + tconf.homedir, STRINGOBJ, NULL }, +#define LAYOUT_UPLOAD 4 + { 14, 20, 22, ANONFTP_UPLOAD_LEN - 1, + "Upload Subdirectory:", "Designated sub-directory that holds uploads", + tconf.upload, STRINGOBJ, NULL }, +#define LAYOUT_OKBUTTON 5 + { 19, 15, 0, 0, + "OK", "Select this if you are happy with these settings", + &okbutton, BUTTONOBJ, NULL }, +#define LAYOUT_CANCELBUTTON 6 + { 19, 35, 0, 0, + "CANCEL", "Select this if you wish to cancel this screen", + &cancelbutton, BUTTONOBJ, NULL }, + { NULL }, +}; + +int +createFtpUser(void) +{ + struct passwd *tpw; + struct group *tgrp; + char pwline[256]; + char *tptr; + int gid; + FILE *fptr; + + if ((gid = atoi(tconf.group)) <= 0) { + if (!(tgrp = getgrnam(tconf.group))) { + /* group does not exist, create it by name */ + + tptr = msgGetInput("14", "What group ID to use for group %s ?", tconf.group); + if (tptr && *tptr && ((gid = atoi(tptr)) > 0)) { + if ((fptr = fopen(_PATH_GROUP,"a"))) { + fprintf(fptr,"%s:*:%d:%s\n",tconf.group,gid,FTP_NAME); + fclose(fptr); + } + } + else + gid = FTP_GID; + } + else + gid = tgrp->gr_gid; + } + else if (!getgrgid(gid)) { + /* group does not exist, create it by number */ + + tptr = msgGetInput("14", "What group name to use for gid %d ?", gid); + if (tptr && *tptr) { + SAFE_STRCPY(tconf.group, tptr); + if ((tgrp = getgrnam(tconf.group))) { + gid = tgrp->gr_gid; + } + else if ((fptr = fopen(_PATH_GROUP,"a"))) { + fprintf(fptr,"%s:*:%d:%s\n",tconf.group,gid,FTP_NAME); + fclose(fptr); + } + } + } + + if ((tpw = getpwnam(FTP_NAME))) { + if (tpw->pw_uid != FTP_UID) + msgConfirm("FTP user already exists with a different uid."); + + return DITEM_SUCCESS; /* succeeds if already exists */ + } + + sprintf(pwline, "%s::%s:%d::0:0:%s:%s:/bin/date\n", FTP_NAME, tconf.uid, gid, tconf.comment, tconf.homedir); + + fptr = fopen(_PATH_MASTERPASSWD,"a"); + if (! fptr) { + msgConfirm("Could not open master password file."); + return DITEM_FAILURE; + } + fprintf(fptr, pwline); + fclose(fptr); + msgNotify("Remaking password file: %s", _PATH_MASTERPASSWD); + vsystem("pwd_mkdb -p %s", _PATH_MASTERPASSWD); + return DITEM_SUCCESS; +} + +/* This is it - how to get the setup values */ +static int +anonftpOpenDialog(void) +{ + WINDOW *ds_win; + ComposeObj *obj = NULL; + int n = 0, cancel = FALSE; + int max; + char title[80]; + + /* We need a curses window */ + if (!(ds_win = openLayoutDialog(ANONFTP_HELPFILE, " Anonymous FTP Configuration ", + ANONFTP_DIALOG_X, ANONFTP_DIALOG_Y, ANONFTP_DIALOG_WIDTH, ANONFTP_DIALOG_HEIGHT))) { + beep(); + msgConfirm("Cannot open anonymous ftp dialog window!!"); + return DITEM_FAILURE; + } + + /* Draw a sub-box for the path configuration */ + draw_box(ds_win, ANONFTP_DIALOG_Y + 7, ANONFTP_DIALOG_X + 8, + ANONFTP_DIALOG_HEIGHT - 11, ANONFTP_DIALOG_WIDTH - 17, + dialog_attr, border_attr); + wattrset(ds_win, dialog_attr); + sprintf(title, " Path Configuration "); + mvwaddstr(ds_win, ANONFTP_DIALOG_Y + 7, ANONFTP_DIALOG_X + 22, title); + + /** Initialize the config Data Structure **/ + bzero(&tconf, sizeof(tconf)); + + SAFE_STRCPY(tconf.group, FTP_GROUP); + SAFE_STRCPY(tconf.upload, FTP_UPLOAD); + SAFE_STRCPY(tconf.comment, FTP_COMMENT); + SAFE_STRCPY(tconf.homedir, FTP_HOMEDIR); + sprintf(tconf.uid, "%d", FTP_UID); + + /* Some more initialisation before we go into the main input loop */ + obj = initLayoutDialog(ds_win, layout, ANONFTP_DIALOG_X, ANONFTP_DIALOG_Y, &max); + + cancelbutton = okbutton = 0; + while (layoutDialogLoop(ds_win, layout, &obj, &n, max, &cancelbutton, &cancel)); + + /* Clear this crap off the screen */ + delwin(ds_win); + dialog_clear_norefresh(); + use_helpfile(NULL); + + if (cancel) + return DITEM_FAILURE; + return DITEM_SUCCESS; +} + +int +configAnonFTP(dialogMenuItem *self) +{ + int i; + + /* Be optimistic */ + i = DITEM_SUCCESS; + + dialog_clear_norefresh(); + i = anonftpOpenDialog(); + if (DITEM_STATUS(i) != DITEM_SUCCESS) { + msgConfirm("Configuration of Anonymous FTP cancelled per user request."); + return i | DITEM_RESTORE; + } + + /*** Use defaults for any invalid values ***/ + if (atoi(tconf.uid) <= 0) + sprintf(tconf.uid, "%d", FTP_UID); + + if (!tconf.group[0]) + SAFE_STRCPY(tconf.group, FTP_GROUP); + + if (!tconf.upload[0]) + SAFE_STRCPY(tconf.upload, FTP_UPLOAD); + + /*** If the user did not specify a directory, use default ***/ + + if (tconf.homedir[strlen(tconf.homedir) - 1] == '/') + tconf.homedir[strlen(tconf.homedir) - 1] = '\0'; + + if (!tconf.homedir[0]) + SAFE_STRCPY(tconf.homedir, FTP_HOMEDIR); + + /*** If HomeDir does not exist, create it ***/ + + if (!directory_exists(tconf.homedir)) + vsystem("mkdir -p %s", tconf.homedir); + + if (directory_exists(tconf.homedir)) { + msgNotify("Configuring %s for use by anon FTP.", tconf.homedir); + vsystem("chmod 555 %s && chown root.%s %s", tconf.homedir, tconf.group, tconf.homedir); + vsystem("mkdir %s/bin && chmod 555 %s/bin", tconf.homedir, tconf.homedir); + vsystem("cp /bin/ls %s/bin && chmod 111 %s/bin/ls", tconf.homedir, tconf.homedir); + vsystem("cp /bin/date %s/bin && chmod 111 %s/bin/date", tconf.homedir, tconf.homedir); + vsystem("mkdir %s/etc && chmod 555 %s/etc", tconf.homedir, tconf.homedir); + vsystem("mkdir -p %s/pub", tconf.homedir); + vsystem("mkdir -p %s/%s", tconf.homedir, tconf.upload); + vsystem("chmod 1777 %s/%s", tconf.homedir, tconf.upload); + + if (DITEM_STATUS(createFtpUser()) == DITEM_SUCCESS) { + msgNotify("Copying password information for anon FTP."); + vsystem("cp /etc/pwd.db %s/etc && chmod 444 %s/etc/pwd.db", tconf.homedir, tconf.homedir); + vsystem("cp /etc/passwd %s/etc && chmod 444 %s/etc/passwd", tconf.homedir, tconf.homedir); + vsystem("cp /etc/group %s/etc && chmod 444 %s/etc/group", tconf.homedir, tconf.homedir); + vsystem("chown -R root.%s %s/pub", tconf.group, tconf.homedir); + } + else { + msgConfirm("Unable to create FTP user! Anonymous FTP setup failed."); + i = DITEM_FAILURE; + } + + if (!msgYesNo("Create a welcome message file for anonymous FTP users?")) { + char cmd[256]; + dialog_clear(); + vsystem("echo Your welcome message here. > %s/etc/%s", tconf.homedir, MOTD_FILE); + sprintf(cmd, "%s %s/etc/%s", variable_get(VAR_EDITOR), tconf.homedir, MOTD_FILE); + if (!systemExecute(cmd)) + i = DITEM_SUCCESS; + else + i = DITEM_FAILURE; + } + } + else { + msgConfirm("Invalid Directory: %s\n" + "Anonymous FTP will not be set up.", tconf.homedir); + i = DITEM_FAILURE; + } + if (DITEM_STATUS(i) == DITEM_SUCCESS) + variable_set2("anon_ftp", "YES"); + return i | DITEM_RESTORE; +} diff --git a/release/sysinstall/apache.c b/release/sysinstall/apache.c index aa381801a5bd7..ed994ec7f9c89 100644 --- a/release/sysinstall/apache.c +++ b/release/sysinstall/apache.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: apache.c,v 1.27.2.5 1997/01/20 16:15:26 jkh Exp $ + * $Id: apache.c,v 1.27.2.6 1997/03/09 22:37:48 jkh Exp $ * * Copyright (c) 1995 * Coranth Gryphon. All rights reserved. diff --git a/release/sysinstall/attr.c b/release/sysinstall/attr.c index 9e129dfee0ec2..15908bd1ea64b 100644 --- a/release/sysinstall/attr.c +++ b/release/sysinstall/attr.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: attr.c,v 1.8.2.3 1997/01/19 09:59:22 jkh Exp $ + * $Id: attr.c,v 1.8.2.9 1997/03/28 23:17:23 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -60,18 +60,36 @@ attr_parse(Attribs *attr, FILE *fp) { char hold_n[MAX_NAME+1]; char hold_v[MAX_VALUE+1]; - int n, v; - enum { LOOK, COMMENT, NAME, VALUE, COMMIT } state; - int lno, num_attribs; - int ch; + char buf[BUFSIZ]; + int bp, n, v, max; + enum { LOOK, COMMENT, NAME, VALUE, MVALUE, COMMIT, FILL, STOP } state; + int num_attribs; + int ch = 0; - n = v = lno = num_attribs = 0; + n = v = num_attribs = bp = max = 0; state = LOOK; - while (state == COMMIT || (fread(&ch, 1, 1, fp) == 1)) { - /* Count lines */ - if (ch == '\n') - ++lno; + while (state != STOP) { + if (state != COMMIT) { + if (bp == max) + state = FILL; + else + ch = buf[bp++]; + } switch(state) { + case FILL: + if ((max = fread(buf, 1, sizeof buf, fp)) <= 0) { + state = STOP; + break; + } + else { + state = LOOK; + if (isDebug()) + msgDebug("Read %d characters from attributes file on state FILL\n", max); + ch = buf[0]; + bp = 1; + } + /* Fall through deliberately since we already have a character and state == LOOK */ + case LOOK: if (isspace(ch)) continue; @@ -81,11 +99,18 @@ attr_parse(Attribs *attr, FILE *fp) continue; } else if (isalpha(ch) || ch == '_') { - hold_n[n++] = ch; - state = NAME; + if (n >= MAX_NAME) { + msgDebug("Attribute name overflow at character %d, ignoring entry..\n", n); + n = 0; + state = COMMENT; + } + else { + hold_n[n++] = ch; + state = NAME; + } } else { - msgDebug("Parse config: Invalid character '%c' at line %d\n", ch, lno); + msgDebug("Parse config: Invalid character '%c (%0x)'\n", ch, ch); state = COMMENT; /* Ignore the rest of the line */ } break; @@ -96,15 +121,17 @@ attr_parse(Attribs *attr, FILE *fp) break; case NAME: - if (ch == '\n') { + if (ch == '\n' || !ch) { hold_n[n] = '\0'; - hold_v[v = 0] = '\0'; + hold_v[0] = '\0'; + v = n = 0; state = COMMIT; } else if (isspace(ch)) continue; else if (ch == '=') { hold_n[n] = '\0'; + v = n = 0; state = VALUE; } else @@ -114,39 +141,54 @@ attr_parse(Attribs *attr, FILE *fp) case VALUE: if (v == 0 && isspace(ch)) continue; - else if (ch == '{') { - /* multiline value */ - while (fread(&ch, 1, 1, fp) == 1 && ch != '}') { - if (v == MAX_VALUE) - msgFatal("Value length overflow at line %d", lno); - hold_v[v++] = ch; - } - hold_v[v] = '\0'; - state = COMMIT; - } - else if (ch == '\n') { + else if (ch == '{') + state = MVALUE; + else if (ch == '\n' || !ch) { hold_v[v] = '\0'; + v = n = 0; state = COMMIT; } else { - if (v == MAX_VALUE) - msgFatal("Value length overflow at line %d", lno); + if (v >= MAX_VALUE) { + msgDebug("Value length overflow at character %d\n", v); + state = COMMENT; + v = n = 0; + break; + } else hold_v[v++] = ch; } break; + case MVALUE: + /* multiline value */ + if (v >= MAX_VALUE) { + msgDebug("Value length overflow at character %d\n", v); + state = COMMENT; + n = v = 0; + } + else if (ch == '}') { + hold_v[v] = '\0'; + v = n = 0; + state = COMMIT; + } + else + hold_v[v++] = ch; + break; + case COMMIT: SAFE_STRCPY(attr[num_attribs].name, hold_n); SAFE_STRCPY(attr[num_attribs].value, hold_v); state = LOOK; v = n = 0; - if (++num_attribs >= MAX_ATTRIBS) - msgFatal("Attribute limit overflow; encountered a bad attributes file!"); + if (++num_attribs >= MAX_ATTRIBS) { + msgDebug("Attribute limit overflow at %d; encountered a bad attributes file!\n", num_attribs); + return DITEM_FAILURE; + } break; default: - msgFatal("Unknown state at line %d??", lno); + msgFatal("Unknown state in attr_parse??"); } } attr[num_attribs].name[0] = NULL; /* end marker */ diff --git a/release/sysinstall/cdrom.c b/release/sysinstall/cdrom.c index 099e53180c5d8..71c8e384b22f9 100644 --- a/release/sysinstall/cdrom.c +++ b/release/sysinstall/cdrom.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: cdrom.c,v 1.26.2.6 1997/01/24 21:05:46 jkh Exp $ + * $Id: cdrom.c,v 1.26.2.7 1997/01/29 01:11:22 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/command.c b/release/sysinstall/command.c index fece9b066795b..cb744b28a7d98 100644 --- a/release/sysinstall/command.c +++ b/release/sysinstall/command.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: command.c,v 1.13 1995/12/07 10:33:33 peter Exp $ + * $Id: command.c,v 1.14 1996/04/13 13:31:24 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/config.c b/release/sysinstall/config.c index 8323774bec611..4c3cb155f73d7 100644 --- a/release/sysinstall/config.c +++ b/release/sysinstall/config.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: config.c,v 1.51.2.29 1997/03/09 22:37:49 jkh Exp $ + * $Id: config.c,v 1.51.2.30 1997/03/12 02:19:15 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/dev2c.sh b/release/sysinstall/dev2c.sh index cbd2e711fda12..e92404f4b6efb 100644 --- a/release/sysinstall/dev2c.sh +++ b/release/sysinstall/dev2c.sh @@ -7,7 +7,7 @@ # this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp # ---------------------------------------------------------------------------- # -# $Id: dev2c.sh,v 1.1 1994/10/26 02:53:08 phk Exp $ +# $Id: dev2c.sh,v 1.1.1.1 1995/04/27 12:50:35 jkh Exp $ # # During installation, we suffer badly of we have to run MAKEDEV. MAKEDEV # need sh, ln, chown, mknod, awk, rm, test and probably emacs too when diff --git a/release/sysinstall/devices.c b/release/sysinstall/devices.c index 0cbc7217b0373..8e28aa139ea36 100644 --- a/release/sysinstall/devices.c +++ b/release/sysinstall/devices.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: devices.c,v 1.49.2.11 1997/01/16 01:19:17 jkh Exp $ + * $Id: devices.c,v 1.49.2.12 1997/01/19 09:59:24 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/disks.c b/release/sysinstall/disks.c index aa9107e3e82a5..c5fed906aa5b1 100644 --- a/release/sysinstall/disks.c +++ b/release/sysinstall/disks.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: disks.c,v 1.70.2.9 1997/01/24 21:05:50 jkh Exp $ + * $Id: disks.c,v 1.70.2.10 1997/03/11 16:22:22 joerg Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/dispatch.c b/release/sysinstall/dispatch.c index 62ca9a47524a9..0b8af8dcc6b06 100644 --- a/release/sysinstall/dispatch.c +++ b/release/sysinstall/dispatch.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: dispatch.c,v 1.5.2.5 1997/03/09 22:37:51 jkh Exp $ + * $Id: dispatch.c,v 1.5.2.6 1997/03/10 21:10:34 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/dist.c b/release/sysinstall/dist.c index 6a47e045e92d9..769cdbe4d3153 100644 --- a/release/sysinstall/dist.c +++ b/release/sysinstall/dist.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: dist.c,v 1.73.2.22 1997/03/15 18:00:28 jkh Exp $ + * $Id: dist.c,v 1.73.2.24 1997/03/28 09:30:14 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -390,7 +390,6 @@ distExtract(char *parent, Distribution *me) char *path, *dist, buf[BUFSIZ]; const char *tmp; FILE *fp; - Attribs *dist_attr; WINDOW *w = savescr(); struct timeval start, stop; struct sigaction old, new; @@ -432,7 +431,6 @@ distExtract(char *parent, Distribution *me) * Try to get distribution as multiple pieces, locating and parsing an * info file which tells us how many we need for this distribution. */ - dist_attr = NULL; numchunks = 0; snprintf(buf, sizeof buf, "%s/%s.inf", path, dist); @@ -457,6 +455,7 @@ distExtract(char *parent, Distribution *me) } else if (fp > 0) { int status; + Attribs *dist_attr; if (isDebug()) msgDebug("Parsing attributes file for distribution %s\n", dist); diff --git a/release/sysinstall/dmenu.c b/release/sysinstall/dmenu.c index 11d5415ebd1e1..317537836f784 100644 --- a/release/sysinstall/dmenu.c +++ b/release/sysinstall/dmenu.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated for what's essentially a complete rewrite. * - * $Id: dmenu.c,v 1.25.2.4 1997/01/15 04:50:07 jkh Exp $ + * $Id: dmenu.c,v 1.25.2.5 1997/01/19 10:27:56 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/doc.c b/release/sysinstall/doc.c index 586cabd9866f9..6cf7d95d9e191 100644 --- a/release/sysinstall/doc.c +++ b/release/sysinstall/doc.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated for what's essentially a complete rewrite. * - * $Id: doc.c,v 1.19.2.1 1997/01/19 09:59:27 jkh Exp $ + * $Id: doc.c,v 1.19.2.2 1997/02/15 13:21:18 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/dos.c b/release/sysinstall/dos.c index 8d92d2a389a70..4f00f0a6a65c2 100644 --- a/release/sysinstall/dos.c +++ b/release/sysinstall/dos.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: dos.c,v 1.14.2.1 1996/12/12 11:18:15 jkh Exp $ + * $Id: dos.c,v 1.14.2.2 1997/01/19 09:59:27 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/floppy.c b/release/sysinstall/floppy.c index bce117e883067..3661b7855e3d8 100644 --- a/release/sysinstall/floppy.c +++ b/release/sysinstall/floppy.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: floppy.c,v 1.16.2.4 1997/01/24 21:05:52 jkh Exp $ + * $Id: floppy.c,v 1.16.2.5 1997/03/21 04:49:52 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/ftp.c b/release/sysinstall/ftp.c index ac1c42289498f..2f6f4c5f7d0a4 100644 --- a/release/sysinstall/ftp.c +++ b/release/sysinstall/ftp.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: ftp.c,v 1.18.2.11 1997/02/18 16:23:10 jkh Exp $ + * $Id: ftp.c,v 1.18.2.12 1997/02/27 11:48:39 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/globals.c b/release/sysinstall/globals.c index 966b5bfdac8af..fc634271bb9e0 100644 --- a/release/sysinstall/globals.c +++ b/release/sysinstall/globals.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: globals.c,v 1.14.2.1 1997/01/22 00:28:55 jkh Exp $ + * $Id: globals.c,v 1.14.2.2 1997/01/24 21:05:53 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/help/hardware.hlp b/release/sysinstall/help/hardware.hlp index bd6c33167d4ea..3d400560c1c08 100644 --- a/release/sysinstall/help/hardware.hlp +++ b/release/sysinstall/help/hardware.hlp @@ -1,4 +1,4 @@ -Hardware Documentation Guide: $Id$ +Hardware Documentation Guide: $Id: hardware.hlp,v 1.9.2.16 1997/03/27 09:11:59 jkh Exp $ Contents last changed: July 4th, 1996 @@ -488,6 +488,21 @@ A: This is a known problem, and will hopefully be fixed in the future. local system in /usr/share/doc/FAQ, provided you have installed the `doc' distribution. +A: I have a Panasonic AL-N1 or Rios Chandler Pentium machine and I find + that the system hangs before ever getting into the installation + now. + +A: Your machine doesn't like the new i586_copyout and i586_copyin code + for some reason. To disable this, boot the installation boot floppy + and when it comes to the very first menu (the choice to drop into + kernel UserConfig mode or not) choose the command-line interface + ("expert mode") version and type the following at it: + + flags npx0 1 + + Then proceed normally to boot. This will be saved into your kernel, + so you only need to do it once. + Q: I have this CMD640 IDE controller that is said to be broken. diff --git a/release/sysinstall/help/install.hlp b/release/sysinstall/help/install.hlp index 871f87a768a0e..30b0c6be2cc2e 100644 --- a/release/sysinstall/help/install.hlp +++ b/release/sysinstall/help/install.hlp @@ -621,10 +621,11 @@ experience *is* required to use the fixit option! 3.2 Upgrading from earlier releases of FreeBSD. --- ------------------------------------------- -It must first be said that this upgrade DOES NOT take a particularly -sophisticated approach to the upgrade problem, it being more a -question of providing what seemed "good enough" at the time. A truly -polished upgrade that deals properly with the broad spectrum of +It must first be said that the system installation boot floppy's +"Upgrade" option DOES NOT take a particularly sophisticated approach to +the problem of upgrading, it being more of an attempt to provide the very +minimum in what is necessary to upgrade from one release to the next. +A more polished upgrade that dealt properly with the broad spectrum of installed 2.1 systems would be nice to have, but until that gets written what you get is this - the brute-force approach! @@ -644,20 +645,26 @@ easier. IMPORTANT NOTE: What this upgrade procedure may also do, in fact, is completely destroy your system (though much more quickly than you -would have been able to destroy it yourself). It is simply impossible +would have been able to destroy it yourself) and it is simply impossible to guarantee that this procedure's crude form of upgrade automation -will work in all cases and if you do this upgrade without proper +will work in all cases. If you do this upgrade without proper BACKUPS for any important data then you really must like living life close to the edge, that's all we can say! -NOTE to 2.0 users: We're sorry, but the "slice" changes that were -added in FreeBSD 2.0.5 made automated upgrades pretty difficult due to -the fact that a complete reinstall is pretty much called for. Things -may still *work* after a 2.2 upgrade, but you will also no doubt -receive many warnings at boot time about non-aligned slices and such; -we really do recommend a fresh installation for 2.0 systems! (But -back up your user data first :-). - - Jordan +SECOND IMPORTANT NOTE: If you are upgrading your source distribution, +you should *totally remove* your old /usr/src first (after saving +your kernel configuration files in /sys/i386/conf and any other src +customizations, of course) before doing the upgrade. Since the upgrade +overlays new files on top of old, things which have *moved* in /usr/src +will end up having two copies (to the great confusion of various parts of +the build system, I should also add) if you do not do this. + +2.0 users: We're sorry, but the "slice" changes that were added in +FreeBSD 2.0.5 made automated upgrades pretty difficult due to the fact +that a complete reinstall is pretty much called for. Things may still +*work* after a 2.2 upgrade, but you will also no doubt receive many +warnings at boot time about non-aligned slices and such. + +We really do recommend a fresh installation for 2.0 systems! ---- End of Installation Guide --- diff --git a/release/sysinstall/index.c b/release/sysinstall/index.c index e670a1c46f4ab..d01d246302945 100644 --- a/release/sysinstall/index.c +++ b/release/sysinstall/index.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: index.c,v 1.38.2.6 1997/03/25 02:45:42 jkh Exp $ + * $Id: index.c,v 1.38.2.8 1997/03/28 09:30:16 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -216,9 +216,10 @@ readline(FILE *fp, char *buf, int max) } int -index_parse(FILE *fp, char *name, char *pathto, char *prefix, char *comment, char *descr, char *maint, char *cats, char *deps) +index_parse(FILE *fp, char *name, char *pathto, char *prefix, char *comment, char *descr, char *maint, char *cats, char *rdeps) { char line[1024]; + char junk[256]; char *cp; int i; @@ -233,7 +234,8 @@ index_parse(FILE *fp, char *name, char *pathto, char *prefix, char *comment, cha cp += copy_to_sep(descr, cp, '|'); cp += copy_to_sep(maint, cp, '|'); cp += copy_to_sep(cats, cp, '|'); - (void)copy_to_sep(deps, cp, '|'); + cp += copy_to_sep(junk, cp, '|'); /* build deps - not used */ + (void)copy_to_sep(rdeps, cp, '|'); /* We're not actually interested in any of the other fields */ return 0; } diff --git a/release/sysinstall/install.c b/release/sysinstall/install.c index a16ae4ca3bb50..24a8bb10d3877 100644 --- a/release/sysinstall/install.c +++ b/release/sysinstall/install.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: install.c,v 1.134.2.38 1997/03/18 07:03:41 mpp Exp $ + * $Id: install.c,v 1.134.2.41 1997/03/28 09:30:18 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -498,14 +498,15 @@ installNovice(dialogMenuItem *self) "may do so by typing: /stand/sysinstall."); } if (mediaDevice->type != DEVICE_TYPE_FTP && mediaDevice->type != DEVICE_TYPE_NFS) { - if (!msgYesNo("Would you like to configure any SLIP/PPP or network interface devices?")) { + if (!msgYesNo("Would you like to configure any Ethernet or SLIP/PPP network devices?")) { Device *tmp; + dialog_clear_norefresh(); tmp = tcpDeviceSelect(); + dialog_clear_norefresh(); if (tmp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name)) if (!tmp->init(tmp)) msgConfirm("Initialization of %s device failed.", tmp->name); - dialog_clear_norefresh(); } } @@ -585,11 +586,13 @@ installNovice(dialogMenuItem *self) configUsers(self); dialog_clear_norefresh(); - if (!msgYesNo("Would you like to set the system manager's password now?\n\n" - "This is the password you'll use to log in as \"root\".")) { + msgConfirm("Now you must set the system manager's password.\n" + "This is the password you'll use to log in as \"root\"."); + { WINDOW *w = savescr(); - systemExecute("passwd root"); + if (!systemExecute("passwd root")) + variable_set2("root_password", "YES"); restorescr(w); } diff --git a/release/sysinstall/installUpgrade.c b/release/sysinstall/installUpgrade.c index dafbbfcc76e29..6279de51ff63c 100644 --- a/release/sysinstall/installUpgrade.c +++ b/release/sysinstall/installUpgrade.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: installUpgrade.c,v 1.33.2.8 1997/03/07 07:46:40 jkh Exp $ + * $Id: installUpgrade.c,v 1.33.2.9 1997/03/07 16:16:56 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/keymap.c b/release/sysinstall/keymap.c index 459f4cbe28609..2b17b16cb9262 100644 --- a/release/sysinstall/keymap.c +++ b/release/sysinstall/keymap.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: keymap.c,v 1.1.2.3 1997/01/15 04:50:10 jkh Exp $ * */ diff --git a/release/sysinstall/label.c b/release/sysinstall/label.c index 996d683e77b7c..31c54d6d334b5 100644 --- a/release/sysinstall/label.c +++ b/release/sysinstall/label.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: label.c,v 1.63.2.4 1997/03/08 16:16:15 jkh Exp $ + * $Id: label.c,v 1.63.2.5 1997/03/11 17:48:39 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/lang.c b/release/sysinstall/lang.c index 0d6963b1b4a09..304e931a1865b 100644 --- a/release/sysinstall/lang.c +++ b/release/sysinstall/lang.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: lang.c,v 1.7 1995/06/11 19:30:01 rgrimes Exp $ + * $Id: lang.c,v 1.8 1996/04/13 13:31:46 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/main.c b/release/sysinstall/main.c index 0a5b00656b09e..11b21cddeac2f 100644 --- a/release/sysinstall/main.c +++ b/release/sysinstall/main.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated for what's essentially a complete rewrite. * - * $Id: main.c,v 1.28.2.10 1997/02/20 16:46:39 jkh Exp $ + * $Id: main.c,v 1.28.2.11 1997/03/21 04:49:53 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/media.c b/release/sysinstall/media.c index e2013ef8398bd..32b490358b0c0 100644 --- a/release/sysinstall/media.c +++ b/release/sysinstall/media.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: media.c,v 1.62.2.15 1997/03/11 16:41:15 jkh Exp $ + * $Id: media.c,v 1.62.2.16 1997/03/21 04:49:54 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/menus.c b/release/sysinstall/menus.c index ae51477f934cc..f0682d1635466 100644 --- a/release/sysinstall/menus.c +++ b/release/sysinstall/menus.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: menus.c,v 1.89.2.33 1997/03/25 02:45:52 jkh Exp $ + * $Id: menus.c,v 1.89.2.34 1997/03/27 00:41:02 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/misc.c b/release/sysinstall/misc.c index dc8c87be7a5ff..1eecd27feefa8 100644 --- a/release/sysinstall/misc.c +++ b/release/sysinstall/misc.c @@ -1,7 +1,7 @@ /* * Miscellaneous support routines.. * - * $Id: misc.c,v 1.22.2.8 1997/02/19 17:12:26 jkh Exp $ + * $Id: misc.c,v 1.22.2.9 1997/03/09 22:37:58 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/msg.c b/release/sysinstall/msg.c index 7770c7005f625..b094a7db16bf1 100644 --- a/release/sysinstall/msg.c +++ b/release/sysinstall/msg.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: msg.c,v 1.41 1996/10/01 04:56:34 jkh Exp $ + * $Id: msg.c,v 1.41.2.1 1996/12/09 09:29:05 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/network.c b/release/sysinstall/network.c index f2da9a4e044de..c12fe876afc47 100644 --- a/release/sysinstall/network.c +++ b/release/sysinstall/network.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: network.c,v 1.16.2.8 1997/01/15 04:50:18 jkh Exp $ + * $Id: network.c,v 1.16.2.9 1997/01/19 09:59:35 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/nfs.c b/release/sysinstall/nfs.c index e81bcbd270fd2..ffc8e4081d4bb 100644 --- a/release/sysinstall/nfs.c +++ b/release/sysinstall/nfs.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: nfs.c,v 1.11.2.4 1997/01/22 00:28:58 jkh Exp $ + * $Id: nfs.c,v 1.11.2.5 1997/01/24 21:06:00 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/options.c b/release/sysinstall/options.c index d418110b966ff..b58610a2247a1 100644 --- a/release/sysinstall/options.c +++ b/release/sysinstall/options.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated for what's essentially a complete rewrite. * - * $Id$ + * $Id: options.c,v 1.44.2.7 1997/03/11 09:13:12 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/package.c b/release/sysinstall/package.c index 8b66b09d17928..dfdb505a24133 100644 --- a/release/sysinstall/package.c +++ b/release/sysinstall/package.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: package.c,v 1.48.2.8 1997/03/08 11:13:22 jkh Exp $ + * $Id: package.c,v 1.48.2.9 1997/03/22 15:20:26 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/register.c b/release/sysinstall/register.c index 12815f0c4643d..1b47c3100cb4a 100644 --- a/release/sysinstall/register.c +++ b/release/sysinstall/register.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: register.c,v 1.1.2.4 1997/03/16 20:08:22 jkh Exp $ + * $Id: register.c,v 1.1.2.5 1997/03/25 02:45:59 jkh Exp $ * * Copyright (c) 1997 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/samba.c b/release/sysinstall/samba.c index 89020039b9b85..ebcc016a7d121 100644 --- a/release/sysinstall/samba.c +++ b/release/sysinstall/samba.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: samba.c,v 1.9.2.3 1997/01/19 09:59:37 jkh Exp $ + * $Id: samba.c,v 1.9.2.4 1997/01/20 16:15:30 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard & Coranth Gryphon. All rights reserved. diff --git a/release/sysinstall/sysinstall.h b/release/sysinstall/sysinstall.h index ca6001dc57258..cdda27f4d029f 100644 --- a/release/sysinstall/sysinstall.h +++ b/release/sysinstall/sysinstall.h @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: sysinstall.h,v 1.82.2.27 1997/03/15 16:23:11 jkh Exp $ + * $Id: sysinstall.h,v 1.82.2.29 1997/03/29 06:41:56 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -44,7 +44,6 @@ #include <string.h> #include <unistd.h> #include <dialog.h> -#include <dialog.h> #include "ui_objects.h" #include "dir.h" #include "colors.h" diff --git a/release/sysinstall/system.c b/release/sysinstall/system.c index e5dc4a99f1453..be3c66da5eafb 100644 --- a/release/sysinstall/system.c +++ b/release/sysinstall/system.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id$ + * $Id: system.c,v 1.66.2.8 1997/03/11 09:13:13 jkh Exp $ * * Jordan Hubbard * diff --git a/release/sysinstall/tape.c b/release/sysinstall/tape.c index 26e792731c9f3..189c05153ffcc 100644 --- a/release/sysinstall/tape.c +++ b/release/sysinstall/tape.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: tape.c,v 1.13.2.2 1997/01/19 09:59:41 jkh Exp $ + * $Id: tape.c,v 1.13.2.3 1997/01/22 00:29:00 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/tcpip.c b/release/sysinstall/tcpip.c index 7ec7a18dda069..371ea97ffe055 100644 --- a/release/sysinstall/tcpip.c +++ b/release/sysinstall/tcpip.c @@ -1,5 +1,5 @@ /* - * $Id: tcpip.c,v 1.48.2.14 1997/02/17 22:09:41 jkh Exp $ + * $Id: tcpip.c,v 1.48.2.15 1997/03/09 22:38:00 jkh Exp $ * * Copyright (c) 1995 * Gary J Palmer. All rights reserved. diff --git a/release/sysinstall/uc_eisa.c b/release/sysinstall/uc_eisa.c index 11f199bc234ce..def07511d9bfa 100644 --- a/release/sysinstall/uc_eisa.c +++ b/release/sysinstall/uc_eisa.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: uc_eisa.c,v 1.1 1996/10/03 06:01:37 jkh Exp $ + * $Id: uc_eisa.c,v 1.2 1996/10/12 20:23:08 erich Exp $ */ #include <sys/types.h> diff --git a/release/sysinstall/uc_isa.c b/release/sysinstall/uc_isa.c index 8562af447f150..65f0b02881a10 100644 --- a/release/sysinstall/uc_isa.c +++ b/release/sysinstall/uc_isa.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: uc_isa.c,v 1.1 1996/10/03 06:01:38 jkh Exp $ + * $Id: uc_isa.c,v 1.2 1996/10/12 20:23:12 erich Exp $ */ #include <sys/types.h> diff --git a/release/sysinstall/uc_kmem.c b/release/sysinstall/uc_kmem.c index e0df87209a694..9e5908ca0fcb3 100644 --- a/release/sysinstall/uc_kmem.c +++ b/release/sysinstall/uc_kmem.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: uc_kmem.c,v 1.1 1996/10/03 06:01:39 jkh Exp $ */ #include <sys/types.h> diff --git a/release/sysinstall/uc_list.c b/release/sysinstall/uc_list.c index 6506c5eb6b1e2..50de4bed990df 100644 --- a/release/sysinstall/uc_list.c +++ b/release/sysinstall/uc_list.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: uc_list.c,v 1.1 1996/10/03 06:01:40 jkh Exp $ */ #include <sys/types.h> diff --git a/release/sysinstall/uc_main.c b/release/sysinstall/uc_main.c index 41a0269291e8f..280c457d4e183 100644 --- a/release/sysinstall/uc_main.c +++ b/release/sysinstall/uc_main.c @@ -24,7 +24,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * library functions for userconfig library * - * $Id: uc_main.c,v 1.13.4.3 1997/01/19 09:59:43 jkh Exp $ + * $Id: uc_main.c,v 1.13.4.4 1997/01/19 10:59:06 jkh Exp $ */ #include <sys/types.h> diff --git a/release/sysinstall/uc_main.h b/release/sysinstall/uc_main.h index e67d61d853052..bbfa7e7a8f7f6 100644 --- a/release/sysinstall/uc_main.h +++ b/release/sysinstall/uc_main.h @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: uc_main.h,v 1.1 1996/10/03 06:01:42 jkh Exp $ + * $Id: uc_main.h,v 1.2 1996/10/12 20:23:21 erich Exp $ */ #define ISA_BIOTAB 0 diff --git a/release/sysinstall/uc_pci.c b/release/sysinstall/uc_pci.c index ec74e8ea545ff..273c549b41bb8 100644 --- a/release/sysinstall/uc_pci.c +++ b/release/sysinstall/uc_pci.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: uc_pci.c,v 1.1 1996/10/03 06:01:43 jkh Exp $ + * $Id: uc_pci.c,v 1.2 1996/10/12 20:23:23 erich Exp $ */ #include <sys/types.h> diff --git a/release/sysinstall/uc_scsi.c b/release/sysinstall/uc_scsi.c index fea3fff2b2178..df0d1424841f6 100644 --- a/release/sysinstall/uc_scsi.c +++ b/release/sysinstall/uc_scsi.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: uc_scsi.c,v 1.3 1996/10/12 20:23:26 erich Exp $ + * $Id: uc_scsi.c,v 1.3.4.1 1997/02/20 07:22:43 jkh Exp $ */ #include <sys/types.h> diff --git a/release/sysinstall/ufs.c b/release/sysinstall/ufs.c index 9bbea03cbd651..7c857aaee773e 100644 --- a/release/sysinstall/ufs.c +++ b/release/sysinstall/ufs.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: ufs.c,v 1.9 1996/08/23 07:56:01 jkh Exp $ + * $Id: ufs.c,v 1.9.2.1 1996/12/12 11:18:29 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/user.c b/release/sysinstall/user.c index 91e11308c53c8..25f1b81f40efa 100644 --- a/release/sysinstall/user.c +++ b/release/sysinstall/user.c @@ -1,5 +1,5 @@ /* - * $Id: user.c,v 1.1.2.9 1997/02/18 04:39:18 jkh Exp $ + * $Id: user.c,v 1.1.2.10 1997/03/09 22:38:01 jkh Exp $ * * Copyright (c) 1996 * Jörg Wunsch. All rights reserved. diff --git a/release/sysinstall/variable.c b/release/sysinstall/variable.c index 6be88a6b994c0..1d5e1af803260 100644 --- a/release/sysinstall/variable.c +++ b/release/sysinstall/variable.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: variable.c,v 1.11.2.2 1996/12/12 11:18:30 jkh Exp $ + * $Id: variable.c,v 1.11.2.3 1997/01/17 08:53:50 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. diff --git a/release/sysinstall/variable_load.c b/release/sysinstall/variable_load.c index 63b0d419edca9..ac2195963cfaf 100644 --- a/release/sysinstall/variable_load.c +++ b/release/sysinstall/variable_load.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated for what's essentially a complete rewrite. * - * $Id$ + * $Id: variable_load.c,v 1.1.2.1 1997/03/28 02:25:15 jkh Exp $ * * Copyright (c) 1997 * Paul Traina. All rights reserved. @@ -41,46 +41,33 @@ int variableLoad(dialogMenuItem * self) { - extern char *distWanted; int what = DITEM_RESTORE; - char *cp, *old; char buf[BUFSIZ]; + extern char *distWanted; + char *cp; FILE *fp; mediaClose(); dialog_clear_norefresh(); - if ((cp = variable_get(VAR_INSTALL_CFG)) != NULL) { - old = strdup(cp); - cp = variable_get_value(VAR_INSTALL_CFG, - "Specify the name of a configuration file\n" - "residing on a MSDOS or UFS floppy.\n\n" - "(default: %s)"); - if (!cp) { - free(old); - return DITEM_FAILURE | what; - } - if (!*cp) - variable_set2(VAR_INSTALL_CFG, cp); - - free(old); - - } else { - cp = variable_get_value(VAR_INSTALL_CFG, - "Specify the name of a configuration file\n" - "residing on a MSDOS or UFS floppy."); - if (!cp || !*cp) { - variable_unset(VAR_INSTALL_CFG); - return DITEM_FAILURE | what; - } + cp = variable_get_value(VAR_INSTALL_CFG, + "Specify the name of a configuration file\n" + "residing on a MSDOS or UFS floppy."); + if (!cp || !*cp) { + variable_unset(VAR_INSTALL_CFG); + return DITEM_FAILURE | what; } distWanted = cp = variable_get(VAR_INSTALL_CFG); /* Try to open the floppy drive if we can do that first */ - if (DITEM_STATUS(mediaSetFloppy(NULL)) == DITEM_FAILURE || - mediaDevice->init(mediaDevice)) { - msgConfirm("Unable to access floppy."); + if (DITEM_STATUS(mediaSetFloppy(NULL)) == DITEM_FAILURE) { + msgConfirm("Unable to set media device to floppy."); + return DITEM_FAILURE | what; + } + + if (!mediaDevice->init(mediaDevice)) { + msgConfirm("Unable to mount floppy filesystem."); return DITEM_FAILURE | what; } diff --git a/release/sysinstall/version.h b/release/sysinstall/version.h index b42c26e8937df..40b1631dd5047 100644 --- a/release/sysinstall/version.h +++ b/release/sysinstall/version.h @@ -1 +1 @@ -#define RELEASE_NAME "__RELEASE" +#define RELEASE_NAME "2.2.1-RELEASE" diff --git a/release/sysinstall/wizard.c b/release/sysinstall/wizard.c index 59831ea92fc55..469062ce179b6 100644 --- a/release/sysinstall/wizard.c +++ b/release/sysinstall/wizard.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id$ + * $Id: wizard.c,v 1.8.2.1 1997/01/15 04:50:23 jkh Exp $ * */ diff --git a/release/tar.sh b/release/tar.sh index 89e6d0fd7f32e..58ff248349a5b 100644 --- a/release/tar.sh +++ b/release/tar.sh @@ -32,7 +32,7 @@ # # -# $Id$ +# $Id: tar.sh,v 1.1 1996/12/08 18:21:30 joerg Exp $ # archive=${TAPE:-/dev/rst0} diff --git a/release/write_mfs_in_kernel.c b/release/write_mfs_in_kernel.c index 358c7d943c330..886bdd234dd8b 100644 --- a/release/write_mfs_in_kernel.c +++ b/release/write_mfs_in_kernel.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id$ + * $Id: write_mfs_in_kernel.c,v 1.1 1995/04/25 03:45:18 phk Exp $ * * This program patches a filesystem into a kernel made with MFS_ROOT * option. diff --git a/sbin/adjkerntz/adjkerntz.8 b/sbin/adjkerntz/adjkerntz.8 index e9d93a9b49a4f..a96054fa1f102 100644 --- a/sbin/adjkerntz/adjkerntz.8 +++ b/sbin/adjkerntz/adjkerntz.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: adjkerntz.8,v 1.13 1997/02/22 14:32:08 peter Exp $ +.\" $Id: adjkerntz.8,v 1.10.2.1 1997/03/03 07:01:06 mpp Exp $ .\" .Dd April 4, 1996 .Dt ADJKERNTZ 8 diff --git a/sbin/badsect/badsect.8 b/sbin/badsect/badsect.8 index 4e60a1e99e391..2d72c42b36ef3 100644 --- a/sbin/badsect/badsect.8 +++ b/sbin/badsect/badsect.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)badsect.8 8.1 (Berkeley) 6/5/93 -.\" $Id: badsect.8,v 1.4 1997/02/22 14:32:09 peter Exp $ +.\" $Id: badsect.8,v 1.1.1.1.8.1 1997/03/03 07:01:12 mpp Exp $ .\" .Dd June 5, 1993 .Dt BADSECT 8 diff --git a/sbin/ccdconfig/ccdconfig.c b/sbin/ccdconfig/ccdconfig.c index 2de876e793bcb..63baa4d2cef4c 100644 --- a/sbin/ccdconfig/ccdconfig.c +++ b/sbin/ccdconfig/ccdconfig.c @@ -1,4 +1,4 @@ -/* $Id: ccdconfig.c,v 1.3 1995/12/28 00:22:16 asami Exp $ */ +/* $Id: ccdconfig.c,v 1.4 1996/01/30 22:25:24 asami Exp $ */ /* $NetBSD: ccdconfig.c,v 1.2.2.1 1995/11/11 02:43:35 thorpej Exp $ */ diff --git a/sbin/clri/clri.8 b/sbin/clri/clri.8 index 7ac225daa57be..09b3928b8d0e6 100644 --- a/sbin/clri/clri.8 +++ b/sbin/clri/clri.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)clri.8 8.2 (Berkeley) 4/19/94 -.\" $Id: clri.8,v 1.5 1997/02/22 14:32:11 peter Exp $ +.\" $Id: clri.8,v 1.2.2.1 1997/03/03 07:01:14 mpp Exp $ .\" .Dd April 19, 1994 .Dt CLRI 8 diff --git a/sbin/disklabel/disklabel.8 b/sbin/disklabel/disklabel.8 index d7ce622db9099..00601fc238465 100644 --- a/sbin/disklabel/disklabel.8 +++ b/sbin/disklabel/disklabel.8 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)disklabel.8 8.2 (Berkeley) 4/19/94 -.\" $Id: disklabel.8,v 1.6 1997/02/22 14:32:12 peter Exp $ +.\" $Id: disklabel.8,v 1.3.2.1 1997/03/03 07:01:16 mpp Exp $ .\" .Dd "April 19, 1994" .Dt DISKLABEL 8 diff --git a/sbin/dmesg/dmesg.c b/sbin/dmesg/dmesg.c index b68a1d9e4eed2..9bf33a1b94403 100644 --- a/sbin/dmesg/dmesg.c +++ b/sbin/dmesg/dmesg.c @@ -42,7 +42,7 @@ static const char copyright[] = static const char sccsid[] = "@(#)dmesg.c 8.1 (Berkeley) 6/5/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: dmesg.c,v 1.4 1996/09/21 08:11:22 bde Exp $"; #endif /* not lint */ #include <sys/cdefs.h> diff --git a/sbin/dset/dset.8 b/sbin/dset/dset.8 index aeec2edc70c03..b7083e26d98a9 100644 --- a/sbin/dset/dset.8 +++ b/sbin/dset/dset.8 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: dset.8,v 1.3 1996/10/01 14:42:35 jkh Exp $ +.\" $Id: dset.8,v 1.4 1996/10/02 07:22:26 jkh Exp $ .\" " .Dd May 2, 1996 .Dt DSET 8 diff --git a/sbin/dump/dump.8 b/sbin/dump/dump.8 index ab2240d5e7f6d..2173779d7fe95 100644 --- a/sbin/dump/dump.8 +++ b/sbin/dump/dump.8 @@ -31,7 +31,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dump.8 8.1 (Berkeley) 6/16/93 -.\" $Id: dump.8,v 1.12 1997/02/22 14:32:16 peter Exp $ +.\" $Id: dump.8,v 1.5.2.3 1997/03/03 07:01:19 mpp Exp $ .\" .Dd June 16, 1993 .Dt DUMP 8 diff --git a/sbin/dumpfs/dumpfs.8 b/sbin/dumpfs/dumpfs.8 index 55f637bec1780..af4ec8ed1967f 100644 --- a/sbin/dumpfs/dumpfs.8 +++ b/sbin/dumpfs/dumpfs.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dumpfs.8 8.1 (Berkeley) 6/5/93 -.\" $Id: dumpfs.8,v 1.4 1997/02/22 14:32:17 peter Exp $ +.\" $Id: dumpfs.8,v 1.1.1.1.8.1 1997/03/03 07:01:21 mpp Exp $ .\" .Dd June 5, 1993 .Dt DUMPFS 8 diff --git a/sbin/dumplfs/dumplfs.8 b/sbin/dumplfs/dumplfs.8 index 713f7234b2b69..9b8828b6c8c68 100644 --- a/sbin/dumplfs/dumplfs.8 +++ b/sbin/dumplfs/dumplfs.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dumplfs.8 8.1 (Berkeley) 6/18/93 -.\" $Id: dumplfs.8,v 1.2 1996/12/23 23:09:45 wosch Exp $ +.\" $Id: dumplfs.8,v 1.1.1.1.8.1 1997/01/02 17:47:28 mpp Exp $ .\" .Dd June 18, 1993 .Dt DUMPLFS 8 diff --git a/sbin/dumpon/Makefile b/sbin/dumpon/Makefile index da6f365066792..32359f8ac2c8b 100644 --- a/sbin/dumpon/Makefile +++ b/sbin/dumpon/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1995/05/12 19:10:08 wollman Exp $ PROG= dumpon MAN8= dumpon.8 diff --git a/sbin/dumpon/dumpon.8 b/sbin/dumpon/dumpon.8 index 6d050ce22f4bf..23ef0981dd222 100644 --- a/sbin/dumpon/dumpon.8 +++ b/sbin/dumpon/dumpon.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)swapon.8 8.1 (Berkeley) 6/5/93 -.\" $Id: dumpon.8,v 1.2 1996/02/12 01:20:09 mpp Exp $ +.\" $Id: dumpon.8,v 1.3 1996/08/23 00:55:54 mpp Exp $ .\" .Dd May 12, 1995 .Dt DUMPON 8 diff --git a/sbin/dumpon/dumpon.c b/sbin/dumpon/dumpon.c index dc185e9be6ae2..96c9e8ae0a63e 100644 --- a/sbin/dumpon/dumpon.c +++ b/sbin/dumpon/dumpon.c @@ -40,7 +40,7 @@ static char copyright[] = #ifndef lint /*static char sccsid[] = "From: @(#)swapon.c 8.1 (Berkeley) 6/5/93";*/ static const char rcsid[] = - "$Id: dumpon.c,v 1.1 1995/05/12 19:10:09 wollman Exp $"; + "$Id: dumpon.c,v 1.2 1995/05/30 06:08:58 rgrimes Exp $"; #endif /* not lint */ #include <errno.h> diff --git a/sbin/fsck/fsck.8 b/sbin/fsck/fsck.8 index f61e9a96a9d5e..41bce5d97be22 100644 --- a/sbin/fsck/fsck.8 +++ b/sbin/fsck/fsck.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fsck.8 8.2 (Berkeley) 12/11/93 -.|' $Id: fsck.8,v 1.8 1997/02/22 14:32:23 peter Exp $ +.|' $Id: fsck.8,v 1.5.2.1 1997/03/03 07:01:23 mpp Exp $ .\" .Dd December 11, 1993 .Dt FSCK 8 diff --git a/sbin/fsdb/Makefile b/sbin/fsdb/Makefile index 5fa4d665c23be..b551bdfa0b45b 100644 --- a/sbin/fsdb/Makefile +++ b/sbin/fsdb/Makefile @@ -1,6 +1,6 @@ # $NetBSD: Makefile,v 1.1.1.1 1995/10/08 23:08:36 thorpej Exp $ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id$ +# $Id: Makefile,v 1.4 1996/09/02 23:40:08 peter Exp $ PROG= fsdb MAN8= fsdb.8 diff --git a/sbin/fsdb/fsdb.8 b/sbin/fsdb/fsdb.8 index a97d2dbb433f5..35df4faa1abac 100644 --- a/sbin/fsdb/fsdb.8 +++ b/sbin/fsdb/fsdb.8 @@ -26,7 +26,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: fsdb.8,v 1.6 1997/02/22 14:32:25 peter Exp $ +.\" $Id: fsdb.8,v 1.3.2.1 1997/03/03 07:01:25 mpp Exp $ .\" .Dd September 14, 1995 .Dt FSDB 8 diff --git a/sbin/i386/Makefile b/sbin/i386/Makefile index f2d418a854734..44bbcba554896 100644 --- a/sbin/i386/Makefile +++ b/sbin/i386/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1994/12/02 23:53:23 wollman Exp $ +# $Id: Makefile,v 1.3 1996/08/09 22:44:55 julian Exp $ SUBDIR= comcontrol fdisk ft mount_msdos nextboot #NOTYET: cxconfig diff --git a/sbin/i386/Makefile.inc b/sbin/i386/Makefile.inc index c961f85683079..2eb7be47d2de5 100644 --- a/sbin/i386/Makefile.inc +++ b/sbin/i386/Makefile.inc @@ -1,3 +1,3 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1994/12/02 23:53:23 wollman Exp $ .include "${.CURDIR}/../../Makefile.inc" diff --git a/sbin/i386/comcontrol/comcontrol.8 b/sbin/i386/comcontrol/comcontrol.8 index f73318f3beac1..65503c0be9fa7 100644 --- a/sbin/i386/comcontrol/comcontrol.8 +++ b/sbin/i386/comcontrol/comcontrol.8 @@ -1,4 +1,4 @@ -.\" $Id: comcontrol.8,v 1.12 1997/02/22 14:32:27 peter Exp $ +.\" $Id: comcontrol.8,v 1.8.2.2 1997/03/03 07:01:28 mpp Exp $ .Dd May 15, 1994 .Dt COMCONTROL 8 .Os FreeBSD diff --git a/sbin/i386/ft/Makefile b/sbin/i386/ft/Makefile index 1cc600b798479..ac0878e9bc056 100644 --- a/sbin/i386/ft/Makefile +++ b/sbin/i386/ft/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1995/08/29 14:04:39 ache Exp $ +# $Id: Makefile,v 1.5 1995/09/17 06:57:43 davidg Exp $ PROG= ft MAN8= ft.8 diff --git a/sbin/i386/mount_msdos/Makefile b/sbin/i386/mount_msdos/Makefile index 19ec0ac78ebdd..c0dcb6151eaa9 100644 --- a/sbin/i386/mount_msdos/Makefile +++ b/sbin/i386/mount_msdos/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.1 1994/09/19 15:30:33 dfr Exp $ +# $Id: Makefile,v 1.2 1994/12/04 08:01:24 bde Exp $ # PROG= mount_msdos diff --git a/sbin/i386/mount_msdos/mount_msdos.8 b/sbin/i386/mount_msdos/mount_msdos.8 index d6bd154a94014..9441d3997bbcd 100644 --- a/sbin/i386/mount_msdos/mount_msdos.8 +++ b/sbin/i386/mount_msdos/mount_msdos.8 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: mount_msdos.8,v 1.2 1994/11/19 17:55:35 nate Exp $ +.\" $Id: mount_msdos.8,v 1.3 1996/04/03 23:11:08 gpalmer Exp $ .\" .Dd April 7, 1994 .Dt MOUNT_MSDOS 8 diff --git a/sbin/i386/mount_msdos/mount_msdos.c b/sbin/i386/mount_msdos/mount_msdos.c index c90d51b311aa0..9ab459e25e130 100644 --- a/sbin/i386/mount_msdos/mount_msdos.c +++ b/sbin/i386/mount_msdos/mount_msdos.c @@ -30,7 +30,7 @@ #ifndef lint static const char rcsid[] = - "$Id: mount_msdos.c,v 1.4 1996/05/13 17:56:34 wollman Exp $"; + "$Id: mount_msdos.c,v 1.5 1996/09/14 02:57:52 bde Exp $"; #endif /* not lint */ #include <sys/cdefs.h> diff --git a/sbin/i386/nextboot/nextboot.8 b/sbin/i386/nextboot/nextboot.8 index 089debd204128..9bb0ec4392b14 100644 --- a/sbin/i386/nextboot/nextboot.8 +++ b/sbin/i386/nextboot/nextboot.8 @@ -1,4 +1,4 @@ -.\" $Id: nextboot.8,v 1.3 1996/09/23 22:23:15 wosch Exp $ +.\" $Id: nextboot.8,v 1.3.2.1 1996/12/10 16:43:01 joerg Exp $ .Dd July 9, 1996 .Dt NEXTBOOT 8 .\".Os BSD 4 diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index 1a11f513cfbab..893b503e02b8f 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" $Id: ifconfig.8,v 1.12 1997/02/22 14:32:32 peter Exp $ +.\" $Id: ifconfig.8,v 1.9.2.1 1997/03/03 07:01:30 mpp Exp $ .\" .Dd February 13, 1996 .Dt IFCONFIG 8 diff --git a/sbin/init/Makefile b/sbin/init/Makefile index 285240b9454c6..8a0fd04549a47 100644 --- a/sbin/init/Makefile +++ b/sbin/init/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 7/19/93 -# $Id: Makefile,v 1.7 1996/05/04 08:16:20 markm Exp $ +# $Id: Makefile,v 1.8 1996/09/05 17:14:50 bde Exp $ PROG= init MAN8= init.8 diff --git a/sbin/init/init.8 b/sbin/init/init.8 index 63dc4551b50f9..1e1e9b8ce57e0 100644 --- a/sbin/init/init.8 +++ b/sbin/init/init.8 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)init.8 8.3 (Berkeley) 4/18/94 -.\" $Id$ +.\" $Id: init.8,v 1.4.2.1 1997/01/26 02:35:15 mpp Exp $ .\" .Dd April 18, 1994 .Dt INIT 8 diff --git a/sbin/ipfw/ipfw.c b/sbin/ipfw/ipfw.c index 9aa6c82b2faf9..5e36472425e2b 100644 --- a/sbin/ipfw/ipfw.c +++ b/sbin/ipfw/ipfw.c @@ -16,7 +16,7 @@ * * NEW command line interface for IP firewall facility * - * $Id: ipfw.c,v 1.34.2.2 1997/02/22 20:12:46 joerg Exp $ + * $Id: ipfw.c,v 1.34.2.3 1997/03/05 12:30:08 bde Exp $ * */ diff --git a/sbin/md5/md5.c b/sbin/md5/md5.c index e3e598612d27e..f4d6b40780e9e 100644 --- a/sbin/md5/md5.c +++ b/sbin/md5/md5.c @@ -1,5 +1,5 @@ /* - * $Id: md5.c,v 1.6 1995/07/12 09:14:46 phk Exp $ + * $Id: md5.c,v 1.7 1996/10/25 06:48:29 bde Exp $ * * Derived from: */ diff --git a/sbin/mknod/mknod.c b/sbin/mknod/mknod.c index 6ff5231269752..bd724514e70cb 100644 --- a/sbin/mknod/mknod.c +++ b/sbin/mknod/mknod.c @@ -45,7 +45,7 @@ static const char copyright[] = static char sccsid[] = "@(#)mknod.c 8.1 (Berkeley) 6/5/93"; #else static const char rcsid[] = - "$Id: mknod.c,v 1.3 1996/07/30 17:43:21 bde Exp $"; + "$Id: mknod.c,v 1.3.2.1 1997/03/12 19:05:01 bde Exp $"; #endif #endif /* not lint */ diff --git a/sbin/modload/Makefile b/sbin/modload/Makefile index 265869fbaa6a5..05619d222c514 100644 --- a/sbin/modload/Makefile +++ b/sbin/modload/Makefile @@ -33,7 +33,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id: Makefile,v 1.4 1994/02/09 15:00:32 deraadt Exp $ +# $Id: Makefile,v 1.1 1994/08/19 12:07:09 davidg Exp $ # PROG= modload diff --git a/sbin/modload/modload.8 b/sbin/modload/modload.8 index a56fad6724dbb..234a537a69f1e 100644 --- a/sbin/modload/modload.8 +++ b/sbin/modload/modload.8 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: modload.8,v 1.10 1997/02/22 14:32:39 peter Exp $ +.\" $Id: modload.8,v 1.7.2.1 1997/03/03 07:01:31 mpp Exp $ .\" .Dd September 22, 1994 .Dt MODLOAD 8 diff --git a/sbin/modload/modload.c b/sbin/modload/modload.c index 71dffc3a3d951..0c7105eb54237 100644 --- a/sbin/modload/modload.c +++ b/sbin/modload/modload.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: modload.c,v 1.13 1996/08/13 00:50:59 pst Exp $ + * $Id: modload.c,v 1.13.2.1 1996/12/10 16:46:32 joerg Exp $ */ #include <stdio.h> diff --git a/sbin/modload/pathnames.h b/sbin/modload/pathnames.h index 4359013dd9f39..13c34fab40281 100644 --- a/sbin/modload/pathnames.h +++ b/sbin/modload/pathnames.h @@ -1,4 +1,4 @@ -/* $Id$ */ +/* $Id: pathnames.h,v 1.2 1995/01/23 04:08:00 wollman Exp $ */ #include <paths.h> #define _PATH_LKM "/dev/lkm" diff --git a/sbin/modunload/Makefile b/sbin/modunload/Makefile index 3520c48d2f836..8bbbbde93ad7a 100644 --- a/sbin/modunload/Makefile +++ b/sbin/modunload/Makefile @@ -33,7 +33,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id: Makefile,v 1.4 1994/02/09 15:00:35 deraadt Exp $ +# $Id: Makefile,v 1.1 1994/08/19 12:07:18 davidg Exp $ # PROG= modunload diff --git a/sbin/modunload/modunload.8 b/sbin/modunload/modunload.8 index cfeac8ebae364..b7d3e65770a49 100644 --- a/sbin/modunload/modunload.8 +++ b/sbin/modunload/modunload.8 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: modunload.8,v 1.4 1995/10/26 21:44:11 torstenb Exp $ +.\" $Id: modunload.8,v 1.4.2.1 1996/12/14 13:57:47 joerg Exp $ .\" .Dd June 7, 1993 .Dt MODUNLOAD 8 diff --git a/sbin/modunload/modunload.c b/sbin/modunload/modunload.c index b4593b3cf22a2..0fb9294922b72 100644 --- a/sbin/modunload/modunload.c +++ b/sbin/modunload/modunload.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: modunload.c,v 1.1 1994/08/19 12:07:21 davidg Exp $ + * $Id: modunload.c,v 1.1.8.1 1996/12/14 13:57:48 joerg Exp $ */ #include <stdio.h> diff --git a/sbin/mount/mount.8 b/sbin/mount/mount.8 index 38a044de01fcf..66b579b696332 100644 --- a/sbin/mount/mount.8 +++ b/sbin/mount/mount.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mount.8 8.7 (Berkeley) 3/27/94 -.\" $Id: mount.8,v 1.11 1996/09/08 13:28:12 davidg Exp $ +.\" $Id: mount.8,v 1.11.2.1 1996/11/10 12:13:27 phk Exp $ .\" .Dd March 27, 1994 .Dt MOUNT 8 diff --git a/sbin/mount_cd9660/mount_cd9660.c b/sbin/mount_cd9660/mount_cd9660.c index 463b6601a5a5b..969461c5f5e33 100644 --- a/sbin/mount_cd9660/mount_cd9660.c +++ b/sbin/mount_cd9660/mount_cd9660.c @@ -49,7 +49,7 @@ static char copyright[] = static char sccsid[] = "@(#)mount_cd9660.c 8.4 (Berkeley) 3/27/94"; */ static const char rcsid[] = - "$Id$"; + "$Id: mount_cd9660.c,v 1.7 1996/05/13 17:42:55 wollman Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/sbin/mount_ext2fs/mount_ext2fs.c b/sbin/mount_ext2fs/mount_ext2fs.c index 91d96fd86a8e6..e256c24b948c4 100644 --- a/sbin/mount_ext2fs/mount_ext2fs.c +++ b/sbin/mount_ext2fs/mount_ext2fs.c @@ -42,7 +42,7 @@ static char copyright[] = static char sccsid[] = "@(#)mount_lfs.c 8.3 (Berkeley) 3/27/94"; */ static const char rcsid[] = - "$Id: mount_ext2fs.c,v 1.3 1996/07/23 19:29:27 peter Exp $"; + "$Id: mount_ext2fs.c,v 1.4 1996/09/14 02:57:56 bde Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/sbin/mount_lfs/mount_lfs.c b/sbin/mount_lfs/mount_lfs.c index 67c1b31e2de6f..be61200c07583 100644 --- a/sbin/mount_lfs/mount_lfs.c +++ b/sbin/mount_lfs/mount_lfs.c @@ -42,7 +42,7 @@ static char copyright[] = static char sccsid[] = "@(#)mount_lfs.c 8.3 (Berkeley) 3/27/94"; */ static const char rcsid[] = - "$Id: mount_lfs.c,v 1.4 1996/05/13 17:43:05 wollman Exp $"; + "$Id: mount_lfs.c,v 1.5 1996/09/14 02:58:07 bde Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/sbin/mount_nfs/mount_nfs.8 b/sbin/mount_nfs/mount_nfs.8 index 5048d4af2729e..342dbfa07a885 100644 --- a/sbin/mount_nfs/mount_nfs.8 +++ b/sbin/mount_nfs/mount_nfs.8 @@ -31,7 +31,7 @@ .\" .\" @(#)mount_nfs.8 8.2 (Berkeley) 3/27/94 .\" -.\" $Id$ +.\" $Id: mount_nfs.8,v 1.5 1996/10/22 21:56:58 joerg Exp $ .\"" .Dd March 27, 1994 .Dt MOUNT_NFS 8 diff --git a/sbin/mount_nfs/mount_nfs.c b/sbin/mount_nfs/mount_nfs.c index 659e26b43ba57..ae0777adcd894 100644 --- a/sbin/mount_nfs/mount_nfs.c +++ b/sbin/mount_nfs/mount_nfs.c @@ -45,7 +45,7 @@ static char copyright[] = static char sccsid[] = "@(#)mount_nfs.c 8.3 (Berkeley) 3/27/94"; */ static const char rcsid[] = - "$Id: mount_nfs.c,v 1.13 1996/05/13 17:43:06 wollman Exp $"; + "$Id: mount_nfs.c,v 1.14 1996/09/14 02:58:13 bde Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/sbin/mount_null/mount_null.8 b/sbin/mount_null/mount_null.8 index 1a47b27d9d652..e84a433c5cf8e 100644 --- a/sbin/mount_null/mount_null.8 +++ b/sbin/mount_null/mount_null.8 @@ -35,7 +35,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mount_null.8 8.4 (Berkeley) 4/19/94 -.\" $Id$ +.\" $Id: mount_null.8,v 1.5 1996/10/05 22:26:59 wosch Exp $ .\" .Dd April 19, 1994 .Dt MOUNT_NULL 8 diff --git a/sbin/mount_null/mount_null.c b/sbin/mount_null/mount_null.c index e78c3fc8ea3c8..fff611bbdc396 100644 --- a/sbin/mount_null/mount_null.c +++ b/sbin/mount_null/mount_null.c @@ -45,7 +45,7 @@ char copyright[] = static char sccsid[] = "@(#)mount_null.c 8.5 (Berkeley) 3/27/94"; */ static const char rcsid[] = - "$Id: mount_null.c,v 1.4 1996/05/13 17:43:08 wollman Exp $"; + "$Id: mount_null.c,v 1.5 1996/09/14 02:58:23 bde Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/sbin/mount_portal/Makefile b/sbin/mount_portal/Makefile index 85eca128f4dbd..20bd316d4e2f9 100644 --- a/sbin/mount_portal/Makefile +++ b/sbin/mount_portal/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.3 (Berkeley) 3/27/94 -# $Id$ +# $Id: Makefile,v 1.4 1995/02/21 04:05:17 wollman Exp $ PROG= mount_portal SRCS= mount_portal.c activate.c conf.c getmntopts.c pt_conf.c \ diff --git a/sbin/mount_portal/activate.c b/sbin/mount_portal/activate.c index 33617988f7dfb..963947d484b9e 100644 --- a/sbin/mount_portal/activate.c +++ b/sbin/mount_portal/activate.c @@ -36,7 +36,7 @@ * * @(#)activate.c 8.2 (Berkeley) 3/27/94 * - * $Id: activate.c,v 1.2 1992/05/27 07:09:27 jsp Exp jsp $ + * $Id: activate.c,v 1.1.1.1 1994/05/26 06:34:32 rgrimes Exp $ */ #include <stdio.h> diff --git a/sbin/mount_portal/conf.c b/sbin/mount_portal/conf.c index 3eb4af3c748b3..4a79c74001348 100644 --- a/sbin/mount_portal/conf.c +++ b/sbin/mount_portal/conf.c @@ -36,7 +36,7 @@ * * @(#)conf.c 8.2 (Berkeley) 3/27/94 * - * $Id: conf.c,v 1.2 1995/02/21 04:05:20 wollman Exp $ + * $Id: conf.c,v 1.3 1995/05/30 06:09:25 rgrimes Exp $ */ #include <stdio.h> diff --git a/sbin/mount_portal/mount_portal.c b/sbin/mount_portal/mount_portal.c index 1608e22b00e16..1d3d2de6089f3 100644 --- a/sbin/mount_portal/mount_portal.c +++ b/sbin/mount_portal/mount_portal.c @@ -45,7 +45,7 @@ char copyright[] = static char sccsid[] = "@(#)mount_portal.c 8.4 (Berkeley) 3/27/94"; */ static const char rcsid[] = - "$Id: mount_portal.c,v 1.6 1996/05/13 17:43:09 wollman Exp $"; + "$Id: mount_portal.c,v 1.7 1996/09/14 02:58:43 bde Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/sbin/mount_portal/pathnames.h b/sbin/mount_portal/pathnames.h index 25321145d9901..97bde75e7731f 100644 --- a/sbin/mount_portal/pathnames.h +++ b/sbin/mount_portal/pathnames.h @@ -36,7 +36,7 @@ * * @(#)pathnames.h 8.1 (Berkeley) 6/5/93 * - * $Id: pathnames.h,v 1.2 1992/05/27 07:09:27 jsp Exp jsp $ + * $Id: pathnames.h,v 1.1.1.1 1994/05/26 06:34:32 rgrimes Exp $ */ #include <paths.h> diff --git a/sbin/mount_portal/portal.conf b/sbin/mount_portal/portal.conf index 5b5a773eaa3cf..51a88a014cfd2 100644 --- a/sbin/mount_portal/portal.conf +++ b/sbin/mount_portal/portal.conf @@ -1,5 +1,5 @@ # @(#)portal.conf 8.1 (Berkeley) 6/5/93 -# $Id: portal.conf,v 1.1 1992/05/27 06:50:13 jsp Exp jsp $ +# $Id: portal.conf,v 1.1.1.1 1994/05/26 06:34:33 rgrimes Exp $ tcplisten/ tcplisten tcplisten/ tcp/ tcp tcp/ fs/ file fs/ diff --git a/sbin/mount_portal/portald.h b/sbin/mount_portal/portald.h index fbe111b1a7ad9..9bc75ac34925a 100644 --- a/sbin/mount_portal/portald.h +++ b/sbin/mount_portal/portald.h @@ -36,7 +36,7 @@ * * @(#)portald.h 8.1 (Berkeley) 6/5/93 * - * $Id: portald.h,v 1.1 1992/05/25 21:43:09 jsp Exp jsp $ + * $Id: portald.h,v 1.1.1.1 1994/05/26 06:34:33 rgrimes Exp $ */ #include <sys/cdefs.h> diff --git a/sbin/mount_portal/pt_conf.c b/sbin/mount_portal/pt_conf.c index d1eba94ea3fe9..f84ddf4d08bb4 100644 --- a/sbin/mount_portal/pt_conf.c +++ b/sbin/mount_portal/pt_conf.c @@ -36,7 +36,7 @@ * * @(#)pt_conf.c 8.1 (Berkeley) 6/5/93 * - * $Id: pt_conf.c,v 1.2 1992/05/27 07:09:27 jsp Exp jsp $ + * $Id: pt_conf.c,v 1.1.1.1 1994/05/26 06:34:33 rgrimes Exp $ */ #include <sys/types.h> diff --git a/sbin/mount_portal/pt_exec.c b/sbin/mount_portal/pt_exec.c index 06e3382da85b4..6ae2b834ab3f5 100644 --- a/sbin/mount_portal/pt_exec.c +++ b/sbin/mount_portal/pt_exec.c @@ -36,7 +36,7 @@ * * @(#)pt_exec.c 8.1 (Berkeley) 6/5/93 * - * $Id: pt_exec.c,v 1.1 1992/05/25 21:43:09 jsp Exp jsp $ + * $Id: pt_exec.c,v 1.1.1.1 1994/05/26 06:34:34 rgrimes Exp $ */ #include <stdio.h> diff --git a/sbin/mount_portal/pt_file.c b/sbin/mount_portal/pt_file.c index a9cd2ca3ea20b..940e2b9d50e7a 100644 --- a/sbin/mount_portal/pt_file.c +++ b/sbin/mount_portal/pt_file.c @@ -36,7 +36,7 @@ * * @(#)pt_file.c 8.2 (Berkeley) 3/27/94 * - * $Id: pt_file.c,v 1.2 1994/09/19 13:52:38 ache Exp $ + * $Id: pt_file.c,v 1.3 1995/04/19 12:24:06 gpalmer Exp $ */ #include <stdio.h> diff --git a/sbin/mount_portal/pt_tcp.c b/sbin/mount_portal/pt_tcp.c index 11f1453cefb8e..7485265809b98 100644 --- a/sbin/mount_portal/pt_tcp.c +++ b/sbin/mount_portal/pt_tcp.c @@ -36,7 +36,7 @@ * * @(#)pt_tcp.c 8.3 (Berkeley) 3/27/94 * - * $Id: pt_tcp.c,v 1.1.1.1 1994/05/26 06:34:34 rgrimes Exp $ + * $Id: pt_tcp.c,v 1.2 1995/04/19 12:24:08 gpalmer Exp $ */ #include <stdio.h> diff --git a/sbin/mount_std/mount_std.8 b/sbin/mount_std/mount_std.8 index e4acd6c3f1a74..e7f30172a8bf5 100644 --- a/sbin/mount_std/mount_std.8 +++ b/sbin/mount_std/mount_std.8 @@ -34,7 +34,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: mount_std.8,v 1.5 1996/12/23 23:09:46 wosch Exp $ +.\" $Id: mount_std.8,v 1.3.2.2 1997/01/02 17:48:06 mpp Exp $ .\" .Dd May 13, 1996 .Dt MOUNT_STD 8 diff --git a/sbin/mount_std/mount_std.c b/sbin/mount_std/mount_std.c index afe035491fc0f..77a9f01b09a5f 100644 --- a/sbin/mount_std/mount_std.c +++ b/sbin/mount_std/mount_std.c @@ -43,7 +43,7 @@ char copyright[] = #ifndef lint static const char rcsid[] = - "$Id: mount_std.c,v 1.2 1996/05/14 15:16:49 wollman Exp $"; + "$Id: mount_std.c,v 1.3 1996/09/14 02:58:55 bde Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/sbin/mount_umap/mount_umap.c b/sbin/mount_umap/mount_umap.c index 0542ab33c45b7..50a58643afa5c 100644 --- a/sbin/mount_umap/mount_umap.c +++ b/sbin/mount_umap/mount_umap.c @@ -45,7 +45,7 @@ char copyright[] = static char sccsid[] = "@(#)mount_umap.c 8.3 (Berkeley) 3/27/94"; */ static const char rcsid[] = - "$Id: mount_umap.c,v 1.6 1996/05/13 17:43:18 wollman Exp $"; + "$Id: mount_umap.c,v 1.7 1996/09/14 02:59:13 bde Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/sbin/mountd/Makefile b/sbin/mountd/Makefile index f32e11b895eb0..1eac0032579ad 100644 --- a/sbin/mountd/Makefile +++ b/sbin/mountd/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.3 (Berkeley) 1/25/94 -# $Id$ +# $Id: Makefile,v 1.4 1994/09/22 22:16:48 wollman Exp $ PROG= mountd CFLAGS+=-DNFS -DMFS -DCD9660 -DMSDOSFS diff --git a/sbin/mountd/exports.5 b/sbin/mountd/exports.5 index 3601668f09cba..7f995d6bf0708 100644 --- a/sbin/mountd/exports.5 +++ b/sbin/mountd/exports.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 -.\" $Id$ +.\" $Id: exports.5,v 1.3.2.1 1997/03/12 15:07:13 mpp Exp $ .\" .Dd March 29, 1995 .Dt EXPORTS 5 diff --git a/sbin/mountd/mountd.8 b/sbin/mountd/mountd.8 index 631b9684ac281..ad54adfd2c200 100644 --- a/sbin/mountd/mountd.8 +++ b/sbin/mountd/mountd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mountd.8 8.4 (Berkeley) 4/28/95 -.\" $Id: mountd.8,v 1.8 1997/03/11 12:43:44 peter Exp $ +.\" $Id: mountd.8,v 1.5.2.1 1997/03/12 15:07:15 mpp Exp $ .\" .Dd April 28, 1995 .Dt MOUNTD 8 diff --git a/sbin/mountd/mountd.c b/sbin/mountd/mountd.c index cb331865879cb..f0a1a67c29964 100644 --- a/sbin/mountd/mountd.c +++ b/sbin/mountd/mountd.c @@ -43,7 +43,7 @@ static char copyright[] = #ifndef lint /*static char sccsid[] = "From: @(#)mountd.c 8.8 (Berkeley) 2/20/94";*/ static const char rcsid[] = - "$Id: mountd.c,v 1.10 1995/11/17 23:22:34 joerg Exp $"; + "$Id: mountd.c,v 1.11 1996/08/29 14:20:57 wpaul Exp $"; #endif /*not lint*/ #include <sys/param.h> diff --git a/sbin/newlfs/newlfs.8 b/sbin/newlfs/newlfs.8 index f60c19e1595d4..c6673a1ba580a 100644 --- a/sbin/newlfs/newlfs.8 +++ b/sbin/newlfs/newlfs.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)newlfs.8 8.1 (Berkeley) 6/19/93 -.\" $Id: newlfs.8,v 1.5 1997/02/22 14:33:04 peter Exp $ +.\" $Id: newlfs.8,v 1.2.2.1 1997/03/03 07:01:35 mpp Exp $ .\" .Dd June 19, 1993 .Dt NEWLFS 8 diff --git a/sbin/nfsiod/nfsiod.8 b/sbin/nfsiod/nfsiod.8 index 51249e1bd50c7..589f440e10756 100644 --- a/sbin/nfsiod/nfsiod.8 +++ b/sbin/nfsiod/nfsiod.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)nfsiod.8 8.2 (Berkeley) 2/22/94 -.\" $Id: nfsiod.8,v 1.2 1994/09/22 22:16:59 wollman Exp $ +.\" $Id: nfsiod.8,v 1.3 1996/08/23 20:35:40 mpp Exp $ .\" .Dd September 22, 1994 .Dt NFSIOD 8 diff --git a/sbin/ping/ping.8 b/sbin/ping/ping.8 index 6ac8a1fed337b..bf9804c465df1 100644 --- a/sbin/ping/ping.8 +++ b/sbin/ping/ping.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ping.8 8.2 (Berkeley) 12/11/93 -.\" $Id: ping.8,v 1.7 1997/02/22 14:33:06 peter Exp $ +.\" $Id: ping.8,v 1.3.2.5 1997/03/03 07:01:37 mpp Exp $ .\" .Dd December 11, 1993 .Dt PING 8 diff --git a/sbin/reboot/boot_i386.8 b/sbin/reboot/boot_i386.8 index 2e4c2d74be816..d1a0ebd686865 100644 --- a/sbin/reboot/boot_i386.8 +++ b/sbin/reboot/boot_i386.8 @@ -36,7 +36,7 @@ .\" .\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94 .\" -.\" $Id: boot_i386.8,v 1.7 1997/02/22 14:33:07 peter Exp $ +.\" $Id: boot_i386.8,v 1.4.2.1 1997/03/03 07:01:38 mpp Exp $ .\" .Dd April 19, 1994 .Dt BOOT 8 i386 diff --git a/sbin/restore/restore.8 b/sbin/restore/restore.8 index 65a2993e15f2e..bb1d921170760 100644 --- a/sbin/restore/restore.8 +++ b/sbin/restore/restore.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)restore.8 8.2 (Berkeley) 12/11/93 -.\" $Id: restore.8,v 1.9 1997/02/22 14:33:08 peter Exp $ +.\" $Id: restore.8,v 1.5.2.2 1997/03/03 07:01:40 mpp Exp $ .\" " .Dd December 11, 1993 .Dt RESTORE 8 diff --git a/sbin/route/route.8 b/sbin/route/route.8 index 31e03145eac18..ebab5da523f57 100644 --- a/sbin/route/route.8 +++ b/sbin/route/route.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)route.8 8.3 (Berkeley) 3/19/94 -.|' $Id: route.8,v 1.10 1997/02/22 14:33:09 peter Exp $ +.|' $Id: route.8,v 1.7.2.1 1997/03/03 07:01:44 mpp Exp $ .\" .Dd March 19, 1994 .Dt ROUTE 8 diff --git a/sbin/route/route.c b/sbin/route/route.c index 4d2d637e3f22d..c22df55a7403e 100644 --- a/sbin/route/route.c +++ b/sbin/route/route.c @@ -43,7 +43,7 @@ static const char copyright[] = static char sccsid[] = "@(#)route.c 8.3 (Berkeley) 3/19/94"; */ static const char rcsid[] = - "$Id: route.c,v 1.16.2.1 1996/11/05 20:09:33 phk Exp $"; + "$Id: route.c,v 1.16.2.2 1997/02/21 08:25:22 roberto Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/sbin/routed/Makefile b/sbin/routed/Makefile index b17fd70ab04b2..1a0de689b4eed 100644 --- a/sbin/routed/Makefile +++ b/sbin/routed/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/19/93 -# $Id$ +# $Id: Makefile,v 1.2 1996/09/16 17:03:27 wollman Exp $ PROG= routed SRCS= if.c input.c main.c output.c parms.c radix.c rdisc.c table.c trace.c diff --git a/sbin/routed/defs.h b/sbin/routed/defs.h index 8dcf6ae48d72f..3ec1f43bfccbc 100644 --- a/sbin/routed/defs.h +++ b/sbin/routed/defs.h @@ -31,11 +31,11 @@ * SUCH DAMAGE. * * @(#)defs.h 8.1 (Berkeley) 6/5/93 - * $Id$ + * $Id: defs.h,v 1.2 1996/09/16 17:03:29 wollman Exp $ */ #ifndef __NetBSD__ -#ident "$Revision: 1.1.1.1 $" +#ident "$Revision: 1.2 $" #endif /* Definitions for RIPv2 routing process. diff --git a/sbin/routed/if.c b/sbin/routed/if.c index 539b07323e3a5..799750a88639c 100644 --- a/sbin/routed/if.c +++ b/sbin/routed/if.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)if.c 8.1 (Berkeley) 6/5/93"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.17 $" +#ident "$Revision: 1.1.1.1 $" #include "defs.h" #include "pathnames.h" diff --git a/sbin/routed/input.c b/sbin/routed/input.c index a854c41914e4a..30bc4fd934ade 100644 --- a/sbin/routed/input.c +++ b/sbin/routed/input.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)input.c 8.1 (Berkeley) 6/5/93"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.16 $" +#ident "$Revision: 1.1.1.1 $" #include "defs.h" diff --git a/sbin/routed/main.c b/sbin/routed/main.c index 4c353ae649150..7abda504f18df 100644 --- a/sbin/routed/main.c +++ b/sbin/routed/main.c @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 6/5/93"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.1.1.1 $" +#ident "$Revision: 1.2 $" #include "defs.h" #include "pathnames.h" diff --git a/sbin/routed/output.c b/sbin/routed/output.c index eafcf31e7864f..2e110f374f495 100644 --- a/sbin/routed/output.c +++ b/sbin/routed/output.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)output.c 8.1 (Berkeley) 6/5/93"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.17 $" +#ident "$Revision: 1.1.1.1 $" #include "defs.h" diff --git a/sbin/routed/parms.c b/sbin/routed/parms.c index 0d178c3698bca..e1b400c4822ec 100644 --- a/sbin/routed/parms.c +++ b/sbin/routed/parms.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)if.c 8.1 (Berkeley) 6/5/93"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.9 $" +#ident "$Revision: 1.1.1.1 $" #include "defs.h" #include "pathnames.h" diff --git a/sbin/routed/radix.c b/sbin/routed/radix.c index 7f7e1e47b79e4..34e65fa77917d 100644 --- a/sbin/routed/radix.c +++ b/sbin/routed/radix.c @@ -41,7 +41,7 @@ static char sccsid[] = "@(#)rdisc.c 8.1 (Berkeley) x/y/95"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.10 $" +#ident "$Revision: 1.1.1.1 $" #include "defs.h" diff --git a/sbin/routed/rdisc.c b/sbin/routed/rdisc.c index da1784c793e4c..d7548d8256df7 100644 --- a/sbin/routed/rdisc.c +++ b/sbin/routed/rdisc.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)rdisc.c 8.1 (Berkeley) x/y/95"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.16 $" +#ident "$Revision: 1.1.1.1 $" #include "defs.h" #include <netinet/in_systm.h> diff --git a/sbin/routed/routed.8 b/sbin/routed/routed.8 index 0266458aa9971..f189df87bd4e2 100644 --- a/sbin/routed/routed.8 +++ b/sbin/routed/routed.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)routed.8 8.2 (Berkeley) 12/11/93 -.\" $Id: routed.8,v 1.9 1997/03/12 13:22:17 mpp Exp $ +.\" $Id: routed.8,v 1.2.2.2 1997/03/12 13:31:08 mpp Exp $ .\" .Dd June 1, 1996 .Dt ROUTED 8 diff --git a/sbin/routed/rtquery/Makefile b/sbin/routed/rtquery/Makefile index e748e739bc9cb..d0babdeed1edd 100644 --- a/sbin/routed/rtquery/Makefile +++ b/sbin/routed/rtquery/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id$ +# $Id: Makefile,v 1.2 1996/09/16 17:04:22 wollman Exp $ PROG= rtquery MAN8= rtquery.8 diff --git a/sbin/routed/rtquery/rtquery.8 b/sbin/routed/rtquery/rtquery.8 index 172e0fccc3689..ed3896acc119c 100644 --- a/sbin/routed/rtquery/rtquery.8 +++ b/sbin/routed/rtquery/rtquery.8 @@ -1,4 +1,4 @@ -.\" $Id: rtquery.8,v 1.6 1997/02/22 14:33:13 peter Exp $ +.\" $Id: rtquery.8,v 1.1.1.1.2.1 1997/03/03 07:01:47 mpp Exp $ .Dd June 1, 1996 .Dt RTQUERY 8 .Os BSD 4.4 diff --git a/sbin/routed/rtquery/rtquery.c b/sbin/routed/rtquery/rtquery.c index 7d6913a048d72..4de3f43e8c2db 100644 --- a/sbin/routed/rtquery/rtquery.c +++ b/sbin/routed/rtquery/rtquery.c @@ -40,7 +40,7 @@ static char sccsid[] = "@(#)query.c 8.1 (Berkeley) 6/5/93"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.9 $" +#ident "$Revision: 1.1.1.1 $" #include <sys/param.h> #include <sys/protosw.h> diff --git a/sbin/routed/table.c b/sbin/routed/table.c index cef0f90fee4a4..f3f7d1ef4e74d 100644 --- a/sbin/routed/table.c +++ b/sbin/routed/table.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)tables.c 8.1 (Berkeley) 6/5/93"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.1.1.1 $" +#ident "$Revision: 1.2 $" #include "defs.h" diff --git a/sbin/routed/trace.c b/sbin/routed/trace.c index 8a0b59ccb023c..eb21fc8ff86b3 100644 --- a/sbin/routed/trace.c +++ b/sbin/routed/trace.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)trace.c 8.1 (Berkeley) 6/5/93"; #elif defined(__NetBSD__) static char rcsid[] = "$NetBSD$"; #endif -#ident "$Revision: 1.13 $" +#ident "$Revision: 1.1.1.1 $" #define RIPCMDS #include "defs.h" diff --git a/sbin/savecore/savecore.8 b/sbin/savecore/savecore.8 index 5a613c9f7e0e1..76f30fb188cc7 100644 --- a/sbin/savecore/savecore.8 +++ b/sbin/savecore/savecore.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)savecore.8 8.1 (Berkeley) 6/5/93 -.\" $Id: savecore.8,v 1.3 1994/09/24 00:08:21 wollman Exp $ +.\" $Id: savecore.8,v 1.4 1996/10/13 18:12:20 fenner Exp $ .\" .Dd September 23, 1994 .Dt SAVECORE 8 diff --git a/sbin/scsi/scsi.8 b/sbin/scsi/scsi.8 index b1c244dcc513b..fd8d574ef7b7c 100644 --- a/sbin/scsi/scsi.8 +++ b/sbin/scsi/scsi.8 @@ -39,7 +39,7 @@ .\" SUCH DAMAGE. .\" .\" -.\" $Id: scsi.8,v 1.9 1997/02/22 14:33:15 peter Exp $ +.\" $Id: scsi.8,v 1.6.2.1 1997/03/03 07:01:49 mpp Exp $ .\" .Dd October 11, 1993 .Dt SCSI 8 diff --git a/sbin/scsi/scsi.c b/sbin/scsi/scsi.c index eb399a1d1c173..4d014393c7c8c 100644 --- a/sbin/scsi/scsi.c +++ b/sbin/scsi/scsi.c @@ -39,7 +39,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scsi.c,v 1.11 1996/04/06 11:00:28 joerg Exp $ + * $Id: scsi.c,v 1.12 1996/10/05 17:40:20 joerg Exp $ */ #include <stdio.h> diff --git a/sbin/scsiformat/scsiformat.8 b/sbin/scsiformat/scsiformat.8 index 4e0b1d49c7cbd..1172b71368c23 100644 --- a/sbin/scsiformat/scsiformat.8 +++ b/sbin/scsiformat/scsiformat.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)scsiformat.8 5.1 (Berkeley) 6/5/93 -.\" $Id: scsiformat.8,v 1.4.2.1 1996/11/04 10:11:45 phk Exp $ +.\" $Id: scsiformat.8,v 1.4.2.2 1997/03/02 11:27:07 joerg Exp $ .\" .Dd June 5, 1993 .Dt SCSIFORMAT 8 diff --git a/sbin/scsiformat/scsiformat.sh b/sbin/scsiformat/scsiformat.sh index 1bbe8e1ba6ad9..b64042102dc33 100644 --- a/sbin/scsiformat/scsiformat.sh +++ b/sbin/scsiformat/scsiformat.sh @@ -26,7 +26,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# $Id: scsiformat.sh,v 1.1.4.1 1996/11/04 10:11:50 phk Exp $ +# $Id: scsiformat.sh,v 1.1.4.2 1997/03/02 11:27:09 joerg Exp $ # PATH="/sbin:/usr/sbin:/bin:/usr/bin"; export PATH diff --git a/sbin/slattach/Makefile b/sbin/slattach/Makefile index 4d288ecebad0e..e6dfd0aea492e 100644 --- a/sbin/slattach/Makefile +++ b/sbin/slattach/Makefile @@ -1,6 +1,6 @@ # @(#)Makefile 5.4 (Berkeley) 5/11/90 # -# $Header: /home/ncvs/src/sbin/slattach/Makefile,v 1.5 1995/09/19 03:27:23 ache Exp $ +# $Header: /home/ncvs/src/sbin/slattach/Makefile,v 1.6 1995/09/20 12:56:23 ache Exp $ PROG= slattach SRCS= slattach.c uucplock.c diff --git a/sbin/slattach/slattach.8 b/sbin/slattach/slattach.8 index 3527f8dd1b6e6..fc1786edb3478 100644 --- a/sbin/slattach/slattach.8 +++ b/sbin/slattach/slattach.8 @@ -31,7 +31,7 @@ .\" .\" @(#)slattach.8 6.4 (Berkeley) 3/16/91 .\" -.\" $Header: /home/ncvs/src/sbin/slattach/slattach.8,v 1.12 1997/01/13 00:25:46 wosch Exp $ +.\" $Header: /home/ncvs/src/sbin/slattach/slattach.8,v 1.11.2.1 1997/03/03 07:01:50 mpp Exp $ .\" .Dd April 4, 1993 .Dt SLATTACH 8 diff --git a/sbin/startslip/startslip.1 b/sbin/startslip/startslip.1 index 59ab80726d7ae..e115218c4bff2 100644 --- a/sbin/startslip/startslip.1 +++ b/sbin/startslip/startslip.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)startslip.1 8.1 (Berkeley) 6/5/93 -.\" $Id: startslip.1,v 1.13 1997/02/22 14:33:20 peter Exp $ +.\" $Id: startslip.1,v 1.10.2.1 1997/03/03 07:01:52 mpp Exp $ .\" .Dd June 5, 1993 .Dt STARTSLIP 1 diff --git a/sbin/startslip/startslip.c b/sbin/startslip/startslip.c index f5d121bca2c1f..3f4ad05660cc7 100644 --- a/sbin/startslip/startslip.c +++ b/sbin/startslip/startslip.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: startslip.c,v 1.17 1995/09/20 04:56:09 ache Exp $ + * $Id: startslip.c,v 1.18 1995/09/27 17:15:37 ache Exp $ */ #ifndef lint diff --git a/sbin/swapon/swapon.8 b/sbin/swapon/swapon.8 index 979f77aca46d9..e9fc7fad62069 100644 --- a/sbin/swapon/swapon.8 +++ b/sbin/swapon/swapon.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)swapon.8 8.1 (Berkeley) 6/5/93 -.\" $Id$ +.\" $Id: swapon.8,v 1.4 1996/09/23 22:23:19 wosch Exp $ .\" .Dd June 5, 1993 .Dt SWAPON 8 diff --git a/secure/Makefile b/secure/Makefile deleted file mode 100644 index e74ab8e391321..0000000000000 --- a/secure/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -# $Id: Makefile,v 1.8 1995/09/29 20:22:44 ache Exp $ - -# lib must be first, or it will not work. This is because we reference -# the lib's in the directory where they are built from the binaries we -# want to build. - -SUBDIR= lib usr.bin - -SDIR= ${.CURDIR}/.. - -CODAI= ${MAKE} ${MFLAGS} cleandir; \ - ${MAKE} ${MFLAGS} obj; \ - ${MAKE} ${MFLAGS} depend all install - -CODAD= ${MAKE} ${MFLAGS} MAKE_EBONES=yes cleandir; \ - ${MAKE} ${MFLAGS} MAKE_EBONES=yes obj; \ - ${MAKE} ${MFLAGS} MAKE_EBONES=yes depend all distribute - -# These are the programs which depend on secure libs -sprog: - cd ${SDIR}/bin/ed; ${CODAI} - cd ${SDIR}/sbin/init; ${CODAI} - -bootstrap: - ( cd include; ${MAKE} ${MFLAGS} install ) - ( cd lib; ${MAKE} ${MFLAGS} depend all install ) - ${MAKE} ${MFLAGS} cleandir - ${MAKE} ${MFLAGS} obj - ${MAKE} ${MFLAGS} depend all install sprog - -help-distribute: distribute - cd ${SDIR}/bin/ed; ${CODAD} - cd ${SDIR}/sbin/init; ${CODAD} - -.include <bsd.subdir.mk> diff --git a/secure/Makefile.inc b/secure/Makefile.inc deleted file mode 100644 index 7c945cf8631e2..0000000000000 --- a/secure/Makefile.inc +++ /dev/null @@ -1,9 +0,0 @@ -# $Id: Makefile.inc,v 1.8 1996/11/07 14:41:20 markm Exp $ - -DISTRIBUTION=des - -.if exists(${.CURDIR}/../../lib/libcrypt/obj) -CRYPTOBJDIR= ${.CURDIR}/../../lib/libcrypt/obj -.else -CRYPTOBJDIR= ${.CURDIR}/../../lib/libcrypt -.endif diff --git a/secure/lib/Makefile b/secure/lib/Makefile deleted file mode 100644 index 2b47738ed2fdc..0000000000000 --- a/secure/lib/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# $Id$ - -SUBDIR= libcipher libdes - -.include <bsd.subdir.mk> - diff --git a/secure/lib/Makefile.inc b/secure/lib/Makefile.inc deleted file mode 100644 index 019e99afab658..0000000000000 --- a/secure/lib/Makefile.inc +++ /dev/null @@ -1,6 +0,0 @@ -# $Id: Makefile.inc,v 1.3 1994/11/14 20:45:28 phk Exp $ - -.include "${.CURDIR}/../../Makefile.inc" -.if exists(${.CURDIR}/../../../lib/Makefile.inc) -.include "${.CURDIR}/../../../lib/Makefile.inc" -.endif diff --git a/secure/lib/libcipher/Makefile b/secure/lib/libcipher/Makefile deleted file mode 100644 index c0cd46ac055c5..0000000000000 --- a/secure/lib/libcipher/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# $Id: Makefile,v 1.8 1996/04/11 07:08:09 markm Exp $ -# - -LIB= cipher -SRCS= crypt.c -PRECIOUSLIB= yes -#NOPROFILE= yes - -MAN3= cipher.3 -MLINKS= cipher.3 encrypt.3 cipher.3 setkey.3 -MLINKS+=cipher.3 des_cipher.3 cipher.3 des_setkey.3 - -#SUBDIR= test - -.include <bsd.lib.mk> diff --git a/secure/lib/libcipher/README b/secure/lib/libcipher/README deleted file mode 100644 index 53ea2299fbfd3..0000000000000 --- a/secure/lib/libcipher/README +++ /dev/null @@ -1,98 +0,0 @@ - - FreeSec - NetBSD libcrypt replacement - - David Burren <davidb@werj.com.au> - Release 1.0, March 1994 - - Document ref: $Id: README,v 1.1 1994/09/07 08:55:24 g89r4222 Exp $ - - -Description -=========== -This library is a drop-in replacement for the libcrypt used in U.S. copies -of NetBSD, duplicating that library's functionality. A suite of verification -and benchmark tools is provided. - -FreeSec 1.0 is an original implementation of the DES algorithm and the -crypt(3) interfaces used in Unix-style operating systems. It was produced -in Australia and as such is not covered by U.S. export restrictions (at -least for copies that remain outside the U.S.). - - -History -======= -An earlier version of the FreeSec library was built using the UFC-crypt -package that is distributed as part of the GNU library. UFC-crypt did not -support the des_cipher() or des_setkey() functions, nor the new-style -crypt with long keys. These were implemented in FreeSec 0.2, but at least -one bug remained, where encryption would only succeed if either the salt -or the plaintext was zero. Because of its heritage FreeSec 0.2 was covered -by the GNU Library Licence. - -FreeSec 1.0 is an original implementation by myself, and has been tested -against the verification suite I'd been using with FreeSec 0.2 (this is not -encumbered by any licence). FreeSec 1.0 is covered by a Berkeley-style -licence, which better fits into the *BSD hierarchy than the earlier GNU -licence. - - -Why should you use FreeSec? -=========================== -FreeSec is intended as a replacement for the U.S.-only NetBSD libcrypt, -to act as a baseline for encryption functionality. - -Some other packages (such as Eric Young's libdes package) are faster and -more complete than FreeSec, but typically have different licencing -arrangements. While some applications will justify the use of these -packages, the idea here is that everyone should have access to *at least* -the functionality of FreeSec. - - -Performance of FreeSec 1.0 -========================== -I compare below the performance of three libcrypt implementations. As can be -seen, it's between the U.S. library and UFC-crypt. While the performance of -FreeSec 1.0 is good enough to keep me happy for now, I hope to improve it in -future versions. I was interested to note that while UFC-crypt is faster on -a 386, hardware characteristics can have markedly different effects on each -implementation. - - -386DX40, 128k cache | U.S. BSD | FreeSec 1.0 | FreeSec 0.2 -CFLAGS=-O2 | | | -========================+===============+===============+================== -crypt (alternate keys) | 317 | 341 | 395 - crypt/sec | | | -------------------------+---------------+---------------+------------------ -crypt (constant key) | 317 | 368 | 436 - crypt/sec | | | -------------------------+---------------+---------------+------------------ -des_cipher( , , , 1) | 6037 | 7459 | 3343 - blocks/sec | | | -------------------------+---------------+---------------+------------------ -des_cipher( , , , 25) | 8871 | 9627 | 15926 - blocks/sec | | | - -Notes: The results tabled here are the average over 10 runs. - The entry/exit code for FreeSec 0.2's des_cipher() is particularly - inefficient, thus the anomalous result for single encryptions. - - -As an experiment using a machine with a larger register set and an -obscenely fast CPU, I obtained the following results: - - 60 MHz R4400 | FreeSec 1.0 | FreeSec 0.2 - ========================+================================= - crypt (alternate keys) | 2545 | 2702 - crypt/sec | | - ------------------------+--------------------------------- - crypt (constant key) | 2852 | 2981 - crypt/sec | | - ------------------------+--------------------------------- - des_cipher( , , , 1) | 56443 | 21409 - blocks/sec | | - ------------------------+--------------------------------- - des_cipher( , , , 25) | 82531 | 18276 - blocks/sec | | - -Obviously your mileage will vary with your hardware and your compiler... diff --git a/secure/lib/libcipher/README.FreeBSD b/secure/lib/libcipher/README.FreeBSD deleted file mode 100644 index 06b943fa19503..0000000000000 --- a/secure/lib/libcipher/README.FreeBSD +++ /dev/null @@ -1,6 +0,0 @@ -$Id: README.FreeBSD,v 1.1 1994/09/07 08:55:25 g89r4222 Exp $ - -This is FreeSec package for NetBSD, unchanged for -FreeBSD, except for the Makefile. - -The other stuff in libcrypt will be added in stages! diff --git a/secure/lib/libcipher/cipher.3 b/secure/lib/libcipher/cipher.3 deleted file mode 100644 index 162e89fcd3464..0000000000000 --- a/secure/lib/libcipher/cipher.3 +++ /dev/null @@ -1,150 +0,0 @@ -.\" FreeSec: libcrypt for NetBSD -.\" -.\" Copyright (c) 1994 David Burren -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 4. Neither the name of the author nor the names of other contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: crypt.3,v 1.5 1995/07/25 14:03:49 mark Exp $ -.\" -.\" Manual page, using -mandoc macros -.\" -.Dd March 9, 1994 -.Dt CIPHER 3 -.Os "FreeSec 1.0" -.Sh NAME -.Nm setkey , -.Nm encrypt , -.Nm des_setkey , -.Nm des_cipher , -.Nd DES encryption -.Sh SYNOPSIS -.Ft int -.Fn setkey "char *key" -.Ft int -.Fn encrypt "char *block" "int flag" -.Ft int -.Fn des_setkey "const char *key" -.Ft int -.Fn des_cipher "const char *in" "char *out" "long salt" "int count" -.Sh DESCRIPTION -The functions, -.Fn encrypt , -.Fn setkey , -.Fn des_setkey -and -.Fn des_cipher -provide access to the -.Tn DES -algorithm. -.Fn setkey -is passed a 64-byte array of binary values (numeric 0 or 1). -A 56-bit key is extracted from this array by dividing the -array into groups of 8, and ignoring the last bit in each group. -That bit is reserved for a byte parity check by DES, but is ignored -by these functions. -.Pp -The -.Fa block -argument to -.Fn encrypt -is also a 64-byte array of binary values. -If the value of -.Fa flag -is 0, -.Fa block -is encrypted otherwise it is decrypted. -The result is returned in the original array -.Fa block -after using the key specified by -.Fn setkey -to process it. -.Pp -The argument to -.Fn des_setkey -is a character array of length 8. -The least significant bit (the parity bit) in each character is ignored, -and the remaining bits are concatenated to form a 56-bit key. -The function -.Fn des_cipher -encrypts (or decrypts if -.Fa count -is negative) the 64-bits stored in the 8 characters at -.Fa in -using -.Xr abs 3 -of -.Fa count -iterations of -.Tn DES -and stores the 64-bit result in the 8 characters at -.Fa out -(which may be the same as -.Fa in -). -The -.Fa salt -introduces disorder in the -.Tn DES -algorithm in one of 16777216 or 4096 possible ways -(ie. with 24 or 12 bits: if bit -.Em i -of the -.Ar salt -is set, then bits -.Em i -and -.Em i+24 -are swapped in the -.Tn DES -E-box output). -.Pp -The functions -.Fn setkey , -.Fn encrypt , -.Fn des_setkey , -and -.Fn des_cipher -return 0 on success and 1 on failure. -.Pp -The -.Fn setkey -and -.Fn des_setkey -functions manipulate the same key space. -.Sh SEE ALSO -.Xr login 1 , -.Xr passwd 1 , -.Xr getpass 3 , -.Xr crypt 3 , -.Xr passwd 5 -.Sh HISTORY -This library (FreeSec 1.0) was developed outside the United States of America -as an unencumbered replacement for the U.S.-only NetBSD libcrypt encryption -library. -Users should be aware that this code (and programs staticly linked with it) -may not be exported from the U.S., although it apparently can be imported. -.Sh AUTHOR -David Burren <davidb@werj.com.au> diff --git a/secure/lib/libcipher/crypt.c b/secure/lib/libcipher/crypt.c deleted file mode 100644 index cbdefde6bf961..0000000000000 --- a/secure/lib/libcipher/crypt.c +++ /dev/null @@ -1,623 +0,0 @@ -/* - * FreeSec: libcrypt for NetBSD - * - * Copyright (c) 1994 David Burren - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the author nor the names of other contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id: crypt.c,v 1.2 1994/09/07 21:48:46 csgr Exp $ - * - * This is an original implementation of the DES and the crypt(3) interfaces - * by David Burren <davidb@werj.com.au>. - * - * An excellent reference on the underlying algorithm (and related - * algorithms) is: - * - * B. Schneier, Applied Cryptography: protocols, algorithms, - * and source code in C, John Wiley & Sons, 1994. - * - * Note that in that book's description of DES the lookups for the initial, - * pbox, and final permutations are inverted (this has been brought to the - * attention of the author). A list of errata for this book has been - * posted to the sci.crypt newsgroup by the author and is available for FTP. - * - * ARCHITECTURE ASSUMPTIONS: - * This code assumes that u_longs are 32 bits. It will probably not - * operate on 64-bit machines without modifications. - * It is assumed that the 8-byte arrays passed by reference can be - * addressed as arrays of u_longs (ie. the CPU is not picky about - * alignment). - */ -#include <sys/types.h> -#include <sys/param.h> -#include <pwd.h> - -#ifdef DEBUG -# include <stdio.h> -#endif - - -static u_char IP[64] = { - 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, - 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, - 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, - 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 -}; - -static u_char inv_key_perm[64]; -static u_char u_key_perm[56]; -static u_char key_perm[56] = { - 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, - 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, - 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, - 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4 -}; - -static u_char key_shifts[16] = { - 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 -}; - -static u_char inv_comp_perm[56]; -static u_char comp_perm[48] = { - 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, - 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, - 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, - 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32 -}; - -/* - * No E box is used, as it's replaced by some ANDs, shifts, and ORs. - */ - -static u_char u_sbox[8][64]; -static u_char sbox[8][64] = { - { - 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, - 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, - 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, - 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 - }, - { - 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10, - 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5, - 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15, - 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9 - }, - { - 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, - 13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1, - 13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7, - 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12 - }, - { - 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15, - 13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9, - 10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4, - 3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14 - }, - { - 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9, - 14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6, - 4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14, - 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3 - }, - { - 12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11, - 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8, - 9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6, - 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13 - }, - { - 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1, - 13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6, - 1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2, - 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12 - }, - { - 13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7, - 1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2, - 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8, - 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11 - } -}; - -static u_char un_pbox[32]; -static u_char pbox[32] = { - 16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, - 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25 -}; - -static u_long bits32[32] = -{ - 0x80000000, 0x40000000, 0x20000000, 0x10000000, - 0x08000000, 0x04000000, 0x02000000, 0x01000000, - 0x00800000, 0x00400000, 0x00200000, 0x00100000, - 0x00080000, 0x00040000, 0x00020000, 0x00010000, - 0x00008000, 0x00004000, 0x00002000, 0x00001000, - 0x00000800, 0x00000400, 0x00000200, 0x00000100, - 0x00000080, 0x00000040, 0x00000020, 0x00000010, - 0x00000008, 0x00000004, 0x00000002, 0x00000001 -}; - -static u_char bits8[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 }; - -static u_long saltbits; -static long old_salt; -static u_long *bits28, *bits24; -static u_char init_perm[64], final_perm[64]; -static u_long en_keysl[16], en_keysr[16]; -static u_long de_keysl[16], de_keysr[16]; -static int des_initialised = 0; -static u_char m_sbox[4][4096]; -static u_long psbox[4][256]; -static u_long ip_maskl[8][256], ip_maskr[8][256]; -static u_long fp_maskl[8][256], fp_maskr[8][256]; -static u_long key_perm_maskl[8][128], key_perm_maskr[8][128]; -static u_long comp_maskl[8][128], comp_maskr[8][128]; -static u_long old_rawkey0, old_rawkey1; - -static u_char ascii64[] = - "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; -/* 0000000000111111111122222222223333333333444444444455555555556666 */ -/* 0123456789012345678901234567890123456789012345678901234567890123 */ - -static inline int -ascii_to_bin(char ch) -{ - if (ch > 'z') - return(0); - if (ch >= 'a') - return(ch - 'a' + 38); - if (ch > 'Z') - return(0); - if (ch >= 'A') - return(ch - 'A' + 12); - if (ch > '9') - return(0); - if (ch >= '.') - return(ch - '.'); - return(0); -} - - -static void -des_init() -{ - int i, j, b, k, inbit, obit; - u_long *p, *il, *ir, *fl, *fr; - - old_rawkey0 = old_rawkey1 = 0L; - saltbits = 0L; - old_salt = 0L; - bits24 = (bits28 = bits32 + 4) + 4; - - /* - * Invert the S-boxes, reordering the input bits. - */ - for (i = 0; i < 8; i++) - for (j = 0; j < 64; j++) { - b = (j & 0x20) | ((j & 1) << 4) | ((j >> 1) & 0xf); - u_sbox[i][j] = sbox[i][b]; - } - - /* - * Convert the inverted S-boxes into 4 arrays of 8 bits. - * Each will handle 12 bits of the S-box input. - */ - for (b = 0; b < 4; b++) - for (i = 0; i < 64; i++) - for (j = 0; j < 64; j++) - m_sbox[b][(i << 6) | j] = - (u_sbox[(b << 1)][i] << 4) | - u_sbox[(b << 1) + 1][j]; - - /* - * Set up the initial & final permutations into a useful form, and - * initialise the inverted key permutation. - */ - for (i = 0; i < 64; i++) { - init_perm[final_perm[i] = IP[i] - 1] = i; - inv_key_perm[i] = 255; - } - - /* - * Invert the key permutation and initialise the inverted key - * compression permutation. - */ - for (i = 0; i < 56; i++) { - u_key_perm[i] = key_perm[i] - 1; - inv_key_perm[key_perm[i] - 1] = i; - inv_comp_perm[i] = 255; - } - - /* - * Invert the key compression permutation. - */ - for (i = 0; i < 48; i++) { - inv_comp_perm[comp_perm[i] - 1] = i; - } - - /* - * Set up the OR-mask arrays for the initial and final permutations, - * and for the key initial and compression permutations. - */ - for (k = 0; k < 8; k++) { - for (i = 0; i < 256; i++) { - *(il = &ip_maskl[k][i]) = 0L; - *(ir = &ip_maskr[k][i]) = 0L; - *(fl = &fp_maskl[k][i]) = 0L; - *(fr = &fp_maskr[k][i]) = 0L; - for (j = 0; j < 8; j++) { - inbit = 8 * k + j; - if (i & bits8[j]) { - if ((obit = init_perm[inbit]) < 32) - *il |= bits32[obit]; - else - *ir |= bits32[obit-32]; - if ((obit = final_perm[inbit]) < 32) - *fl |= bits32[obit]; - else - *fr |= bits32[obit - 32]; - } - } - } - for (i = 0; i < 128; i++) { - *(il = &key_perm_maskl[k][i]) = 0L; - *(ir = &key_perm_maskr[k][i]) = 0L; - for (j = 0; j < 7; j++) { - inbit = 8 * k + j; - if (i & bits8[j + 1]) { - if ((obit = inv_key_perm[inbit]) == 255) - continue; - if (obit < 28) - *il |= bits28[obit]; - else - *ir |= bits28[obit - 28]; - } - } - *(il = &comp_maskl[k][i]) = 0L; - *(ir = &comp_maskr[k][i]) = 0L; - for (j = 0; j < 7; j++) { - inbit = 7 * k + j; - if (i & bits8[j + 1]) { - if ((obit=inv_comp_perm[inbit]) == 255) - continue; - if (obit < 24) - *il |= bits24[obit]; - else - *ir |= bits24[obit - 24]; - } - } - } - } - - /* - * Invert the P-box permutation, and convert into OR-masks for - * handling the output of the S-box arrays setup above. - */ - for (i = 0; i < 32; i++) - un_pbox[pbox[i] - 1] = i; - - for (b = 0; b < 4; b++) - for (i = 0; i < 256; i++) { - *(p = &psbox[b][i]) = 0L; - for (j = 0; j < 8; j++) { - if (i & bits8[j]) - *p |= bits32[un_pbox[8 * b + j]]; - } - } - - des_initialised = 1; -} - - -static void -setup_salt(long salt) -{ - u_long obit, saltbit; - int i; - - if (salt == old_salt) - return; - old_salt = salt; - - saltbits = 0L; - saltbit = 1; - obit = 0x800000; - for (i = 0; i < 24; i++) { - if (salt & saltbit) - saltbits |= obit; - saltbit <<= 1; - obit >>= 1; - } -} - - -int -des_setkey(const char *key) -{ - u_long k0, k1, rawkey0, rawkey1; - int shifts, i, b, round; - - if (!des_initialised) - des_init(); - - rawkey0 = ntohl(*(u_long *) key); - rawkey1 = ntohl(*(u_long *) (key + 4)); - - if ((rawkey0 | rawkey1) - && rawkey0 == old_rawkey0 - && rawkey1 == old_rawkey1) { - /* - * Already setup for this key. - * This optimisation fails on a zero key (which is weak and - * has bad parity anyway) in order to simplify the starting - * conditions. - */ - return(0); - } - old_rawkey0 = rawkey0; - old_rawkey1 = rawkey1; - - /* - * Do key permutation and split into two 28-bit subkeys. - */ - k0 = key_perm_maskl[0][rawkey0 >> 25] - | key_perm_maskl[1][(rawkey0 >> 17) & 0x7f] - | key_perm_maskl[2][(rawkey0 >> 9) & 0x7f] - | key_perm_maskl[3][(rawkey0 >> 1) & 0x7f] - | key_perm_maskl[4][rawkey1 >> 25] - | key_perm_maskl[5][(rawkey1 >> 17) & 0x7f] - | key_perm_maskl[6][(rawkey1 >> 9) & 0x7f] - | key_perm_maskl[7][(rawkey1 >> 1) & 0x7f]; - k1 = key_perm_maskr[0][rawkey0 >> 25] - | key_perm_maskr[1][(rawkey0 >> 17) & 0x7f] - | key_perm_maskr[2][(rawkey0 >> 9) & 0x7f] - | key_perm_maskr[3][(rawkey0 >> 1) & 0x7f] - | key_perm_maskr[4][rawkey1 >> 25] - | key_perm_maskr[5][(rawkey1 >> 17) & 0x7f] - | key_perm_maskr[6][(rawkey1 >> 9) & 0x7f] - | key_perm_maskr[7][(rawkey1 >> 1) & 0x7f]; - /* - * Rotate subkeys and do compression permutation. - */ - shifts = 0; - for (round = 0; round < 16; round++) { - u_long t0, t1; - int bit; - - shifts += key_shifts[round]; - - t0 = (k0 << shifts) | (k0 >> (28 - shifts)); - t1 = (k1 << shifts) | (k1 >> (28 - shifts)); - - de_keysl[15 - round] = - en_keysl[round] = comp_maskl[0][(t0 >> 21) & 0x7f] - | comp_maskl[1][(t0 >> 14) & 0x7f] - | comp_maskl[2][(t0 >> 7) & 0x7f] - | comp_maskl[3][t0 & 0x7f] - | comp_maskl[4][(t1 >> 21) & 0x7f] - | comp_maskl[5][(t1 >> 14) & 0x7f] - | comp_maskl[6][(t1 >> 7) & 0x7f] - | comp_maskl[7][t1 & 0x7f]; - - de_keysr[15 - round] = - en_keysr[round] = comp_maskr[0][(t0 >> 21) & 0x7f] - | comp_maskr[1][(t0 >> 14) & 0x7f] - | comp_maskr[2][(t0 >> 7) & 0x7f] - | comp_maskr[3][t0 & 0x7f] - | comp_maskr[4][(t1 >> 21) & 0x7f] - | comp_maskr[5][(t1 >> 14) & 0x7f] - | comp_maskr[6][(t1 >> 7) & 0x7f] - | comp_maskr[7][t1 & 0x7f]; - } - return(0); -} - - -static int -do_des( u_long l_in, u_long r_in, u_long *l_out, u_long *r_out, int count) -{ - /* - * l_in, r_in, l_out, and r_out are in pseudo-"big-endian" format. - */ - u_long mask, rawl, rawr, l, r, *kl, *kr, *kl1, *kr1; - u_long f, r48l, r48r; - int i, j, b, round; - - if (count == 0) { - return(1); - } else if (count > 0) { - /* - * Encrypting - */ - kl1 = en_keysl; - kr1 = en_keysr; - } else { - /* - * Decrypting - */ - count = -count; - kl1 = de_keysl; - kr1 = de_keysr; - } - - /* - * Do initial permutation (IP). - */ - l = ip_maskl[0][l_in >> 24] - | ip_maskl[1][(l_in >> 16) & 0xff] - | ip_maskl[2][(l_in >> 8) & 0xff] - | ip_maskl[3][l_in & 0xff] - | ip_maskl[4][r_in >> 24] - | ip_maskl[5][(r_in >> 16) & 0xff] - | ip_maskl[6][(r_in >> 8) & 0xff] - | ip_maskl[7][r_in & 0xff]; - r = ip_maskr[0][l_in >> 24] - | ip_maskr[1][(l_in >> 16) & 0xff] - | ip_maskr[2][(l_in >> 8) & 0xff] - | ip_maskr[3][l_in & 0xff] - | ip_maskr[4][r_in >> 24] - | ip_maskr[5][(r_in >> 16) & 0xff] - | ip_maskr[6][(r_in >> 8) & 0xff] - | ip_maskr[7][r_in & 0xff]; - - while (count--) { - /* - * Do each round. - */ - kl = kl1; - kr = kr1; - round = 16; - while (round--) { - /* - * Expand R to 48 bits (simulate the E-box). - */ - r48l = ((r & 0x00000001) << 23) - | ((r & 0xf8000000) >> 9) - | ((r & 0x1f800000) >> 11) - | ((r & 0x01f80000) >> 13) - | ((r & 0x001f8000) >> 15); - - r48r = ((r & 0x0001f800) << 7) - | ((r & 0x00001f80) << 5) - | ((r & 0x000001f8) << 3) - | ((r & 0x0000001f) << 1) - | ((r & 0x80000000) >> 31); - /* - * Do salting for crypt() and friends, and - * XOR with the permuted key. - */ - f = (r48l ^ r48r) & saltbits; - r48l ^= f ^ *kl++; - r48r ^= f ^ *kr++; - /* - * Do sbox lookups (which shrink it back to 32 bits) - * and do the pbox permutation at the same time. - */ - f = psbox[0][m_sbox[0][r48l >> 12]] - | psbox[1][m_sbox[1][r48l & 0xfff]] - | psbox[2][m_sbox[2][r48r >> 12]] - | psbox[3][m_sbox[3][r48r & 0xfff]]; - /* - * Now that we've permuted things, complete f(). - */ - f ^= l; - l = r; - r = f; - } - r = l; - l = f; - } - /* - * Do final permutation (inverse of IP). - */ - *l_out = fp_maskl[0][l >> 24] - | fp_maskl[1][(l >> 16) & 0xff] - | fp_maskl[2][(l >> 8) & 0xff] - | fp_maskl[3][l & 0xff] - | fp_maskl[4][r >> 24] - | fp_maskl[5][(r >> 16) & 0xff] - | fp_maskl[6][(r >> 8) & 0xff] - | fp_maskl[7][r & 0xff]; - *r_out = fp_maskr[0][l >> 24] - | fp_maskr[1][(l >> 16) & 0xff] - | fp_maskr[2][(l >> 8) & 0xff] - | fp_maskr[3][l & 0xff] - | fp_maskr[4][r >> 24] - | fp_maskr[5][(r >> 16) & 0xff] - | fp_maskr[6][(r >> 8) & 0xff] - | fp_maskr[7][r & 0xff]; - return(0); -} - - -int -des_cipher(const char *in, char *out, long salt, int count) -{ - u_long l_out, r_out, rawl, rawr; - int retval; - - if (!des_initialised) - des_init(); - - setup_salt(salt); - - rawl = ntohl(*((u_long *) in)++); - rawr = ntohl(*((u_long *) in)); - - retval = do_des(rawl, rawr, &l_out, &r_out, count); - - *((u_long *) out)++ = htonl(l_out); - *((u_long *) out) = htonl(r_out); - return(retval); -} - - -int -setkey(char *key) -{ - int i, j; - u_long packed_keys[2]; - u_char *p; - - p = (u_char *) packed_keys; - - for (i = 0; i < 8; i++) { - p[i] = 0; - for (j = 0; j < 8; j++) - if (*key++ & 1) - p[i] |= bits8[j]; - } - return(des_setkey(p)); -} - - -int -encrypt(char *block, int flag) -{ - u_long io[2]; - u_char *p; - int i, j, retval; - - if (!des_initialised) - des_init(); - - setup_salt(0L); - p = block; - for (i = 0; i < 2; i++) { - io[i] = 0L; - for (j = 0; j < 32; j++) - if (*p++ & 1) - io[i] |= bits32[j]; - } - retval = do_des(io[0], io[1], io, io + 1, flag ? -1 : 1); - for (i = 0; i < 2; i++) - for (j = 0; j < 32; j++) - block[(i << 5) | j] = (io[i] & bits32[j]) ? 1 : 0; - return(retval); -} - diff --git a/secure/lib/libcipher/test/Makefile b/secure/lib/libcipher/test/Makefile deleted file mode 100644 index f1cf6cced1a59..0000000000000 --- a/secure/lib/libcipher/test/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# -# Hacked Makefile to compile and run the DES-certification program, -# but not install anything. -# -# $Id: Makefile,v 1.1.1.1 1994/09/07 21:18:08 csgr Exp $ -# -LIBCRYPT!=cd $(.CURDIR)/..; \ - printf "xxx:\n\techo \$${.OBJDIR}/libcipher.a\n" | make -r -s -f - xxx - -#CFLAGS+= -DHAVE_CRYPT16 -LIBCRYPT+= -lcrypt - -TARGETS=cert speedcrypt speeddes - -all: ${TARGETS} - -test: all testcrypt testencrypt testdes testspeed - -testcrypt: cert - @./cert -c - -testencrypt: cert - @./cert -e < ${.CURDIR}/cert.input - -testdes: cert - @./cert -d < ${.CURDIR}/cert.input - -testspeed: cryptspeed desspeed - -cryptspeed: speedcrypt - @./speedcrypt 30 1 - @./speedcrypt 30 1 - @./speedcrypt 30 0 - @./speedcrypt 30 0 - -desspeed: speeddes - @./speeddes 30 1 - @./speeddes 30 1 - @./speeddes 40 25 - @./speeddes 40 25 - -cert: cert.c ${LIBCRYPT} - $(CC) $(CFLAGS) -o cert ${.CURDIR}/cert.c ${LIBCRYPT} - -speedcrypt: speedcrypt.c ${LIBCRYPT} - $(CC) $(CFLAGS) -o speedcrypt ${.CURDIR}/speedcrypt.c ${LIBCRYPT} - -speeddes: speeddes.c ${LIBCRYPT} - $(CC) $(CFLAGS) -o speeddes ${.CURDIR}/speeddes.c ${LIBCRYPT} - -clean: - rm -f ${TARGETS} - -install: - -.include <bsd.prog.mk> diff --git a/secure/lib/libcipher/test/README b/secure/lib/libcipher/test/README deleted file mode 100644 index eb6b0bebbc1de..0000000000000 --- a/secure/lib/libcipher/test/README +++ /dev/null @@ -1,10 +0,0 @@ -This directory contains test programs to certify DES operation and to -time the crypt() call (of curiosity value). - -Simply type `make test` to run the tests. - -The normal `make all` and `make install` that get done during library building -and installation will build these programs BUT NOT INSTALL THEM. After all, -they're only for testing... - -- David Burren, January 1994 diff --git a/secure/lib/libcipher/test/cert.c b/secure/lib/libcipher/test/cert.c deleted file mode 100644 index 549c2306894fb..0000000000000 --- a/secure/lib/libcipher/test/cert.c +++ /dev/null @@ -1,344 +0,0 @@ -/* - * This DES validation program shipped with FreeSec is derived from that - * shipped with UFC-crypt which is apparently derived from one distributed - * with Phil Karns PD DES package. - * - * $Id: cert.c,v 1.1.1.1 1994/09/07 21:18:08 csgr Exp $ - */ - -#include <stdio.h> - -int totfails = 0; - -char *crypt(); -#ifdef HAVE_CRYPT16 -char *crypt16(); -#endif /* HAVE_CRYPT16 */ - - -static struct crypt_test { - char *key, *setting, *answer; -} crypt_tests[] = { - "foob", "ar", "arlEKn0OzVJn.", - "holyhooplasbatman!", "_X.......", "_X.......N89y2Z.e4WU", - "holyhooplasbatman!", "_X...X...", "_X...X...rSUDQ5Na/QM", - "holyhooplasbatman!", "_XX..X...", "_XX..X...P8vb9xU4JAk", - "holyhooplasbatman!", "_XX..XX..", "_XX..XX..JDs5IlGLqT2", - "holyhooplasbatman!", "_XX..XXa.", "_XX..XXa.bFVsOnCNh8Y", - "holyhooplasbatman!", "_XXa.X...", "_XXa.X...Ghsb3QKNaps", -#ifdef TAKES_TOO_LONG_ON_SOME_CRYPTS - "holyhooplasbatman!", "_arararar", "_ararararNGMzvpNjeCc", -#endif - NULL, NULL, NULL, -}; - - -static struct crypt_test crypt16_tests[] = { - "foob", "ar", "arxo23jZDD5AYbHbqoy9Dalg", - "holyhooplasbatman!", "ar", "arU5FRLJ3kxIoedlmyrOelEw", - NULL, NULL, NULL -}; - - -void good_bye() -{ - if(totfails == 0) { - printf(" Passed validation\n"); - exit(0); - } else { - printf(" %d failures during validation!!!\n", totfails); - exit(1); - } -} - - -void put8(cp) -char *cp; -{ - int i,j,t; - - for(i = 0; i < 8; i++){ - t = 0; - for(j = 0; j < 8; j++) - t = t << 1 | *cp++; - printf("%02x", t); - } -} - - -void print_bits(bits) -unsigned char *bits; -{ - int i; - - for (i = 0; i < 8; i++) { - printf("%02x", bits[i]); - } -} - - -int parse_line(buff, salt, key, plain, answer) -char *buff; -long *salt; -char *key, *plain, *answer; -{ - char *ptr1, *ptr2; - int val; - int i,j,t; - - /* - * Extract salt - */ - if (sscanf(buff, "%lu", salt) != 1) - return(-1); - for (ptr2 = buff; *ptr2 && !isspace(*ptr2); ptr2++) - ; - - /* - * Extract key - */ - for (ptr1 = ptr2; *ptr1 && isspace(*ptr1); ptr1++) - ; - for (ptr2 = ptr1; *ptr2 && !isspace(*ptr2); ptr2++) - ; - if (ptr2 - ptr1 != 16) - return(-1); - for (i = 0; i < 8; i++){ - if (sscanf(ptr1 + 2*i, "%2x", &t) != 1) - return(-2); - for (j = 0; j < 8; j++) - *key++ = (t & 1 << (7 - j)) != 0; - } - - /* - * Extract plain - */ - for (ptr1 = ptr2; *ptr1 && isspace(*ptr1); ptr1++) - ; - for (ptr2 = ptr1; *ptr2 && !isspace(*ptr2); ptr2++) - ; - if (ptr2 - ptr1 != 16) - return(-1); - for (i = 0; i < 8; i++){ - if (sscanf(ptr1 + 2*i, "%2x", &t) != 1) - return(-2); - for (j = 0; j < 8; j++) - *plain++ = (t & 1 << (7 - j)) != 0; - } - - /* - * Extract answer - */ - for (ptr1 = ptr2; *ptr1 && isspace(*ptr1); ptr1++) - ; - for (ptr2 = ptr1; *ptr2 && !isspace(*ptr2); ptr2++) - ; - if (ptr2 - ptr1 != 16) - return(-1); - for (i = 0; i < 8; i++){ - if (sscanf(ptr1 + 2*i, "%2x", &t) != 1) - return(-2); - for (j = 0; j < 8; j++) - *answer++ = (t & 1 << (7 - j)) != 0; - } - return(0); -} - -/* - * Test the setkey and encrypt functions - */ -void test_encrypt() -{ - char key[64],plain[64],cipher[64],answer[64]; - char buff[BUFSIZ]; - unsigned long salt; - int i; - int test; - int fail; - - printf("Testing setkey/encrypt\n"); - - for(test=0;fgets(buff, BUFSIZ, stdin);test++){ - - /* - * Allow comments. - */ - if (*buff == '#') - continue; - - if ((fail = parse_line(buff, &salt, key, plain, answer)) < 0){ - printf("test %d garbled (%d)\n", test, fail); - continue; - } - - if (salt) - continue; /* encrypt has no salt support */ - - printf(" K: "); put8(key); - printf(" P: "); put8(plain); - printf(" C: "); put8(answer); - - setkey(key); - for(i = 0; i < 64; i++) - cipher[i] = plain[i]; - encrypt(cipher, 0); - - for(i=0;i<64;i++) - if(cipher[i] != answer[i]) - break; - fail = 0; - if(i != 64){ - printf(" Enc FAIL "); - put8(cipher); - fail++; totfails++; - } - - encrypt(cipher, 1); - - for(i=0;i<64;i++) - if(cipher[i] != plain[i]) - break; - if(i != 64){ - printf(" Dec FAIL"); - fail++; totfails++; - } - - if(fail == 0) - printf(" OK"); - printf("\n"); - } -} - - -void bytes_to_bits(bytes, bits) -char *bytes; -unsigned char *bits; -{ - int i, j; - - for (i = 0; i < 8; i++) { - bits[i] = 0; - for (j = 0; j < 8; j++) { - bits[i] |= (bytes[i*8+j] & 1) << (7 - j); - } - } -} - - -/* - * Test the des_setkey and des_cipher functions - */ -void test_des() -{ - char ckey[64], cplain[64], canswer[64]; - unsigned char key[8], plain[8], cipher[8], answer[8]; - char buff[BUFSIZ]; - unsigned long salt; - int i; - int test; - int fail; - - printf("Testing des_setkey/des_cipher\n"); - - for(test=0;fgets(buff, BUFSIZ, stdin);test++){ - - /* - * Allow comments. - */ - if (*buff == '#') - continue; - - if ((fail = parse_line(buff, &salt, ckey, cplain, canswer)) <0){ - printf("test %d garbled (%d)\n", test, fail); - continue; - } - - printf(" S: %06x", salt); - printf(" K: "); put8(ckey); - printf(" P: "); put8(cplain); - printf(" C: "); put8(canswer); - - bytes_to_bits(ckey, key); - bytes_to_bits(cplain, plain); - bytes_to_bits(canswer, answer); - des_setkey(key); - des_cipher(plain, cipher, salt, 1); - - for(i = 0; i < 8; i++) - if(cipher[i] != answer[i]) - break; - fail = 0; - if(i != 8){ - printf(" Enc FAIL "); - print_bits(cipher); - fail++; totfails++; - } - - des_cipher(cipher, cipher, salt, -1); - - for(i = 0; i < 8; i++) - if(cipher[i] != plain[i]) - break; - if(i != 8){ - printf(" Dec FAIL"); - fail++; totfails++; - } - - if(fail == 0) - printf(" OK"); - printf("\n"); - } -} - - -/* - * Test the old-style crypt(), the new-style crypt(), and crypt16(). - */ -void test_crypt() -{ - char *result; - struct crypt_test *p; - - printf("Testing crypt() family\n"); - - for (p = crypt_tests; p->key; p++) { - printf(" crypt(\"%s\", \"%s\"), \"%s\" expected", - p->key, p->setting, p->answer); - fflush(stdout); - result = crypt(p->key, p->setting); - if(!strcmp(result, p->answer)) { - printf(", OK\n"); - } else { - printf("\n failed (\"%s\")\n", result); - totfails++; - } - } - -#ifdef HAVE_CRYPT16 - for (p = crypt16_tests; p->key; p++) { - printf(" crypt16(\"%s\", \"%s\"), \"%s\" expected", - p->key, p->setting, p->answer); - fflush(stdout); - result = crypt16(p->key, p->setting); - if(!strcmp(result, p->answer)) { - printf(", OK\n"); - } else { - printf("\n failed (\"%s\")\n", result); - totfails++; - } - } -#endif /* HAVE_CRYPT16 */ -} - -main(argc, argv) -int argc; -char *argv[]; -{ - if(argc < 1 || !strcmp(argv[1], "-e")) - test_encrypt(); - else if(!strcmp(argv[1], "-d")) - test_des(); - else if(!strcmp(argv[1], "-c")) - test_crypt(); - good_bye(); -} diff --git a/secure/lib/libcipher/test/cert.input b/secure/lib/libcipher/test/cert.input deleted file mode 100644 index 275639c46e5a2..0000000000000 --- a/secure/lib/libcipher/test/cert.input +++ /dev/null @@ -1,179 +0,0 @@ -# $Id: cert.input,v 1.1 1994/09/07 08:55:26 g89r4222 Exp $ -# -# Salt, key, plaintext, ciphertext -# -0 0101010101010101 95f8a5e5dd31d900 8000000000000000 -0 0101010101010101 dd7f121ca5015619 4000000000000000 -0 0101010101010101 2e8653104f3834ea 2000000000000000 -0 0101010101010101 4bd388ff6cd81d4f 1000000000000000 -0 0101010101010101 20b9e767b2fb1456 0800000000000000 -0 0101010101010101 55579380d77138ef 0400000000000000 -0 0101010101010101 6cc5defaaf04512f 0200000000000000 -0 0101010101010101 0d9f279ba5d87260 0100000000000000 -0 0101010101010101 d9031b0271bd5a0a 0080000000000000 -0 0101010101010101 424250b37c3dd951 0040000000000000 -0 0101010101010101 b8061b7ecd9a21e5 0020000000000000 -0 0101010101010101 f15d0f286b65bd28 0010000000000000 -0 0101010101010101 add0cc8d6e5deba1 0008000000000000 -0 0101010101010101 e6d5f82752ad63d1 0004000000000000 -0 0101010101010101 ecbfe3bd3f591a5e 0002000000000000 -0 0101010101010101 f356834379d165cd 0001000000000000 -0 0101010101010101 2b9f982f20037fa9 0000800000000000 -0 0101010101010101 889de068a16f0be6 0000400000000000 -0 0101010101010101 e19e275d846a1298 0000200000000000 -0 0101010101010101 329a8ed523d71aec 0000100000000000 -0 0101010101010101 e7fce22557d23c97 0000080000000000 -0 0101010101010101 12a9f5817ff2d65d 0000040000000000 -0 0101010101010101 a484c3ad38dc9c19 0000020000000000 -0 0101010101010101 fbe00a8a1ef8ad72 0000010000000000 -0 0101010101010101 750d079407521363 0000008000000000 -0 0101010101010101 64feed9c724c2faf 0000004000000000 -0 0101010101010101 f02b263b328e2b60 0000002000000000 -0 0101010101010101 9d64555a9a10b852 0000001000000000 -0 0101010101010101 d106ff0bed5255d7 0000000800000000 -0 0101010101010101 e1652c6b138c64a5 0000000400000000 -0 0101010101010101 e428581186ec8f46 0000000200000000 -0 0101010101010101 aeb5f5ede22d1a36 0000000100000000 -0 0101010101010101 e943d7568aec0c5c 0000000080000000 -0 0101010101010101 df98c8276f54b04b 0000000040000000 -0 0101010101010101 b160e4680f6c696f 0000000020000000 -0 0101010101010101 fa0752b07d9c4ab8 0000000010000000 -0 0101010101010101 ca3a2b036dbc8502 0000000008000000 -0 0101010101010101 5e0905517bb59bcf 0000000004000000 -0 0101010101010101 814eeb3b91d90726 0000000002000000 -0 0101010101010101 4d49db1532919c9f 0000000001000000 -0 0101010101010101 25eb5fc3f8cf0621 0000000000800000 -0 0101010101010101 ab6a20c0620d1c6f 0000000000400000 -0 0101010101010101 79e90dbc98f92cca 0000000000200000 -0 0101010101010101 866ecedd8072bb0e 0000000000100000 -0 0101010101010101 8b54536f2f3e64a8 0000000000080000 -0 0101010101010101 ea51d3975595b86b 0000000000040000 -0 0101010101010101 caffc6ac4542de31 0000000000020000 -0 0101010101010101 8dd45a2ddf90796c 0000000000010000 -0 0101010101010101 1029d55e880ec2d0 0000000000008000 -0 0101010101010101 5d86cb23639dbea9 0000000000004000 -0 0101010101010101 1d1ca853ae7c0c5f 0000000000002000 -0 0101010101010101 ce332329248f3228 0000000000001000 -0 0101010101010101 8405d1abe24fb942 0000000000000800 -0 0101010101010101 e643d78090ca4207 0000000000000400 -0 0101010101010101 48221b9937748a23 0000000000000200 -0 0101010101010101 dd7c0bbd61fafd54 0000000000000100 -0 0101010101010101 2fbc291a570db5c4 0000000000000080 -0 0101010101010101 e07c30d7e4e26e12 0000000000000040 -0 0101010101010101 0953e2258e8e90a1 0000000000000020 -0 0101010101010101 5b711bc4ceebf2ee 0000000000000010 -0 0101010101010101 cc083f1e6d9e85f6 0000000000000008 -0 0101010101010101 d2fd8867d50d2dfe 0000000000000004 -0 0101010101010101 06e7ea22ce92708f 0000000000000002 -0 0101010101010101 166b40b44aba4bd6 0000000000000001 -0 8001010101010101 0000000000000000 95a8d72813daa94d -0 4001010101010101 0000000000000000 0eec1487dd8c26d5 -0 2001010101010101 0000000000000000 7ad16ffb79c45926 -0 1001010101010101 0000000000000000 d3746294ca6a6cf3 -0 0801010101010101 0000000000000000 809f5f873c1fd761 -0 0401010101010101 0000000000000000 c02faffec989d1fc -0 0201010101010101 0000000000000000 4615aa1d33e72f10 -0 0180010101010101 0000000000000000 2055123350c00858 -0 0140010101010101 0000000000000000 df3b99d6577397c8 -0 0120010101010101 0000000000000000 31fe17369b5288c9 -0 0110010101010101 0000000000000000 dfdd3cc64dae1642 -0 0108010101010101 0000000000000000 178c83ce2b399d94 -0 0104010101010101 0000000000000000 50f636324a9b7f80 -0 0102010101010101 0000000000000000 a8468ee3bc18f06d -0 0101800101010101 0000000000000000 a2dc9e92fd3cde92 -0 0101400101010101 0000000000000000 cac09f797d031287 -0 0101200101010101 0000000000000000 90ba680b22aeb525 -0 0101100101010101 0000000000000000 ce7a24f350e280b6 -0 0101080101010101 0000000000000000 882bff0aa01a0b87 -0 0101040101010101 0000000000000000 25610288924511c2 -0 0101020101010101 0000000000000000 c71516c29c75d170 -0 0101018001010101 0000000000000000 5199c29a52c9f059 -0 0101014001010101 0000000000000000 c22f0a294a71f29f -0 0101012001010101 0000000000000000 ee371483714c02ea -0 0101011001010101 0000000000000000 a81fbd448f9e522f -0 0101010801010101 0000000000000000 4f644c92e192dfed -0 0101010401010101 0000000000000000 1afa9a66a6df92ae -0 0101010201010101 0000000000000000 b3c1cc715cb879d8 -0 0101010180010101 0000000000000000 19d032e64ab0bd8b -0 0101010140010101 0000000000000000 3cfaa7a7dc8720dc -0 0101010120010101 0000000000000000 b7265f7f447ac6f3 -0 0101010110010101 0000000000000000 9db73b3c0d163f54 -0 0101010108010101 0000000000000000 8181b65babf4a975 -0 0101010104010101 0000000000000000 93c9b64042eaa240 -0 0101010102010101 0000000000000000 5570530829705592 -0 0101010101800101 0000000000000000 8638809e878787a0 -0 0101010101400101 0000000000000000 41b9a79af79ac208 -0 0101010101200101 0000000000000000 7a9be42f2009a892 -0 0101010101100101 0000000000000000 29038d56ba6d2745 -0 0101010101080101 0000000000000000 5495c6abf1e5df51 -0 0101010101040101 0000000000000000 ae13dbd561488933 -0 0101010101020101 0000000000000000 024d1ffa8904e389 -0 0101010101018001 0000000000000000 d1399712f99bf02e -0 0101010101014001 0000000000000000 14c1d7c1cffec79e -0 0101010101012001 0000000000000000 1de5279dae3bed6f -0 0101010101011001 0000000000000000 e941a33f85501303 -0 0101010101010801 0000000000000000 da99dbbc9a03f379 -0 0101010101010401 0000000000000000 b7fc92f91d8e92e9 -0 0101010101010201 0000000000000000 ae8e5caa3ca04e85 -0 0101010101010180 0000000000000000 9cc62df43b6eed74 -0 0101010101010140 0000000000000000 d863dbb5c59a91a0 -0 0101010101010120 0000000000000000 a1ab2190545b91d7 -0 0101010101010110 0000000000000000 0875041e64c570f7 -0 0101010101010108 0000000000000000 5a594528bebef1cc -0 0101010101010104 0000000000000000 fcdb3291de21f0c0 -0 0101010101010102 0000000000000000 869efd7f9f265a09 -0 1046913489980131 0000000000000000 88d55e54f54c97b4 -0 1007103489988020 0000000000000000 0c0cc00c83ea48fd -0 10071034c8980120 0000000000000000 83bc8ef3a6570183 -0 1046103489988020 0000000000000000 df725dcad94ea2e9 -0 1086911519190101 0000000000000000 e652b53b550be8b0 -0 1086911519580101 0000000000000000 af527120c485cbb0 -0 5107b01519580101 0000000000000000 0f04ce393db926d5 -0 1007b01519190101 0000000000000000 c9f00ffc74079067 -0 3107915498080101 0000000000000000 7cfd82a593252b4e -0 3107919498080101 0000000000000000 cb49a2f9e91363e3 -0 10079115b9080140 0000000000000000 00b588be70d23f56 -0 3107911598080140 0000000000000000 406a9a6ab43399ae -0 1007d01589980101 0000000000000000 6cb773611dca9ada -0 9107911589980101 0000000000000000 67fd21c17dbb5d70 -0 9107d01589190101 0000000000000000 9592cb4110430787 -0 1007d01598980120 0000000000000000 a6b7ff68a318ddd3 -0 1007940498190101 0000000000000000 4d102196c914ca16 -0 0107910491190401 0000000000000000 2dfa9f4573594965 -0 0107910491190101 0000000000000000 b46604816c0e0774 -0 0107940491190401 0000000000000000 6e7e6221a4f34e87 -0 19079210981a0101 0000000000000000 aa85e74643233199 -0 1007911998190801 0000000000000000 2e5a19db4d1962d6 -0 10079119981a0801 0000000000000000 23a866a809d30894 -0 1007921098190101 0000000000000000 d812d961f017d320 -0 100791159819010b 0000000000000000 055605816e58608f -0 1004801598190101 0000000000000000 abd88e8b1b7716f1 -0 1004801598190102 0000000000000000 537ac95be69da1e1 -0 1004801598190108 0000000000000000 aed0f6ae3c25cdd8 -0 1002911598100104 0000000000000000 b3e35a5ee53e7b8d -0 1002911598190104 0000000000000000 61c79c71921a2ef8 -0 1002911598100201 0000000000000000 e2f5728f0995013c -0 1002911698100101 0000000000000000 1aeac39a61f0a464 -0 7ca110454a1a6e57 01a1d6d039776742 690f5b0d9a26939b -0 0131d9619dc1376e 5cd54ca83def57da 7a389d10354bd271 -0 07a1133e4a0b2686 0248d43806f67172 868ebb51cab4599a -0 3849674c2602319e 51454b582ddf440a 7178876e01f19b2a -0 04b915ba43feb5b6 42fd443059577fa2 af37fb421f8c4095 -0 0113b970fd34f2ce 059b5e0851cf143a 86a560f10ec6d85b -0 0170f175468fb5e6 0756d8e0774761d2 0cd3da020021dc09 -0 43297fad38e373fe 762514b829bf486a ea676b2cb7db2b7a -0 07a7137045da2a16 3bdd119049372802 dfd64a815caf1a0f -0 04689104c2fd3b2f 26955f6835af609a 5c513c9c4886c088 -0 37d06bb516cb7546 164d5e404f275232 0a2aeeae3ff4ab77 -0 1f08260d1ac2465e 6b056e18759f5cca ef1bf03e5dfa575a -0 584023641aba6176 004bd6ef09176062 88bf0db6d70dee56 -0 025816164629b007 480d39006ee762f2 a1f9915541020b56 -0 49793ebc79b3258f 437540c8698f3cfa 6fbf1cafcffd0556 -0 4fb05e1515ab73a7 072d43a077075292 2f22e49bab7ca1ac -0 49e95d6d4ca229bf 02fe55778117f12a 5a6b612cc26cce4a -0 018310dc409b26d6 1d9d5c5018f728c2 5f4c038ed12b2e41 -0 1c587f1c13924fef 305532286d6f295a 63fac0d034d9f793 -1 1c587f1c13924fef 305532286d6f295a 400d307ca24fee60 -57 1c587f1c13924fef 305532286d6f295a 28b568f40e7d43ae -1 8001010101010101 0000000000000000 f501029f268e45dc -0 1c587f1c13924fef 305532286d6f295a 63fac0d034d9f793 diff --git a/secure/lib/libcipher/test/speedcrypt.c b/secure/lib/libcipher/test/speedcrypt.c deleted file mode 100644 index f7507fd789f04..0000000000000 --- a/secure/lib/libcipher/test/speedcrypt.c +++ /dev/null @@ -1,76 +0,0 @@ -#include <sys/types.h> -#include <sys/time.h> -#include <sys/resource.h> -#include <signal.h> -#include <stdio.h> - -int keep_going, count, alternate, seconds; -struct rusage prior, now; - -void -finish() -{ - keep_going = 0; -} - - -main(int argc, char *argv[]) -{ - struct itimerval itv; - u_long msecs, key1[8], key2[8]; - char *k1, *k2; - - if (argc < 2 || sscanf(argv[1], "%d", &seconds) != 1) - seconds = 20; - - if (argc < 3 || sscanf(argv[2], "%d", &alternate) != 1) - alternate = 0; - - printf ("Running crypt%s for %d seconds of vtime...\n", - alternate ? " with alternate keys" : "", seconds); - - bzero(&itv, sizeof (itv)); - signal (SIGVTALRM, finish); - itv.it_value.tv_sec = seconds; - itv.it_value.tv_usec = 0; - setitimer(ITIMER_VIRTUAL, &itv, NULL); - - keep_going = 1; - if (getrusage(0, &prior) < 0) { - perror("getrusage"); - exit(1); - } - - k1 = (char *) key1; - k2 = (char *) key2; - strcpy(k1, "fredfredfredfredfred"); - strcpy(k2, "joejoejoejoejoejoejo"); - - if (alternate) - for (count = 0; keep_going; count++) - { -#if defined(LONGCRYPT) - crypt((count & 1) ? k1 : k2, "_ara.X..."); -#else - crypt((count & 1) ? k1 : k2, "eek"); -#endif - } - else - for (count = 0; keep_going; count++) - { -#if defined(LONGCRYPT) - crypt(k1, "_ara.X..."); -#else - crypt(k1, "eek"); -#endif - } - - if (getrusage(0, &now) < 0) { - perror("getrusage"); - exit(1); - } - msecs = (now.ru_utime.tv_sec - prior.ru_utime.tv_sec) * 1000 - + (now.ru_utime.tv_usec - prior.ru_utime.tv_usec) / 1000; - printf ("\tDid %d crypt()s per second.\n", 1000 * count / msecs); - exit(0); -} diff --git a/secure/lib/libcipher/test/speeddes.c b/secure/lib/libcipher/test/speeddes.c deleted file mode 100644 index a5822362f107a..0000000000000 --- a/secure/lib/libcipher/test/speeddes.c +++ /dev/null @@ -1,61 +0,0 @@ -#include <sys/types.h> -#include <sys/time.h> -#include <sys/resource.h> -#include <signal.h> -#include <stdio.h> - -int keep_going, count, alternate, seconds, iters; -struct rusage prior, now; -u_long block[3]; -char *blk; - -void -finish() -{ - keep_going = 0; -} - - -main(int argc, char *argv[]) -{ - struct itimerval itv; - u_long msecs; - - if (argc < 2 || sscanf(argv[1], "%d", &seconds) != 1) - seconds = 20; - - if (argc < 3 || sscanf(argv[2], "%d", &iters) != 1) - iters = 1; - - printf ("Running des_cipher( , , 0L, %d) for %d seconds of vtime...\n", - iters, seconds); - - bzero(&itv, sizeof (itv)); - signal (SIGVTALRM, finish); - itv.it_value.tv_sec = seconds; - itv.it_value.tv_usec = 0; - setitimer(ITIMER_VIRTUAL, &itv, NULL); - - keep_going = 1; - if (getrusage(0, &prior) < 0) { - perror("getrusage"); - exit(1); - } - - blk = (char *) block; - (void)des_setkey(blk); - for (count = 0; keep_going; count++) - (void) des_cipher(blk, blk, 0, iters); - - if (getrusage(0, &now) < 0) { - perror("getrusage"); - exit(1); - } - - msecs = (now.ru_utime.tv_sec - prior.ru_utime.tv_sec) * 1000 - + (now.ru_utime.tv_usec - prior.ru_utime.tv_usec) / 1000; - printf ("Did %d encryptions per second, each of %d iteration(s).\n", - 1000 * count / msecs, iters); - printf ("\tTotal %d blocks per second.\n", (1000*iters*count)/msecs); - exit(0); -} diff --git a/secure/lib/libcrypt/Makefile b/secure/lib/libcrypt/Makefile deleted file mode 100644 index 7963770ad376b..0000000000000 --- a/secure/lib/libcrypt/Makefile +++ /dev/null @@ -1,45 +0,0 @@ -# -# $Id: Makefile,v 1.10 1996/03/24 07:30:27 markm Exp $ -# - -LCRYPTBASE= libcrypt -LCRYPTSO= $(LCRYPTBASE).so.$(SHLIB_MAJOR).$(SHLIB_MINOR) - -LDCRYPTBASE= libdescrypt -LDCRYPTSO= $(LDCRYPTBASE).so.$(SHLIB_MAJOR).$(SHLIB_MINOR) - -.PATH: ${.CURDIR}/../../../lib/libmd - -LIB= descrypt -SRCS= crypt.c crypt-md5.c md5c.c -MAN3= crypt.3 -CFLAGS+= -I${.CURDIR}/../../../lib/libmd -Wall -PRECIOUSLIB= yes - -test: - cd test ; make test ; make clean - -.include <bsd.lib.mk> - -# We only install the links if they do not already exist. -# This may have to be revised -afterinstall: -.if !defined(NOPIC) && defined(SHLIB_MAJOR) - @cd $(DESTDIR)/$(LIBDIR); \ - if [ ! -e $(LCRYPTSO) ]; then \ - rm -f $(LCRYPTSO); \ - ln -s $(LDCRYPTSO) $(LCRYPTSO); \ - fi -.endif - @cd $(DESTDIR)/$(LIBDIR); \ - if [ ! -e $(LCRYPTBASE).a ]; then \ - rm -f $(LCRYPTBASE).a; \ - ln -s $(LDCRYPTBASE).a libcrypt.a; \ - fi -.if !defined(NOPROFILE) - @cd $(DESTDIR)/$(LIBDIR); \ - if [ ! -e $(LCRYPTBASE)_p.a ]; then \ - rm -f $(LCRYPTBASE)_p.a; \ - ln -s $(LDCRYPTBASE)_p.a libcrypt_p.a; \ - fi -.endif diff --git a/secure/lib/libcrypt/README b/secure/lib/libcrypt/README deleted file mode 100644 index 051c9c1b94ef4..0000000000000 --- a/secure/lib/libcrypt/README +++ /dev/null @@ -1,98 +0,0 @@ - - FreeSec - NetBSD libcrypt replacement - - David Burren <davidb@werj.com.au> - Release 1.0, March 1994 - - Document ref: $Id: README,v 1.1.1.1 1994/04/04 14:57:18 g89r4222 Exp $ - - -Description -=========== -This library is a drop-in replacement for the libcrypt used in U.S. copies -of NetBSD, duplicating that library's functionality. A suite of verification -and benchmark tools is provided. - -FreeSec 1.0 is an original implementation of the DES algorithm and the -crypt(3) interfaces used in Unix-style operating systems. It was produced -in Australia and as such is not covered by U.S. export restrictions (at -least for copies that remain outside the U.S.). - - -History -======= -An earlier version of the FreeSec library was built using the UFC-crypt -package that is distributed as part of the GNU library. UFC-crypt did not -support the des_cipher() or des_setkey() functions, nor the new-style -crypt with long keys. These were implemented in FreeSec 0.2, but at least -one bug remained, where encryption would only succeed if either the salt -or the plaintext was zero. Because of its heritage FreeSec 0.2 was covered -by the GNU Library Licence. - -FreeSec 1.0 is an original implementation by myself, and has been tested -against the verification suite I'd been using with FreeSec 0.2 (this is not -encumbered by any licence). FreeSec 1.0 is covered by a Berkeley-style -licence, which better fits into the *BSD hierarchy than the earlier GNU -licence. - - -Why should you use FreeSec? -=========================== -FreeSec is intended as a replacement for the U.S.-only NetBSD libcrypt, -to act as a baseline for encryption functionality. - -Some other packages (such as Eric Young's libdes package) are faster and -more complete than FreeSec, but typically have different licencing -arrangements. While some applications will justify the use of these -packages, the idea here is that everyone should have access to *at least* -the functionality of FreeSec. - - -Performance of FreeSec 1.0 -========================== -I compare below the performance of three libcrypt implementations. As can be -seen, it's between the U.S. library and UFC-crypt. While the performance of -FreeSec 1.0 is good enough to keep me happy for now, I hope to improve it in -future versions. I was interested to note that while UFC-crypt is faster on -a 386, hardware characteristics can have markedly different effects on each -implementation. - - -386DX40, 128k cache | U.S. BSD | FreeSec 1.0 | FreeSec 0.2 -CFLAGS=-O2 | | | -========================+===============+===============+================== -crypt (alternate keys) | 317 | 341 | 395 - crypt/sec | | | -------------------------+---------------+---------------+------------------ -crypt (constant key) | 317 | 368 | 436 - crypt/sec | | | -------------------------+---------------+---------------+------------------ -des_cipher( , , , 1) | 6037 | 7459 | 3343 - blocks/sec | | | -------------------------+---------------+---------------+------------------ -des_cipher( , , , 25) | 8871 | 9627 | 15926 - blocks/sec | | | - -Notes: The results tabled here are the average over 10 runs. - The entry/exit code for FreeSec 0.2's des_cipher() is particularly - inefficient, thus the anomalous result for single encryptions. - - -As an experiment using a machine with a larger register set and an -obscenely fast CPU, I obtained the following results: - - 60 MHz R4400 | FreeSec 1.0 | FreeSec 0.2 - ========================+================================= - crypt (alternate keys) | 2545 | 2702 - crypt/sec | | - ------------------------+--------------------------------- - crypt (constant key) | 2852 | 2981 - crypt/sec | | - ------------------------+--------------------------------- - des_cipher( , , , 1) | 56443 | 21409 - blocks/sec | | - ------------------------+--------------------------------- - des_cipher( , , , 25) | 82531 | 18276 - blocks/sec | | - -Obviously your mileage will vary with your hardware and your compiler... diff --git a/secure/lib/libcrypt/README.FreeBSD b/secure/lib/libcrypt/README.FreeBSD deleted file mode 100644 index 250467edfd602..0000000000000 --- a/secure/lib/libcrypt/README.FreeBSD +++ /dev/null @@ -1,21 +0,0 @@ -$Id: README.FreeBSD,v 1.2 1994/04/04 15:10:57 g89r4222 Exp $ - -This is FreeSec package for NetBSD, unchanged for -FreeBSD, except for the Makefile. - -FreeSec was written by David Burren <davidb@werj.com.au> - -A few bugs in the original FreeSec release have been fixed. - -In order to make libcrypt binaries exportable from the USA, -only the symbol _crypt() (later to be changed to ___crypt()) -is exported from libcrypt. - -This source code was developed outside the USA, and can be -obtained outside the USA. - - Geoff Rehmet - Rhodes University - Grahamstown - South Africa - 8 August 1994 diff --git a/secure/lib/libcrypt/crypt-md5.c b/secure/lib/libcrypt/crypt-md5.c deleted file mode 100644 index 6740f723a807b..0000000000000 --- a/secure/lib/libcrypt/crypt-md5.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - * ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * <phk@login.dknet.dk> wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp - * ---------------------------------------------------------------------------- - * - * This has had its entry point changed to crypt_md5 for use in - * a dual-personality (DES & MD5) environment) -- MarkM - Nov 1995 - * - * $Id$ - * - */ - -#if 0 -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Header: /home/ncvs/src/lib/libcrypt/crypt.c,v 1.3 1995/05/30 05:42:22 rgrimes Exp $"; -#endif /* LIBC_SCCS and not lint */ -#endif - -#include <unistd.h> -#include <stdio.h> -#include <string.h> -#include <md5.h> - -static unsigned char itoa64[] = /* 0 ... 63 => ascii - 64 */ - "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - -static void -to64(s, v, n) - char *s; - unsigned long v; - int n; -{ - while (--n >= 0) { - *s++ = itoa64[v&0x3f]; - v >>= 6; - } -} - -/* - * UNIX password - * - * Use MD5 for what it is best at... - */ - -char * -crypt_md5(pw, salt) - register const char *pw; - register const char *salt; -{ - static char *magic = "$1$"; /* - * This string is magic for - * this algorithm. Having - * it this way, we can get - * get better later on - */ - static char passwd[120], *p; - static const char *sp,*ep; - unsigned char final[16]; - int sl,pl,i,j; - MD5_CTX ctx,ctx1; - unsigned long l; - - /* Refine the Salt first */ - sp = salt; - - /* If it starts with the magic string, then skip that */ - if(!strncmp(sp,magic,strlen(magic))) - sp += strlen(magic); - - /* It stops at the first '$', max 8 chars */ - for(ep=sp;*ep && *ep != '$' && ep < (sp+8);ep++) - continue; - - /* get the length of the true salt */ - sl = ep - sp; - - MD5Init(&ctx); - - /* The password first, since that is what is most unknown */ - MD5Update(&ctx,pw,strlen(pw)); - - /* Then our magic string */ - MD5Update(&ctx,magic,strlen(magic)); - - /* Then the raw salt */ - MD5Update(&ctx,sp,sl); - - /* Then just as many characters of the MD5(pw,salt,pw) */ - MD5Init(&ctx1); - MD5Update(&ctx1,pw,strlen(pw)); - MD5Update(&ctx1,sp,sl); - MD5Update(&ctx1,pw,strlen(pw)); - MD5Final(final,&ctx1); - for(pl = strlen(pw); pl > 0; pl -= 16) - MD5Update(&ctx,final,pl>16 ? 16 : pl); - - /* Don't leave anything around in vm they could use. */ - memset(final,0,sizeof final); - - /* Then something really weird... */ - for (j=0,i = strlen(pw); i ; i >>= 1) - if(i&1) - MD5Update(&ctx, final+j, 1); - else - MD5Update(&ctx, pw+j, 1); - - /* Now make the output string */ - strcpy(passwd,magic); - strncat(passwd,sp,sl); - strcat(passwd,"$"); - - MD5Final(final,&ctx); - - /* - * and now, just to make sure things don't run too fast - * On a 60 Mhz Pentium this takes 34 msec, so you would - * need 30 seconds to build a 1000 entry dictionary... - */ - for(i=0;i<1000;i++) { - MD5Init(&ctx1); - if(i & 1) - MD5Update(&ctx1,pw,strlen(pw)); - else - MD5Update(&ctx1,final,16); - - if(i % 3) - MD5Update(&ctx1,sp,sl); - - if(i % 7) - MD5Update(&ctx1,pw,strlen(pw)); - - if(i & 1) - MD5Update(&ctx1,final,16); - else - MD5Update(&ctx1,pw,strlen(pw)); - MD5Final(final,&ctx1); - } - - p = passwd + strlen(passwd); - - l = (final[ 0]<<16) | (final[ 6]<<8) | final[12]; to64(p,l,4); p += 4; - l = (final[ 1]<<16) | (final[ 7]<<8) | final[13]; to64(p,l,4); p += 4; - l = (final[ 2]<<16) | (final[ 8]<<8) | final[14]; to64(p,l,4); p += 4; - l = (final[ 3]<<16) | (final[ 9]<<8) | final[15]; to64(p,l,4); p += 4; - l = (final[ 4]<<16) | (final[10]<<8) | final[ 5]; to64(p,l,4); p += 4; - l = final[11] ; to64(p,l,2); p += 2; - *p = '\0'; - - /* Don't leave anything around in vm they could use. */ - memset(final,0,sizeof final); - - return passwd; -} - diff --git a/secure/lib/libcrypt/crypt.3 b/secure/lib/libcrypt/crypt.3 deleted file mode 100644 index 9eefd25bec4da..0000000000000 --- a/secure/lib/libcrypt/crypt.3 +++ /dev/null @@ -1,159 +0,0 @@ -.\" FreeSec: libcrypt for NetBSD -.\" -.\" Copyright (c) 1994 David Burren -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 4. Neither the name of the author nor the names of other contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: crypt.3,v 1.5 1995/12/16 09:01:49 markm Exp $ -.\" -.\" Manual page, using -mandoc macros -.\" -.Dd March 9, 1994 -.Dt CRYPT 3 -.Os "FreeSec 1.0" -.Sh NAME -.Nm crypt -.Nd DES trapdoor encryption -.Sh SYNOPSIS -.Ft char -.Fn *crypt "const char *key" "const char *setting" -.Sh DESCRIPTION -The -.Fn crypt -function performs password encryption, based on the -.Tn NBS -Data Encryption Standard (DES). -Additional code has been added to deter key search attempts. -The first argument to -.Nm crypt -is a -.Dv null Ns -terminated -string, typically a user's typed password. -The second is in one of three forms: -if it begins with an underscore (``_'') then an extended format is used -in interpreting both the the key and the setting, as outlined below. -if it begins with the string ``$1$'' then an exportable format is used. -.Ss Extended crypt: -.Pp -The -.Ar key -is divided into groups of 8 characters (the last group is null-padded) -and the low-order 7 bits of each each character (56 bits per group) are -used to form the DES key as follows: -the first group of 56 bits becomes the initial DES key. -For each additional group, the XOR of the encryption of the current DES -key with itself and the group bits becomes the next DES key. -.Pp -The setting is a 9-character array consisting of an underscore followed -by 4 bytes of iteration count and 4 bytes of salt. -These are encoded as printable characters, 6 bits per character, -least significant character first. -The values 0 to 63 are encoded as ``./0-9A-Za-z''. -This allows 24 bits for both -.Fa count -and -.Fa salt . -.Ss "Traditional" crypt: -.Pp -The first 8 bytes of the key are null-padded, and the low-order 7 bits of -each character is used to form the 56-bit -.Tn DES -key. -.Pp -The setting is a 2-character array of the ASCII-encoded salt. -Thus only 12 bits of -.Fa salt -are used. -.Fa count -is set to 25. -.Ss "FreeBSD" or "Exportable" crypt: -.Pp -If the salt begins with ``$1$'' then the freely exportable -.Tn MD5 -algorithm is used to calculate a hash value, from which the password string -is generated. The -.Tn MD5 -derived routine is designed to be time-consuming like the DES based version. -.Ss Algorithm: -.Pp -The -.Fa salt -introduces disorder in the -.Tn DES -algorithm in one of 16777216 or 4096 possible ways -(ie. with 24 or 12 bits: if bit -.Em i -of the -.Ar salt -is set, then bits -.Em i -and -.Em i+24 -are swapped in the -.Tn DES -E-box output). -.Pp -The DES key is used to encrypt a 64-bit constant using -.Ar count -iterations of -.Tn DES . -The value returned is a -.Dv null Ns -terminated -string, 20 or 13 bytes (plus null) in length, consisting of the -.Ar setting -followed by the encoded 64-bit encryption. -.Pp -The function -.Fn crypt -returns a pointer to the encrypted value on success, and NULL on failure. -.Sh SEE ALSO -.Xr login 1 , -.Xr passwd 1 , -.Xr getpass 3 , -.Xr passwd 5 -.Sh BUGS -The -.Fn crypt -function returns a pointer to static data, and subsequent calls to -.Fn crypt -will modify the same object. -.Sh HISTORY -A rotor-based -.Fn crypt -function appeared in -.At v6 . -The current style -.Fn crypt -first appeared in -.At v7 . -.Pp -This library (FreeSec 1.0) was developed outside the United States of America -as an unencumbered replacement for the U.S.-only NetBSD libcrypt encryption -library. -Users should be aware that this code (and programs staticly linked with it) -may not be exported from the U.S., although it apparently can be imported. -.Sh AUTHOR -David Burren <davidb@werj.com.au> diff --git a/secure/lib/libcrypt/crypt.c b/secure/lib/libcrypt/crypt.c deleted file mode 100644 index 31b2024befd91..0000000000000 --- a/secure/lib/libcrypt/crypt.c +++ /dev/null @@ -1,697 +0,0 @@ -/* - * FreeSec: libcrypt for NetBSD - * - * Copyright (c) 1994 David Burren - * All rights reserved. - * - * Adapted for FreeBSD-2.0 by Geoffrey M. Rehmet - * crypt.c should now *only* export crypt(), in order to make - * binaries of libcrypt exportable from the USA - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the author nor the names of other contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - * - * This is an original implementation of the DES and the crypt(3) interfaces - * by David Burren <davidb@werj.com.au>. - * - * An excellent reference on the underlying algorithm (and related - * algorithms) is: - * - * B. Schneier, Applied Cryptography: protocols, algorithms, - * and source code in C, John Wiley & Sons, 1994. - * - * Note that in that book's description of DES the lookups for the initial, - * pbox, and final permutations are inverted (this has been brought to the - * attention of the author). A list of errata for this book has been - * posted to the sci.crypt newsgroup by the author and is available for FTP. - * - * ARCHITECTURE ASSUMPTIONS: - * This code assumes that u_longs are 32 bits. It will probably not - * operate on 64-bit machines without modifications. - * It is assumed that the 8-byte arrays passed by reference can be - * addressed as arrays of u_longs (ie. the CPU is not picky about - * alignment). - */ -#include <sys/types.h> -#include <sys/param.h> -#include <pwd.h> -#include <string.h> - -char *crypt_md5(const char *pw, const char *salt); - -/* We can't always assume gcc */ -#ifdef __GNUC__ -#define INLINE inline -#endif - - -static u_char IP[64] = { - 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, - 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, - 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, - 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 -}; - -static u_char inv_key_perm[64]; -static u_char u_key_perm[56]; -static u_char key_perm[56] = { - 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, - 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, - 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, - 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4 -}; - -static u_char key_shifts[16] = { - 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 -}; - -static u_char inv_comp_perm[56]; -static u_char comp_perm[48] = { - 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, - 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, - 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, - 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32 -}; - -/* - * No E box is used, as it's replaced by some ANDs, shifts, and ORs. - */ - -static u_char u_sbox[8][64]; -static u_char sbox[8][64] = { - { - 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, - 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, - 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, - 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 - }, - { - 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10, - 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5, - 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15, - 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9 - }, - { - 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, - 13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1, - 13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7, - 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12 - }, - { - 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15, - 13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9, - 10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4, - 3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14 - }, - { - 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9, - 14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6, - 4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14, - 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3 - }, - { - 12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11, - 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8, - 9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6, - 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13 - }, - { - 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1, - 13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6, - 1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2, - 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12 - }, - { - 13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7, - 1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2, - 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8, - 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11 - } -}; - -static u_char un_pbox[32]; -static u_char pbox[32] = { - 16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10, - 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25 -}; - -static u_long bits32[32] = -{ - 0x80000000, 0x40000000, 0x20000000, 0x10000000, - 0x08000000, 0x04000000, 0x02000000, 0x01000000, - 0x00800000, 0x00400000, 0x00200000, 0x00100000, - 0x00080000, 0x00040000, 0x00020000, 0x00010000, - 0x00008000, 0x00004000, 0x00002000, 0x00001000, - 0x00000800, 0x00000400, 0x00000200, 0x00000100, - 0x00000080, 0x00000040, 0x00000020, 0x00000010, - 0x00000008, 0x00000004, 0x00000002, 0x00000001 -}; - -static u_char bits8[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 }; - -static u_long saltbits; -static long old_salt; -static u_long *bits28, *bits24; -static u_char init_perm[64], final_perm[64]; -static u_long en_keysl[16], en_keysr[16]; -static u_long de_keysl[16], de_keysr[16]; -static int des_initialised = 0; -static u_char m_sbox[4][4096]; -static u_long psbox[4][256]; -static u_long ip_maskl[8][256], ip_maskr[8][256]; -static u_long fp_maskl[8][256], fp_maskr[8][256]; -static u_long key_perm_maskl[8][128], key_perm_maskr[8][128]; -static u_long comp_maskl[8][128], comp_maskr[8][128]; -static u_long old_rawkey0, old_rawkey1; - -static u_char ascii64[] = - "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; -/* 0000000000111111111122222222223333333333444444444455555555556666 */ -/* 0123456789012345678901234567890123456789012345678901234567890123 */ - -static INLINE int -ascii_to_bin(char ch) -{ - if (ch > 'z') - return(0); - if (ch >= 'a') - return(ch - 'a' + 38); - if (ch > 'Z') - return(0); - if (ch >= 'A') - return(ch - 'A' + 12); - if (ch > '9') - return(0); - if (ch >= '.') - return(ch - '.'); - return(0); -} - -static void -des_init() -{ - int i, j, b, k, inbit, obit; - u_long *p, *il, *ir, *fl, *fr; - - old_rawkey0 = old_rawkey1 = 0L; - saltbits = 0L; - old_salt = 0L; - bits24 = (bits28 = bits32 + 4) + 4; - - /* - * Invert the S-boxes, reordering the input bits. - */ - for (i = 0; i < 8; i++) - for (j = 0; j < 64; j++) { - b = (j & 0x20) | ((j & 1) << 4) | ((j >> 1) & 0xf); - u_sbox[i][j] = sbox[i][b]; - } - - /* - * Convert the inverted S-boxes into 4 arrays of 8 bits. - * Each will handle 12 bits of the S-box input. - */ - for (b = 0; b < 4; b++) - for (i = 0; i < 64; i++) - for (j = 0; j < 64; j++) - m_sbox[b][(i << 6) | j] = - (u_sbox[(b << 1)][i] << 4) | - u_sbox[(b << 1) + 1][j]; - - /* - * Set up the initial & final permutations into a useful form, and - * initialise the inverted key permutation. - */ - for (i = 0; i < 64; i++) { - init_perm[final_perm[i] = IP[i] - 1] = i; - inv_key_perm[i] = 255; - } - - /* - * Invert the key permutation and initialise the inverted key - * compression permutation. - */ - for (i = 0; i < 56; i++) { - u_key_perm[i] = key_perm[i] - 1; - inv_key_perm[key_perm[i] - 1] = i; - inv_comp_perm[i] = 255; - } - - /* - * Invert the key compression permutation. - */ - for (i = 0; i < 48; i++) { - inv_comp_perm[comp_perm[i] - 1] = i; - } - - /* - * Set up the OR-mask arrays for the initial and final permutations, - * and for the key initial and compression permutations. - */ - for (k = 0; k < 8; k++) { - for (i = 0; i < 256; i++) { - *(il = &ip_maskl[k][i]) = 0L; - *(ir = &ip_maskr[k][i]) = 0L; - *(fl = &fp_maskl[k][i]) = 0L; - *(fr = &fp_maskr[k][i]) = 0L; - for (j = 0; j < 8; j++) { - inbit = 8 * k + j; - if (i & bits8[j]) { - if ((obit = init_perm[inbit]) < 32) - *il |= bits32[obit]; - else - *ir |= bits32[obit-32]; - if ((obit = final_perm[inbit]) < 32) - *fl |= bits32[obit]; - else - *fr |= bits32[obit - 32]; - } - } - } - for (i = 0; i < 128; i++) { - *(il = &key_perm_maskl[k][i]) = 0L; - *(ir = &key_perm_maskr[k][i]) = 0L; - for (j = 0; j < 7; j++) { - inbit = 8 * k + j; - if (i & bits8[j + 1]) { - if ((obit = inv_key_perm[inbit]) == 255) - continue; - if (obit < 28) - *il |= bits28[obit]; - else - *ir |= bits28[obit - 28]; - } - } - *(il = &comp_maskl[k][i]) = 0L; - *(ir = &comp_maskr[k][i]) = 0L; - for (j = 0; j < 7; j++) { - inbit = 7 * k + j; - if (i & bits8[j + 1]) { - if ((obit=inv_comp_perm[inbit]) == 255) - continue; - if (obit < 24) - *il |= bits24[obit]; - else - *ir |= bits24[obit - 24]; - } - } - } - } - - /* - * Invert the P-box permutation, and convert into OR-masks for - * handling the output of the S-box arrays setup above. - */ - for (i = 0; i < 32; i++) - un_pbox[pbox[i] - 1] = i; - - for (b = 0; b < 4; b++) - for (i = 0; i < 256; i++) { - *(p = &psbox[b][i]) = 0L; - for (j = 0; j < 8; j++) { - if (i & bits8[j]) - *p |= bits32[un_pbox[8 * b + j]]; - } - } - - des_initialised = 1; -} - -static void -setup_salt(long salt) -{ - u_long obit, saltbit; - int i; - - if (salt == old_salt) - return; - old_salt = salt; - - saltbits = 0L; - saltbit = 1; - obit = 0x800000; - for (i = 0; i < 24; i++) { - if (salt & saltbit) - saltbits |= obit; - saltbit <<= 1; - obit >>= 1; - } -} - -static int -des_setkey(const char *key) -{ - u_long k0, k1, rawkey0, rawkey1; - int shifts, round; - - if (!des_initialised) - des_init(); - - rawkey0 = ntohl(*(u_long *) key); - rawkey1 = ntohl(*(u_long *) (key + 4)); - - if ((rawkey0 | rawkey1) - && rawkey0 == old_rawkey0 - && rawkey1 == old_rawkey1) { - /* - * Already setup for this key. - * This optimisation fails on a zero key (which is weak and - * has bad parity anyway) in order to simplify the starting - * conditions. - */ - return(0); - } - old_rawkey0 = rawkey0; - old_rawkey1 = rawkey1; - - /* - * Do key permutation and split into two 28-bit subkeys. - */ - k0 = key_perm_maskl[0][rawkey0 >> 25] - | key_perm_maskl[1][(rawkey0 >> 17) & 0x7f] - | key_perm_maskl[2][(rawkey0 >> 9) & 0x7f] - | key_perm_maskl[3][(rawkey0 >> 1) & 0x7f] - | key_perm_maskl[4][rawkey1 >> 25] - | key_perm_maskl[5][(rawkey1 >> 17) & 0x7f] - | key_perm_maskl[6][(rawkey1 >> 9) & 0x7f] - | key_perm_maskl[7][(rawkey1 >> 1) & 0x7f]; - k1 = key_perm_maskr[0][rawkey0 >> 25] - | key_perm_maskr[1][(rawkey0 >> 17) & 0x7f] - | key_perm_maskr[2][(rawkey0 >> 9) & 0x7f] - | key_perm_maskr[3][(rawkey0 >> 1) & 0x7f] - | key_perm_maskr[4][rawkey1 >> 25] - | key_perm_maskr[5][(rawkey1 >> 17) & 0x7f] - | key_perm_maskr[6][(rawkey1 >> 9) & 0x7f] - | key_perm_maskr[7][(rawkey1 >> 1) & 0x7f]; - /* - * Rotate subkeys and do compression permutation. - */ - shifts = 0; - for (round = 0; round < 16; round++) { - u_long t0, t1; - - shifts += key_shifts[round]; - - t0 = (k0 << shifts) | (k0 >> (28 - shifts)); - t1 = (k1 << shifts) | (k1 >> (28 - shifts)); - - de_keysl[15 - round] = - en_keysl[round] = comp_maskl[0][(t0 >> 21) & 0x7f] - | comp_maskl[1][(t0 >> 14) & 0x7f] - | comp_maskl[2][(t0 >> 7) & 0x7f] - | comp_maskl[3][t0 & 0x7f] - | comp_maskl[4][(t1 >> 21) & 0x7f] - | comp_maskl[5][(t1 >> 14) & 0x7f] - | comp_maskl[6][(t1 >> 7) & 0x7f] - | comp_maskl[7][t1 & 0x7f]; - - de_keysr[15 - round] = - en_keysr[round] = comp_maskr[0][(t0 >> 21) & 0x7f] - | comp_maskr[1][(t0 >> 14) & 0x7f] - | comp_maskr[2][(t0 >> 7) & 0x7f] - | comp_maskr[3][t0 & 0x7f] - | comp_maskr[4][(t1 >> 21) & 0x7f] - | comp_maskr[5][(t1 >> 14) & 0x7f] - | comp_maskr[6][(t1 >> 7) & 0x7f] - | comp_maskr[7][t1 & 0x7f]; - } - return(0); -} - -static int -do_des( u_long l_in, u_long r_in, u_long *l_out, u_long *r_out, int count) -{ - /* - * l_in, r_in, l_out, and r_out are in pseudo-"big-endian" format. - */ - u_long l, r, *kl, *kr, *kl1, *kr1; - u_long f, r48l, r48r; - int round; - - if (count == 0) { - return(1); - } else if (count > 0) { - /* - * Encrypting - */ - kl1 = en_keysl; - kr1 = en_keysr; - } else { - /* - * Decrypting - */ - count = -count; - kl1 = de_keysl; - kr1 = de_keysr; - } - - /* - * Do initial permutation (IP). - */ - l = ip_maskl[0][l_in >> 24] - | ip_maskl[1][(l_in >> 16) & 0xff] - | ip_maskl[2][(l_in >> 8) & 0xff] - | ip_maskl[3][l_in & 0xff] - | ip_maskl[4][r_in >> 24] - | ip_maskl[5][(r_in >> 16) & 0xff] - | ip_maskl[6][(r_in >> 8) & 0xff] - | ip_maskl[7][r_in & 0xff]; - r = ip_maskr[0][l_in >> 24] - | ip_maskr[1][(l_in >> 16) & 0xff] - | ip_maskr[2][(l_in >> 8) & 0xff] - | ip_maskr[3][l_in & 0xff] - | ip_maskr[4][r_in >> 24] - | ip_maskr[5][(r_in >> 16) & 0xff] - | ip_maskr[6][(r_in >> 8) & 0xff] - | ip_maskr[7][r_in & 0xff]; - - while (count--) { - /* - * Do each round. - */ - kl = kl1; - kr = kr1; - round = 16; - while (round--) { - /* - * Expand R to 48 bits (simulate the E-box). - */ - r48l = ((r & 0x00000001) << 23) - | ((r & 0xf8000000) >> 9) - | ((r & 0x1f800000) >> 11) - | ((r & 0x01f80000) >> 13) - | ((r & 0x001f8000) >> 15); - - r48r = ((r & 0x0001f800) << 7) - | ((r & 0x00001f80) << 5) - | ((r & 0x000001f8) << 3) - | ((r & 0x0000001f) << 1) - | ((r & 0x80000000) >> 31); - /* - * Do salting for crypt() and friends, and - * XOR with the permuted key. - */ - f = (r48l ^ r48r) & saltbits; - r48l ^= f ^ *kl++; - r48r ^= f ^ *kr++; - /* - * Do sbox lookups (which shrink it back to 32 bits) - * and do the pbox permutation at the same time. - */ - f = psbox[0][m_sbox[0][r48l >> 12]] - | psbox[1][m_sbox[1][r48l & 0xfff]] - | psbox[2][m_sbox[2][r48r >> 12]] - | psbox[3][m_sbox[3][r48r & 0xfff]]; - /* - * Now that we've permuted things, complete f(). - */ - f ^= l; - l = r; - r = f; - } - r = l; - l = f; - } - /* - * Do final permutation (inverse of IP). - */ - *l_out = fp_maskl[0][l >> 24] - | fp_maskl[1][(l >> 16) & 0xff] - | fp_maskl[2][(l >> 8) & 0xff] - | fp_maskl[3][l & 0xff] - | fp_maskl[4][r >> 24] - | fp_maskl[5][(r >> 16) & 0xff] - | fp_maskl[6][(r >> 8) & 0xff] - | fp_maskl[7][r & 0xff]; - *r_out = fp_maskr[0][l >> 24] - | fp_maskr[1][(l >> 16) & 0xff] - | fp_maskr[2][(l >> 8) & 0xff] - | fp_maskr[3][l & 0xff] - | fp_maskr[4][r >> 24] - | fp_maskr[5][(r >> 16) & 0xff] - | fp_maskr[6][(r >> 8) & 0xff] - | fp_maskr[7][r & 0xff]; - return(0); -} - -static int -des_cipher(const char *in, char *out, long salt, int count) -{ - u_long l_out, r_out, rawl, rawr; - int retval; - - if (!des_initialised) - des_init(); - - setup_salt(salt); - - rawl = ntohl(*((u_long *) in)++); - rawr = ntohl(*((u_long *) in)); - - retval = do_des(rawl, rawr, &l_out, &r_out, count); - - *((u_long *) out)++ = htonl(l_out); - *((u_long *) out) = htonl(r_out); - return(retval); -} - -char * -crypt(char *key, char *setting) -{ - int i; - u_long count, salt, l, r0, r1, keybuf[2]; - u_char *p, *q; - static u_char output[21]; - - if (!strncmp(setting, "$1$", 3)) - return crypt_md5(key, setting); - - if (!des_initialised) - des_init(); - - - /* - * Copy the key, shifting each character up by one bit - * and padding with zeros. - */ - q = (u_char *) keybuf; - while (q - (u_char *) keybuf - 8) { - if ((*q++ = *key << 1)) - key++; - } - if (des_setkey((u_char *) keybuf)) - return(NULL); - - if (*setting == _PASSWORD_EFMT1) { - /* - * "new"-style: - * setting - underscore, 4 bytes of count, 4 bytes of salt - * key - unlimited characters - */ - for (i = 1, count = 0L; i < 5; i++) - count |= ascii_to_bin(setting[i]) << (i - 1) * 6; - - for (i = 5, salt = 0L; i < 9; i++) - salt |= ascii_to_bin(setting[i]) << (i - 5) * 6; - - while (*key) { - /* - * Encrypt the key with itself. - */ - if (des_cipher((u_char*)keybuf, (u_char*)keybuf, 0L, 1)) - return(NULL); - /* - * And XOR with the next 8 characters of the key. - */ - q = (u_char *) keybuf; - while (q - (u_char *) keybuf - 8 && *key) - *q++ ^= *key++ << 1; - - if (des_setkey((u_char *) keybuf)) - return(NULL); - } - strncpy(output, setting, 9); - - /* - * Double check that we weren't given a short setting. - * If we were, the above code will probably have created - * wierd values for count and salt, but we don't really care. - * Just make sure the output string doesn't have an extra - * NUL in it. - */ - output[9] = '\0'; - p = output + strlen(output); - } else { - /* - * "old"-style: - * setting - 2 bytes of salt - * key - up to 8 characters - */ - count = 25; - - salt = (ascii_to_bin(setting[1]) << 6) - | ascii_to_bin(setting[0]); - - output[0] = setting[0]; - /* - * If the encrypted password that the salt was extracted from - * is only 1 character long, the salt will be corrupted. We - * need to ensure that the output string doesn't have an extra - * NUL in it! - */ - output[1] = setting[1] ? setting[1] : output[0]; - - p = output + 2; - } - setup_salt(salt); - /* - * Do it. - */ - if (do_des(0L, 0L, &r0, &r1, count)) - return(NULL); - /* - * Now encode the result... - */ - l = (r0 >> 8); - *p++ = ascii64[(l >> 18) & 0x3f]; - *p++ = ascii64[(l >> 12) & 0x3f]; - *p++ = ascii64[(l >> 6) & 0x3f]; - *p++ = ascii64[l & 0x3f]; - - l = (r0 << 16) | ((r1 >> 16) & 0xffff); - *p++ = ascii64[(l >> 18) & 0x3f]; - *p++ = ascii64[(l >> 12) & 0x3f]; - *p++ = ascii64[(l >> 6) & 0x3f]; - *p++ = ascii64[l & 0x3f]; - - l = r1 << 2; - *p++ = ascii64[(l >> 12) & 0x3f]; - *p++ = ascii64[(l >> 6) & 0x3f]; - *p++ = ascii64[l & 0x3f]; - *p = 0; - - return(output); -} diff --git a/secure/lib/libcrypt/test/Makefile b/secure/lib/libcrypt/test/Makefile deleted file mode 100644 index c55a276a571db..0000000000000 --- a/secure/lib/libcrypt/test/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# -# Hacked Makefile to compile and run the DES-certification program, -# but not install anything. -# -# $Id: Makefile,v 1.4 1995/05/30 06:11:48 rgrimes Exp $ -# -LIBCRYPT= $(.OBJDIR)/libdescrypt.a - -#CFLAGS+= -DHAVE_CRYPT16 - -TARGETS=cert speedcrypt - -all: ${TARGETS} - -test: all testcrypt testspeed - -testcrypt: cert - @./cert -c - -testspeed: cryptspeed - -cryptspeed: speedcrypt - @./speedcrypt 30 1 - @./speedcrypt 30 1 - @./speedcrypt 30 0 - @./speedcrypt 30 0 - -cert: cert.c ${LIBCRYPT} - $(CC) $(CFLAGS) -o cert ${.CURDIR}/cert.c ${LIBCRYPT} - -speedcrypt: speedcrypt.c ${LIBCRYPT} - $(CC) $(CFLAGS) -o speedcrypt ${.CURDIR}/speedcrypt.c ${LIBCRYPT} - - -clean: - rm -f ${TARGETS} - -install: - -obj: - -.include <bsd.prog.mk> diff --git a/secure/lib/libcrypt/test/README b/secure/lib/libcrypt/test/README deleted file mode 100644 index eb6b0bebbc1de..0000000000000 --- a/secure/lib/libcrypt/test/README +++ /dev/null @@ -1,10 +0,0 @@ -This directory contains test programs to certify DES operation and to -time the crypt() call (of curiosity value). - -Simply type `make test` to run the tests. - -The normal `make all` and `make install` that get done during library building -and installation will build these programs BUT NOT INSTALL THEM. After all, -they're only for testing... - -- David Burren, January 1994 diff --git a/secure/lib/libcrypt/test/cert.c b/secure/lib/libcrypt/test/cert.c deleted file mode 100644 index b2e3ae5699800..0000000000000 --- a/secure/lib/libcrypt/test/cert.c +++ /dev/null @@ -1,208 +0,0 @@ -/* - * This DES validation program shipped with FreeSec is derived from that - * shipped with UFC-crypt which is apparently derived from one distributed - * with Phil Karns PD DES package. - * - * $Id: cert.c,v 1.2 1994/08/08 17:29:03 csgr Exp $ - */ - -#include <stdio.h> - -int totfails = 0; - -char *crypt(); -#ifdef HAVE_CRYPT16 -char *crypt16(); -#endif /* HAVE_CRYPT16 */ - - -static struct crypt_test { - char *key, *setting, *answer; -} crypt_tests[] = { - "foob", "ar", "arlEKn0OzVJn.", - "holyhooplasbatman!", "_X.......", "_X.......N89y2Z.e4WU", - "holyhooplasbatman!", "_X...X...", "_X...X...rSUDQ5Na/QM", - "holyhooplasbatman!", "_XX..X...", "_XX..X...P8vb9xU4JAk", - "holyhooplasbatman!", "_XX..XX..", "_XX..XX..JDs5IlGLqT2", - "holyhooplasbatman!", "_XX..XXa.", "_XX..XXa.bFVsOnCNh8Y", - "holyhooplasbatman!", "_XXa.X...", "_XXa.X...Ghsb3QKNaps", -#ifdef TAKES_TOO_LONG_ON_SOME_CRYPTS - "holyhooplasbatman!", "_arararar", "_ararararNGMzvpNjeCc", -#endif - NULL, NULL, NULL, -}; - - -static struct crypt_test crypt16_tests[] = { - "foob", "ar", "arxo23jZDD5AYbHbqoy9Dalg", - "holyhooplasbatman!", "ar", "arU5FRLJ3kxIoedlmyrOelEw", - NULL, NULL, NULL -}; - - -void good_bye() -{ - if(totfails == 0) { - printf(" Passed validation\n"); - exit(0); - } else { - printf(" %d failures during validation!!!\n", totfails); - exit(1); - } -} - - -void put8(cp) -char *cp; -{ - int i,j,t; - - for(i = 0; i < 8; i++){ - t = 0; - for(j = 0; j < 8; j++) - t = t << 1 | *cp++; - printf("%02x", t); - } -} - - -void print_bits(bits) -unsigned char *bits; -{ - int i; - - for (i = 0; i < 8; i++) { - printf("%02x", bits[i]); - } -} - - -int parse_line(buff, salt, key, plain, answer) -char *buff; -long *salt; -char *key, *plain, *answer; -{ - char *ptr1, *ptr2; - int val; - int i,j,t; - - /* - * Extract salt - */ - if (sscanf(buff, "%lu", salt) != 1) - return(-1); - for (ptr2 = buff; *ptr2 && !isspace(*ptr2); ptr2++) - ; - - /* - * Extract key - */ - for (ptr1 = ptr2; *ptr1 && isspace(*ptr1); ptr1++) - ; - for (ptr2 = ptr1; *ptr2 && !isspace(*ptr2); ptr2++) - ; - if (ptr2 - ptr1 != 16) - return(-1); - for (i = 0; i < 8; i++){ - if (sscanf(ptr1 + 2*i, "%2x", &t) != 1) - return(-2); - for (j = 0; j < 8; j++) - *key++ = (t & 1 << (7 - j)) != 0; - } - - /* - * Extract plain - */ - for (ptr1 = ptr2; *ptr1 && isspace(*ptr1); ptr1++) - ; - for (ptr2 = ptr1; *ptr2 && !isspace(*ptr2); ptr2++) - ; - if (ptr2 - ptr1 != 16) - return(-1); - for (i = 0; i < 8; i++){ - if (sscanf(ptr1 + 2*i, "%2x", &t) != 1) - return(-2); - for (j = 0; j < 8; j++) - *plain++ = (t & 1 << (7 - j)) != 0; - } - - /* - * Extract answer - */ - for (ptr1 = ptr2; *ptr1 && isspace(*ptr1); ptr1++) - ; - for (ptr2 = ptr1; *ptr2 && !isspace(*ptr2); ptr2++) - ; - if (ptr2 - ptr1 != 16) - return(-1); - for (i = 0; i < 8; i++){ - if (sscanf(ptr1 + 2*i, "%2x", &t) != 1) - return(-2); - for (j = 0; j < 8; j++) - *answer++ = (t & 1 << (7 - j)) != 0; - } - return(0); -} - -void bytes_to_bits(bytes, bits) -char *bytes; -unsigned char *bits; -{ - int i, j; - - for (i = 0; i < 8; i++) { - bits[i] = 0; - for (j = 0; j < 8; j++) { - bits[i] |= (bytes[i*8+j] & 1) << (7 - j); - } - } -} - - - -/* - * Test the old-style crypt(), the new-style crypt(), and crypt16(). - */ -void test_crypt() -{ - char *result; - struct crypt_test *p; - - printf("Testing crypt() family\n"); - - for (p = crypt_tests; p->key; p++) { - printf(" crypt(\"%s\", \"%s\"), \"%s\" expected", - p->key, p->setting, p->answer); - fflush(stdout); - result = crypt(p->key, p->setting); - if(!strcmp(result, p->answer)) { - printf(", OK\n"); - } else { - printf("\n failed (\"%s\")\n", result); - totfails++; - } - } - -#ifdef HAVE_CRYPT16 - for (p = crypt16_tests; p->key; p++) { - printf(" crypt16(\"%s\", \"%s\"), \"%s\" expected", - p->key, p->setting, p->answer); - fflush(stdout); - result = crypt16(p->key, p->setting); - if(!strcmp(result, p->answer)) { - printf(", OK\n"); - } else { - printf("\n failed (\"%s\")\n", result); - totfails++; - } - } -#endif /* HAVE_CRYPT16 */ -} - -main(argc, argv) -int argc; -char *argv[]; -{ - test_crypt(); - good_bye(); -} diff --git a/secure/lib/libcrypt/test/cert.input b/secure/lib/libcrypt/test/cert.input deleted file mode 100644 index d0fa7a5caf43a..0000000000000 --- a/secure/lib/libcrypt/test/cert.input +++ /dev/null @@ -1,179 +0,0 @@ -# $Id: cert.input,v 1.1.1.1 1994/04/04 14:57:19 g89r4222 Exp $ -# -# Salt, key, plaintext, ciphertext -# -0 0101010101010101 95f8a5e5dd31d900 8000000000000000 -0 0101010101010101 dd7f121ca5015619 4000000000000000 -0 0101010101010101 2e8653104f3834ea 2000000000000000 -0 0101010101010101 4bd388ff6cd81d4f 1000000000000000 -0 0101010101010101 20b9e767b2fb1456 0800000000000000 -0 0101010101010101 55579380d77138ef 0400000000000000 -0 0101010101010101 6cc5defaaf04512f 0200000000000000 -0 0101010101010101 0d9f279ba5d87260 0100000000000000 -0 0101010101010101 d9031b0271bd5a0a 0080000000000000 -0 0101010101010101 424250b37c3dd951 0040000000000000 -0 0101010101010101 b8061b7ecd9a21e5 0020000000000000 -0 0101010101010101 f15d0f286b65bd28 0010000000000000 -0 0101010101010101 add0cc8d6e5deba1 0008000000000000 -0 0101010101010101 e6d5f82752ad63d1 0004000000000000 -0 0101010101010101 ecbfe3bd3f591a5e 0002000000000000 -0 0101010101010101 f356834379d165cd 0001000000000000 -0 0101010101010101 2b9f982f20037fa9 0000800000000000 -0 0101010101010101 889de068a16f0be6 0000400000000000 -0 0101010101010101 e19e275d846a1298 0000200000000000 -0 0101010101010101 329a8ed523d71aec 0000100000000000 -0 0101010101010101 e7fce22557d23c97 0000080000000000 -0 0101010101010101 12a9f5817ff2d65d 0000040000000000 -0 0101010101010101 a484c3ad38dc9c19 0000020000000000 -0 0101010101010101 fbe00a8a1ef8ad72 0000010000000000 -0 0101010101010101 750d079407521363 0000008000000000 -0 0101010101010101 64feed9c724c2faf 0000004000000000 -0 0101010101010101 f02b263b328e2b60 0000002000000000 -0 0101010101010101 9d64555a9a10b852 0000001000000000 -0 0101010101010101 d106ff0bed5255d7 0000000800000000 -0 0101010101010101 e1652c6b138c64a5 0000000400000000 -0 0101010101010101 e428581186ec8f46 0000000200000000 -0 0101010101010101 aeb5f5ede22d1a36 0000000100000000 -0 0101010101010101 e943d7568aec0c5c 0000000080000000 -0 0101010101010101 df98c8276f54b04b 0000000040000000 -0 0101010101010101 b160e4680f6c696f 0000000020000000 -0 0101010101010101 fa0752b07d9c4ab8 0000000010000000 -0 0101010101010101 ca3a2b036dbc8502 0000000008000000 -0 0101010101010101 5e0905517bb59bcf 0000000004000000 -0 0101010101010101 814eeb3b91d90726 0000000002000000 -0 0101010101010101 4d49db1532919c9f 0000000001000000 -0 0101010101010101 25eb5fc3f8cf0621 0000000000800000 -0 0101010101010101 ab6a20c0620d1c6f 0000000000400000 -0 0101010101010101 79e90dbc98f92cca 0000000000200000 -0 0101010101010101 866ecedd8072bb0e 0000000000100000 -0 0101010101010101 8b54536f2f3e64a8 0000000000080000 -0 0101010101010101 ea51d3975595b86b 0000000000040000 -0 0101010101010101 caffc6ac4542de31 0000000000020000 -0 0101010101010101 8dd45a2ddf90796c 0000000000010000 -0 0101010101010101 1029d55e880ec2d0 0000000000008000 -0 0101010101010101 5d86cb23639dbea9 0000000000004000 -0 0101010101010101 1d1ca853ae7c0c5f 0000000000002000 -0 0101010101010101 ce332329248f3228 0000000000001000 -0 0101010101010101 8405d1abe24fb942 0000000000000800 -0 0101010101010101 e643d78090ca4207 0000000000000400 -0 0101010101010101 48221b9937748a23 0000000000000200 -0 0101010101010101 dd7c0bbd61fafd54 0000000000000100 -0 0101010101010101 2fbc291a570db5c4 0000000000000080 -0 0101010101010101 e07c30d7e4e26e12 0000000000000040 -0 0101010101010101 0953e2258e8e90a1 0000000000000020 -0 0101010101010101 5b711bc4ceebf2ee 0000000000000010 -0 0101010101010101 cc083f1e6d9e85f6 0000000000000008 -0 0101010101010101 d2fd8867d50d2dfe 0000000000000004 -0 0101010101010101 06e7ea22ce92708f 0000000000000002 -0 0101010101010101 166b40b44aba4bd6 0000000000000001 -0 8001010101010101 0000000000000000 95a8d72813daa94d -0 4001010101010101 0000000000000000 0eec1487dd8c26d5 -0 2001010101010101 0000000000000000 7ad16ffb79c45926 -0 1001010101010101 0000000000000000 d3746294ca6a6cf3 -0 0801010101010101 0000000000000000 809f5f873c1fd761 -0 0401010101010101 0000000000000000 c02faffec989d1fc -0 0201010101010101 0000000000000000 4615aa1d33e72f10 -0 0180010101010101 0000000000000000 2055123350c00858 -0 0140010101010101 0000000000000000 df3b99d6577397c8 -0 0120010101010101 0000000000000000 31fe17369b5288c9 -0 0110010101010101 0000000000000000 dfdd3cc64dae1642 -0 0108010101010101 0000000000000000 178c83ce2b399d94 -0 0104010101010101 0000000000000000 50f636324a9b7f80 -0 0102010101010101 0000000000000000 a8468ee3bc18f06d -0 0101800101010101 0000000000000000 a2dc9e92fd3cde92 -0 0101400101010101 0000000000000000 cac09f797d031287 -0 0101200101010101 0000000000000000 90ba680b22aeb525 -0 0101100101010101 0000000000000000 ce7a24f350e280b6 -0 0101080101010101 0000000000000000 882bff0aa01a0b87 -0 0101040101010101 0000000000000000 25610288924511c2 -0 0101020101010101 0000000000000000 c71516c29c75d170 -0 0101018001010101 0000000000000000 5199c29a52c9f059 -0 0101014001010101 0000000000000000 c22f0a294a71f29f -0 0101012001010101 0000000000000000 ee371483714c02ea -0 0101011001010101 0000000000000000 a81fbd448f9e522f -0 0101010801010101 0000000000000000 4f644c92e192dfed -0 0101010401010101 0000000000000000 1afa9a66a6df92ae -0 0101010201010101 0000000000000000 b3c1cc715cb879d8 -0 0101010180010101 0000000000000000 19d032e64ab0bd8b -0 0101010140010101 0000000000000000 3cfaa7a7dc8720dc -0 0101010120010101 0000000000000000 b7265f7f447ac6f3 -0 0101010110010101 0000000000000000 9db73b3c0d163f54 -0 0101010108010101 0000000000000000 8181b65babf4a975 -0 0101010104010101 0000000000000000 93c9b64042eaa240 -0 0101010102010101 0000000000000000 5570530829705592 -0 0101010101800101 0000000000000000 8638809e878787a0 -0 0101010101400101 0000000000000000 41b9a79af79ac208 -0 0101010101200101 0000000000000000 7a9be42f2009a892 -0 0101010101100101 0000000000000000 29038d56ba6d2745 -0 0101010101080101 0000000000000000 5495c6abf1e5df51 -0 0101010101040101 0000000000000000 ae13dbd561488933 -0 0101010101020101 0000000000000000 024d1ffa8904e389 -0 0101010101018001 0000000000000000 d1399712f99bf02e -0 0101010101014001 0000000000000000 14c1d7c1cffec79e -0 0101010101012001 0000000000000000 1de5279dae3bed6f -0 0101010101011001 0000000000000000 e941a33f85501303 -0 0101010101010801 0000000000000000 da99dbbc9a03f379 -0 0101010101010401 0000000000000000 b7fc92f91d8e92e9 -0 0101010101010201 0000000000000000 ae8e5caa3ca04e85 -0 0101010101010180 0000000000000000 9cc62df43b6eed74 -0 0101010101010140 0000000000000000 d863dbb5c59a91a0 -0 0101010101010120 0000000000000000 a1ab2190545b91d7 -0 0101010101010110 0000000000000000 0875041e64c570f7 -0 0101010101010108 0000000000000000 5a594528bebef1cc -0 0101010101010104 0000000000000000 fcdb3291de21f0c0 -0 0101010101010102 0000000000000000 869efd7f9f265a09 -0 1046913489980131 0000000000000000 88d55e54f54c97b4 -0 1007103489988020 0000000000000000 0c0cc00c83ea48fd -0 10071034c8980120 0000000000000000 83bc8ef3a6570183 -0 1046103489988020 0000000000000000 df725dcad94ea2e9 -0 1086911519190101 0000000000000000 e652b53b550be8b0 -0 1086911519580101 0000000000000000 af527120c485cbb0 -0 5107b01519580101 0000000000000000 0f04ce393db926d5 -0 1007b01519190101 0000000000000000 c9f00ffc74079067 -0 3107915498080101 0000000000000000 7cfd82a593252b4e -0 3107919498080101 0000000000000000 cb49a2f9e91363e3 -0 10079115b9080140 0000000000000000 00b588be70d23f56 -0 3107911598080140 0000000000000000 406a9a6ab43399ae -0 1007d01589980101 0000000000000000 6cb773611dca9ada -0 9107911589980101 0000000000000000 67fd21c17dbb5d70 -0 9107d01589190101 0000000000000000 9592cb4110430787 -0 1007d01598980120 0000000000000000 a6b7ff68a318ddd3 -0 1007940498190101 0000000000000000 4d102196c914ca16 -0 0107910491190401 0000000000000000 2dfa9f4573594965 -0 0107910491190101 0000000000000000 b46604816c0e0774 -0 0107940491190401 0000000000000000 6e7e6221a4f34e87 -0 19079210981a0101 0000000000000000 aa85e74643233199 -0 1007911998190801 0000000000000000 2e5a19db4d1962d6 -0 10079119981a0801 0000000000000000 23a866a809d30894 -0 1007921098190101 0000000000000000 d812d961f017d320 -0 100791159819010b 0000000000000000 055605816e58608f -0 1004801598190101 0000000000000000 abd88e8b1b7716f1 -0 1004801598190102 0000000000000000 537ac95be69da1e1 -0 1004801598190108 0000000000000000 aed0f6ae3c25cdd8 -0 1002911598100104 0000000000000000 b3e35a5ee53e7b8d -0 1002911598190104 0000000000000000 61c79c71921a2ef8 -0 1002911598100201 0000000000000000 e2f5728f0995013c -0 1002911698100101 0000000000000000 1aeac39a61f0a464 -0 7ca110454a1a6e57 01a1d6d039776742 690f5b0d9a26939b -0 0131d9619dc1376e 5cd54ca83def57da 7a389d10354bd271 -0 07a1133e4a0b2686 0248d43806f67172 868ebb51cab4599a -0 3849674c2602319e 51454b582ddf440a 7178876e01f19b2a -0 04b915ba43feb5b6 42fd443059577fa2 af37fb421f8c4095 -0 0113b970fd34f2ce 059b5e0851cf143a 86a560f10ec6d85b -0 0170f175468fb5e6 0756d8e0774761d2 0cd3da020021dc09 -0 43297fad38e373fe 762514b829bf486a ea676b2cb7db2b7a -0 07a7137045da2a16 3bdd119049372802 dfd64a815caf1a0f -0 04689104c2fd3b2f 26955f6835af609a 5c513c9c4886c088 -0 37d06bb516cb7546 164d5e404f275232 0a2aeeae3ff4ab77 -0 1f08260d1ac2465e 6b056e18759f5cca ef1bf03e5dfa575a -0 584023641aba6176 004bd6ef09176062 88bf0db6d70dee56 -0 025816164629b007 480d39006ee762f2 a1f9915541020b56 -0 49793ebc79b3258f 437540c8698f3cfa 6fbf1cafcffd0556 -0 4fb05e1515ab73a7 072d43a077075292 2f22e49bab7ca1ac -0 49e95d6d4ca229bf 02fe55778117f12a 5a6b612cc26cce4a -0 018310dc409b26d6 1d9d5c5018f728c2 5f4c038ed12b2e41 -0 1c587f1c13924fef 305532286d6f295a 63fac0d034d9f793 -1 1c587f1c13924fef 305532286d6f295a 400d307ca24fee60 -57 1c587f1c13924fef 305532286d6f295a 28b568f40e7d43ae -1 8001010101010101 0000000000000000 f501029f268e45dc -0 1c587f1c13924fef 305532286d6f295a 63fac0d034d9f793 diff --git a/secure/lib/libcrypt/test/speedcrypt.c b/secure/lib/libcrypt/test/speedcrypt.c deleted file mode 100644 index f7507fd789f04..0000000000000 --- a/secure/lib/libcrypt/test/speedcrypt.c +++ /dev/null @@ -1,76 +0,0 @@ -#include <sys/types.h> -#include <sys/time.h> -#include <sys/resource.h> -#include <signal.h> -#include <stdio.h> - -int keep_going, count, alternate, seconds; -struct rusage prior, now; - -void -finish() -{ - keep_going = 0; -} - - -main(int argc, char *argv[]) -{ - struct itimerval itv; - u_long msecs, key1[8], key2[8]; - char *k1, *k2; - - if (argc < 2 || sscanf(argv[1], "%d", &seconds) != 1) - seconds = 20; - - if (argc < 3 || sscanf(argv[2], "%d", &alternate) != 1) - alternate = 0; - - printf ("Running crypt%s for %d seconds of vtime...\n", - alternate ? " with alternate keys" : "", seconds); - - bzero(&itv, sizeof (itv)); - signal (SIGVTALRM, finish); - itv.it_value.tv_sec = seconds; - itv.it_value.tv_usec = 0; - setitimer(ITIMER_VIRTUAL, &itv, NULL); - - keep_going = 1; - if (getrusage(0, &prior) < 0) { - perror("getrusage"); - exit(1); - } - - k1 = (char *) key1; - k2 = (char *) key2; - strcpy(k1, "fredfredfredfredfred"); - strcpy(k2, "joejoejoejoejoejoejo"); - - if (alternate) - for (count = 0; keep_going; count++) - { -#if defined(LONGCRYPT) - crypt((count & 1) ? k1 : k2, "_ara.X..."); -#else - crypt((count & 1) ? k1 : k2, "eek"); -#endif - } - else - for (count = 0; keep_going; count++) - { -#if defined(LONGCRYPT) - crypt(k1, "_ara.X..."); -#else - crypt(k1, "eek"); -#endif - } - - if (getrusage(0, &now) < 0) { - perror("getrusage"); - exit(1); - } - msecs = (now.ru_utime.tv_sec - prior.ru_utime.tv_sec) * 1000 - + (now.ru_utime.tv_usec - prior.ru_utime.tv_usec) / 1000; - printf ("\tDid %d crypt()s per second.\n", 1000 * count / msecs); - exit(0); -} diff --git a/secure/lib/libdes/COPYRIGHT b/secure/lib/libdes/COPYRIGHT deleted file mode 100644 index 32f8fb0cf73fd..0000000000000 --- a/secure/lib/libdes/COPYRIGHT +++ /dev/null @@ -1,50 +0,0 @@ -Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) -All rights reserved. - -This package is an DES implementation written by Eric Young (eay@mincom.oz.au). -The implementation was written so as to conform with MIT's libdes. - -This library is free for commercial and non-commercial use as long as -the following conditions are aheared to. The following conditions -apply to all code found in this distribution. - -Copyright remains Eric Young's, and as such any Copyright notices in -the code are not to be removed. -If this package is used in a product, Eric Young should be given attribution -as the author of that the SSL library. This can be in the form of a textual -message at program startup or in documentation (online or textual) provided -with the package. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - This product includes software developed by Eric Young (eay@mincom.oz.au) - -THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -The license and distribution terms for any publically available version or -derivative of this code cannot be changed. i.e. this code cannot simply be -copied and put under another distrubution license -[including the GNU Public License.] - -The reason behind this being stated in this direct manner is past -experience in code simply being copied and the attribution removed -from it and then being distributed as part of other packages. This -implementation was a non-trivial and unpaid effort. diff --git a/secure/lib/libdes/DES.pm b/secure/lib/libdes/DES.pm deleted file mode 100644 index 6a175b6ca4b04..0000000000000 --- a/secure/lib/libdes/DES.pm +++ /dev/null @@ -1,19 +0,0 @@ -package DES; - -require Exporter; -require DynaLoader; -@ISA = qw(Exporter DynaLoader); -# Items to export into callers namespace by default -# (move infrequently used names to @EXPORT_OK below) -@EXPORT = qw( -); -# Other items we are prepared to export if requested -@EXPORT_OK = qw( -crypt -); - -# Preloaded methods go here. Autoload methods go after __END__, and are -# processed by the autosplit program. -bootstrap DES; -1; -__END__ diff --git a/secure/lib/libdes/DES.pod b/secure/lib/libdes/DES.pod deleted file mode 100644 index 8a739e7ca0d01..0000000000000 --- a/secure/lib/libdes/DES.pod +++ /dev/null @@ -1,16 +0,0 @@ -crypt <= crypt(buf,salt) -key <= set_odd_parity(key) -int <= is_weak_key(key) -keysched<= set_key(key) -key <= ecb_encrypt(string8,ks,enc) -key <= ecb3_encrypt(input,ks1,ks2,enc) -string <= cbc_encrypt(input,ks,ivec,enc) => ivec -string <= cbc3_encrypt(input,ks1,ks2,ivec1,ivec2,enc) => ivec1&ivec2 -ck1,ck2 <= cbc_cksum(input,ks,ivec) => ivec -string <= pcbc_encrypt(input,ks,ivec,enc) => ivec -string <= ofb_encrypt(input,numbits,ks,ivec) => ivec -string <= cfb_encrypt(input,numbits,ks,ivec,enc) => ivec -key <= random_key() -key <= string_to_key(string) -key1,key2<= string_to_2keys(string) - diff --git a/secure/lib/libdes/DES.xs b/secure/lib/libdes/DES.xs deleted file mode 100644 index def220b36b1dd..0000000000000 --- a/secure/lib/libdes/DES.xs +++ /dev/null @@ -1,268 +0,0 @@ -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" -#include "des.h" - -#define deschar char -static STRLEN len; - -static int -not_here(s) -char *s; -{ - croak("%s not implemented on this architecture", s); - return -1; -} - -MODULE = DES PACKAGE = DES PREFIX = des_ - -char * -des_crypt(buf,salt) - char * buf - char * salt - -void -des_set_odd_parity(key) - des_cblock * key -PPCODE: - { - SV *s; - - s=sv_newmortal(); - sv_setpvn(s,(char *)key,8); - des_set_odd_parity((des_cblock *)SvPV(s,na)); - PUSHs(s); - } - -int -des_is_weak_key(key) - des_cblock * key - -des_key_schedule -des_set_key(key) - des_cblock * key -CODE: - des_set_key(key,RETVAL); -OUTPUT: -RETVAL - -des_cblock -des_ecb_encrypt(input,ks,encrypt) - des_cblock * input - des_key_schedule * ks - int encrypt -CODE: - des_ecb_encrypt(input,&RETVAL,*ks,encrypt); -OUTPUT: -RETVAL - -void -des_cbc_encrypt(input,ks,ivec,encrypt) - char * input - des_key_schedule * ks - des_cblock * ivec - int encrypt -PPCODE: - { - SV *s; - STRLEN len,l; - char *c; - - l=SvCUR(ST(0)); - len=((((unsigned long)l)+7)/8)*8; - s=sv_newmortal(); - sv_setpvn(s,"",0); - SvGROW(s,len); - SvCUR_set(s,len); - c=(char *)SvPV(s,na); - des_cbc_encrypt((des_cblock *)input,(des_cblock *)c, - l,*ks,ivec,encrypt); - sv_setpvn(ST(2),(char *)c[len-8],8); - PUSHs(s); - } - -void -des_cbc3_encrypt(input,ks1,ks2,ivec1,ivec2,encrypt) - char * input - des_key_schedule * ks1 - des_key_schedule * ks2 - des_cblock * ivec1 - des_cblock * ivec2 - int encrypt -PPCODE: - { - SV *s; - STRLEN len,l; - - l=SvCUR(ST(0)); - len=((((unsigned long)l)+7)/8)*8; - s=sv_newmortal(); - sv_setpvn(s,"",0); - SvGROW(s,len); - SvCUR_set(s,len); - des_3cbc_encrypt((des_cblock *)input,(des_cblock *)SvPV(s,na), - l,*ks1,*ks2,ivec1,ivec2,encrypt); - sv_setpvn(ST(3),(char *)ivec1,8); - sv_setpvn(ST(4),(char *)ivec2,8); - PUSHs(s); - } - -void -des_cbc_cksum(input,ks,ivec) - char * input - des_key_schedule * ks - des_cblock * ivec -PPCODE: - { - SV *s1,*s2; - STRLEN len,l; - des_cblock c; - unsigned long i1,i2; - - s1=sv_newmortal(); - s2=sv_newmortal(); - l=SvCUR(ST(0)); - des_cbc_cksum((des_cblock *)input,(des_cblock *)c, - l,*ks,ivec); - i1=c[4]|(c[5]<<8)|(c[6]<<16)|(c[7]<<24); - i2=c[0]|(c[1]<<8)|(c[2]<<16)|(c[3]<<24); - sv_setiv(s1,i1); - sv_setiv(s2,i2); - sv_setpvn(ST(2),(char *)c,8); - PUSHs(s1); - PUSHs(s2); - } - -void -des_cfb_encrypt(input,numbits,ks,ivec,encrypt) - char * input - int numbits - des_key_schedule * ks - des_cblock * ivec - int encrypt -PPCODE: - { - SV *s; - STRLEN len; - char *c; - - len=SvCUR(ST(0)); - s=sv_newmortal(); - sv_setpvn(s,"",0); - SvGROW(s,len); - SvCUR_set(s,len); - c=(char *)SvPV(s,na); - des_cfb_encrypt((unsigned char *)input,(unsigned char *)c, - (int)numbits,(long)len,*ks,ivec,encrypt); - sv_setpvn(ST(3),(char *)ivec,8); - PUSHs(s); - } - -des_cblock * -des_ecb3_encrypt(input,ks1,ks2,encrypt) - des_cblock * input - des_key_schedule * ks1 - des_key_schedule * ks2 - int encrypt -CODE: - { - des_cblock c; - - des_3ecb_encrypt((des_cblock *)input,(des_cblock *)&c, - *ks1,*ks2,encrypt); - RETVAL= &c; - } -OUTPUT: -RETVAL - -void -des_ofb_encrypt(input,numbits,ks,ivec) - unsigned char * input - int numbits - des_key_schedule * ks - des_cblock * ivec -PPCODE: - { - SV *s; - STRLEN len,l; - unsigned char *c; - - len=SvCUR(ST(0)); - s=sv_newmortal(); - sv_setpvn(s,"",0); - SvGROW(s,len); - SvCUR_set(s,len); - c=(unsigned char *)SvPV(s,na); - des_ofb_encrypt((unsigned char *)input,(unsigned char *)c, - numbits,len,*ks,ivec); - sv_setpvn(ST(3),(char *)ivec,8); - PUSHs(s); - } - -void -des_pcbc_encrypt(input,ks,ivec,encrypt) - char * input - des_key_schedule * ks - des_cblock * ivec - int encrypt -PPCODE: - { - SV *s; - STRLEN len,l; - char *c; - - l=SvCUR(ST(0)); - len=((((unsigned long)l)+7)/8)*8; - s=sv_newmortal(); - sv_setpvn(s,"",0); - SvGROW(s,len); - SvCUR_set(s,len); - c=(char *)SvPV(s,na); - des_pcbc_encrypt((des_cblock *)input,(des_cblock *)c, - l,*ks,ivec,encrypt); - sv_setpvn(ST(2),(char *)c[len-8],8); - PUSHs(s); - } - -des_cblock * -des_random_key() -CODE: - { - des_cblock c; - - des_random_key(c); - RETVAL=&c; - } -OUTPUT: -RETVAL - -des_cblock * -des_string_to_key(str) -char * str -CODE: - { - des_cblock c; - - des_string_to_key(str,&c); - RETVAL=&c; - } -OUTPUT: -RETVAL - -void -des_string_to_2keys(str) -char * str -PPCODE: - { - des_cblock c1,c2; - SV *s1,*s2; - - des_string_to_2keys(str,&c1,&c2); - EXTEND(sp,2); - s1=sv_newmortal(); - sv_setpvn(s1,(char *)c1,8); - s2=sv_newmortal(); - sv_setpvn(s2,(char *)c2,8); - PUSHs(s1); - PUSHs(s2); - } diff --git a/secure/lib/libdes/FILES b/secure/lib/libdes/FILES deleted file mode 100644 index 4c7ea2de7a06e..0000000000000 --- a/secure/lib/libdes/FILES +++ /dev/null @@ -1,96 +0,0 @@ -/* General stuff */ -COPYRIGHT - Copyright info. -MODES.DES - A description of the features of the different modes of DES. -FILES - This file. -INSTALL - How to make things compile. -Imakefile - For use with kerberos. -README - What this package is. -VERSION - Which version this is and what was changed. -KERBEROS - Kerberos version 4 notes. -Makefile.PL - An old makefile to build with perl5, not current. -Makefile.ssl - The SSLeay makefile -Makefile.uni - The normal unix makefile. -GNUmakefile - The makefile for use with glibc. -makefile.bc - A Borland C makefile -times - Some outputs from 'speed' on some machines. -vms.com - For use when compiling under VMS - -/* My SunOS des(1) replacement */ -des.c - des(1) source code. -des.man - des(1) manual. - -/* Testing and timing programs. */ -destest.c - Source for libdes.a test program. -speed.c - Source for libdes.a timing program. -rpw.c - Source for libdes.a testing password reading routines. - -/* libdes.a source code */ -des_crypt.man - libdes.a manual page. -des.h - Public libdes.a header file. -ecb_enc.c - des_ecb_encrypt() source, this contains the basic DES code. -ecb3_enc.c - des_ecb3_encrypt() source. -cbc_ckm.c - des_cbc_cksum() source. -cbc_enc.c - des_cbc_encrypt() source. -ncbc_enc.c - des_cbc_encrypt() that is 'normal' in that it copies - the new iv values back in the passed iv vector. -ede_enc.c - des_ede3_cbc_encrypt() cbc mode des using triple DES. -cbc3_enc.c - des_3cbc_encrypt() source, don't use this function. -cfb_enc.c - des_cfb_encrypt() source. -cfb64enc.c - des_cfb64_encrypt() cfb in 64 bit mode but setup to be - used as a stream cipher. -cfb64ede.c - des_ede3_cfb64_encrypt() cfb in 64 bit mode but setup to be - used as a stream cipher and using triple DES. -ofb_enc.c - des_cfb_encrypt() source. -ofb64_enc.c - des_ofb_encrypt() ofb in 64 bit mode but setup to be - used as a stream cipher. -ofb64ede.c - des_ede3_ofb64_encrypt() ofb in 64 bit mode but setup to be - used as a stream cipher and using triple DES. -enc_read.c - des_enc_read() source. -enc_writ.c - des_enc_write() source. -pcbc_enc.c - des_pcbc_encrypt() source. -qud_cksm.c - quad_cksum() source. -rand_key.c - des_random_key() source. -read_pwd.c - Source for des_read_password() plus related functions. -set_key.c - Source for des_set_key(). -str2key.c - Covert a string of any length into a key. -fcrypt.c - A small, fast version of crypt(3). -des_locl.h - Internal libdes.a header file. -podd.h - Odd parity tables - used in des_set_key(). -sk.h - Lookup tables used in des_set_key(). -spr.h - What is left of the S tables - used in ecb_encrypt(). -des_ver.h - header file for the external definition of the - version string. -des.doc - SSLeay documentation for the library. - -/* The perl scripts - you can ignore these files they are only - * included for the curious */ -des.pl - des in perl anyone? des_set_key and des_ecb_encrypt - both done in a perl library. -testdes.pl - Testing program for des.pl -doIP - Perl script used to develop IP xor/shift code. -doPC1 - Perl script used to develop PC1 xor/shift code. -doPC2 - Generates sk.h. -PC1 - Output of doPC1 should be the same as output from PC1. -PC2 - used in development of doPC2. -shifts.pl - Perl library used by my perl scripts. - -/* I started making a perl5 dynamic library for libdes - * but did not fully finish, these files are part of that effort. */ -DES.pm -DES.pod -DES.xs -t -typemap - -/* The following are for use with sun RPC implementaions. */ -rpc_des.h -rpc_enc.c - -/* The following are contibuted by Mark Murray <mark@grondar.za>. They - * are not normally built into libdes due to machine specific routines - * contained in them. They are for use in the most recent incarnation of - * export kerberos v 4 (eBones). */ -supp.c -new_rkey.c - - diff --git a/secure/lib/libdes/GNUmakefile b/secure/lib/libdes/GNUmakefile deleted file mode 100644 index 5863b9063fe92..0000000000000 --- a/secure/lib/libdes/GNUmakefile +++ /dev/null @@ -1,35 +0,0 @@ -# This was GNUmakefile -# I have changed the library a bit since I was last able to test the -# build so this may require a little tweaking. -# have fun. - -ifeq ($(wildcard ../Rules),) -# no glibc -include Makefile.uni -else -# We are part of glibc -default_cflags:= -O2 -subdir := des -headers:= des.h rpc_des.h - -routines:= $(destest) - cbc3_enc cbc_cksm cbc_enc cfb64enc cfb_enc \ - ecb3_enc ecb_enc ede_enc enc_read enc_writ \ - fcrypt ncbc_enc ofb64enc ofb_enc pcbc_enc \ - qud_cksm rand_key read_pwd rpc_enc set_key \ - str2key cfb64ede ofb64ede supp -distribute:= ARTISTIC COPYRIGHT FILES INSTALL Imakefile README VERSION \ - GNUmakefile times vms.com KERBEROS MODES.DES \ - des.man des_crypt.man \ - des_ver.h des_locl.h podd.h sk.h spr.h \ - des.pl testdes.pl doIP doPC1 doPC2 PC1 PC2 shifts.pl \ - des.doc makefile.bc - -tests:= destest speed -override +gccwarn := -w -others:= des rpw -install:= des - -include ../Rules -endif - diff --git a/secure/lib/libdes/INSTALL b/secure/lib/libdes/INSTALL deleted file mode 100644 index c8cc5bebd6e2b..0000000000000 --- a/secure/lib/libdes/INSTALL +++ /dev/null @@ -1,57 +0,0 @@ -Check the CC and CFLAGS lines in the makefile - -If your C library does not support the times(3) function, change the -#define TIMES to -#undef TIMES in speed.c -If it does, check the HZ value for the times(3) function. -If your system does not define CLK_TCK it will be assumed to -be 100.0. - -If possible use gcc v 2.7.? -Turn on the maximum optimising (normally '-O3 -fomit-frame-pointer' for gcc) - -type 'make' - -run './destest' to check things are ok. -run './rpw' to check the tty code for reading passwords works. -run './speed' to see how fast those optimisations make the library run :-) - -A make install will by default install -libdes.a in /usr/local/lib/libdes.a -des in /usr/local/bin/des -des_crypt.man in /usr/local/man/man3/des_crypt.3 -des.man in /usr/local/man/man1/des.1 -des.h in /usr/include/des.h - -des(1) should be compatible with sunOS's but I have been unable to -test it. - -These routines should compile on MSDOS, most 32bit and 64bit version -of Unix (BSD and SYSV) and VMS, without modification. -The only problems should be #include files that are in the wrong places. - -These routines can be compiled under MSDOS. -I have successfully encrypted files using des(1) under MSDOS and then -decrypted the files on a SparcStation. -I have been able to compile and test the routines with -Microsoft C v 5.1 and Turbo C v 2.0. -The code in this library is in no way optimised for the 16bit -operation of MSDOS. Microsoft C generates code that is 40% slower -than Turbo C's code. I believe this is due to problems it has with -code generation with the 32bit shift operation in the IP and FP -sections. I have added some 16bit optimization in ecb_encrypt.c -and this generated a %70 speedup under Turbo C. Such are the -limitations of DOS compilers :-(. - -For Turbo C v 2.0, make sure to define MSDOS, in the relevant menu. - -There is an alternative version of the D_ENCRYPT macro that can be -enabled with the -DDES_USE_PTR option in the makefile. This alternative -macro can make a +-%20 speed difference to the DES encryption speed, -depending on the compiler/CPU combinations. -It has its greatest effect on Sparc machines when using the sun compiler. -If in doubt, try enable/disable it and running speed. It does not -seem to affect gcc much. - -When building for glibc, ignore all of the above and just unpack into -glibc-1.??/des and then gmake as per normal. diff --git a/secure/lib/libdes/Imakefile b/secure/lib/libdes/Imakefile deleted file mode 100644 index c4592f23a1672..0000000000000 --- a/secure/lib/libdes/Imakefile +++ /dev/null @@ -1,35 +0,0 @@ -# This Imakefile has not been tested for a while but it should still -# work when placed in the correct directory in the kerberos v 4 distribution - -SRCS= cbc_cksm.c cbc_enc.c ecb_enc.c pcbc_enc.c \ - qud_cksm.c rand_key.c read_pwd.c set_key.c str2key.c \ - enc_read.c enc_writ.c fcrypt.c cfb_enc.c \ - 3ecb_enc.c ofb_enc.c ofb64enc.c - -OBJS= cbc_cksm.o cbc_enc.o ecb_enc.o pcbc_enc.o \ - qud_cksm.o rand_key.o read_pwd.o set_key.o str2key.o \ - enc_read.o enc_writ.o fcrypt.o cfb_enc.o \ - 3ecb_enc.o ofb_enc.o ofb64enc.o - -GENERAL=COPYRIGHT FILES INSTALL Imakefile README VERSION makefile times \ - vms.com KERBEROS -DES= des.c des.man -TESTING=destest.c speed.c rpw.c -LIBDES= des_crypt.man des.h des_locl.h podd.h sk.h spr.h - -PERL= des.pl testdes.pl doIP doPC1 doPC2 PC1 PC2 shifts.pl - -CODE= $(GENERAL) $(DES) $(TESTING) $(SRCS) $(LIBDES) $(PERL) - -SRCDIR=$(SRCTOP)/lib/des - -DBG= -O -INCLUDE= -I$(SRCDIR) -CC= cc - -library_obj_rule() - -install_library_target(des,$(OBJS),$(SRCS),) - -test(destest,libdes.a,) -test(rpw,libdes.a,) diff --git a/secure/lib/libdes/KERBEROS b/secure/lib/libdes/KERBEROS deleted file mode 100644 index f401b10014ffb..0000000000000 --- a/secure/lib/libdes/KERBEROS +++ /dev/null @@ -1,41 +0,0 @@ - [ This is an old file, I don't know if it is true anymore - but I will leave the file here - eay 21/11/95 ] - -To use this library with Bones (kerberos without DES): -1) Get my modified Bones - eBones. It can be found on - gondwana.ecr.mu.oz.au (128.250.1.63) /pub/athena/eBones-p9.tar.Z - and - nic.funet.fi (128.214.6.100) /pub/unix/security/Kerberos/eBones-p9.tar.Z - -2) Unpack this library in src/lib/des, makeing sure it is version - 3.00 or greater (libdes.tar.93-10-07.Z). This versions differences - from the version in comp.sources.misc volume 29 patchlevel2. - The primarily difference is that it should compile under kerberos :-). - It can be found at. - ftp.psy.uq.oz.au (130.102.32.1) /pub/DES/libdes.tar.93-10-07.Z - -Now do a normal kerberos build and things should work. - -One problem I found when I was build on my local sun. ---- -For sunOS 4.1.1 apply the following patch to src/util/ss/make_commands.c - -*** make_commands.c.orig Fri Jul 3 04:18:35 1987 ---- make_commands.c Wed May 20 08:47:42 1992 -*************** -*** 98,104 **** - if (!rename(o_file, z_file)) { - if (!vfork()) { - chdir("/tmp"); -! execl("/bin/ld", "ld", "-o", o_file+5, "-s", "-r", "-n", - z_file+5, 0); - perror("/bin/ld"); - _exit(1); ---- 98,104 ---- - if (!rename(o_file, z_file)) { - if (!vfork()) { - chdir("/tmp"); -! execl("/bin/ld", "ld", "-o", o_file+5, "-s", "-r", - z_file+5, 0); - perror("/bin/ld"); - _exit(1); diff --git a/secure/lib/libdes/MODES.DES b/secure/lib/libdes/MODES.DES deleted file mode 100644 index 18934b56c335c..0000000000000 --- a/secure/lib/libdes/MODES.DES +++ /dev/null @@ -1,84 +0,0 @@ -Modes of DES -Quite a bit of the following information has been taken from - AS 2805.5.2 - Australian Standard - Electronic funds transfer - Requirements for interfaces, - Part 5.2: Modes of operation for an n-bit block cipher algorithm - Appendix A - -There are several different modes in which DES can be used, they are -as follows. - -Electronic Codebook Mode (ECB) (des_ecb_encrypt()) -- 64 bits are enciphered at a time. -- The order of the blocks can be rearranged without detection. -- The same plaintext block always produces the same ciphertext block - (for the same key) making it vulnerable to a 'dictionary attack'. -- An error will only affect one ciphertext block. - -Cipher Block Chaining Mode (CBC) (des_cbc_encrypt()) -- a multiple of 64 bits are enciphered at a time. -- The CBC mode produces the same ciphertext whenever the same - plaintext is encrypted using the same key and starting variable. -- The chaining operation makes the ciphertext blocks dependent on the - current and all preceding plaintext blocks and therefore blocks can not - be rearranged. -- The use of different starting variables prevents the same plaintext - enciphering to the same ciphertext. -- An error will affect the current and the following ciphertext blocks. - -Cipher Feedback Mode (CFB) (des_cfb_encrypt()) -- a number of bits (j) <= 64 are enciphered at a time. -- The CFB mode produces the same ciphertext whenever the same - plaintext is encrypted using the same key and starting variable. -- The chaining operation makes the ciphertext variables dependent on the - current and all preceding variables and therefore j-bit variables are - chained together and con not be rearranged. -- The use of different starting variables prevents the same plaintext - enciphering to the same ciphertext. -- The strength of the CFB mode depends on the size of k (maximal if - j == k). In my implementation this is always the case. -- Selection of a small value for j will require more cycles through - the encipherment algorithm per unit of plaintext and thus cause - greater processing overheads. -- Only multiples of j bits can be enciphered. -- An error will affect the current and the following ciphertext variables. - -Output Feedback Mode (OFB) (des_ofb_encrypt()) -- a number of bits (j) <= 64 are enciphered at a time. -- The OFB mode produces the same ciphertext whenever the same - plaintext enciphered using the same key and starting variable. More - over, in the OFB mode the same key stream is produced when the same - key and start variable are used. Consequently, for security reasons - a specific start variable should be used only once for a given key. -- The absence of chaining makes the OFB more vulnerable to specific attacks. -- The use of different start variables values prevents the same - plaintext enciphering to the same ciphertext, by producing different - key streams. -- Selection of a small value for j will require more cycles through - the encipherment algorithm per unit of plaintext and thus cause - greater processing overheads. -- Only multiples of j bits can be enciphered. -- OFB mode of operation does not extend ciphertext errors in the - resultant plaintext output. Every bit error in the ciphertext causes - only one bit to be in error in the deciphered plaintext. -- OFB mode is not self-synchronising. If the two operation of - encipherment and decipherment get out of synchronism, the system needs - to be re-initialised. -- Each re-initialisation should use a value of the start variable -different from the start variable values used before with the same -key. The reason for this is that an identical bit stream would be -produced each time from the same parameters. This would be -susceptible to a 'known plaintext' attack. - -Triple ECB Mode (des_3ecb_encrypt()) -- Encrypt with key1, decrypt with key2 and encrypt with key1 again. -- As for ECB encryption but increases the effective key length to 112 bits. -- If both keys are the same it is equivalent to encrypting once with - just one key. - -Triple CBC Mode (des_3cbc_encrypt()) -- Encrypt with key1, decrypt with key2 and encrypt with key1 again. -- As for CBC encryption but increases the effective key length to 112 bits. -- If both keys are the same it is equivalent to encrypting once with - just one key. diff --git a/secure/lib/libdes/Makefile b/secure/lib/libdes/Makefile deleted file mode 100644 index f32c85ebf31d2..0000000000000 --- a/secure/lib/libdes/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# @(#)Makefile 5.4 (Berkeley) 5/7/91 -# $Id: Makefile,v 1.3 1996/07/29 18:01:39 markm Exp $ - -LIB= des -SRCS= cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c \ - ecb3_enc.c ecb_enc.c ede_enc.c enc_read.c enc_writ.c \ - ncbc_enc.c new_rkey.c ofb64enc.c ofb_enc.c pcbc_enc.c \ - qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c \ - str2key.c cfb64ede.c ofb64ede.c supp.c xcbc_enc.c -HEADER= des.h - -SHLIB_MAJOR= 3 -SHLIB_MINOR= 0 - -CFLAGS+= -Wall -CLEANFILES+= des_crypt.3 - -MAN3= des_crypt.3 - -des_crypt.3: des_crypt.man - cp ${.OODATE} ${.TARGET} - -MLINKS= des_crypt.3 des_read_password.3 \ - des_crypt.3 des_read_2password.3 des_crypt.3 des_string_to_key.3 \ - des_crypt.3 des_string_to_2key.3 des_crypt.3 des_read_pw_string.3 \ - des_crypt.3 des_random_key.3 des_crypt.3 des_set_key.3 \ - des_crypt.3 des_key_sched.3 des_crypt.3 des_ecb_encrypt.3 \ - des_crypt.3 des_3ecb_encrypt.3 des_crypt.3 des_cbc_encrypt.3 \ - des_crypt.3 des_3cbc_encrypt.3 des_crypt.3 des_pcbc_encrypt.3 \ - des_crypt.3 des_cfb_encrypt.3 des_crypt.3 des_ofb_encrypt.3 \ - des_crypt.3 des_cbc_cksum.3 des_crypt.3 des_quad_cksum.3 \ - des_crypt.3 des_enc_read.3 des_crypt.3 des_enc_write.3 \ - des_crypt.3 des_set_odd_parity.3 des_crypt.3 des_is_weak_key.3 - -beforeinstall: -.for i in ${HEADER} - ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/$i \ - ${DESTDIR}/usr/include -.endfor - -.include <bsd.lib.mk> diff --git a/secure/lib/libdes/Makefile.PL b/secure/lib/libdes/Makefile.PL deleted file mode 100644 index 41a7e0fbba104..0000000000000 --- a/secure/lib/libdes/Makefile.PL +++ /dev/null @@ -1,14 +0,0 @@ -use ExtUtils::MakeMaker; -# See lib/ExtUtils/MakeMaker.pm for details of how to influence -# the contents of the Makefile being created. -&writeMakefile( - 'potential_libs' => '', # e.g., '-lm' - 'INC' => '', # e.g., '-I/usr/include/other' - 'DISTNAME' => 'DES', - 'VERSION' => '0.1', - 'DEFINE' => '-DPERL5', - 'OBJECT' => 'DES.o cbc_cksm.o cbc_enc.o ecb_enc.o pcbc_enc.o \ - rand_key.o set_key.o str2key.o \ - enc_read.o enc_writ.o fcrypt.o cfb_enc.o \ - ecb3_enc.o ofb_enc.o cbc3_enc.o', - ); diff --git a/secure/lib/libdes/Makefile.ssl b/secure/lib/libdes/Makefile.ssl deleted file mode 100644 index 81fb3ca4ae4c8..0000000000000 --- a/secure/lib/libdes/Makefile.ssl +++ /dev/null @@ -1,94 +0,0 @@ -# -# SSLeay/crypto/des/Makefile -# - -DIR= des -TOP= ../.. -CC= cc -INCLUDES= -CFLAG=-g -INSTALLTOP=/usr/local/ssl -MAKE= make -f Makefile.ssl -MAKEDEPEND= makedepend -fMakefile.ssl -MAKEFILE= Makefile.ssl - -CFLAGS= $(INCLUDES) $(CFLAG) - -GENERAL=Makefile des.org des_locl.org -TEST=destest.c -APPS= - -LIB=$(TOP)/libcrypto.a -LIBSRC= cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c \ - ecb3_enc.c ecb_enc.c ede_enc.c enc_read.c enc_writ.c \ - fcrypt.c ncbc_enc.c ofb64enc.c ofb_enc.c pcbc_enc.c \ - qud_cksm.c rand_key.c read_pwd.c rpc_enc.c set_key.c \ - xcbc_enc.c \ - str2key.c cfb64ede.c ofb64ede.c supp.c - -LIBOBJ= set_key.o ecb_enc.o ede_enc.o cbc_enc.o cbc3_enc.o \ - ecb3_enc.o cfb64enc.o cfb64ede.o cfb_enc.o ofb64ede.o \ - enc_read.o enc_writ.o fcrypt.o ncbc_enc.o ofb64enc.o \ - ofb_enc.o str2key.o pcbc_enc.o qud_cksm.o rand_key.o \ - xcbc_enc.o \ - read_pwd.o rpc_enc.o cbc_cksm.o supp.o - -SRC= $(LIBSRC) - -EXHEADER= des.h -HEADER= des_locl.h rpc_des.h podd.h sk.h spr.h des_ver.h $(EXHEADER) - -ALL= $(GENERAL) $(SRC) $(HEADER) - -top: - (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) - -all: lib - -lib: $(LIBOBJ) - ar r $(LIB) $(LIBOBJ) - $(TOP)/util/ranlib.sh $(LIB) - @touch lib - -files: - perl $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO - -links: - /bin/rm -f Makefile - $(TOP)/util/point.sh Makefile.ssl Makefile ; - /bin/rm -f des.doc - $(TOP)/util/point.sh ../../doc/des.doc des.doc ; - $(TOP)/util/mklink.sh ../../include $(EXHEADER) - $(TOP)/util/mklink.sh ../../test $(TEST) - $(TOP)/util/mklink.sh ../../apps $(APPS) - -install: installs - -installs: - @for i in $(EXHEADER) ; \ - do \ - (cp $$i $(INSTALLTOP)/include/$$i; \ - chmod 644 $(INSTALLTOP)/include/$$i ) \ - done; - -tags: - ctags $(SRC) - -tests: - -lint: - lint -DLINT $(INCLUDES) $(SRC)>fluff - -depend: - $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC) - -dclean: - perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new - mv -f Makefile.new $(MAKEFILE) - -clean: - /bin/rm -f *.o *.obj lib tags core .nfs* *.old *.bak fluff - -errors: - -# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/secure/lib/libdes/Makefile.uni b/secure/lib/libdes/Makefile.uni deleted file mode 100644 index 33f959f008352..0000000000000 --- a/secure/lib/libdes/Makefile.uni +++ /dev/null @@ -1,155 +0,0 @@ -# You must select the correct terminal control system to be used to -# turn character echo off when reading passwords. There a 5 systems -# SGTTY - the old BSD system -# TERMIO - most system V boxes -# TERMIOS - SGI (ala IRIX). -# VMS - the DEC operating system -# MSDOS - we all know what it is :-) -# read_pwd.c makes a reasonable guess at what is correct. - -# If you are on a DEC Alpha, edit des.h and change the DES_LONG -# define to 'unsigned int'. I have seen this give a %20 speedup. - -OPTS0= -DRAND -DTERMIO #-DNOCONST - -# Version 1.94 has changed the strings_to_key function so that it is -# now compatible with MITs when the string is longer than 8 characters. -# If you wish to keep the old version, uncomment the following line. -# This will affect the -E/-D options on des(1). -#OPTS1= -DOLD_STR_TO_KEY - -# This #define specifies the use of an alternative D_ENCRYPT macro in -# ecb_encrypt. The choice of macro can make a %20 difference in the -# speed. Unfortunatly the choise of the best macro appears to be very -# dependant on the compiler and the machine in question. -# For the following combinations use the ALT_ECB option. -# Sparc 2 (cc -O4), sun 3/260 (cc -O4) -# For the following combinations do not use the ALT_ECB option. -# Sparc 2 (gcc2 -O2), sun 3/260 (cc -O2), mvax2 (cc -O), MSDOS (Turbo Cv2) -# For other machines, experiment with changing the option and run -# ./speed to see which is faster. -# DO NOT TURN THIS OPTION ON WHEN COMPILING THIS CODE ON A 64 BIT MACHINE -# 12-Apr-1996 - It appears to be broken and I'm not bothering to fix -# it right now, so don't use this option :-) -#OPTS2= -DDES_PTR - -OPTS= $(OPTS0) $(OPTS1) $(OPTS2) - -#CC=cc -#CFLAGS= -O $(OPTS) $(CFLAG) - -CC=gcc -CFLAGS= -O3 -fomit-frame-pointer $(OPTS) $(CFLAG) - -LIBDIR=/usr/local/lib -BINDIR=/usr/local/bin -INCDIR=/usr/local/include -MANDIR=/usr/local/man -MAN1=1 -MAN3=3 -SHELL=/bin/sh -OBJS= cbc3_enc.o cbc_cksm.o cbc_enc.o ncbc_enc.o pcbc_enc.o qud_cksm.o \ - cfb64ede.o cfb64enc.o cfb_enc.o ecb3_enc.o ecb_enc.o ede_enc.o \ - enc_read.o enc_writ.o fcrypt.o ofb64ede.o ofb64enc.o ofb_enc.o \ - rand_key.o read_pwd.o set_key.o rpc_enc.o str2key.o supp.o - -GENERAL=COPYRIGHT FILES INSTALL Imakefile README VERSION Makefile \ - times vms.com KERBEROS MODES.DES GNUmakefile des.man \ - DES.pm DES.pod DES.xs Makefile.PL Makefile.uni typemap t \ - des_crypt.man Makefile.ssl des.doc makefile.bc des.org \ - des_locl.org -DES= des.c -TESTING=destest.c speed.c rpw.c -HEADERS=des_ver.h des.h des_locl.h podd.h sk.h spr.h rpc_des.h -LIBDES= cbc3_enc.c cbc_cksm.c cbc_enc.c ncbc_enc.c pcbc_enc.c qud_cksm.c \ - cfb64ede.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c ede_enc.c \ - enc_read.c enc_writ.c fcrypt.c ofb64ede.c ofb64enc.c ofb_enc.c \ - rand_key.c read_pwd.c set_key.c rpc_enc.c str2key.c supp.c - -PERL= des.pl testdes.pl doIP doPC1 doPC2 PC1 PC2 shifts.pl - -ALL= $(GENERAL) $(DES) $(TESTING) $(LIBDES) $(PERL) $(HEADERS) - -DLIB= libdes.a - -all: $(DLIB) destest rpw des speed - -test: all - ./destest - -$(DLIB): $(OBJS) - /bin/rm -f $(DLIB) - ar cr $(DLIB) $(OBJS) - -if test -s /bin/ranlib; then /bin/ranlib $(DLIB); \ - else if test -s /usr/bin/ranlib; then /usr/bin/ranlib $(DLIB); \ - else exit 0; fi; fi - -destest: destest.o libdes.a - $(CC) $(CFLAGS) -o destest destest.o libdes.a - -rpw: rpw.o libdes.a - $(CC) $(CFLAGS) -o rpw rpw.o libdes.a - -speed: speed.o libdes.a - $(CC) $(CFLAGS) -o speed speed.o libdes.a - -des: des.o libdes.a - $(CC) $(CFLAGS) -o des des.o libdes.a - -tags: - ctags $(DES) $(TESTING) $(LIBDES) - -tar: - tar chf libdes.tar $(ALL) - -shar: - shar $(ALL) >libdes.shar - -depend: - makedepend $(LIBDES) $(DES) $(TESTING) - -clean: - /bin/rm -f *.o tags core rpw destest des speed $(DLIB) .nfs* *.old \ - *.bak destest rpw des speed - -dclean: - sed -e '/^# DO NOT DELETE THIS LINE/ q' Makefile >Makefile.new - mv -f Makefile.new Makefile - -# Eric is probably going to choke when he next looks at this --tjh -install: $(DLIB) des - if test $(INSTALLTOP); then \ - echo SSL style install; \ - cp $(DLIB) $(INSTALLTOP)/lib; \ - if test -s /bin/ranlib; then \ - /bin/ranlib $(INSTALLTOP)/lib/$(DLIB); \ - else \ - if test -s /usr/bin/ranlib; then \ - /usr/bin/ranlib $(INSTALLTOP)/lib/$(DLIB); \ - fi; fi; \ - chmod 644 $(INSTALLTOP)/lib/$(DLIB); \ - cp des.h $(INSTALLTOP)/include; \ - chmod 644 $(INSTALLTOP)/include/des.h; \ - cp des $(INSTALLTOP)/bin; \ - chmod 755 $(INSTALLTOP)/bin/des; \ - else \ - echo Standalone install; \ - cp $(DLIB) $(LIBDIR)/$(DLIB); \ - if test -s /bin/ranlib; then \ - /bin/ranlib $(LIBDIR)/$(DLIB); \ - else \ - if test -s /usr/bin/ranlib; then \ - /usr/bin/ranlib $(LIBDIR)/$(DLIB); \ - fi; \ - fi; \ - chmod 644 $(LIBDIR)/$(DLIB); \ - cp des $(BINDIR)/des; \ - chmod 711 $(BINDIR)/des; \ - cp des_crypt.man $(MANDIR)/man$(MAN3)/des_crypt.$(MAN3); \ - chmod 644 $(MANDIR)/man$(MAN3)/des_crypt.$(MAN3); \ - cp des.man $(MANDIR)/man$(MAN1)/des.$(MAN1); \ - chmod 644 $(MANDIR)/man$(MAN1)/des.$(MAN1); \ - cp des.h $(INCDIR)/des.h; \ - chmod 644 $(INCDIR)/des.h; \ - fi -# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/secure/lib/libdes/PC1 b/secure/lib/libdes/PC1 deleted file mode 100644 index efb8348b72d73..0000000000000 --- a/secure/lib/libdes/PC1 +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/local/bin/perl - -@PC1=( 57,49,41,33,25,17, 9, - 1,58,50,42,34,26,18, - 10, 2,59,51,43,35,27, - 19,11, 3,60,52,44,36, - "-","-","-","-", - 63,55,47,39,31,23,15, - 7,62,54,46,38,30,22, - 14, 6,61,53,45,37,29, - 21,13, 5,28,20,12, 4, - "-","-","-","-", - ); - -foreach (@PC1) - { - if ($_ ne "-") - { - $_--; - $_=int($_/8)*8+7-($_%8); - printf "%2d ",$_; - } - else - { print "-- "; } - print "\n" if (((++$i) % 8) == 0); - print "\n" if ((($i) % 32) == 0); - } - diff --git a/secure/lib/libdes/PC2 b/secure/lib/libdes/PC2 deleted file mode 100644 index 2d560270ecd80..0000000000000 --- a/secure/lib/libdes/PC2 +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/local/bin/perl - -@PC2_C=(14,17,11,24, 1, 5, - 3,28,15, 6,21,10, - 23,19,12, 4,26, 8, - 16, 7,27,20,13, 2, - ); - -@PC2_D=(41,52,31,37,47,55, - 30,40,51,45,33,48, - 44,49,39,56,34,53, - 46,42,50,36,29,32, - ); - -foreach (@PC2_C) { - if ($_ ne "-") - { - $_--; - printf "%2d ",$_; } - else { print "-- "; } - $C{$_}=1; - print "\n" if (((++$i) % 8) == 0); - } -$i=0; -print "\n"; -foreach (@PC2_D) { - if ($_ ne "-") - { - $_-=29; - printf "%2d ",$_; } - else { print "-- "; } - $D{$_}=1; - print "\n" if (((++$i) % 8) == 0); } - -print "\n"; -foreach $i (0 .. 27) - { - $_=$C{$i}; - if ($_ ne "-") {printf "%2d ",$_;} - else { print "-- "; } - print "\n" if (((++$i) % 8) == 0); - } -print "\n"; - -print "\n"; -foreach $i (0 .. 27) - { - $_=$D{$i}; - if ($_ ne "-") {printf "%2d ",$_;} - else { print "-- "; } - print "\n" if (((++$i) % 8) == 0); - } -print "\n"; -sub numsort - { - $a-$b; - } diff --git a/secure/lib/libdes/README b/secure/lib/libdes/README deleted file mode 100644 index 3264c2f5d8984..0000000000000 --- a/secure/lib/libdes/README +++ /dev/null @@ -1,48 +0,0 @@ - - libdes, Version 3.21 21/11/95 - - Copyright (c) 1995, Eric Young - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms specified in COPYRIGHT. - --- -The primary ftp site for this library is -ftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes-x.xx.tar.gz -libdes is now also shipped with SSLeay. Primary ftp site of -ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/SSLeay-x.xx.tar.gz - -The best way to build this library is to build it as part of SSLeay. - -This kit builds a DES encryption library and a DES encryption program. -It supports ecb, cbc, ofb, cfb, triple ecb, triple cbc, triple ofb, -triple cfb, and MIT's pcbc encryption modes and also has a fast -implementation of crypt(3). -It contains support routines to read keys from a terminal, -generate a random key, generate a key from an arbitrary length string, -read/write encrypted data from/to a file descriptor. - -The implementation was written so as to conform with the manual entry -for the des_crypt(3) library routines from MIT's project Athena. - -destest should be run after compilation to test the des routines. -rpw should be run after compilation to test the read password routines. -The des program is a replacement for the sun des command. I believe it -conforms to the sun version. - -The Imakefile is setup for use in the kerberos distribution. - -These routines are best compiled with gcc or any other good -optimising compiler. -Just turn you optimiser up to the highest settings and run destest -after the build to make sure everything works. - -I believe these routines are close to the fastest and most portable DES -routines that use small lookup tables (4.5k) that are publicly available. -The fcrypt routine is faster than ufc's fcrypt (when compiling with -gcc2 -O2) on the sparc 2 (1410 vs 1270) but is not so good on other machines -(on a sun3/260 168 vs 336). It is a function of CPU on chip cache size. - -Eric Young (eay@mincom.oz.au or eay@psych.psy.uq.oz.au) - diff --git a/secure/lib/libdes/VERSION b/secure/lib/libdes/VERSION deleted file mode 100644 index 0afb5d4f0ac78..0000000000000 --- a/secure/lib/libdes/VERSION +++ /dev/null @@ -1,340 +0,0 @@ -Version 3.25 17/07/96 - Modified read_pwd.c so that stdin can be read if not a tty. - Thanks to Jeff Barber <jeffb@issl.atl.hp.com> for the patches. - des_init_random_number_generator() shortened due to VMS linker - limits. - Added RSA's DESX cbc mode. It is a form of cbc encryption, with 2 - 8 byte quantites xored before and after encryption. - des_xcbc_encryption() - the name is funny to preserve the des_ - prefix on all functions. - -Version 3.24 20/04/96 - The DES_PTR macro option checked and used by SSLeay configuration - -Version 3.23 11/04/96 - Added DES_LONG. If defined to 'unsigned int' on the DEC Alpha, - it gives a %20 speedup :-) - Fixed the problem with des.pl under perl5. The patches were - sent by Ed Kubaitis (ejk@uiuc.edu). - if fcrypt.c, changed values to handle illegal salt values the way - normal crypt() implementations do. Some programs apparently use - them :-(. The patch was sent by Bjorn Gronvall <bg@sics.se> - -Version 3.22 29/11/95 - Bug in des(1), an error with the uuencoding stuff when the - 'data' is small, thanks to Geoff Keating <keagchon@mehta.anu.edu.au> - for the patch. - -Version 3.21 22/11/95 - After some emailing back and forth with - Colin Plumb <colin@nyx10.cs.du.edu>, I've tweaked a few things - and in a future version I will probably put in some of the - optimisation he suggested for use with the DES_USE_PTR option. - Extra routines from Mark Murray <mark@grondar.za> for use in - freeBSD. They mostly involve random number generation for use - with kerberos. They involve evil machine specific system calls - etc so I would normally suggest pushing this stuff into the - application and/or using RAND_seed()/RAND_bytes() if you are - using this DES library as part of SSLeay. - Redone the read_pw() function so that it is cleaner and - supports termios, thanks to Sameer Parekh <sameer@c2.org> - for the initial patches for this. - Renamed 3ecb_encrypt() to ecb3_encrypt(). This has been - done just to make things more consistent. - I have also now added triple DES versions of cfb and ofb. - -Version 3.20 - Damn, Damn, Damn, as pointed out by Mike_Spreitzer.PARC@xerox.com, - my des_random_seed() function was only copying 4 bytes of the - passed seed into the init structure. It is now fixed to copy 8. - My own suggestion is to used something like MD5 :-) - -Version 3.19 - While looking at my code one day, I though, why do I keep on - calling des_encrypt(in,out,ks,enc) when every function that - calls it has in and out the same. So I dropped the 'out' - parameter, people should not be using this function. - -Version 3.18 30/08/95 - Fixed a few bit with the distribution and the filenames. - 3.17 had been munged via a move to DOS and back again. - NO CODE CHANGES - -Version 3.17 14/07/95 - Fixed ede3 cbc which I had broken in 3.16. I have also - removed some unneeded variables in 7-8 of the routines. - -Version 3.16 26/06/95 - Added des_encrypt2() which does not use IP/FP, used by triple - des routines. Tweaked things a bit elsewhere. %13 speedup on - sparc and %6 on a R4400 for ede3 cbc mode. - -Version 3.15 06/06/95 - Added des_ncbc_encrypt(), it is des_cbc mode except that it is - 'normal' and copies the new iv value back over the top of the - passed parameter. - CHANGED des_ede3_cbc_encrypt() so that it too now overwrites - the iv. THIS WILL BREAK EXISTING CODE, but since this function - only new, I feel I can change it, not so with des_cbc_encrypt :-(. - I need to update the documentation. - -Version 3.14 31/05/95 - New release upon the world, as part of my SSL implementation. - New copyright and usage stuff. Basically free for all to use - as long as you say it came from me :-) - -Version 3.13 31/05/95 - A fix in speed.c, if HZ is not defined, I set it to 100.0 - which is reasonable for most unixes except SunOS 4.x. - I now have a #ifdef sun but timing for SunOS 4.x looked very - good :-(. At my last job where I used SunOS 4.x, it was - defined to be 60.0 (look at the old INSTALL documentation), at - the last release had it changed to 100.0 since I now work with - Solaris2 and SVR4 boxes. - Thanks to Rory Chisholm <rchishol@math.ethz.ch> for pointing this - one out. - -Version 3.12 08/05/95 - As pointed out by The Crypt Keeper <tck@bend.UCSD.EDU>, - my D_ENCRYPT macro in crypt() had an un-necessary variable. - It has been removed. - -Version 3.11 03/05/95 - Added des_ede3_cbc_encrypt() which is cbc mode des with 3 keys - and one iv. It is a standard and I needed it for my SSL code. - It makes more sense to use this for triple DES than - 3cbc_encrypt(). I have also added (or should I say tested :-) - cfb64_encrypt() which is cfb64 but it will encrypt a partial - number of bytes - 3 bytes in 3 bytes out. Again this is for - my SSL library, as a form of encryption to use with SSL - telnet. - -Version 3.10 22/03/95 - Fixed a bug in 3cbc_encrypt() :-(. When making repeated calls - to cbc3_encrypt, the 2 iv values that were being returned to - be used in the next call were reversed :-(. - Many thanks to Bill Wade <wade@Stoner.COM> for pointing out - this error. - -Version 3.09 01/02/95 - Fixed des_random_key to far more random, it was rather feeble - with regards to picking the initial seed. The problem was - pointed out by Olaf Kirch <okir@monad.swb.de>. - -Version 3.08 14/12/94 - Added Makefile.PL so libdes can be built into perl5. - Changed des_locl.h so RAND is always defined. - -Version 3.07 05/12/94 - Added GNUmake and stuff so the library can be build with - glibc. - -Version 3.06 30/08/94 - Added rpc_enc.c which contains _des_crypt. This is for use in - secure_rpc v 4.0 - Finally fixed the cfb_enc problems. - Fixed a few parameter parsing bugs in des (-3 and -b), thanks - to Rob McMillan <R.McMillan@its.gu.edu.au> - -Version 3.05 21/04/94 - for unsigned long l; gcc does not produce ((l>>34) == 0) - This causes bugs in cfb_enc. - Thanks to Hadmut Danisch <danisch@ira.uka.de> - -Version 3.04 20/04/94 - Added a version number to des.c and libdes.a - -Version 3.03 12/01/94 - Fixed a bug in non zero iv in 3cbc_enc. - -Version 3.02 29/10/93 - I now work in a place where there are 6+ architectures and 14+ - OS versions :-). - Fixed TERMIO definition so the most sys V boxes will work :-) - -Release upon comp.sources.misc -Version 3.01 08/10/93 - Added des_3cbc_encrypt() - -Version 3.00 07/10/93 - Fixed up documentation. - quad_cksum definitely compatible with MIT's now. - -Version 2.30 24/08/93 - Triple DES now defaults to triple cbc but can do triple ecb - with the -b flag. - Fixed some MSDOS uuen/uudecoding problems, thanks to - Added prototypes. - -Version 2.22 29/06/93 - Fixed a bug in des_is_weak_key() which stopped it working :-( - thanks to engineering@MorningStar.Com. - -Version 2.21 03/06/93 - des(1) with no arguments gives quite a bit of help. - Added -c (generate ckecksum) flag to des(1). - Added -3 (triple DES) flag to des(1). - Added cfb and ofb routines to the library. - -Version 2.20 11/03/93 - Added -u (uuencode) flag to des(1). - I have been playing with byte order in quad_cksum to make it - compatible with MIT's version. All I can say is avid this - function if possible since MIT's output is endian dependent. - -Version 2.12 14/10/92 - Added MSDOS specific macro in ecb_encrypt which gives a %70 - speed up when the code is compiled with turbo C. - -Version 2.11 12/10/92 - Speedup in set_key (recoding of PC-1) - I now do it in 47 simple operations, down from 60. - Thanks to John Fletcher (john_fletcher@lccmail.ocf.llnl.gov) - for motivating me to look for a faster system :-) - The speedup is probably less that 1% but it is still 13 - instructions less :-). - -Version 2.10 06/10/92 - The code now works on the 64bit ETA10 and CRAY without modifications or - #defines. I believe the code should work on any machine that - defines long, int or short to be 8 bytes long. - Thanks to Shabbir J. Safdar (shabby@mentor.cc.purdue.edu) - for helping me fix the code to run on 64bit machines (he had - access to an ETA10). - Thanks also to John Fletcher <john_fletcher@lccmail.ocf.llnl.gov> - for testing the routines on a CRAY. - read_password.c has been renamed to read_passwd.c - string_to_key.c has been renamed to string2key.c - -Version 2.00 14/09/92 - Made mods so that the library should work on 64bit CPU's. - Removed all my uchar and ulong defs. To many different - versions of unix define them in their header files in too many - different combinations :-) - IRIX - Sillicon Graphics mods (mostly in read_password.c). - Thanks to Andrew Daviel (advax@erich.triumf.ca) - -Version 1.99 26/08/92 - Fixed a bug or 2 in enc_read.c - Fixed a bug in enc_write.c - Fixed a pseudo bug in fcrypt.c (very obscure). - -Version 1.98 31/07/92 - Support for the ETA10. This is a strange machine that defines - longs and ints as 8 bytes and shorts as 4 bytes. - Since I do evil things with long * that assume that they are 4 - bytes. Look in the Makefile for the option to compile for - this machine. quad_cksum appears to have problems but I - will don't have the time to fix it right now, and this is not - a function that uses DES and so will not effect the main uses - of the library. - -Version 1.97 20/05/92 eay - Fixed the Imakefile and made some changes to des.h to fix some - problems when building this package with Kerberos v 4. - -Version 1.96 18/05/92 eay - Fixed a small bug in string_to_key() where problems could - occur if des_check_key was set to true and the string - generated a weak key. - -Patch2 posted to comp.sources.misc -Version 1.95 13/05/92 eay - Added an alternative version of the D_ENCRYPT macro in - ecb_encrypt and fcrypt. Depending on the compiler, one version or the - other will be faster. This was inspired by - Dana How <how@isl.stanford.edu>, and her pointers about doing the - *(ulong *)((uchar *)ptr+(value&0xfc)) - vs - ptr[value&0x3f] - to stop the C compiler doing a <<2 to convert the long array index. - -Version 1.94 05/05/92 eay - Fixed an incompatibility between my string_to_key and the MIT - version. When the key is longer than 8 chars, I was wrapping - with a different method. To use the old version, define - OLD_STR_TO_KEY in the makefile. Thanks to - viktor@newsu.shearson.com (Viktor Dukhovni). - -Version 1.93 28/04/92 eay - Fixed the VMS mods so that echo is now turned off in - read_password. Thanks again to brennan@coco.cchs.su.oz.AU. - MSDOS support added. The routines can be compiled with - Turbo C (v2.0) and MSC (v5.1). Make sure MSDOS is defined. - -Patch1 posted to comp.sources.misc -Version 1.92 13/04/92 eay - Changed D_ENCRYPT so that the rotation of R occurs outside of - the loop. This required rotating all the longs in sp.h (now - called spr.h). Thanks to Richard Outerbridge <71755.204@CompuServe.COM> - speed.c has been changed so it will work without SIGALRM. If - times(3) is not present it will try to use ftime() instead. - -Version 1.91 08/04/92 eay - Added -E/-D options to des(1) so it can use string_to_key. - Added SVR4 mods suggested by witr@rwwa.COM - Added VMS mods suggested by brennan@coco.cchs.su.oz.AU. If - anyone knows how to turn of tty echo in VMS please tell me or - implement it yourself :-). - Changed FILE *IN/*OUT to *DES_IN/*DES_OUT since it appears VMS - does not like IN/OUT being used. - -Libdes posted to comp.sources.misc -Version 1.9 24/03/92 eay - Now contains a fast small crypt replacement. - Added des(1) command. - Added des_rw_mode so people can use cbc encryption with - enc_read and enc_write. - -Version 1.8 15/10/91 eay - Bug in cbc_cksum. - Many thanks to Keith Reynolds (keithr@sco.COM) for pointing this - one out. - -Version 1.7 24/09/91 eay - Fixed set_key :-) - set_key is 4 times faster and takes less space. - There are a few minor changes that could be made. - -Version 1.6 19/09/1991 eay - Finally go IP and FP finished. - Now I need to fix set_key. - This version is quite a bit faster that 1.51 - -Version 1.52 15/06/1991 eay - 20% speedup in ecb_encrypt by changing the E bit selection - to use 2 32bit words. This also required modification of the - sp table. There is still a way to speedup the IP and IP-1 - (hints from outer@sq.com) still working on this one :-(. - -Version 1.51 07/06/1991 eay - Faster des_encrypt by loop unrolling - Fixed bug in quad_cksum.c (thanks to hughes@logos.ucs.indiana.edu) - -Version 1.50 28/05/1991 eay - Optimised the code a bit more for the sparc. I have improved the - speed of the inner des_encrypt by speeding up the initial and - final permutations. - -Version 1.40 23/10/1990 eay - Fixed des_random_key, it did not produce a random key :-( - -Version 1.30 2/10/1990 eay - Have made des_quad_cksum the same as MIT's, the full package - should be compatible with MIT's - Have tested on a DECstation 3100 - Still need to fix des_set_key (make it faster). - Does des_cbc_encrypts at 70.5k/sec on a 3100. - -Version 1.20 18/09/1990 eay - Fixed byte order dependencies. - Fixed (I hope) all the word alignment problems. - Speedup in des_ecb_encrypt. - -Version 1.10 11/09/1990 eay - Added des_enc_read and des_enc_write. - Still need to fix des_quad_cksum. - Still need to document des_enc_read and des_enc_write. - -Version 1.00 27/08/1990 eay - diff --git a/secure/lib/libdes/cbc3_enc.c b/secure/lib/libdes/cbc3_enc.c deleted file mode 100644 index a7b53ad5aedf2..0000000000000 --- a/secure/lib/libdes/cbc3_enc.c +++ /dev/null @@ -1,88 +0,0 @@ -/* crypto/des/cbc3_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -/* HAS BUGS? DON'T USE */ -void des_3cbc_encrypt(input, output, length, ks1, ks2, iv1, iv2, encrypt) -des_cblock (*input); -des_cblock (*output); -long length; -des_key_schedule ks1; -des_key_schedule ks2; -des_cblock (*iv1); -des_cblock (*iv2); -int encrypt; - { - int off=((int)length-1)/8; - long l8=((length+7)/8)*8; - des_cblock niv1,niv2; - - if (encrypt == DES_ENCRYPT) - { - des_cbc_encrypt(input,output,length,ks1,iv1,encrypt); - if (length >= sizeof(des_cblock)) - memcpy(niv1,output[off],sizeof(des_cblock)); - des_cbc_encrypt(output,output,l8,ks2,iv1,!encrypt); - des_cbc_encrypt(output,output,l8,ks1,iv2, encrypt); - if (length >= sizeof(des_cblock)) - memcpy(niv2,output[off],sizeof(des_cblock)); - } - else - { - if (length >= sizeof(des_cblock)) - memcpy(niv2,input[off],sizeof(des_cblock)); - des_cbc_encrypt(input,output,l8,ks1,iv2,encrypt); - des_cbc_encrypt(output,output,l8,ks2,iv1,!encrypt); - if (length >= sizeof(des_cblock)) - memcpy(niv1,output[off],sizeof(des_cblock)); - des_cbc_encrypt(output,output,length,ks1,iv1, encrypt); - } - memcpy(*iv1,niv1,sizeof(des_cblock)); - memcpy(*iv2,niv2,sizeof(des_cblock)); - } - diff --git a/secure/lib/libdes/cbc_cksm.c b/secure/lib/libdes/cbc_cksm.c deleted file mode 100644 index e56c8eb17e6b7..0000000000000 --- a/secure/lib/libdes/cbc_cksm.c +++ /dev/null @@ -1,92 +0,0 @@ -/* crypto/des/cbc_cksm.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -DES_LONG des_cbc_cksum(input, output, length, schedule, ivec) -des_cblock (*input); -des_cblock (*output); -long length; -des_key_schedule schedule; -des_cblock (*ivec); - { - register DES_LONG tout0,tout1,tin0,tin1; - register long l=length; - DES_LONG tin[2]; - unsigned char *in,*out,*iv; - - in=(unsigned char *)input; - out=(unsigned char *)output; - iv=(unsigned char *)ivec; - - c2l(iv,tout0); - c2l(iv,tout1); - for (; l>0; l-=8) - { - if (l >= 8) - { - c2l(in,tin0); - c2l(in,tin1); - } - else - c2ln(in,tin0,tin1,l); - - tin0^=tout0; tin[0]=tin0; - tin1^=tout1; tin[1]=tin1; - des_encrypt((DES_LONG *)tin,schedule,DES_ENCRYPT); - /* fix 15/10/91 eay - thanks to keithr@sco.COM */ - tout0=tin[0]; - tout1=tin[1]; - } - if (out != NULL) - { - l2c(tout0,out); - l2c(tout1,out); - } - tout0=tin0=tin1=tin[0]=tin[1]=0; - return(tout1); - } diff --git a/secure/lib/libdes/cbc_enc.c b/secure/lib/libdes/cbc_enc.c deleted file mode 100644 index 415bcd282b4a8..0000000000000 --- a/secure/lib/libdes/cbc_enc.c +++ /dev/null @@ -1,114 +0,0 @@ -/* crypto/des/cbc_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -void des_cbc_encrypt(input, output, length, schedule, ivec, encrypt) -des_cblock (*input); -des_cblock (*output); -long length; -des_key_schedule schedule; -des_cblock (*ivec); -int encrypt; - { - register DES_LONG tin0,tin1; - register DES_LONG tout0,tout1,xor0,xor1; - register unsigned char *in,*out; - register long l=length; - DES_LONG tin[2]; - unsigned char *iv; - - in=(unsigned char *)input; - out=(unsigned char *)output; - iv=(unsigned char *)ivec; - - if (encrypt) - { - c2l(iv,tout0); - c2l(iv,tout1); - for (; l>0; l-=8) - { - if (l >= 8) - { - c2l(in,tin0); - c2l(in,tin1); - } - else - c2ln(in,tin0,tin1,l); - tin0^=tout0; tin[0]=tin0; - tin1^=tout1; tin[1]=tin1; - des_encrypt((DES_LONG *)tin,schedule,DES_ENCRYPT); - tout0=tin[0]; l2c(tout0,out); - tout1=tin[1]; l2c(tout1,out); - } - } - else - { - c2l(iv,xor0); - c2l(iv,xor1); - for (; l>0; l-=8) - { - c2l(in,tin0); tin[0]=tin0; - c2l(in,tin1); tin[1]=tin1; - des_encrypt((DES_LONG *)tin,schedule,DES_DECRYPT); - tout0=tin[0]^xor0; - tout1=tin[1]^xor1; - if (l >= 8) - { - l2c(tout0,out); - l2c(tout1,out); - } - else - l2cn(tout0,tout1,out,l); - xor0=tin0; - xor1=tin1; - } - } - tin0=tin1=tout0=tout1=xor0=xor1=0; - tin[0]=tin[1]=0; - } - diff --git a/secure/lib/libdes/cfb64ede.c b/secure/lib/libdes/cfb64ede.c deleted file mode 100644 index bfba24a7ec345..0000000000000 --- a/secure/lib/libdes/cfb64ede.c +++ /dev/null @@ -1,153 +0,0 @@ -/* crypto/des/cfb64ede.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -/* The input and output encrypted as though 64bit cfb mode is being - * used. The extra state information to record how much of the - * 64bit block we have used is contained in *num; - */ - -void des_ede3_cfb64_encrypt(in, out, length, ks1,ks2,ks3, ivec, num, encrypt) -unsigned char *in; -unsigned char *out; -long length; -des_key_schedule ks1,ks2,ks3; -des_cblock (*ivec); -int *num; -int encrypt; - { - register DES_LONG v0,v1; - register long l=length; - register int n= *num; - DES_LONG ti[2]; - unsigned char *iv,c,cc; - - iv=(unsigned char *)ivec; - if (encrypt) - { - while (l--) - { - if (n == 0) - { - c2l(iv,v0); - c2l(iv,v1); - - IP(v0,v1); - - ti[0]=v0; - ti[1]=v1; - des_encrypt2((DES_LONG *)ti,ks1,DES_ENCRYPT); - des_encrypt2((DES_LONG *)ti,ks2,DES_DECRYPT); - des_encrypt2((DES_LONG *)ti,ks3,DES_ENCRYPT); - v0=ti[0]; - v1=ti[1]; - - FP(v1,v0); - - iv=(unsigned char *)ivec; - l2c(v0,iv); - l2c(v1,iv); - iv=(unsigned char *)ivec; - } - c= *(in++)^iv[n]; - *(out++)=c; - iv[n]=c; - n=(n+1)&0x07; - } - } - else - { - while (l--) - { - if (n == 0) - { - c2l(iv,v0); - c2l(iv,v1); - - IP(v0,v1); - - ti[0]=v0; - ti[1]=v1; - des_encrypt2((DES_LONG *)ti,ks1,DES_ENCRYPT); - des_encrypt2((DES_LONG *)ti,ks2,DES_DECRYPT); - des_encrypt2((DES_LONG *)ti,ks3,DES_ENCRYPT); - - v0=ti[0]; - v1=ti[1]; - - FP(v1,v0); - - iv=(unsigned char *)ivec; - l2c(v0,iv); - l2c(v1,iv); - iv=(unsigned char *)ivec; - } - cc= *(in++); - c=iv[n]; - iv[n]=cc; - *(out++)=c^cc; - n=(n+1)&0x07; - } - } - v0=v1=ti[0]=ti[1]=c=cc=0; - *num=n; - } - -#ifdef undef /* MACRO */ -void des_ede2_cfb64_encrypt(in, out, length, ks1,ks2, ivec, num, encrypt) -unsigned char *in; -unsigned char *out; -long length; -des_key_schedule ks1,ks2; -des_cblock (*ivec); -int *num; -int encrypt; - { - des_ede3_cfb64_encrypt(in,out,length,ks1,ks2,ks1,ivec,num,encrypt); - } -#endif diff --git a/secure/lib/libdes/cfb64enc.c b/secure/lib/libdes/cfb64enc.c deleted file mode 100644 index 0f1e78060b6b0..0000000000000 --- a/secure/lib/libdes/cfb64enc.c +++ /dev/null @@ -1,117 +0,0 @@ -/* crypto/des/cfb64enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -/* The input and output encrypted as though 64bit cfb mode is being - * used. The extra state information to record how much of the - * 64bit block we have used is contained in *num; - */ - -void des_cfb64_encrypt(in, out, length, schedule, ivec, num, encrypt) -unsigned char *in; -unsigned char *out; -long length; -des_key_schedule schedule; -des_cblock (*ivec); -int *num; -int encrypt; - { - register DES_LONG v0,v1; - register long l=length; - register int n= *num; - DES_LONG ti[2]; - unsigned char *iv,c,cc; - - iv=(unsigned char *)ivec; - if (encrypt) - { - while (l--) - { - if (n == 0) - { - c2l(iv,v0); ti[0]=v0; - c2l(iv,v1); ti[1]=v1; - des_encrypt((DES_LONG *)ti, - schedule,DES_ENCRYPT); - iv=(unsigned char *)ivec; - v0=ti[0]; l2c(v0,iv); - v0=ti[1]; l2c(v0,iv); - iv=(unsigned char *)ivec; - } - c= *(in++)^iv[n]; - *(out++)=c; - iv[n]=c; - n=(n+1)&0x07; - } - } - else - { - while (l--) - { - if (n == 0) - { - c2l(iv,v0); ti[0]=v0; - c2l(iv,v1); ti[1]=v1; - des_encrypt((DES_LONG *)ti, - schedule,DES_ENCRYPT); - iv=(unsigned char *)ivec; - v0=ti[0]; l2c(v0,iv); - v0=ti[1]; l2c(v0,iv); - iv=(unsigned char *)ivec; - } - cc= *(in++); - c=iv[n]; - iv[n]=cc; - *(out++)=c^cc; - n=(n+1)&0x07; - } - } - v0=v1=ti[0]=ti[1]=c=cc=0; - *num=n; - } - diff --git a/secure/lib/libdes/cfb_enc.c b/secure/lib/libdes/cfb_enc.c deleted file mode 100644 index a2875a5036124..0000000000000 --- a/secure/lib/libdes/cfb_enc.c +++ /dev/null @@ -1,160 +0,0 @@ -/* crypto/des/cfb_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -/* The input and output are loaded in multiples of 8 bits. - * What this means is that if you hame numbits=12 and length=2 - * the first 12 bits will be retrieved from the first byte and half - * the second. The second 12 bits will come from the 3rd and half the 4th - * byte. - */ -void des_cfb_encrypt(in, out, numbits, length, schedule, ivec, encrypt) -unsigned char *in; -unsigned char *out; -int numbits; -long length; -des_key_schedule schedule; -des_cblock (*ivec); -int encrypt; - { - register DES_LONG d0,d1,v0,v1,n=(numbits+7)/8; - register DES_LONG mask0,mask1; - register unsigned long l=length; - register int num=numbits; - DES_LONG ti[2]; - unsigned char *iv; - - if (num > 64) return; - if (num > 32) - { - mask0=0xffffffffL; - if (num == 64) - mask1=mask0; - else mask1=(1L<<(num-32))-1; - } - else - { - if (num == 32) - mask0=0xffffffffL; - else mask0=(1L<<num)-1; - mask1=0x00000000; - } - - iv=(unsigned char *)ivec; - c2l(iv,v0); - c2l(iv,v1); - if (encrypt) - { - while (l >= n) - { - l-=n; - ti[0]=v0; - ti[1]=v1; - des_encrypt((DES_LONG *)ti,schedule,DES_ENCRYPT); - c2ln(in,d0,d1,n); - in+=n; - d0=(d0^ti[0])&mask0; - d1=(d1^ti[1])&mask1; - l2cn(d0,d1,out,n); - out+=n; - /* 30-08-94 - eay - changed because l>>32 and - * l<<32 are bad under gcc :-( */ - if (num == 32) - { v0=v1; v1=d0; } - else if (num == 64) - { v0=d0; v1=d1; } - else if (num > 32) /* && num != 64 */ - { - v0=((v1>>(num-32))|(d0<<(64-num)))&0xffffffffL; - v1=((d0>>(num-32))|(d1<<(64-num)))&0xffffffffL; - } - else /* num < 32 */ - { - v0=((v0>>num)|(v1<<(32-num)))&0xffffffffL; - v1=((v1>>num)|(d0<<(32-num)))&0xffffffffL; - } - } - } - else - { - while (l >= n) - { - l-=n; - ti[0]=v0; - ti[1]=v1; - des_encrypt((DES_LONG *)ti,schedule,DES_ENCRYPT); - c2ln(in,d0,d1,n); - in+=n; - /* 30-08-94 - eay - changed because l>>32 and - * l<<32 are bad under gcc :-( */ - if (num == 32) - { v0=v1; v1=d0; } - else if (num == 64) - { v0=d0; v1=d1; } - else if (num > 32) /* && num != 64 */ - { - v0=((v1>>(num-32))|(d0<<(64-num)))&0xffffffffL; - v1=((d0>>(num-32))|(d1<<(64-num)))&0xffffffffL; - } - else /* num < 32 */ - { - v0=((v0>>num)|(v1<<(32-num)))&0xffffffffL; - v1=((v1>>num)|(d0<<(32-num)))&0xffffffffL; - } - d0=(d0^ti[0])&mask0; - d1=(d1^ti[1])&mask1; - l2cn(d0,d1,out,n); - out+=n; - } - } - iv=(unsigned char *)ivec; - l2c(v0,iv); - l2c(v1,iv); - v0=v1=d0=d1=ti[0]=ti[1]=0; - } - diff --git a/secure/lib/libdes/des.c b/secure/lib/libdes/des.c deleted file mode 100644 index 5e349dc64f5fb..0000000000000 --- a/secure/lib/libdes/des.c +++ /dev/null @@ -1,949 +0,0 @@ -/* crypto/des/des.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include <stdio.h> -#include <stdlib.h> -#ifndef MSDOS -#include <unistd.h> -#else -#include <io.h> -#define RAND -#endif - -#include <time.h> -#include "des_ver.h" - -#ifdef VMS -#include <types.h> -#include <stat.h> -#else -#ifndef _IRIX -#include <sys/types.h> -#endif -#include <sys/stat.h> -#endif -#if defined(NOCONST) -#define const -#endif -#include "des.h" - -#if defined(__STDC__) || defined(VMS) || defined(M_XENIX) || defined(MSDOS) -#include <string.h> -#endif - -#ifdef RAND -#define random rand -#define srandom(s) srand(s) -#endif - -#ifndef NOPROTO -void usage(void); -void doencryption(void); -int uufwrite(unsigned char *data, int size, unsigned int num, FILE *fp); -void uufwriteEnd(FILE *fp); -int uufread(unsigned char *out,int size,unsigned int num,FILE *fp); -int uuencode(unsigned char *in,int num,unsigned char *out); -int uudecode(unsigned char *in,int num,unsigned char *out); -#else -void usage(); -void doencryption(); -int uufwrite(); -void uufwriteEnd(); -int uufread(); -int uuencode(); -int uudecode(); -#endif - -#ifdef VMS -#define EXIT(a) exit(a&0x10000000) -#else -#define EXIT(a) exit(a) -#endif - -#define BUFSIZE (8*1024) -#define VERIFY 1 -#define KEYSIZ 8 -#define KEYSIZB 1024 /* should hit tty line limit first :-) */ -char key[KEYSIZB+1]; -int do_encrypt,longk=0; -FILE *DES_IN,*DES_OUT,*CKSUM_OUT; -char uuname[200]; -unsigned char uubuf[50]; -int uubufnum=0; -#define INUUBUFN (45*100) -#define OUTUUBUF (65*100) -unsigned char b[OUTUUBUF]; -unsigned char bb[300]; -des_cblock cksum={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; -char cksumname[200]=""; - -int vflag,cflag,eflag,dflag,kflag,bflag,fflag,sflag,uflag,flag3,hflag,error; - -int main(argc, argv) -int argc; -char **argv; - { - int i; - struct stat ins,outs; - char *p; - char *in=NULL,*out=NULL; - - vflag=cflag=eflag=dflag=kflag=hflag=bflag=fflag=sflag=uflag=flag3=0; - error=0; - memset(key,0,sizeof(key)); - - for (i=1; i<argc; i++) - { - p=argv[i]; - if ((p[0] == '-') && (p[1] != '\0')) - { - p++; - while (*p) - { - switch (*(p++)) - { - case '3': - flag3=1; - longk=1; - break; - case 'c': - cflag=1; - strncpy(cksumname,p,200); - p+=strlen(cksumname); - break; - case 'C': - cflag=1; - longk=1; - strncpy(cksumname,p,200); - p+=strlen(cksumname); - break; - case 'e': - eflag=1; - break; - case 'v': - vflag=1; - break; - case 'E': - eflag=1; - longk=1; - break; - case 'd': - dflag=1; - break; - case 'D': - dflag=1; - longk=1; - break; - case 'b': - bflag=1; - break; - case 'f': - fflag=1; - break; - case 's': - sflag=1; - break; - case 'u': - uflag=1; - strncpy(uuname,p,200); - p+=strlen(uuname); - break; - case 'h': - hflag=1; - break; - case 'k': - kflag=1; - if ((i+1) == argc) - { - fputs("must have a key with the -k option\n",stderr); - error=1; - } - else - { - int j; - - i++; - strncpy(key,argv[i],KEYSIZB); - for (j=strlen(argv[i])-1; j>=0; j--) - argv[i][j]='\0'; - } - break; - default: - fprintf(stderr,"'%c' unknown flag\n",p[-1]); - error=1; - break; - } - } - } - else - { - if (in == NULL) - in=argv[i]; - else if (out == NULL) - out=argv[i]; - else - error=1; - } - } - if (error) usage(); - /* We either - * do checksum or - * do encrypt or - * do decrypt or - * do decrypt then ckecksum or - * do checksum then encrypt - */ - if (((eflag+dflag) == 1) || cflag) - { - if (eflag) do_encrypt=DES_ENCRYPT; - if (dflag) do_encrypt=DES_DECRYPT; - } - else - { - if (vflag) - { -#ifndef _Windows - fprintf(stderr,"des(1) built with %s\n",libdes_version); -#endif - EXIT(1); - } - else usage(); - } - -#ifndef _Windows - if (vflag) fprintf(stderr,"des(1) built with %s\n",libdes_version); -#endif - if ( (in != NULL) && - (out != NULL) && -#ifndef MSDOS - (stat(in,&ins) != -1) && - (stat(out,&outs) != -1) && - (ins.st_dev == outs.st_dev) && - (ins.st_ino == outs.st_ino)) -#else /* MSDOS */ - (strcmp(in,out) == 0)) -#endif - { - fputs("input and output file are the same\n",stderr); - EXIT(3); - } - - if (!kflag) - if (des_read_pw_string(key,KEYSIZB+1,"Enter key:",eflag?VERIFY:0)) - { - fputs("password error\n",stderr); - EXIT(2); - } - - if (in == NULL) - DES_IN=stdin; - else if ((DES_IN=fopen(in,"r")) == NULL) - { - perror("opening input file"); - EXIT(4); - } - - CKSUM_OUT=stdout; - if (out == NULL) - { - DES_OUT=stdout; - CKSUM_OUT=stderr; - } - else if ((DES_OUT=fopen(out,"w")) == NULL) - { - perror("opening output file"); - EXIT(5); - } - -#ifdef MSDOS - /* This should set the file to binary mode. */ - { -#include <fcntl.h> - if (!(uflag && dflag)) - setmode(fileno(DES_IN),O_BINARY); - if (!(uflag && eflag)) - setmode(fileno(DES_OUT),O_BINARY); - } -#endif - - doencryption(); - fclose(DES_IN); - fclose(DES_OUT); - EXIT(0); - } - -void usage() - { - char **u; - static const char *Usage[]={ -"des <options> [input-file [output-file]]", -"options:", -"-v : des(1) version number", -"-e : encrypt using sunOS compatible user key to DES key conversion.", -"-E : encrypt ", -"-d : decrypt using sunOS compatible user key to DES key conversion.", -"-D : decrypt ", -"-c[ckname] : generate a cbc_cksum using sunOS compatible user key to", -" DES key conversion and output to ckname (stdout default,", -" stderr if data being output on stdout). The checksum is", -" generated before encryption and after decryption if used", -" in conjunction with -[eEdD].", -"-C[ckname] : generate a cbc_cksum as for -c but compatible with -[ED].", -"-k key : use key 'key'", -"-h : the key that is entered will be a hexidecimal number", -" that is used directly as the des key", -"-u[uuname] : input file is uudecoded if -[dD] or output uuencoded data if -[eE]", -" (uuname is the filename to put in the uuencode header).", -"-b : encrypt using DES in ecb encryption mode, the defaut is cbc mode.", -"-3 : encrypt using tripple DES encryption. This uses 2 keys", -" generated from the input key. If the input key is less", -" than 8 characters long, this is equivelent to normal", -" encryption. Default is tripple cbc, -b makes it tripple ecb.", -NULL -}; - for (u=(char **)Usage; *u; u++) - { - fputs(*u,stderr); - fputc('\n',stderr); - } - - EXIT(1); - } - -void doencryption() - { -#ifdef _LIBC - extern int srandom(); - extern int random(); - extern unsigned long time(); -#endif - - register int i; - des_key_schedule ks,ks2; - unsigned char iv[8],iv2[8]; - char *p; - int num=0,j,k,l,rem,ll,len,last,ex=0; - des_cblock kk,k2; - FILE *O; - int Exit=0; -#ifndef MSDOS - static unsigned char buf[BUFSIZE+8],obuf[BUFSIZE+8]; -#else - static unsigned char *buf=NULL,*obuf=NULL; - - if (buf == NULL) - { - if ( (( buf=(unsigned char *)malloc(BUFSIZE+8)) == NULL) || - ((obuf=(unsigned char *)malloc(BUFSIZE+8)) == NULL)) - { - fputs("Not enough memory\n",stderr); - Exit=10; - goto problems; - } - } -#endif - - if (hflag) - { - j=(flag3?16:8); - p=key; - for (i=0; i<j; i++) - { - k=0; - if ((*p <= '9') && (*p >= '0')) - k=(*p-'0')<<4; - else if ((*p <= 'f') && (*p >= 'a')) - k=(*p-'a'+10)<<4; - else if ((*p <= 'F') && (*p >= 'A')) - k=(*p-'A'+10)<<4; - else - { - fputs("Bad hex key\n",stderr); - Exit=9; - goto problems; - } - p++; - if ((*p <= '9') && (*p >= '0')) - k|=(*p-'0'); - else if ((*p <= 'f') && (*p >= 'a')) - k|=(*p-'a'+10); - else if ((*p <= 'F') && (*p >= 'A')) - k|=(*p-'A'+10); - else - { - fputs("Bad hex key\n",stderr); - Exit=9; - goto problems; - } - p++; - if (i < 8) - kk[i]=k; - else - k2[i-8]=k; - } - des_set_key((C_Block *)k2,ks2); - memset(k2,0,sizeof(k2)); - } - else if (longk || flag3) - { - if (flag3) - { - des_string_to_2keys(key,(C_Block *)kk,(C_Block *)k2); - des_set_key((C_Block *)k2,ks2); - memset(k2,0,sizeof(k2)); - } - else - des_string_to_key(key,(C_Block *)kk); - } - else - for (i=0; i<KEYSIZ; i++) - { - l=0; - k=key[i]; - for (j=0; j<8; j++) - { - if (k&1) l++; - k>>=1; - } - if (l & 1) - kk[i]=key[i]&0x7f; - else - kk[i]=key[i]|0x80; - } - - des_set_key((C_Block *)kk,ks); - memset(key,0,sizeof(key)); - memset(kk,0,sizeof(kk)); - /* woops - A bug that does not showup under unix :-( */ - memset(iv,0,sizeof(iv)); - memset(iv2,0,sizeof(iv2)); - - l=1; - rem=0; - /* first read */ - if (eflag || (!dflag && cflag)) - { - for (;;) - { - num=l=fread(&(buf[rem]),1,BUFSIZE,DES_IN); - l+=rem; - num+=rem; - if (l < 0) - { - perror("read error"); - Exit=6; - goto problems; - } - - rem=l%8; - len=l-rem; - if (feof(DES_IN)) - { - srandom((unsigned int)time(NULL)); - for (i=7-rem; i>0; i--) - buf[l++]=random()&0xff; - buf[l++]=rem; - ex=1; - len+=rem; - } - else - l-=rem; - - if (cflag) - { - des_cbc_cksum((C_Block *)buf,(C_Block *)cksum, - (long)len,ks,(C_Block *)cksum); - if (!eflag) - { - if (feof(DES_IN)) break; - else continue; - } - } - - if (bflag && !flag3) - for (i=0; i<l; i+=8) - des_ecb_encrypt( - (des_cblock *)&(buf[i]), - (des_cblock *)&(obuf[i]), - ks,do_encrypt); - else if (flag3 && bflag) - for (i=0; i<l; i+=8) - des_ecb2_encrypt( - (des_cblock *)&(buf[i]), - (des_cblock *)&(obuf[i]), - ks,ks2,do_encrypt); - else if (flag3 && !bflag) - { - char tmpbuf[8]; - - if (rem) memcpy(tmpbuf,&(buf[l]), - (unsigned int)rem); - des_3cbc_encrypt( - (des_cblock *)buf,(des_cblock *)obuf, - (long)l,ks,ks2,(des_cblock *)iv, - (des_cblock *)iv2,do_encrypt); - if (rem) memcpy(&(buf[l]),tmpbuf, - (unsigned int)rem); - } - else - { - des_cbc_encrypt( - (des_cblock *)buf,(des_cblock *)obuf, - (long)l,ks,(des_cblock *)iv,do_encrypt); - if (l >= 8) memcpy(iv,&(obuf[l-8]),8); - } - if (rem) memcpy(buf,&(buf[l]),(unsigned int)rem); - - i=0; - while (i < l) - { - if (uflag) - j=uufwrite(obuf,1,(unsigned int)l-i, - DES_OUT); - else - j=fwrite(obuf,1,(unsigned int)l-i, - DES_OUT); - if (j == -1) - { - perror("Write error"); - Exit=7; - goto problems; - } - i+=j; - } - if (feof(DES_IN)) - { - if (uflag) uufwriteEnd(DES_OUT); - break; - } - } - } - else /* decrypt */ - { - ex=1; - for (;;) - { - if (ex) { - if (uflag) - l=uufread(buf,1,BUFSIZE,DES_IN); - else - l=fread(buf,1,BUFSIZE,DES_IN); - ex=0; - rem=l%8; - l-=rem; - } - if (l < 0) - { - perror("read error"); - Exit=6; - goto problems; - } - - if (bflag && !flag3) - for (i=0; i<l; i+=8) - des_ecb_encrypt( - (des_cblock *)&(buf[i]), - (des_cblock *)&(obuf[i]), - ks,do_encrypt); - else if (flag3 && bflag) - for (i=0; i<l; i+=8) - des_ecb2_encrypt( - (des_cblock *)&(buf[i]), - (des_cblock *)&(obuf[i]), - ks,ks2,do_encrypt); - else if (flag3 && !bflag) - { - des_3cbc_encrypt( - (des_cblock *)buf,(des_cblock *)obuf, - (long)l,ks,ks2,(des_cblock *)iv, - (des_cblock *)iv2,do_encrypt); - } - else - { - des_cbc_encrypt( - (des_cblock *)buf,(des_cblock *)obuf, - (long)l,ks,(des_cblock *)iv,do_encrypt); - if (l >= 8) memcpy(iv,&(buf[l-8]),8); - } - - if (uflag) - ll=uufread(&(buf[rem]),1,BUFSIZE,DES_IN); - else - ll=fread(&(buf[rem]),1,BUFSIZE,DES_IN); - ll+=rem; - rem=ll%8; - ll-=rem; - if (feof(DES_IN) && (ll == 0)) - { - last=obuf[l-1]; - - if ((last > 7) || (last < 0)) - { - fputs("The file was not decrypted correctly.\n", - stderr); - Exit=8; - last=0; - } - l=l-8+last; - } - i=0; - if (cflag) des_cbc_cksum((C_Block *)obuf, - (C_Block *)cksum,(long)l/8*8,ks, - (C_Block *)cksum); - while (i != l) - { - j=fwrite(obuf,1,(unsigned int)l-i,DES_OUT); - if (j == -1) - { - perror("Write error"); - Exit=7; - goto problems; - } - i+=j; - } - l=ll; - if ((l == 0) && feof(DES_IN)) break; - } - } - if (cflag) - { - l=0; - if (cksumname[0] != '\0') - { - if ((O=fopen(cksumname,"w")) != NULL) - { - CKSUM_OUT=O; - l=1; - } - } - for (i=0; i<8; i++) - fprintf(CKSUM_OUT,"%02X",cksum[i]); - fprintf(CKSUM_OUT,"\n"); - if (l) fclose(CKSUM_OUT); - } -problems: - memset(buf,0,sizeof(buf)); - memset(obuf,0,sizeof(obuf)); - memset(ks,0,sizeof(ks)); - memset(ks2,0,sizeof(ks2)); - memset(iv,0,sizeof(iv)); - memset(iv2,0,sizeof(iv2)); - memset(kk,0,sizeof(kk)); - memset(k2,0,sizeof(k2)); - memset(uubuf,0,sizeof(uubuf)); - memset(b,0,sizeof(b)); - memset(bb,0,sizeof(bb)); - memset(cksum,0,sizeof(cksum)); - if (Exit) EXIT(Exit); - } - -int uufwrite(data, size, num, fp) -unsigned char *data; -int size; -unsigned int num; -FILE *fp; - - /* We ignore this parameter but it should be > ~50 I believe */ - - - { - int i,j,left,rem,ret=num; - static int start=1; - - if (start) - { - fprintf(fp,"begin 600 %s\n", - (uuname[0] == '\0')?"text.d":uuname); - start=0; - } - - if (uubufnum) - { - if (uubufnum+num < 45) - { - memcpy(&(uubuf[uubufnum]),data,(unsigned int)num); - uubufnum+=num; - return(num); - } - else - { - i=45-uubufnum; - memcpy(&(uubuf[uubufnum]),data,(unsigned int)i); - j=uuencode((unsigned char *)uubuf,45,b); - fwrite(b,1,(unsigned int)j,fp); - uubufnum=0; - data+=i; - num-=i; - } - } - - for (i=0; i<(((int)num)-INUUBUFN); i+=INUUBUFN) - { - j=uuencode(&(data[i]),INUUBUFN,b); - fwrite(b,1,(unsigned int)j,fp); - } - rem=(num-i)%45; - left=(num-i-rem); - if (left) - { - j=uuencode(&(data[i]),left,b); - fwrite(b,1,(unsigned int)j,fp); - i+=left; - } - if (i != num) - { - memcpy(uubuf,&(data[i]),(unsigned int)rem); - uubufnum=rem; - } - return(ret); - } - -void uufwriteEnd(fp) -FILE *fp; - { - int j; - static const char *end=" \nend\n"; - - if (uubufnum != 0) - { - uubuf[uubufnum]='\0'; - uubuf[uubufnum+1]='\0'; - uubuf[uubufnum+2]='\0'; - j=uuencode(uubuf,uubufnum,b); - fwrite(b,1,(unsigned int)j,fp); - } - fwrite(end,1,strlen(end),fp); - } - -int uufread(out, size, num, fp) -unsigned char *out; -int size; /* should always be > ~ 60; I actually ignore this parameter :-) */ -unsigned int num; -FILE *fp; - { - int i,j,tot; - static int done=0; - static int valid=0; - static int start=1; - - if (start) - { - for (;;) - { - b[0]='\0'; - fgets((char *)b,300,fp); - if (b[0] == '\0') - { - fprintf(stderr,"no 'begin' found in uuencoded input\n"); - return(-1); - } - if (strncmp((char *)b,"begin ",6) == 0) break; - } - start=0; - } - if (done) return(0); - tot=0; - if (valid) - { - memcpy(out,bb,(unsigned int)valid); - tot=valid; - valid=0; - } - for (;;) - { - b[0]='\0'; - fgets((char *)b,300,fp); - if (b[0] == '\0') break; - i=strlen((char *)b); - if ((b[0] == 'e') && (b[1] == 'n') && (b[2] == 'd')) - { - done=1; - while (!feof(fp)) - { - fgets((char *)b,300,fp); - } - break; - } - i=uudecode(b,i,bb); - if (i < 0) break; - if ((i+tot+8) > num) - { - /* num to copy to make it a multiple of 8 */ - j=(num/8*8)-tot-8; - memcpy(&(out[tot]),bb,(unsigned int)j); - tot+=j; - memcpy(bb,&(bb[j]),(unsigned int)i-j); - valid=i-j; - break; - } - memcpy(&(out[tot]),bb,(unsigned int)i); - tot+=i; - } - return(tot); - } - -#define ccc2l(c,l) (l =((DES_LONG)(*((c)++)))<<16, \ - l|=((DES_LONG)(*((c)++)))<< 8, \ - l|=((DES_LONG)(*((c)++)))) - -#define l2ccc(l,c) (*((c)++)=(unsigned char)(((l)>>16)&0xff), \ - *((c)++)=(unsigned char)(((l)>> 8)&0xff), \ - *((c)++)=(unsigned char)(((l) )&0xff)) - - -int uuencode(in, num, out) -unsigned char *in; -int num; -unsigned char *out; - { - int j,i,n,tot=0; - DES_LONG l; - register unsigned char *p; - p=out; - - for (j=0; j<num; j+=45) - { - if (j+45 > num) - i=(num-j); - else i=45; - *(p++)=i+' '; - for (n=0; n<i; n+=3) - { - ccc2l(in,l); - *(p++)=((l>>18)&0x3f)+' '; - *(p++)=((l>>12)&0x3f)+' '; - *(p++)=((l>> 6)&0x3f)+' '; - *(p++)=((l )&0x3f)+' '; - tot+=4; - } - *(p++)='\n'; - tot+=2; - } - *p='\0'; - l=0; - return(tot); - } - -int uudecode(in, num, out) -unsigned char *in; -int num; -unsigned char *out; - { - int j,i,k; - unsigned int n=0,space=0; - DES_LONG l; - DES_LONG w,x,y,z; - unsigned int blank=(unsigned int)'\n'-' '; - - for (j=0; j<num; ) - { - n= *(in++)-' '; - if (n == blank) - { - n=0; - in--; - } - if (n > 60) - { - fprintf(stderr,"uuencoded line length too long\n"); - return(-1); - } - j++; - - for (i=0; i<n; j+=4,i+=3) - { - /* the following is for cases where spaces are - * removed from lines. - */ - if (space) - { - w=x=y=z=0; - } - else - { - w= *(in++)-' '; - x= *(in++)-' '; - y= *(in++)-' '; - z= *(in++)-' '; - } - if ((w > 63) || (x > 63) || (y > 63) || (z > 63)) - { - k=0; - if (w == blank) k=1; - if (x == blank) k=2; - if (y == blank) k=3; - if (z == blank) k=4; - space=1; - switch (k) { - case 1: w=0; in--; - case 2: x=0; in--; - case 3: y=0; in--; - case 4: z=0; in--; - break; - case 0: - space=0; - fprintf(stderr,"bad uuencoded data values\n"); - w=x=y=z=0; - return(-1); - break; - } - } - l=(w<<18)|(x<<12)|(y<< 6)|(z ); - l2ccc(l,out); - } - if (*(in++) != '\n') - { - fprintf(stderr,"missing nl in uuencoded line\n"); - w=x=y=z=0; - return(-1); - } - j++; - } - *out='\0'; - w=x=y=z=0; - return(n); - } diff --git a/secure/lib/libdes/des.doc b/secure/lib/libdes/des.doc deleted file mode 100644 index e83907ed9e466..0000000000000 --- a/secure/lib/libdes/des.doc +++ /dev/null @@ -1,494 +0,0 @@ -The DES library. - -Please note that this library was originally written to operate with -eBones, a version of Kerberos that had had encryption removed when it left -the USA and then put back in. As such there are some routines that I will -advise not using but they are still in the library for historical reasons. -For all calls that have an 'input' and 'output' variables, they can be the -same. - -This library requires the inclusion of 'des.h'. - -All of the encryption functions take what is called a des_key_schedule as an -argument. A des_key_schedule is an expanded form of the des key. -A des_key is 8 bytes of odd parity, the type used to hold the key is a -des_cblock. A des_cblock is an array of 8 bytes, often in this library -description I will refer to input bytes when the function specifies -des_cblock's as input or output, this just means that the variable should -be a multiple of 8 bytes. - -The define DES_ENCRYPT is passed to specify encryption, DES_DECRYPT to -specify decryption. The functions and global variable are as follows: - -int des_check_key; - DES keys are supposed to be odd parity. If this variable is set to - a non-zero value, des_set_key() will check that the key has odd - parity and is not one of the known weak DES keys. By default this - variable is turned off; - -void des_set_odd_parity( -des_cblock *key ); - This function takes a DES key (8 bytes) and sets the parity to odd. - -int des_is_weak_key( -des_cblock *key ); - This function returns a non-zero value if the DES key passed is a - weak, DES key. If it is a weak key, don't use it, try a different - one. If you are using 'random' keys, the chances of hitting a weak - key are 1/2^52 so it is probably not worth checking for them. - -int des_set_key( -des_cblock *key, -des_key_schedule schedule); - Des_set_key converts an 8 byte DES key into a des_key_schedule. - A des_key_schedule is an expanded form of the key which is used to - perform actual encryption. It can be regenerated from the DES key - so it only needs to be kept when encryption or decryption is about - to occur. Don't save or pass around des_key_schedule's since they - are CPU architecture dependent, DES keys are not. If des_check_key - is non zero, zero is returned if the key has the wrong parity or - the key is a weak key, else 1 is returned. - -int des_key_sched( -des_cblock *key, -des_key_schedule schedule); - An alternative name for des_set_key(). - -int des_rw_mode; /* defaults to DES_PCBC_MODE */ - This flag holds either DES_CBC_MODE or DES_PCBC_MODE (default). - This specifies the function to use in the enc_read() and enc_write() - functions. - -void des_encrypt( -unsigned long *data, -des_key_schedule ks, -int enc); - This is the DES encryption function that gets called by just about - every other DES routine in the library. You should not use this - function except to implement 'modes' of DES. I say this because the - functions that call this routine do the conversion from 'char *' to - long, and this needs to be done to make sure 'non-aligned' memory - access do not occur. The characters are loaded 'little endian', - have a look at my source code for more details on how I use this - function. - Data is a pointer to 2 unsigned long's and ks is the - des_key_schedule to use. enc, is non zero specifies encryption, - zero if decryption. - -void des_encrypt2( -unsigned long *data, -des_key_schedule ks, -int enc); - This functions is the same as des_encrypt() except that the DES - initial permutation (IP) and final permutation (FP) have been left - out. As for des_encrypt(), you should not use this function. - It is used by the routines in my library that implement triple DES. - IP() des_encrypt2() des_encrypt2() des_encrypt2() FP() is the same - as des_encrypt() des_encrypt() des_encrypt() except faster :-). - -void des_ecb_encrypt( -des_cblock *input, -des_cblock *output, -des_key_schedule ks, -int enc); - This is the basic Electronic Code Book form of DES, the most basic - form. Input is encrypted into output using the key represented by - ks. If enc is non zero (DES_ENCRYPT), encryption occurs, otherwise - decryption occurs. Input is 8 bytes long and output is 8 bytes. - (the des_cblock structure is 8 chars). - -void des_ecb3_encrypt( -des_cblock *input, -des_cblock *output, -des_key_schedule ks1, -des_key_schedule ks2, -des_key_schedule ks3, -int enc); - This is the 3 key EDE mode of ECB DES. What this means is that - the 8 bytes of input is encrypted with ks1, decrypted with ks2 and - then encrypted again with ks3, before being put into output; - C=E(ks3,D(ks2,E(ks1,M))). There is a macro, des_ecb2_encrypt() - that only takes 2 des_key_schedules that implements, - C=E(ks1,D(ks2,E(ks1,M))) in that the final encrypt is done with ks1. - -void des_cbc_encrypt( -des_cblock *input, -des_cblock *output, -long length, -des_key_schedule ks, -des_cblock *ivec, -int enc); - This routine implements DES in Cipher Block Chaining mode. - Input, which should be a multiple of 8 bytes is encrypted - (or decrypted) to output which will also be a multiple of 8 bytes. - The number of bytes is in length (and from what I've said above, - should be a multiple of 8). If length is not a multiple of 8, I'm - not being held responsible :-). ivec is the initialisation vector. - This function does not modify this variable. To correctly implement - cbc mode, you need to do one of 2 things; copy the last 8 bytes of - cipher text for use as the next ivec in your application, - or use des_ncbc_encrypt(). - Only this routine has this problem with updating the ivec, all - other routines that are implementing cbc mode update ivec. - -void des_ncbc_encrypt( -des_cblock *input, -des_cblock *output, -long length, -des_key_schedule sk, -des_cblock *ivec, -int enc); - For historical reasons, des_cbc_encrypt() did not update the - ivec with the value requires so that subsequent calls to - des_cbc_encrypt() would 'chain'. This was needed so that the same - 'length' values would not need to be used when decrypting. - des_ncbc_encrypt() does the right thing. It is the same as - des_cbc_encrypt accept that ivec is updates with the correct value - to pass in subsequent calls to des_ncbc_encrypt(). I advise using - des_ncbc_encrypt() instead of des_cbc_encrypt(); - -void des_xcbc_encrypt( -des_cblock *input, -des_cblock *output, -long length, -des_key_schedule sk, -des_cblock *ivec, -des_cblock *inw, -des_cblock *outw, -int enc); - This is RSA's DESX mode of DES. It uses inw and outw to - 'whiten' the encryption. inw and outw are secret (unlike the iv) - and are as such, part of the key. So the key is sort of 24 bytes. - This is much better than cbc des. - -void des_3cbc_encrypt( -des_cblock *input, -des_cblock *output, -long length, -des_key_schedule sk1, -des_key_schedule sk2, -des_cblock *ivec1, -des_cblock *ivec2, -int enc); - This function is flawed, do not use it. I have left it in the - library because it is used in my des(1) program and will function - correctly when used by des(1). If I removed the function, people - could end up unable to decrypt files. - This routine implements outer triple cbc encryption using 2 ks and - 2 ivec's. Use des_ede2_cbc_encrypt() instead. - -void des_ede3_cbc_encrypt( -des_cblock *input, -des_cblock *output, -long length, -des_key_schedule ks1, -des_key_schedule ks2, -des_key_schedule ks3, -des_cblock *ivec, -int enc); - This function implements inner triple CBC DES encryption with 3 - keys. What this means is that each 'DES' operation - inside the cbc mode is really an C=E(ks3,D(ks2,E(ks1,M))). - Again, this is cbc mode so an ivec is requires. - This mode is used by SSL. - There is also a des_ede2_cbc_encrypt() that only uses 2 - des_key_schedule's, the first being reused for the final - encryption. C=E(ks1,D(ks2,E(ks1,M))). This form of triple DES - is used by the RSAref library. - -void des_pcbc_encrypt( -des_cblock *input, -des_cblock *output, -long length, -des_key_schedule ks, -des_cblock *ivec, -int enc); - This is Propagating Cipher Block Chaining mode of DES. It is used - by Kerberos v4. It's parameters are the same as des_ncbc_encrypt(). - -void des_cfb_encrypt( -unsigned char *in, -unsigned char *out, -int numbits, -long length, -des_key_schedule ks, -des_cblock *ivec, -int enc); - Cipher Feedback Back mode of DES. This implementation 'feeds back' - in numbit blocks. The input (and output) is in multiples of numbits - bits. numbits should to be a multiple of 8 bits. Length is the - number of bytes input. If numbits is not a multiple of 8 bits, - the extra bits in the bytes will be considered padding. So if - numbits is 12, for each 2 input bytes, the 4 high bits of the - second byte will be ignored. So to encode 72 bits when using - a numbits of 12 take 12 bytes. To encode 72 bits when using - numbits of 9 will take 16 bytes. To encode 80 bits when using - numbits of 16 will take 10 bytes. etc, etc. This padding will - apply to both input and output. - - -void des_cfb64_encrypt( -unsigned char *in, -unsigned char *out, -long length, -des_key_schedule ks, -des_cblock *ivec, -int *num, -int enc); - This is one of the more useful functions in this DES library, it - implements CFB mode of DES with 64bit feedback. Why is this - useful you ask? Because this routine will allow you to encrypt an - arbitrary number of bytes, no 8 byte padding. Each call to this - routine will encrypt the input bytes to output and then update ivec - and num. num contains 'how far' we are though ivec. If this does - not make much sense, read more about cfb mode of DES :-). - -void des_ede3_cfb64_encrypt( -unsigned char *in, -unsigned char *out, -long length, -des_key_schedule ks1, -des_key_schedule ks2, -des_key_schedule ks3, -des_cblock *ivec, -int *num, -int enc); - Same as des_cfb64_encrypt() accept that the DES operation is - triple DES. As usual, there is a macro for - des_ede2_cfb64_encrypt() which reuses ks1. - -void des_ofb_encrypt( -unsigned char *in, -unsigned char *out, -int numbits, -long length, -des_key_schedule ks, -des_cblock *ivec); - This is a implementation of Output Feed Back mode of DES. It is - the same as des_cfb_encrypt() in that numbits is the size of the - units dealt with during input and output (in bits). - -void des_ofb64_encrypt( -unsigned char *in, -unsigned char *out, -long length, -des_key_schedule ks, -des_cblock *ivec, -int *num); - The same as des_cfb64_encrypt() except that it is Output Feed Back - mode. - -void des_ede3_ofb64_encrypt( -unsigned char *in, -unsigned char *out, -long length, -des_key_schedule ks1, -des_key_schedule ks2, -des_key_schedule ks3, -des_cblock *ivec, -int *num); - Same as des_ofb64_encrypt() accept that the DES operation is - triple DES. As usual, there is a macro for - des_ede2_ofb64_encrypt() which reuses ks1. - -int des_read_pw_string( -char *buf, -int length, -char *prompt, -int verify); - This routine is used to get a password from the terminal with echo - turned off. Buf is where the string will end up and length is the - size of buf. Prompt is a string presented to the 'user' and if - verify is set, the key is asked for twice and unless the 2 copies - match, an error is returned. A return code of -1 indicates a - system error, 1 failure due to use interaction, and 0 is success. - -unsigned long des_cbc_cksum( -des_cblock *input, -des_cblock *output, -long length, -des_key_schedule ks, -des_cblock *ivec); - This function produces an 8 byte checksum from input that it puts in - output and returns the last 4 bytes as a long. The checksum is - generated via cbc mode of DES in which only the last 8 byes are - kept. I would recommend not using this function but instead using - the EVP_Digest routines, or at least using MD5 or SHA. This - function is used by Kerberos v4 so that is why it stays in the - library. - -char *crypt( -const char *buf, -const char *salt); - This is my fast version of the unix crypt(3) function. This version - takes only a small amount of space relative to other fast - crypt() implementations. - -void des_string_to_key( -char *str, -des_cblock *key); - This function takes str and converts it into a DES key. I would - recommend using MD5 instead and use the first 8 bytes of output. - When I wrote the first version of these routines back in 1990, MD5 - did not exist but I feel these routines are still sound. This - routines is compatible with the one in MIT's libdes. - -void des_string_to_2keys( -char *str, -des_cblock *key1, -des_cblock *key2); - This function takes str and converts it into 2 DES keys. - I would recommend using MD5 and using the 16 bytes as the 2 keys. - I have nothing against these 2 'string_to_key' routines, it's just - that if you say that your encryption key is generated by using the - 16 bytes of an MD5 hash, every-one knows how you generated your - keys. - -int des_read_password( -des_cblock *key, -char *prompt, -int verify); - This routine combines des_read_pw_string() with des_string_to_key(). - -int des_read_2passwords( -des_cblock *key1, -des_cblock *key2, -char *prompt, -int verify); - This routine combines des_read_pw_string() with des_string_to_2key(). - -void des_random_seed( -des_cblock key); - This routine sets a starting point for des_random_key(). - -void des_random_key( -des_cblock ret); - This function return a random key. Make sure to 'seed' the random - number generator (with des_random_seed()) before using this function. - I personally now use a MD5 based random number system. - -int des_enc_read( -int fd, -char *buf, -int len, -des_key_schedule ks, -des_cblock *iv); - This function will write to a file descriptor the encrypted data - from buf. This data will be preceded by a 4 byte 'byte count' and - will be padded out to 8 bytes. The encryption is either CBC of - PCBC depending on the value of des_rw_mode. If it is DES_PCBC_MODE, - pcbc is used, if DES_CBC_MODE, cbc is used. The default is to use - DES_PCBC_MODE. - -int des_enc_write( -int fd, -char *buf, -int len, -des_key_schedule ks, -des_cblock *iv); - This routines read stuff written by des_enc_read() and decrypts it. - I have used these routines quite a lot but I don't believe they are - suitable for non-blocking io. If you are after a full - authentication/encryption over networks, have a look at SSL instead. - -unsigned long des_quad_cksum( -des_cblock *input, -des_cblock *output, -long length, -int out_count, -des_cblock *seed); - This is a function from Kerberos v4 that is not anything to do with - DES but was needed. It is a cksum that is quicker to generate than - des_cbc_cksum(); I personally would use MD5 routines now. -===== -Modes of DES -Quite a bit of the following information has been taken from - AS 2805.5.2 - Australian Standard - Electronic funds transfer - Requirements for interfaces, - Part 5.2: Modes of operation for an n-bit block cipher algorithm - Appendix A - -There are several different modes in which DES can be used, they are -as follows. - -Electronic Codebook Mode (ECB) (des_ecb_encrypt()) -- 64 bits are enciphered at a time. -- The order of the blocks can be rearranged without detection. -- The same plaintext block always produces the same ciphertext block - (for the same key) making it vulnerable to a 'dictionary attack'. -- An error will only affect one ciphertext block. - -Cipher Block Chaining Mode (CBC) (des_cbc_encrypt()) -- a multiple of 64 bits are enciphered at a time. -- The CBC mode produces the same ciphertext whenever the same - plaintext is encrypted using the same key and starting variable. -- The chaining operation makes the ciphertext blocks dependent on the - current and all preceding plaintext blocks and therefore blocks can not - be rearranged. -- The use of different starting variables prevents the same plaintext - enciphering to the same ciphertext. -- An error will affect the current and the following ciphertext blocks. - -Cipher Feedback Mode (CFB) (des_cfb_encrypt()) -- a number of bits (j) <= 64 are enciphered at a time. -- The CFB mode produces the same ciphertext whenever the same - plaintext is encrypted using the same key and starting variable. -- The chaining operation makes the ciphertext variables dependent on the - current and all preceding variables and therefore j-bit variables are - chained together and can not be rearranged. -- The use of different starting variables prevents the same plaintext - enciphering to the same ciphertext. -- The strength of the CFB mode depends on the size of k (maximal if - j == k). In my implementation this is always the case. -- Selection of a small value for j will require more cycles through - the encipherment algorithm per unit of plaintext and thus cause - greater processing overheads. -- Only multiples of j bits can be enciphered. -- An error will affect the current and the following ciphertext variables. - -Output Feedback Mode (OFB) (des_ofb_encrypt()) -- a number of bits (j) <= 64 are enciphered at a time. -- The OFB mode produces the same ciphertext whenever the same - plaintext enciphered using the same key and starting variable. More - over, in the OFB mode the same key stream is produced when the same - key and start variable are used. Consequently, for security reasons - a specific start variable should be used only once for a given key. -- The absence of chaining makes the OFB more vulnerable to specific attacks. -- The use of different start variables values prevents the same - plaintext enciphering to the same ciphertext, by producing different - key streams. -- Selection of a small value for j will require more cycles through - the encipherment algorithm per unit of plaintext and thus cause - greater processing overheads. -- Only multiples of j bits can be enciphered. -- OFB mode of operation does not extend ciphertext errors in the - resultant plaintext output. Every bit error in the ciphertext causes - only one bit to be in error in the deciphered plaintext. -- OFB mode is not self-synchronising. If the two operation of - encipherment and decipherment get out of synchronism, the system needs - to be re-initialised. -- Each re-initialisation should use a value of the start variable - different from the start variable values used before with the same - key. The reason for this is that an identical bit stream would be - produced each time from the same parameters. This would be - susceptible to a ' known plaintext' attack. - -Triple ECB Mode (des_ecb3_encrypt()) -- Encrypt with key1, decrypt with key2 and encrypt with key3 again. -- As for ECB encryption but increases the key length to 168 bits. - There are theoretic attacks that can be used that make the effective - key length 112 bits, but this attack also requires 2^56 blocks of - memory, not very likely, even for the NSA. -- If both keys are the same it is equivalent to encrypting once with - just one key. -- If the first and last key are the same, the key length is 112 bits. - There are attacks that could reduce the key space to 55 bit's but it - requires 2^56 blocks of memory. -- If all 3 keys are the same, this is effectively the same as normal - ecb mode. - -Triple CBC Mode (des_ede3_cbc_encrypt()) -- Encrypt with key1, decrypt with key2 and then encrypt with key3. -- As for CBC encryption but increases the key length to 168 bits with - the same restrictions as for triple ecb mode. diff --git a/secure/lib/libdes/des.h b/secure/lib/libdes/des.h deleted file mode 100644 index 9a837f58c421b..0000000000000 --- a/secure/lib/libdes/des.h +++ /dev/null @@ -1,274 +0,0 @@ -/* lib/des/des.h */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_DES_H -#define HEADER_DES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdio.h> - -/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ -#ifndef DES_LONG -#define DES_LONG unsigned long -#endif - -typedef unsigned char des_cblock[8]; -typedef struct des_ks_struct - { - union { - des_cblock _; - /* make sure things are correct size on machines with - * 8 byte longs */ - DES_LONG pad[2]; - } ks; -#undef _ -#define _ ks._ - } des_key_schedule[16]; - -#define DES_KEY_SZ (sizeof(des_cblock)) -#define DES_SCHEDULE_SZ (sizeof(des_key_schedule)) - -#define DES_ENCRYPT 1 -#define DES_DECRYPT 0 - -#define DES_CBC_MODE 0 -#define DES_PCBC_MODE 1 - -#define des_ecb2_encrypt(i,o,k1,k2,e) \ - des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) - -#define des_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ - des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) - -#define des_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ - des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) - -#define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ - des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) - -#define C_Block des_cblock -#define Key_schedule des_key_schedule -#ifdef KERBEROS -#define ENCRYPT DES_ENCRYPT -#define DECRYPT DES_DECRYPT -#endif -#define KEY_SZ DES_KEY_SZ -#define string_to_key des_string_to_key -#define read_pw_string des_read_pw_string -#define random_key des_random_key -#define pcbc_encrypt des_pcbc_encrypt -#define set_key des_set_key -#define key_sched des_key_sched -#define ecb_encrypt des_ecb_encrypt -#define cbc_encrypt des_cbc_encrypt -#define ncbc_encrypt des_ncbc_encrypt -#define xcbc_encrypt des_xcbc_encrypt -#define cbc_cksum des_cbc_cksum -#define quad_cksum des_quad_cksum - -/* For compatibility with the MIT lib - eay 20/05/92 */ -typedef des_key_schedule bit_64; -#define des_fixup_key_parity des_set_odd_parity -#define des_check_key_parity check_parity - -extern int des_check_key; /* defaults to false */ -extern int des_rw_mode; /* defaults to DES_PCBC_MODE */ - -/* The next line is used to disable full ANSI prototypes, if your - * compiler has problems with the prototypes, make sure this line always - * evaluates to true :-) */ -#if defined(MSDOS) || defined(__STDC__) -#undef NOPROTO -#endif -#ifndef NOPROTO -char *des_options(void); -void des_ecb3_encrypt(des_cblock *input,des_cblock *output, - des_key_schedule ks1,des_key_schedule ks2, - des_key_schedule ks3, int enc); -DES_LONG des_cbc_cksum(des_cblock *input,des_cblock *output, - long length,des_key_schedule schedule,des_cblock *ivec); -void des_cbc_encrypt(des_cblock *input,des_cblock *output,long length, - des_key_schedule schedule,des_cblock *ivec,int enc); -void des_ncbc_encrypt(des_cblock *input,des_cblock *output,long length, - des_key_schedule schedule,des_cblock *ivec,int enc); -void des_xcbc_encrypt(des_cblock *input,des_cblock *output,long length, - des_key_schedule schedule,des_cblock *ivec, - des_cblock *inw,des_cblock *outw,int enc); -void des_3cbc_encrypt(des_cblock *input,des_cblock *output,long length, - des_key_schedule sk1,des_key_schedule sk2, - des_cblock *ivec1,des_cblock *ivec2,int enc); -void des_cfb_encrypt(unsigned char *in,unsigned char *out,int numbits, - long length,des_key_schedule schedule,des_cblock *ivec,int enc); -void des_ecb_encrypt(des_cblock *input,des_cblock *output, - des_key_schedule ks,int enc); -void des_encrypt(DES_LONG *data,des_key_schedule ks, int enc); -void des_encrypt2(DES_LONG *data,des_key_schedule ks, int enc); -void des_ede3_cbc_encrypt(des_cblock *input, des_cblock *output, - long length, des_key_schedule ks1, des_key_schedule ks2, - des_key_schedule ks3, des_cblock *ivec, int enc); -void des_ede3_cfb64_encrypt(unsigned char *in, unsigned char *out, - long length, des_key_schedule ks1, des_key_schedule ks2, - des_key_schedule ks3, des_cblock *ivec, int *num, int encrypt); -void des_ede3_ofb64_encrypt(unsigned char *in, unsigned char *out, - long length, des_key_schedule ks1, des_key_schedule ks2, - des_key_schedule ks3, des_cblock *ivec, int *num); - -int des_enc_read(int fd,char *buf,int len,des_key_schedule sched, - des_cblock *iv); -int des_enc_write(int fd,char *buf,int len,des_key_schedule sched, - des_cblock *iv); -#if 0 -#ifdef PERL5 -char *des_crypt(const char *buf,const char *salt); -#else -/* some stupid compilers complain because I have declared char instead - * of const char */ -#ifdef HEADER_DES_LOCL_H -char *crypt(const char *buf,const char *salt); -#else -char *crypt(); -#endif -#endif -#endif -void des_ofb_encrypt(unsigned char *in,unsigned char *out, - int numbits,long length,des_key_schedule schedule,des_cblock *ivec); -void des_pcbc_encrypt(des_cblock *input,des_cblock *output,long length, - des_key_schedule schedule,des_cblock *ivec,int enc); -DES_LONG des_quad_cksum(des_cblock *input,des_cblock *output, - long length,int out_count,des_cblock *seed); -void des_random_seed(des_cblock key); -void des_random_key(des_cblock ret); -int des_read_password(des_cblock *key,char *prompt,int verify); -int des_read_2passwords(des_cblock *key1,des_cblock *key2, - char *prompt,int verify); -int des_read_pw_string(char *buf,int length,char *prompt,int verify); -void des_set_odd_parity(des_cblock *key); -int des_is_weak_key(des_cblock *key); -int des_set_key(des_cblock *key,des_key_schedule schedule); -int des_key_sched(des_cblock *key,des_key_schedule schedule); -void des_string_to_key(char *str,des_cblock *key); -void des_string_to_2keys(char *str,des_cblock *key1,des_cblock *key2); -void des_cfb64_encrypt(unsigned char *in, unsigned char *out, long length, - des_key_schedule schedule, des_cblock *ivec, int *num, int enc); -void des_ofb64_encrypt(unsigned char *in, unsigned char *out, long length, - des_key_schedule schedule, des_cblock *ivec, int *num); - -/* Extra functions from Mark Murray <mark@grondar.za> */ -void des_cblock_print_file(des_cblock *cb, FILE *fp); -/* The following functions are not in the normal unix build or the - * SSLeay build. When using the SSLeay build, use RAND_seed() - * and RAND_bytes() instead. */ -int des_new_random_key(des_cblock *key); -void des_init_random_number_generator(des_cblock *key); -void des_set_random_generator_seed(des_cblock *key); -void des_set_sequence_number(des_cblock new_sequence_number); -void des_generate_random_block(des_cblock *block); - -#else - -char *des_options(); -void des_ecb3_encrypt(); -DES_LONG des_cbc_cksum(); -void des_cbc_encrypt(); -void des_ncbc_encrypt(); -void des_xcbc_encrypt(); -void des_3cbc_encrypt(); -void des_cfb_encrypt(); -void des_ede3_cfb64_encrypt(); -void des_ede3_ofb64_encrypt(); -void des_ecb_encrypt(); -void des_encrypt(); -void des_encrypt2(); -void des_ede3_cbc_encrypt(); -int des_enc_read(); -int des_enc_write(); -#if 0 -#ifdef PERL5 -char *des_crypt(); -#else -char *crypt(); -#endif -#endif -void des_ofb_encrypt(); -void des_pcbc_encrypt(); -DES_LONG des_quad_cksum(); -void des_random_seed(); -void des_random_key(); -int des_read_password(); -int des_read_2passwords(); -int des_read_pw_string(); -void des_set_odd_parity(); -int des_is_weak_key(); -int des_set_key(); -int des_key_sched(); -void des_string_to_key(); -void des_string_to_2keys(); -void des_cfb64_encrypt(); -void des_ofb64_encrypt(); - -/* Extra functions from Mark Murray <mark@grondar.za> */ -void des_cblock_print_file(); -/* The following functions are not in the normal unix build or the - * SSLeay build. When using the SSLeay build, use RAND_seed() - * and RAND_bytes() instead. */ -int des_new_random_key(); -void des_init_random_number_generator(); -void des_set_random_generator_seed(); -void des_set_sequence_number(); -void des_generate_random_block(); - -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/secure/lib/libdes/des.man b/secure/lib/libdes/des.man deleted file mode 100644 index 734119906b8f1..0000000000000 --- a/secure/lib/libdes/des.man +++ /dev/null @@ -1,186 +0,0 @@ -.TH DES 1 -.SH NAME -des - encrypt or decrypt data using Data Encryption Standard -.SH SYNOPSIS -.B des -( -.B \-e -| -.B \-E -) | ( -.B \-d -| -.B \-D -) | ( -.B \-\fR[\fPcC\fR][\fPckname\fR]\fP -) | -[ -.B \-b3hfs -] [ -.B \-k -.I key -] -] [ -.B \-u\fR[\fIuuname\fR] -[ -.I input-file -[ -.I output-file -] ] -.SH DESCRIPTION -.B des -encrypts and decrypts data using the -Data Encryption Standard algorithm. -One of -.B \-e, \-E -(for encrypt) or -.B \-d, \-D -(for decrypt) must be specified. -It is also possible to use -.B \-c -or -.B \-C -in conjunction or instead of the a encrypt/decrypt option to generate -a 16 character hexadecimal checksum, generated via the -.I des_cbc_cksum. -.LP -Two standard encryption modes are supported by the -.B des -program, Cipher Block Chaining (the default) and Electronic Code Book -(specified with -.B \-b -). -.LP -The key used for the DES -algorithm is obtained by prompting the user unless the -.B `\-k -.I key' -option is given. -If the key is an argument to the -.B des -command, it is potentially visible to users executing -.BR ps (1) -or a derivative. To minimise this possibility, -.B des -takes care to destroy the key argument immediately upon entry. -If your shell keeps a history file be careful to make sure it is not -world readable. -.LP -Since this program attempts to maintain compatability with sunOS's -des(1) command, there are 2 different methods used to convert the user -supplied key to a des key. -Whenever and one or more of -.B \-E, \-D, \-C -or -.B \-3 -options are used, the key conversion procedure will not be compatible -with the sunOS des(1) version but will use all the user supplied -character to generate the des key. -.B des -command reads from standard input unless -.I input-file -is specified and writes to standard output unless -.I output-file -is given. -.SH OPTIONS -.TP -.B \-b -Select ECB -(eight bytes at a time) encryption mode. -.TP -.B \-3 -Encrypt using triple encryption. -By default triple cbc encryption is used but if the -.B \-b -option is used then triple ecb encryption is performed. -If the key is less than 8 characters long, the flag has no effect. -.TP -.B \-e -Encrypt data using an 8 byte key in a manner compatible with sunOS -des(1). -.TP -.B \-E -Encrypt data using a key of nearly unlimited length (1024 bytes). -This will product a more secure encryption. -.TP -.B \-d -Decrypt data that was encrypted with the \-e option. -.TP -.B \-D -Decrypt data that was encrypted with the \-E option. -.TP -.B \-c -Generate a 16 character hexadecimal cbc checksum and output this to -stderr. -If a filename was specified after the -.B \-c -option, the checksum is output to that file. -The checksum is generated using a key generated in a sunOS compatible -manner. -.TP -.B \-C -A cbc checksum is generated in the same manner as described for the -.B \-c -option but the DES key is generated in the same manner as used for the -.B \-E -and -.B \-D -options -.TP -.B \-f -Does nothing - allowed for compatibility with sunOS des(1) command. -.TP -.B \-s -Does nothing - allowed for compatibility with sunOS des(1) command. -.TP -.B "\-k \fIkey\fP" -Use the encryption -.I key -specified. -.TP -.B "\-h" -The -.I key -is assumed to be a 16 character hexadecimal number. -If the -.B "\-3" -option is used the key is assumed to be a 32 character hexadecimal -number. -.TP -.B \-u -This flag is used to read and write uuencoded files. If decrypting, -the input file is assumed to contain uuencoded, DES encrypted data. -If encrypting, the characters following the -u are used as the name of -the uuencoded file to embed in the begin line of the uuencoded -output. If there is no name specified after the -u, the name text.des -will be embedded in the header. -.SH SEE ALSO -.B ps (1) -.B des_crypt(3) -.SH BUGS -.LP -The problem with using the -.B -e -option is the short key length. -It would be better to use a real 56-bit key rather than an -ASCII-based 56-bit pattern. Knowing that the key was derived from ASCII -radically reduces the time necessary for a brute-force cryptographic attack. -My attempt to remove this problem is to add an alternative text-key to -DES-key function. This alternative function (accessed via -.B -E, -D, -S -and -.B -3 -) -uses DES to help generate the key. -.LP -Be carefully when using the -u option. Doing des -ud <filename> will -not decrypt filename (the -u option will gobble the d option). -.LP -The VMS operating system operates in a world where files are always a -multiple of 512 bytes. This causes problems when encrypted data is -send from unix to VMS since a 88 byte file will suddenly be padded -with 424 null bytes. To get around this problem, use the -u option -to uuencode the data before it is send to the VMS system. -.SH AUTHOR -.LP -Eric Young (eay@mincom.oz.au or eay@psych.psy.uq.oz.au) diff --git a/secure/lib/libdes/des.pl b/secure/lib/libdes/des.pl deleted file mode 100755 index d80e7cbf67d29..0000000000000 --- a/secure/lib/libdes/des.pl +++ /dev/null @@ -1,552 +0,0 @@ -#!/usr/bin/perl -# des.pl - eric young 22/11/1991 eay@mincom.oz.au or eay@psych.psy.uq.oz.au -# -# Copyright (C) 1993 Eric Young -# -# 11 April 1996 - patched to circumvent Perl 5 (through 5.002) problem -# with sign-extension on right shift operations. -# Ed Kubaitis - ejk@uiuc.edu -# -# eay - 92/08/31 - I think I have fixed all problems for 64bit -# versions of perl but I could be wrong since I have not tested it yet :-). -# -# This is an implementation of DES in perl. -# The two routines (des_set_key and des_ecb_encrypt) -# take 8 byte objects as arguments. -# -# des_set_key takes an 8 byte string as a key and returns a key schedule -# for use in calls to des_ecb_encrypt. -# des_ecb_encrypt takes three arguments, the first is a key schedule -# (make sure to pass it by reference with the *), the second is 1 -# to encrypt, 0 to decrypt. The third argument is an 8 byte object -# to encrypt. The function returns an 8 byte object that has been -# DES encrypted. -# -# example: -# require 'des.pl' -# -# $key =pack("C8",0x12,0x23,0x45,0x67,0x89,0xab,0xcd,0xef); -# @ks= &des_set_key($key); -# -# $outbytes= &des_ecb_encrypt(*ks,1,$data); -# @enc =unpack("C8",$outbytes); -# - -package des; - -eval("usr integer;") if (int($]) > 4); - -# The following 8 arrays are used in des_set_key -@skb0=( -# for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 -0x00000000,0x00000010,0x20000000,0x20000010, -0x00010000,0x00010010,0x20010000,0x20010010, -0x00000800,0x00000810,0x20000800,0x20000810, -0x00010800,0x00010810,0x20010800,0x20010810, -0x00000020,0x00000030,0x20000020,0x20000030, -0x00010020,0x00010030,0x20010020,0x20010030, -0x00000820,0x00000830,0x20000820,0x20000830, -0x00010820,0x00010830,0x20010820,0x20010830, -0x00080000,0x00080010,0x20080000,0x20080010, -0x00090000,0x00090010,0x20090000,0x20090010, -0x00080800,0x00080810,0x20080800,0x20080810, -0x00090800,0x00090810,0x20090800,0x20090810, -0x00080020,0x00080030,0x20080020,0x20080030, -0x00090020,0x00090030,0x20090020,0x20090030, -0x00080820,0x00080830,0x20080820,0x20080830, -0x00090820,0x00090830,0x20090820,0x20090830, -); -@skb1=( -# for C bits (numbered as per FIPS 46) 7 8 10 11 12 13 -0x00000000,0x02000000,0x00002000,0x02002000, -0x00200000,0x02200000,0x00202000,0x02202000, -0x00000004,0x02000004,0x00002004,0x02002004, -0x00200004,0x02200004,0x00202004,0x02202004, -0x00000400,0x02000400,0x00002400,0x02002400, -0x00200400,0x02200400,0x00202400,0x02202400, -0x00000404,0x02000404,0x00002404,0x02002404, -0x00200404,0x02200404,0x00202404,0x02202404, -0x10000000,0x12000000,0x10002000,0x12002000, -0x10200000,0x12200000,0x10202000,0x12202000, -0x10000004,0x12000004,0x10002004,0x12002004, -0x10200004,0x12200004,0x10202004,0x12202004, -0x10000400,0x12000400,0x10002400,0x12002400, -0x10200400,0x12200400,0x10202400,0x12202400, -0x10000404,0x12000404,0x10002404,0x12002404, -0x10200404,0x12200404,0x10202404,0x12202404, -); -@skb2=( -# for C bits (numbered as per FIPS 46) 14 15 16 17 19 20 -0x00000000,0x00000001,0x00040000,0x00040001, -0x01000000,0x01000001,0x01040000,0x01040001, -0x00000002,0x00000003,0x00040002,0x00040003, -0x01000002,0x01000003,0x01040002,0x01040003, -0x00000200,0x00000201,0x00040200,0x00040201, -0x01000200,0x01000201,0x01040200,0x01040201, -0x00000202,0x00000203,0x00040202,0x00040203, -0x01000202,0x01000203,0x01040202,0x01040203, -0x08000000,0x08000001,0x08040000,0x08040001, -0x09000000,0x09000001,0x09040000,0x09040001, -0x08000002,0x08000003,0x08040002,0x08040003, -0x09000002,0x09000003,0x09040002,0x09040003, -0x08000200,0x08000201,0x08040200,0x08040201, -0x09000200,0x09000201,0x09040200,0x09040201, -0x08000202,0x08000203,0x08040202,0x08040203, -0x09000202,0x09000203,0x09040202,0x09040203, -); -@skb3=( -# for C bits (numbered as per FIPS 46) 21 23 24 26 27 28 -0x00000000,0x00100000,0x00000100,0x00100100, -0x00000008,0x00100008,0x00000108,0x00100108, -0x00001000,0x00101000,0x00001100,0x00101100, -0x00001008,0x00101008,0x00001108,0x00101108, -0x04000000,0x04100000,0x04000100,0x04100100, -0x04000008,0x04100008,0x04000108,0x04100108, -0x04001000,0x04101000,0x04001100,0x04101100, -0x04001008,0x04101008,0x04001108,0x04101108, -0x00020000,0x00120000,0x00020100,0x00120100, -0x00020008,0x00120008,0x00020108,0x00120108, -0x00021000,0x00121000,0x00021100,0x00121100, -0x00021008,0x00121008,0x00021108,0x00121108, -0x04020000,0x04120000,0x04020100,0x04120100, -0x04020008,0x04120008,0x04020108,0x04120108, -0x04021000,0x04121000,0x04021100,0x04121100, -0x04021008,0x04121008,0x04021108,0x04121108, -); -@skb4=( -# for D bits (numbered as per FIPS 46) 1 2 3 4 5 6 -0x00000000,0x10000000,0x00010000,0x10010000, -0x00000004,0x10000004,0x00010004,0x10010004, -0x20000000,0x30000000,0x20010000,0x30010000, -0x20000004,0x30000004,0x20010004,0x30010004, -0x00100000,0x10100000,0x00110000,0x10110000, -0x00100004,0x10100004,0x00110004,0x10110004, -0x20100000,0x30100000,0x20110000,0x30110000, -0x20100004,0x30100004,0x20110004,0x30110004, -0x00001000,0x10001000,0x00011000,0x10011000, -0x00001004,0x10001004,0x00011004,0x10011004, -0x20001000,0x30001000,0x20011000,0x30011000, -0x20001004,0x30001004,0x20011004,0x30011004, -0x00101000,0x10101000,0x00111000,0x10111000, -0x00101004,0x10101004,0x00111004,0x10111004, -0x20101000,0x30101000,0x20111000,0x30111000, -0x20101004,0x30101004,0x20111004,0x30111004, -); -@skb5=( -# for D bits (numbered as per FIPS 46) 8 9 11 12 13 14 -0x00000000,0x08000000,0x00000008,0x08000008, -0x00000400,0x08000400,0x00000408,0x08000408, -0x00020000,0x08020000,0x00020008,0x08020008, -0x00020400,0x08020400,0x00020408,0x08020408, -0x00000001,0x08000001,0x00000009,0x08000009, -0x00000401,0x08000401,0x00000409,0x08000409, -0x00020001,0x08020001,0x00020009,0x08020009, -0x00020401,0x08020401,0x00020409,0x08020409, -0x02000000,0x0A000000,0x02000008,0x0A000008, -0x02000400,0x0A000400,0x02000408,0x0A000408, -0x02020000,0x0A020000,0x02020008,0x0A020008, -0x02020400,0x0A020400,0x02020408,0x0A020408, -0x02000001,0x0A000001,0x02000009,0x0A000009, -0x02000401,0x0A000401,0x02000409,0x0A000409, -0x02020001,0x0A020001,0x02020009,0x0A020009, -0x02020401,0x0A020401,0x02020409,0x0A020409, -); -@skb6=( -# for D bits (numbered as per FIPS 46) 16 17 18 19 20 21 -0x00000000,0x00000100,0x00080000,0x00080100, -0x01000000,0x01000100,0x01080000,0x01080100, -0x00000010,0x00000110,0x00080010,0x00080110, -0x01000010,0x01000110,0x01080010,0x01080110, -0x00200000,0x00200100,0x00280000,0x00280100, -0x01200000,0x01200100,0x01280000,0x01280100, -0x00200010,0x00200110,0x00280010,0x00280110, -0x01200010,0x01200110,0x01280010,0x01280110, -0x00000200,0x00000300,0x00080200,0x00080300, -0x01000200,0x01000300,0x01080200,0x01080300, -0x00000210,0x00000310,0x00080210,0x00080310, -0x01000210,0x01000310,0x01080210,0x01080310, -0x00200200,0x00200300,0x00280200,0x00280300, -0x01200200,0x01200300,0x01280200,0x01280300, -0x00200210,0x00200310,0x00280210,0x00280310, -0x01200210,0x01200310,0x01280210,0x01280310, -); -@skb7=( -# for D bits (numbered as per FIPS 46) 22 23 24 25 27 28 -0x00000000,0x04000000,0x00040000,0x04040000, -0x00000002,0x04000002,0x00040002,0x04040002, -0x00002000,0x04002000,0x00042000,0x04042000, -0x00002002,0x04002002,0x00042002,0x04042002, -0x00000020,0x04000020,0x00040020,0x04040020, -0x00000022,0x04000022,0x00040022,0x04040022, -0x00002020,0x04002020,0x00042020,0x04042020, -0x00002022,0x04002022,0x00042022,0x04042022, -0x00000800,0x04000800,0x00040800,0x04040800, -0x00000802,0x04000802,0x00040802,0x04040802, -0x00002800,0x04002800,0x00042800,0x04042800, -0x00002802,0x04002802,0x00042802,0x04042802, -0x00000820,0x04000820,0x00040820,0x04040820, -0x00000822,0x04000822,0x00040822,0x04040822, -0x00002820,0x04002820,0x00042820,0x04042820, -0x00002822,0x04002822,0x00042822,0x04042822, -); - -@shifts2=(0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0); - -# used in ecb_encrypt -@SP0=( -0x00410100, 0x00010000, 0x40400000, 0x40410100, -0x00400000, 0x40010100, 0x40010000, 0x40400000, -0x40010100, 0x00410100, 0x00410000, 0x40000100, -0x40400100, 0x00400000, 0x00000000, 0x40010000, -0x00010000, 0x40000000, 0x00400100, 0x00010100, -0x40410100, 0x00410000, 0x40000100, 0x00400100, -0x40000000, 0x00000100, 0x00010100, 0x40410000, -0x00000100, 0x40400100, 0x40410000, 0x00000000, -0x00000000, 0x40410100, 0x00400100, 0x40010000, -0x00410100, 0x00010000, 0x40000100, 0x00400100, -0x40410000, 0x00000100, 0x00010100, 0x40400000, -0x40010100, 0x40000000, 0x40400000, 0x00410000, -0x40410100, 0x00010100, 0x00410000, 0x40400100, -0x00400000, 0x40000100, 0x40010000, 0x00000000, -0x00010000, 0x00400000, 0x40400100, 0x00410100, -0x40000000, 0x40410000, 0x00000100, 0x40010100, -); -@SP1=( -0x08021002, 0x00000000, 0x00021000, 0x08020000, -0x08000002, 0x00001002, 0x08001000, 0x00021000, -0x00001000, 0x08020002, 0x00000002, 0x08001000, -0x00020002, 0x08021000, 0x08020000, 0x00000002, -0x00020000, 0x08001002, 0x08020002, 0x00001000, -0x00021002, 0x08000000, 0x00000000, 0x00020002, -0x08001002, 0x00021002, 0x08021000, 0x08000002, -0x08000000, 0x00020000, 0x00001002, 0x08021002, -0x00020002, 0x08021000, 0x08001000, 0x00021002, -0x08021002, 0x00020002, 0x08000002, 0x00000000, -0x08000000, 0x00001002, 0x00020000, 0x08020002, -0x00001000, 0x08000000, 0x00021002, 0x08001002, -0x08021000, 0x00001000, 0x00000000, 0x08000002, -0x00000002, 0x08021002, 0x00021000, 0x08020000, -0x08020002, 0x00020000, 0x00001002, 0x08001000, -0x08001002, 0x00000002, 0x08020000, 0x00021000, -); -@SP2=( -0x20800000, 0x00808020, 0x00000020, 0x20800020, -0x20008000, 0x00800000, 0x20800020, 0x00008020, -0x00800020, 0x00008000, 0x00808000, 0x20000000, -0x20808020, 0x20000020, 0x20000000, 0x20808000, -0x00000000, 0x20008000, 0x00808020, 0x00000020, -0x20000020, 0x20808020, 0x00008000, 0x20800000, -0x20808000, 0x00800020, 0x20008020, 0x00808000, -0x00008020, 0x00000000, 0x00800000, 0x20008020, -0x00808020, 0x00000020, 0x20000000, 0x00008000, -0x20000020, 0x20008000, 0x00808000, 0x20800020, -0x00000000, 0x00808020, 0x00008020, 0x20808000, -0x20008000, 0x00800000, 0x20808020, 0x20000000, -0x20008020, 0x20800000, 0x00800000, 0x20808020, -0x00008000, 0x00800020, 0x20800020, 0x00008020, -0x00800020, 0x00000000, 0x20808000, 0x20000020, -0x20800000, 0x20008020, 0x00000020, 0x00808000, -); -@SP3=( -0x00080201, 0x02000200, 0x00000001, 0x02080201, -0x00000000, 0x02080000, 0x02000201, 0x00080001, -0x02080200, 0x02000001, 0x02000000, 0x00000201, -0x02000001, 0x00080201, 0x00080000, 0x02000000, -0x02080001, 0x00080200, 0x00000200, 0x00000001, -0x00080200, 0x02000201, 0x02080000, 0x00000200, -0x00000201, 0x00000000, 0x00080001, 0x02080200, -0x02000200, 0x02080001, 0x02080201, 0x00080000, -0x02080001, 0x00000201, 0x00080000, 0x02000001, -0x00080200, 0x02000200, 0x00000001, 0x02080000, -0x02000201, 0x00000000, 0x00000200, 0x00080001, -0x00000000, 0x02080001, 0x02080200, 0x00000200, -0x02000000, 0x02080201, 0x00080201, 0x00080000, -0x02080201, 0x00000001, 0x02000200, 0x00080201, -0x00080001, 0x00080200, 0x02080000, 0x02000201, -0x00000201, 0x02000000, 0x02000001, 0x02080200, -); -@SP4=( -0x01000000, 0x00002000, 0x00000080, 0x01002084, -0x01002004, 0x01000080, 0x00002084, 0x01002000, -0x00002000, 0x00000004, 0x01000004, 0x00002080, -0x01000084, 0x01002004, 0x01002080, 0x00000000, -0x00002080, 0x01000000, 0x00002004, 0x00000084, -0x01000080, 0x00002084, 0x00000000, 0x01000004, -0x00000004, 0x01000084, 0x01002084, 0x00002004, -0x01002000, 0x00000080, 0x00000084, 0x01002080, -0x01002080, 0x01000084, 0x00002004, 0x01002000, -0x00002000, 0x00000004, 0x01000004, 0x01000080, -0x01000000, 0x00002080, 0x01002084, 0x00000000, -0x00002084, 0x01000000, 0x00000080, 0x00002004, -0x01000084, 0x00000080, 0x00000000, 0x01002084, -0x01002004, 0x01002080, 0x00000084, 0x00002000, -0x00002080, 0x01002004, 0x01000080, 0x00000084, -0x00000004, 0x00002084, 0x01002000, 0x01000004, -); -@SP5=( -0x10000008, 0x00040008, 0x00000000, 0x10040400, -0x00040008, 0x00000400, 0x10000408, 0x00040000, -0x00000408, 0x10040408, 0x00040400, 0x10000000, -0x10000400, 0x10000008, 0x10040000, 0x00040408, -0x00040000, 0x10000408, 0x10040008, 0x00000000, -0x00000400, 0x00000008, 0x10040400, 0x10040008, -0x10040408, 0x10040000, 0x10000000, 0x00000408, -0x00000008, 0x00040400, 0x00040408, 0x10000400, -0x00000408, 0x10000000, 0x10000400, 0x00040408, -0x10040400, 0x00040008, 0x00000000, 0x10000400, -0x10000000, 0x00000400, 0x10040008, 0x00040000, -0x00040008, 0x10040408, 0x00040400, 0x00000008, -0x10040408, 0x00040400, 0x00040000, 0x10000408, -0x10000008, 0x10040000, 0x00040408, 0x00000000, -0x00000400, 0x10000008, 0x10000408, 0x10040400, -0x10040000, 0x00000408, 0x00000008, 0x10040008, -); -@SP6=( -0x00000800, 0x00000040, 0x00200040, 0x80200000, -0x80200840, 0x80000800, 0x00000840, 0x00000000, -0x00200000, 0x80200040, 0x80000040, 0x00200800, -0x80000000, 0x00200840, 0x00200800, 0x80000040, -0x80200040, 0x00000800, 0x80000800, 0x80200840, -0x00000000, 0x00200040, 0x80200000, 0x00000840, -0x80200800, 0x80000840, 0x00200840, 0x80000000, -0x80000840, 0x80200800, 0x00000040, 0x00200000, -0x80000840, 0x00200800, 0x80200800, 0x80000040, -0x00000800, 0x00000040, 0x00200000, 0x80200800, -0x80200040, 0x80000840, 0x00000840, 0x00000000, -0x00000040, 0x80200000, 0x80000000, 0x00200040, -0x00000000, 0x80200040, 0x00200040, 0x00000840, -0x80000040, 0x00000800, 0x80200840, 0x00200000, -0x00200840, 0x80000000, 0x80000800, 0x80200840, -0x80200000, 0x00200840, 0x00200800, 0x80000800, -); -@SP7=( -0x04100010, 0x04104000, 0x00004010, 0x00000000, -0x04004000, 0x00100010, 0x04100000, 0x04104010, -0x00000010, 0x04000000, 0x00104000, 0x00004010, -0x00104010, 0x04004010, 0x04000010, 0x04100000, -0x00004000, 0x00104010, 0x00100010, 0x04004000, -0x04104010, 0x04000010, 0x00000000, 0x00104000, -0x04000000, 0x00100000, 0x04004010, 0x04100010, -0x00100000, 0x00004000, 0x04104000, 0x00000010, -0x00100000, 0x00004000, 0x04000010, 0x04104010, -0x00004010, 0x04000000, 0x00000000, 0x00104000, -0x04100010, 0x04004010, 0x04004000, 0x00100010, -0x04104000, 0x00000010, 0x00100010, 0x04004000, -0x04104010, 0x00100000, 0x04100000, 0x04000010, -0x00104000, 0x00004010, 0x04004010, 0x04100000, -0x00000010, 0x04104000, 0x00104010, 0x00000000, -0x04000000, 0x04100010, 0x00004000, 0x00104010, -); - -sub main'des_set_key - { - local($param)=@_; - local(@key); - local($c,$d,$i,$s,$t); - local(@ks)=(); - - # Get the bytes in the order we want. - @key=unpack("C8",$param); - - $c= ($key[0] )| - ($key[1]<< 8)| - ($key[2]<<16)| - ($key[3]<<24); - $d= ($key[4] )| - ($key[5]<< 8)| - ($key[6]<<16)| - ($key[7]<<24); - - &doPC1(*c,*d); - - for $i (@shifts2) - { - if ($i) - { - $c=($c>>2)|($c<<26); - $d=($d>>2)|($d<<26); - } - else - { - $c=($c>>1)|($c<<27); - $d=($d>>1)|($d<<27); - } - $c&=0x0fffffff; - $d&=0x0fffffff; - $s= $skb0[ ($c )&0x3f ]| - $skb1[(($c>> 6)&0x03)|(($c>> 7)&0x3c)]| - $skb2[(($c>>13)&0x0f)|(($c>>14)&0x30)]| - $skb3[(($c>>20)&0x01)|(($c>>21)&0x06) | - (($c>>22)&0x38)]; - $t= $skb4[ ($d )&0x3f ]| - $skb5[(($d>> 7)&0x03)|(($d>> 8)&0x3c)]| - $skb6[ ($d>>15)&0x3f ]| - $skb7[(($d>>21)&0x0f)|(($d>>22)&0x30)]; - push(@ks,(($t<<16)|($s&0x0000ffff))&0xffffffff); - $s= (($s>>16)&0x0000ffff)|($t&0xffff0000) ; - push(@ks,(($s<<4)|(($s>>28)&0xf))&0xffffffff); - } - @ks; - } - -sub doPC1 - { - local(*a,*b)=@_; - local($t); - - $t=(($b>>4)^$a)&0x0f0f0f0f; - $b^=($t<<4); $a^=$t; - # do $a first - $t=(($a<<18)^$a)&0xcccc0000; - $a=$a^$t^(($t>>18)&0x00003fff); - $t=(($a<<17)^$a)&0xaaaa0000; - $a=$a^$t^(($t>>17)&0x00007fff); - $t=(($a<< 8)^$a)&0x00ff0000; - $a=$a^$t^(($t>> 8)&0x00ffffff); - $t=(($a<<17)^$a)&0xaaaa0000; - $a=$a^$t^(($t>>17)&0x00007fff); - - # now do $b - $t=(($b<<24)^$b)&0xff000000; - $b=$b^$t^(($t>>24)&0x000000ff); - $t=(($b<< 8)^$b)&0x00ff0000; - $b=$b^$t^(($t>> 8)&0x00ffffff); - $t=(($b<<14)^$b)&0x33330000; - $b=$b^$t^(($t>>14)&0x0003ffff); - $b=(($b&0x00aa00aa)<<7)|(($b&0x55005500)>>7)|($b&0xaa55aa55); - $b=(($b>>8)&0x00ffffff)|((($a&0xf0000000)>>4)&0x0fffffff); - $a&=0x0fffffff; - } - -sub doIP - { - local(*a,*b)=@_; - local($t); - - $t=(($b>> 4)^$a)&0x0f0f0f0f; - $b^=($t<< 4); $a^=$t; - $t=(($a>>16)^$b)&0x0000ffff; - $a^=($t<<16); $b^=$t; - $t=(($b>> 2)^$a)&0x33333333; - $b^=($t<< 2); $a^=$t; - $t=(($a>> 8)^$b)&0x00ff00ff; - $a^=($t<< 8); $b^=$t; - $t=(($b>> 1)^$a)&0x55555555; - $b^=($t<< 1); $a^=$t; - $t=$a; - $a=$b&0xffffffff; - $b=$t&0xffffffff; - } - -sub doFP - { - local(*a,*b)=@_; - local($t); - - $t=(($b>> 1)^$a)&0x55555555; - $b^=($t<< 1); $a^=$t; - $t=(($a>> 8)^$b)&0x00ff00ff; - $a^=($t<< 8); $b^=$t; - $t=(($b>> 2)^$a)&0x33333333; - $b^=($t<< 2); $a^=$t; - $t=(($a>>16)^$b)&0x0000ffff; - $a^=($t<<16); $b^=$t; - $t=(($b>> 4)^$a)&0x0f0f0f0f; - $b^=($t<< 4); $a^=$t; - $a&=0xffffffff; - $b&=0xffffffff; - } - -sub main'des_ecb_encrypt - { - local(*ks,$encrypt,$in)=@_; - local($l,$r,$i,$t,$u,@input); - - @input=unpack("C8",$in); - # Get the bytes in the order we want. - $l= ($input[0] )| - ($input[1]<< 8)| - ($input[2]<<16)| - ($input[3]<<24); - $r= ($input[4] )| - ($input[5]<< 8)| - ($input[6]<<16)| - ($input[7]<<24); - - $l&=0xffffffff; - $r&=0xffffffff; - &doIP(*l,*r); - if ($encrypt) - { - for ($i=0; $i<32; $i+=4) - { - $t=((($r&0x7fffffff)<<1)|(($r>>31)&0x00000001)); - $u=$t^$ks[$i ]; - $t=$t^$ks[$i+1]; - $t2=(($t&0x0000000f)<<28); - - $t=((($t>>4)&0x0fffffff)|(($t&0x0000000f)<<28)); - $l^= $SP1[ $t &0x3f]| - $SP3[($t>> 8)&0x3f]| - $SP5[($t>>16)&0x3f]| - $SP7[($t>>24)&0x3f]| - $SP0[ $u &0x3f]| - $SP2[($u>> 8)&0x3f]| - $SP4[($u>>16)&0x3f]| - $SP6[($u>>24)&0x3f]; - - $t=(($l<<1)|(($l>>31)&0x1))&0xffffffff; - $u=$t^$ks[$i+2]; - $t=$t^$ks[$i+3]; - $t=((($t>>4)&0x0fffffff)|($t<<28))&0xffffffff; - $r^= $SP1[ $t &0x3f]| - $SP3[($t>> 8)&0x3f]| - $SP5[($t>>16)&0x3f]| - $SP7[($t>>24)&0x3f]| - $SP0[ $u &0x3f]| - $SP2[($u>> 8)&0x3f]| - $SP4[($u>>16)&0x3f]| - $SP6[($u>>24)&0x3f]; - } - } - else - { - for ($i=30; $i>0; $i-=4) - { - $t=(($r<<1)|(($r>>31)&0x1))&0xffffffff; - $u=$t^$ks[$i ]; - $t=$t^$ks[$i+1]; - $t=((($t>>4)&0x0fffffff)|($t<<28))&0xffffffff; - $l^= $SP1[ $t &0x3f]| - $SP3[($t>> 8)&0x3f]| - $SP5[($t>>16)&0x3f]| - $SP7[($t>>24)&0x3f]| - $SP0[ $u &0x3f]| - $SP2[($u>> 8)&0x3f]| - $SP4[($u>>16)&0x3f]| - $SP6[($u>>24)&0x3f]; - - $t=(($l<<1)|(($l>>31)&0x1))&0xffffffff; - $u=$t^$ks[$i-2]; - $t=$t^$ks[$i-1]; - $t=((($t>>4)&0x0fffffff)|($t<<28))&0xffffffff; - $r^= $SP1[ $t &0x3f]| - $SP3[($t>> 8)&0x3f]| - $SP5[($t>>16)&0x3f]| - $SP7[($t>>24)&0x3f]| - $SP0[ $u &0x3f]| - $SP2[($u>> 8)&0x3f]| - $SP4[($u>>16)&0x3f]| - $SP6[($u>>24)&0x3f]; - } - } - &doFP(*l,*r); - pack("C8",$l&0xff, - ($l>> 8)&0x00ffffff, - ($l>>16)&0x0000ffff, - ($l>>24)&0x000000ff, - $r&0xff, - ($r>> 8)&0x00ffffff, - ($r>>16)&0x0000ffff, - ($r>>24)&0x000000ff); - } diff --git a/secure/lib/libdes/des_crypt.man b/secure/lib/libdes/des_crypt.man deleted file mode 100644 index 9feb447129eba..0000000000000 --- a/secure/lib/libdes/des_crypt.man +++ /dev/null @@ -1,508 +0,0 @@ -.TH DES_CRYPT 3 -.SH NAME -des_read_password, des_read_2password, -des_string_to_key, des_string_to_2key, des_read_pw_string, -des_random_key, des_set_key, -des_key_sched, des_ecb_encrypt, des_3ecb_encrypt, des_cbc_encrypt, -des_3cbc_encrypt, -des_pcbc_encrypt, des_cfb_encrypt, des_ofb_encrypt, -des_cbc_cksum, des_quad_cksum, -des_enc_read, des_enc_write, des_set_odd_parity, -des_is_weak_key, crypt \- (non USA) DES encryption -.SH SYNOPSIS -.nf -.nj -.ft B -#include <des.h> -.PP -.B int des_read_password(key,prompt,verify) -des_cblock *key; -char *prompt; -int verify; -.PP -.B int des_read_2password(key1,key2,prompt,verify) -des_cblock *key1,*key2; -char *prompt; -int verify; -.PP -.B int des_string_to_key(str,key) -char *str; -des_cblock *key; -.PP -.B int des_string_to_2keys(str,key1,key2) -char *str; -des_cblock *key1,*key2; -.PP -.B int des_read_pw_string(buf,length,prompt,verify) -char *buf; -int length; -char *prompt; -int verify; -.PP -.B int des_random_key(key) -des_cblock *key; -.PP -.B int des_set_key(key,schedule) -des_cblock *key; -des_key_schedule schedule; -.PP -.B int des_key_sched(key,schedule) -des_cblock *key; -des_key_schedule schedule; -.PP -.B int des_ecb_encrypt(input,output,schedule,encrypt) -des_cblock *input; -des_cblock *output; -des_key_schedule schedule; -int encrypt; -.PP -.B int des_3ecb_encrypt(input,output,ks1,ks2,encrypt) -des_cblock *input; -des_cblock *output; -des_key_schedule ks1,ks2; -int encrypt; -.PP -.B int des_cbc_encrypt(input,output,length,schedule,ivec,encrypt) -des_cblock *input; -des_cblock *output; -long length; -des_key_schedule schedule; -des_cblock *ivec; -int encrypt; -.PP -.B int des_3cbc_encrypt(input,output,length,sk1,sk2,ivec1,ivec2,encrypt) -des_cblock *input; -des_cblock *output; -long length; -des_key_schedule sk1; -des_key_schedule sk2; -des_cblock *ivec1; -des_cblock *ivec2; -int encrypt; -.PP -.B int des_pcbc_encrypt(input,output,length,schedule,ivec,encrypt) -des_cblock *input; -des_cblock *output; -long length; -des_key_schedule schedule; -des_cblock *ivec; -int encrypt; -.PP -.B int des_cfb_encrypt(input,output,numbits,length,schedule,ivec,encrypt) -unsigned char *input; -unsigned char *output; -int numbits; -long length; -des_key_schedule schedule; -des_cblock *ivec; -int encrypt; -.PP -.B int des_ofb_encrypt(input,output,numbits,length,schedule,ivec) -unsigned char *input,*output; -int numbits; -long length; -des_key_schedule schedule; -des_cblock *ivec; -.PP -.B unsigned long des_cbc_cksum(input,output,length,schedule,ivec) -des_cblock *input; -des_cblock *output; -long length; -des_key_schedule schedule; -des_cblock *ivec; -.PP -.B unsigned long des_quad_cksum(input,output,length,out_count,seed) -des_cblock *input; -des_cblock *output; -long length; -int out_count; -des_cblock *seed; -.PP -.B int des_check_key; -.PP -.B int des_enc_read(fd,buf,len,sched,iv) -int fd; -char *buf; -int len; -des_key_schedule sched; -des_cblock *iv; -.PP -.B int des_enc_write(fd,buf,len,sched,iv) -int fd; -char *buf; -int len; -des_key_schedule sched; -des_cblock *iv; -.PP -.B extern int des_rw_mode; -.PP -.B void des_set_odd_parity(key) -des_cblock *key; -.PP -.B int des_is_weak_key(key) -des_cblock *key; -.PP -.B char *crypt(passwd,salt) -char *passwd; -char *salt; -.PP -.fi -.SH DESCRIPTION -This library contains a fast implementation of the DES encryption -algorithm. -.PP -There are two phases to the use of DES encryption. -The first is the generation of a -.I des_key_schedule -from a key, -the second is the actual encryption. -A des key is of type -.I des_cblock. -This type is made from 8 characters with odd parity. -The least significant bit in the character is the parity bit. -The key schedule is an expanded form of the key; it is used to speed the -encryption process. -.PP -.I des_read_password -writes the string specified by prompt to the standard output, -turns off echo and reads an input string from standard input -until terminated with a newline. -If verify is non-zero, it prompts and reads the input again and verifies -that both entered passwords are the same. -The entered string is converted into a des key by using the -.I des_string_to_key -routine. -The new key is placed in the -.I des_cblock -that was passed (by reference) to the routine. -If there were no errors, -.I des_read_password -returns 0, --1 is returned if there was a terminal error and 1 is returned for -any other error. -.PP -.I des_read_2password -operates in the same way as -.I des_read_password -except that it generates 2 keys by using the -.I des_string_to_2key -function. -.PP -.I des_read_pw_string -is called by -.I des_read_password -to read and verify a string from a terminal device. -The string is returned in -.I buf. -The size of -.I buf -is passed to the routine via the -.I length -parameter. -.PP -.I des_string_to_key -converts a string into a valid des key. -.PP -.I des_string_to_2key -converts a string into 2 valid des keys. -This routine is best suited for used to generate keys for use with -.I des_3ecb_encrypt. -.PP -.I des_random_key -returns a random key that is made of a combination of process id, -time and an increasing counter. -.PP -Before a des key can be used it is converted into a -.I des_key_schedule -via the -.I des_set_key -routine. -If the -.I des_check_key -flag is non-zero, -.I des_set_key -will check that the key passed is of odd parity and is not a week or -semi-weak key. -If the parity is wrong, -then -1 is returned. -If the key is a weak key, -then -2 is returned. -If an error is returned, -the key schedule is not generated. -.PP -.I des_key_sched -is another name for the -.I des_set_key -function. -.PP -The following routines mostly operate on an input and output stream of -.I des_cblock's. -.PP -.I des_ecb_encrypt -is the basic DES encryption routine that encrypts or decrypts a single 8-byte -.I des_cblock -in -.I electronic code book -mode. -It always transforms the input data, pointed to by -.I input, -into the output data, -pointed to by the -.I output -argument. -If the -.I encrypt -argument is non-zero (DES_ENCRYPT), -the -.I input -(cleartext) is encrypted in to the -.I output -(ciphertext) using the key_schedule specified by the -.I schedule -argument, -previously set via -.I des_set_key. -If -.I encrypt -is zero (DES_DECRYPT), -the -.I input -(now ciphertext) -is decrypted into the -.I output -(now cleartext). -Input and output may overlap. -No meaningful value is returned. -.PP -.I des_3ecb_encrypt -encrypts/decrypts the -.I input -block by using triple ecb DES encryption. -This involves encrypting the input with -.I ks1, -decryption with the key schedule -.I ks2, -and then encryption with the first again. -This routine greatly reduces the chances of brute force breaking of -DES and has the advantage of if -.I ks1 -and -.I ks2 -are the same, it is equivalent to just encryption using ecb mode and -.I ks1 -as the key. -.PP -.I des_cbc_encrypt -encrypts/decrypts using the -.I cipher-block-chaining -mode of DES. -If the -.I encrypt -argument is non-zero, -the routine cipher-block-chain encrypts the cleartext data pointed to by the -.I input -argument into the ciphertext pointed to by the -.I output -argument, -using the key schedule provided by the -.I schedule -argument, -and initialisation vector provided by the -.I ivec -argument. -If the -.I length -argument is not an integral multiple of eight bytes, -the last block is copied to a temporary area and zero filled. -The output is always -an integral multiple of eight bytes. -To make multiple cbc encrypt calls on a large amount of data appear to -be one -.I des_cbc_encrypt -call, the -.I ivec -of subsequent calls should be the last 8 bytes of the output. -.PP -.I des_3cbc_encrypt -encrypts/decrypts the -.I input -block by using triple cbc DES encryption. -This involves encrypting the input with key schedule -.I ks1, -decryption with the key schedule -.I ks2, -and then encryption with the first again. -2 initialisation vectors are required, -.I ivec1 -and -.I ivec2. -Unlike -.I des_cbc_encrypt, -these initialisation vectors are modified by the subroutine. -This routine greatly reduces the chances of brute force breaking of -DES and has the advantage of if -.I ks1 -and -.I ks2 -are the same, it is equivalent to just encryption using cbc mode and -.I ks1 -as the key. -.PP -.I des_pcbc_encrypt -encrypt/decrypts using a modified block chaining mode. -It provides better error propagation characteristics than cbc -encryption. -.PP -.I des_cfb_encrypt -encrypt/decrypts using cipher feedback mode. This method takes an -array of characters as input and outputs and array of characters. It -does not require any padding to 8 character groups. Note: the ivec -variable is changed and the new changed value needs to be passed to -the next call to this function. Since this function runs a complete -DES ecb encryption per numbits, this function is only suggested for -use when sending small numbers of characters. -.PP -.I des_ofb_encrypt -encrypt using output feedback mode. This method takes an -array of characters as input and outputs and array of characters. It -does not require any padding to 8 character groups. Note: the ivec -variable is changed and the new changed value needs to be passed to -the next call to this function. Since this function runs a complete -DES ecb encryption per numbits, this function is only suggested for -use when sending small numbers of characters. -.PP -.I des_cbc_cksum -produces an 8 byte checksum based on the input stream (via cbc encryption). -The last 4 bytes of the checksum is returned and the complete 8 bytes is -placed in -.I output. -.PP -.I des_quad_cksum -returns a 4 byte checksum from the input bytes. -The algorithm can be iterated over the input, -depending on -.I out_count, -1, 2, 3 or 4 times. -If -.I output -is non-NULL, -the 8 bytes generated by each pass are written into -.I output. -.PP -.I des_enc_write -is used to write -.I len -bytes -to file descriptor -.I fd -from buffer -.I buf. -The data is encrypted via -.I pcbc_encrypt -(default) using -.I sched -for the key and -.I iv -as a starting vector. -The actual data send down -.I fd -consists of 4 bytes (in network byte order) containing the length of the -following encrypted data. The encrypted data then follows, padded with random -data out to a multiple of 8 bytes. -.PP -.I des_enc_read -is used to read -.I len -bytes -from file descriptor -.I fd -into buffer -.I buf. -The data being read from -.I fd -is assumed to have come from -.I des_enc_write -and is decrypted using -.I sched -for the key schedule and -.I iv -for the initial vector. -The -.I des_enc_read/des_enc_write -pair can be used to read/write to files, pipes and sockets. -I have used them in implementing a version of rlogin in which all -data is encrypted. -.PP -.I des_rw_mode -is used to specify the encryption mode to use with -.I des_enc_read -and -.I des_end_write. -If set to -.I DES_PCBC_MODE -(the default), des_pcbc_encrypt is used. -If set to -.I DES_CBC_MODE -des_cbc_encrypt is used. -These two routines and the variable are not part of the normal MIT library. -.PP -.I des_set_odd_parity -sets the parity of the passed -.I key -to odd. This routine is not part of the standard MIT library. -.PP -.I des_is_weak_key -returns 1 is the passed key is a weak key (pick again :-), -0 if it is ok. -This routine is not part of the standard MIT library. -.PP -.I crypt -is a replacement for the normal system crypt. -It is much faster than the system crypt. -.PP -.SH FILES -/usr/include/des.h -.br -/usr/lib/libdes.a -.PP -The encryption routines have been tested on 16bit, 32bit and 64bit -machines of various endian and even works under VMS. -.PP -.SH BUGS -.PP -If you think this manual is sparse, -read the des_crypt(3) manual from the MIT kerberos (or bones outside -of the USA) distribution. -.PP -.I des_cfb_encrypt -and -.I des_ofb_encrypt -operates on input of 8 bits. What this means is that if you set -numbits to 12, and length to 2, the first 12 bits will come from the 1st -input byte and the low half of the second input byte. The second 12 -bits will have the low 8 bits taken from the 3rd input byte and the -top 4 bits taken from the 4th input byte. The same holds for output. -This function has been implemented this way because most people will -be using a multiple of 8 and because once you get into pulling bytes input -bytes apart things get ugly! -.PP -.I des_read_pw_string -is the most machine/OS dependent function and normally generates the -most problems when porting this code. -.PP -.I des_string_to_key -is probably different from the MIT version since there are lots -of fun ways to implement one-way encryption of a text string. -.PP -The routines are optimised for 32 bit machines and so are not efficient -on IBM PCs. -.PP -NOTE: extensive work has been done on this library since this document -was origionally written. Please try to read des.doc from the libdes -distribution since it is far more upto date and documents more of the -functions. Libdes is now also being shipped as part of SSLeay, a -general cryptographic library that amonst other things implements -netscapes SSL protocoll. The most recent version can be found in -SSLeay distributions. -.SH AUTHOR -Eric Young (eay@mincom.oz.au or eay@psych.psy.uq.oz.au) diff --git a/secure/lib/libdes/des_locl.h b/secure/lib/libdes/des_locl.h deleted file mode 100644 index 87a2b4a1f0815..0000000000000 --- a/secure/lib/libdes/des_locl.h +++ /dev/null @@ -1,299 +0,0 @@ -/* lib/des/des_locl.h */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - * - * Always modify des_locl.org since des_locl.h is automatically generated from - * it during SSLeay configuration. - * - * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - */ - -#ifndef HEADER_DES_LOCL_H -#define HEADER_DES_LOCL_H - -#if defined(WIN32) || defined(WIN16) -#ifndef MSDOS -#define MSDOS -#endif -#endif - -#include <stdio.h> -#include <stdlib.h> -#ifndef MSDOS -#include <unistd.h> -#endif -#include "des.h" - -/* the following is tweaked from a config script, that is why it is a - * protected undef/define */ -#ifndef DES_PTR -#undef DES_PTR -#endif - -#ifdef MSDOS /* Visual C++ 2.1 (Windows NT/95) */ -#include <stdlib.h> -#include <errno.h> -#include <time.h> -#include <io.h> -#ifndef RAND -#define RAND -#endif -#undef NOPROTO -#endif - -#if defined(__STDC__) || defined(VMS) || defined(M_XENIX) || defined(MSDOS) -#include <string.h> -#endif - -#ifndef RAND -#define RAND -#endif - -#ifdef linux -#undef RAND -#endif - -#ifdef MSDOS -#define getpid() 2 -#define RAND -#undef NOPROTO -#endif - -#if defined(NOCONST) -#define const -#endif - -#ifdef __STDC__ -#undef NOPROTO -#endif - -#ifdef RAND -#define srandom(s) srand(s) -#define random rand -#endif - -#define ITERATIONS 16 -#define HALF_ITERATIONS 8 - -/* used in des_read and des_write */ -#define MAXWRITE (1024*16) -#define BSIZE (MAXWRITE+4) - -#define c2l(c,l) (l =((DES_LONG)(*((c)++))) , \ - l|=((DES_LONG)(*((c)++)))<< 8L, \ - l|=((DES_LONG)(*((c)++)))<<16L, \ - l|=((DES_LONG)(*((c)++)))<<24L) - -/* NOTE - c is not incremented as per c2l */ -#define c2ln(c,l1,l2,n) { \ - c+=n; \ - l1=l2=0; \ - switch (n) { \ - case 8: l2 =((DES_LONG)(*(--(c))))<<24L; \ - case 7: l2|=((DES_LONG)(*(--(c))))<<16L; \ - case 6: l2|=((DES_LONG)(*(--(c))))<< 8L; \ - case 5: l2|=((DES_LONG)(*(--(c)))); \ - case 4: l1 =((DES_LONG)(*(--(c))))<<24L; \ - case 3: l1|=((DES_LONG)(*(--(c))))<<16L; \ - case 2: l1|=((DES_LONG)(*(--(c))))<< 8L; \ - case 1: l1|=((DES_LONG)(*(--(c)))); \ - } \ - } - -#define l2c(l,c) (*((c)++)=(unsigned char)(((l) )&0xff), \ - *((c)++)=(unsigned char)(((l)>> 8L)&0xff), \ - *((c)++)=(unsigned char)(((l)>>16L)&0xff), \ - *((c)++)=(unsigned char)(((l)>>24L)&0xff)) - -/* replacements for htonl and ntohl since I have no idea what to do - * when faced with machines with 8 byte longs. */ -#define HDRSIZE 4 - -#define n2l(c,l) (l =((DES_LONG)(*((c)++)))<<24L, \ - l|=((DES_LONG)(*((c)++)))<<16L, \ - l|=((DES_LONG)(*((c)++)))<< 8L, \ - l|=((DES_LONG)(*((c)++)))) - -#define l2n(l,c) (*((c)++)=(unsigned char)(((l)>>24L)&0xff), \ - *((c)++)=(unsigned char)(((l)>>16L)&0xff), \ - *((c)++)=(unsigned char)(((l)>> 8L)&0xff), \ - *((c)++)=(unsigned char)(((l) )&0xff)) - -/* NOTE - c is not incremented as per l2c */ -#define l2cn(l1,l2,c,n) { \ - c+=n; \ - switch (n) { \ - case 8: *(--(c))=(unsigned char)(((l2)>>24L)&0xff); \ - case 7: *(--(c))=(unsigned char)(((l2)>>16L)&0xff); \ - case 6: *(--(c))=(unsigned char)(((l2)>> 8L)&0xff); \ - case 5: *(--(c))=(unsigned char)(((l2) )&0xff); \ - case 4: *(--(c))=(unsigned char)(((l1)>>24L)&0xff); \ - case 3: *(--(c))=(unsigned char)(((l1)>>16L)&0xff); \ - case 2: *(--(c))=(unsigned char)(((l1)>> 8L)&0xff); \ - case 1: *(--(c))=(unsigned char)(((l1) )&0xff); \ - } \ - } - -#if defined(WIN32) -#define ROTATE(a,n) (_lrotr(a,n)) -#else -#define ROTATE(a,n) (((a)>>(n))+((a)<<(32-(n)))) -#endif - -/* The changes to this macro may help or hinder, depending on the - * compiler and the achitecture. gcc2 always seems to do well :-). - * Inspired by Dana How <how@isl.stanford.edu> - * DO NOT use the alternative version on machines with 8 byte longs. - * It does not seem to work on the Alpha, even when DES_LONG is 4 - * bytes, probably an issue of accessing non-word aligned objects :-( */ -#ifdef DES_PTR - -#define D_ENCRYPT(L,R,S) { \ - u=((R^s[S ])<<2); \ - t= R^s[S+1]; \ - t=ROTATE(t,2); \ - L^= (\ - *(DES_LONG *)((unsigned char *)des_SP+0x100+((t )&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x300+((t>> 8)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x500+((t>>16)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x700+((t>>24)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP +((u )&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x200+((u>> 8)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x400+((u>>16)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x600+((u>>24)&0xfc))); } -#else /* original version */ -#ifdef undef -#define D_ENCRYPT(L,R,S) \ - U.l=R^s[S+1]; \ - T.s[0]=((U.s[0]>>4)|(U.s[1]<<12))&0x3f3f; \ - T.s[1]=((U.s[1]>>4)|(U.s[0]<<12))&0x3f3f; \ - U.l=(R^s[S ])&0x3f3f3f3fL; \ - L^= des_SPtrans[1][(T.c[0])]| \ - des_SPtrans[3][(T.c[1])]| \ - des_SPtrans[5][(T.c[2])]| \ - des_SPtrans[7][(T.c[3])]| \ - des_SPtrans[0][(U.c[0])]| \ - des_SPtrans[2][(U.c[1])]| \ - des_SPtrans[4][(U.c[2])]| \ - des_SPtrans[6][(U.c[3])]; -#else -#define D_ENCRYPT(Q,R,S) {\ - u=(R^s[S ]); \ - t=R^s[S+1]; \ - t=ROTATE(t,4); \ - Q^= des_SPtrans[1][(t )&0x3f]| \ - des_SPtrans[3][(t>> 8L)&0x3f]| \ - des_SPtrans[5][(t>>16L)&0x3f]| \ - des_SPtrans[7][(t>>24L)&0x3f]| \ - des_SPtrans[0][(u )&0x3f]| \ - des_SPtrans[2][(u>> 8L)&0x3f]| \ - des_SPtrans[4][(u>>16L)&0x3f]| \ - des_SPtrans[6][(u>>24L)&0x3f]; } -#endif -#endif - - /* IP and FP - * The problem is more of a geometric problem that random bit fiddling. - 0 1 2 3 4 5 6 7 62 54 46 38 30 22 14 6 - 8 9 10 11 12 13 14 15 60 52 44 36 28 20 12 4 - 16 17 18 19 20 21 22 23 58 50 42 34 26 18 10 2 - 24 25 26 27 28 29 30 31 to 56 48 40 32 24 16 8 0 - - 32 33 34 35 36 37 38 39 63 55 47 39 31 23 15 7 - 40 41 42 43 44 45 46 47 61 53 45 37 29 21 13 5 - 48 49 50 51 52 53 54 55 59 51 43 35 27 19 11 3 - 56 57 58 59 60 61 62 63 57 49 41 33 25 17 9 1 - - The output has been subject to swaps of the form - 0 1 -> 3 1 but the odd and even bits have been put into - 2 3 2 0 - different words. The main trick is to remember that - t=((l>>size)^r)&(mask); - r^=t; - l^=(t<<size); - can be used to swap and move bits between words. - - So l = 0 1 2 3 r = 16 17 18 19 - 4 5 6 7 20 21 22 23 - 8 9 10 11 24 25 26 27 - 12 13 14 15 28 29 30 31 - becomes (for size == 2 and mask == 0x3333) - t = 2^16 3^17 -- -- l = 0 1 16 17 r = 2 3 18 19 - 6^20 7^21 -- -- 4 5 20 21 6 7 22 23 - 10^24 11^25 -- -- 8 9 24 25 10 11 24 25 - 14^28 15^29 -- -- 12 13 28 29 14 15 28 29 - - Thanks for hints from Richard Outerbridge - he told me IP&FP - could be done in 15 xor, 10 shifts and 5 ands. - When I finally started to think of the problem in 2D - I first got ~42 operations without xors. When I remembered - how to use xors :-) I got it to its final state. - */ -#define PERM_OP(a,b,t,n,m) ((t)=((((a)>>(n))^(b))&(m)),\ - (b)^=(t),\ - (a)^=((t)<<(n))) - -#define IP(l,r) \ - { \ - register DES_LONG tt; \ - PERM_OP(r,l,tt, 4,0x0f0f0f0fL); \ - PERM_OP(l,r,tt,16,0x0000ffffL); \ - PERM_OP(r,l,tt, 2,0x33333333L); \ - PERM_OP(l,r,tt, 8,0x00ff00ffL); \ - PERM_OP(r,l,tt, 1,0x55555555L); \ - } - -#define FP(l,r) \ - { \ - register DES_LONG tt; \ - PERM_OP(l,r,tt, 1,0x55555555L); \ - PERM_OP(r,l,tt, 8,0x00ff00ffL); \ - PERM_OP(l,r,tt, 2,0x33333333L); \ - PERM_OP(r,l,tt,16,0x0000ffffL); \ - PERM_OP(l,r,tt, 4,0x0f0f0f0fL); \ - } -#endif diff --git a/secure/lib/libdes/des_ver.h b/secure/lib/libdes/des_ver.h deleted file mode 100644 index b895af89edac3..0000000000000 --- a/secure/lib/libdes/des_ver.h +++ /dev/null @@ -1,49 +0,0 @@ -/* crypto/des/des_ver.h */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -extern char *DES_version; /* SSLeay version string */ -extern char *libdes_version; /* old libdes version string */ diff --git a/secure/lib/libdes/destest.c b/secure/lib/libdes/destest.c deleted file mode 100644 index b3cc23e5a51cf..0000000000000 --- a/secure/lib/libdes/destest.c +++ /dev/null @@ -1,834 +0,0 @@ -/* crypto/des/destest.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#if defined(WIN32) || defined(WIN16) || defined(WINDOWS) -#ifndef MSDOS -#define MSDOS -#endif -#endif - -#include <stdio.h> -#include <stdlib.h> -#ifndef MSDOS -#include <unistd.h> -#else -#include <io.h> -#endif -#include <string.h> -#include "des.h" - -/* tisk tisk - the test keys don't all have odd parity :-( */ -/* test data */ -#define NUM_TESTS 34 -static unsigned char key_data[NUM_TESTS][8]={ - {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, - {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, - {0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, - {0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11}, - {0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF}, - {0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11}, - {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, - {0xFE,0xDC,0xBA,0x98,0x76,0x54,0x32,0x10}, - {0x7C,0xA1,0x10,0x45,0x4A,0x1A,0x6E,0x57}, - {0x01,0x31,0xD9,0x61,0x9D,0xC1,0x37,0x6E}, - {0x07,0xA1,0x13,0x3E,0x4A,0x0B,0x26,0x86}, - {0x38,0x49,0x67,0x4C,0x26,0x02,0x31,0x9E}, - {0x04,0xB9,0x15,0xBA,0x43,0xFE,0xB5,0xB6}, - {0x01,0x13,0xB9,0x70,0xFD,0x34,0xF2,0xCE}, - {0x01,0x70,0xF1,0x75,0x46,0x8F,0xB5,0xE6}, - {0x43,0x29,0x7F,0xAD,0x38,0xE3,0x73,0xFE}, - {0x07,0xA7,0x13,0x70,0x45,0xDA,0x2A,0x16}, - {0x04,0x68,0x91,0x04,0xC2,0xFD,0x3B,0x2F}, - {0x37,0xD0,0x6B,0xB5,0x16,0xCB,0x75,0x46}, - {0x1F,0x08,0x26,0x0D,0x1A,0xC2,0x46,0x5E}, - {0x58,0x40,0x23,0x64,0x1A,0xBA,0x61,0x76}, - {0x02,0x58,0x16,0x16,0x46,0x29,0xB0,0x07}, - {0x49,0x79,0x3E,0xBC,0x79,0xB3,0x25,0x8F}, - {0x4F,0xB0,0x5E,0x15,0x15,0xAB,0x73,0xA7}, - {0x49,0xE9,0x5D,0x6D,0x4C,0xA2,0x29,0xBF}, - {0x01,0x83,0x10,0xDC,0x40,0x9B,0x26,0xD6}, - {0x1C,0x58,0x7F,0x1C,0x13,0x92,0x4F,0xEF}, - {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01}, - {0x1F,0x1F,0x1F,0x1F,0x0E,0x0E,0x0E,0x0E}, - {0xE0,0xFE,0xE0,0xFE,0xF1,0xFE,0xF1,0xFE}, - {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, - {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, - {0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF}, - {0xFE,0xDC,0xBA,0x98,0x76,0x54,0x32,0x10}}; - -static unsigned char plain_data[NUM_TESTS][8]={ - {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, - {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, - {0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x01}, - {0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11}, - {0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11}, - {0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF}, - {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, - {0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF}, - {0x01,0xA1,0xD6,0xD0,0x39,0x77,0x67,0x42}, - {0x5C,0xD5,0x4C,0xA8,0x3D,0xEF,0x57,0xDA}, - {0x02,0x48,0xD4,0x38,0x06,0xF6,0x71,0x72}, - {0x51,0x45,0x4B,0x58,0x2D,0xDF,0x44,0x0A}, - {0x42,0xFD,0x44,0x30,0x59,0x57,0x7F,0xA2}, - {0x05,0x9B,0x5E,0x08,0x51,0xCF,0x14,0x3A}, - {0x07,0x56,0xD8,0xE0,0x77,0x47,0x61,0xD2}, - {0x76,0x25,0x14,0xB8,0x29,0xBF,0x48,0x6A}, - {0x3B,0xDD,0x11,0x90,0x49,0x37,0x28,0x02}, - {0x26,0x95,0x5F,0x68,0x35,0xAF,0x60,0x9A}, - {0x16,0x4D,0x5E,0x40,0x4F,0x27,0x52,0x32}, - {0x6B,0x05,0x6E,0x18,0x75,0x9F,0x5C,0xCA}, - {0x00,0x4B,0xD6,0xEF,0x09,0x17,0x60,0x62}, - {0x48,0x0D,0x39,0x00,0x6E,0xE7,0x62,0xF2}, - {0x43,0x75,0x40,0xC8,0x69,0x8F,0x3C,0xFA}, - {0x07,0x2D,0x43,0xA0,0x77,0x07,0x52,0x92}, - {0x02,0xFE,0x55,0x77,0x81,0x17,0xF1,0x2A}, - {0x1D,0x9D,0x5C,0x50,0x18,0xF7,0x28,0xC2}, - {0x30,0x55,0x32,0x28,0x6D,0x6F,0x29,0x5A}, - {0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF}, - {0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF}, - {0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF}, - {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, - {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, - {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, - {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}}; - -static unsigned char cipher_data[NUM_TESTS][8]={ - {0x8C,0xA6,0x4D,0xE9,0xC1,0xB1,0x23,0xA7}, - {0x73,0x59,0xB2,0x16,0x3E,0x4E,0xDC,0x58}, - {0x95,0x8E,0x6E,0x62,0x7A,0x05,0x55,0x7B}, - {0xF4,0x03,0x79,0xAB,0x9E,0x0E,0xC5,0x33}, - {0x17,0x66,0x8D,0xFC,0x72,0x92,0x53,0x2D}, - {0x8A,0x5A,0xE1,0xF8,0x1A,0xB8,0xF2,0xDD}, - {0x8C,0xA6,0x4D,0xE9,0xC1,0xB1,0x23,0xA7}, - {0xED,0x39,0xD9,0x50,0xFA,0x74,0xBC,0xC4}, - {0x69,0x0F,0x5B,0x0D,0x9A,0x26,0x93,0x9B}, - {0x7A,0x38,0x9D,0x10,0x35,0x4B,0xD2,0x71}, - {0x86,0x8E,0xBB,0x51,0xCA,0xB4,0x59,0x9A}, - {0x71,0x78,0x87,0x6E,0x01,0xF1,0x9B,0x2A}, - {0xAF,0x37,0xFB,0x42,0x1F,0x8C,0x40,0x95}, - {0x86,0xA5,0x60,0xF1,0x0E,0xC6,0xD8,0x5B}, - {0x0C,0xD3,0xDA,0x02,0x00,0x21,0xDC,0x09}, - {0xEA,0x67,0x6B,0x2C,0xB7,0xDB,0x2B,0x7A}, - {0xDF,0xD6,0x4A,0x81,0x5C,0xAF,0x1A,0x0F}, - {0x5C,0x51,0x3C,0x9C,0x48,0x86,0xC0,0x88}, - {0x0A,0x2A,0xEE,0xAE,0x3F,0xF4,0xAB,0x77}, - {0xEF,0x1B,0xF0,0x3E,0x5D,0xFA,0x57,0x5A}, - {0x88,0xBF,0x0D,0xB6,0xD7,0x0D,0xEE,0x56}, - {0xA1,0xF9,0x91,0x55,0x41,0x02,0x0B,0x56}, - {0x6F,0xBF,0x1C,0xAF,0xCF,0xFD,0x05,0x56}, - {0x2F,0x22,0xE4,0x9B,0xAB,0x7C,0xA1,0xAC}, - {0x5A,0x6B,0x61,0x2C,0xC2,0x6C,0xCE,0x4A}, - {0x5F,0x4C,0x03,0x8E,0xD1,0x2B,0x2E,0x41}, - {0x63,0xFA,0xC0,0xD0,0x34,0xD9,0xF7,0x93}, - {0x61,0x7B,0x3A,0x0C,0xE8,0xF0,0x71,0x00}, - {0xDB,0x95,0x86,0x05,0xF8,0xC8,0xC6,0x06}, - {0xED,0xBF,0xD1,0xC6,0x6C,0x29,0xCC,0xC7}, - {0x35,0x55,0x50,0xB2,0x15,0x0E,0x24,0x51}, - {0xCA,0xAA,0xAF,0x4D,0xEA,0xF1,0xDB,0xAE}, - {0xD5,0xD4,0x4F,0xF7,0x20,0x68,0x3D,0x0D}, - {0x2A,0x2B,0xB0,0x08,0xDF,0x97,0xC2,0xF2}}; - -static unsigned char cipher_ecb2[NUM_TESTS-1][8]={ - {0x92,0x95,0xB5,0x9B,0xB3,0x84,0x73,0x6E}, - {0x19,0x9E,0x9D,0x6D,0xF3,0x9A,0xA8,0x16}, - {0x2A,0x4B,0x4D,0x24,0x52,0x43,0x84,0x27}, - {0x35,0x84,0x3C,0x01,0x9D,0x18,0xC5,0xB6}, - {0x4A,0x5B,0x2F,0x42,0xAA,0x77,0x19,0x25}, - {0xA0,0x6B,0xA9,0xB8,0xCA,0x5B,0x17,0x8A}, - {0xAB,0x9D,0xB7,0xFB,0xED,0x95,0xF2,0x74}, - {0x3D,0x25,0x6C,0x23,0xA7,0x25,0x2F,0xD6}, - {0xB7,0x6F,0xAB,0x4F,0xBD,0xBD,0xB7,0x67}, - {0x8F,0x68,0x27,0xD6,0x9C,0xF4,0x1A,0x10}, - {0x82,0x57,0xA1,0xD6,0x50,0x5E,0x81,0x85}, - {0xA2,0x0F,0x0A,0xCD,0x80,0x89,0x7D,0xFA}, - {0xCD,0x2A,0x53,0x3A,0xDB,0x0D,0x7E,0xF3}, - {0xD2,0xC2,0xBE,0x27,0xE8,0x1B,0x68,0xE3}, - {0xE9,0x24,0xCF,0x4F,0x89,0x3C,0x5B,0x0A}, - {0xA7,0x18,0xC3,0x9F,0xFA,0x9F,0xD7,0x69}, - {0x77,0x2C,0x79,0xB1,0xD2,0x31,0x7E,0xB1}, - {0x49,0xAB,0x92,0x7F,0xD0,0x22,0x00,0xB7}, - {0xCE,0x1C,0x6C,0x7D,0x85,0xE3,0x4A,0x6F}, - {0xBE,0x91,0xD6,0xE1,0x27,0xB2,0xE9,0x87}, - {0x70,0x28,0xAE,0x8F,0xD1,0xF5,0x74,0x1A}, - {0xAA,0x37,0x80,0xBB,0xF3,0x22,0x1D,0xDE}, - {0xA6,0xC4,0xD2,0x5E,0x28,0x93,0xAC,0xB3}, - {0x22,0x07,0x81,0x5A,0xE4,0xB7,0x1A,0xAD}, - {0xDC,0xCE,0x05,0xE7,0x07,0xBD,0xF5,0x84}, - {0x26,0x1D,0x39,0x2C,0xB3,0xBA,0xA5,0x85}, - {0xB4,0xF7,0x0F,0x72,0xFB,0x04,0xF0,0xDC}, - {0x95,0xBA,0xA9,0x4E,0x87,0x36,0xF2,0x89}, - {0xD4,0x07,0x3A,0xF1,0x5A,0x17,0x82,0x0E}, - {0xEF,0x6F,0xAF,0xA7,0x66,0x1A,0x7E,0x89}, - {0xC1,0x97,0xF5,0x58,0x74,0x8A,0x20,0xE7}, - {0x43,0x34,0xCF,0xDA,0x22,0xC4,0x86,0xC8}, - {0x08,0xD7,0xB4,0xFB,0x62,0x9D,0x08,0x85}}; - -static unsigned char cbc_key [8]={0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef}; -static unsigned char cbc2_key[8]={0xf0,0xe1,0xd2,0xc3,0xb4,0xa5,0x96,0x87}; -static unsigned char cbc3_key[8]={0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10}; -static unsigned char cbc_iv [8]={0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10}; -static char cbc_data[40]="7654321 Now is the time for "; - -static unsigned char cbc_ok[32]={ - 0xcc,0xd1,0x73,0xff,0xab,0x20,0x39,0xf4, - 0xac,0xd8,0xae,0xfd,0xdf,0xd8,0xa1,0xeb, - 0x46,0x8e,0x91,0x15,0x78,0x88,0xba,0x68, - 0x1d,0x26,0x93,0x97,0xf7,0xfe,0x62,0xb4}; - -static unsigned char xcbc_ok[32]={ - 0x86,0x74,0x81,0x0D,0x61,0xA4,0xA5,0x48, - 0xB9,0x93,0x03,0xE1,0xB8,0xBB,0xBD,0xBD, - 0x64,0x30,0x0B,0xB9,0x06,0x65,0x81,0x76, - 0x04,0x1D,0x77,0x62,0x17,0xCA,0x2B,0xD2, - }; - -static unsigned char cbc3_ok[32]={ - 0x3F,0xE3,0x01,0xC9,0x62,0xAC,0x01,0xD0, - 0x22,0x13,0x76,0x3C,0x1C,0xBD,0x4C,0xDC, - 0x79,0x96,0x57,0xC0,0x64,0xEC,0xF5,0xD4, - 0x1C,0x67,0x38,0x12,0xCF,0xDE,0x96,0x75}; - -static unsigned char pcbc_ok[32]={ - 0xcc,0xd1,0x73,0xff,0xab,0x20,0x39,0xf4, - 0x6d,0xec,0xb4,0x70,0xa0,0xe5,0x6b,0x15, - 0xae,0xa6,0xbf,0x61,0xed,0x7d,0x9c,0x9f, - 0xf7,0x17,0x46,0x3b,0x8a,0xb3,0xcc,0x88}; - -static unsigned char cfb_key[8]={0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef}; -static unsigned char cfb_iv[8]={0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef}; -static unsigned char cfb_buf1[40],cfb_buf2[40],cfb_tmp[8]; -static unsigned char plain[24]= - { - 0x4e,0x6f,0x77,0x20,0x69,0x73, - 0x20,0x74,0x68,0x65,0x20,0x74, - 0x69,0x6d,0x65,0x20,0x66,0x6f, - 0x72,0x20,0x61,0x6c,0x6c,0x20 - }; -static unsigned char cfb_cipher8[24]= { - 0xf3,0x1f,0xda,0x07,0x01,0x14, 0x62,0xee,0x18,0x7f,0x43,0xd8, - 0x0a,0x7c,0xd9,0xb5,0xb0,0xd2, 0x90,0xda,0x6e,0x5b,0x9a,0x87 }; -static unsigned char cfb_cipher16[24]={ - 0xF3,0x09,0x87,0x87,0x7F,0x57, 0xF7,0x3C,0x36,0xB6,0xDB,0x70, - 0xD8,0xD5,0x34,0x19,0xD3,0x86, 0xB2,0x23,0xB7,0xB2,0xAD,0x1B }; -static unsigned char cfb_cipher32[24]={ - 0xF3,0x09,0x62,0x49,0xA4,0xDF, 0xA4,0x9F,0x33,0xDC,0x7B,0xAD, - 0x4C,0xC8,0x9F,0x64,0xE4,0x53, 0xE5,0xEC,0x67,0x20,0xDA,0xB6 }; -static unsigned char cfb_cipher48[24]={ - 0xF3,0x09,0x62,0x49,0xC7,0xF4, 0x30,0xB5,0x15,0xEC,0xBB,0x85, - 0x97,0x5A,0x13,0x8C,0x68,0x60, 0xE2,0x38,0x34,0x3C,0xDC,0x1F }; -static unsigned char cfb_cipher64[24]={ - 0xF3,0x09,0x62,0x49,0xC7,0xF4, 0x6E,0x51,0xA6,0x9E,0x83,0x9B, - 0x1A,0x92,0xF7,0x84,0x03,0x46, 0x71,0x33,0x89,0x8E,0xA6,0x22 }; - -static unsigned char ofb_key[8]={0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef}; -static unsigned char ofb_iv[8]={0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef}; -static unsigned char ofb_buf1[24],ofb_buf2[24],ofb_tmp[8]; -static unsigned char ofb_cipher[24]= - { - 0xf3,0x09,0x62,0x49,0xc7,0xf4,0x6e,0x51, - 0x35,0xf2,0x4a,0x24,0x2e,0xeb,0x3d,0x3f, - 0x3d,0x6d,0x5b,0xe3,0x25,0x5a,0xf8,0xc3 - }; - -DES_LONG cbc_cksum_ret=0xB462FEF7L; -unsigned char cbc_cksum_data[8]={0x1D,0x26,0x93,0x97,0xf7,0xfe,0x62,0xb4}; - -#ifndef NOPROTO -static char *pt(unsigned char *p); -static int cfb_test(int bits, unsigned char *cfb_cipher); -static int cfb64_test(unsigned char *cfb_cipher); -static int ede_cfb64_test(unsigned char *cfb_cipher); -#else -static char *pt(); -static int cfb_test(); -static int cfb64_test(); -static int ede_cfb64_test(); -#endif - -int main(argc,argv) -int argc; -char *argv[]; - { - int i,j,err=0; - des_cblock in,out,outin,iv3; - des_key_schedule ks,ks2,ks3; - unsigned char cbc_in[40]; - unsigned char cbc_out[40]; - DES_LONG cs; - unsigned char qret[4][4],cret[8]; - DES_LONG lqret[4]; - int num; - char *str; - - printf("Doing ecb\n"); - for (i=0; i<NUM_TESTS; i++) - { - if ((j=des_key_sched((C_Block *)(key_data[i]),ks)) != 0) - { - printf("Key error %2d:%d\n",i+1,j); - err=1; - } - memcpy(in,plain_data[i],8); - memset(out,0,8); - memset(outin,0,8); - des_ecb_encrypt((C_Block *)in,(C_Block *)out,ks,DES_ENCRYPT); - des_ecb_encrypt((C_Block *)out,(C_Block *)outin,ks,DES_DECRYPT); - - if (memcmp(out,cipher_data[i],8) != 0) - { - printf("Encryption error %2d\nk=%s p=%s o=%s act=%s\n", - i+1,pt(key_data[i]),pt(in),pt(cipher_data[i]), - pt(out)); - err=1; - } - if (memcmp(in,outin,8) != 0) - { - printf("Decryption error %2d\nk=%s p=%s o=%s act=%s\n", - i+1,pt(key_data[i]),pt(out),pt(in),pt(outin)); - err=1; - } - } - - printf("Doing ede ecb\n"); - for (i=0; i<(NUM_TESTS-1); i++) - { - if ((j=des_key_sched((C_Block *)(key_data[i]),ks)) != 0) - { - err=1; - printf("Key error %2d:%d\n",i+1,j); - } - if ((j=des_key_sched((C_Block *)(key_data[i+1]),ks2)) != 0) - { - printf("Key error %2d:%d\n",i+2,j); - err=1; - } - if ((j=des_key_sched((C_Block *)(key_data[i+2]),ks3)) != 0) - { - printf("Key error %2d:%d\n",i+3,j); - err=1; - } - memcpy(in,plain_data[i],8); - memset(out,0,8); - memset(outin,0,8); - des_ecb2_encrypt((C_Block *)in,(C_Block *)out,ks,ks2, - DES_ENCRYPT); - des_ecb2_encrypt((C_Block *)out,(C_Block *)outin,ks,ks2, - DES_DECRYPT); - - if (memcmp(out,cipher_ecb2[i],8) != 0) - { - printf("Encryption error %2d\nk=%s p=%s o=%s act=%s\n", - i+1,pt(key_data[i]),pt(in),pt(cipher_ecb2[i]), - pt(out)); - err=1; - } - if (memcmp(in,outin,8) != 0) - { - printf("Decryption error %2d\nk=%s p=%s o=%s act=%s\n", - i+1,pt(key_data[i]),pt(out),pt(in),pt(outin)); - err=1; - } - } - - printf("Doing cbc\n"); - if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0) - { - printf("Key error %d\n",j); - err=1; - } - memset(cbc_out,0,40); - memset(cbc_in,0,40); - des_cbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out, - (long)strlen((char *)cbc_data)+1,ks, - (C_Block *)cbc_iv,DES_ENCRYPT); - if (memcmp(cbc_out,cbc_ok,32) != 0) - printf("cbc_encrypt encrypt error\n"); - des_cbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in, - (long)strlen((char *)cbc_data)+1,ks, - (C_Block *)cbc_iv,DES_DECRYPT); - if (memcmp(cbc_in,cbc_data,32) != 0) - { - printf("cbc_encrypt decrypt error\n"); - err=1; - } - - printf("Doing desx cbc\n"); - if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0) - { - printf("Key error %d\n",j); - err=1; - } - memset(cbc_out,0,40); - memset(cbc_in,0,40); - memcpy(iv3,cbc_iv,sizeof(cbc_iv)); - des_xcbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out, - (long)strlen((char *)cbc_data)+1,ks, - (C_Block *)iv3, - (C_Block *)cbc2_key, (C_Block *)cbc3_key, DES_ENCRYPT); - if (memcmp(cbc_out,xcbc_ok,32) != 0) - { - printf("des_xcbc_encrypt encrypt error\n"); - } - memcpy(iv3,cbc_iv,sizeof(cbc_iv)); - des_xcbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in, - (long)strlen((char *)cbc_data)+1,ks, - (C_Block *)iv3, - (C_Block *)cbc2_key, (C_Block *)cbc3_key, DES_DECRYPT); - if (memcmp(cbc_in,cbc_data,32) != 0) - { - printf("des_xcbc_encrypt decrypt error\n"); - err=1; - } - - printf("Doing ede cbc\n"); - if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0) - { - printf("Key error %d\n",j); - err=1; - } - if ((j=des_key_sched((C_Block *)cbc2_key,ks2)) != 0) - { - printf("Key error %d\n",j); - err=1; - } - if ((j=des_key_sched((C_Block *)cbc3_key,ks3)) != 0) - { - printf("Key error %d\n",j); - err=1; - } - memset(cbc_out,0,40); - memset(cbc_in,0,40); - i=strlen((char *)cbc_data)+1; - i=((i+7)/8)*8; - memcpy(iv3,cbc_iv,sizeof(cbc_iv)); - - des_ede3_cbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out, - 16L,ks,ks2,ks3,(C_Block *)iv3,DES_ENCRYPT); - des_ede3_cbc_encrypt((C_Block *)&(cbc_data[16]), - (C_Block *)&(cbc_out[16]), - (long)i-16,ks,ks2,ks3,(C_Block *)iv3,DES_ENCRYPT); - if (memcmp(cbc_out,cbc3_ok, - (unsigned int)(strlen((char *)cbc_data)+1+7)/8*8) != 0) - { - printf("des_ede3_cbc_encrypt encrypt error\n"); - err=1; - } - - memcpy(iv3,cbc_iv,sizeof(cbc_iv)); - des_ede3_cbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in, - (long)i,ks,ks2,ks3,(C_Block *)iv3,DES_DECRYPT); - if (memcmp(cbc_in,cbc_data,strlen(cbc_data)+1) != 0) - { - printf("des_ede3_cbc_encrypt decrypt error\n"); - err=1; - } - - printf("Doing pcbc\n"); - if ((j=des_key_sched((C_Block *)cbc_key,ks)) != 0) - { - printf("Key error %d\n",j); - err=1; - } - memset(cbc_out,0,40); - memset(cbc_in,0,40); - des_pcbc_encrypt((C_Block *)cbc_data,(C_Block *)cbc_out, - (long)strlen(cbc_data)+1,ks,(C_Block *)cbc_iv,DES_ENCRYPT); - if (memcmp(cbc_out,pcbc_ok,32) != 0) - { - printf("pcbc_encrypt encrypt error\n"); - err=1; - } - des_pcbc_encrypt((C_Block *)cbc_out,(C_Block *)cbc_in, - (long)strlen(cbc_data)+1,ks,(C_Block *)cbc_iv,DES_DECRYPT); - if (memcmp(cbc_in,cbc_data,32) != 0) - { - printf("pcbc_encrypt decrypt error\n"); - err=1; - } - - printf("Doing "); - printf("cfb8 "); - err+=cfb_test(8,cfb_cipher8); - printf("cfb16 "); - err+=cfb_test(16,cfb_cipher16); - printf("cfb32 "); - err+=cfb_test(32,cfb_cipher32); - printf("cfb48 "); - err+=cfb_test(48,cfb_cipher48); - printf("cfb64 "); - err+=cfb_test(64,cfb_cipher64); - - printf("cfb64() "); - err+=cfb64_test(cfb_cipher64); - - memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); - for (i=0; i<sizeof(plain); i++) - des_cfb_encrypt(&(plain[i]),&(cfb_buf1[i]), - 8,(long)1,ks,(C_Block *)cfb_tmp,DES_ENCRYPT); - if (memcmp(cfb_cipher8,cfb_buf1,sizeof(plain)) != 0) - { - printf("cfb_encrypt small encrypt error\n"); - err=1; - } - - memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); - for (i=0; i<sizeof(plain); i++) - des_cfb_encrypt(&(cfb_buf1[i]),&(cfb_buf2[i]), - 8,(long)1,ks,(C_Block *)cfb_tmp,DES_DECRYPT); - if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0) - { - printf("cfb_encrypt small decrypt error\n"); - err=1; - } - - printf("ede_cfb64() "); - err+=ede_cfb64_test(cfb_cipher64); - - printf("done\n"); - - printf("Doing ofb\n"); - des_key_sched((C_Block *)ofb_key,ks); - memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); - des_ofb_encrypt(plain,ofb_buf1,64,(long)sizeof(plain)/8,ks, - (C_Block *)ofb_tmp); - if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0) - { - printf("ofb_encrypt encrypt error\n"); - err=1; - } - memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); - des_ofb_encrypt(ofb_buf1,ofb_buf2,64,(long)sizeof(ofb_buf1)/8,ks, - (C_Block *)ofb_tmp); - if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0) - { - printf("ofb_encrypt decrypt error\n"); - err=1; - } - - printf("Doing ofb64\n"); - des_key_sched((C_Block *)ofb_key,ks); - memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); - memset(ofb_buf1,0,sizeof(ofb_buf1)); - memset(ofb_buf2,0,sizeof(ofb_buf1)); - num=0; - for (i=0; i<sizeof(plain); i++) - { - des_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,ks, - (C_Block *)ofb_tmp,&num); - } - if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0) - { - printf("ofb64_encrypt encrypt error\n"); - err=1; - } - memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); - num=0; - des_ofb64_encrypt(ofb_buf1,ofb_buf2,(long)sizeof(ofb_buf1),ks, - (C_Block *)ofb_tmp,&num); - if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0) - { - printf("ofb64_encrypt decrypt error\n"); - err=1; - } - - printf("Doing ede_ofb64\n"); - des_key_sched((C_Block *)ofb_key,ks); - memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); - memset(ofb_buf1,0,sizeof(ofb_buf1)); - memset(ofb_buf2,0,sizeof(ofb_buf1)); - num=0; - for (i=0; i<sizeof(plain); i++) - { - des_ede3_ofb64_encrypt(&(plain[i]),&(ofb_buf1[i]),1,ks,ks,ks, - (C_Block *)ofb_tmp,&num); - } - if (memcmp(ofb_cipher,ofb_buf1,sizeof(ofb_buf1)) != 0) - { - printf("ede_ofb64_encrypt encrypt error\n"); - err=1; - } - memcpy(ofb_tmp,ofb_iv,sizeof(ofb_iv)); - num=0; - des_ede3_ofb64_encrypt(ofb_buf1,ofb_buf2,(long)sizeof(ofb_buf1),ks, - ks,ks,(C_Block *)ofb_tmp,&num); - if (memcmp(plain,ofb_buf2,sizeof(ofb_buf2)) != 0) - { - printf("ede_ofb64_encrypt decrypt error\n"); - err=1; - } - - printf("Doing cbc_cksum\n"); - des_key_sched((C_Block *)cbc_key,ks); - cs=des_cbc_cksum((C_Block *)cbc_data,(C_Block *)cret, - (long)strlen(cbc_data),ks,(C_Block *)cbc_iv); - if (cs != cbc_cksum_ret) - { - printf("bad return value (%08lX), should be %08lX\n", - (unsigned long)cs,(unsigned long)cbc_cksum_ret); - err=1; - } - if (memcmp(cret,cbc_cksum_data,8) != 0) - { - printf("bad cbc_cksum block returned\n"); - err=1; - } - - printf("Doing quad_cksum\n"); - cs=quad_cksum((C_Block *)cbc_data,(C_Block *)qret, - (long)strlen(cbc_data),2,(C_Block *)cbc_iv); - for (i=0; i<4; i++) - { - lqret[i]=0; - memcpy(&(lqret[i]),&(qret[i][0]),4); - } - { /* Big-endian fix */ - static DES_LONG l=1; - static unsigned char *c=(unsigned char *)&l; - DES_LONG ll; - - if (!c[0]) - { - ll=lqret[0]^lqret[3]; - lqret[0]^=ll; - lqret[3]^=ll; - ll=lqret[1]^lqret[2]; - lqret[1]^=ll; - lqret[2]^=ll; - } - } - if (cs != 0x70d7a63aL) - { - printf("quad_cksum error, ret %08lx should be 70d7a63a\n", - (unsigned long)cs); - err=1; - } - if (lqret[0] != 0x327eba8dL) - { - printf("quad_cksum error, out[0] %08lx is not %08lx\n", - (unsigned long)lqret[0],0x327eba8dL); - err=1; - } - if (lqret[1] != 0x201a49ccL) - { - printf("quad_cksum error, out[1] %08lx is not %08lx\n", - (unsigned long)lqret[1],0x201a49ccL); - err=1; - } - if (lqret[2] != 0x70d7a63aL) - { - printf("quad_cksum error, out[2] %08lx is not %08lx\n", - (unsigned long)lqret[2],0x70d7a63aL); - err=1; - } - if (lqret[3] != 0x501c2c26L) - { - printf("quad_cksum error, out[3] %08lx is not %08lx\n", - (unsigned long)lqret[3],0x501c2c26L); - err=1; - } - - printf("input word alignment test"); - for (i=0; i<4; i++) - { - printf(" %d",i); - des_cbc_encrypt((C_Block *)&(cbc_out[i]),(C_Block *)cbc_in, - (long)strlen(cbc_data)+1,ks,(C_Block *)cbc_iv, - DES_ENCRYPT); - } - printf("\noutput word alignment test"); - for (i=0; i<4; i++) - { - printf(" %d",i); - des_cbc_encrypt((C_Block *)cbc_out,(C_Block *)&(cbc_in[i]), - (long)strlen(cbc_data)+1,ks,(C_Block *)cbc_iv, - DES_ENCRYPT); - } - printf("\n"); - printf("fast crypt test "); - str=crypt("testing","ef"); - if (strcmp("efGnQx2725bI2",str) != 0) - { - printf("fast crypt error, %s should be efGnQx2725bI2\n",str); - err=1; - } - str=crypt("bca76;23","yA"); - if (strcmp("yA1Rp/1hZXIJk",str) != 0) - { - printf("fast crypt error, %s should be yA1Rp/1hZXIJk\n",str); - err=1; - } - printf("\n"); - exit(err); - return(0); - } - -static char *pt(p) -unsigned char *p; - { - static char bufs[10][20]; - static int bnum=0; - char *ret; - int i; - static char *f="0123456789ABCDEF"; - - ret= &(bufs[bnum++][0]); - bnum%=10; - for (i=0; i<8; i++) - { - ret[i*2]=f[(p[i]>>4)&0xf]; - ret[i*2+1]=f[p[i]&0xf]; - } - ret[16]='\0'; - return(ret); - } - -static int cfb_test(bits, cfb_cipher) -int bits; -unsigned char *cfb_cipher; - { - des_key_schedule ks; - int i,err=0; - - des_key_sched((C_Block *)cfb_key,ks); - memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); - des_cfb_encrypt(plain,cfb_buf1,bits,(long)sizeof(plain),ks, - (C_Block *)cfb_tmp,DES_ENCRYPT); - if (memcmp(cfb_cipher,cfb_buf1,sizeof(plain)) != 0) - { - err=1; - printf("cfb_encrypt encrypt error\n"); - for (i=0; i<24; i+=8) - printf("%s\n",pt(&(cfb_buf1[i]))); - } - memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); - des_cfb_encrypt(cfb_buf1,cfb_buf2,bits,(long)sizeof(plain),ks, - (C_Block *)cfb_tmp,DES_DECRYPT); - if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0) - { - err=1; - printf("cfb_encrypt decrypt error\n"); - for (i=0; i<24; i+=8) - printf("%s\n",pt(&(cfb_buf1[i]))); - } - return(err); - } - -static int cfb64_test(cfb_cipher) -unsigned char *cfb_cipher; - { - des_key_schedule ks; - int err=0,i,n; - - des_key_sched((C_Block *)cfb_key,ks); - memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); - n=0; - des_cfb64_encrypt(plain,cfb_buf1,(long)12,ks, - (C_Block *)cfb_tmp,&n,DES_ENCRYPT); - des_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]), - (long)sizeof(plain)-12,ks, - (C_Block *)cfb_tmp,&n,DES_ENCRYPT); - if (memcmp(cfb_cipher,cfb_buf1,sizeof(plain)) != 0) - { - err=1; - printf("cfb_encrypt encrypt error\n"); - for (i=0; i<24; i+=8) - printf("%s\n",pt(&(cfb_buf1[i]))); - } - memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); - n=0; - des_cfb64_encrypt(cfb_buf1,cfb_buf2,(long)17,ks, - (C_Block *)cfb_tmp,&n,DES_DECRYPT); - des_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]), - (long)sizeof(plain)-17,ks, - (C_Block *)cfb_tmp,&n,DES_DECRYPT); - if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0) - { - err=1; - printf("cfb_encrypt decrypt error\n"); - for (i=0; i<24; i+=8) - printf("%s\n",pt(&(cfb_buf2[i]))); - } - return(err); - } - -static int ede_cfb64_test(cfb_cipher) -unsigned char *cfb_cipher; - { - des_key_schedule ks; - int err=0,i,n; - - des_key_sched((C_Block *)cfb_key,ks); - memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); - n=0; - des_ede3_cfb64_encrypt(plain,cfb_buf1,(long)12,ks,ks,ks, - (C_Block *)cfb_tmp,&n,DES_ENCRYPT); - des_ede3_cfb64_encrypt(&(plain[12]),&(cfb_buf1[12]), - (long)sizeof(plain)-12,ks,ks,ks, - (C_Block *)cfb_tmp,&n,DES_ENCRYPT); - if (memcmp(cfb_cipher,cfb_buf1,sizeof(plain)) != 0) - { - err=1; - printf("ede_cfb_encrypt encrypt error\n"); - for (i=0; i<24; i+=8) - printf("%s\n",pt(&(cfb_buf1[i]))); - } - memcpy(cfb_tmp,cfb_iv,sizeof(cfb_iv)); - n=0; - des_ede3_cfb64_encrypt(cfb_buf1,cfb_buf2,(long)17,ks,ks,ks, - (C_Block *)cfb_tmp,&n,DES_DECRYPT); - des_ede3_cfb64_encrypt(&(cfb_buf1[17]),&(cfb_buf2[17]), - (long)sizeof(plain)-17,ks,ks,ks, - (C_Block *)cfb_tmp,&n,DES_DECRYPT); - if (memcmp(plain,cfb_buf2,sizeof(plain)) != 0) - { - err=1; - printf("ede_cfb_encrypt decrypt error\n"); - for (i=0; i<24; i+=8) - printf("%s\n",pt(&(cfb_buf2[i]))); - } - return(err); - } diff --git a/secure/lib/libdes/doIP b/secure/lib/libdes/doIP deleted file mode 100644 index 18cf23130364b..0000000000000 --- a/secure/lib/libdes/doIP +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/local/bin/perl - -@l=( - 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31 - ); -@r=( - 32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55, - 56,57,58,59,60,61,62,63 - ); - -require 'shifts.pl'; - -sub PERM_OP - { - local(*a,*b,*t,$n,$m)=@_; - - @z=&shift(*a,-$n); - @z=&xor(*b,*z); - @z=&and(*z,$m); - @b=&xor(*b,*z); - @z=&shift(*z,$n); - @a=&xor(*a,*z); - } - - -@L=@l; -@R=@r; -&PERM_OP(*R,*L,*T,4,0x0f0f0f0f); -&PERM_OP(*L,*R,*T,16,0x0000ffff); -&PERM_OP(*R,*L,*T,2,0x33333333); -&PERM_OP(*L,*R,*T,8,0x00ff00ff); -&PERM_OP(*R,*L,*T,1,0x55555555); - &printit(@L); - &printit(@R); -&PERM_OP(*R,*L,*T,1,0x55555555); -&PERM_OP(*L,*R,*T,8,0x00ff00ff); -&PERM_OP(*R,*L,*T,2,0x33333333); -&PERM_OP(*L,*R,*T,16,0x0000ffff); -&PERM_OP(*R,*L,*T,4,0x0f0f0f0f); - &printit(@L); - &printit(@R); diff --git a/secure/lib/libdes/doPC1 b/secure/lib/libdes/doPC1 deleted file mode 100644 index 096afd8c4614e..0000000000000 --- a/secure/lib/libdes/doPC1 +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/local/bin/perl - -@l=( - 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31 - ); -@r=( - 32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55, - 56,57,58,59,60,61,62,63 - ); - -require 'shifts.pl'; - -sub PERM_OP - { - local(*a,*b,*t,$n,$m)=@_; - - @z=&shift(*a,-$n); - @z=&xor(*b,*z); - @z=&and(*z,$m); - @b=&xor(*b,*z); - @z=&shift(*z,$n); - @a=&xor(*a,*z); - } - -sub HPERM_OP2 - { - local(*a,*t,$n,$m)=@_; - local(@x,@y,$i); - - @z=&shift(*a,16-$n); - @z=&xor(*a,*z); - @z=&and(*z,$m); - @a=&xor(*a,*z); - @z=&shift(*z,$n-16); - @a=&xor(*a,*z); - } - -sub HPERM_OP - { - local(*a,*t,$n,$m)=@_; - local(@x,@y,$i); - - for ($i=0; $i<16; $i++) - { - $x[$i]=$a[$i]; - $y[$i]=$a[16+$i]; - } - @z=&shift(*x,-$n); - @z=&xor(*y,*z); - @z=&and(*z,$m); - @y=&xor(*y,*z); - @z=&shift(*z,$n); - @x=&xor(*x,*z); - for ($i=0; $i<16; $i++) - { - $a[$i]=$x[$i]; - $a[16+$i]=$y[$i]; - } - } - -@L=@l; -@R=@r; - - print "---\n"; &printit(@R); -&PERM_OP(*R,*L,*T,4,0x0f0f0f0f); - print "---\n"; &printit(@R); -&HPERM_OP2(*L,*T,-2,0xcccc0000); -&HPERM_OP2(*R,*T,-2,0xcccc0000); - print "---\n"; &printit(@R); -&PERM_OP(*R,*L,*T,1,0x55555555); - print "---\n"; &printit(@R); -&PERM_OP(*L,*R,*T,8,0x00ff00ff); - print "---\n"; &printit(@R); -&PERM_OP(*R,*L,*T,1,0x55555555); - print "---\n"; &printit(@R); -# &printit(@L); - &printit(@R); -print <<"EOF"; -============================== -63 55 47 39 31 23 15 7 -62 54 46 38 30 22 14 6 -61 53 45 37 29 21 13 5 -60 52 44 36 -- -- -- -- - -57 49 41 33 25 17 9 1 -58 50 42 34 26 18 10 2 -59 51 43 35 27 19 11 3 -28 20 12 4 -- -- -- -- -EOF -exit(1); -@A=&and(*R,0x000000ff); -@A=&shift(*A,16); -@B=&and(*R,0x0000ff00); -@C=&and(*R,0x00ff0000); -@C=&shift(*C,-16); -@D=&and(*L,0xf0000000); -@D=&shift(*D,-4); -@A=&or(*A,*B); -@B=&or(*D,*C); -@R=&or(*A,*B); -@L=&and(*L,0x0fffffff); - - &printit(@L); - &printit(@R); - diff --git a/secure/lib/libdes/doPC2 b/secure/lib/libdes/doPC2 deleted file mode 100644 index fa5cf74cf7131..0000000000000 --- a/secure/lib/libdes/doPC2 +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/local/bin/perl - -@PC2_C=(14,17,11,24, 1, 5, - 3,28,15, 6,21,10, - 23,19,12, 4,26, 8, - 16, 7,27,20,13, 2, - ); - -@PC2_D=(41,52,31,37,47,55, - 30,40,51,45,33,48, - 44,49,39,56,34,53, - 46,42,50,36,29,32, - ); - -$i=0; -foreach (@PC2_C) { - $_--; -# printf "%2d,",$_; - $C{$_}=$i; - ++$i; -# print "\n" if ((($i) % 8) == 0); - } -$i=0; -#print "\n"; -foreach (@PC2_D) { - $_-=28; - $_--; -# printf "%2d,",$_; - $D{$_}=$i; - $i++; -# print "\n" if ((($i) % 8) == 0); - } - -#print "\n"; -foreach $i (0 .. 27) - { - $_=$C{$i}; -# printf "%2d,",$_; - $i++; -# print "\n" if ((($i) % 8) == 0); - } -#print "\n"; - -#print "\n"; -foreach $i (0 .. 27) - { - $_=$D{$i}; -# printf "%2d,",$_; - $i++; -# print "\n" if ((($i) % 8) == 0); - } -#print "\n"; - -print "static ulong skb[8][64]={\n"; -&doit("C",*C, 0, 1, 2, 3, 4, 5); -&doit("C",*C, 6, 7, 9,10,11,12); -&doit("C",*C,13,14,15,16,18,19); -&doit("C",*C,20,22,23,25,26,27); - -&doit("D",*D, 0, 1, 2, 3, 4, 5); -&doit("D",*D, 7, 8,10,11,12,13); -&doit("D",*D,15,16,17,18,19,20); -&doit("D",*D,21,22,23,24,26,27); -print "};\n"; - -sub doit - { - local($l,*A,@b)=@_; - local(@out); - - printf("/* for $l bits (numbered as per FIPS 46) %d %d %d %d %d %d */\n", - $b[0]+1, $b[1]+1, $b[2]+1, $b[3]+1, $b[4]+1, $b[5]+1); - for ($i=0; $i<64; $i++) - { - $out[$i]=0; - $j=1; -#print "\n"; - for ($k=0; $k<6; $k++) - { - $l=$A{$b[$k]}; -#print"$l - "; - if ((1<<$k) & $i) - { - $ll=int($l/6)*8+($l%6); - $out[$i]|=1<<($ll); - } - } - $pp=$out[$i]; - $pp=($pp&0xff0000ff)| (($pp&0x00ff0000)>>8)| - (($pp&0x0000ff00)<<8); - printf("0x%08X,",$pp); - print "\n" if (($i+1) % 4 == 0); - } - } diff --git a/secure/lib/libdes/ecb3_enc.c b/secure/lib/libdes/ecb3_enc.c deleted file mode 100644 index 030770ce4aa77..0000000000000 --- a/secure/lib/libdes/ecb3_enc.c +++ /dev/null @@ -1,77 +0,0 @@ -/* crypto/des/ecb3_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -void des_ecb3_encrypt(input, output, ks1, ks2, ks3, encrypt) -des_cblock (*input); -des_cblock (*output); -des_key_schedule ks1; -des_key_schedule ks2; -des_key_schedule ks3; -int encrypt; - { - register DES_LONG l0,l1; - register unsigned char *in,*out; - DES_LONG ll[2]; - - in=(unsigned char *)input; - out=(unsigned char *)output; - c2l(in,l0); - c2l(in,l1); - IP(l0,l1); - ll[0]=l0; - ll[1]=l1; - des_encrypt2(ll,ks1,encrypt); - des_encrypt2(ll,ks2,!encrypt); - des_encrypt2(ll,ks3,encrypt); - l0=ll[0]; - l1=ll[1]; - FP(l1,l0); - l2c(l0,out); - l2c(l1,out); - } diff --git a/secure/lib/libdes/ecb_enc.c b/secure/lib/libdes/ecb_enc.c deleted file mode 100644 index f142192dc80c4..0000000000000 --- a/secure/lib/libdes/ecb_enc.c +++ /dev/null @@ -1,229 +0,0 @@ -/* crypto/des/ecb_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" -#include "spr.h" - -char *libdes_version="libdes v 3.24 - 20-Apr-1996 - eay"; -char *DES_version="DES part of SSLeay 0.6.3 06-Aug-1996"; - -char *des_options() - { -#ifdef DES_PTR - if (sizeof(DES_LONG) != sizeof(long)) - return("des(ptr,int)"); - else - return("des(ptr,long)"); -#else - if (sizeof(DES_LONG) != sizeof(long)) - return("des(idx,int)"); - else - return("des(idx,long)"); -#endif - } - - -void des_ecb_encrypt(input, output, ks, encrypt) -des_cblock (*input); -des_cblock (*output); -des_key_schedule ks; -int encrypt; - { - register DES_LONG l; - register unsigned char *in,*out; - DES_LONG ll[2]; - - in=(unsigned char *)input; - out=(unsigned char *)output; - c2l(in,l); ll[0]=l; - c2l(in,l); ll[1]=l; - des_encrypt(ll,ks,encrypt); - l=ll[0]; l2c(l,out); - l=ll[1]; l2c(l,out); - l=ll[0]=ll[1]=0; - } - -void des_encrypt(data, ks, encrypt) -DES_LONG *data; -des_key_schedule ks; -int encrypt; - { - register DES_LONG l,r,t,u; -#ifdef DES_PTR - register unsigned char *des_SP=(unsigned char *)des_SPtrans; -#endif -#ifdef undef - union fudge { - DES_LONG l; - unsigned short s[2]; - unsigned char c[4]; - } U,T; -#endif - register int i; - register DES_LONG *s; - - u=data[0]; - r=data[1]; - - IP(u,r); - /* Things have been modified so that the initial rotate is - * done outside the loop. This required the - * des_SPtrans values in sp.h to be rotated 1 bit to the right. - * One perl script later and things have a 5% speed up on a sparc2. - * Thanks to Richard Outerbridge <71755.204@CompuServe.COM> - * for pointing this out. */ - l=(r<<1)|(r>>31); - r=(u<<1)|(u>>31); - - /* clear the top bits on machines with 8byte longs */ - l&=0xffffffffL; - r&=0xffffffffL; - - s=(DES_LONG *)ks; - /* I don't know if it is worth the effort of loop unrolling the - * inner loop - */ - if (encrypt) - { - for (i=0; i<32; i+=8) - { - D_ENCRYPT(l,r,i+0); /* 1 */ - D_ENCRYPT(r,l,i+2); /* 2 */ - D_ENCRYPT(l,r,i+4); /* 3 */ - D_ENCRYPT(r,l,i+6); /* 4 */ - } - } - else - { - for (i=30; i>0; i-=8) - { - D_ENCRYPT(l,r,i-0); /* 16 */ - D_ENCRYPT(r,l,i-2); /* 15 */ - D_ENCRYPT(l,r,i-4); /* 14 */ - D_ENCRYPT(r,l,i-6); /* 13 */ - } - } - l=(l>>1)|(l<<31); - r=(r>>1)|(r<<31); - /* clear the top bits on machines with 8byte longs */ - l&=0xffffffffL; - r&=0xffffffffL; - - FP(r,l); - data[0]=l; - data[1]=r; - l=r=t=u=0; - } - -void des_encrypt2(data, ks, encrypt) -DES_LONG *data; -des_key_schedule ks; -int encrypt; - { - register DES_LONG l,r,t,u; -#ifdef DES_PTR - register unsigned char *des_SP=(unsigned char *)des_SPtrans; -#endif -#ifdef undef - union fudge { - DES_LONG l; - unsigned short s[2]; - unsigned char c[4]; - } U,T; -#endif - register int i; - register DES_LONG *s; - - u=data[0]; - r=data[1]; - - /* Things have been modified so that the initial rotate is - * done outside the loop. This required the - * des_SPtrans values in sp.h to be rotated 1 bit to the right. - * One perl script later and things have a 5% speed up on a sparc2. - * Thanks to Richard Outerbridge <71755.204@CompuServe.COM> - * for pointing this out. */ - l=(r<<1)|(r>>31); - r=(u<<1)|(u>>31); - - /* clear the top bits on machines with 8byte longs */ - l&=0xffffffffL; - r&=0xffffffffL; - - s=(DES_LONG *)ks; - /* I don't know if it is worth the effort of loop unrolling the - * inner loop */ - if (encrypt) - { - for (i=0; i<32; i+=8) - { - D_ENCRYPT(l,r,i+0); /* 1 */ - D_ENCRYPT(r,l,i+2); /* 2 */ - D_ENCRYPT(l,r,i+4); /* 3 */ - D_ENCRYPT(r,l,i+6); /* 4 */ - } - } - else - { - for (i=30; i>0; i-=8) - { - D_ENCRYPT(l,r,i-0); /* 16 */ - D_ENCRYPT(r,l,i-2); /* 15 */ - D_ENCRYPT(l,r,i-4); /* 14 */ - D_ENCRYPT(r,l,i-6); /* 13 */ - } - } - l=(l>>1)|(l<<31); - r=(r>>1)|(r<<31); - /* clear the top bits on machines with 8byte longs */ - l&=0xffffffffL; - r&=0xffffffffL; - - data[0]=l; - data[1]=r; - l=r=t=u=0; - } diff --git a/secure/lib/libdes/ede_enc.c b/secure/lib/libdes/ede_enc.c deleted file mode 100644 index c8a9e80937bc5..0000000000000 --- a/secure/lib/libdes/ede_enc.c +++ /dev/null @@ -1,163 +0,0 @@ -/* crypto/des/ede_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -void des_ede3_cbc_encrypt(input, output, length, ks1, ks2, ks3, ivec, encrypt) -des_cblock (*input); -des_cblock (*output); -long length; -des_key_schedule ks1; -des_key_schedule ks2; -des_key_schedule ks3; -des_cblock (*ivec); -int encrypt; - { - register DES_LONG tin0,tin1; - register DES_LONG tout0,tout1,xor0,xor1; - register unsigned char *in,*out; - register long l=length; - DES_LONG tin[2]; - unsigned char *iv; - - in=(unsigned char *)input; - out=(unsigned char *)output; - iv=(unsigned char *)ivec; - - if (encrypt) - { - c2l(iv,tout0); - c2l(iv,tout1); - for (; l>0; l-=8) - { - if (l >= 8) - { - c2l(in,tin0); - c2l(in,tin1); - } - else - c2ln(in,tin0,tin1,l); - tin0^=tout0; - tin1^=tout1; - - IP(tin0,tin1); - - tin[0]=tin0; - tin[1]=tin1; - des_encrypt2((DES_LONG *)tin,ks1,DES_ENCRYPT); - des_encrypt2((DES_LONG *)tin,ks2,DES_DECRYPT); - des_encrypt2((DES_LONG *)tin,ks3,DES_ENCRYPT); - tout0=tin[0]; - tout1=tin[1]; - - FP(tout1,tout0); - - l2c(tout0,out); - l2c(tout1,out); - } - iv=(unsigned char *)ivec; - l2c(tout0,iv); - l2c(tout1,iv); - } - else - { - c2l(iv,xor0); - c2l(iv,xor1); - for (; l>0; l-=8) - { - register DES_LONG t0,t1; - - c2l(in,tin0); - c2l(in,tin1); - - t0=tin0; - t1=tin1; - IP(tin0,tin1); - - tin[0]=tin0; - tin[1]=tin1; - des_encrypt2((DES_LONG *)tin,ks3,DES_DECRYPT); - des_encrypt2((DES_LONG *)tin,ks2,DES_ENCRYPT); - des_encrypt2((DES_LONG *)tin,ks1,DES_DECRYPT); - tout0=tin[0]; - tout1=tin[1]; - - FP(tout1,tout0); /**/ - - tout0^=xor0; - tout1^=xor1; - if (l >= 8) - { - l2c(tout0,out); - l2c(tout1,out); - } - else - l2cn(tout0,tout1,out,l); - xor0=t0; - xor1=t1; - } - iv=(unsigned char *)ivec; - l2c(xor0,iv); - l2c(xor1,iv); - } - tin0=tin1=tout0=tout1=xor0=xor1=0; - tin[0]=tin[1]=0; - } - -#ifdef undef /* MACRO */ -void des_ede2_cbc_encrypt(input, output, length, ks1, ks2, ivec, enc) -des_cblock (*input); -des_cblock (*output); -long length; -des_key_schedule ks1; -des_key_schedule ks2; -des_cblock (*ivec); -int enc; - { - des_ede3_cbc_encrypt(input,output,length,ks1,ks2,ks1,ivec,enc); - } -#endif diff --git a/secure/lib/libdes/enc_read.c b/secure/lib/libdes/enc_read.c deleted file mode 100644 index 00989d292852f..0000000000000 --- a/secure/lib/libdes/enc_read.c +++ /dev/null @@ -1,203 +0,0 @@ -/* crypto/des/enc_read.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include <stdio.h> -#include <errno.h> -#include "des_locl.h" - -/* This has some uglies in it but it works - even over sockets. */ -/*extern int errno;*/ -int des_rw_mode=DES_PCBC_MODE; - -int des_enc_read(fd, buf, len, sched, iv) -int fd; -char *buf; -int len; -des_key_schedule sched; -des_cblock (*iv); - { - /* data to be unencrypted */ - int net_num=0; - static unsigned char *net=NULL; - /* extra unencrypted data - * for when a block of 100 comes in but is des_read one byte at - * a time. */ - static char *unnet=NULL; - static int unnet_start=0; - static int unnet_left=0; - static char *tmpbuf=NULL; - int i; - long num=0,rnum; - unsigned char *p; - - if (tmpbuf == NULL) - { - tmpbuf=(char *)malloc(BSIZE); - if (tmpbuf == NULL) return(-1); - } - if (net == NULL) - { - net=(unsigned char *)malloc(BSIZE); - if (net == NULL) return(-1); - } - if (unnet == NULL) - { - unnet=(char *)malloc(BSIZE); - if (unnet == NULL) return(-1); - } - /* left over data from last decrypt */ - if (unnet_left != 0) - { - if (unnet_left < len) - { - /* we still still need more data but will return - * with the number of bytes we have - should always - * check the return value */ - memcpy(buf,&(unnet[unnet_start]), - (unsigned int)unnet_left); - /* eay 26/08/92 I had the next 2 lines - * reversed :-( */ - i=unnet_left; - unnet_start=unnet_left=0; - } - else - { - memcpy(buf,&(unnet[unnet_start]),(unsigned int)len); - unnet_start+=len; - unnet_left-=len; - i=len; - } - return(i); - } - - /* We need to get more data. */ - if (len > MAXWRITE) len=MAXWRITE; - - /* first - get the length */ - while (net_num < HDRSIZE) - { - i=read(fd,&(net[net_num]),(unsigned int)HDRSIZE-net_num); - if ((i == -1) && (errno == EINTR)) continue; - if (i <= 0) return(0); - net_num+=i; - } - - /* we now have at net_num bytes in net */ - p=net; - /* num=0; */ - n2l(p,num); - /* num should be rounded up to the next group of eight - * we make sure that we have read a multiple of 8 bytes from the net. - */ - if ((num > MAXWRITE) || (num < 0)) /* error */ - return(-1); - rnum=(num < 8)?8:((num+7)/8*8); - - net_num=0; - while (net_num < rnum) - { - i=read(fd,&(net[net_num]),(unsigned int)rnum-net_num); - if ((i == -1) && (errno == EINTR)) continue; - if (i <= 0) return(0); - net_num+=i; - } - - /* Check if there will be data left over. */ - if (len < num) - { - if (des_rw_mode & DES_PCBC_MODE) - des_pcbc_encrypt((des_cblock *)net,(des_cblock *)unnet, - num,sched,iv,DES_DECRYPT); - else - des_cbc_encrypt((des_cblock *)net,(des_cblock *)unnet, - num,sched,iv,DES_DECRYPT); - memcpy(buf,unnet,(unsigned int)len); - unnet_start=len; - unnet_left=(int)num-len; - - /* The following line is done because we return num - * as the number of bytes read. */ - num=len; - } - else - { - /* >output is a multiple of 8 byes, if len < rnum - * >we must be careful. The user must be aware that this - * >routine will write more bytes than he asked for. - * >The length of the buffer must be correct. - * FIXED - Should be ok now 18-9-90 - eay */ - if (len < rnum) - { - - if (des_rw_mode & DES_PCBC_MODE) - des_pcbc_encrypt((des_cblock *)net, - (des_cblock *)tmpbuf, - num,sched,iv,DES_DECRYPT); - else - des_cbc_encrypt((des_cblock *)net, - (des_cblock *)tmpbuf, - num,sched,iv,DES_DECRYPT); - - /* eay 26/08/92 fix a bug that returned more - * bytes than you asked for (returned len bytes :-( */ - memcpy(buf,tmpbuf,(unsigned int)num); - } - else - { - if (des_rw_mode & DES_PCBC_MODE) - des_pcbc_encrypt((des_cblock *)net, - (des_cblock *)buf,num,sched,iv, - DES_DECRYPT); - else - des_cbc_encrypt((des_cblock *)net, - (des_cblock *)buf,num,sched,iv, - DES_DECRYPT); - } - } - return((int)num); - } - diff --git a/secure/lib/libdes/enc_writ.c b/secure/lib/libdes/enc_writ.c deleted file mode 100644 index 0b7a50be9d234..0000000000000 --- a/secure/lib/libdes/enc_writ.c +++ /dev/null @@ -1,149 +0,0 @@ -/* crypto/des/enc_writ.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include <errno.h> -#include <time.h> -#include "des_locl.h" - -int des_enc_write(fd, buf, len, sched, iv) -int fd; -char *buf; -int len; -des_key_schedule sched; -des_cblock (*iv); - { -#ifdef _LIBC - extern int srandom(); - extern unsigned long time(); - extern int random(); - extern int write(); -#endif - - long rnum; - int i,j,k,outnum; - char *outbuf=NULL; - char shortbuf[8]; - char *p; - static int start=1; - - if (outbuf == NULL) - { - outbuf=(char *)malloc(BSIZE+HDRSIZE); - if (outbuf == NULL) return(-1); - } - /* If we are sending less than 8 bytes, the same char will look - * the same if we don't pad it out with random bytes */ - if (start) - { - start=0; - srandom((unsigned int)time(NULL)); - } - - /* lets recurse if we want to send the data in small chunks */ - if (len > MAXWRITE) - { - j=0; - for (i=0; i<len; i+=k) - { - k=des_enc_write(fd,&(buf[i]), - ((len-i) > MAXWRITE)?MAXWRITE:(len-i),sched,iv); - if (k < 0) - return(k); - else - j+=k; - } - return(j); - } - - /* write length first */ - p=outbuf; - l2n(len,p); - - /* pad short strings */ - if (len < 8) - { - p=shortbuf; - memcpy(shortbuf,buf,(unsigned int)len); - for (i=len; i<8; i++) - shortbuf[i]=random(); - rnum=8; - } - else - { - p=buf; - rnum=((len+7)/8*8); /* round up to nearest eight */ - } - - if (des_rw_mode & DES_PCBC_MODE) - des_pcbc_encrypt((des_cblock *)p, - (des_cblock *)&(outbuf[HDRSIZE]), - (long)((len<8)?8:len),sched,iv,DES_ENCRYPT); - else - des_cbc_encrypt((des_cblock *)p, - (des_cblock *)&(outbuf[HDRSIZE]), - (long)((len<8)?8:len),sched,iv,DES_ENCRYPT); - - /* output */ - outnum=(int)rnum+HDRSIZE; - - for (j=0; j<outnum; j+=i) - { - /* eay 26/08/92 I was not doing writing from where we - * got upto. */ - i=write(fd,&(outbuf[j]),(unsigned int)(outnum-j)); - if (i == -1) - { - if (errno == EINTR) - i=0; - else /* This is really a bad error - very bad - * It will stuff-up both ends. */ - return(-1); - } - } - - return(len); - } diff --git a/secure/lib/libdes/fcrypt.c b/secure/lib/libdes/fcrypt.c deleted file mode 100644 index 85080ea4df117..0000000000000 --- a/secure/lib/libdes/fcrypt.c +++ /dev/null @@ -1,669 +0,0 @@ -/* crypto/des/fcrypt.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include <stdio.h> - -/* Eric Young. - * This version of crypt has been developed from my MIT compatable - * DES library. - * The library is available at pub/Crypto/DES at ftp.psy.uq.oz.au - * eay@mincom.oz.au or eay@psych.psy.uq.oz.au - */ - -#ifndef HEADER_DES_LOCL_H - -#if defined(NOCONST) -#define const -#endif - -/* I now assume that you have des.h available */ -#include "des.h" - -#define ITERATIONS 16 -#define HALF_ITERATIONS 8 - -#define c2l(c,l) (l =((DES_LONG)(*((c)++))) , \ - l|=((DES_LONG)(*((c)++)))<< 8, \ - l|=((DES_LONG)(*((c)++)))<<16, \ - l|=((DES_LONG)(*((c)++)))<<24) - -#define l2c(l,c) (*((c)++)=(unsigned char)(((l) )&0xff), \ - *((c)++)=(unsigned char)(((l)>> 8)&0xff), \ - *((c)++)=(unsigned char)(((l)>>16)&0xff), \ - *((c)++)=(unsigned char)(((l)>>24)&0xff)) - -static const DES_LONG des_SPtrans[8][64]={ -{ -/* nibble 0 */ -0x00820200L, 0x00020000L, 0x80800000L, 0x80820200L, -0x00800000L, 0x80020200L, 0x80020000L, 0x80800000L, -0x80020200L, 0x00820200L, 0x00820000L, 0x80000200L, -0x80800200L, 0x00800000L, 0x00000000L, 0x80020000L, -0x00020000L, 0x80000000L, 0x00800200L, 0x00020200L, -0x80820200L, 0x00820000L, 0x80000200L, 0x00800200L, -0x80000000L, 0x00000200L, 0x00020200L, 0x80820000L, -0x00000200L, 0x80800200L, 0x80820000L, 0x00000000L, -0x00000000L, 0x80820200L, 0x00800200L, 0x80020000L, -0x00820200L, 0x00020000L, 0x80000200L, 0x00800200L, -0x80820000L, 0x00000200L, 0x00020200L, 0x80800000L, -0x80020200L, 0x80000000L, 0x80800000L, 0x00820000L, -0x80820200L, 0x00020200L, 0x00820000L, 0x80800200L, -0x00800000L, 0x80000200L, 0x80020000L, 0x00000000L, -0x00020000L, 0x00800000L, 0x80800200L, 0x00820200L, -0x80000000L, 0x80820000L, 0x00000200L, 0x80020200L, -},{ -/* nibble 1 */ -0x10042004L, 0x00000000L, 0x00042000L, 0x10040000L, -0x10000004L, 0x00002004L, 0x10002000L, 0x00042000L, -0x00002000L, 0x10040004L, 0x00000004L, 0x10002000L, -0x00040004L, 0x10042000L, 0x10040000L, 0x00000004L, -0x00040000L, 0x10002004L, 0x10040004L, 0x00002000L, -0x00042004L, 0x10000000L, 0x00000000L, 0x00040004L, -0x10002004L, 0x00042004L, 0x10042000L, 0x10000004L, -0x10000000L, 0x00040000L, 0x00002004L, 0x10042004L, -0x00040004L, 0x10042000L, 0x10002000L, 0x00042004L, -0x10042004L, 0x00040004L, 0x10000004L, 0x00000000L, -0x10000000L, 0x00002004L, 0x00040000L, 0x10040004L, -0x00002000L, 0x10000000L, 0x00042004L, 0x10002004L, -0x10042000L, 0x00002000L, 0x00000000L, 0x10000004L, -0x00000004L, 0x10042004L, 0x00042000L, 0x10040000L, -0x10040004L, 0x00040000L, 0x00002004L, 0x10002000L, -0x10002004L, 0x00000004L, 0x10040000L, 0x00042000L, -},{ -/* nibble 2 */ -0x41000000L, 0x01010040L, 0x00000040L, 0x41000040L, -0x40010000L, 0x01000000L, 0x41000040L, 0x00010040L, -0x01000040L, 0x00010000L, 0x01010000L, 0x40000000L, -0x41010040L, 0x40000040L, 0x40000000L, 0x41010000L, -0x00000000L, 0x40010000L, 0x01010040L, 0x00000040L, -0x40000040L, 0x41010040L, 0x00010000L, 0x41000000L, -0x41010000L, 0x01000040L, 0x40010040L, 0x01010000L, -0x00010040L, 0x00000000L, 0x01000000L, 0x40010040L, -0x01010040L, 0x00000040L, 0x40000000L, 0x00010000L, -0x40000040L, 0x40010000L, 0x01010000L, 0x41000040L, -0x00000000L, 0x01010040L, 0x00010040L, 0x41010000L, -0x40010000L, 0x01000000L, 0x41010040L, 0x40000000L, -0x40010040L, 0x41000000L, 0x01000000L, 0x41010040L, -0x00010000L, 0x01000040L, 0x41000040L, 0x00010040L, -0x01000040L, 0x00000000L, 0x41010000L, 0x40000040L, -0x41000000L, 0x40010040L, 0x00000040L, 0x01010000L, -},{ -/* nibble 3 */ -0x00100402L, 0x04000400L, 0x00000002L, 0x04100402L, -0x00000000L, 0x04100000L, 0x04000402L, 0x00100002L, -0x04100400L, 0x04000002L, 0x04000000L, 0x00000402L, -0x04000002L, 0x00100402L, 0x00100000L, 0x04000000L, -0x04100002L, 0x00100400L, 0x00000400L, 0x00000002L, -0x00100400L, 0x04000402L, 0x04100000L, 0x00000400L, -0x00000402L, 0x00000000L, 0x00100002L, 0x04100400L, -0x04000400L, 0x04100002L, 0x04100402L, 0x00100000L, -0x04100002L, 0x00000402L, 0x00100000L, 0x04000002L, -0x00100400L, 0x04000400L, 0x00000002L, 0x04100000L, -0x04000402L, 0x00000000L, 0x00000400L, 0x00100002L, -0x00000000L, 0x04100002L, 0x04100400L, 0x00000400L, -0x04000000L, 0x04100402L, 0x00100402L, 0x00100000L, -0x04100402L, 0x00000002L, 0x04000400L, 0x00100402L, -0x00100002L, 0x00100400L, 0x04100000L, 0x04000402L, -0x00000402L, 0x04000000L, 0x04000002L, 0x04100400L, -},{ -/* nibble 4 */ -0x02000000L, 0x00004000L, 0x00000100L, 0x02004108L, -0x02004008L, 0x02000100L, 0x00004108L, 0x02004000L, -0x00004000L, 0x00000008L, 0x02000008L, 0x00004100L, -0x02000108L, 0x02004008L, 0x02004100L, 0x00000000L, -0x00004100L, 0x02000000L, 0x00004008L, 0x00000108L, -0x02000100L, 0x00004108L, 0x00000000L, 0x02000008L, -0x00000008L, 0x02000108L, 0x02004108L, 0x00004008L, -0x02004000L, 0x00000100L, 0x00000108L, 0x02004100L, -0x02004100L, 0x02000108L, 0x00004008L, 0x02004000L, -0x00004000L, 0x00000008L, 0x02000008L, 0x02000100L, -0x02000000L, 0x00004100L, 0x02004108L, 0x00000000L, -0x00004108L, 0x02000000L, 0x00000100L, 0x00004008L, -0x02000108L, 0x00000100L, 0x00000000L, 0x02004108L, -0x02004008L, 0x02004100L, 0x00000108L, 0x00004000L, -0x00004100L, 0x02004008L, 0x02000100L, 0x00000108L, -0x00000008L, 0x00004108L, 0x02004000L, 0x02000008L, -},{ -/* nibble 5 */ -0x20000010L, 0x00080010L, 0x00000000L, 0x20080800L, -0x00080010L, 0x00000800L, 0x20000810L, 0x00080000L, -0x00000810L, 0x20080810L, 0x00080800L, 0x20000000L, -0x20000800L, 0x20000010L, 0x20080000L, 0x00080810L, -0x00080000L, 0x20000810L, 0x20080010L, 0x00000000L, -0x00000800L, 0x00000010L, 0x20080800L, 0x20080010L, -0x20080810L, 0x20080000L, 0x20000000L, 0x00000810L, -0x00000010L, 0x00080800L, 0x00080810L, 0x20000800L, -0x00000810L, 0x20000000L, 0x20000800L, 0x00080810L, -0x20080800L, 0x00080010L, 0x00000000L, 0x20000800L, -0x20000000L, 0x00000800L, 0x20080010L, 0x00080000L, -0x00080010L, 0x20080810L, 0x00080800L, 0x00000010L, -0x20080810L, 0x00080800L, 0x00080000L, 0x20000810L, -0x20000010L, 0x20080000L, 0x00080810L, 0x00000000L, -0x00000800L, 0x20000010L, 0x20000810L, 0x20080800L, -0x20080000L, 0x00000810L, 0x00000010L, 0x20080010L, -},{ -/* nibble 6 */ -0x00001000L, 0x00000080L, 0x00400080L, 0x00400001L, -0x00401081L, 0x00001001L, 0x00001080L, 0x00000000L, -0x00400000L, 0x00400081L, 0x00000081L, 0x00401000L, -0x00000001L, 0x00401080L, 0x00401000L, 0x00000081L, -0x00400081L, 0x00001000L, 0x00001001L, 0x00401081L, -0x00000000L, 0x00400080L, 0x00400001L, 0x00001080L, -0x00401001L, 0x00001081L, 0x00401080L, 0x00000001L, -0x00001081L, 0x00401001L, 0x00000080L, 0x00400000L, -0x00001081L, 0x00401000L, 0x00401001L, 0x00000081L, -0x00001000L, 0x00000080L, 0x00400000L, 0x00401001L, -0x00400081L, 0x00001081L, 0x00001080L, 0x00000000L, -0x00000080L, 0x00400001L, 0x00000001L, 0x00400080L, -0x00000000L, 0x00400081L, 0x00400080L, 0x00001080L, -0x00000081L, 0x00001000L, 0x00401081L, 0x00400000L, -0x00401080L, 0x00000001L, 0x00001001L, 0x00401081L, -0x00400001L, 0x00401080L, 0x00401000L, 0x00001001L, -},{ -/* nibble 7 */ -0x08200020L, 0x08208000L, 0x00008020L, 0x00000000L, -0x08008000L, 0x00200020L, 0x08200000L, 0x08208020L, -0x00000020L, 0x08000000L, 0x00208000L, 0x00008020L, -0x00208020L, 0x08008020L, 0x08000020L, 0x08200000L, -0x00008000L, 0x00208020L, 0x00200020L, 0x08008000L, -0x08208020L, 0x08000020L, 0x00000000L, 0x00208000L, -0x08000000L, 0x00200000L, 0x08008020L, 0x08200020L, -0x00200000L, 0x00008000L, 0x08208000L, 0x00000020L, -0x00200000L, 0x00008000L, 0x08000020L, 0x08208020L, -0x00008020L, 0x08000000L, 0x00000000L, 0x00208000L, -0x08200020L, 0x08008020L, 0x08008000L, 0x00200020L, -0x08208000L, 0x00000020L, 0x00200020L, 0x08008000L, -0x08208020L, 0x00200000L, 0x08200000L, 0x08000020L, -0x00208000L, 0x00008020L, 0x08008020L, 0x08200000L, -0x00000020L, 0x08208000L, 0x00208020L, 0x00000000L, -0x08000000L, 0x08200020L, 0x00008000L, 0x00208020L}}; -static const DES_LONG skb[8][64]={ -{ -/* for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 */ -0x00000000L,0x00000010L,0x20000000L,0x20000010L, -0x00010000L,0x00010010L,0x20010000L,0x20010010L, -0x00000800L,0x00000810L,0x20000800L,0x20000810L, -0x00010800L,0x00010810L,0x20010800L,0x20010810L, -0x00000020L,0x00000030L,0x20000020L,0x20000030L, -0x00010020L,0x00010030L,0x20010020L,0x20010030L, -0x00000820L,0x00000830L,0x20000820L,0x20000830L, -0x00010820L,0x00010830L,0x20010820L,0x20010830L, -0x00080000L,0x00080010L,0x20080000L,0x20080010L, -0x00090000L,0x00090010L,0x20090000L,0x20090010L, -0x00080800L,0x00080810L,0x20080800L,0x20080810L, -0x00090800L,0x00090810L,0x20090800L,0x20090810L, -0x00080020L,0x00080030L,0x20080020L,0x20080030L, -0x00090020L,0x00090030L,0x20090020L,0x20090030L, -0x00080820L,0x00080830L,0x20080820L,0x20080830L, -0x00090820L,0x00090830L,0x20090820L,0x20090830L, -},{ -/* for C bits (numbered as per FIPS 46) 7 8 10 11 12 13 */ -0x00000000L,0x02000000L,0x00002000L,0x02002000L, -0x00200000L,0x02200000L,0x00202000L,0x02202000L, -0x00000004L,0x02000004L,0x00002004L,0x02002004L, -0x00200004L,0x02200004L,0x00202004L,0x02202004L, -0x00000400L,0x02000400L,0x00002400L,0x02002400L, -0x00200400L,0x02200400L,0x00202400L,0x02202400L, -0x00000404L,0x02000404L,0x00002404L,0x02002404L, -0x00200404L,0x02200404L,0x00202404L,0x02202404L, -0x10000000L,0x12000000L,0x10002000L,0x12002000L, -0x10200000L,0x12200000L,0x10202000L,0x12202000L, -0x10000004L,0x12000004L,0x10002004L,0x12002004L, -0x10200004L,0x12200004L,0x10202004L,0x12202004L, -0x10000400L,0x12000400L,0x10002400L,0x12002400L, -0x10200400L,0x12200400L,0x10202400L,0x12202400L, -0x10000404L,0x12000404L,0x10002404L,0x12002404L, -0x10200404L,0x12200404L,0x10202404L,0x12202404L, -},{ -/* for C bits (numbered as per FIPS 46) 14 15 16 17 19 20 */ -0x00000000L,0x00000001L,0x00040000L,0x00040001L, -0x01000000L,0x01000001L,0x01040000L,0x01040001L, -0x00000002L,0x00000003L,0x00040002L,0x00040003L, -0x01000002L,0x01000003L,0x01040002L,0x01040003L, -0x00000200L,0x00000201L,0x00040200L,0x00040201L, -0x01000200L,0x01000201L,0x01040200L,0x01040201L, -0x00000202L,0x00000203L,0x00040202L,0x00040203L, -0x01000202L,0x01000203L,0x01040202L,0x01040203L, -0x08000000L,0x08000001L,0x08040000L,0x08040001L, -0x09000000L,0x09000001L,0x09040000L,0x09040001L, -0x08000002L,0x08000003L,0x08040002L,0x08040003L, -0x09000002L,0x09000003L,0x09040002L,0x09040003L, -0x08000200L,0x08000201L,0x08040200L,0x08040201L, -0x09000200L,0x09000201L,0x09040200L,0x09040201L, -0x08000202L,0x08000203L,0x08040202L,0x08040203L, -0x09000202L,0x09000203L,0x09040202L,0x09040203L, -},{ -/* for C bits (numbered as per FIPS 46) 21 23 24 26 27 28 */ -0x00000000L,0x00100000L,0x00000100L,0x00100100L, -0x00000008L,0x00100008L,0x00000108L,0x00100108L, -0x00001000L,0x00101000L,0x00001100L,0x00101100L, -0x00001008L,0x00101008L,0x00001108L,0x00101108L, -0x04000000L,0x04100000L,0x04000100L,0x04100100L, -0x04000008L,0x04100008L,0x04000108L,0x04100108L, -0x04001000L,0x04101000L,0x04001100L,0x04101100L, -0x04001008L,0x04101008L,0x04001108L,0x04101108L, -0x00020000L,0x00120000L,0x00020100L,0x00120100L, -0x00020008L,0x00120008L,0x00020108L,0x00120108L, -0x00021000L,0x00121000L,0x00021100L,0x00121100L, -0x00021008L,0x00121008L,0x00021108L,0x00121108L, -0x04020000L,0x04120000L,0x04020100L,0x04120100L, -0x04020008L,0x04120008L,0x04020108L,0x04120108L, -0x04021000L,0x04121000L,0x04021100L,0x04121100L, -0x04021008L,0x04121008L,0x04021108L,0x04121108L, -},{ -/* for D bits (numbered as per FIPS 46) 1 2 3 4 5 6 */ -0x00000000L,0x10000000L,0x00010000L,0x10010000L, -0x00000004L,0x10000004L,0x00010004L,0x10010004L, -0x20000000L,0x30000000L,0x20010000L,0x30010000L, -0x20000004L,0x30000004L,0x20010004L,0x30010004L, -0x00100000L,0x10100000L,0x00110000L,0x10110000L, -0x00100004L,0x10100004L,0x00110004L,0x10110004L, -0x20100000L,0x30100000L,0x20110000L,0x30110000L, -0x20100004L,0x30100004L,0x20110004L,0x30110004L, -0x00001000L,0x10001000L,0x00011000L,0x10011000L, -0x00001004L,0x10001004L,0x00011004L,0x10011004L, -0x20001000L,0x30001000L,0x20011000L,0x30011000L, -0x20001004L,0x30001004L,0x20011004L,0x30011004L, -0x00101000L,0x10101000L,0x00111000L,0x10111000L, -0x00101004L,0x10101004L,0x00111004L,0x10111004L, -0x20101000L,0x30101000L,0x20111000L,0x30111000L, -0x20101004L,0x30101004L,0x20111004L,0x30111004L, -},{ -/* for D bits (numbered as per FIPS 46) 8 9 11 12 13 14 */ -0x00000000L,0x08000000L,0x00000008L,0x08000008L, -0x00000400L,0x08000400L,0x00000408L,0x08000408L, -0x00020000L,0x08020000L,0x00020008L,0x08020008L, -0x00020400L,0x08020400L,0x00020408L,0x08020408L, -0x00000001L,0x08000001L,0x00000009L,0x08000009L, -0x00000401L,0x08000401L,0x00000409L,0x08000409L, -0x00020001L,0x08020001L,0x00020009L,0x08020009L, -0x00020401L,0x08020401L,0x00020409L,0x08020409L, -0x02000000L,0x0A000000L,0x02000008L,0x0A000008L, -0x02000400L,0x0A000400L,0x02000408L,0x0A000408L, -0x02020000L,0x0A020000L,0x02020008L,0x0A020008L, -0x02020400L,0x0A020400L,0x02020408L,0x0A020408L, -0x02000001L,0x0A000001L,0x02000009L,0x0A000009L, -0x02000401L,0x0A000401L,0x02000409L,0x0A000409L, -0x02020001L,0x0A020001L,0x02020009L,0x0A020009L, -0x02020401L,0x0A020401L,0x02020409L,0x0A020409L, -},{ -/* for D bits (numbered as per FIPS 46) 16 17 18 19 20 21 */ -0x00000000L,0x00000100L,0x00080000L,0x00080100L, -0x01000000L,0x01000100L,0x01080000L,0x01080100L, -0x00000010L,0x00000110L,0x00080010L,0x00080110L, -0x01000010L,0x01000110L,0x01080010L,0x01080110L, -0x00200000L,0x00200100L,0x00280000L,0x00280100L, -0x01200000L,0x01200100L,0x01280000L,0x01280100L, -0x00200010L,0x00200110L,0x00280010L,0x00280110L, -0x01200010L,0x01200110L,0x01280010L,0x01280110L, -0x00000200L,0x00000300L,0x00080200L,0x00080300L, -0x01000200L,0x01000300L,0x01080200L,0x01080300L, -0x00000210L,0x00000310L,0x00080210L,0x00080310L, -0x01000210L,0x01000310L,0x01080210L,0x01080310L, -0x00200200L,0x00200300L,0x00280200L,0x00280300L, -0x01200200L,0x01200300L,0x01280200L,0x01280300L, -0x00200210L,0x00200310L,0x00280210L,0x00280310L, -0x01200210L,0x01200310L,0x01280210L,0x01280310L, -},{ -/* for D bits (numbered as per FIPS 46) 22 23 24 25 27 28 */ -0x00000000L,0x04000000L,0x00040000L,0x04040000L, -0x00000002L,0x04000002L,0x00040002L,0x04040002L, -0x00002000L,0x04002000L,0x00042000L,0x04042000L, -0x00002002L,0x04002002L,0x00042002L,0x04042002L, -0x00000020L,0x04000020L,0x00040020L,0x04040020L, -0x00000022L,0x04000022L,0x00040022L,0x04040022L, -0x00002020L,0x04002020L,0x00042020L,0x04042020L, -0x00002022L,0x04002022L,0x00042022L,0x04042022L, -0x00000800L,0x04000800L,0x00040800L,0x04040800L, -0x00000802L,0x04000802L,0x00040802L,0x04040802L, -0x00002800L,0x04002800L,0x00042800L,0x04042800L, -0x00002802L,0x04002802L,0x00042802L,0x04042802L, -0x00000820L,0x04000820L,0x00040820L,0x04040820L, -0x00000822L,0x04000822L,0x00040822L,0x04040822L, -0x00002820L,0x04002820L,0x00042820L,0x04042820L, -0x00002822L,0x04002822L,0x00042822L,0x04042822L, -} }; - -/* See ecb_encrypt.c for a pseudo description of these macros. */ -#define PERM_OP(a,b,t,n,m) ((t)=((((a)>>(n))^(b))&(m)),\ - (b)^=(t),\ - (a)^=((t)<<(n))) - -#define HPERM_OP(a,t,n,m) ((t)=((((a)<<(16-(n)))^(a))&(m)),\ - (a)=(a)^(t)^(t>>(16-(n))))\ - -#endif - -#ifndef NOPROTO -static int body(DES_LONG *out0, DES_LONG *out1, - des_key_schedule ks, DES_LONG Eswap0, DES_LONG Eswap1); -#ifndef HEADER_DES_LOCL_H -static int fcrypt_set_key(des_cblock (*key), des_key_schedule schedule); -#endif - -#else - -static int body(); -#ifndef HEADER_DES_LOCL_H -static int fcrypt_set_key(); -#endif -#endif - -#ifdef HEADER_DES_LOCL_H -#define fcrypt_set_key(a,b) des_set_key(a,b) -#else -static int fcrypt_set_key(key, schedule) -des_cblock (*key); -des_key_schedule schedule; - { - static const int shifts2[16]={0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0}; - register DES_LONG c,d,t,s; - register unsigned char *in; - register DES_LONG *k; - register int i; - - k=(DES_LONG *)schedule; - in=(unsigned char *)key; - - c2l(in,c); - c2l(in,d); - - /* I now do it in 47 simple operations :-) - * Thanks to John Fletcher (john_fletcher@lccmail.ocf.llnl.gov) - * for the inspiration. :-) */ - PERM_OP (d,c,t,4,0x0f0f0f0fL); - HPERM_OP(c,t,-2,0xcccc0000L); - HPERM_OP(d,t,-2,0xcccc0000L); - PERM_OP (d,c,t,1,0x55555555L); - PERM_OP (c,d,t,8,0x00ff00ffL); - PERM_OP (d,c,t,1,0x55555555L); - d= (((d&0x000000ffL)<<16)| (d&0x0000ff00L) | - ((d&0x00ff0000L)>>16)|((c&0xf0000000L)>>4)); - c&=0x0fffffffL; - - for (i=0; i<ITERATIONS; i++) - { - if (shifts2[i]) - { c=((c>>2)|(c<<26)); d=((d>>2)|(d<<26)); } - else - { c=((c>>1)|(c<<27)); d=((d>>1)|(d<<27)); } - c&=0x0fffffffL; - d&=0x0fffffffL; - /* could be a few less shifts but I am to lazy at this - * point in time to investigate */ - s= skb[0][ (c )&0x3f ]| - skb[1][((c>> 6L)&0x03)|((c>> 7L)&0x3c)]| - skb[2][((c>>13L)&0x0f)|((c>>14L)&0x30)]| - skb[3][((c>>20L)&0x01)|((c>>21L)&0x06) | - ((c>>22L)&0x38)]; - t= skb[4][ (d )&0x3f ]| - skb[5][((d>> 7L)&0x03)|((d>> 8L)&0x3c)]| - skb[6][ (d>>15L)&0x3f ]| - skb[7][((d>>21L)&0x0f)|((d>>22L)&0x30)]; - - /* table contained 0213 4657 */ - *(k++)=((t<<16)|(s&0x0000ffffL))&0xffffffffL; - s= ((s>>16)|(t&0xffff0000L)); - - s=(s<<4)|(s>>28); - *(k++)=s&0xffffffffL; - } - return(0); - } -#endif - -/****************************************************************** - * modified stuff for crypt. - ******************************************************************/ - -/* The changes to this macro may help or hinder, depending on the - * compiler and the achitecture. gcc2 always seems to do well :-). - * Inspired by Dana How <how@isl.stanford.edu> - * DO NOT use the alternative version on machines with 8 byte longs. - */ -#ifdef DES_PTR -#define CR_ENCRYPT(L,R,S) \ - t=(R^(R>>16)); \ - u=(t&E0); \ - t=(t&E1); \ - u=((u^(u<<16))^R^s[S ])<<2; \ - t=(t^(t<<16))^R^s[S+1]; \ - t=(t>>2)|(t<<30); \ - L^= \ - *(DES_LONG *)((unsigned char *)des_SP+0x0100+((t )&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x0300+((t>> 8)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x0500+((t>>16)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x0700+((t>>24)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+ ((u )&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x0200+((u>> 8)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x0400+((u>>16)&0xfc))+ \ - *(DES_LONG *)((unsigned char *)des_SP+0x0600+((u>>24)&0xfc)); -#else /* original version */ -#define CR_ENCRYPT(L,R,S) \ - t=(R^(R>>16)); \ - u=(t&E0); \ - t=(t&E1); \ - u=(u^(u<<16))^R^s[S ]; \ - t=(t^(t<<16))^R^s[S+1]; \ - t=(t>>4)|(t<<28); \ - L^= des_SPtrans[1][(t )&0x3f]| \ - des_SPtrans[3][(t>> 8)&0x3f]| \ - des_SPtrans[5][(t>>16)&0x3f]| \ - des_SPtrans[7][(t>>24)&0x3f]| \ - des_SPtrans[0][(u )&0x3f]| \ - des_SPtrans[2][(u>> 8)&0x3f]| \ - des_SPtrans[4][(u>>16)&0x3f]| \ - des_SPtrans[6][(u>>24)&0x3f]; -#endif - -/* Added more values to handle illegal salt values the way normal - * crypt() implementations do. The patch was sent by - * Bjorn Gronvall <bg@sics.se> - */ -static unsigned const char con_salt[128]={ -0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9, -0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,0xE1, -0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9, -0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF1, -0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9, -0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,0x00,0x01, -0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09, -0x0A,0x0B,0x05,0x06,0x07,0x08,0x09,0x0A, -0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12, -0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A, -0x1B,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0x22, -0x23,0x24,0x25,0x20,0x21,0x22,0x23,0x24, -0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C, -0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34, -0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C, -0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x44, -}; - -static unsigned const char cov_2char[64]={ -0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35, -0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44, -0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C, -0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x54, -0x55,0x56,0x57,0x58,0x59,0x5A,0x61,0x62, -0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A, -0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72, -0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A -}; - -#ifndef NOPROTO -#ifdef PERL5 -char *des_crypt(char *buf,char *salt); -#else -char *crypt(const char *buf,const char *salt); -#endif -#else -#ifdef PERL5 -char *des_crypt(); -#else -char *crypt(); -#endif -#endif - -#ifdef PERL5 -char *des_crypt(buf,salt) -#else -char *crypt(buf,salt) -#endif -const char *buf; -const char *salt; - { - unsigned int i,j,x,y; - DES_LONG Eswap0,Eswap1; - DES_LONG out[2],ll; - des_cblock key; - des_key_schedule ks; - static unsigned char buff[20]; - unsigned char bb[9]; - unsigned char *b=bb; - unsigned char c,u; - - /* eay 25/08/92 - * If you call crypt("pwd","*") as often happens when you - * have * as the pwd field in /etc/passwd, the function - * returns *\0XXXXXXXXX - * The \0 makes the string look like * so the pwd "*" would - * crypt to "*". This was found when replacing the crypt in - * our shared libraries. People found that the disbled - * accounts effectivly had no passwd :-(. */ - x=buff[0]=((salt[0] == '\0')?'A':salt[0]); - Eswap0=con_salt[x]; - x=buff[1]=((salt[1] == '\0')?'A':salt[1]); - Eswap1=con_salt[x]<<4; - - for (i=0; i<8; i++) - { - c= *(buf++); - if (!c) break; - key[i]=(c<<1); - } - for (; i<8; i++) - key[i]=0; - - fcrypt_set_key((des_cblock *)(key),ks); - body(&(out[0]),&(out[1]),ks,Eswap0,Eswap1); - - ll=out[0]; l2c(ll,b); - ll=out[1]; l2c(ll,b); - y=0; - u=0x80; - bb[8]=0; - for (i=2; i<13; i++) - { - c=0; - for (j=0; j<6; j++) - { - c<<=1; - if (bb[y] & u) c|=1; - u>>=1; - if (!u) - { - y++; - u=0x80; - } - } - buff[i]=cov_2char[c]; - } - buff[13]='\0'; - return((char *)buff); - } - -static int body(out0, out1, ks, Eswap0, Eswap1) -DES_LONG *out0; -DES_LONG *out1; -des_key_schedule ks; -DES_LONG Eswap0; -DES_LONG Eswap1; - { - register DES_LONG l,r,t,u; -#ifdef DES_PTR - register unsigned char *des_SP=(unsigned char *)des_SPtrans; -#endif - register DES_LONG *s; - register int i,j; - register DES_LONG E0,E1; - - l=0; - r=0; - - s=(DES_LONG *)ks; - E0=Eswap0; - E1=Eswap1; - - for (j=0; j<25; j++) - { - for (i=0; i<(ITERATIONS*2); i+=4) - { - CR_ENCRYPT(l,r, i); /* 1 */ - CR_ENCRYPT(r,l, i+2); /* 2 */ - } - t=l; - l=r; - r=t; - } - t=r; - r=(l>>1L)|(l<<31L); - l=(t>>1L)|(t<<31L); - /* clear the top bits on machines with 8byte longs */ - l&=0xffffffffL; - r&=0xffffffffL; - - PERM_OP(r,l,t, 1,0x55555555L); - PERM_OP(l,r,t, 8,0x00ff00ffL); - PERM_OP(r,l,t, 2,0x33333333L); - PERM_OP(l,r,t,16,0x0000ffffL); - PERM_OP(r,l,t, 4,0x0f0f0f0fL); - - *out0=l; - *out1=r; - return(0); - } - diff --git a/secure/lib/libdes/makefile.bc b/secure/lib/libdes/makefile.bc deleted file mode 100644 index 1fe6d4915a919..0000000000000 --- a/secure/lib/libdes/makefile.bc +++ /dev/null @@ -1,50 +0,0 @@ -# -# Origional BC Makefile from Teun <Teun.Nijssen@kub.nl> -# -# -CC = bcc -TLIB = tlib /0 /C -# note: the -3 flag produces code for 386, 486, Pentium etc; omit it for 286s -OPTIMIZE= -3 -O2 -#WINDOWS= -W -CFLAGS = -c -ml -d $(OPTIMIZE) $(WINDOWS) -DMSDOS -LFLAGS = -ml $(WINDOWS) - -.c.obj: - $(CC) $(CFLAGS) $*.c - -.obj.exe: - $(CC) $(LFLAGS) -e$*.exe $*.obj libdes.lib - -all: $(LIB) destest.exe rpw.exe des.exe speed.exe - -# "make clean": use a directory containing only libdes .exe and .obj files... -clean: - del *.exe - del *.obj - del libdes.lib - del libdes.rsp - -OBJS= cbc_cksm.obj cbc_enc.obj ecb_enc.obj pcbc_enc.obj \ - qud_cksm.obj rand_key.obj set_key.obj str2key.obj \ - enc_read.obj enc_writ.obj fcrypt.obj cfb_enc.obj \ - ecb3_enc.obj ofb_enc.obj cbc3_enc.obj read_pwd.obj\ - cfb64enc.obj ofb64enc.obj ede_enc.obj cfb64ede.obj\ - ofb64ede.obj supp.obj - -LIB= libdes.lib - -$(LIB): $(OBJS) - del $(LIB) - makersp "+%s &\n" &&| - $(OBJS) -| >libdes.rsp - $(TLIB) libdes.lib @libdes.rsp,nul - del libdes.rsp - -destest.exe: destest.obj libdes.lib -rpw.exe: rpw.obj libdes.lib -speed.exe: speed.obj libdes.lib -des.exe: des.obj libdes.lib - - diff --git a/secure/lib/libdes/ncbc_enc.c b/secure/lib/libdes/ncbc_enc.c deleted file mode 100644 index 4595dcb89151c..0000000000000 --- a/secure/lib/libdes/ncbc_enc.c +++ /dev/null @@ -1,120 +0,0 @@ -/* crypto/des/ncbc_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -void des_ncbc_encrypt(input, output, length, schedule, ivec, encrypt) -des_cblock (*input); -des_cblock (*output); -long length; -des_key_schedule schedule; -des_cblock (*ivec); -int encrypt; - { - register DES_LONG tin0,tin1; - register DES_LONG tout0,tout1,xor0,xor1; - register unsigned char *in,*out; - register long l=length; - DES_LONG tin[2]; - unsigned char *iv; - - in=(unsigned char *)input; - out=(unsigned char *)output; - iv=(unsigned char *)ivec; - - if (encrypt) - { - c2l(iv,tout0); - c2l(iv,tout1); - for (; l>0; l-=8) - { - if (l >= 8) - { - c2l(in,tin0); - c2l(in,tin1); - } - else - c2ln(in,tin0,tin1,l); - tin0^=tout0; tin[0]=tin0; - tin1^=tout1; tin[1]=tin1; - des_encrypt((DES_LONG *)tin,schedule,DES_ENCRYPT); - tout0=tin[0]; l2c(tout0,out); - tout1=tin[1]; l2c(tout1,out); - } - iv=(unsigned char *)ivec; - l2c(tout0,iv); - l2c(tout1,iv); - } - else - { - c2l(iv,xor0); - c2l(iv,xor1); - for (; l>0; l-=8) - { - c2l(in,tin0); tin[0]=tin0; - c2l(in,tin1); tin[1]=tin1; - des_encrypt((DES_LONG *)tin,schedule,DES_DECRYPT); - tout0=tin[0]^xor0; - tout1=tin[1]^xor1; - if (l >= 8) - { - l2c(tout0,out); - l2c(tout1,out); - } - else - l2cn(tout0,tout1,out,l); - xor0=tin0; - xor1=tin1; - } - iv=(unsigned char *)ivec; - l2c(xor0,iv); - l2c(xor1,iv); - } - tin0=tin1=tout0=tout1=xor0=xor1=0; - tin[0]=tin[1]=0; - } - diff --git a/secure/lib/libdes/new_rkey.c b/secure/lib/libdes/new_rkey.c deleted file mode 100644 index cd3e0102ad17b..0000000000000 --- a/secure/lib/libdes/new_rkey.c +++ /dev/null @@ -1,227 +0,0 @@ -/* crypto/des/new_rkey.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -/* - * Copyright (c) 1995 - * Mark Murray. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Murray - * and Eric Young - * 4. Neither the name of the author nor the names of any co-contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY MARK MURRAY AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -/* 21-Nov-95 - eay - I've finally put this into libdes, I have made a - * few changes since it need to compile on all version of unix and - * there were a few things that would not :-) */ - -#include <fcntl.h> -#include <stdio.h> -#include <unistd.h> -#include <sys/time.h> -#include <sys/param.h> -#include <sys/sysctl.h> -#include <machine/types.h> - -#include "des_locl.h" - -/* This counter keeps track of the pseudo-random sequence */ -static union { - DES_LONG ul0, ul1; - unsigned char uc[8]; -} counter; - -/* The current encryption schedule */ -static des_key_schedule current_key; - -/* - * des_set_random_generator_seed: starts a new pseudorandom sequence - * dependant on the supplied key - */ -void -des_set_random_generator_seed(new_key) - des_cblock *new_key; -{ - des_key_sched(new_key, current_key); - - /* reset the counter */ - counter.ul0 = counter.ul1 = 0; -} - -/* - * des_set_sequence_number: set the counter to a known value - */ -void -des_set_sequence_number(new_counter) - des_cblock new_counter; -{ - memcpy((char *)counter.uc,(char *)new_counter,sizeof(counter)); -} - -/* - * des_generate_random_block: returns the next 64 bit random number - */ - -void des_generate_random_block(random_block) - des_cblock *random_block; -{ - /* Encrypt the counter to get pseudo-random numbers */ - des_ecb_encrypt(&counter.uc, random_block, current_key, DES_ENCRYPT); - - /* increment the 64-bit counter - * (or that could be a 128 bit counter on a 64 bit box - eay */ - if (!++counter.ul0) counter.ul1++; -} - -/* - * des_new_random_key: Invents a new, random strong key with odd parity. - */ -int -des_new_random_key(new_key) - des_cblock *new_key; -{ - do { - des_generate_random_block(new_key); - des_set_odd_parity(new_key); - } while (des_is_weak_key(new_key)); - return(0); -} - -/* - * des_init_random_number_generator: intialises the random number generator - * to a truly nasty sequence using system - * supplied volatile variables. - */ -void -des_init_random_number_generator(key) - des_cblock *key; -{ - /* 64-bit structures */ - struct { - u_int32_t pid; - u_int32_t hostid; - } sysblock; - struct timeval timeblock; - struct { - u_int32_t tv_sec; - u_int32_t tv_usec; - } time64bit; - u_int32_t devrandom[2]; - des_cblock new_key; - int mib[2]; - size_t len; - int dr; - - /* Get host ID using official BSD 4.4 method */ - mib[0] = CTL_KERN; - mib[1] = KERN_HOSTID; - len = sizeof(sysblock.hostid); - sysctl(mib, 2, &sysblock.hostid, &len, NULL, 0); - - /* Get Process ID */ - sysblock.pid = getpid(); - - /* Generate a new key, and use it to seed the random generator */ - des_set_random_generator_seed(key); - des_set_sequence_number((unsigned char *)&sysblock); - des_new_random_key(&new_key); - des_set_random_generator_seed(&new_key); - - /* Try to confuse the sequence counter */ - gettimeofday(&timeblock, NULL); - time64bit.tv_sec = (u_int32_t)timeblock.tv_sec; - time64bit.tv_usec = (u_int32_t)timeblock.tv_usec; - /* If /dev/random is available, read some muck */ - dr = open("/dev/random", O_RDONLY); - if (dr >= 0) { - /* Set the descriptor into non-blocking mode. */ - fcntl(dr, F_SETFL, O_NONBLOCK); - len = read(dr, devrandom, sizeof(devrandom)); - close(dr); - if (len > 0) { - time64bit.tv_sec ^= devrandom[0]; - time64bit.tv_usec ^= devrandom[1]; - } -#ifdef DEBUG - printf("DEBUG: read from /dev/random %d %x %x\n", - len, devrandom[0], devrandom[1]); -#endif - } -#ifdef DEBUG - else printf("Cannot open /dev/random\n"); -#endif - des_set_sequence_number((unsigned char *)&time64bit); - - /* Do the work */ - des_new_random_key(&new_key); - des_set_random_generator_seed(&new_key); -} diff --git a/secure/lib/libdes/ofb64ede.c b/secure/lib/libdes/ofb64ede.c deleted file mode 100644 index 2bcb0d8986f51..0000000000000 --- a/secure/lib/libdes/ofb64ede.c +++ /dev/null @@ -1,126 +0,0 @@ -/* crypto/des/ofb64ede.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -/* The input and output encrypted as though 64bit ofb mode is being - * used. The extra state information to record how much of the - * 64bit block we have used is contained in *num; - */ -void des_ede3_ofb64_encrypt(in, out, length, k1,k2,k3, ivec, num) -register unsigned char *in; -register unsigned char *out; -long length; -des_key_schedule k1,k2,k3; -des_cblock (*ivec); -int *num; - { - register DES_LONG v0,v1; - register int n= *num; - register long l=length; - des_cblock d; - register char *dp; - DES_LONG ti[2]; - unsigned char *iv; - int save=0; - - iv=(unsigned char *)ivec; - c2l(iv,v0); - c2l(iv,v1); - ti[0]=v0; - ti[1]=v1; - dp=(char *)d; - l2c(v0,dp); - l2c(v1,dp); - while (l--) - { - if (n == 0) - { - IP(v0,v1); - - ti[0]=v0; - ti[1]=v1; - des_encrypt2((DES_LONG *)ti,k1,DES_ENCRYPT); - des_encrypt2((DES_LONG *)ti,k2,DES_DECRYPT); - des_encrypt2((DES_LONG *)ti,k3,DES_ENCRYPT); - v0=ti[0]; - v1=ti[1]; - - FP(v1,v0); - - dp=(char *)d; - l2c(v0,dp); - l2c(v1,dp); - save++; - } - *(out++)= *(in++)^d[n]; - n=(n+1)&0x07; - } - if (save) - { -/* v0=ti[0]; - v1=ti[1];*/ - iv=(unsigned char *)ivec; - l2c(v0,iv); - l2c(v1,iv); - } - v0=v1=ti[0]=ti[1]=0; - *num=n; - } - -#ifdef undef /* MACRO */ -void des_ede2_ofb64_encrypt(in, out, length, k1,k2, ivec, num) -register unsigned char *in; -register unsigned char *out; -long length; -des_key_schedule k1,k2; -des_cblock (*ivec); -int *num; - { - des_ede3_ofb64_encrypt(in, out, length, k1,k2,k1, ivec, num); - } -#endif diff --git a/secure/lib/libdes/ofb64enc.c b/secure/lib/libdes/ofb64enc.c deleted file mode 100644 index d3fa6c5cf18fd..0000000000000 --- a/secure/lib/libdes/ofb64enc.c +++ /dev/null @@ -1,103 +0,0 @@ -/* crypto/des/ofb64enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -/* The input and output encrypted as though 64bit ofb mode is being - * used. The extra state information to record how much of the - * 64bit block we have used is contained in *num; - */ -void des_ofb64_encrypt(in, out, length, schedule, ivec, num) -register unsigned char *in; -register unsigned char *out; -long length; -des_key_schedule schedule; -des_cblock (*ivec); -int *num; - { - register DES_LONG v0,v1,t; - register int n= *num; - register long l=length; - des_cblock d; - register char *dp; - DES_LONG ti[2]; - unsigned char *iv; - int save=0; - - iv=(unsigned char *)ivec; - c2l(iv,v0); - c2l(iv,v1); - ti[0]=v0; - ti[1]=v1; - dp=(char *)d; - l2c(v0,dp); - l2c(v1,dp); - while (l--) - { - if (n == 0) - { - des_encrypt((DES_LONG *)ti,schedule,DES_ENCRYPT); - dp=(char *)d; - t=ti[0]; l2c(t,dp); - t=ti[1]; l2c(t,dp); - save++; - } - *(out++)= *(in++)^d[n]; - n=(n+1)&0x07; - } - if (save) - { - v0=ti[0]; - v1=ti[1]; - iv=(unsigned char *)ivec; - l2c(v0,iv); - l2c(v1,iv); - } - t=v0=v1=ti[0]=ti[1]=0; - *num=n; - } - diff --git a/secure/lib/libdes/ofb_enc.c b/secure/lib/libdes/ofb_enc.c deleted file mode 100644 index 27b369183e503..0000000000000 --- a/secure/lib/libdes/ofb_enc.c +++ /dev/null @@ -1,111 +0,0 @@ -/* crypto/des/ofb_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -/* The input and output are loaded in multiples of 8 bits. - * What this means is that if you hame numbits=12 and length=2 - * the first 12 bits will be retrieved from the first byte and half - * the second. The second 12 bits will come from the 3rd and half the 4th - * byte. - */ -void des_ofb_encrypt(in, out, numbits, length, schedule, ivec) -unsigned char *in; -unsigned char *out; -int numbits; -long length; -des_key_schedule schedule; -des_cblock (*ivec); - { - register DES_LONG d0,d1,v0,v1,n=(numbits+7)/8; - register DES_LONG mask0,mask1; - register long l=length; - register int num=numbits; - DES_LONG ti[2]; - unsigned char *iv; - - if (num > 64) return; - if (num > 32) - { - mask0=0xffffffffL; - if (num >= 64) - mask1=mask0; - else - mask1=(1L<<(num-32))-1; - } - else - { - if (num == 32) - mask0=0xffffffffL; - else - mask0=(1L<<num)-1; - mask1=0x00000000; - } - - iv=(unsigned char *)ivec; - c2l(iv,v0); - c2l(iv,v1); - ti[0]=v0; - ti[1]=v1; - while (l-- > 0) - { - des_encrypt((DES_LONG *)ti,schedule,DES_ENCRYPT); - c2ln(in,d0,d1,n); - in+=n; - d0=(d0^ti[0])&mask0; - d1=(d1^ti[1])&mask1; - l2cn(d0,d1,out,n); - out+=n; - } - v0=ti[0]; - v1=ti[1]; - iv=(unsigned char *)ivec; - l2c(v0,iv); - l2c(v1,iv); - v0=v1=d0=d1=ti[0]=ti[1]=0; - } - diff --git a/secure/lib/libdes/pcbc_enc.c b/secure/lib/libdes/pcbc_enc.c deleted file mode 100644 index 1271d02cf8f09..0000000000000 --- a/secure/lib/libdes/pcbc_enc.c +++ /dev/null @@ -1,115 +0,0 @@ -/* crypto/des/pcbc_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -void des_pcbc_encrypt(input, output, length, schedule, ivec, encrypt) -des_cblock (*input); -des_cblock (*output); -long length; -des_key_schedule schedule; -des_cblock (*ivec); -int encrypt; - { - register DES_LONG sin0,sin1,xor0,xor1,tout0,tout1; - DES_LONG tin[2]; - unsigned char *in,*out,*iv; - - in=(unsigned char *)input; - out=(unsigned char *)output; - iv=(unsigned char *)ivec; - - if (encrypt) - { - c2l(iv,xor0); - c2l(iv,xor1); - for (; length>0; length-=8) - { - if (length >= 8) - { - c2l(in,sin0); - c2l(in,sin1); - } - else - c2ln(in,sin0,sin1,length); - tin[0]=sin0^xor0; - tin[1]=sin1^xor1; - des_encrypt((DES_LONG *)tin,schedule,DES_ENCRYPT); - tout0=tin[0]; - tout1=tin[1]; - xor0=sin0^tout0; - xor1=sin1^tout1; - l2c(tout0,out); - l2c(tout1,out); - } - } - else - { - c2l(iv,xor0); c2l(iv,xor1); - for (; length>0; length-=8) - { - c2l(in,sin0); - c2l(in,sin1); - tin[0]=sin0; - tin[1]=sin1; - des_encrypt((DES_LONG *)tin,schedule,DES_DECRYPT); - tout0=tin[0]^xor0; - tout1=tin[1]^xor1; - if (length >= 8) - { - l2c(tout0,out); - l2c(tout1,out); - } - else - l2cn(tout0,tout1,out,length); - xor0=tout0^sin0; - xor1=tout1^sin1; - } - } - tin[0]=tin[1]=0; - sin0=sin1=xor0=xor1=tout0=tout1=0; - } diff --git a/secure/lib/libdes/podd.h b/secure/lib/libdes/podd.h deleted file mode 100644 index 420fc43fa3e41..0000000000000 --- a/secure/lib/libdes/podd.h +++ /dev/null @@ -1,64 +0,0 @@ -/* crypto/des/podd.h */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -static const unsigned char odd_parity[256]={ - 1, 1, 2, 2, 4, 4, 7, 7, 8, 8, 11, 11, 13, 13, 14, 14, - 16, 16, 19, 19, 21, 21, 22, 22, 25, 25, 26, 26, 28, 28, 31, 31, - 32, 32, 35, 35, 37, 37, 38, 38, 41, 41, 42, 42, 44, 44, 47, 47, - 49, 49, 50, 50, 52, 52, 55, 55, 56, 56, 59, 59, 61, 61, 62, 62, - 64, 64, 67, 67, 69, 69, 70, 70, 73, 73, 74, 74, 76, 76, 79, 79, - 81, 81, 82, 82, 84, 84, 87, 87, 88, 88, 91, 91, 93, 93, 94, 94, - 97, 97, 98, 98,100,100,103,103,104,104,107,107,109,109,110,110, -112,112,115,115,117,117,118,118,121,121,122,122,124,124,127,127, -128,128,131,131,133,133,134,134,137,137,138,138,140,140,143,143, -145,145,146,146,148,148,151,151,152,152,155,155,157,157,158,158, -161,161,162,162,164,164,167,167,168,168,171,171,173,173,174,174, -176,176,179,179,181,181,182,182,185,185,186,186,188,188,191,191, -193,193,194,194,196,196,199,199,200,200,203,203,205,205,206,206, -208,208,211,211,213,213,214,214,217,217,218,218,220,220,223,223, -224,224,227,227,229,229,230,230,233,233,234,234,236,236,239,239, -241,241,242,242,244,244,247,247,248,248,251,251,253,253,254,254}; diff --git a/secure/lib/libdes/qud_cksm.c b/secure/lib/libdes/qud_cksm.c deleted file mode 100644 index dc74c94cd1ffd..0000000000000 --- a/secure/lib/libdes/qud_cksm.c +++ /dev/null @@ -1,133 +0,0 @@ -/* crypto/des/qud_cksm.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -/* From "Message Authentication" R.R. Jueneman, S.M. Matyas, C.H. Meyer - * IEEE Communications Magazine Sept 1985 Vol. 23 No. 9 p 29-40 - * This module in only based on the code in this paper and is - * almost definitely not the same as the MIT implementation. - */ -#include "des_locl.h" - -/* bug fix for dos - 7/6/91 - Larry hughes@logos.ucs.indiana.edu */ -#define Q_B0(a) (((DES_LONG)(a))) -#define Q_B1(a) (((DES_LONG)(a))<<8) -#define Q_B2(a) (((DES_LONG)(a))<<16) -#define Q_B3(a) (((DES_LONG)(a))<<24) - -/* used to scramble things a bit */ -/* Got the value MIT uses via brute force :-) 2/10/90 eay */ -#define NOISE ((DES_LONG)83653421L) - -DES_LONG des_quad_cksum(input, output, length, out_count, seed) -des_cblock (*input); -des_cblock (*output); -long length; -int out_count; -des_cblock (*seed); - { - DES_LONG z0,z1,t0,t1; - int i; - long l; - unsigned char *cp; - unsigned char *lp; - - if (out_count < 1) out_count=1; - lp=(unsigned char *)output; - - z0=Q_B0((*seed)[0])|Q_B1((*seed)[1])|Q_B2((*seed)[2])|Q_B3((*seed)[3]); - z1=Q_B0((*seed)[4])|Q_B1((*seed)[5])|Q_B2((*seed)[6])|Q_B3((*seed)[7]); - - for (i=0; ((i<4)&&(i<out_count)); i++) - { - cp=(unsigned char *)input; - l=length; - while (l > 0) - { - if (l > 1) - { - t0= (DES_LONG)(*(cp++)); - t0|=(DES_LONG)Q_B1(*(cp++)); - l--; - } - else - t0= (DES_LONG)(*(cp++)); - l--; - /* add */ - t0+=z0; - t0&=0xffffffffL; - t1=z1; - /* square, well sort of square */ - z0=((((t0*t0)&0xffffffffL)+((t1*t1)&0xffffffffL)) - &0xffffffffL)%0x7fffffffL; - z1=((t0*((t1+NOISE)&0xffffffffL))&0xffffffffL)%0x7fffffffL; - } - if (lp != NULL) - { - /* I believe I finally have things worked out. - * The MIT library assumes that the checksum - * is one huge number and it is returned in a - * host dependant byte order. - */ - static DES_LONG ltmp=1; - static unsigned char *c=(unsigned char *)<mp; - - if (c[0]) - { - l2c(z0,lp); - l2c(z1,lp); - } - else - { - lp=output[out_count-i-1]; - l2n(z1,lp); - l2n(z0,lp); - } - } - } - return(z0); - } - diff --git a/secure/lib/libdes/rand_key.c b/secure/lib/libdes/rand_key.c deleted file mode 100644 index 4d20201c58ea6..0000000000000 --- a/secure/lib/libdes/rand_key.c +++ /dev/null @@ -1,107 +0,0 @@ -/* crypto/des/rand_key.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" -#include <time.h> - -static int seed=0; -static des_cblock init; - -void des_random_seed(key) -des_cblock key; - { - memcpy(init,key,sizeof(des_cblock)); - seed=1; - } - -void des_random_key(ret) -unsigned char *ret; - { - des_key_schedule ks; - static DES_LONG c=0; - static unsigned short pid=0; - static des_cblock data={0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef}; - des_cblock key; - unsigned char *p; - DES_LONG t; - int i; - -#ifdef MSDOS - pid=1; -#else - if (!pid) pid=getpid(); -#endif - p=key; - if (seed) - { - for (i=0; i<8; i++) - { - data[i] ^= init[i]; - init[i]=0; - } - seed=0; - } - t=(DES_LONG)time(NULL); - l2c(t,p); - t=(DES_LONG)((pid)|((c++)<<16)); - l2c(t,p); - - des_set_odd_parity((des_cblock *)data); - des_set_key((des_cblock *)data,ks); - des_cbc_cksum((des_cblock *)key,(des_cblock *)key, - (long)sizeof(key),ks,(des_cblock *)data); - - des_set_odd_parity((des_cblock *)key); - des_set_key((des_cblock *)key,ks); - des_cbc_cksum((des_cblock *)key,(des_cblock *)data, - (long)sizeof(key),ks,(des_cblock *)key); - - memcpy(ret,data,sizeof(key)); - memset(key,0,sizeof(key)); - memset(ks,0,sizeof(ks)); - t=0; - } diff --git a/secure/lib/libdes/read_pwd.c b/secure/lib/libdes/read_pwd.c deleted file mode 100644 index 240aa1606a9c7..0000000000000 --- a/secure/lib/libdes/read_pwd.c +++ /dev/null @@ -1,433 +0,0 @@ -/* crypto/des/read_pwd.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifdef WIN16TTY -#undef WIN16 -#undef _WINDOWS -#include <graph.h> -#endif - -/* 06-Apr-92 Luke Brennan Support for VMS */ -#include "des_locl.h" -#include <signal.h> -#include <string.h> -#include <setjmp.h> -#include <errno.h> - -/* There are 5 types of terminal interface supported, - * TERMIO, TERMIOS, VMS, MSDOS and SGTTY - */ - -#if defined(__sgi) && !defined(TERMIOS) -#define TERMIOS -#undef TERMIO -#undef SGTTY -#endif - -#if defined(linux) && !defined(TERMIO) -#undef TERMIOS -#define TERMIO -#undef SGTTY -#endif - -#ifdef _LIBC -#define TERMIO -#endif - -#if !defined(TERMIO) && !defined(TERMIOS) && !defined(VMS) && !defined(MSDOS) -#define SGTTY -#endif - -#ifdef TERMIOS -#include <termios.h> -#define TTY_STRUCT struct termios -#define TTY_FLAGS c_lflag -#define TTY_get(tty,data) tcgetattr(tty,data) -#define TTY_set(tty,data) tcsetattr(tty,TCSANOW,data) -#endif - -#ifdef TERMIO -#include <termio.h> -#define TTY_STRUCT struct termio -#define TTY_FLAGS c_lflag -#define TTY_get(tty,data) ioctl(tty,TCGETA,data) -#define TTY_set(tty,data) ioctl(tty,TCSETA,data) -#endif - -#ifdef SGTTY -#include <sgtty.h> -#define TTY_STRUCT struct sgttyb -#define TTY_FLAGS sg_flags -#define TTY_get(tty,data) ioctl(tty,TIOCGETP,data) -#define TTY_set(tty,data) ioctl(tty,TIOCSETP,data) -#endif - -#if !defined(_LIBC) && !defined(MSDOS) && !defined(VMS) -#include <sys/ioctl.h> -#endif - -#ifdef MSDOS -#include <conio.h> -#define fgets(a,b,c) noecho_fgets(a,b,c) -#endif - -#ifdef VMS -#include <ssdef.h> -#include <iodef.h> -#include <ttdef.h> -#include <descrip.h> -struct IOSB { - short iosb$w_value; - short iosb$w_count; - long iosb$l_info; - }; -#endif - -#ifndef NX509_SIG -#define NX509_SIG 32 -#endif - -#ifndef NOPROTO -static void read_till_nl(FILE *); -static int read_pw(char *buf, char *buff, int size, char *prompt, int verify); -static void recsig(int); -static void pushsig(void); -static void popsig(void); -#if defined(MSDOS) && !defined(WIN16) -static int noecho_fgets(char *buf, int size, FILE *tty); -#endif -#else -static void read_till_nl(); -static int read_pw(); -static void recsig(); -static void pushsig(); -static void popsig(); -#if defined(MSDOS) && !defined(WIN16) -static int noecho_fgets(); -#endif -#endif - -#ifndef NOPROTO -static void (*savsig[NX509_SIG])(int ); -#else -static void (*savsig[NX509_SIG])(); -#endif -static jmp_buf save; - -int des_read_password(key, prompt, verify) -des_cblock (*key); -char *prompt; -int verify; - { - int ok; - char buf[BUFSIZ],buff[BUFSIZ]; - - if ((ok=read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0) - des_string_to_key(buf,key); - memset(buf,0,BUFSIZ); - memset(buff,0,BUFSIZ); - return(ok); - } - -int des_read_2passwords(key1, key2, prompt, verify) -des_cblock (*key1); -des_cblock (*key2); -char *prompt; -int verify; - { - int ok; - char buf[BUFSIZ],buff[BUFSIZ]; - - if ((ok=read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0) - des_string_to_2keys(buf,key1,key2); - memset(buf,0,BUFSIZ); - memset(buff,0,BUFSIZ); - return(ok); - } - -int des_read_pw_string(buf, length, prompt, verify) -char *buf; -int length; -char *prompt; -int verify; - { - char buff[BUFSIZ]; - int ret; - - ret=read_pw(buf,buff,(length>BUFSIZ)?BUFSIZ:length,prompt,verify); - memset(buff,0,BUFSIZ); - return(ret); - } - -#ifndef WIN16 - -static void read_till_nl(in) -FILE *in; - { -#define SIZE 4 - char buf[SIZE+1]; - - do { - fgets(buf,SIZE,in); - } while (strchr(buf,'\n') == NULL); - } - - -/* return 0 if ok, 1 (or -1) otherwise */ -static int read_pw(buf, buff, size, prompt, verify) -char *buf; -char *buff; -int size; -char *prompt; -int verify; - { -#ifdef VMS - struct IOSB iosb; - $DESCRIPTOR(terminal,"TT"); - long tty_orig[3], tty_new[3]; - long status; - unsigned short channel = 0; -#else -#ifndef MSDOS - TTY_STRUCT tty_orig,tty_new; -#endif -#endif - int number=5; - int ok=0; - int ps=0; - int is_a_tty=1; - - FILE *tty=NULL; - char *p; - -#ifndef MSDOS - if ((tty=fopen("/dev/tty","r")) == NULL) - tty=stdin; -#else /* MSDOS */ - if ((tty=fopen("con","r")) == NULL) - tty=stdin; -#endif /* MSDOS */ - -#if defined(TTY_get) && !defined(VMS) - if (TTY_get(fileno(tty),&tty_orig) == -1) - { -#ifdef ENOTTY - if (errno == ENOTTY) - is_a_tty=0; - else -#endif - return(-1); - } - memcpy(&(tty_new),&(tty_orig),sizeof(tty_orig)); -#endif -#ifdef VMS - status = SYS$ASSIGN(&terminal,&channel,0,0); - if (status != SS$_NORMAL) - return(-1); - status=SYS$QIOW(0,channel,IO$_SENSEMODE,&iosb,0,0,tty_orig,12,0,0,0,0); - if ((status != SS$_NORMAL) || (iosb.iosb$w_value != SS$_NORMAL)) - return(-1); -#endif - - if (setjmp(save)) - { - ok=0; - goto error; - } - pushsig(); - ps=1; - -#ifdef TTY_FLAGS - tty_new.TTY_FLAGS &= ~ECHO; -#endif - -#if defined(TTY_set) && !defined(VMS) - if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1)) - return(-1); -#endif -#ifdef VMS - tty_new[0] = tty_orig[0]; - tty_new[1] = tty_orig[1] | TT$M_NOECHO; - tty_new[2] = tty_orig[2]; - status = SYS$QIOW(0,channel,IO$_SETMODE,&iosb,0,0,tty_new,12,0,0,0,0); - if ((status != SS$_NORMAL) || (iosb.iosb$w_value != SS$_NORMAL)) - return(-1); -#endif - ps=2; - - while ((!ok) && (number--)) - { - fputs(prompt,stderr); - fflush(stderr); - - buf[0]='\0'; - fgets(buf,size,tty); - if (feof(tty)) goto error; - if (ferror(tty)) goto error; - if ((p=(char *)strchr(buf,'\n')) != NULL) - *p='\0'; - else read_till_nl(tty); - if (verify) - { - fprintf(stderr,"\nVerifying password - %s",prompt); - fflush(stderr); - buff[0]='\0'; - fgets(buff,size,tty); - if (feof(tty)) goto error; - if ((p=(char *)strchr(buff,'\n')) != NULL) - *p='\0'; - else read_till_nl(tty); - - if (strcmp(buf,buff) != 0) - { - fprintf(stderr,"\nVerify failure"); - fflush(stderr); - break; - /* continue; */ - } - } - ok=1; - } - -error: - fprintf(stderr,"\n"); -#ifdef DEBUG - perror("fgets(tty)"); -#endif - /* What can we do if there is an error? */ -#if defined(TTY_set) && !defined(VMS) - if (ps >= 2) TTY_set(fileno(tty),&tty_orig); -#endif -#ifdef VMS - if (ps >= 2) - status = SYS$QIOW(0,channel,IO$_SETMODE,&iosb,0,0 - ,tty_orig,12,0,0,0,0); -#endif - - if (ps >= 1) popsig(); - if (stdin != tty) fclose(tty); -#ifdef VMS - status = SYS$DASSGN(channel); -#endif - return(!ok); - } - -#else /* WIN16 */ - -static int read_pw(buf, buff, size, prompt, verify) -char *buf; -char *buff; -int size; -char *prompt; -int verify; - { - memset(buf,0,size); - memset(buff,0,size); - return(0); - } - -#endif - -static void pushsig() - { - int i; - - for (i=1; i<NX509_SIG; i++) - savsig[i]=signal(i,recsig); - } - -static void popsig() - { - int i; - - for (i=1; i<NX509_SIG; i++) - signal(i,savsig[i]); - } - -static void recsig(i) -int i; - { - longjmp(save,1); -#ifdef LINT - i=i; -#endif - } - -#if defined(MSDOS) && !defined(WIN16) -static int noecho_fgets(buf,size,tty) -char *buf; -int size; -FILE *tty; - { - int i; - char *p; - - p=buf; - for (;;) - { - if (size == 0) - { - *p='\0'; - break; - } - size--; -#ifdef WIN16TTY - i=_inchar(); -#else - i=getch(); -#endif - if (i == '\r') i='\n'; - *(p++)=i; - if (i == '\n') - { - *p='\0'; - break; - } - } - return(strlen(buf)); - } -#endif diff --git a/secure/lib/libdes/rpc_des.h b/secure/lib/libdes/rpc_des.h deleted file mode 100644 index 0b0bbf58dcc84..0000000000000 --- a/secure/lib/libdes/rpc_des.h +++ /dev/null @@ -1,120 +0,0 @@ -/* crypto/des/rpc_des.h */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -/* @(#)des.h 2.2 88/08/10 4.0 RPCSRC; from 2.7 88/02/08 SMI */ -/* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 - */ -/* - * Generic DES driver interface - * Keep this file hardware independent! - * Copyright (c) 1986 by Sun Microsystems, Inc. - */ - -#define DES_MAXLEN 65536 /* maximum # of bytes to encrypt */ -#define DES_QUICKLEN 16 /* maximum # of bytes to encrypt quickly */ - -#ifdef HEADER_DES_H -#undef ENCRYPT -#undef DECRYPT -#endif - -enum desdir { ENCRYPT, DECRYPT }; -enum desmode { CBC, ECB }; - -/* - * parameters to ioctl call - */ -struct desparams { - unsigned char des_key[8]; /* key (with low bit parity) */ - enum desdir des_dir; /* direction */ - enum desmode des_mode; /* mode */ - unsigned char des_ivec[8]; /* input vector */ - unsigned des_len; /* number of bytes to crypt */ - union { - unsigned char UDES_data[DES_QUICKLEN]; - unsigned char *UDES_buf; - } UDES; -# define des_data UDES.UDES_data /* direct data here if quick */ -# define des_buf UDES.UDES_buf /* otherwise, pointer to data */ -}; - -/* - * Encrypt an arbitrary sized buffer - */ -#define DESIOCBLOCK _IOWR(d, 6, struct desparams) - -/* - * Encrypt of small amount of data, quickly - */ -#define DESIOCQUICK _IOWR(d, 7, struct desparams) - diff --git a/secure/lib/libdes/rpc_enc.c b/secure/lib/libdes/rpc_enc.c deleted file mode 100644 index d674865c9d6f9..0000000000000 --- a/secure/lib/libdes/rpc_enc.c +++ /dev/null @@ -1,96 +0,0 @@ -/* crypto/des/rpc_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "rpc_des.h" -#include "des_locl.h" -#include "des_ver.h" - -#ifndef NOPROTO -int _des_crypt(char *buf,int len,struct desparams *desp); -#else -int _des_crypt(); -#endif - -int _des_crypt(buf, len, desp) -char *buf; -int len; -struct desparams *desp; - { - des_key_schedule ks; - int enc; - - des_set_key((des_cblock *)desp->des_key,ks); - enc=(desp->des_dir == ENCRYPT)?DES_ENCRYPT:DES_DECRYPT; - - if (desp->des_mode == CBC) - des_ecb_encrypt((des_cblock *)desp->UDES.UDES_buf, - (des_cblock *)desp->UDES.UDES_buf,ks,enc); - else - { - des_ncbc_encrypt((des_cblock *)desp->UDES.UDES_buf, - (des_cblock *)desp->UDES.UDES_buf, - (long)len,ks, - (des_cblock *)desp->des_ivec,enc); -#ifdef undef - /* len will always be %8 if called from common_crypt - * in secure_rpc. - * Libdes's cbc encrypt does not copy back the iv, - * so we have to do it here. */ - /* It does now :-) eay 20/09/95 */ - - a=(char *)&(desp->UDES.UDES_buf[len-8]); - b=(char *)&(desp->des_ivec[0]); - - *(a++)= *(b++); *(a++)= *(b++); - *(a++)= *(b++); *(a++)= *(b++); - *(a++)= *(b++); *(a++)= *(b++); - *(a++)= *(b++); *(a++)= *(b++); -#endif - } - return(1); - } - diff --git a/secure/lib/libdes/rpw.c b/secure/lib/libdes/rpw.c deleted file mode 100644 index 69c6b8490a885..0000000000000 --- a/secure/lib/libdes/rpw.c +++ /dev/null @@ -1,90 +0,0 @@ -/* crypto/des/rpw.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include <stdio.h> -#include "des.h" - -int main(argc,argv) -int argc; -char *argv[]; - { - des_cblock k,k1; - int i; - - printf("read passwd\n"); - if ((i=des_read_password((C_Block *)k,"Enter password:",0)) == 0) - { - printf("password = "); - for (i=0; i<8; i++) - printf("%02x ",k[i]); - } - else - printf("error %d\n",i); - printf("\n"); - printf("read 2passwds and verify\n"); - if ((i=des_read_2passwords((C_Block *)k,(C_Block *)k1, - "Enter verified password:",1)) == 0) - { - printf("password1 = "); - for (i=0; i<8; i++) - printf("%02x ",k[i]); - printf("\n"); - printf("password2 = "); - for (i=0; i<8; i++) - printf("%02x ",k1[i]); - printf("\n"); - exit(1); - } - else - { - printf("error %d\n",i); - exit(0); - } -#ifdef LINT - return(0); -#endif - } diff --git a/secure/lib/libdes/set_key.c b/secure/lib/libdes/set_key.c deleted file mode 100644 index 8365ee4ab6f42..0000000000000 --- a/secure/lib/libdes/set_key.c +++ /dev/null @@ -1,233 +0,0 @@ -/* crypto/des/set_key.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -/* set_key.c v 1.4 eay 24/9/91 - * 1.4 Speed up by 400% :-) - * 1.3 added register declarations. - * 1.2 unrolled make_key_sched a bit more - * 1.1 added norm_expand_bits - * 1.0 First working version - */ -#include "des_locl.h" -#include "podd.h" -#include "sk.h" - -#ifndef NOPROTO -static int check_parity(des_cblock (*key)); -#else -static int check_parity(); -#endif - -int des_check_key=0; - -void des_set_odd_parity(key) -des_cblock (*key); - { - int i; - - for (i=0; i<DES_KEY_SZ; i++) - (*key)[i]=odd_parity[(*key)[i]]; - } - -static int check_parity(key) -des_cblock (*key); - { - int i; - - for (i=0; i<DES_KEY_SZ; i++) - { - if ((*key)[i] != odd_parity[(*key)[i]]) - return(0); - } - return(1); - } - -/* Weak and semi week keys as take from - * %A D.W. Davies - * %A W.L. Price - * %T Security for Computer Networks - * %I John Wiley & Sons - * %D 1984 - * Many thanks to smb@ulysses.att.com (Steven Bellovin) for the reference - * (and actual cblock values). - */ -#define NUM_WEAK_KEY 16 -static des_cblock weak_keys[NUM_WEAK_KEY]={ - /* weak keys */ - {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01}, - {0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE}, - {0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F}, - {0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0}, - /* semi-weak keys */ - {0x01,0xFE,0x01,0xFE,0x01,0xFE,0x01,0xFE}, - {0xFE,0x01,0xFE,0x01,0xFE,0x01,0xFE,0x01}, - {0x1F,0xE0,0x1F,0xE0,0x0E,0xF1,0x0E,0xF1}, - {0xE0,0x1F,0xE0,0x1F,0xF1,0x0E,0xF1,0x0E}, - {0x01,0xE0,0x01,0xE0,0x01,0xF1,0x01,0xF1}, - {0xE0,0x01,0xE0,0x01,0xF1,0x01,0xF1,0x01}, - {0x1F,0xFE,0x1F,0xFE,0x0E,0xFE,0x0E,0xFE}, - {0xFE,0x1F,0xFE,0x1F,0xFE,0x0E,0xFE,0x0E}, - {0x01,0x1F,0x01,0x1F,0x01,0x0E,0x01,0x0E}, - {0x1F,0x01,0x1F,0x01,0x0E,0x01,0x0E,0x01}, - {0xE0,0xFE,0xE0,0xFE,0xF1,0xFE,0xF1,0xFE}, - {0xFE,0xE0,0xFE,0xE0,0xFE,0xF1,0xFE,0xF1}}; - -int des_is_weak_key(key) -des_cblock (*key); - { - int i; - - for (i=0; i<NUM_WEAK_KEY; i++) - /* Added == 0 to comparision, I obviously don't run - * this section very often :-(, thanks to - * engineering@MorningStar.Com for the fix - * eay 93/06/29 */ - if (memcmp(weak_keys[i],key,sizeof(key)) == 0) return(1); - return(0); - } - -/* NOW DEFINED IN des_local.h - * See ecb_encrypt.c for a pseudo description of these macros. - * #define PERM_OP(a,b,t,n,m) ((t)=((((a)>>(n))^(b))&(m)),\ - * (b)^=(t),\ - * (a)=((a)^((t)<<(n)))) - */ - -#define HPERM_OP(a,t,n,m) ((t)=((((a)<<(16-(n)))^(a))&(m)),\ - (a)=(a)^(t)^(t>>(16-(n)))) - -/* return 0 if key parity is odd (correct), - * return -1 if key parity error, - * return -2 if illegal weak key. - */ -int des_set_key(key, schedule) -des_cblock (*key); -des_key_schedule schedule; - { - static int shifts2[16]={0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0}; - register DES_LONG c,d,t,s; - register unsigned char *in; - register DES_LONG *k; - register int i; - - if (des_check_key) - { - if (!check_parity(key)) - return(-1); - - if (des_is_weak_key(key)) - return(-2); - } - - k=(DES_LONG *)schedule; - in=(unsigned char *)key; - - c2l(in,c); - c2l(in,d); - - /* do PC1 in 60 simple operations */ -/* PERM_OP(d,c,t,4,0x0f0f0f0fL); - HPERM_OP(c,t,-2, 0xcccc0000L); - HPERM_OP(c,t,-1, 0xaaaa0000L); - HPERM_OP(c,t, 8, 0x00ff0000L); - HPERM_OP(c,t,-1, 0xaaaa0000L); - HPERM_OP(d,t,-8, 0xff000000L); - HPERM_OP(d,t, 8, 0x00ff0000L); - HPERM_OP(d,t, 2, 0x33330000L); - d=((d&0x00aa00aaL)<<7L)|((d&0x55005500L)>>7L)|(d&0xaa55aa55L); - d=(d>>8)|((c&0xf0000000L)>>4); - c&=0x0fffffffL; */ - - /* I now do it in 47 simple operations :-) - * Thanks to John Fletcher (john_fletcher@lccmail.ocf.llnl.gov) - * for the inspiration. :-) */ - PERM_OP (d,c,t,4,0x0f0f0f0fL); - HPERM_OP(c,t,-2,0xcccc0000L); - HPERM_OP(d,t,-2,0xcccc0000L); - PERM_OP (d,c,t,1,0x55555555L); - PERM_OP (c,d,t,8,0x00ff00ffL); - PERM_OP (d,c,t,1,0x55555555L); - d= (((d&0x000000ffL)<<16L)| (d&0x0000ff00L) | - ((d&0x00ff0000L)>>16L)|((c&0xf0000000L)>>4L)); - c&=0x0fffffffL; - - for (i=0; i<ITERATIONS; i++) - { - if (shifts2[i]) - { c=((c>>2L)|(c<<26L)); d=((d>>2L)|(d<<26L)); } - else - { c=((c>>1L)|(c<<27L)); d=((d>>1L)|(d<<27L)); } - c&=0x0fffffffL; - d&=0x0fffffffL; - /* could be a few less shifts but I am to lazy at this - * point in time to investigate */ - s= des_skb[0][ (c )&0x3f ]| - des_skb[1][((c>> 6)&0x03)|((c>> 7L)&0x3c)]| - des_skb[2][((c>>13)&0x0f)|((c>>14L)&0x30)]| - des_skb[3][((c>>20)&0x01)|((c>>21L)&0x06) | - ((c>>22L)&0x38)]; - t= des_skb[4][ (d )&0x3f ]| - des_skb[5][((d>> 7L)&0x03)|((d>> 8L)&0x3c)]| - des_skb[6][ (d>>15L)&0x3f ]| - des_skb[7][((d>>21L)&0x0f)|((d>>22L)&0x30)]; - - /* table contained 0213 4657 */ - *(k++)=((t<<16L)|(s&0x0000ffffL))&0xffffffffL; - s= ((s>>16L)|(t&0xffff0000L)); - - s=(s<<4L)|(s>>28L); - *(k++)=s&0xffffffffL; - } - return(0); - } - -int des_key_sched(key, schedule) -des_cblock (*key); -des_key_schedule schedule; - { - return(des_set_key(key,schedule)); - } diff --git a/secure/lib/libdes/shifts.pl b/secure/lib/libdes/shifts.pl deleted file mode 100755 index 2865f561b91fb..0000000000000 --- a/secure/lib/libdes/shifts.pl +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/perl - { - local(*a,$n)=@_; - local(@r,$i,$j,$k,$d,@z); - - @r=&shift(*a,$n); - foreach $i (0 .. 31) - { - @z=split(/\^/,$r[$i]); - for ($j=0; $j <= $#z; $j++) - { - ($d)=($z[$j] =~ /^(..)/); - ($k)=($z[$j] =~ /\[(.*)\]$/); - $k.=",$n" if ($k ne ""); - $k="$n" if ($k eq ""); - $d="$d[$k]"; - $z[$j]=$d; - } - $r[$i]=join('^',@z); - } - return(@r); - } - -sub shift - { - local(*a,$n)=@_; - local(@f); - - if ($n > 0) - { - @f=&shiftl(*a,$n); - } - else - { - @f=&shiftr(*a,-$n); - } - return(@f); - } - -sub shiftr - { - local(*a,$n)=@_; - local(@r,$i); - - $#r=31; - foreach $i (0 .. 31) - { - if (($i+$n) > 31) - { - $r[$i]="--"; - } - else - { - $r[$i]=$a[$i+$n]; - } - } - return(@r); - } - -sub shiftl - { - local(*a,$n)=@_; - local(@r,$i); - - $#r=31; - foreach $i (0 .. 31) - { - if ($i < $n) - { - $r[$i]="--"; - } - else - { - $r[$i]=$a[$i-$n]; - } - } - return(@r); - } - -sub printit - { - local(@a)=@_; - local($i); - - foreach $i (0 .. 31) - { - printf "%2s ",$a[$i]; - print "\n" if (($i%8) == 7); - } - print "\n"; - } - -sub xor - { - local(*a,*b)=@_; - local(@r,$i); - - $#r=31; - foreach $i (0 .. 31) - { - $r[$i]=&compress($a[$i].'^'.$b[$i]); -# $r[$i]=$a[$i]."^".$b[$i]; - } - return(@r); - } - -sub and - { - local(*a,$m)=@_; - local(@r,$i); - - $#r=31; - foreach $i (0 .. 31) - { - $r[$i]=(($m & (1<<$i))?($a[$i]):('--')); - } - return(@r); - } - -sub or - { - local(*a,*b)=@_; - local(@r,$i); - - $#r=31; - foreach $i (0 .. 31) - { - $r[$i]='--' if (($a[$i] eq '--') && ($b[$i] eq '--')); - $r[$i]=$a[$i] if (($a[$i] ne '--') && ($b[$i] eq '--')); - $r[$i]=$b[$i] if (($a[$i] eq '--') && ($b[$i] ne '--')); - $r[$i]='++' if (($a[$i] ne '--') && ($b[$i] ne '--')); - } - return(@r); - } - -sub compress - { - local($s)=@_; - local($_,$i,@a,%a,$r); - - $s =~ s/\^\^/\^/g; - $s =~ s/^\^//; - $s =~ s/\^$//; - @a=split(/\^/,$s); - - while ($#a >= 0) - { - $_=shift(@a); - next unless /\d/; - $a{$_}++; - } - foreach $i (sort keys %a) - { - next if ($a{$i}%2 == 0); - $r.="$i^"; - } - chop($r); - return($r); - } -1; diff --git a/secure/lib/libdes/sk.h b/secure/lib/libdes/sk.h deleted file mode 100644 index 217c8ab0fb0c7..0000000000000 --- a/secure/lib/libdes/sk.h +++ /dev/null @@ -1,193 +0,0 @@ -/* crypto/des/sk.h */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -static const DES_LONG des_skb[8][64]={ -{ -/* for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 */ -0x00000000L,0x00000010L,0x20000000L,0x20000010L, -0x00010000L,0x00010010L,0x20010000L,0x20010010L, -0x00000800L,0x00000810L,0x20000800L,0x20000810L, -0x00010800L,0x00010810L,0x20010800L,0x20010810L, -0x00000020L,0x00000030L,0x20000020L,0x20000030L, -0x00010020L,0x00010030L,0x20010020L,0x20010030L, -0x00000820L,0x00000830L,0x20000820L,0x20000830L, -0x00010820L,0x00010830L,0x20010820L,0x20010830L, -0x00080000L,0x00080010L,0x20080000L,0x20080010L, -0x00090000L,0x00090010L,0x20090000L,0x20090010L, -0x00080800L,0x00080810L,0x20080800L,0x20080810L, -0x00090800L,0x00090810L,0x20090800L,0x20090810L, -0x00080020L,0x00080030L,0x20080020L,0x20080030L, -0x00090020L,0x00090030L,0x20090020L,0x20090030L, -0x00080820L,0x00080830L,0x20080820L,0x20080830L, -0x00090820L,0x00090830L,0x20090820L,0x20090830L, -},{ -/* for C bits (numbered as per FIPS 46) 7 8 10 11 12 13 */ -0x00000000L,0x02000000L,0x00002000L,0x02002000L, -0x00200000L,0x02200000L,0x00202000L,0x02202000L, -0x00000004L,0x02000004L,0x00002004L,0x02002004L, -0x00200004L,0x02200004L,0x00202004L,0x02202004L, -0x00000400L,0x02000400L,0x00002400L,0x02002400L, -0x00200400L,0x02200400L,0x00202400L,0x02202400L, -0x00000404L,0x02000404L,0x00002404L,0x02002404L, -0x00200404L,0x02200404L,0x00202404L,0x02202404L, -0x10000000L,0x12000000L,0x10002000L,0x12002000L, -0x10200000L,0x12200000L,0x10202000L,0x12202000L, -0x10000004L,0x12000004L,0x10002004L,0x12002004L, -0x10200004L,0x12200004L,0x10202004L,0x12202004L, -0x10000400L,0x12000400L,0x10002400L,0x12002400L, -0x10200400L,0x12200400L,0x10202400L,0x12202400L, -0x10000404L,0x12000404L,0x10002404L,0x12002404L, -0x10200404L,0x12200404L,0x10202404L,0x12202404L, -},{ -/* for C bits (numbered as per FIPS 46) 14 15 16 17 19 20 */ -0x00000000L,0x00000001L,0x00040000L,0x00040001L, -0x01000000L,0x01000001L,0x01040000L,0x01040001L, -0x00000002L,0x00000003L,0x00040002L,0x00040003L, -0x01000002L,0x01000003L,0x01040002L,0x01040003L, -0x00000200L,0x00000201L,0x00040200L,0x00040201L, -0x01000200L,0x01000201L,0x01040200L,0x01040201L, -0x00000202L,0x00000203L,0x00040202L,0x00040203L, -0x01000202L,0x01000203L,0x01040202L,0x01040203L, -0x08000000L,0x08000001L,0x08040000L,0x08040001L, -0x09000000L,0x09000001L,0x09040000L,0x09040001L, -0x08000002L,0x08000003L,0x08040002L,0x08040003L, -0x09000002L,0x09000003L,0x09040002L,0x09040003L, -0x08000200L,0x08000201L,0x08040200L,0x08040201L, -0x09000200L,0x09000201L,0x09040200L,0x09040201L, -0x08000202L,0x08000203L,0x08040202L,0x08040203L, -0x09000202L,0x09000203L,0x09040202L,0x09040203L, -},{ -/* for C bits (numbered as per FIPS 46) 21 23 24 26 27 28 */ -0x00000000L,0x00100000L,0x00000100L,0x00100100L, -0x00000008L,0x00100008L,0x00000108L,0x00100108L, -0x00001000L,0x00101000L,0x00001100L,0x00101100L, -0x00001008L,0x00101008L,0x00001108L,0x00101108L, -0x04000000L,0x04100000L,0x04000100L,0x04100100L, -0x04000008L,0x04100008L,0x04000108L,0x04100108L, -0x04001000L,0x04101000L,0x04001100L,0x04101100L, -0x04001008L,0x04101008L,0x04001108L,0x04101108L, -0x00020000L,0x00120000L,0x00020100L,0x00120100L, -0x00020008L,0x00120008L,0x00020108L,0x00120108L, -0x00021000L,0x00121000L,0x00021100L,0x00121100L, -0x00021008L,0x00121008L,0x00021108L,0x00121108L, -0x04020000L,0x04120000L,0x04020100L,0x04120100L, -0x04020008L,0x04120008L,0x04020108L,0x04120108L, -0x04021000L,0x04121000L,0x04021100L,0x04121100L, -0x04021008L,0x04121008L,0x04021108L,0x04121108L, -},{ -/* for D bits (numbered as per FIPS 46) 1 2 3 4 5 6 */ -0x00000000L,0x10000000L,0x00010000L,0x10010000L, -0x00000004L,0x10000004L,0x00010004L,0x10010004L, -0x20000000L,0x30000000L,0x20010000L,0x30010000L, -0x20000004L,0x30000004L,0x20010004L,0x30010004L, -0x00100000L,0x10100000L,0x00110000L,0x10110000L, -0x00100004L,0x10100004L,0x00110004L,0x10110004L, -0x20100000L,0x30100000L,0x20110000L,0x30110000L, -0x20100004L,0x30100004L,0x20110004L,0x30110004L, -0x00001000L,0x10001000L,0x00011000L,0x10011000L, -0x00001004L,0x10001004L,0x00011004L,0x10011004L, -0x20001000L,0x30001000L,0x20011000L,0x30011000L, -0x20001004L,0x30001004L,0x20011004L,0x30011004L, -0x00101000L,0x10101000L,0x00111000L,0x10111000L, -0x00101004L,0x10101004L,0x00111004L,0x10111004L, -0x20101000L,0x30101000L,0x20111000L,0x30111000L, -0x20101004L,0x30101004L,0x20111004L,0x30111004L, -},{ -/* for D bits (numbered as per FIPS 46) 8 9 11 12 13 14 */ -0x00000000L,0x08000000L,0x00000008L,0x08000008L, -0x00000400L,0x08000400L,0x00000408L,0x08000408L, -0x00020000L,0x08020000L,0x00020008L,0x08020008L, -0x00020400L,0x08020400L,0x00020408L,0x08020408L, -0x00000001L,0x08000001L,0x00000009L,0x08000009L, -0x00000401L,0x08000401L,0x00000409L,0x08000409L, -0x00020001L,0x08020001L,0x00020009L,0x08020009L, -0x00020401L,0x08020401L,0x00020409L,0x08020409L, -0x02000000L,0x0A000000L,0x02000008L,0x0A000008L, -0x02000400L,0x0A000400L,0x02000408L,0x0A000408L, -0x02020000L,0x0A020000L,0x02020008L,0x0A020008L, -0x02020400L,0x0A020400L,0x02020408L,0x0A020408L, -0x02000001L,0x0A000001L,0x02000009L,0x0A000009L, -0x02000401L,0x0A000401L,0x02000409L,0x0A000409L, -0x02020001L,0x0A020001L,0x02020009L,0x0A020009L, -0x02020401L,0x0A020401L,0x02020409L,0x0A020409L, -},{ -/* for D bits (numbered as per FIPS 46) 16 17 18 19 20 21 */ -0x00000000L,0x00000100L,0x00080000L,0x00080100L, -0x01000000L,0x01000100L,0x01080000L,0x01080100L, -0x00000010L,0x00000110L,0x00080010L,0x00080110L, -0x01000010L,0x01000110L,0x01080010L,0x01080110L, -0x00200000L,0x00200100L,0x00280000L,0x00280100L, -0x01200000L,0x01200100L,0x01280000L,0x01280100L, -0x00200010L,0x00200110L,0x00280010L,0x00280110L, -0x01200010L,0x01200110L,0x01280010L,0x01280110L, -0x00000200L,0x00000300L,0x00080200L,0x00080300L, -0x01000200L,0x01000300L,0x01080200L,0x01080300L, -0x00000210L,0x00000310L,0x00080210L,0x00080310L, -0x01000210L,0x01000310L,0x01080210L,0x01080310L, -0x00200200L,0x00200300L,0x00280200L,0x00280300L, -0x01200200L,0x01200300L,0x01280200L,0x01280300L, -0x00200210L,0x00200310L,0x00280210L,0x00280310L, -0x01200210L,0x01200310L,0x01280210L,0x01280310L, -},{ -/* for D bits (numbered as per FIPS 46) 22 23 24 25 27 28 */ -0x00000000L,0x04000000L,0x00040000L,0x04040000L, -0x00000002L,0x04000002L,0x00040002L,0x04040002L, -0x00002000L,0x04002000L,0x00042000L,0x04042000L, -0x00002002L,0x04002002L,0x00042002L,0x04042002L, -0x00000020L,0x04000020L,0x00040020L,0x04040020L, -0x00000022L,0x04000022L,0x00040022L,0x04040022L, -0x00002020L,0x04002020L,0x00042020L,0x04042020L, -0x00002022L,0x04002022L,0x00042022L,0x04042022L, -0x00000800L,0x04000800L,0x00040800L,0x04040800L, -0x00000802L,0x04000802L,0x00040802L,0x04040802L, -0x00002800L,0x04002800L,0x00042800L,0x04042800L, -0x00002802L,0x04002802L,0x00042802L,0x04042802L, -0x00000820L,0x04000820L,0x00040820L,0x04040820L, -0x00000822L,0x04000822L,0x00040822L,0x04040822L, -0x00002820L,0x04002820L,0x00042820L,0x04042820L, -0x00002822L,0x04002822L,0x00042822L,0x04042822L, -}}; diff --git a/secure/lib/libdes/speed.c b/secure/lib/libdes/speed.c deleted file mode 100644 index 583c0a9f2a22b..0000000000000 --- a/secure/lib/libdes/speed.c +++ /dev/null @@ -1,310 +0,0 @@ -/* crypto/des/speed.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -/* 11-Sep-92 Andrew Daviel Support for Silicon Graphics IRIX added */ -/* 06-Apr-92 Luke Brennan Support for VMS and add extra signal calls */ - -#ifndef MSDOS -#define TIMES -#endif - -#include <stdio.h> -#ifndef MSDOS -#include <unistd.h> -#else -#include <io.h> -#endif -#include <signal.h> -#ifndef VMS -#ifndef _IRIX -#include <time.h> -#endif -#ifdef TIMES -#include <sys/types.h> -#include <sys/times.h> -#endif -#else /* VMS */ -#include <types.h> -struct tms { - time_t tms_utime; - time_t tms_stime; - time_t tms_uchild; /* I dunno... */ - time_t tms_uchildsys; /* so these names are a guess :-) */ - } -#endif -#ifndef TIMES -#include <sys/timeb.h> -#endif - -#ifdef sun -#include <limits.h> -#include <sys/param.h> -#endif - -#include "des.h" - -/* The following if from times(3) man page. It may need to be changed */ -#ifndef HZ -#ifndef CLK_TCK -#ifndef VMS -#define HZ 100.0 -#else /* VMS */ -#define HZ 100.0 -#endif -#else /* CLK_TCK */ -#define HZ ((double)CLK_TCK) -#endif -#endif - -#define BUFSIZE ((long)1024*8) -long run=0; - -#ifndef NOPROTO -double Time_F(int s); -#else -double Time_F(); -#endif - -#ifdef SIGALRM -#if defined(__STDC__) || defined(sgi) -#define SIGRETTYPE void -#else -#define SIGRETTYPE int -#endif - -#ifndef NOPROTO -SIGRETTYPE sig_done(int sig); -#else -SIGRETTYPE sig_done(); -#endif - -SIGRETTYPE sig_done(sig) -int sig; - { - signal(SIGALRM,sig_done); - run=0; -#ifdef LINT - sig=sig; -#endif - } -#endif - -#define START 0 -#define STOP 1 - -double Time_F(s) -int s; - { - double ret; -#ifdef TIMES - static struct tms tstart,tend; - - if (s == START) - { - times(&tstart); - return(0); - } - else - { - times(&tend); - ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ; - return((ret == 0.0)?1e-6:ret); - } -#else /* !times() */ - static struct timeb tstart,tend; - long i; - - if (s == START) - { - ftime(&tstart); - return(0); - } - else - { - ftime(&tend); - i=(long)tend.millitm-(long)tstart.millitm; - ret=((double)(tend.time-tstart.time))+((double)i)/1000.0; - return((ret == 0.0)?1e-6:ret); - } -#endif - } - -int main(argc,argv) -int argc; -char **argv; - { - long count; - static unsigned char buf[BUFSIZE]; - static des_cblock key ={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}; - static des_cblock key2={0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12}; - static des_cblock key3={0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34}; - des_key_schedule sch,sch2,sch3; - double a,b,c,d,e; -#ifndef SIGALARM - long ca,cb,cc,cd,ce; -#endif - -#ifndef TIMES - printf("To get the most acurate results, try to run this\n"); - printf("program when this computer is idle.\n"); -#endif - - des_set_key((C_Block *)key2,sch2); - des_set_key((C_Block *)key3,sch3); - -#ifndef SIGALRM - printf("First we calculate the approximate speed ...\n"); - des_set_key((C_Block *)key,sch); - count=10; - do { - long i; - - count*=2; - Time_F(START); - for (i=count; i; i--) - des_ecb_encrypt((C_Block *)buf,(C_Block *)buf, - &(sch[0]),DES_ENCRYPT); - d=Time_F(STOP); - } while (d < 3.0); - ca=count; - cb=count*3; - cc=count*3*8/BUFSIZE+1; - cd=count*8/BUFSIZE+1; - ce=count/20+1; - printf("Doing set_key %ld times\n",ca); -#define COND(d) (count != (d)) -#define COUNT(d) (d) -#else -#define COND(c) (run) -#define COUNT(d) (count) - signal(SIGALRM,sig_done); - printf("Doing set_key for 10 seconds\n"); - alarm(10); -#endif - - Time_F(START); - for (count=0,run=1; COND(ca); count++) - des_set_key((C_Block *)key,sch); - d=Time_F(STOP); - printf("%ld set_key's in %.2f seconds\n",count,d); - a=((double)COUNT(ca))/d; - -#ifdef SIGALRM - printf("Doing des_ecb_encrypt's for 10 seconds\n"); - alarm(10); -#else - printf("Doing des_ecb_encrypt %ld times\n",cb); -#endif - Time_F(START); - for (count=0,run=1; COND(cb); count++) - des_ecb_encrypt((C_Block *)buf,(C_Block *)buf, - &(sch[0]),DES_ENCRYPT); - d=Time_F(STOP); - printf("%ld des_ecb_encrypt's in %.2f second\n",count,d); - b=((double)COUNT(cb)*8)/d; - -#ifdef SIGALRM - printf("Doing des_cbc_encrypt on %ld byte blocks for 10 seconds\n", - BUFSIZE); - alarm(10); -#else - printf("Doing des_cbc_encrypt %ld times on %ld byte blocks\n",cc, - BUFSIZE); -#endif - Time_F(START); - for (count=0,run=1; COND(cc); count++) - des_ncbc_encrypt((C_Block *)buf,(C_Block *)buf,BUFSIZE,&(sch[0]), - (C_Block *)&(key[0]),DES_ENCRYPT); - d=Time_F(STOP); - printf("%ld des_cbc_encrypt's of %ld byte blocks in %.2f second\n", - count,BUFSIZE,d); - c=((double)COUNT(cc)*BUFSIZE)/d; - -#ifdef SIGALRM - printf("Doing des_ede_cbc_encrypt on %ld byte blocks for 10 seconds\n", - BUFSIZE); - alarm(10); -#else - printf("Doing des_ede_cbc_encrypt %ld times on %ld byte blocks\n",cd, - BUFSIZE); -#endif - Time_F(START); - for (count=0,run=1; COND(cd); count++) - des_ede3_cbc_encrypt((C_Block *)buf,(C_Block *)buf,BUFSIZE, - &(sch[0]), - &(sch2[0]), - &(sch3[0]), - (C_Block *)&(key[0]), - DES_ENCRYPT); - d=Time_F(STOP); - printf("%ld des_ede_cbc_encrypt's of %ld byte blocks in %.2f second\n", - count,BUFSIZE,d); - d=((double)COUNT(cd)*BUFSIZE)/d; - -#ifdef SIGALRM - printf("Doing crypt for 10 seconds\n"); - alarm(10); -#else - printf("Doing crypt %ld times\n",ce); -#endif - Time_F(START); - for (count=0,run=1; COND(ce); count++) - crypt("testing1","ef"); - e=Time_F(STOP); - printf("%ld crypts in %.2f second\n",count,e); - e=((double)COUNT(ce))/e; - - printf("set_key per sec = %12.2f (%5.1fuS)\n",a,1.0e6/a); - printf("DES ecb bytes per sec = %12.2f (%5.1fuS)\n",b,8.0e6/b); - printf("DES cbc bytes per sec = %12.2f (%5.1fuS)\n",c,8.0e6/c); - printf("DES ede cbc bytes per sec = %12.2f (%5.1fuS)\n",d,8.0e6/d); - printf("crypt per sec = %12.2f (%5.1fuS)\n",e,1.0e6/e); - exit(0); -#ifdef LINT - return(0); -#endif - } diff --git a/secure/lib/libdes/spr.h b/secure/lib/libdes/spr.h deleted file mode 100644 index 58cc13085fdfb..0000000000000 --- a/secure/lib/libdes/spr.h +++ /dev/null @@ -1,193 +0,0 @@ -/* crypto/des/spr.h */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -static const DES_LONG des_SPtrans[8][64]={ -{ -/* nibble 0 */ -0x00820200L, 0x00020000L, 0x80800000L, 0x80820200L, -0x00800000L, 0x80020200L, 0x80020000L, 0x80800000L, -0x80020200L, 0x00820200L, 0x00820000L, 0x80000200L, -0x80800200L, 0x00800000L, 0x00000000L, 0x80020000L, -0x00020000L, 0x80000000L, 0x00800200L, 0x00020200L, -0x80820200L, 0x00820000L, 0x80000200L, 0x00800200L, -0x80000000L, 0x00000200L, 0x00020200L, 0x80820000L, -0x00000200L, 0x80800200L, 0x80820000L, 0x00000000L, -0x00000000L, 0x80820200L, 0x00800200L, 0x80020000L, -0x00820200L, 0x00020000L, 0x80000200L, 0x00800200L, -0x80820000L, 0x00000200L, 0x00020200L, 0x80800000L, -0x80020200L, 0x80000000L, 0x80800000L, 0x00820000L, -0x80820200L, 0x00020200L, 0x00820000L, 0x80800200L, -0x00800000L, 0x80000200L, 0x80020000L, 0x00000000L, -0x00020000L, 0x00800000L, 0x80800200L, 0x00820200L, -0x80000000L, 0x80820000L, 0x00000200L, 0x80020200L, -},{ -/* nibble 1 */ -0x10042004L, 0x00000000L, 0x00042000L, 0x10040000L, -0x10000004L, 0x00002004L, 0x10002000L, 0x00042000L, -0x00002000L, 0x10040004L, 0x00000004L, 0x10002000L, -0x00040004L, 0x10042000L, 0x10040000L, 0x00000004L, -0x00040000L, 0x10002004L, 0x10040004L, 0x00002000L, -0x00042004L, 0x10000000L, 0x00000000L, 0x00040004L, -0x10002004L, 0x00042004L, 0x10042000L, 0x10000004L, -0x10000000L, 0x00040000L, 0x00002004L, 0x10042004L, -0x00040004L, 0x10042000L, 0x10002000L, 0x00042004L, -0x10042004L, 0x00040004L, 0x10000004L, 0x00000000L, -0x10000000L, 0x00002004L, 0x00040000L, 0x10040004L, -0x00002000L, 0x10000000L, 0x00042004L, 0x10002004L, -0x10042000L, 0x00002000L, 0x00000000L, 0x10000004L, -0x00000004L, 0x10042004L, 0x00042000L, 0x10040000L, -0x10040004L, 0x00040000L, 0x00002004L, 0x10002000L, -0x10002004L, 0x00000004L, 0x10040000L, 0x00042000L, -},{ -/* nibble 2 */ -0x41000000L, 0x01010040L, 0x00000040L, 0x41000040L, -0x40010000L, 0x01000000L, 0x41000040L, 0x00010040L, -0x01000040L, 0x00010000L, 0x01010000L, 0x40000000L, -0x41010040L, 0x40000040L, 0x40000000L, 0x41010000L, -0x00000000L, 0x40010000L, 0x01010040L, 0x00000040L, -0x40000040L, 0x41010040L, 0x00010000L, 0x41000000L, -0x41010000L, 0x01000040L, 0x40010040L, 0x01010000L, -0x00010040L, 0x00000000L, 0x01000000L, 0x40010040L, -0x01010040L, 0x00000040L, 0x40000000L, 0x00010000L, -0x40000040L, 0x40010000L, 0x01010000L, 0x41000040L, -0x00000000L, 0x01010040L, 0x00010040L, 0x41010000L, -0x40010000L, 0x01000000L, 0x41010040L, 0x40000000L, -0x40010040L, 0x41000000L, 0x01000000L, 0x41010040L, -0x00010000L, 0x01000040L, 0x41000040L, 0x00010040L, -0x01000040L, 0x00000000L, 0x41010000L, 0x40000040L, -0x41000000L, 0x40010040L, 0x00000040L, 0x01010000L, -},{ -/* nibble 3 */ -0x00100402L, 0x04000400L, 0x00000002L, 0x04100402L, -0x00000000L, 0x04100000L, 0x04000402L, 0x00100002L, -0x04100400L, 0x04000002L, 0x04000000L, 0x00000402L, -0x04000002L, 0x00100402L, 0x00100000L, 0x04000000L, -0x04100002L, 0x00100400L, 0x00000400L, 0x00000002L, -0x00100400L, 0x04000402L, 0x04100000L, 0x00000400L, -0x00000402L, 0x00000000L, 0x00100002L, 0x04100400L, -0x04000400L, 0x04100002L, 0x04100402L, 0x00100000L, -0x04100002L, 0x00000402L, 0x00100000L, 0x04000002L, -0x00100400L, 0x04000400L, 0x00000002L, 0x04100000L, -0x04000402L, 0x00000000L, 0x00000400L, 0x00100002L, -0x00000000L, 0x04100002L, 0x04100400L, 0x00000400L, -0x04000000L, 0x04100402L, 0x00100402L, 0x00100000L, -0x04100402L, 0x00000002L, 0x04000400L, 0x00100402L, -0x00100002L, 0x00100400L, 0x04100000L, 0x04000402L, -0x00000402L, 0x04000000L, 0x04000002L, 0x04100400L, -},{ -/* nibble 4 */ -0x02000000L, 0x00004000L, 0x00000100L, 0x02004108L, -0x02004008L, 0x02000100L, 0x00004108L, 0x02004000L, -0x00004000L, 0x00000008L, 0x02000008L, 0x00004100L, -0x02000108L, 0x02004008L, 0x02004100L, 0x00000000L, -0x00004100L, 0x02000000L, 0x00004008L, 0x00000108L, -0x02000100L, 0x00004108L, 0x00000000L, 0x02000008L, -0x00000008L, 0x02000108L, 0x02004108L, 0x00004008L, -0x02004000L, 0x00000100L, 0x00000108L, 0x02004100L, -0x02004100L, 0x02000108L, 0x00004008L, 0x02004000L, -0x00004000L, 0x00000008L, 0x02000008L, 0x02000100L, -0x02000000L, 0x00004100L, 0x02004108L, 0x00000000L, -0x00004108L, 0x02000000L, 0x00000100L, 0x00004008L, -0x02000108L, 0x00000100L, 0x00000000L, 0x02004108L, -0x02004008L, 0x02004100L, 0x00000108L, 0x00004000L, -0x00004100L, 0x02004008L, 0x02000100L, 0x00000108L, -0x00000008L, 0x00004108L, 0x02004000L, 0x02000008L, -},{ -/* nibble 5 */ -0x20000010L, 0x00080010L, 0x00000000L, 0x20080800L, -0x00080010L, 0x00000800L, 0x20000810L, 0x00080000L, -0x00000810L, 0x20080810L, 0x00080800L, 0x20000000L, -0x20000800L, 0x20000010L, 0x20080000L, 0x00080810L, -0x00080000L, 0x20000810L, 0x20080010L, 0x00000000L, -0x00000800L, 0x00000010L, 0x20080800L, 0x20080010L, -0x20080810L, 0x20080000L, 0x20000000L, 0x00000810L, -0x00000010L, 0x00080800L, 0x00080810L, 0x20000800L, -0x00000810L, 0x20000000L, 0x20000800L, 0x00080810L, -0x20080800L, 0x00080010L, 0x00000000L, 0x20000800L, -0x20000000L, 0x00000800L, 0x20080010L, 0x00080000L, -0x00080010L, 0x20080810L, 0x00080800L, 0x00000010L, -0x20080810L, 0x00080800L, 0x00080000L, 0x20000810L, -0x20000010L, 0x20080000L, 0x00080810L, 0x00000000L, -0x00000800L, 0x20000010L, 0x20000810L, 0x20080800L, -0x20080000L, 0x00000810L, 0x00000010L, 0x20080010L, -},{ -/* nibble 6 */ -0x00001000L, 0x00000080L, 0x00400080L, 0x00400001L, -0x00401081L, 0x00001001L, 0x00001080L, 0x00000000L, -0x00400000L, 0x00400081L, 0x00000081L, 0x00401000L, -0x00000001L, 0x00401080L, 0x00401000L, 0x00000081L, -0x00400081L, 0x00001000L, 0x00001001L, 0x00401081L, -0x00000000L, 0x00400080L, 0x00400001L, 0x00001080L, -0x00401001L, 0x00001081L, 0x00401080L, 0x00000001L, -0x00001081L, 0x00401001L, 0x00000080L, 0x00400000L, -0x00001081L, 0x00401000L, 0x00401001L, 0x00000081L, -0x00001000L, 0x00000080L, 0x00400000L, 0x00401001L, -0x00400081L, 0x00001081L, 0x00001080L, 0x00000000L, -0x00000080L, 0x00400001L, 0x00000001L, 0x00400080L, -0x00000000L, 0x00400081L, 0x00400080L, 0x00001080L, -0x00000081L, 0x00001000L, 0x00401081L, 0x00400000L, -0x00401080L, 0x00000001L, 0x00001001L, 0x00401081L, -0x00400001L, 0x00401080L, 0x00401000L, 0x00001001L, -},{ -/* nibble 7 */ -0x08200020L, 0x08208000L, 0x00008020L, 0x00000000L, -0x08008000L, 0x00200020L, 0x08200000L, 0x08208020L, -0x00000020L, 0x08000000L, 0x00208000L, 0x00008020L, -0x00208020L, 0x08008020L, 0x08000020L, 0x08200000L, -0x00008000L, 0x00208020L, 0x00200020L, 0x08008000L, -0x08208020L, 0x08000020L, 0x00000000L, 0x00208000L, -0x08000000L, 0x00200000L, 0x08008020L, 0x08200020L, -0x00200000L, 0x00008000L, 0x08208000L, 0x00000020L, -0x00200000L, 0x00008000L, 0x08000020L, 0x08208020L, -0x00008020L, 0x08000000L, 0x00000000L, 0x00208000L, -0x08200020L, 0x08008020L, 0x08008000L, 0x00200020L, -0x08208000L, 0x00000020L, 0x00200020L, 0x08008000L, -0x08208020L, 0x00200000L, 0x08200000L, 0x08000020L, -0x00208000L, 0x00008020L, 0x08008020L, 0x08200000L, -0x00000020L, 0x08208000L, 0x00208020L, 0x00000000L, -0x08000000L, 0x08200020L, 0x00008000L, 0x00208020L, -}}; diff --git a/secure/lib/libdes/str2key.c b/secure/lib/libdes/str2key.c deleted file mode 100644 index af889d7efb23a..0000000000000 --- a/secure/lib/libdes/str2key.c +++ /dev/null @@ -1,160 +0,0 @@ -/* crypto/des/str2key.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -extern int des_check_key; - -void des_string_to_key(str, key) -char *str; -des_cblock (*key); - { - des_key_schedule ks; - int i,length; - register unsigned char j; - - memset(key,0,8); - length=strlen(str); -#ifdef OLD_STR_TO_KEY - for (i=0; i<length; i++) - (*key)[i%8]^=(str[i]<<1); -#else /* MIT COMPATIBLE */ - for (i=0; i<length; i++) - { - j=str[i]; - if ((i%16) < 8) - (*key)[i%8]^=(j<<1); - else - { - /* Reverse the bit order 05/05/92 eay */ - j=((j<<4)&0xf0)|((j>>4)&0x0f); - j=((j<<2)&0xcc)|((j>>2)&0x33); - j=((j<<1)&0xaa)|((j>>1)&0x55); - (*key)[7-(i%8)]^=j; - } - } -#endif - des_set_odd_parity((des_cblock *)key); - i=des_check_key; - des_check_key=0; - des_set_key((des_cblock *)key,ks); - des_check_key=i; - des_cbc_cksum((des_cblock *)str,(des_cblock *)key,(long)length,ks, - (des_cblock *)key); - memset(ks,0,sizeof(ks)); - des_set_odd_parity((des_cblock *)key); - } - -void des_string_to_2keys(str, key1, key2) -char *str; -des_cblock (*key1); -des_cblock (*key2); - { - des_key_schedule ks; - int i,length; - register unsigned char j; - - memset(key1,0,8); - memset(key2,0,8); - length=strlen(str); -#ifdef OLD_STR_TO_KEY - if (length <= 8) - { - for (i=0; i<length; i++) - { - (*key2)[i]=(*key1)[i]=(str[i]<<1); - } - } - else - { - for (i=0; i<length; i++) - { - if ((i/8)&1) - (*key2)[i%8]^=(str[i]<<1); - else - (*key1)[i%8]^=(str[i]<<1); - } - } -#else /* MIT COMPATIBLE */ - for (i=0; i<length; i++) - { - j=str[i]; - if ((i%32) < 16) - { - if ((i%16) < 8) - (*key1)[i%8]^=(j<<1); - else - (*key2)[i%8]^=(j<<1); - } - else - { - j=((j<<4)&0xf0)|((j>>4)&0x0f); - j=((j<<2)&0xcc)|((j>>2)&0x33); - j=((j<<1)&0xaa)|((j>>1)&0x55); - if ((i%16) < 8) - (*key1)[7-(i%8)]^=j; - else - (*key2)[7-(i%8)]^=j; - } - } - if (length <= 8) memcpy(key2,key1,8); -#endif - des_set_odd_parity((des_cblock *)key1); - des_set_odd_parity((des_cblock *)key2); - i=des_check_key; - des_check_key=0; - des_set_key((des_cblock *)key1,ks); - des_cbc_cksum((des_cblock *)str,(des_cblock *)key1,(long)length,ks, - (des_cblock *)key1); - des_set_key((des_cblock *)key2,ks); - des_cbc_cksum((des_cblock *)str,(des_cblock *)key2,(long)length,ks, - (des_cblock *)key2); - des_check_key=i; - memset(ks,0,sizeof(ks)); - des_set_odd_parity(key1); - des_set_odd_parity(key2); - } diff --git a/secure/lib/libdes/supp.c b/secure/lib/libdes/supp.c deleted file mode 100644 index 0c959cc81ac3c..0000000000000 --- a/secure/lib/libdes/supp.c +++ /dev/null @@ -1,98 +0,0 @@ -/* crypto/des/supp.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -/* - * Copyright (c) 1995 - * Mark Murray. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Murray - * 4. Neither the name of the author nor the names of any co-contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY MARK MURRAY AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#include <stdio.h> -#include "des_locl.h" - -void des_cblock_print_file(cb, fp) - des_cblock *cb; - FILE *fp; -{ - int i; - unsigned int *p = (unsigned int *)cb; - - fprintf(fp, " 0x { "); - for (i = 0; i < 8; i++) { - fprintf(fp, "%x", p[i]); - if (i != 7) fprintf(fp, ", "); - } - fprintf(fp, " }"); -} diff --git a/secure/lib/libdes/t/perl b/secure/lib/libdes/t/perl deleted file mode 100644 index e69de29bb2d1d..0000000000000 --- a/secure/lib/libdes/t/perl +++ /dev/null diff --git a/secure/lib/libdes/t/test b/secure/lib/libdes/t/test deleted file mode 100644 index 97acd0552e430..0000000000000 --- a/secure/lib/libdes/t/test +++ /dev/null @@ -1,27 +0,0 @@ -#!./perl - -BEGIN { push(@INC, qw(../../../lib ../../lib ../lib lib)); } - -use DES; - -$key='00000000'; -$ks=DES::set_key($key); -@a=split(//,$ks); -foreach (@a) { printf "%02x-",ord($_); } -print "\n"; - - -$key=DES::random_key(); -print "($_)\n"; -@a=split(//,$key); -foreach (@a) { printf "%02x-",ord($_); } -print "\n"; -$str="this is and again into the breach"; -($k1,$k2)=DES::string_to_2keys($str); -@a=split(//,$k1); -foreach (@a) { printf "%02x-",ord($_); } -print "\n"; -@a=split(//,$k2); -foreach (@a) { printf "%02x-",ord($_); } -print "\n"; - diff --git a/secure/lib/libdes/testdes.pl b/secure/lib/libdes/testdes.pl deleted file mode 100755 index 67fbd47f3695c..0000000000000 --- a/secure/lib/libdes/testdes.pl +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/perl - -# des.pl tesing code - -require 'des.pl'; - -$num_tests=34; -@key_data=( - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, - 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, - 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xFE,0xDC,0xBA,0x98,0x76,0x54,0x32,0x10, - 0x7C,0xA1,0x10,0x45,0x4A,0x1A,0x6E,0x57, - 0x01,0x31,0xD9,0x61,0x9D,0xC1,0x37,0x6E, - 0x07,0xA1,0x13,0x3E,0x4A,0x0B,0x26,0x86, - 0x38,0x49,0x67,0x4C,0x26,0x02,0x31,0x9E, - 0x04,0xB9,0x15,0xBA,0x43,0xFE,0xB5,0xB6, - 0x01,0x13,0xB9,0x70,0xFD,0x34,0xF2,0xCE, - 0x01,0x70,0xF1,0x75,0x46,0x8F,0xB5,0xE6, - 0x43,0x29,0x7F,0xAD,0x38,0xE3,0x73,0xFE, - 0x07,0xA7,0x13,0x70,0x45,0xDA,0x2A,0x16, - 0x04,0x68,0x91,0x04,0xC2,0xFD,0x3B,0x2F, - 0x37,0xD0,0x6B,0xB5,0x16,0xCB,0x75,0x46, - 0x1F,0x08,0x26,0x0D,0x1A,0xC2,0x46,0x5E, - 0x58,0x40,0x23,0x64,0x1A,0xBA,0x61,0x76, - 0x02,0x58,0x16,0x16,0x46,0x29,0xB0,0x07, - 0x49,0x79,0x3E,0xBC,0x79,0xB3,0x25,0x8F, - 0x4F,0xB0,0x5E,0x15,0x15,0xAB,0x73,0xA7, - 0x49,0xE9,0x5D,0x6D,0x4C,0xA2,0x29,0xBF, - 0x01,0x83,0x10,0xDC,0x40,0x9B,0x26,0xD6, - 0x1C,0x58,0x7F,0x1C,0x13,0x92,0x4F,0xEF, - 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, - 0x1F,0x1F,0x1F,0x1F,0x0E,0x0E,0x0E,0x0E, - 0xE0,0xFE,0xE0,0xFE,0xF1,0xFE,0xF1,0xFE, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, - 0xFE,0xDC,0xBA,0x98,0x76,0x54,0x32,0x10, - ); - -@plain_data=( - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x01, - 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, - 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11, - 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, - 0x01,0xA1,0xD6,0xD0,0x39,0x77,0x67,0x42, - 0x5C,0xD5,0x4C,0xA8,0x3D,0xEF,0x57,0xDA, - 0x02,0x48,0xD4,0x38,0x06,0xF6,0x71,0x72, - 0x51,0x45,0x4B,0x58,0x2D,0xDF,0x44,0x0A, - 0x42,0xFD,0x44,0x30,0x59,0x57,0x7F,0xA2, - 0x05,0x9B,0x5E,0x08,0x51,0xCF,0x14,0x3A, - 0x07,0x56,0xD8,0xE0,0x77,0x47,0x61,0xD2, - 0x76,0x25,0x14,0xB8,0x29,0xBF,0x48,0x6A, - 0x3B,0xDD,0x11,0x90,0x49,0x37,0x28,0x02, - 0x26,0x95,0x5F,0x68,0x35,0xAF,0x60,0x9A, - 0x16,0x4D,0x5E,0x40,0x4F,0x27,0x52,0x32, - 0x6B,0x05,0x6E,0x18,0x75,0x9F,0x5C,0xCA, - 0x00,0x4B,0xD6,0xEF,0x09,0x17,0x60,0x62, - 0x48,0x0D,0x39,0x00,0x6E,0xE7,0x62,0xF2, - 0x43,0x75,0x40,0xC8,0x69,0x8F,0x3C,0xFA, - 0x07,0x2D,0x43,0xA0,0x77,0x07,0x52,0x92, - 0x02,0xFE,0x55,0x77,0x81,0x17,0xF1,0x2A, - 0x1D,0x9D,0x5C,0x50,0x18,0xF7,0x28,0xC2, - 0x30,0x55,0x32,0x28,0x6D,0x6F,0x29,0x5A, - 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, - 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, - 0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF); - -@cipher_data=( - 0x8C,0xA6,0x4D,0xE9,0xC1,0xB1,0x23,0xA7, - 0x73,0x59,0xB2,0x16,0x3E,0x4E,0xDC,0x58, - 0x95,0x8E,0x6E,0x62,0x7A,0x05,0x55,0x7B, - 0xF4,0x03,0x79,0xAB,0x9E,0x0E,0xC5,0x33, - 0x17,0x66,0x8D,0xFC,0x72,0x92,0x53,0x2D, - 0x8A,0x5A,0xE1,0xF8,0x1A,0xB8,0xF2,0xDD, - 0x8C,0xA6,0x4D,0xE9,0xC1,0xB1,0x23,0xA7, - 0xED,0x39,0xD9,0x50,0xFA,0x74,0xBC,0xC4, - 0x69,0x0F,0x5B,0x0D,0x9A,0x26,0x93,0x9B, - 0x7A,0x38,0x9D,0x10,0x35,0x4B,0xD2,0x71, - 0x86,0x8E,0xBB,0x51,0xCA,0xB4,0x59,0x9A, - 0x71,0x78,0x87,0x6E,0x01,0xF1,0x9B,0x2A, - 0xAF,0x37,0xFB,0x42,0x1F,0x8C,0x40,0x95, - 0x86,0xA5,0x60,0xF1,0x0E,0xC6,0xD8,0x5B, - 0x0C,0xD3,0xDA,0x02,0x00,0x21,0xDC,0x09, - 0xEA,0x67,0x6B,0x2C,0xB7,0xDB,0x2B,0x7A, - 0xDF,0xD6,0x4A,0x81,0x5C,0xAF,0x1A,0x0F, - 0x5C,0x51,0x3C,0x9C,0x48,0x86,0xC0,0x88, - 0x0A,0x2A,0xEE,0xAE,0x3F,0xF4,0xAB,0x77, - 0xEF,0x1B,0xF0,0x3E,0x5D,0xFA,0x57,0x5A, - 0x88,0xBF,0x0D,0xB6,0xD7,0x0D,0xEE,0x56, - 0xA1,0xF9,0x91,0x55,0x41,0x02,0x0B,0x56, - 0x6F,0xBF,0x1C,0xAF,0xCF,0xFD,0x05,0x56, - 0x2F,0x22,0xE4,0x9B,0xAB,0x7C,0xA1,0xAC, - 0x5A,0x6B,0x61,0x2C,0xC2,0x6C,0xCE,0x4A, - 0x5F,0x4C,0x03,0x8E,0xD1,0x2B,0x2E,0x41, - 0x63,0xFA,0xC0,0xD0,0x34,0xD9,0xF7,0x93, - 0x61,0x7B,0x3A,0x0C,0xE8,0xF0,0x71,0x00, - 0xDB,0x95,0x86,0x05,0xF8,0xC8,0xC6,0x06, - 0xED,0xBF,0xD1,0xC6,0x6C,0x29,0xCC,0xC7, - 0x35,0x55,0x50,0xB2,0x15,0x0E,0x24,0x51, - 0xCA,0xAA,0xAF,0x4D,0xEA,0xF1,0xDB,0xAE, - 0xD5,0xD4,0x4F,0xF7,0x20,0x68,0x3D,0x0D, - 0x2A,0x2B,0xB0,0x08,0xDF,0x97,0xC2,0xF2); - -print "Doing ecb tests\n"; -for ($i=0; $i<$num_tests; $i++) - { - printf "Doing test $i\n"; - $key =pack("C8",splice(@key_data ,0,8)); - $data=pack("C8",splice(@plain_data ,0,8)); - $res =pack("C8",splice(@cipher_data,0,8)); - - @ks= &des_set_key($key); - $out1= &des_ecb_encrypt(*ks,1,$data); - $out2= &des_ecb_encrypt(*ks,0,$out1); - $out3= &des_ecb_encrypt(*ks,0,$res); - &eprint("encryption failure",$res,$out1) - if ($out1 ne $res); - &eprint("encryption/decryption failure",$data,$out2) - if ($out2 ne $data); - &eprint("decryption failure",$data,$out3) - if ($data ne $out3); - } -print "Done\n"; - -print "doing speed test over 30 seconds\n"; -$SIG{'ALRM'}='done'; -sub done {$done=1;} -$done=0; - -$count=0; -$d=pack("C8",0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef); -@ks= &des_set_key($d); -alarm(30); -$start=(times)[0]; -while (!$done) - { - $count++; - $d=&des_ecb_encrypt(*ks,1,$d); - } -$end=(times)[0]; -$t=$end-$start; -printf "$count DESs in %.2f seconds is %.2f DESs/sec or %.2f bytes/sec\n", - 1.0*$t,1.0*$count/$t,$count*8.0/$t; - -sub eprint - { - local($s,$c,$e)=@_; - local(@k); - - @k=unpack("C8",$c); - printf "%02x%02x%02x%02x %02x%02x%02x%02x - ",unpack("C8",$c); - printf "%02x%02x%02x%02x %02x%02x%02x%02x :",unpack("C8",$e); - print " $s\n"; - } diff --git a/secure/lib/libdes/times b/secure/lib/libdes/times deleted file mode 100644 index f5080ef99c0fc..0000000000000 --- a/secure/lib/libdes/times +++ /dev/null @@ -1,216 +0,0 @@ -existing library on a DEC 3000/500 -set_key per sec = 256294.06 ( 3.9uS) -DES ecb bytes per sec = 3553694.40 ( 2.3uS) -DES cbc bytes per sec = 3661004.80 ( 2.2uS) -DES ede cbc bytes per sec = 1353115.99 ( 5.9uS) -crypt per sec = 16829.40 ( 59.4uS) - -Intel P6/200 (NEXTSTEP) - cc -O3 (cc: gcc 2.5.8) -set_key per sec = 219220.82 ( 4.6uS) -DES ecb bytes per sec = 2438014.04 ( 3.3uS) -DES cbc bytes per sec = 2467648.85 ( 3.2uS) -DES ede cbc bytes per sec = 942121.58 ( 8.5uS) -crypt per sec = 11398.73 ( 87.7uS) - -# DECstation Alpha 3000 Model 700 AXP / OSF1 V3.0 -# gcc 2.6.3 / Young libdes 3.21 -set_key per sec = 149369.74 ( 6.7uS) -DES ecb bytes per sec = 2011976.68 ( 4.0uS) -DES cbc bytes per sec = 2002245.35 ( 4.0uS) -DES ede cbc bytes per sec = 793677.19 ( 10.1uS) -crypt per sec = 9244.52 (108.2uS) - -# Sun Ultra I gcc 2.7.2 / Young libdes 3.21 -set_key per sec = 147172.22 ( 6.8uS) -DES ecb bytes per sec = 1815054.70 ( 4.4uS) -DES cbc bytes per sec = 1829405.18 ( 4.4uS) -DES ede cbc bytes per sec = 714490.23 ( 11.2uS) -crypt per sec = 8896.24 (112.4uS) - -SGI Challenge (MIPS R4400 200mhz) - gcc -O2 -set_key per sec = 114141.13 ( 8.8uS) -DES ecb bytes per sec = 1573472.84 ( 5.1uS) -DES cbc bytes per sec = 1580418.20 ( 5.1uS) -crypt per sec = 7137.84 (140.1uS) - -DEC Alpha DEC 4000/710 AXP OSF/1 v 3.0 - gcc -O2 2.6.1 -set_key per sec = 123138.49 ( 8.1uS) -DES ecb bytes per sec = 1407546.76 ( 5.7uS) -DES cbc bytes per sec = 1404103.21 ( 5.7uS) -crypt per sec = 7746.76 (129.1uS) - -DEC Alpha DEC 4000/710 AXP OSF/1 v 3.0 - cc -O4 'DEC Compiler Driver 3.11' -set_key per sec = 135160.83 ( 7.4uS) -DES ecb bytes per sec = 1267753.22 ( 6.3uS) -DES cbc bytes per sec = 1260564.90 ( 6.3uS) -crypt per sec = 6479.37 (154.3uS) - -SGI Challenge (MIPS R4400 200mhz) - cc -O2 -set_key per sec = 124000.10 ( 8.1uS) -DES ecb bytes per sec = 1338138.45 ( 6.0uS) -DES cbc bytes per sec = 1356515.84 ( 5.9uS) -crypt per sec = 6223.92 (160.7uS) - -Intel P5/133 (NEXTSTEP) - cc -O3 (cc: gcc 2.5.8) -set_key per sec = 81923.10 ( 12.2uS) -DES ecb bytes per sec = 1104711.61 ( 7.2uS) -DES cbc bytes per sec = 1091536.05 ( 7.3uS) -DES ede cbc bytes per sec = 410502.62 ( 19.5uS) -crypt per sec = 4849.60 (206.2uS) - -Sun SPARC 20 (NEXTSTEP) - cc -O3 (cc: gcc 2.5.8) -set_key per sec = 60973.05 ( 16.4uS) -DES ecb bytes per sec = 806032.15 ( 9.9uS) -DES cbc bytes per sec = 801534.95 ( 10.0uS) -DES ede cbc bytes per sec = 298799.73 ( 26.8uS) -crypt per sec = 3678.42 (271.9uS) - -SGI Indy (MIPS R4600 133mhz) -cc -O2 -set_key per sec = 88470.54 ( 11.3uS) -DES ecb bytes per sec = 1023040.33 ( 7.8uS) -DES cbc bytes per sec = 1033610.01 ( 7.7uS) -crypt per sec = 4641.51 (215.4uS) - -HP-UX 9000/887 cc +O3 -set_key per sec = 76824.30 ( 13.0uS) -DES ecb bytes per sec = 1048911.20 ( 7.6uS) -DES cbc bytes per sec = 1072332.80 ( 7.5uS) -crypt per sec = 4968.64 (201.3uS) - -IRIX 5.2 IP22 (R4000) cc -O2 (galilo) -set_key per sec = 60615.73 ( 16.5uS) -DES ecb bytes per sec = 584741.32 ( 13.7uS) -DES cbc bytes per sec = 584306.94 ( 13.7uS) -crypt per sec = 3049.33 (327.9uS) - -HP-UX 9000/867 cc -O -set_key per sec = 48600.00 ( 20.6uS) -DES ecb bytes per sec = 616235.14 ( 13.0uS) -DES cbc bytes per sec = 638669.44 ( 12.5uS) -crypt per sec = 3016.68 (331.5uS) - -HP-UX 9000/867 gcc -O2 -set_key per sec = 52120.50 ( 19.2uS) -DES ecb bytes per sec = 715156.55 ( 11.2uS) -DES cbc bytes per sec = 724424.28 ( 11.0uS) -crypt per sec = 3295.87 (303.4uS) - -DGUX AViiON mc88110 gcc -O2 -set_key per sec = 55604.91 ( 18.0uS) -DES ecb bytes per sec = 658513.25 ( 12.1uS) -DES cbc bytes per sec = 675552.71 ( 11.8uS) -crypt per sec = 3438.10 (290.9uS) - -Sparc 10 cc -O2 (orb) -set_key per sec = 53002.30 ( 18.9uS) -DES ecb bytes per sec = 705250.40 ( 11.3uS) -DES cbc bytes per sec = 714342.40 ( 11.2uS) -crypt per sec = 2943.99 (339.7uS) - -Sparc 10 gcc -O2 (orb) -set_key per sec = 58681.21 ( 17.0uS) -DES ecb bytes per sec = 772390.20 ( 10.4uS) -DES cbc bytes per sec = 774144.00 ( 10.3uS) -crypt per sec = 3606.90 (277.2uS) - -DEC Alpha DEC 4000/610 AXP OSF/1 v 1.3 - gcc v 2.3.3 -set_key per sec = 101840.19 ( 9.8uS) -DES ecb bytes per sec = 1223712.35 ( 6.5uS) -DES cbc bytes per sec = 1230542.98 ( 6.5uS) -crypt per sec = 6428.75 (155.6uS) - -DEC Alpha DEC 4000/610 APX OSF/1 v 1.3 - cc -O2 - OSF/1 AXP -set_key per sec = 114198.91 ( 8.8uS) -DES ecb bytes per sec = 1022710.93 ( 7.8uS) -DES cbc bytes per sec = 1008821.93 ( 7.9uS) -crypt per sec = 5454.13 (183.3uS) - -DEC Alpha - DEC 3000/500 AXP OSF/1 - cc -O2 - 02/12/92 -set_key per sec = 83587.04 ( 12.0uS) -DES ecb bytes per sec = 822620.82 ( 9.7uS) -DES cbc bytes per sec = 832929.60 ( 9.6uS) -crypt per sec = 4807.62 (208.0uS) - -sun sparc 10/30 - gcc -O2 -set_key per sec = 42005.24 ( 23.8uS) -DES ecb bytes per sec = 555949.47 ( 14.4uS) -DES cbc bytes per sec = 549440.28 ( 14.6uS) -crypt per sec = 2580.25 (387.6uS) - -PA-RISC 1.1 HP 710 -set_key per sec = 38916.86 -DES ecb bytes per sec = 505971.82 -DES cbc bytes per sec = 515381.13 -crypt per sec = 2438.24 - -iris (spike) cc -O2 -set_key per sec = 23128.83 ( 43.2uS) -DES ecb bytes per sec = 261577.94 ( 30.6uS) -DES cbc bytes per sec = 261746.41 ( 30.6uS) -crypt per sec = 1231.76 (811.8uS) - -sun sparc 10/30 - cc -O4 -set_key per sec = 38379.86 ( 26.1uS) -DES ecb bytes per sec = 460051.34 ( 17.4uS) -DES cbc bytes per sec = 464970.54 ( 17.2uS) -crypt per sec = 2092.64 (477.9uS) - -sun sparc 2 - gcc2 -O2 -set_key per sec = 21559.10 -DES ecb bytes per sec = 305566.92 -DES cbc bytes per sec = 303497.50 -crypt per sec = 1410.48 - -RS/6000 model 320 -set_key per sec = 14371.93 -DES ecb bytes per sec = 222231.26 -DES cbc bytes per sec = 223926.79 -crypt per sec = 981.20 - -80486dx/66MHz Solaris 2.1 - gcc -O2 (gcc 2.6.3) -set_key per sec = 26814.15 ( 37.3uS) -DES ecb bytes per sec = 345029.95 ( 23.2uS) -DES cbc bytes per sec = 344064.00 ( 23.3uS) -crypt per sec = 1551.97 (644.3uS) - -80486dx/50MHz Solaris 2.1 - gcc -O2 (gcc 2.5.2) -set_key per sec = 18558.29 ( 53.9uS) -DES ecb bytes per sec = 240873.90 ( 33.2uS) -DES cbc bytes per sec = 239993.37 ( 33.3uS) -crypt per sec = 1073.67 (931.4uS) - -80486dx/50MHz Solaris 2.1 - cc -xO4 (cc: PC2.0.1 30 April 1993) -set_key per sec = 18302.79 ( 54.6uS) -DES ecb bytes per sec = 242640.29 ( 33.0uS) -DES cbc bytes per sec = 239568.89 ( 33.4uS) -crypt per sec = 1057.92 (945.2uS) - -68030 HP400 -set_key per sec = 5251.28 -DES ecb bytes per sec = 56186.56 -DES cbc bytes per sec = 58681.53 -crypt per sec = 276.15 - -80486sx/33MHz MSDOS Turbo C v 2.0 -set_key per sec = 1883.22 (531.0uS) -DES ecb bytes per sec = 63393.31 (126.2uS) -DES cbc bytes per sec = 63416.83 (126.1uS) -crypt per sec = 158.71 (6300.6uS) - -80486sx/33MHz MSDOS djgpp gcc 1.39 (32bit compiler) -set_key per sec = 12603.08 (79.3) -DES ecb bytes per sec = 158875.15 (50.4) -DES cbc bytes per sec = 159893.85 (50.0) -crypt per sec = 780.24 (1281.7) - -Version 1.99 26/08/92 -8MHz 68000 Atari-ST gcc 2.1 -O2 MiNT 0.94 -set_key per sec = 325.68 (3070.5uS) -DES ecb bytes per sec = 4173.67 (1916.8uS) -DES cbc bytes per sec = 4249.89 (1882.4uS) -crypt per sec = 20.19 (49521.6uS) - -8088/4.77mh MSDOS Turbo C v 2.0 -set_key per sec = 35.09 -DES ecb bytes per sec = 563.63 -crypt per sec = 2.69 diff --git a/secure/lib/libdes/typemap b/secure/lib/libdes/typemap deleted file mode 100644 index a524f53634e7f..0000000000000 --- a/secure/lib/libdes/typemap +++ /dev/null @@ -1,34 +0,0 @@ -# -# DES SECTION -# -deschar * T_DESCHARP -des_cblock * T_CBLOCK -des_cblock T_CBLOCK -des_key_schedule T_SCHEDULE -des_key_schedule * T_SCHEDULE - -INPUT -T_CBLOCK - $var=(des_cblock *)SvPV($arg,len); - if (len < DES_KEY_SZ) - { - croak(\"$var needs to be at least %u bytes long\",DES_KEY_SZ); - } - -T_SCHEDULE - $var=(des_key_schedule *)SvPV($arg,len); - if (len < DES_SCHEDULE_SZ) - { - croak(\"$var needs to be at least %u bytes long\", - DES_SCHEDULE_SZ); - } - -OUTPUT -T_CBLOCK - sv_setpvn($arg,(char *)$var,DES_KEY_SZ); - -T_SCHEDULE - sv_setpvn($arg,(char *)$var,DES_SCHEDULE_SZ); - -T_DESCHARP - sv_setpvn($arg,(char *)$var,len); diff --git a/secure/lib/libdes/vms.com b/secure/lib/libdes/vms.com deleted file mode 100644 index 885ea8e36b50e..0000000000000 --- a/secure/lib/libdes/vms.com +++ /dev/null @@ -1,90 +0,0 @@ -$! --- VMS.com --- -$! -$ GoSub defines -$ GoSub linker_options -$ If (P1 .nes. "") -$ Then -$ GoSub 'P1' -$ Else -$ GoSub lib -$ GoSub destest -$ GoSub rpw -$ GoSub speed -$ GoSub des -$ EndIF -$! -$ Exit -$! -$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -$! -$DEFINES: -$ OPT_FILE := "VAX_LINKER_OPTIONS.OPT" -$! -$ CC_OPTS := "/NODebug/OPTimize/NOWarn" -$! -$ LINK_OPTS := "/NODebug/NOTraceback/Contiguous" -$! -$ OBJS = "cbc_cksm.obj,cbc_enc.obj,ecb_enc.obj,pcbc_enc.obj," + - - "qud_cksm.obj,rand_key.obj,read_pwd.obj,set_key.obj," + - - "str2key.obj,enc_read.obj,enc_writ.obj,fcrypt.obj," + - - "cfb_enc.obj,3ecb_enc.obj,ofb_enc.obj" - - -$! -$ LIBDES = "cbc_cksm.c,cbc_enc.c,ecb_enc.c,enc_read.c," + - - "enc_writ.c,pcbc_enc.c,qud_cksm.c,rand_key.c," + - - "read_pwd.c,set_key.c,str2key.c,fcrypt.c," + - - "cfb_enc.c,3ecb_enc.c,ofb_enc.c" -$ Return -$! -$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -$! -$LINKER_OPTIONS: -$ If (f$search(OPT_FILE) .eqs. "") -$ Then -$ Create 'OPT_FILE' -$DECK -! Default system options file to link against the sharable C runtime library -! -Sys$Share:VAXcRTL.exe/Share -$EOD -$ EndIF -$ Return -$! -$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -$! -$LIB: -$ CC 'CC_OPTS' 'LIBDES' -$ If (f$search("LIBDES.OLB") .nes. "") -$ Then Library /Object /Replace libdes 'OBJS' -$ Else Library /Create /Object libdes 'OBJS' -$ EndIF -$ Return -$! -$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -$! -$DESTEST: -$ CC 'CC_OPTS' destest -$ Link 'link_opts' /Exec=destest destest.obj,libdes/LIBRARY,'opt_file'/Option -$ Return -$! -$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -$! -$RPW: -$ CC 'CC_OPTS' rpw -$ Link 'link_opts' /Exec=rpw rpw.obj,libdes/LIBRARY,'opt_file'/Option -$ Return -$! -$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -$! -$SPEED: -$ CC 'CC_OPTS' speed -$ Link 'link_opts' /Exec=speed speed.obj,libdes/LIBRARY,'opt_file'/Option -$ Return -$! -$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -$! -$DES: -$ CC 'CC_OPTS' des -$ Link 'link_opts' /Exec=des des.obj,libdes/LIBRARY,'opt_file'/Option -$ Return diff --git a/secure/lib/libdes/xcbc_enc.c b/secure/lib/libdes/xcbc_enc.c deleted file mode 100644 index 9071acf6c53d8..0000000000000 --- a/secure/lib/libdes/xcbc_enc.c +++ /dev/null @@ -1,184 +0,0 @@ -/* crypto/des/xcbc_enc.c */ -/* Copyright (C) 1995-1996 Eric Young (eay@mincom.oz.au) - * All rights reserved. - * - * This file is part of an SSL implementation written - * by Eric Young (eay@mincom.oz.au). - * The implementation was written so as to conform with Netscapes SSL - * specification. This library and applications are - * FREE FOR COMMERCIAL AND NON-COMMERCIAL USE - * as long as the following conditions are aheared to. - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. If this code is used in a product, - * Eric Young should be given attribution as the author of the parts used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Eric Young (eay@mincom.oz.au) - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#include "des_locl.h" - -/* RSA's DESX */ - -static unsigned char desx_white_in2out[256]={ -0xBD,0x56,0xEA,0xF2,0xA2,0xF1,0xAC,0x2A,0xB0,0x93,0xD1,0x9C,0x1B,0x33,0xFD,0xD0, -0x30,0x04,0xB6,0xDC,0x7D,0xDF,0x32,0x4B,0xF7,0xCB,0x45,0x9B,0x31,0xBB,0x21,0x5A, -0x41,0x9F,0xE1,0xD9,0x4A,0x4D,0x9E,0xDA,0xA0,0x68,0x2C,0xC3,0x27,0x5F,0x80,0x36, -0x3E,0xEE,0xFB,0x95,0x1A,0xFE,0xCE,0xA8,0x34,0xA9,0x13,0xF0,0xA6,0x3F,0xD8,0x0C, -0x78,0x24,0xAF,0x23,0x52,0xC1,0x67,0x17,0xF5,0x66,0x90,0xE7,0xE8,0x07,0xB8,0x60, -0x48,0xE6,0x1E,0x53,0xF3,0x92,0xA4,0x72,0x8C,0x08,0x15,0x6E,0x86,0x00,0x84,0xFA, -0xF4,0x7F,0x8A,0x42,0x19,0xF6,0xDB,0xCD,0x14,0x8D,0x50,0x12,0xBA,0x3C,0x06,0x4E, -0xEC,0xB3,0x35,0x11,0xA1,0x88,0x8E,0x2B,0x94,0x99,0xB7,0x71,0x74,0xD3,0xE4,0xBF, -0x3A,0xDE,0x96,0x0E,0xBC,0x0A,0xED,0x77,0xFC,0x37,0x6B,0x03,0x79,0x89,0x62,0xC6, -0xD7,0xC0,0xD2,0x7C,0x6A,0x8B,0x22,0xA3,0x5B,0x05,0x5D,0x02,0x75,0xD5,0x61,0xE3, -0x18,0x8F,0x55,0x51,0xAD,0x1F,0x0B,0x5E,0x85,0xE5,0xC2,0x57,0x63,0xCA,0x3D,0x6C, -0xB4,0xC5,0xCC,0x70,0xB2,0x91,0x59,0x0D,0x47,0x20,0xC8,0x4F,0x58,0xE0,0x01,0xE2, -0x16,0x38,0xC4,0x6F,0x3B,0x0F,0x65,0x46,0xBE,0x7E,0x2D,0x7B,0x82,0xF9,0x40,0xB5, -0x1D,0x73,0xF8,0xEB,0x26,0xC7,0x87,0x97,0x25,0x54,0xB1,0x28,0xAA,0x98,0x9D,0xA5, -0x64,0x6D,0x7A,0xD4,0x10,0x81,0x44,0xEF,0x49,0xD6,0xAE,0x2E,0xDD,0x76,0x5C,0x2F, -0xA7,0x1C,0xC9,0x09,0x69,0x9A,0x83,0xCF,0x29,0x39,0xB9,0xE9,0x4C,0xFF,0x43,0xAB, - }; - -void des_xwhite_in2out(des_key,in_white,out_white) -des_cblock (*des_key); -des_cblock (*in_white); -des_cblock (*out_white); - { - unsigned char *key,*in,*out; - int out0,out1; - int i; - - key=(unsigned char *)des_key; - in=(unsigned char *)in_white; - out=(unsigned char *)out_white; - - out[0]=out[1]=out[2]=out[3]=out[4]=out[5]=out[6]=out[7]=0; - out0=out1=0; - for (i=0; i<8; i++) - { - out[i]=key[i]^desx_white_in2out[out0^out1]; - out0=out1; - out1=(int)out[i&0x07]; - } - - out0=out[0]; - out1=out[i]; - for (i=0; i<8; i++) - { - out[i]=in[i]^desx_white_in2out[out0^out1]; - out0=out1; - out1=(int)out[i&0x07]; - } - } - -void des_xcbc_encrypt(input, output, length, schedule, ivec, inw,outw,encrypt) -des_cblock (*input); -des_cblock (*output); -long length; -des_key_schedule schedule; -des_cblock (*ivec); -des_cblock (*inw); -des_cblock (*outw); -int encrypt; - { - register DES_LONG tin0,tin1; - register DES_LONG tout0,tout1,xor0,xor1; - register DES_LONG inW0,inW1,outW0,outW1; - register unsigned char *in,*out; - register long l=length; - DES_LONG tin[2]; - unsigned char *iv; - - in=(unsigned char *)inw; - c2l(in,inW0); - c2l(in,inW1); - in=(unsigned char *)outw; - c2l(in,outW0); - c2l(in,outW1); - - in=(unsigned char *)input; - out=(unsigned char *)output; - iv=(unsigned char *)ivec; - - if (encrypt) - { - c2l(iv,tout0); - c2l(iv,tout1); - for (; l>0; l-=8) - { - if (l >= 8) - { - c2l(in,tin0); - c2l(in,tin1); - } - else - c2ln(in,tin0,tin1,l); - tin0^=tout0^inW0; tin[0]=tin0; - tin1^=tout1^inW1; tin[1]=tin1; - des_encrypt((DES_LONG *)tin,schedule,DES_ENCRYPT); - tout0=tin[0]^outW0; l2c(tout0,out); - tout1=tin[1]^outW1; l2c(tout1,out); - } - iv=(unsigned char *)ivec; - l2c(tout0,iv); - l2c(tout1,iv); - } - else - { - c2l(iv,xor0); - c2l(iv,xor1); - for (; l>0; l-=8) - { - c2l(in,tin0); tin[0]=tin0^outW0; - c2l(in,tin1); tin[1]=tin1^outW1; - des_encrypt((DES_LONG *)tin,schedule,DES_DECRYPT); - tout0=tin[0]^xor0^inW0; - tout1=tin[1]^xor1^inW1; - if (l >= 8) - { - l2c(tout0,out); - l2c(tout1,out); - } - else - l2cn(tout0,tout1,out,l); - xor0=tin0; - xor1=tin1; - } - iv=(unsigned char *)ivec; - l2c(xor0,iv); - l2c(xor1,iv); - } - tin0=tin1=tout0=tout1=xor0=xor1=0; - inW0=inW1=outW0=outW1=0; - tin[0]=tin[1]=0; - } - diff --git a/secure/usr.bin/Makefile b/secure/usr.bin/Makefile deleted file mode 100644 index 48b002458c57b..0000000000000 --- a/secure/usr.bin/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# $Id: Makefile,v 1.2 1995/07/29 12:49:25 markm Exp $ - -SUBDIR= bdes - -.include <bsd.subdir.mk> - diff --git a/secure/usr.bin/Makefile.inc b/secure/usr.bin/Makefile.inc deleted file mode 100644 index e09ccebf3f5db..0000000000000 --- a/secure/usr.bin/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -# $Id: Makefile.inc,v 1.1 1994/09/07 07:16:50 pst Exp $ - -BINDIR= /usr/bin -.include "${.CURDIR}/../../Makefile.inc" diff --git a/secure/usr.bin/bdes/Makefile b/secure/usr.bin/bdes/Makefile deleted file mode 100644 index 5af8438a1d4b1..0000000000000 --- a/secure/usr.bin/bdes/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# @(#)Makefile 8.1 (Berkeley) 6/6/93 -# $Id: Makefile,v 1.6 1995/12/21 17:57:16 ache Exp $ - -PROG= bdes -SRCS= bdes.c - -.if exists(${.OBJDIR}/../../lib/libcipher) -LDFLAGS+= -L${.OBJDIR}/../../lib/libcipher -.else -LDFLAGS+= -L${.CURDIR}/../../lib/libcipher -.endif - -LDADD+= -lcipher -DPADD+= libcipher.a - -.include <bsd.prog.mk> diff --git a/secure/usr.bin/bdes/bdes.1 b/secure/usr.bin/bdes/bdes.1 deleted file mode 100644 index 48179fda7624e..0000000000000 --- a/secure/usr.bin/bdes/bdes.1 +++ /dev/null @@ -1,304 +0,0 @@ -.\" Copyright (c) 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Matt Bishop of Dartmouth College. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)bdes.1 8.1 (Berkeley) 6/29/93 -.\" -.TH BDES 1 "June 29, 1993" -.UC 6 -.SH NAME -bdes \- encrypt/decrypt using the Data Encryption Standard -.SH SYNOPSIS -.nf -.ft B -bdes [ \-abdp ] [ \-F N ] [ \-f N ] [ \-k key ] -.ti +5 -[ \-m N ] [ \-o N ] [ \-v vector ] -.ft R -.fi -.SH DESCRIPTION -.I Bdes -implements all DES modes of operation described in FIPS PUB 81, -including alternative cipher feedback mode and both authentication -modes. -.I Bdes -reads from the standard input and writes to the standard output. -By default, the input is encrypted using cipher block chaining mode. -Using the same key for encryption and decryption preserves plain text. -.PP -All modes but the electronic code book mode require an initialization -vector; if none is supplied, the zero vector is used. -If no -.I key -is specified on the command line, the user is prompted for one (see -.IR getpass (3) -for more details). -.PP -The options are as follows: -.TP -\-a -The key and initialization vector strings are to be taken as ASCII, -suppressing the special interpretation given to leading ``0X'', ``0x'', -``0B'', and ``0b'' characters. -This flag applies to -.I both -the key and initialization vector. -.TP -\-b -Use electronic code book mode. -.TP -\-d -Decrypt the input. -.TP -\-F -Use -.IR N -bit -alternative cipher feedback mode. -Currently -.I N -must be a multiple of 7 between 7 and 56 inclusive (this does not conform -to the alternative CFB mode specification). -.TP -\-f -Use -.IR N -bit -cipher feedback mode. -Currently -.I N -must be a multiple of 8 between 8 and 64 inclusive (this does not conform -to the standard CFB mode specification). -.TP -\-k -Use -.I key -as the cryptographic key. -.TP -\-m -Compute a message authentication code (MAC) of -.I N -bits on the input. -The value of -.I N -must be between 1 and 64 inclusive; if -.I N -is not a multiple of 8, enough 0 bits will be added to pad the MAC length -to the nearest multiple of 8. -Only the MAC is output. -MACs are only available in cipher block chaining mode or in cipher feedback -mode. -.TP -\-o -Use -.IR N -bit -output feedback mode. -Currently -.I N -must be a multiple of 8 between 8 and 64 inclusive (this does not conform -to the OFB mode specification). -.TP -\-p -Disable the resetting of the parity bit. -This flag forces the parity bit of the key to be used as typed, rather than -making each character be of odd parity. -It is used only if the key is given in ASCII. -.TP -\-v -Set the initialization vector to -.IR vector ; -the vector is interpreted in the same way as the key. -The vector is ignored in electronic codebook mode. -.PP -The key and initialization vector are taken as sequences of ASCII -characters which are then mapped into their bit representations. -If either begins with ``0X'' or ``0x'', -that one is taken as a sequence of hexadecimal digits indicating the -bit pattern; -if either begins with ``0B'' or ``0b'', -that one is taken as a sequence of binary digits indicating the bit pattern. -In either case, -only the leading 64 bits of the key or initialization vector -are used, -and if fewer than 64 bits are provided, enough 0 bits are appended -to pad the key to 64 bits. -.PP -According to the DES standard, the low-order bit of each character in the -key string is deleted. -Since most ASCII representations set the high-order bit to 0, simply -deleting the low-order bit effectively reduces the size of the key space -from 2\u\s-356\s0\d to 2\u\s-348\s0\d keys. -To prevent this, the high-order bit must be a function depending in part -upon the low-order bit; so, the high-order bit is set to whatever value -gives odd parity. -This preserves the key space size. -Note this resetting of the parity bit is -.I not -done if the key is given in binary or hex, and can be disabled for ASCII -keys as well. -.PP -The DES is considered a very strong cryptosystem, and other than table lookup -attacks, key search attacks, and Hellman's time-memory tradeoff (all of which -are very expensive and time-consuming), no cryptanalytic methods for breaking -the DES are known in the open literature. -No doubt the choice of keys and key security are the most vulnerable aspect -of -.IR bdes . -.SH IMPLEMENTATION NOTES -For implementors wishing to write software compatible with this program, -the following notes are provided. -This software is believed to be compatible with the implementation of the -data encryption standard distributed by Sun Microsystems, Inc. -.PP -In the ECB and CBC modes, plaintext is encrypted in units of 64 bits (8 bytes, -also called a block). -To ensure that the plaintext file is encrypted correctly, -.I bdes -will (internally) append from 1 to 8 bytes, the last byte containing an -integer stating how many bytes of that final block are from the plaintext -file, and encrypt the resulting block. -Hence, when decrypting, the last block may contain from 0 to 7 characters -present in the plaintext file, and the last byte tells how many. -Note that if during decryption the last byte of the file does not contain an -integer between 0 and 7, either the file has been corrupted or an incorrect -key has been given. -A similar mechanism is used for the OFB and CFB modes, except that those -simply require the length of the input to be a multiple of the mode size, -and the final byte contains an integer between 0 and one less than the number -of bytes being used as the mode. -(This was another reason that the mode size must be a multiple of 8 for those -modes.) -.PP -Unlike Sun's implementation, unused bytes of that last block are not filled -with random data, but instead contain what was in those byte positions in -the preceding block. -This is quicker and more portable, and does not weaken the encryption -significantly. -.PP -If the key is entered in ASCII, the parity bits of the key characters are set -so that each key character is of odd parity. -Unlike Sun's implementation, it is possible to enter binary or hexadecimal -keys on the command line, and if this is done, the parity bits are -.I not -reset. -This allows testing using arbitrary bit patterns as keys. -.PP -The Sun implementation always uses an initialization vector of 0 -(that is, all zeroes). -By default, -.I bdes -does too, but this may be changed from the command line. -.SH SEE ALSO -crypt(3), getpass(3) -.sp -.IR "Data Encryption Standard" , -Federal Information Processing Standard #46, -National Bureau of Standards, -U.S. Department of Commerce, -Washington DC -(Jan. 1977) -.sp -.IR "DES Modes of Operation" , -Federal Information Processing Standard #81, -National Bureau of Standards, -U.S. Department of Commerce -Washington DC -(Dec. 1980) -.sp -Dorothy Denning, -.IR "Cryptography and Data Security" , -Addison-Wesley Publishing Co., -Reading, MA -\(co1982. -.sp -Matt Bishop, -.IR "Implementation Notes on bdes(1)" , -Technical Report PCS-TR-91-158, -Department of Mathematics and Computer Science, -Dartmouth College, -Hanover, NH 03755 -(Apr. 1991). -.SH DISCLAIMER -.nf -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. -.fi -.SH BUGS -There is a controversy raging over whether the DES will still be secure -in a few years. -The advent of special-purpose hardware could reduce the cost of any of the -methods of attack named above so that they are no longer computationally -infeasible. -.PP -As the key or key schedule is stored in memory, the encryption can be -compromised if memory is readable. -Additionally, programs which display programs' arguments may compromise the -key and initialization vector, if they are specified on the command line. -To avoid this -.I bdes -overwrites its arguments, however, the obvious race cannot currently be -avoided. -.PP -Certain specific keys should be avoided because they introduce potential -weaknesses; these keys, called the -.I weak -and -.I semiweak -keys, are (in hex notation, where p is either 0 or 1, and P is either -e or f): -.sp -.nf -.in +10n -.ta \w'0x0p0p0p0p0p0p0p0p\0\0\0'u+5n -0x0p0p0p0p0p0p0p0p 0x0p1P0p1P0p0P0p0P -0x0pep0pep0pfp0pfp 0x0pfP0pfP0pfP0pfP -0x1P0p1P0p0P0p0P0p 0x1P1P1P1P0P0P0P0P -0x1Pep1Pep0Pfp0Pfp 0x1PfP1PfP0PfP0PfP -0xep0pep0pfp0pfp0p 0xep1Pep1pfp0Pfp0P -0xepepepepepepepep 0xepfPepfPfpfPfpfP -0xfP0pfP0pfP0pfP0p 0xfP1PfP1PfP0PfP0P -0xfPepfPepfPepfPep 0xfPfPfPfPfPfPfPfP -.fi -.in -10n -.sp -This is inherent in the DES algorithm (see Moore and Simmons, -\*(LqCycle structure of the DES with weak and semi-weak keys,\*(Rq -.I "Advances in Cryptology \- Crypto '86 Proceedings" , -Springer-Verlag New York, \(co1987, pp. 9-32.) diff --git a/secure/usr.bin/bdes/bdes.c b/secure/usr.bin/bdes/bdes.c deleted file mode 100644 index 257d549689533..0000000000000 --- a/secure/usr.bin/bdes/bdes.c +++ /dev/null @@ -1,1046 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Matt Bishop of Dartmouth College. - * - * The United States Government has rights in this work pursuant - * to contract no. NAG 2-680 between the National Aeronautics and - * Space Administration and Dartmouth College. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef lint -static char copyright[] = -"@(#) Copyright (c) 1991, 1993\n\ - The Regents of the University of California. All rights reserved.\n"; -#endif /* not lint */ - -#ifndef lint -static char sccsid[] = "@(#)bdes.c 8.1 (Berkeley) 6/6/93"; -#endif /* not lint */ - -/* - * BDES -- DES encryption package for Berkeley Software Distribution 4.4 - * options: - * -a key is in ASCII - * -b use ECB (electronic code book) mode - * -d invert (decrypt) input - * -f b use b-bit CFB (cipher feedback) mode - * -F b use b-bit CFB (cipher feedback) alternative mode - * -k key use key as the cryptographic key - * -m b generate a MAC of length b - * -o b use b-bit OFB (output feedback) mode - * -p don't reset the parity bit - * -v v use v as the initialization vector (ignored for ECB) - * note: the last character of the last block is the integer indicating - * how many characters of that block are to be output - * - * Author: Matt Bishop - * Department of Mathematics and Computer Science - * Dartmouth College - * Hanover, NH 03755 - * Email: Matt.Bishop@dartmouth.edu - * ...!decvax!dartvax!Matt.Bishop - * - * See Technical Report PCS-TR91-158, Department of Mathematics and Computer - * Science, Dartmouth College, for a detailed description of the implemen- - * tation and differences between it and Sun's. The DES is described in - * FIPS PUB 46, and the modes in FIPS PUB 81 (see either the manual page - * or the technical report for a complete reference). - */ - -#include <errno.h> -#include <unistd.h> -#include <stdio.h> -#include <ctype.h> -#include <stdlib.h> -#include <string.h> - -/* - * BSD and System V systems offer special library calls that do - * block moves and fills, so if possible we take advantage of them - */ -#define MEMCPY(dest,src,len) bcopy((src),(dest),(len)) -#define MEMZERO(dest,len) bzero((dest),(len)) - -/* Hide the calls to the primitive encryption routines. */ -#define FASTWAY -#ifdef FASTWAY -#define DES_KEY(buf) \ - if (des_setkey(buf)) \ - err("des_setkey", 0); -#define DES_XFORM(buf) \ - if (des_cipher(buf, buf, 0L, (inverse ? -1 : 1))) \ - err("des_cipher", 0); -#else -#define DES_KEY(buf) { \ - char bits1[64]; /* bits of key */ \ - expand(buf, bits1); \ - if (setkey(bits1)) \ - err("setkey", 0); \ - } -#define DES_XFORM(buf) { \ - char bits1[64]; /* bits of message */ \ - expand(buf, bits1); \ - if (encrypt(bits1, inverse)) \ - err("encrypt", 0); \ - compress(bits1, buf); \ - } -#endif - -/* - * this does an error-checking write - */ -#define READ(buf, n) fread(buf, sizeof(char), n, stdin) -#define WRITE(buf,n) \ - if (fwrite(buf, sizeof(char), n, stdout) != n) \ - err(bn, NULL); - -/* - * some things to make references easier - */ -typedef char Desbuf[8]; -#define CHAR(x,i) (x[i]) -#define UCHAR(x,i) (x[i]) -#define BUFFER(x) (x) -#define UBUFFER(x) (x) - -/* - * global variables and related macros - */ -#define KEY_DEFAULT 0 /* interpret radix of key from key */ -#define KEY_ASCII 1 /* key is in ASCII characters */ -int keybase = KEY_DEFAULT; /* how to interpret the key */ - -enum { /* encrypt, decrypt, authenticate */ - MODE_ENCRYPT, MODE_DECRYPT, MODE_AUTHENTICATE -} mode = MODE_ENCRYPT; -enum { /* ecb, cbc, cfb, cfba, ofb? */ - ALG_ECB, ALG_CBC, ALG_CFB, ALG_OFB, ALG_CFBA -} alg = ALG_CBC; - -Desbuf ivec; /* initialization vector */ -char bits[] = { /* used to extract bits from a char */ - '\200', '\100', '\040', '\020', '\010', '\004', '\002', '\001' -}; -int inverse; /* 0 to encrypt, 1 to decrypt */ -int macbits = -1; /* number of bits in authentication */ -int fbbits = -1; /* number of feedback bits */ -int pflag; /* 1 to preserve parity bits */ - -main(ac, av) - int ac; /* arg count */ - char **av; /* arg vector */ -{ - extern int optind; /* option (argument) number */ - extern char *optarg; /* argument to option if any */ - register int i; /* counter in a for loop */ - register char *p; /* used to obtain the key */ - Desbuf msgbuf; /* I/O buffer */ - int kflag; /* command-line encryptiooon key */ - int argc; /* the real arg count */ - char **argv; /* the real argument vector */ - - /* - * Hide the arguments from ps(1) by making private copies of them - * and clobbering the global (visible to ps(1)) ones. - */ - argc = ac; - ac = 1; - argv = malloc((argc + 1) * sizeof(char *)); - for (i = 0; i < argc; ++i) { - argv[i] = strdup(av[i]); - MEMZERO(av[i], strlen(av[i])); - } - argv[argc] = NULL; - - /* initialize the initialization vctor */ - MEMZERO(ivec, 8); - - /* process the argument list */ - kflag = 0; - while ((i = getopt(argc, argv, "abdF:f:k:m:o:pv:")) != EOF) - switch(i) { - case 'a': /* key is ASCII */ - keybase = KEY_ASCII; - break; - case 'b': /* use ECB mode */ - alg = ALG_ECB; - break; - case 'd': /* decrypt */ - mode = MODE_DECRYPT; - break; - case 'F': /* use alternative CFB mode */ - alg = ALG_CFBA; - if ((fbbits = setbits(optarg, 7)) > 56 || fbbits == 0) - err(-1, "-F: number must be 1-56 inclusive"); - else if (fbbits == -1) - err(-1, "-F: number must be a multiple of 7"); - break; - case 'f': /* use CFB mode */ - alg = ALG_CFB; - if ((fbbits = setbits(optarg, 8)) > 64 || fbbits == 0) - err(-1, "-f: number must be 1-64 inclusive"); - else if (fbbits == -1) - err(-1, "-f: number must be a multiple of 8"); - break; - case 'k': /* encryption key */ - kflag = 1; - cvtkey(BUFFER(msgbuf), optarg); - break; - case 'm': /* number of bits for MACing */ - mode = MODE_AUTHENTICATE; - if ((macbits = setbits(optarg, 1)) > 64) - err(-1, "-m: number must be 0-64 inclusive"); - break; - case 'o': /* use OFB mode */ - alg = ALG_OFB; - if ((fbbits = setbits(optarg, 8)) > 64 || fbbits == 0) - err(-1, "-o: number must be 1-64 inclusive"); - else if (fbbits == -1) - err(-1, "-o: number must be a multiple of 8"); - break; - case 'p': /* preserve parity bits */ - pflag = 1; - break; - case 'v': /* set initialization vector */ - cvtkey(BUFFER(ivec), optarg); - break; - default: /* error */ - usage(); - } - - if (!kflag) { - /* - * if the key's not ASCII, assume it is - */ - keybase = KEY_ASCII; - /* - * get the key - */ - p = getpass("Enter key: "); - /* - * copy it, nul-padded, into the key area - */ - cvtkey(BUFFER(msgbuf), p); - } - - makekey(msgbuf); - inverse = (alg == ALG_CBC || alg == ALG_ECB) && mode == MODE_DECRYPT; - - switch(alg) { - case ALG_CBC: - switch(mode) { - case MODE_AUTHENTICATE: /* authenticate using CBC mode */ - cbcauth(); - break; - case MODE_DECRYPT: /* decrypt using CBC mode */ - cbcdec(); - break; - case MODE_ENCRYPT: /* encrypt using CBC mode */ - cbcenc(); - break; - } - break; - case ALG_CFB: - switch(mode) { - case MODE_AUTHENTICATE: /* authenticate using CFB mode */ - cfbauth(); - break; - case MODE_DECRYPT: /* decrypt using CFB mode */ - cfbdec(); - break; - case MODE_ENCRYPT: /* encrypt using CFB mode */ - cfbenc(); - break; - } - break; - case ALG_CFBA: - switch(mode) { - case MODE_AUTHENTICATE: /* authenticate using CFBA mode */ - err(-1, "can't authenticate with CFBA mode"); - break; - case MODE_DECRYPT: /* decrypt using CFBA mode */ - cfbadec(); - break; - case MODE_ENCRYPT: /* encrypt using CFBA mode */ - cfbaenc(); - break; - } - break; - case ALG_ECB: - switch(mode) { - case MODE_AUTHENTICATE: /* authenticate using ECB mode */ - err(-1, "can't authenticate with ECB mode"); - break; - case MODE_DECRYPT: /* decrypt using ECB mode */ - ecbdec(); - break; - case MODE_ENCRYPT: /* encrypt using ECB mode */ - ecbenc(); - break; - } - break; - case ALG_OFB: - switch(mode) { - case MODE_AUTHENTICATE: /* authenticate using OFB mode */ - err(-1, "can't authenticate with OFB mode"); - break; - case MODE_DECRYPT: /* decrypt using OFB mode */ - ofbdec(); - break; - case MODE_ENCRYPT: /* encrypt using OFB mode */ - ofbenc(); - break; - } - break; - } - exit(0); -} - -/* - * print a warning message and, possibly, terminate - */ -err(n, s) - int n; /* offending block number */ - char *s; /* the message */ -{ - if (n > 0) - (void)fprintf(stderr, "bdes (block %d): ", n); - else - (void)fprintf(stderr, "bdes: "); - (void)fprintf(stderr, "%s\n", s ? s : strerror(errno)); - exit(1); -} - -/* - * map a hex character to an integer - */ -tobinhex(c, radix) - char c; /* char to be converted */ - int radix; /* base (2 to 16) */ -{ - switch(c) { - case '0': return(0x0); - case '1': return(0x1); - case '2': return(radix > 2 ? 0x2 : -1); - case '3': return(radix > 3 ? 0x3 : -1); - case '4': return(radix > 4 ? 0x4 : -1); - case '5': return(radix > 5 ? 0x5 : -1); - case '6': return(radix > 6 ? 0x6 : -1); - case '7': return(radix > 7 ? 0x7 : -1); - case '8': return(radix > 8 ? 0x8 : -1); - case '9': return(radix > 9 ? 0x9 : -1); - case 'A': case 'a': return(radix > 10 ? 0xa : -1); - case 'B': case 'b': return(radix > 11 ? 0xb : -1); - case 'C': case 'c': return(radix > 12 ? 0xc : -1); - case 'D': case 'd': return(radix > 13 ? 0xd : -1); - case 'E': case 'e': return(radix > 14 ? 0xe : -1); - case 'F': case 'f': return(radix > 15 ? 0xf : -1); - } - /* - * invalid character - */ - return(-1); -} - -/* - * convert the key to a bit pattern - */ -cvtkey(obuf, ibuf) - char *obuf; /* bit pattern */ - char *ibuf; /* the key itself */ -{ - register int i, j; /* counter in a for loop */ - int nbuf[64]; /* used for hex/key translation */ - - /* - * just switch on the key base - */ - switch(keybase) { - case KEY_ASCII: /* ascii to integer */ - (void)strncpy(obuf, ibuf, 8); - return; - case KEY_DEFAULT: /* tell from context */ - /* - * leading '0x' or '0X' == hex key - */ - if (ibuf[0] == '0' && (ibuf[1] == 'x' || ibuf[1] == 'X')) { - ibuf = &ibuf[2]; - /* - * now translate it, bombing on any illegal hex digit - */ - for (i = 0; ibuf[i] && i < 16; i++) - if ((nbuf[i] = tobinhex(ibuf[i], 16)) == -1) - err(-1, "bad hex digit in key"); - while (i < 16) - nbuf[i++] = 0; - for (i = 0; i < 8; i++) - obuf[i] = - ((nbuf[2*i]&0xf)<<4) | (nbuf[2*i+1]&0xf); - /* preserve parity bits */ - pflag = 1; - return; - } - /* - * leading '0b' or '0B' == binary key - */ - if (ibuf[0] == '0' && (ibuf[1] == 'b' || ibuf[1] == 'B')) { - ibuf = &ibuf[2]; - /* - * now translate it, bombing on any illegal binary digit - */ - for (i = 0; ibuf[i] && i < 16; i++) - if ((nbuf[i] = tobinhex(ibuf[i], 2)) == -1) - err(-1, "bad binary digit in key"); - while (i < 64) - nbuf[i++] = 0; - for (i = 0; i < 8; i++) - for (j = 0; j < 8; j++) - obuf[i] = (obuf[i]<<1)|nbuf[8*i+j]; - /* preserve parity bits */ - pflag = 1; - return; - } - /* - * no special leader -- ASCII - */ - (void)strncpy(obuf, ibuf, 8); - } -} - -/* - * convert an ASCII string into a decimal number: - * 1. must be between 0 and 64 inclusive - * 2. must be a valid decimal number - * 3. must be a multiple of mult - */ -setbits(s, mult) - char *s; /* the ASCII string */ - int mult; /* what it must be a multiple of */ -{ - register char *p; /* pointer in a for loop */ - register int n = 0; /* the integer collected */ - - /* - * skip white space - */ - while (isspace(*s)) - s++; - /* - * get the integer - */ - for (p = s; *p; p++) { - if (isdigit(*p)) - n = n * 10 + *p - '0'; - else { - err(-1, "bad decimal digit in MAC length"); - } - } - /* - * be sure it's a multiple of mult - */ - return((n % mult != 0) ? -1 : n); -} - -/***************** - * DES FUNCTIONS * - *****************/ -/* - * This sets the DES key and (if you're using the deszip version) - * the direction of the transformation. This uses the Sun - * to map the 64-bit key onto the 56 bits that the key schedule - * generation routines use: the old way, which just uses the user- - * supplied 64 bits as is, and the new way, which resets the parity - * bit to be the same as the low-order bit in each character. The - * new way generates a greater variety of key schedules, since many - * systems set the parity (high) bit of each character to 0, and the - * DES ignores the low order bit of each character. - */ -makekey(buf) - Desbuf buf; /* key block */ -{ - register int i, j; /* counter in a for loop */ - register int par; /* parity counter */ - - /* - * if the parity is not preserved, flip it - */ - if (!pflag) { - for (i = 0; i < 8; i++) { - par = 0; - for (j = 1; j < 8; j++) - if ((bits[j]&UCHAR(buf, i)) != 0) - par++; - if ((par&01) == 01) - UCHAR(buf, i) = UCHAR(buf, i)&0177; - else - UCHAR(buf, i) = (UCHAR(buf, i)&0177)|0200; - } - } - - DES_KEY(UBUFFER(buf)); -} - -/* - * This encrypts using the Electronic Code Book mode of DES - */ -ecbenc() -{ - register int n; /* number of bytes actually read */ - register int bn; /* block number */ - Desbuf msgbuf; /* I/O buffer */ - - for (bn = 0; (n = READ(BUFFER(msgbuf), 8)) == 8; bn++) { - /* - * do the transformation - */ - DES_XFORM(UBUFFER(msgbuf)); - WRITE(BUFFER(msgbuf), 8); - } - /* - * at EOF or last block -- in either ase, the last byte contains - * the character representation of the number of bytes in it - */ - bn++; - MEMZERO(&CHAR(msgbuf, n), 8 - n); - CHAR(msgbuf, 7) = n; - DES_XFORM(UBUFFER(msgbuf)); - WRITE(BUFFER(msgbuf), 8); - -} - -/* - * This decrypts using the Electronic Code Book mode of DES - */ -ecbdec() -{ - register int n; /* number of bytes actually read */ - register int c; /* used to test for EOF */ - register int bn; /* block number */ - Desbuf msgbuf; /* I/O buffer */ - - for (bn = 1; (n = READ(BUFFER(msgbuf), 8)) == 8; bn++) { - /* - * do the transformation - */ - DES_XFORM(UBUFFER(msgbuf)); - /* - * if the last one, handle it specially - */ - if ((c = getchar()) == EOF) { - n = CHAR(msgbuf, 7); - if (n < 0 || n > 7) - err(bn, "decryption failed (block corrupted)"); - } - else - (void)ungetc(c, stdin); - WRITE(BUFFER(msgbuf), n); - } - if (n > 0) - err(bn, "decryption failed (incomplete block)"); -} - -/* - * This encrypts using the Cipher Block Chaining mode of DES - */ -cbcenc() -{ - register int n; /* number of bytes actually read */ - register int bn; /* block number */ - Desbuf msgbuf; /* I/O buffer */ - - /* - * do the transformation - */ - for (bn = 1; (n = READ(BUFFER(msgbuf), 8)) == 8; bn++) { - for (n = 0; n < 8; n++) - CHAR(msgbuf, n) ^= CHAR(ivec, n); - DES_XFORM(UBUFFER(msgbuf)); - MEMCPY(BUFFER(ivec), BUFFER(msgbuf), 8); - WRITE(BUFFER(msgbuf), 8); - } - /* - * at EOF or last block -- in either case, the last byte contains - * the character representation of the number of bytes in it - */ - bn++; - MEMZERO(&CHAR(msgbuf, n), 8 - n); - CHAR(msgbuf, 7) = n; - for (n = 0; n < 8; n++) - CHAR(msgbuf, n) ^= CHAR(ivec, n); - DES_XFORM(UBUFFER(msgbuf)); - WRITE(BUFFER(msgbuf), 8); - -} - -/* - * This decrypts using the Cipher Block Chaining mode of DES - */ -cbcdec() -{ - register int n; /* number of bytes actually read */ - Desbuf msgbuf; /* I/O buffer */ - Desbuf ibuf; /* temp buffer for initialization vector */ - register int c; /* used to test for EOF */ - register int bn; /* block number */ - - for (bn = 0; (n = READ(BUFFER(msgbuf), 8)) == 8; bn++) { - /* - * do the transformation - */ - MEMCPY(BUFFER(ibuf), BUFFER(msgbuf), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (c = 0; c < 8; c++) - UCHAR(msgbuf, c) ^= UCHAR(ivec, c); - MEMCPY(BUFFER(ivec), BUFFER(ibuf), 8); - /* - * if the last one, handle it specially - */ - if ((c = getchar()) == EOF) { - n = CHAR(msgbuf, 7); - if (n < 0 || n > 7) - err(bn, "decryption failed (block corrupted)"); - } - else - (void)ungetc(c, stdin); - WRITE(BUFFER(msgbuf), n); - } - if (n > 0) - err(bn, "decryption failed (incomplete block)"); -} - -/* - * This authenticates using the Cipher Block Chaining mode of DES - */ -cbcauth() -{ - register int n, j; /* number of bytes actually read */ - Desbuf msgbuf; /* I/O buffer */ - Desbuf encbuf; /* encryption buffer */ - - /* - * do the transformation - * note we DISCARD the encrypted block; - * we only care about the last one - */ - while ((n = READ(BUFFER(msgbuf), 8)) == 8) { - for (n = 0; n < 8; n++) - CHAR(encbuf, n) = CHAR(msgbuf, n) ^ CHAR(ivec, n); - DES_XFORM(UBUFFER(encbuf)); - MEMCPY(BUFFER(ivec), BUFFER(encbuf), 8); - } - /* - * now compute the last one, right padding with '\0' if need be - */ - if (n > 0) { - MEMZERO(&CHAR(msgbuf, n), 8 - n); - for (n = 0; n < 8; n++) - CHAR(encbuf, n) = CHAR(msgbuf, n) ^ CHAR(ivec, n); - DES_XFORM(UBUFFER(encbuf)); - } - /* - * drop the bits - * we write chars until fewer than 7 bits, - * and then pad the last one with 0 bits - */ - for (n = 0; macbits > 7; n++, macbits -= 8) - (void)putchar(CHAR(encbuf, n)); - if (macbits > 0) { - CHAR(msgbuf, 0) = 0x00; - for (j = 0; j < macbits; j++) - CHAR(msgbuf, 0) |= (CHAR(encbuf, n)&bits[j]); - (void)putchar(CHAR(msgbuf, 0)); - } -} - -/* - * This encrypts using the Cipher FeedBack mode of DES - */ -cfbenc() -{ - register int n; /* number of bytes actually read */ - register int nbytes; /* number of bytes to read */ - register int bn; /* block number */ - char ibuf[8]; /* input buffer */ - Desbuf msgbuf; /* encryption buffer */ - - /* - * do things in bytes, not bits - */ - nbytes = fbbits / 8; - /* - * do the transformation - */ - for (bn = 1; (n = READ(ibuf, nbytes)) == nbytes; bn++) { - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (n = 0; n < 8 - nbytes; n++) - UCHAR(ivec, n) = UCHAR(ivec, n+nbytes); - for (n = 0; n < nbytes; n++) - UCHAR(ivec, 8-nbytes+n) = ibuf[n] ^ UCHAR(msgbuf, n); - WRITE(&CHAR(ivec, 8-nbytes), nbytes); - } - /* - * at EOF or last block -- in either case, the last byte contains - * the character representation of the number of bytes in it - */ - bn++; - MEMZERO(&ibuf[n], nbytes - n); - ibuf[nbytes - 1] = n; - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (n = 0; n < nbytes; n++) - ibuf[n] ^= UCHAR(msgbuf, n); - WRITE(ibuf, nbytes); -} - -/* - * This decrypts using the Cipher Block Chaining mode of DES - */ -cfbdec() -{ - register int n; /* number of bytes actually read */ - register int c; /* used to test for EOF */ - register int nbytes; /* number of bytes to read */ - register int bn; /* block number */ - char ibuf[8]; /* input buffer */ - char obuf[8]; /* output buffer */ - Desbuf msgbuf; /* encryption buffer */ - - /* - * do things in bytes, not bits - */ - nbytes = fbbits / 8; - /* - * do the transformation - */ - for (bn = 1; (n = READ(ibuf, nbytes)) == nbytes; bn++) { - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (c = 0; c < 8 - nbytes; c++) - CHAR(ivec, c) = CHAR(ivec, c+nbytes); - for (c = 0; c < nbytes; c++) { - CHAR(ivec, 8-nbytes+c) = ibuf[c]; - obuf[c] = ibuf[c] ^ UCHAR(msgbuf, c); - } - /* - * if the last one, handle it specially - */ - if ((c = getchar()) == EOF) { - n = obuf[nbytes-1]; - if (n < 0 || n > nbytes-1) - err(bn, "decryption failed (block corrupted)"); - } - else - (void)ungetc(c, stdin); - WRITE(obuf, n); - } - if (n > 0) - err(bn, "decryption failed (incomplete block)"); -} - -/* - * This encrypts using the alternative Cipher FeedBack mode of DES - */ -cfbaenc() -{ - register int n; /* number of bytes actually read */ - register int nbytes; /* number of bytes to read */ - register int bn; /* block number */ - char ibuf[8]; /* input buffer */ - char obuf[8]; /* output buffer */ - Desbuf msgbuf; /* encryption buffer */ - - /* - * do things in bytes, not bits - */ - nbytes = fbbits / 7; - /* - * do the transformation - */ - for (bn = 1; (n = READ(ibuf, nbytes)) == nbytes; bn++) { - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (n = 0; n < 8 - nbytes; n++) - UCHAR(ivec, n) = UCHAR(ivec, n+nbytes); - for (n = 0; n < nbytes; n++) - UCHAR(ivec, 8-nbytes+n) = (ibuf[n] ^ UCHAR(msgbuf, n)) - |0200; - for (n = 0; n < nbytes; n++) - obuf[n] = CHAR(ivec, 8-nbytes+n)&0177; - WRITE(obuf, nbytes); - } - /* - * at EOF or last block -- in either case, the last byte contains - * the character representation of the number of bytes in it - */ - bn++; - MEMZERO(&ibuf[n], nbytes - n); - ibuf[nbytes - 1] = ('0' + n)|0200; - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (n = 0; n < nbytes; n++) - ibuf[n] ^= UCHAR(msgbuf, n); - WRITE(ibuf, nbytes); -} - -/* - * This decrypts using the alternative Cipher Block Chaining mode of DES - */ -cfbadec() -{ - register int n; /* number of bytes actually read */ - register int c; /* used to test for EOF */ - register int nbytes; /* number of bytes to read */ - register int bn; /* block number */ - char ibuf[8]; /* input buffer */ - char obuf[8]; /* output buffer */ - Desbuf msgbuf; /* encryption buffer */ - - /* - * do things in bytes, not bits - */ - nbytes = fbbits / 7; - /* - * do the transformation - */ - for (bn = 1; (n = READ(ibuf, nbytes)) == nbytes; bn++) { - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (c = 0; c < 8 - nbytes; c++) - CHAR(ivec, c) = CHAR(ivec, c+nbytes); - for (c = 0; c < nbytes; c++) { - CHAR(ivec, 8-nbytes+c) = ibuf[c]|0200; - obuf[c] = (ibuf[c] ^ UCHAR(msgbuf, c))&0177; - } - /* - * if the last one, handle it specially - */ - if ((c = getchar()) == EOF) { - if ((n = (obuf[nbytes-1] - '0')) < 0 - || n > nbytes-1) - err(bn, "decryption failed (block corrupted)"); - } - else - (void)ungetc(c, stdin); - WRITE(obuf, n); - } - if (n > 0) - err(bn, "decryption failed (incomplete block)"); -} - - -/* - * This encrypts using the Output FeedBack mode of DES - */ -ofbenc() -{ - register int n; /* number of bytes actually read */ - register int c; /* used to test for EOF */ - register int nbytes; /* number of bytes to read */ - register int bn; /* block number */ - char ibuf[8]; /* input buffer */ - char obuf[8]; /* output buffer */ - Desbuf msgbuf; /* encryption buffer */ - - /* - * do things in bytes, not bits - */ - nbytes = fbbits / 8; - /* - * do the transformation - */ - for (bn = 1; (n = READ(ibuf, nbytes)) == nbytes; bn++) { - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (n = 0; n < 8 - nbytes; n++) - UCHAR(ivec, n) = UCHAR(ivec, n+nbytes); - for (n = 0; n < nbytes; n++) { - UCHAR(ivec, 8-nbytes+n) = UCHAR(msgbuf, n); - obuf[n] = ibuf[n] ^ UCHAR(msgbuf, n); - } - WRITE(obuf, nbytes); - } - /* - * at EOF or last block -- in either case, the last byte contains - * the character representation of the number of bytes in it - */ - bn++; - MEMZERO(&ibuf[n], nbytes - n); - ibuf[nbytes - 1] = n; - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (c = 0; c < nbytes; c++) - ibuf[c] ^= UCHAR(msgbuf, c); - WRITE(ibuf, nbytes); -} - -/* - * This decrypts using the Output Block Chaining mode of DES - */ -ofbdec() -{ - register int n; /* number of bytes actually read */ - register int c; /* used to test for EOF */ - register int nbytes; /* number of bytes to read */ - register int bn; /* block number */ - char ibuf[8]; /* input buffer */ - char obuf[8]; /* output buffer */ - Desbuf msgbuf; /* encryption buffer */ - - /* - * do things in bytes, not bits - */ - nbytes = fbbits / 8; - /* - * do the transformation - */ - for (bn = 1; (n = READ(ibuf, nbytes)) == nbytes; bn++) { - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (c = 0; c < 8 - nbytes; c++) - CHAR(ivec, c) = CHAR(ivec, c+nbytes); - for (c = 0; c < nbytes; c++) { - CHAR(ivec, 8-nbytes+c) = UCHAR(msgbuf, c); - obuf[c] = ibuf[c] ^ UCHAR(msgbuf, c); - } - /* - * if the last one, handle it specially - */ - if ((c = getchar()) == EOF) { - n = obuf[nbytes-1]; - if (n < 0 || n > nbytes-1) - err(bn, "decryption failed (block corrupted)"); - } - else - (void)ungetc(c, stdin); - /* - * dump it - */ - WRITE(obuf, n); - } - if (n > 0) - err(bn, "decryption failed (incomplete block)"); -} - -/* - * This authenticates using the Cipher FeedBack mode of DES - */ -cfbauth() -{ - register int n, j; /* number of bytes actually read */ - register int nbytes; /* number of bytes to read */ - char ibuf[8]; /* input buffer */ - Desbuf msgbuf; /* encryption buffer */ - - /* - * do things in bytes, not bits - */ - nbytes = fbbits / 8; - /* - * do the transformation - */ - while ((n = READ(ibuf, nbytes)) == nbytes) { - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (n = 0; n < 8 - nbytes; n++) - UCHAR(ivec, n) = UCHAR(ivec, n+nbytes); - for (n = 0; n < nbytes; n++) - UCHAR(ivec, 8-nbytes+n) = ibuf[n] ^ UCHAR(msgbuf, n); - } - /* - * at EOF or last block -- in either case, the last byte contains - * the character representation of the number of bytes in it - */ - MEMZERO(&ibuf[n], nbytes - n); - ibuf[nbytes - 1] = '0' + n; - MEMCPY(BUFFER(msgbuf), BUFFER(ivec), 8); - DES_XFORM(UBUFFER(msgbuf)); - for (n = 0; n < nbytes; n++) - ibuf[n] ^= UCHAR(msgbuf, n); - /* - * drop the bits - * we write chars until fewer than 7 bits, - * and then pad the last one with 0 bits - */ - for (n = 0; macbits > 7; n++, macbits -= 8) - (void)putchar(CHAR(msgbuf, n)); - if (macbits > 0) { - CHAR(msgbuf, 0) = 0x00; - for (j = 0; j < macbits; j++) - CHAR(msgbuf, 0) |= (CHAR(msgbuf, n)&bits[j]); - (void)putchar(CHAR(msgbuf, 0)); - } -} - -#ifndef FASTWAY -/* - * change from 8 bits/Uchar to 1 bit/Uchar - */ -expand(from, to) - Desbuf from; /* 8bit/unsigned char string */ - char *to; /* 1bit/char string */ -{ - register int i, j; /* counters in for loop */ - - for (i = 0; i < 8; i++) - for (j = 0; j < 8; j++) - *to++ = (CHAR(from, i)>>(7-j))&01; -} - -/* - * change from 1 bit/char to 8 bits/Uchar - */ -compress(from, to) - char *from; /* 1bit/char string */ - Desbuf to; /* 8bit/unsigned char string */ -{ - register int i, j; /* counters in for loop */ - - for (i = 0; i < 8; i++) { - CHAR(to, i) = 0; - for (j = 0; j < 8; j++) - CHAR(to, i) = ((*from++)<<(7-j))|CHAR(to, i); - } -} -#endif - -/* - * message about usage - */ -usage() -{ - (void)fprintf(stderr, "%s\n", -"usage: bdes [-abdp] [-F bit] [-f bit] [-k key] [-m bit] [-o bit] [-v vector]"); - exit(1); -} diff --git a/secure/usr.bin/bdes/bdes.ps b/secure/usr.bin/bdes/bdes.ps deleted file mode 100644 index 471c267af7513..0000000000000 --- a/secure/usr.bin/bdes/bdes.ps +++ /dev/null @@ -1,2945 +0,0 @@ -%! -%%BoundingBox: (atend) -%%Pages: (atend) -%%DocumentFonts: (atend) -%%EndComments -% -% FrameMaker PostScript Prolog 2.0, for use with FrameMaker 2.0 -% Copyright (c) 1986,87,89 by Frame Technology, Inc. All rights reserved. -% -% Known Problems: -% Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1 -/FMversion (2.0) def -% Set up Color vs. Black-and-White - /FMPrintInColor systemdict /colorimage known def -% Uncomment this line to force b&w on color printer -% /FMPrintInColor false def -/FrameDict 190 dict def -systemdict /errordict known not {/errordict 10 dict def - errordict /rangecheck {stop} put} if -% The readline in 23.0 doesn't recognize cr's as nl's on AppleTalk -FrameDict /tmprangecheck errordict /rangecheck get put -errordict /rangecheck {FrameDict /bug true put} put -FrameDict /bug false put -mark -% Some PS machines read past the CR, so keep the following 3 lines together! -currentfile 5 string readline -00 -0000000000 -cleartomark -errordict /rangecheck FrameDict /tmprangecheck get put -FrameDict /bug get { - /readline { - /gstring exch def - /gfile exch def - /gindex 0 def - { - gfile read pop - dup 10 eq {exit} if - dup 13 eq {exit} if - gstring exch gindex exch put - /gindex gindex 1 add def - } loop - pop - gstring 0 gindex getinterval true - } def - } if -/FMVERSION { - FMversion ne { - /Times-Roman findfont 18 scalefont setfont - 100 100 moveto - (FrameMaker version does not match postscript_prolog!) - dup = - show showpage - } if - } def -/FMLOCAL { - FrameDict begin - 0 def - end - } def - /gstring FMLOCAL - /gfile FMLOCAL - /gindex FMLOCAL - /orgxfer FMLOCAL - /orgproc FMLOCAL - /organgle FMLOCAL - /orgfreq FMLOCAL - /yscale FMLOCAL - /xscale FMLOCAL - /manualfeed FMLOCAL - /paperheight FMLOCAL - /paperwidth FMLOCAL -/FMDOCUMENT { - array /FMfonts exch def - /#copies exch def - FrameDict begin - 0 ne dup {setmanualfeed} if - /manualfeed exch def - /paperheight exch def - /paperwidth exch def - setpapername - manualfeed {true} {papersize} ifelse - {manualpapersize} {false} ifelse - {desperatepapersize} if - /yscale exch def - /xscale exch def - currenttransfer cvlit /orgxfer exch def - currentscreen cvlit /orgproc exch def - /organgle exch def /orgfreq exch def - end - } def - /pagesave FMLOCAL - /orgmatrix FMLOCAL - /landscape FMLOCAL -/FMBEGINPAGE { - FrameDict begin - /pagesave save def - 3.86 setmiterlimit - /landscape exch 0 ne def - landscape { - 90 rotate 0 exch neg translate pop - } - {pop pop} - ifelse - xscale yscale scale - /orgmatrix matrix def - gsave - } def -/FMENDPAGE { - grestore - pagesave restore - end - showpage - } def -/FMDEFINEFONT { - FrameDict begin - findfont - ReEncode - 2 index exch - definefont exch - scalefont - FMfonts 3 1 roll - put - end - } bind def -/FMNORMALIZEGRAPHICS { - newpath - 0.0 0.0 moveto - 1 setlinewidth - 0 setlinecap - 0 0 0 sethsbcolor - 0 setgray - } bind def - /fx FMLOCAL - /fy FMLOCAL - /fh FMLOCAL - /fw FMLOCAL - /llx FMLOCAL - /lly FMLOCAL - /urx FMLOCAL - /ury FMLOCAL -/FMBEGINEPSF { - end - /FMEPSF save def - /showpage {} def - FMNORMALIZEGRAPHICS - [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall - fx fy translate - rotate - fw urx llx sub div fh ury lly sub div scale - llx neg lly neg translate - } bind def -/FMENDEPSF { - FMEPSF restore - FrameDict begin - } bind def -FrameDict begin -/setmanualfeed { -%%BeginFeature *ManualFeed True - statusdict /manualfeed true put -%%EndFeature - } def -/max {2 copy lt {exch} if pop} bind def -/min {2 copy gt {exch} if pop} bind def -/inch {72 mul} def -/pagedimen { - paperheight sub abs 16 lt exch - paperwidth sub abs 16 lt and - {/papername exch def} {pop} ifelse - } def - /papersizedict FMLOCAL -/setpapername { - /papersizedict 14 dict def - papersizedict begin - /papername /unknown def - /Letter 8.5 inch 11.0 inch pagedimen - /LetterSmall 7.68 inch 10.16 inch pagedimen - /Tabloid 11.0 inch 17.0 inch pagedimen - /Ledger 17.0 inch 11.0 inch pagedimen - /Legal 8.5 inch 14.0 inch pagedimen - /Statement 5.5 inch 8.5 inch pagedimen - /Executive 7.5 inch 10.0 inch pagedimen - /A3 11.69 inch 16.5 inch pagedimen - /A4 8.26 inch 11.69 inch pagedimen - /A4Small 7.47 inch 10.85 inch pagedimen - /B4 10.125 inch 14.33 inch pagedimen - /B5 7.16 inch 10.125 inch pagedimen - end - } def -/papersize { - papersizedict begin - /Letter {lettertray} def - /LetterSmall {lettertray lettersmall} def - /Tabloid {11x17tray} def - /Ledger {ledgertray} def - /Legal {legaltray} def - /Statement {statementtray} def - /Executive {executivetray} def - /A3 {a3tray} def - /A4 {a4tray} def - /A4Small {a4tray a4small} def - /B4 {b4tray} def - /B5 {b5tray} def - /unknown {unknown} def - papersizedict dup papername known {papername} {/unknown} ifelse get - end - /FMdicttop countdictstack 1 add def - statusdict begin stopped end - countdictstack -1 FMdicttop {pop end} for - } def -/manualpapersize { - papersizedict begin - /Letter {letter} def - /LetterSmall {lettersmall} def - /Tabloid {11x17} def - /Ledger {ledger} def - /Legal {legal} def - /Statement {statement} def - /Executive {executive} def - /A3 {a3} def - /A4 {a4} def - /A4Small {a4small} def - /B4 {b4} def - /B5 {b5} def - /unknown {unknown} def - papersizedict dup papername known {papername} {/unknown} ifelse get - end - stopped - } def -/desperatepapersize { - statusdict /setpageparams known - { - paperwidth paperheight 0 1 - statusdict begin - {setpageparams} stopped pop - end - } if - } def -/savematrix { - orgmatrix currentmatrix pop - } bind def -/restorematrix { - orgmatrix setmatrix - } bind def -/dmatrix matrix def -/dpi 72 0 dmatrix defaultmatrix dtransform - dup mul exch dup mul add sqrt def -/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def -/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def -/DiacriticEncoding [ -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl -/numbersign /dollar /percent /ampersand /quotesingle /parenleft -/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon -/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K -/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash -/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h -/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar -/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute -/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis -/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis -/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve -/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex -/udieresis /dagger /.notdef /cent /sterling /section /bullet -/paragraph /germandbls /registered /copyright /trademark /acute -/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef -/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown -/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef -/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde -/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright -/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis -/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl -/periodcentered /quotesinglbase /quotedblbase /perthousand -/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute -/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve -/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron -/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron -] def -/ReEncode { - dup - length - dict begin - { - 1 index /FID ne - {def} - {pop pop} ifelse - } forall - Encoding StandardEncoding eq - { - /Encoding DiacriticEncoding def - }if - currentdict - end - } bind def -/graymode true def - /bwidth FMLOCAL - /bpside FMLOCAL - /bstring FMLOCAL - /onbits FMLOCAL - /offbits FMLOCAL - /xindex FMLOCAL - /yindex FMLOCAL - /x FMLOCAL - /y FMLOCAL -/setpattern { - /bwidth exch def - /bpside exch def - /bstring exch def - /onbits 0 def /offbits 0 def - freq sangle landscape {90 add} if - {/y exch def - /x exch def - /xindex x 1 add 2 div bpside mul cvi def - /yindex y 1 add 2 div bpside mul cvi def - bstring yindex bwidth mul xindex 8 idiv add get - 1 7 xindex 8 mod sub bitshift and 0 ne - {/onbits onbits 1 add def 1} - {/offbits offbits 1 add def 0} - ifelse - } - setscreen - {} settransfer - offbits offbits onbits add div FMsetgray - /graymode false def - } bind def -/grayness { - FMsetgray - graymode not { - /graymode true def - orgxfer cvx settransfer - orgfreq organgle orgproc cvx setscreen - } if - } bind def - /HUE FMLOCAL - /SAT FMLOCAL - /BRIGHT FMLOCAL - /Colors FMLOCAL -FMPrintInColor - - { - /HUE 0 def - /SAT 0 def - /BRIGHT 0 def - % array of arrays Hue and Sat values for the separations [HUE BRIGHT] - /Colors - [[0 0 ] % black - [0 0 ] % white - [0.00 1.0] % red - [0.37 1.0] % green - [0.60 1.0] % blue - [0.50 1.0] % cyan - [0.83 1.0] % magenta - [0.16 1.0] % comment / yellow - ] def - - /BEGINBITMAPCOLOR { - BITMAPCOLOR} def - /BEGINBITMAPCOLORc { - BITMAPCOLORc} def - /K { - Colors exch get dup - 0 get /HUE exch store - 1 get /BRIGHT exch store - HUE 0 eq BRIGHT 0 eq and - {1.0 SAT sub setgray} - {HUE SAT BRIGHT sethsbcolor} - ifelse - } def - /FMsetgray { - /SAT exch 1.0 exch sub store - HUE 0 eq BRIGHT 0 eq and - {1.0 SAT sub setgray} - {HUE SAT BRIGHT sethsbcolor} - ifelse - } bind def - } - - { - /BEGINBITMAPCOLOR { - BITMAPGRAY} def - /BEGINBITMAPCOLORc { - BITMAPGRAYc} def - /FMsetgray {setgray} bind def - /K { - pop - } def - } -ifelse -/normalize { - transform round exch round exch itransform - } bind def -/dnormalize { - dtransform round exch round exch idtransform - } bind def -/lnormalize { - 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop - } bind def -/H { - lnormalize setlinewidth - } bind def -/Z { - setlinecap - } bind def -/X { - fillprocs exch get exec - } bind def -/V { - gsave eofill grestore - } bind def -/N { - stroke - } bind def -/M {newpath moveto} bind def -/E {lineto} bind def -/D {curveto} bind def -/O {closepath} bind def - /n FMLOCAL -/L { - /n exch def - newpath - normalize - moveto - 2 1 n {pop normalize lineto} for - } bind def -/Y { - L - closepath - } bind def - /x1 FMLOCAL - /x2 FMLOCAL - /y1 FMLOCAL - /y2 FMLOCAL - /rad FMLOCAL -/R { - /y2 exch def - /x2 exch def - /y1 exch def - /x1 exch def - x1 y1 - x2 y1 - x2 y2 - x1 y2 - 4 Y - } bind def -/RR { - /rad exch def - normalize - /y2 exch def - /x2 exch def - normalize - /y1 exch def - /x1 exch def - newpath - x1 y1 rad add moveto - x1 y2 x2 y2 rad arcto - x2 y2 x2 y1 rad arcto - x2 y1 x1 y1 rad arcto - x1 y1 x1 y2 rad arcto - closepath - 16 {pop} repeat - } bind def -/C { - grestore - gsave - R - clip - } bind def -/U { - grestore - gsave - } bind def -/F { - FMfonts exch get - setfont - } bind def -/T { - moveto show - } bind def -/RF { - rotate - 0 ne {-1 1 scale} if - } bind def -/TF { - gsave - moveto - RF - show - grestore - } bind def -/P { - moveto - 0 32 3 2 roll widthshow - } bind def -/PF { - gsave - moveto - RF - 0 32 3 2 roll widthshow - grestore - } bind def -/S { - moveto - 0 exch ashow - } bind def -/SF { - gsave - moveto - RF - 0 exch ashow - grestore - } bind def -/B { - moveto - 0 32 4 2 roll 0 exch awidthshow - } bind def -/BF { - gsave - moveto - RF - 0 32 4 2 roll 0 exch awidthshow - grestore - } bind def - /x FMLOCAL - /y FMLOCAL - /dx FMLOCAL - /dy FMLOCAL - /dl FMLOCAL - /t FMLOCAL - /t2 FMLOCAL - /Cos FMLOCAL - /Sin FMLOCAL - /r FMLOCAL -/W { - dnormalize - /dy exch def - /dx exch def - normalize - /y exch def - /x exch def - /dl dx dx mul dy dy mul add sqrt def - dl 0.0 gt { - /t currentlinewidth def - savematrix - /Cos dx dl div def - /Sin dy dl div def - /r [Cos Sin Sin neg Cos 0.0 0.0] def - /t2 t 2.5 mul 3.5 max def - newpath - x y translate - r concat - 0.0 0.0 moveto - dl t 2.7 mul sub 0.0 rlineto - stroke - restorematrix - x dx add y dy add translate - r concat - t 0.67 mul setlinewidth - t 1.61 mul neg 0.0 translate - 0.0 0.0 moveto - t2 1.7 mul neg t2 2.0 div moveto - 0.0 0.0 lineto - t2 1.7 mul neg t2 2.0 div neg lineto - stroke - t setlinewidth - restorematrix - } if - } bind def -/G { - gsave - newpath - normalize translate 0.0 0.0 moveto - dnormalize scale - 0.0 0.0 1.0 5 3 roll arc - closepath fill - grestore - } bind def -/A { - gsave - savematrix - newpath - 2 index 2 div add exch 3 index 2 div sub exch - normalize 2 index 2 div sub exch 3 index 2 div add exch - translate - scale - 0.0 0.0 1.0 5 3 roll arc - restorematrix - stroke - grestore - } bind def - /x FMLOCAL - /y FMLOCAL - /w FMLOCAL - /h FMLOCAL - /xx FMLOCAL - /yy FMLOCAL - /ww FMLOCAL - /hh FMLOCAL - /FMsaveobject FMLOCAL - /FMoptop FMLOCAL - /FMdicttop FMLOCAL -/BEGINPRINTCODE { - /FMdicttop countdictstack 1 add def - /FMoptop count 4 sub def - /FMsaveobject save def - userdict begin - /showpage {} def - FMNORMALIZEGRAPHICS - 3 index neg 3 index neg translate - } bind def -/ENDPRINTCODE { - count -1 FMoptop {pop pop} for - countdictstack -1 FMdicttop {pop end} for - FMsaveobject restore - } bind def -/gn { - 0 - { 46 mul - cf read pop - 32 sub - dup 46 lt {exit} if - 46 sub add - } loop - add - } bind def - /str FMLOCAL -/cfs { - /str sl string def - 0 1 sl 1 sub {str exch val put} for - str def - } bind def -/ic [ - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 - 0 - {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx} - {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx} - {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} - {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh} - {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh} - {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl} - {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl} - {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl} - {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl} - ] def - /sl FMLOCAL - /val FMLOCAL - /ws FMLOCAL - /im FMLOCAL - /bs FMLOCAL - /cs FMLOCAL - /len FMLOCAL - /pos FMLOCAL -/ms { - /sl exch def - /val 255 def - /ws cfs - /im cfs - /val 0 def - /bs cfs - /cs cfs - } bind def -400 ms -/ip { - is - 0 - cf cs readline pop - { ic exch get exec - add - } forall - pop - - } bind def -/wh { - /len exch def - /pos exch def - ws 0 len getinterval im pos len getinterval copy pop - pos len - } bind def -/bl { - /len exch def - /pos exch def - bs 0 len getinterval im pos len getinterval copy pop - pos len - } bind def -/s1 1 string def -/fl { - /len exch def - /pos exch def - /val cf s1 readhexstring pop 0 get def - pos 1 pos len add 1 sub {im exch val put} for - pos len - } bind def -/hx { - 3 copy getinterval - cf exch readhexstring pop pop - } bind def - /h FMLOCAL - /w FMLOCAL - /d FMLOCAL - /lb FMLOCAL - /bitmapsave FMLOCAL - /is FMLOCAL - /cf FMLOCAL -/wbytes { - dup - 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse - } bind def -/BEGINBITMAPBWc { - 1 {} COMMONBITMAPc - } bind def -/BEGINBITMAPGRAYc { - 8 {} COMMONBITMAPc - } bind def -/BEGINBITMAP2BITc { - 2 {} COMMONBITMAPc - } bind def -/COMMONBITMAPc { - /r exch def - /d exch def - gsave - translate rotate scale /h exch def /w exch def - /lb w d wbytes def - sl lb lt {lb ms} if - /bitmapsave save def - r - /is im 0 lb getinterval def - ws 0 lb getinterval is copy pop - /cf currentfile def - w h d [w 0 0 h neg 0 h] - {ip} image - bitmapsave restore - grestore - } bind def -/BEGINBITMAPBW { - 1 {} COMMONBITMAP - } bind def -/BEGINBITMAPGRAY { - 8 {} COMMONBITMAP - } bind def -/BEGINBITMAP2BIT { - 2 {} COMMONBITMAP - } bind def -/COMMONBITMAP { - /r exch def - /d exch def - gsave - translate rotate scale /h exch def /w exch def - /bitmapsave save def - r - /is w d wbytes string def - /cf currentfile def - w h d [w 0 0 h neg 0 h] - {cf is readhexstring pop} image - bitmapsave restore - grestore - } bind def - /proc1 FMLOCAL - /proc2 FMLOCAL - /newproc FMLOCAL -/Fmcc { - /proc2 exch cvlit def - /proc1 exch cvlit def - /newproc proc1 length proc2 length add array def - newproc 0 proc1 putinterval - newproc proc1 length proc2 putinterval - newproc cvx -} bind def -/ngrayt 256 array def -/nredt 256 array def -/nbluet 256 array def -/ngreent 256 array def - /gryt FMLOCAL - /blut FMLOCAL - /grnt FMLOCAL - /redt FMLOCAL - /indx FMLOCAL - /cynu FMLOCAL - /magu FMLOCAL - /yelu FMLOCAL - /k FMLOCAL - /u FMLOCAL -/colorsetup { - currentcolortransfer - /gryt exch def - /blut exch def - /grnt exch def - /redt exch def - 0 1 255 { - /indx exch def - /cynu 1 red indx get 255 div sub def - /magu 1 green indx get 255 div sub def - /yelu 1 blue indx get 255 div sub def - /k cynu magu min yelu min def - /u k currentundercolorremoval exec def - nredt indx 1 0 cynu u sub max sub redt exec put - ngreent indx 1 0 magu u sub max sub grnt exec put - nbluet indx 1 0 yelu u sub max sub blut exec put - ngrayt indx 1 k currentblackgeneration exec sub gryt exec put - } for - {255 mul cvi nredt exch get} - {255 mul cvi ngreent exch get} - {255 mul cvi nbluet exch get} - {255 mul cvi ngrayt exch get} - setcolortransfer - {pop 0} setundercolorremoval - {} setblackgeneration - } bind def - /tran FMLOCAL -/fakecolorsetup { - /tran 256 string def - 0 1 255 {/indx exch def - tran indx - red indx get 77 mul - green indx get 151 mul - blue indx get 28 mul - add add 256 idiv put} for - currenttransfer - {255 mul cvi tran exch get 255.0 div} - exch Fmcc settransfer -} bind def -/BITMAPCOLOR { - /d 8 def - gsave - translate rotate scale /h exch def /w exch def - /bitmapsave save def - colorsetup - /is w d wbytes string def - /cf currentfile def - w h d [w 0 0 h neg 0 h] - {cf is readhexstring pop} {is} {is} true 3 colorimage - bitmapsave restore - grestore - } bind def -/BITMAPCOLORc { - /d 8 def - gsave - translate rotate scale /h exch def /w exch def - /lb w d wbytes def - sl lb lt {lb ms} if - /bitmapsave save def - colorsetup - /is im 0 lb getinterval def - ws 0 lb getinterval is copy pop - /cf currentfile def - w h d [w 0 0 h neg 0 h] - {ip} {is} {is} true 3 colorimage - bitmapsave restore - grestore - } bind def -/BITMAPGRAY { - 8 {fakecolorsetup} COMMONBITMAP - } bind def -/BITMAPGRAYc { - 8 {fakecolorsetup} COMMONBITMAPc - } bind def -/ENDBITMAP { - } bind def -end -%%EndProlog -%%BeginSetup -(2.0) FMVERSION -1 1 612 792 0 1 16 FMDOCUMENT -/fillprocs 32 array def -fillprocs 0 { 0.000000 grayness } put -fillprocs 1 { 0.100000 grayness } put -fillprocs 2 { 0.300000 grayness } put -fillprocs 3 { 0.500000 grayness } put -fillprocs 4 { 0.700000 grayness } put -fillprocs 5 { 0.900000 grayness } put -fillprocs 6 { 0.970000 grayness } put -fillprocs 7 { 1.000000 grayness } put -fillprocs 8 {<0f87c3e1f0783c1e> 8 1 setpattern } put -fillprocs 9 {<0f1e3c78f0e1c387> 8 1 setpattern } put -fillprocs 10 {<cccccccccccccccc> 8 1 setpattern } put -fillprocs 11 {<ffff0000ffff0000> 8 1 setpattern } put -fillprocs 12 {<8142241818244281> 8 1 setpattern } put -fillprocs 13 {<8040201008040201> 8 1 setpattern } put -fillprocs 14 {<03060c183060c081> 8 1 setpattern } put -fillprocs 15 {} put -fillprocs 16 { 1.000000 grayness } put -fillprocs 17 { 0.900000 grayness } put -fillprocs 18 { 0.700000 grayness } put -fillprocs 19 { 0.500000 grayness } put -fillprocs 20 { 0.300000 grayness } put -fillprocs 21 { 0.100000 grayness } put -fillprocs 22 { 0.030000 grayness } put -fillprocs 23 { 0.000000 grayness } put -fillprocs 24 {<f0783c1e0f87c3e1> 8 1 setpattern } put -fillprocs 25 {<f0e1c3870f1e3c78> 8 1 setpattern } put -fillprocs 26 {<3333333333333333> 8 1 setpattern } put -fillprocs 27 {<0000ffff0000ffff> 8 1 setpattern } put -fillprocs 28 {<7ebddbe7e7dbbd7e> 8 1 setpattern } put -fillprocs 29 {<7fbfdfeff7fbfdfe> 8 1 setpattern } put -fillprocs 30 {<fcf9f3e7cf9f3f7e> 8 1 setpattern } put -fillprocs 31 {} put -%%EndSetup -0 12 /Helvetica-Bold FMDEFINEFONT -1 12 /Helvetica-BoldOblique FMDEFINEFONT -%%Page: "-1" 1 -%%BeginPaperSize: Letter -%%EndPaperSize -612 792 0 FMBEGINPAGE -144 144 468 396 R -7 X -0 K -V -0 F -0 X -1.2 (IMPLEMENT) 178.34 388 S -1.2 (A) 258.88 388 S -1.2 (TION NOTES ON ) 267.85 388 S -1 F -1.2 (bdes) 382.61 388 S -0 F -1.2 (\0501\051) 415.4 388 S -1.2 (Matt Bishop) 265.09 338 S -1.2 (T) 197.74 288 S -1.2 (echnical Report PCS-TR91-158) 205.38 288 S -FMENDPAGE -%%EndPage: "-1" 2 -%%Page: "0" 2 -612 792 0 FMBEGINPAGE -72 72 540 720 R -7 X -0 K -V -FMENDPAGE -%%EndPage: "0" 3 -0 12 /Times-Roman FMDEFINEFONT -1 18 /Times-Bold FMDEFINEFONT -2 18 /Times-BoldItalic FMDEFINEFONT -3 12 /Times-Italic FMDEFINEFONT -4 12 /Times-Bold FMDEFINEFONT -5 10 /Times-Roman FMDEFINEFONT -6 12 /Courier FMDEFINEFONT -7 12 /Courier-Oblique FMDEFINEFONT -8 12 /ZapfDingbats FMDEFINEFONT -9 12 /Symbol FMDEFINEFONT -10 12 /Courier-Bold FMDEFINEFONT -%%Page: "1" 3 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 1 of 11) 479.71 34.7 T -72 72 540 720 R -7 X -V -1 F -0 X -(Implementation Notes on ) 179.84 708 T -2 F -(bdes) 378.21 708 T -1 F -(\0501\051) 411.19 708 T -0 F -( ) 432.17 708 T -3 F -(Matt Bishop) 276.51 676 T -0 F -(Department of Mathematics and Computer Science) 182.92 656 T -(Dartmouth College) 259.86 642 T -(Hanover) 257.45 628 T -(, NH 03755) 298.26 628 T -3 F -(ABSTRACT) 277.68 602 T -0 F -0.27 (This note describes the implementation of ) 108 582 P -3 F -0.27 (bdes) 314.13 582 P -0 F -0.27 (, the \336le encryption program being) 336.12 582 P -0.36 (distributed in the 4.4 release of the Berkeley Software Distribution. It implements) 108 568 P -(all modes of the Data Encryption Standard program.) 108 554 T -4 F -(1. Intr) 72 528 T -(oduction) 104.43 528 T -0 F --0.09 (The Data Encryption Standard is a standard endorsed by the federal government. It is con-) 108 504 P --0.56 (siderably stronger than the algorithm used by the ) 72 484 P -5 F --0.47 (UNIX) 305.36 484 P -0 F --0.56 (\252 ) 330.34 484 P -3 F --0.56 (crypt) 344.53 484 P -0 F --0.56 (\0501\051 program, and therefore is a more) 369.18 484 P -0.11 (suitable candidate for protecting information, especially information contained in ) 72 464 P -5 F -0.09 (ASCII) 466.05 464 P -0 F -0.11 ( \336les. The) 492.14 464 P --0.65 (program ) 72 444 P -3 F --0.65 (bdes) 114.99 444 P -0 F --0.65 (\0501\051 implements the DES and all of its modes, including the two authentication modes.) 136.97 444 P --0.59 (Because others may wish to write software compatible with this program, this note presents) 108 420 P --0.04 (the layout of the encrypted \336les produced by ) 72 400 P -3 F --0.04 (bdes) 288.86 400 P -0 F --0.04 ( as well as internal details relevant to the imple-) 310.85 400 P --0.15 (mentation. Whereever possible and appropriate, the description of the ) 72 380 P -3 F --0.15 (des) 408.04 380 P -0 F --0.15 (\0501\051 program given in [4]) 424.03 380 P --0.2 (has been followed; thus, ) 72 360 P -3 F --0.2 (bdes) 190.77 360 P -0 F --0.2 ( is completely compatible with that program. However) 212.75 360 P --0.2 (, ) 473.33 360 P -3 F --0.2 (bdes) 479.12 360 P -0 F --0.2 ( also of-) 501.11 360 P -(fers several extensions to ) 72 340 T -3 F -(des) 195.9 340 T -0 F -( that are not compatible, and these will be explicitly pointed out.) 211.89 340 T --0.14 (In this note, strings typed as shown will be in ) 108 316 P -6 F --0.34 (Courier Roman font) 326.78 316 P -0 F --0.14 (, and strings to be) 455.62 316 P --0.42 (chosen by the user will be in ) 72 296 P -7 F --1 (Courier Oblique font) 209.32 296 P -0 F --0.42 (. The space character \050) 351.24 296 P -5 F --0.35 (ASCII) 457.79 296 P -0 F --0.42 ( <) 483.88 296 P -5 F --0.35 (SP) 493.23 296 P -0 F --0.42 (>, octal) 504.34 296 P --0.43 (40, decimal 32, hex 20\051 will be represented as \322) 72 276 P -8 F --0.47 (z) 296.98 276 P -0 F --0.43 (\323 and the newline character \050) 301.96 276 P -5 F --0.35 (ASCII) 438.03 276 P -0 F --0.43 ( <) 464.13 276 P -5 F --0.35 (NL) 473.46 276 P -0 F --0.43 (>, octal 12,) 486.79 276 P --0.05 (decimal 10, hex a\051 as \322) 72 256 P -9 F --0.05 (\277) 181.65 256 P -0 F --0.05 (\323. Because it is often more convenient to represent arbitrary characters as) 189.54 256 P -1.13 (a sequence of hexadecimal digits, that representation will often be used; these digits will be in) 72 236 P -10 F -(Courier Bold font) 72 216 T -0 F -( with spaces often inserted for readability) 194.33 216 T -(.) 392.07 216 T -4 F -(2. Overview and Use) 72 184 T -3 F --0.39 (Bdes) 108 160 P -0 F --0.39 ( implements the Data Encryption Standard algorithm in software, and enables the user) 131.32 160 P --0.61 (to encrypt data using any of the four modes of operation of the DES \050Electronic Code Book, Cipher) 72 140 P -72 72 540 720 C -72 72 540 117 C -72 72 549 108 R -7 X -0 K -V -5 F -0 X -(This work is based on work funded by grant NAG2-680 from the National -Aeronautics and Space Administration to ) 72 101.33 T -(Dartmouth College.) 72 89.33 T -(UNIX is a Registered T) 72 77.33 T -(rademark of A) 166.58 77.33 T -(T&T Bell Laboratories.) 223.75 77.33 T -72 72 540 720 C -0 0 612 792 C -72 126 225 126 2 L -7 X -0 K -V -0.5 H -2 Z -0 X -N -FMENDPAGE -%%EndPage: "1" 4 -%%Page: "2" 4 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 2 of 11) 479.71 34.7 T -72 72 540 720 R -7 X -V -0 X -0.31 (Block Chaining, ) 72 712 P -3 F -0.31 (k) 154.25 712 P -0 F -0.31 (-bit Cipher Feed Back, and ) 159.58 712 P -3 F -0.31 (k) 293.71 712 P -0 F -0.31 (-bit Output Feed Back\051 as well as the Alternate ) 299.04 712 P -3 F -0.31 (k) 530.68 712 P -0 F -0.31 (-) 536.01 712 P --0.04 (bit Cipher Feed Back mode. Further) 72 692 P --0.04 (, ) 244.52 692 P -3 F --0.04 (bdes) 250.48 692 P -0 F --0.04 ( supports message authentication code generation based) 272.46 692 P -(on both the Cipher Block Chaining mode and the ) 72 672 T -3 F -(k) 310.86 672 T -0 F -(-bit Cipher Feed Back mode.) 316.19 672 T -0.07 (By default, ) 108 648 P -3 F -0.07 (bdes) 164.43 648 P -0 F -0.07 ( encrypts an input \336le using Cipher Block Chaining mode, and is invoked) 186.41 648 P --0.4 (as a \336lter) 72 628 P --0.4 (. The key may be speci\336ed either on the command line or may be typed to the prompt. So,) 114.51 628 P -(if the input \336le ) 72 608 T -7 F -(inputf) 145.96 608 T -(ile) 189.14 608 T -0 F -( contains the message) 210.73 608 T -6 F -(a) 253.9 584 T -8 F -(z) 261.1 584 T -6 F -(test) 266.07 584 T -8 F -(z) 294.86 584 T -6 F -(message) 299.83 584 T -9 F -(\277) 350.21 584 T -0 F -(then the following command encrypts it using the key ) 72 560 T -6 F -(abcdefgh) 333.5 560 T -0 F -(:) 391.07 560 T -6 F -(bdes -k abcdefgh < ) 158.48 536 T -7 F -(inputf) 295.21 536 T -(ile) 338.38 536 T -6 F -( > ) 359.97 536 T -7 F -(outputf) 381.56 536 T -(ile) 431.93 536 T -0 F -(The option ) 72 512 T -4 F -(-k) 127.3 512 T -0 F -( indicates the next ar) 137.96 512 T -(gument is the key) 237.01 512 T -(. Now ) 321.17 512 T -7 F -(outputf) 353.48 512 T -(ile) 403.86 512 T -0 F -( contains) 425.45 512 T -10 F -(16 0e eb af 68 a0 d0 19 f1 a2 9b 31 0d 8a 01 c3) 136.89 488 T -0 F -0.06 (Other modes are speci\336ed using command-line options, as is control of the way the key is) 108 464 P -(interpreted. The next sections contain several examples, and the Appendix has the manual page.) 72 444 T -4 F -(3. Keys and Parity) 72 412 T -0 F -0.58 (The key consists of 64 bits, and may be presented in any of hex, binary) 108 388 P -0.58 (, or as a string of) 456.48 388 P -5 F -0.12 (ASCII) 72 368 P -0 F -0.14 ( characters. If the key is given in hex or binary) 98.1 368 P -0.14 (, it is used as is with no changes. However) 322.21 368 P -0.14 (, if) 526.53 368 P --0.27 (the key is given in ) 72 348 P -5 F --0.23 (ASCII) 161.59 348 P -0 F --0.27 (, a delicate problem arises: by convention, the parity bit is usually set to 0.) 187.69 348 P --0.47 (This high-order bit is generally ignored by applications; but the DES -does not do so. Instead, it dis-) 72 328 P --0.14 (cards the low-order bit, ef) 72 308 P --0.14 (fectively reducing the size of the space of possible keys from 2) 195.44 308 P -5 F --0.12 (56) 495.97 312.8 P -0 F --0.14 ( to 2) 505.97 308 P -5 F --0.12 (48) 527.01 312.8 P -0 F --0.14 (.) 537 308 P --0.46 ( T) 108 284 P --0.46 (o preserve the size of the key space, the value of the parity bit must be related to the value) 117.03 284 P --0.09 (in the low-order bit, so the program sets the high-order bit to make each character in the key be of) 72 264 P --0.7 (odd parity) 72 244 P --0.7 (. \050Note that the initial value of the parity bit is ) 119.49 244 P -3 F --0.7 (not) 334.99 244 P -0 F --0.7 ( used in this computation.\051 For example,) 350.31 244 P -(if the key is ) 72 224 T -6 F -(abcdefgh) 131.29 224 T -0 F -(, the actual key bits used are determined as follows:) 188.86 224 T -5 F -(ASCII) 99 200 T -0 F -( key) 125.1 200 T -6 F -(a) 243 200 T -(b) 279 200 T -(c) 315 200 T -(d) 351 200 T -(e) 387 200 T -(f) 423 200 T -(g) 459 200 T -(h) 495 200 T -5 F -(ASCII) 99 180 T -0 F -( key bits \050hex\051) 125.1 180 T -10 F -(61) 243 180 T -(62) 279 180 T -(63) 315 180 T -(64) 351 180 T -(65) 387 180 T -(66) 423 180 T -(67) 459 180 T -(68) 495 180 T -0 F -(parity) 99 160 T -(odd) 243 160 T -(odd) 279 160 T -(even) 315 160 T -(odd) 351 160 T -(even) 387 160 T -(even) 423 160 T -(odd) 459 160 T -(odd) 495 160 T -(key bits used \050hex\051) 99 140 T -10 F -(61) 243 140 T -(62) 279 140 T -(e3) 315 140 T -(64) 351 140 T -(e5) 387 140 T -(e6) 423 140 T -(67) 459 140 T -(68) 495 140 T -0 F -0.18 (This convention \050as opposed to requiring even parity) 108 120 P -0.18 (, or simply copying the low-order bit) 362 120 P --0.41 (to the high-order bit\051 was chosen to provide compatibility with the encryption program ) 72 100 P -3 F --0.41 (des) 486.77 100 P -0 F --0.41 ( distrib-) 502.76 100 P --0.52 (uted by Sun Microsystems, Inc. [4]. Whether the key is entered on the command line or on the key-) 72 80 P -FMENDPAGE -%%EndPage: "2" 5 -%%Page: "3" 5 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 3 of 11) 479.71 34.7 T -72 72 540 720 R -7 X -V -0 X -1.89 (board, by default it is processed into the same key schedule generated by Sun\325) 72 712 P -1.89 (s ) 471.02 712 P -3 F -1.89 (des) 480.58 712 P -0 F -1.89 (, so \336les) 496.56 712 P -(encrypted on a Sun can be decrypted using ) 72 692 T -3 F -(bdes) 280.51 692 T -0 F -( \050and vice versa\051.) 302.49 692 T --0.3 (If the user does not wish to use the Sun convention, the option \320) 108 668 P -4 F --0.3 (p) 411.9 668 P -0 F --0.3 ( will disable the parity bit) 418.57 668 P --0.62 (changing; with it, the parity bit is that of the character typed. This -is useful when the key is a known) 72 648 P -5 F -(ASCII) 72 628 T -0 F -( string and the \336le was encrypted on a system which does not alter parity bits.) 98.1 628 T --0.24 (A key may be represented as a bit vector) 108 604 P --0.24 (, rather than an ) 300.74 604 P -5 F --0.2 (ASCII) 374.7 604 P -0 F --0.24 ( string, in one of two ways. It) 400.8 604 P -0.19 (may be represented as a string of up to 16 hexadecimal digits; if fewer than 16 are given, the key) 72 584 P -0.16 (is right \336lled with 0 bits. Or) 72 564 P -0.16 (, it may be represented as a string of up to 64 binary digits, and again) 206.11 564 P -0.15 (if fewer than 64 are given, the key is right-\336lled with 0 bits. Bit -vector keys must be given on the) 72 544 P -0.51 (command line, and must begin with the characters ) 72 524 P -6 F -1.24 (0x) 320.28 524 P -0 F -0.51 ( or ) 334.67 524 P -6 F -1.24 (0X) 351.69 524 P -0 F -0.51 ( \050for hexadecimal\051 or ) 366.08 524 P -6 F -1.24 (0b) 472.71 524 P -0 F -0.51 ( or ) 487.1 524 P -6 F -1.24 (0B) 504.12 524 P -0 F -0.51 ( \050for) 518.51 524 P -(binary\051. For example, all of the following strings generate the same key schedule:) 72 504 T -5 F -(ASCII) 72 480 T -0 F -( key) 98.1 480 T -6 F -(abcdefgh) 180 480 T -0 F -(hexadecimal key) 72 460 T -6 F -(0x6162e364e5e66768) 180 460 T -0 F -(binary key) 72 440 T -6 F -(0b0110000101100010111000110110100011100101111000-) 180 440 T -(1100110011101101000) 180 420 T -0 F --0.14 ( Note that giving the key on the command line as ) 108 396 P -6 F --0.34 (0x6162636465666768) 345.27 396 P -0 F --0.14 ( will ) 474.8 396 P -3 F --0.14 (not) 499.17 396 P -0 F --0.14 ( reset) 514.5 396 P -0.25 (the parity bits, because it is interpreted as a sequence of hex digits, not ) 72 376 P -5 F -0.21 (ASCII) 416.58 376 P -0 F -0.25 ( characters. The dif-) 442.68 376 P -0.69 (ference in interpretation is that here the user can specify all bits of the key exactly) 72 356 P -0.69 (, whereas \050on) 474.34 356 P -0.25 (most terminals\051 it is not possible to control how the parity bit of ) 72 336 P -5 F -0.21 (ASCII) 384.76 336 P -0 F -0.25 ( characters is set. On some) 410.85 336 P -0.36 (systems, it is possible to use a \322Meta\323 key to set the parity bit for an ) 72 316 P -5 F -0.3 (ASCII) 407.23 316 P -0 F -0.36 ( character; should this) 433.33 316 P --0.3 (be the case and the user desire ) 72 296 P -3 F --0.3 (bdes) 218.09 296 P -0 F --0.3 ( not to reset the parity bit, the option ) 240.07 296 P -4 F --0.3 (\320p) 415.25 296 P -0 F --0.3 ( will force the parity bit) 427.92 296 P -(to be used as typed.) 72 276 T -4 F -(4. Encryption Output Repr) 72 244 T -(esentation) 211.05 244 T -0 F -0.01 (All modes of the DES output ciphertext in blocks; the size of the block is 64 bits \0508 bytes\051) 108 220 P --0.25 (for ECB and CBC modes, and ) 72 200 P -3 F --0.25 (k) 218.74 200 P -0 F --0.25 ( bits for the ) 224.07 200 P -3 F --0.25 (k) 281.02 200 P -0 F --0.25 (-bit CFB and OFB modes, and there are as many out-) 286.35 200 P --0.5 (put blocks as input blocks. However) 72 180 P --0.5 (, as the length of the input is usually not a multiple of the block) 243.55 180 P --0.35 (size, some padding is necessary; but as padding must be done by appending characters, these char-) 72 160 P -0.29 (acters must be distinguished from the input characters somehow) 72 140 P -0.29 (. The mechanism used is that the) 381.35 140 P -0.31 (last character of the \050decrypted\051 last block is the -\050integer\051 number of characters from the input in) 72 120 P -(the last block.) 72 100 T -FMENDPAGE -%%EndPage: "3" 6 -%%Page: "4" 6 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 4 of 11) 479.71 34.7 T -72 72 540 720 R -7 X -V -0 X --0.59 (For example, suppose ) 108 712 P -7 F --1.41 (inputf) 214.16 712 P --1.41 (ile) 257.34 712 P -0 F --0.59 ( contains \322) 278.93 712 P -6 F --1.41 (This) 329.04 712 P -8 F --0.65 (z) 357.83 712 P -6 F --1.41 (is) 362.8 712 P -8 F --0.65 (z) 377.2 712 P -6 F --1.41 (a) 382.17 712 P -8 F --0.65 (z) 389.37 712 P -6 F --1.41 (test) 394.35 712 P -9 F --0.59 (\277) 423.13 712 P -0 F --0.59 (\323, and it is encrypted in) 431.02 712 P -(CBC mode using the key \322) 72 692 T -6 F -(abcdef#@) 200.93 692 T -0 F -(\323 and the initialization vector ) 258.5 692 T -6 F -(0x0) 401.4 692 T -0 F -(; the command is) 422.99 692 T -6 F -(bdes -k abcdef#@ < ) 158.48 668 T -7 F -(inputf) 295.21 668 T -(ile) 338.38 668 T -6 F -( > ) 359.97 668 T -7 F -(outputf) 381.56 668 T -(ile) 431.93 668 T -0 F -(as CBC is the default encryption mode and ) 72 644 T -6 F -(0x0) 281.2 644 T -0 F -( the default initialization vector:) 302.79 644 T -(text) 72 620 T -6 F -(T) 117 620 T -(h) 144 620 T -(i) 171 620 T -(s) 198 620 T -8 F -(z) 225 620 T -6 F -(i) 252 620 T -(s) 279 620 T -8 F -(z) 306 620 T -6 F -(a) 333 620 T -8 F -(z) 360 620 T -6 F -(t) 387 620 T -(e) 414 620 T -(s) 441 620 T -(t) 468 620 T -9 F -(\277) 495 620 T -0 F -(hex) 72 600 T -10 F -(54) 117 600 T -(68) 144 600 T -(69) 171 600 T -(73) 198 600 T -(20) 225 600 T -(69) 252 600 T -(73) 279 600 T -(20) 306 600 T -(61) 333 600 T -(20) 360 600 T -(74) 387 600 T -(65) 414 600 T -(73) 441 600 T -(74) 468 600 T -(0a) 495 600 T -0 F -(input) 72 580 T -10 F -(54) 117 580 T -(68) 144 580 T -(69) 171 580 T -(73) 198 580 T -(20) 225 580 T -(69) 252 580 T -(73) 279 580 T -(20) 306 580 T -(61) 333 580 T -(20) 360 580 T -(74) 387 580 T -(65) 414 580 T -(73) 441 580 T -(74) 468 580 T -(0a) 495 580 T -(07) 522 580 T -0 F -(output) 72 560 T -10 F -(a5) 117 560 T -(5f) 144 560 T -(81) 171 560 T -(53) 198 560 T -(51) 225 560 T -(98) 252 560 T -(47) 279 560 T -(02) 306 560 T -(db) 333 560 T -(5a) 360 560 T -(c5) 387 560 T -(fe) 414 560 T -(50) 441 560 T -(3d) 468 560 T -(40) 495 560 T -(ce) 522 560 T -0 F -0.04 (Notice that the text is 15 characters long, so there are 7 bytes following the last full block.) 108 540 P -3 F -0.22 (Bdes) 72 520 P -0 F -0.22 ( pads this to a full block by appending one byte containing the ) 95.32 520 P -5 F -0.19 (ASCII) 399.67 520 P -0 F -0.22 ( character with numeric) 425.77 520 P -(value 7 \050the ) 72 500 T -5 F -(ASCII) 131.62 500 T -0 F -( character <) 157.71 500 T -5 F -(BEL) 214.42 500 T -0 F -(>\051. The result is then encrypted.) 233.3 500 T -0.44 (As another example, suppose ) 108 476 P -7 F -1.07 (inputf) 253.34 476 P -1.07 (ile) 296.52 476 P -0 F -0.44 ( contains \322) 318.11 476 P -6 F -1.07 (test) 370.29 476 P -0 F -0.44 (\323, and it is encrypted in ECB) 399.08 476 P -(mode using the key \322) 72 456 T -6 F -(abcdef#@) 173.93 456 T -0 F -(\323; the command is) 231.5 456 T -6 F -(bdes -b \320k abcdef#@ < ) 147.69 432 T -7 F -(inputf) 306 432 T -(ile) 349.18 432 T -6 F -( > ) 370.76 432 T -7 F -(outputf) 392.35 432 T -(ile) 442.73 432 T -0 F -(because the option ) 72 408 T -4 F -(\320b) 164.26 408 T -0 F -( signi\336es ECB mode:) 176.93 408 T -(text) 72 384 T -6 F -(t) 144 384 T -(e) 171 384 T -(s) 198 384 T -(t) 225 384 T -0 F -(hex) 72 364 T -10 F -(74) 144 364 T -(65) 171 364 T -(73) 198 364 T -(74) 225 364 T -0 F -(input) 72 344 T -10 F -(74) 144 344 T -(65) 171 344 T -(73) 198 344 T -(74) 225 344 T -(00) 252 344 T -(00) 279 344 T -(00) 306 344 T -(04) 333 344 T -0 F -(output) 72 324 T -10 F -(0d) 144 324 T -(8a) 171 324 T -(6e) 198 324 T -(57) 225 324 T -(9c) 252 324 T -(8f) 279 324 T -(27) 306 324 T -(5d) 333 324 T -0 F --0.31 (Finally) 108 304 P --0.31 (, if the length of the message is indeed a multiple of the block size, an extra block of) 141.21 304 P -0.83 (all 0 bits is added. Suppose ) 72 284 P -7 F -1.99 (inputf) 210.57 284 P -1.99 (ile) 253.74 284 P -0 F -0.83 ( contains \322) 275.33 284 P -6 F -1.99 (test) 328.28 284 P -9 F -0.83 (\277) 357.07 284 P -0 F -0.83 (\323, and it is encrypted in 40-bit CFB) 364.96 284 P -1.51 (mode using the key \322) 72 264 P -6 F -3.62 (abcdef#@) 179.96 264 P -0 F -1.51 (\323 and the initialization vector ) 237.53 264 P -6 F -3.62 (0x0123456789abcdef) 387.97 264 P -0 F -1.51 (; the) 517.5 264 P -(command is) 72 244 T -6 F --0.99 (bdes -f40 -v0x0123456789abcdef -kabcdef#@ < ) 72 220 P -7 F --0.99 (inputf) 383.67 220 P --0.99 (ile) 426.85 220 P -6 F --0.99 ( > ) 448.43 220 P -7 F --0.99 (outputf) 468.04 220 P --0.99 (ile) 518.41 220 P -0 F -0.16 (because the option ) 72 196 P -4 F -0.16 (\320f40 ) 164.75 196 P -0 F -0.16 (signi\336es 40-bit CFB mode, and ) 189.89 196 P -4 F -0.16 (-v0x01234566789abcdef) 343.96 196 P -0 F -0.16 ( sets the initial-) 465.89 196 P -(ization vector \050note that spaces between the option and its ar) 72 176 T -(gument are optional\051:) 361.57 176 T -(text) 72 152 T -6 F -(t) 144 152 T -(e) 171 152 T -(s) 198 152 T -(t) 225 152 T -9 F -(\277) 252 152 T -0 F -(hex) 72 132 T -10 F -(74) 144 132 T -(65) 171 132 T -(73) 198 132 T -(74) 225 132 T -(0a) 252 132 T -0 F -(input) 72 112 T -10 F -(74) 144 112 T -(65) 171 112 T -(73) 198 112 T -(74) 225 112 T -(0a) 252 112 T -(00) 279 112 T -(00) 306 112 T -(00) 333 112 T -(00) 360 112 T -(00) 387 112 T -0 F -(output) 72 92 T -10 F -(e2) 144 92 T -(c2) 171 92 T -(69) 198 92 T -(a4) 225 92 T -(5b) 252 92 T -(3c) 279 92 T -(3d) 306 92 T -(b3) 333 92 T -(f5) 360 92 T -(3c) 387 92 T -FMENDPAGE -%%EndPage: "4" 7 -1 12 /Times-BoldItalic FMDEFINEFONT -2 14 /Symbol FMDEFINEFONT -%%Page: "5" 7 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 5 of 11) 479.71 34.7 T -72 72 540 720 R -7 X -V -0 X -(Note here the block size is 40 bits \0505 bytes\051, not 64 bits \0508 bytes\051.) 108 712 T --0.4 (This technique allows complete compatibility with Sun\325) 108 688 P --0.4 (s ) 374.11 688 P -3 F --0.4 (des) 381.37 688 P -0 F --0.4 ( program. In Sun\325) 397.36 688 P --0.4 (s implemen-) 480.77 688 P -0.02 (tation, padding is done with random bytes rather than bytes containing all zero bits. Cryptograph-) 72 668 P -0.85 (ically) 72 648 P -0.85 (, this makes no dif) 97.87 648 P -0.85 (ference, as the DES is a suf) 189.32 648 P -0.85 (\336ciently good random cipher to obscure the) 325.74 648 P -(input \050see for example [2], Chapter 6\051, and known plaintext attacks are very dif) 72 628 T -(\336cult [1].) 451.82 628 T -4 F -(5. Differ) 72 596 T -(ences Between the Standard CFB and OFB Modes and ) 114.41 596 T -1 F -(bdes) 397.26 596 T -0 F --0.11 (The UNIX operating system treats all \336les as streams of 8-bit bytes. In order to implement) 108 572 P --0.08 (the CFB and OFB modes properly) 72 552 P --0.08 (, it would be necessary to read ) 235.74 552 P -3 F --0.08 (k) 383.74 552 P -0 F --0.08 ( bits from the \336le, where ) 389.07 552 P -3 F --0.08 (k) 509.51 552 P -0 F --0.08 ( is an) 514.84 552 P -0.98 (integer between 1 and 64 inclusive. However) 72 532 P -0.98 (, this would require considerable buf) 294.22 532 P -0.98 (fering and be) 474.77 532 P -0.23 (quite inef) 72 512 P -0.23 (\336cient and prohibitively slow) 117.65 512 P -0.23 (. For these reasons, the current implementation of ) 258.48 512 P -3 F -0.23 (bdes) 501.48 512 P -0 F -0.23 ( re-) 523.46 512 P -0.47 (quires that ) 72 492 P -3 F -0.47 (k) 126.23 492 P -0 F -0.47 ( be a multiple of 8, so that an integral number of bytes will always be read from the) 131.56 492 P -(\336le. Other than this change, this mode is implemented as described in [3].) 72 472 T --0.58 (A similar observation holds for the alternate CFB mode described in [3]. Here, only the low) 108 448 P -0.23 (7 bits of each byte are signi\336cant, and hence the parameter ) 72 428 P -3 F -0.23 (k) 358.95 428 P -0 F -0.23 ( is an integer from 1 to 56 inclusive;) 364.28 428 P -(bdes requires k to be a multiple of 7. The high-order bit is retained for encryption and decryption,) 72 408 T -(but output \050whether from encryption or decryption\051 always has the high-order bit set to zero.) 72 388 T -4 F -(6. Message Authentication Code Modes) 72 356 T -0 F -0.57 (The Data Encryption Standard provides two modes of authentication, each providing be-) 108 332 P -1.27 (tween 1 and 64 bits of authentication data. In both cases an ) 72 312 P -3 F -1.27 (n) 373.32 312 P -0 F -1.27 (-bit message authentication code) 379.32 312 P -0.62 (\050MAC\051 is generated, where 1) 72 292 P -2 F -0.73 ( ) 214.71 292 P -9 F -0.62 (\243) 218.94 292 P -0 F -0.62 ( ) 225.52 292 P -3 F -0.62 (n) 229.15 292 P -0 F -0.62 ( ) 235.14 292 P -9 F -0.62 (\243) 238.76 292 P -0 F -0.62 ( 64. The \336rst is based on the CBC encryption mode, and the) 245.35 292 P -(second on CFB mode. Both work the same.) 72 272 T -0.13 (First, the \336le is padded to a multiple of the block size by appending enough zero bits. It is) 108 248 P --0.16 (then encrypted using the standard CBC \050or CFB\051 algorithm, but -all encrypted text is discarded ex-) 72 228 P --0.44 (cept for the last block. The ) 72 208 P -3 F --0.44 (n) 200.9 208 P -0 F --0.44 ( leading bits of the last block are used as the MAC. Note that the block) 206.9 208 P -(size constrains the number of bits available as the MAC.) 72 188 T -0.71 (The implementation allows the user to specify that the MAC is to be computed in either) 108 164 P --0.01 (CBC or CFB mode, and the user can specify any number of bits from 1 to 64 inclusive. However) 72 144 P --0.01 (,) 537 144 P --0.11 (because the UNIX operating system can only output bits in multiples of 8, if the number of bits of) 72 124 P --0.08 (MAC is not a multiple of 8, the MAC will be right-padded with the minimum number of zero bits) 72 104 P --0.31 (necessary to make the MAC length be a multiple of 8. However) 72 84 P --0.31 (, note that as the standard \050[3], Ap-) 374.6 84 P -FMENDPAGE -%%EndPage: "5" 8 -%%Page: "6" 8 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 6 of 11) 479.71 34.7 T -72 72 540 720 R -7 X -V -0 X --0.14 (pendix F\051 requires an incomplete \336nal block be right-padded with -zeroes, the technique of forcing) 72 712 P -(the last octet to contain the number of bytes in the message is ) 72 692 T -3 F -(not) 369.47 692 T -0 F -( used here.) 384.8 692 T --0.39 (For example, suppose ) 108 668 P -7 F --0.94 (inputf) 214.76 668 P --0.94 (ile) 257.93 668 P -0 F --0.39 ( contains \322) 279.52 668 P -6 F --0.94 (This) 330.04 668 P -8 F --0.43 (z) 358.82 668 P -6 F --0.94 (is) 363.8 668 P -8 F --0.43 (z) 378.19 668 P -6 F --0.94 (a) 383.17 668 P -8 F --0.43 (z) 390.36 668 P -6 F --0.94 (test) 395.34 668 P -9 F --0.39 (\277) 424.13 668 P -0 F --0.39 (\323, and a 64-bit MAC is) 432.02 668 P --0.73 (to be generated using CBC mode, the key \322) 72 648 P -6 F --1.74 (abcdef#@) 274.39 648 P -0 F --0.73 (\323 and the initialization vector ) 331.96 648 P -6 F --1.74 (0x0) 471.23 648 P -0 F --0.73 (; the com-) 492.82 648 P -(mand is) 72 628 T -6 F -(bdes -m 64 -k abcdef#@ < ) 136.89 604 T -7 F -(inputf) 316.79 604 T -(ile) 359.97 604 T -6 F -( > ) 381.56 604 T -7 F -(outputf) 403.15 604 T -(ile) 453.52 604 T -0 F -(as CBC is the default encryption mode and ) 72 580 T -6 F -(0x0) 281.2 580 T -0 F -( the default initialization vector:) 302.79 580 T -(text) 72 556 T -6 F -(T) 117 556 T -(h) 144 556 T -(i) 171 556 T -(s) 198 556 T -8 F -(z) 225 556 T -6 F -(i) 252 556 T -(s) 279 556 T -8 F -(z) 306 556 T -6 F -(a) 333 556 T -8 F -(z) 360 556 T -6 F -(t) 387 556 T -(e) 414 556 T -(s) 441 556 T -(t) 468 556 T -9 F -(\277) 495 556 T -0 F -(hex) 72 536 T -10 F -(54) 117 536 T -(68) 144 536 T -(69) 171 536 T -(73) 198 536 T -(20) 225 536 T -(69) 252 536 T -(73) 279 536 T -(20) 306 536 T -(61) 333 536 T -(20) 360 536 T -(74) 387 536 T -(65) 414 536 T -(73) 441 536 T -(74) 468 536 T -(0a) 495 536 T -0 F -(input) 72 516 T -10 F -(54) 117 516 T -(68) 144 516 T -(69) 171 516 T -(73) 198 516 T -(20) 225 516 T -(69) 252 516 T -(73) 279 516 T -(20) 306 516 T -(61) 333 516 T -(20) 360 516 T -(74) 387 516 T -(65) 414 516 T -(73) 441 516 T -(74) 468 516 T -(0a) 495 516 T -(00) 522 516 T -0 F -(output) 72 496 T -10 F -(43) 117 496 T -(18) 144 496 T -(de) 171 496 T -(74) 198 496 T -(24) 225 496 T -(a9) 252 496 T -(65) 279 496 T -(d1) 306 496 T -0 F -0.04 (Notice that the text is 15 characters long, so there are 7 bytes following the last full block.) 108 476 P -3 F -(Bdes) 72 456 T -0 F -( pads this to a full block by appending a zero-\336lled byte. The result is then encrypted and the) 95.32 456 T -(last block of output is used as the MAC.) 72 436 T -0.06 (As another example, suppose we used the same text, and wanted a 36-bit MAC to be gen-) 108 412 P -6.91 (erated using 40-bit CFB mode, the key \322) 72 392 P -6 F -16.58 (abcdef#@) 314.9 392 P -0 F -6.91 (\323 and the initialization vector) 372.47 392 P -6 F -(0x0123456789abcdef) 72 372 T -0 F -(; the command is) 201.53 372 T -6 F -(bdes -m 36 -f 40 -v 0x0123456789abcdef < ) 79.32 348 T -7 F -(inputf) 374.36 348 T -(ile) 417.54 348 T -6 F -( > ) 439.13 348 T -7 F -(outputf) 460.71 348 T -(ile) 511.09 348 T -0 F --0.19 (where ) 72 324 P -4 F --0.19 (\320m 36) 104.11 324 P -0 F --0.19 ( is the option to generate a 36-bit MAC, ) 134.91 324 P -4 F --0.19 (\320f 40) 327.79 324 P -0 F --0.19 ( indicates 40-bit CFB is to be used, and) 352.58 324 P -4 F --0.31 (\320v 0x123456789abcdef) 72 304 P -0 F --0.31 ( sets the initialization vector) 186.62 304 P --0.31 (. Note that, as the key is not given on the com-) 319.95 304 P -(mand line, the user will be prompted for it. It gives:) 72 284 T -(text) 72 260 T -6 F -(T) 117 260 T -(h) 144 260 T -(i) 171 260 T -(s) 198 260 T -8 F -(z) 225 260 T -6 F -(i) 252 260 T -(s) 279 260 T -8 F -(z) 306 260 T -6 F -(a) 333 260 T -8 F -(z) 360 260 T -6 F -(t) 387 260 T -(e) 414 260 T -(s) 441 260 T -(t) 468 260 T -9 F -(\277) 495 260 T -0 F -(hex) 72 240 T -10 F -(54) 117 240 T -(68) 144 240 T -(69) 171 240 T -(73) 198 240 T -(20) 225 240 T -(69) 252 240 T -(73) 279 240 T -(20) 306 240 T -(61) 333 240 T -(20) 360 240 T -(74) 387 240 T -(65) 414 240 T -(73) 441 240 T -(74) 468 240 T -(0a) 495 240 T -0 F -(input) 72 220 T -10 F -(54) 117 220 T -(68) 144 220 T -(69) 171 220 T -(73) 198 220 T -(20) 225 220 T -(69) 252 220 T -(73) 279 220 T -(20) 306 220 T -(61) 333 220 T -(20) 360 220 T -(74) 387 220 T -(65) 414 220 T -(73) 441 220 T -(74) 468 220 T -(0a) 495 220 T -0 F -(output) 72 200 T -10 F -(2b) 117 200 T -(18) 144 200 T -(68) 171 200 T -(2d) 198 200 T -(60) 225 200 T -0 F -0.19 (Note that the MAC is padded on the right by four zero bits to produce \336ve characters that) 108 180 P -(can be output.) 72 160 T -4 F -(7. Differ) 72 128 T -(ences Between ) 114.41 128 T -1 F -(bdes) 191.01 128 T -4 F -( and Sun\325) 212.99 128 T -(s DES Implementation) 261.88 128 T -0 F -0.02 (The program ) 108 104 P -3 F -0.02 (bdes) 173.33 104 P -0 F -0.02 ( is designed to be completely compatible with Sun Microsystems, Inc.\325) 195.31 104 P -0.02 (s) 535.33 104 P -0.57 (implementation of the Data Encryption Standard, called ) 72 84 P -3 F -0.57 (des) 347.14 84 P -0 F -0.57 ( and described in [4]. Thus, \336les en-) 363.13 84 P -FMENDPAGE -%%EndPage: "6" 9 -%%Page: "7" 9 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 7 of 11) 479.71 34.7 T -72 72 540 720 R -7 X -V -0 X -0.44 (crypted using ) 72 712 P -3 F -0.44 (des) 140.84 712 P -0 F -0.44 ( can be decrypted using ) 156.83 712 P -3 F -0.44 (bdes) 275.29 712 P -0 F -0.44 (, and vice versa, provided modes common to both) 297.27 712 P --0.34 (are used. However) 72 692 P --0.34 (, ) 160.41 692 P -3 F --0.34 (bdes) 166.06 692 P -0 F --0.34 ( does not allow \336les to be named on the command line, nor does it support) 188.05 692 P --0.68 (hardware devices \050and so the ) 72 672 P -4 F --0.68 (-s) 210.83 672 P -0 F --0.68 ( and ) 219.49 672 P -4 F --0.68 (-f) 241.45 672 P -0 F --0.68 ( options of Sun\325) 249.44 672 P --0.68 (s ) 323.71 672 P -3 F --0.68 (des) 330.7 672 P -0 F --0.68 ( are not available\051. Further) 346.69 672 P --0.68 (, as encryption) 471.07 672 P --0.05 (is the default, the Sun ) 72 652 P -3 F --0.05 (des) 179.01 652 P -0 F --0.05 ( ) 195 652 P -4 F --0.05 (-e) 197.95 652 P -0 F --0.05 ( option is not recognized. As the manual page to ) 207.27 652 P -3 F --0.05 (bdes) 441.6 652 P -0 F --0.05 ( is in the appen-) 463.59 652 P -(dix, these dif) 72 632 T -(ferences will not be elaborated upon further) 134.08 632 T -(.) 343.24 632 T -0.44 (Sun\325) 108 608 P -0.44 (s ) 130 608 P -3 F -0.44 (des) 138.1 608 P -0 F -0.44 ( supports the use of special-purpose hardware to encrypt and decrypt. Although) 154.09 608 P -3 F -1.33 (bdes) 72 588 P -0 F -1.33 ( does not directly support the use of such hardware, it uses the library routine ) 93.98 588 P -3 F -1.33 (encrypt) 487.05 588 P -0 F -1.33 (\0503\051,) 523.02 588 P --0.09 (which may) 72 568 P --0.09 (. Hardware support was not included directly to support as lar) 124.1 568 P --0.09 (ge a number of platforms) 419.11 568 P -(as possible with installers needing to know as little about the hardware as possible.) 72 548 T --0.08 (Sun\325) 108 524 P --0.08 (s ) 130 524 P -3 F --0.08 (des) 137.58 524 P -0 F --0.08 ( supports only the CBC and ECB encryption modes; ) 153.57 524 P -3 F --0.08 (bdes) 407.07 524 P -0 F --0.08 ( supports all modes de-) 429.05 524 P -0.26 (scribed in [3] \050although CFB and OFB are not completely supported\051 as well as both CBC-based) 72 504 P -(and CFB-based MACs.) 72 484 T -0.15 (Although input with length not a multiple of the block size is handled in the same way by) 108 460 P --0.47 (both ) 72 440 P -3 F --0.47 (des) 95.85 440 P -0 F --0.47 ( and ) 111.84 440 P -3 F --0.47 (bdes) 134.21 440 P -0 F --0.47 (, dif) 156.19 440 P --0.47 (ferent values of the padding bytes are used in all but the last byte of the input.) 174.82 440 P -(Where ) 72 420 T -3 F -(bdes) 106.96 420 T -0 F -( puts zero bytes, ) 128.94 420 T -3 F -(des) 209.89 420 T -0 F -( puts bytes containing random values. The reason for Sun\325) 225.87 420 T -(s doing) 505.02 420 T -0.47 (so is to prevent a known plaintext attack on the \336le should an -attacker determine that the input\325) 72 400 P -0.47 (s) 535.33 400 P --0.29 (length were a multiple of the block size. W) 72 380 P --0.29 (ith ) 276.05 380 P -3 F --0.29 (bdes) 291.43 380 P -0 F --0.29 (, the plaintext contents of the last block of input) 313.41 380 P -0.31 (for such a \336le is known \050a block with all bits zero\051. W) 72 360 P -0.31 (ith ) 333.99 360 P -3 F -0.31 (des) 349.96 360 P -0 F -0.31 (, the plaintext contents of that block) 365.95 360 P -0.73 (are not known. Cryptanalytically) 72 340 P -0.73 (, given the information about the strength of the DES currently) 231.29 340 P -0.2 (known, it is widely believed that known plaintext attacks are infeasible -\050see for example [1]\051 and) 72 320 P -1.86 (so initializing and invoking the pseudorandom number generator seems unnecessary) 72 300 P -1.86 (. But this) 492.63 300 P -(means that ciphertexts produced from a plaintext by ) 72 280 T -3 F -(bdes) 324.48 280 T -0 F -( and ) 346.47 280 T -3 F -(des) 369.78 280 T -0 F -( will dif) 385.77 280 T -(fer in the last block.) 423.54 280 T -4 F -(Refer) 72 248 T -(ences) 100.41 248 T -0 F -([1]) 72 224 T -0.37 (D. Denning, \322The Data Encryption Standard: Fifteen Y) 108 224 P -0.37 (ears of Public Scrutiny) 374.87 224 P -0.37 (,\323 ) 484.8 224 P -3 F -0.37 (Pr) 496.49 224 P -0.37 (oceed-) 508.04 224 P --0.47 (ings of the Sixth Annual Computer Security Applications Confer) 108 204 P --0.47 (ence) 411.65 204 P -0 F --0.47 ( pp. x\320xv \050Dec. 1990\051.) 433.62 204 P -([2]) 72 180 T -(A. Konheim, ) 108 180 T -3 F -(Cryptography: A Primer) 173.29 180 T -0 F -(, John W) 291.4 180 T -(iley and Sons, Inc., New Y) 333.9 180 T -(ork, NY \0501981\051.) 461.94 180 T -([3]) 72 156 T -3 F -0.63 (DES Modes of Operation) 108 156 P -0 F -0.63 (, Federal Information Processing Standards Publication 81, Na-) 231.47 156 P --0.07 (tional Bureau of Standards, U.S. Department of Commerce, W) 108 136 P --0.07 (ashington, DC \050Dec. 1980\051.) 407.62 136 P -([4]) 72 112 T -3 F -(UNIX User) 108 112 T -(\325) 162.74 112 T -(s Manual) 165.18 112 T -0 F -(, Sun Microsystems Inc., Mountain V) 210.16 112 T -(iew) 390 112 T -(, CA \050Mar) 406.54 112 T -(. 1988\051.) 455.51 112 T -4 F -(Appendix. The UNIX System Manual Page for ) 72 80 T -1 F -(bdes) 313.2 80 T -FMENDPAGE -%%EndPage: "7" 10 -1 11 /Times-Bold FMDEFINEFONT -%%Page: "8" 10 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 8 of 11) 479.71 34.7 T -72 72 540 720 R -7 X -V -1 F -0 X -(NAME) 72 712.67 T -0 F -(bdes - encrypt/decrypt using the Data Encryption Standard) 108 689 T -1 F -(SYNOPSIS) 72 663.67 T -4 F -(bdes) 108 640 T -0 F -( [) 131.33 640 T -3 F -( ) 138.32 640 T -4 F -(-abdp) 141.32 640 T -0 F -( ] [ ) 171.31 640 T -4 F -(-F) 188.3 640 T -0 F -( ) 199.62 640 T -3 F -(b) 202.62 640 T -0 F -( ] [ ) 208.61 640 T -4 F -(-f) 225.6 640 T -0 F -( ) 233.58 640 T -3 F -(b) 236.58 640 T -0 F -( ] [ ) 242.58 640 T -4 F -(-k) 259.56 640 T -0 F -( ) 270.22 640 T -3 F -(key) 273.22 640 T -0 F -( ] [ ) 289.2 640 T -4 F -(-m) 306.18 640 T -0 F -( ) 320.16 640 T -3 F -(b) 323.16 640 T -0 F -( ] [ ) 329.16 640 T -4 F -(-o) 346.14 640 T -0 F -( ) 356.13 640 T -3 F -(b) 359.13 640 T -0 F -( ] [ ) 365.13 640 T -4 F -(-v) 382.11 640 T -0 F -( ) 392.1 640 T -3 F -(vector) 395.1 640 T -0 F -( ]) 425.07 640 T -1 F -(DESCRIPTION) 72 614.67 T -3 F --0.69 (Bdes) 108 591 P -0 F --0.69 ( reads from the standard input and writes on the standard output. It implements all DES) 131.32 591 P --0.09 (modes of operation described in FIPS PUB 81 including alternative cipher feedback mode) 108 577 P -0.74 (and both authentication modes. All modes but the electronic code book mode require an) 108 563 P --0.14 (initialization vector; if none is supplied, the zero vector is used. T) 108 549 P --0.14 (o protect the key and ini-) 420.44 549 P -0.29 (tialization vector from being read by) 108 535 P -3 F -0.29 ( ps) 284.98 535 P -0 F -0.29 (\0501\051, ) 298.94 535 P -3 F -0.29 (bdes ) 319.21 535 P -0 F -0.29 (hides its ar) 344.48 535 P -0.29 (guments on entry) 396.81 535 P -0.29 (. If no ) 479.89 535 P -3 F -0.29 (key ) 512.74 535 P -0 F -0.29 (is) 532 535 P --0.61 (given, one is requested from the controlling terminal if that can be opened, or from the stan-) 108 521 P -(dard input if not.) 108 507 T --0.17 (The key and initialization vector are taken as sequences of ) 108 489 P -5 F --0.14 (ASCII) 389.38 489 P -0 F --0.17 ( characters which are then) 415.48 489 P --0.35 (mapped into their bit representations. If either begins with -\3240x\325 or \3240X\325, that one is taken as) 108 475 P -1.02 (a sequence of hexadecimal digits indicating the bit pattern; if either begins with \3240b\325 or) 108 461 P --0.73 (\3240B\325, that one is taken as a sequence of binary digits -indicating the bit pattern. In either case,) 108 447 P --0.37 (only the leading 64 bits of the key or initialization vector are used, and if fewer than 64 bits) 108 433 P -0.35 (are provided, enough 0 bits are appended to pad the key to 64 bits. Note that if the key is) 108 419 P -0.03 (not entered on the command line, it is interpreted in the same way) 108 405 P -0.03 (, because with 4.4 BSD,) 424.31 405 P --0.36 (the password reading function ) 108 391 P -3 F --0.36 (getpass) 254.45 391 P -0 F --0.36 (\0503\051 allows enough characters for either hex or binary) 290.43 391 P -(keys to be entered.) 108 377 T -0.04 (According to the DES standard, the low-order bit of each character in the key string is de-) 108 359 P --0.18 (leted. Since most ) 108 345 P -5 F --0.15 (ASCII) 192.75 345 P -0 F --0.18 ( representations set the high-order bit to 0, simply deleting the low-) 218.84 345 P --0.29 (order bit ef) 108 331 P --0.29 (fectively reduces the size of the key space from 2) 160.49 331 P -5 F --0.24 (56) 394.67 335.8 P -0 F --0.29 ( to 2) 404.67 331 P -5 F --0.24 (48) 425.41 335.8 P -0 F --0.29 ( keys. T) 435.4 331 P --0.29 (o prevent this,) 472.29 331 P --0.46 (the high-order bit must be a function depending in part upon the low-order bit; so, the high-) 108 317 P -0.11 (order bit is set to whatever value gives odd parity) 108 303 P -0.11 (. This preserves the key space size. Note) 345.05 303 P -(this resetting of the parity bit is ) 108 289 T -3 F -(not) 260.92 289 T -0 F -( done if the key is given in binary or hex.) 276.24 289 T --0.38 (By default, the standard input is encrypted using cipher block chaining mode and is written) 108 271 P -0.18 (to the standard output. Using the same key for encryption and decryption preserves plain-) 108 257 P -(text, so) 108 243 T -( bdes ) 225.81 225 T -3 F -(key) 253.79 225 T -0 F -( < plaintext | bdes \320i ) 269.77 225 T -3 F -(key) 370.21 225 T -0 F -( ) 386.19 225 T -(is a very expensive equivalent of ) 108 201 T -3 F -(cat) 268.54 201 T -0 F -(\0501\051.) 283.2 201 T -(Options are:) 108 183 T -( ) 108 165 T -4 F -(\320a) 111 165 T -0 F --0.75 (The key and initialization vector strings are to be taken as ) 144 165 P -5 F --0.62 (ASCII) 415.89 165 P -0 F --0.75 ( suppressing the spe-) 441.98 165 P -0.3 (cial interpretation given to leading \3240x\325, \3240X\325, \3240b\325, -and \3240B\325 characters. Note this) 144 151 P -(\337ag applies to ) 144 137 T -3 F -(both) 214.29 137 T -0 F -( the key and initialization vector) 235.62 137 T -(.) 389.85 137 T -4 F -(\320b) 108 119 T -0 F -(Use electronic code book mode.) 144 119 T -4 F -(\320d) 108 101 T -0 F -(Decrypt the input.) 144 101 T -FMENDPAGE -%%EndPage: "8" 11 -%%Page: "9" 11 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 9 of 11) 479.71 34.7 T -72 72 540 720 R -7 X -V -4 F -0 X -(\320f) 108 712 T -0 F -( ) 117.99 712 T -3 F -(b) 120.99 712 T -0 F --0.29 (Use ) 144 712 P -3 F --0.29 (b) 165.36 712 P -0 F --0.29 (-bit cipher feedback mode. Currently ) 171.35 712 P -3 F --0.29 (b) 350.42 712 P -0 F --0.29 ( must be a multiple of 8 between 8 and) 356.42 712 P -(64 inclusive \050this does not conform to the standard CFB mode speci\336cation\051.) 144 698 T -4 F -(\320F) 108 680 T -0 F -( ) 121.32 680 T -3 F -(b) 124.32 680 T -0 F --0.29 (Use ) 144 680 P -3 F --0.29 (b) 165.36 680 P -0 F --0.29 (-bit alternative cipher feedback mode. Currently ) 171.36 680 P -3 F --0.29 (b) 403.77 680 P -0 F --0.29 ( must be a multiple of 7 be-) 409.77 680 P --0.12 (tween 7 and 56 inclusive \050this does not conform to the alternative CFB mode spec-) 144 666 P -(i\336cation\051.) 144 652 T -4 F -(\320k) 108 634 T -0 F -( ) 120.67 634 T -3 F -(key) 123.66 634 T -0 F -0.37 (Use the string ) 144 616 P -3 F -0.37 (key) 214.74 616 P -0 F -0.37 ( as the cryptographic key) 230.72 616 P -0.37 (. If this ar) 352.01 616 P -0.37 (gument is not given, the user) 399.54 616 P -(will be prompted for the key) 144 602 T -(.) 280.12 602 T -4 F -(\320m) 108 584 T -0 F -( ) 123.99 584 T -3 F -(b) 126.99 584 T -0 F -0.71 (Compute a message authentication code \050MAC\051 of ) 144 584 P -3 F -0.71 (b) 395.78 584 P -0 F -0.71 ( bits on the input. ) 401.77 584 P -3 F -0.71 (b) 491.94 584 P -0 F -0.71 ( must be) 497.94 584 P -0.11 (between 1 and 64 inclusive; if ) 144 570 P -3 F -0.11 (b) 291.87 570 P -0 F -0.11 ( is not a multiple of 8, enough 0 bits will be added) 297.86 570 P --0.44 (to pad the MAC length to the nearest multiple of 8. Only the MAC is output. MACs) 144 556 P -(are only available in cipher block chaining mode or in cipher feedback mode.) 144 542 T -4 F -(\320o) 108 524 T -0 F -( ) 119.99 524 T -3 F -(b) 122.99 524 T -0 F --0.34 (Use ) 144 524 P -3 F --0.34 (b) 165.31 524 P -0 F --0.34 (-bit output feedback mode. Currently ) 171.31 524 P -3 F --0.34 (b) 350.83 524 P -0 F --0.34 ( must be a multiple of 8 between 8 and) 356.83 524 P -(64 inclusive \050this does not conform to the OFB mode speci\336cation\051.) 144 510 T -4 F -(\320p) 108 492 T -0 F --0.14 (Disable the resetting of the parity bit. This \337ag forces the parity bit of the key to be) 144 492 P -0.03 (used as typed, rather than making each character be of odd parity) 144 478 P -0.03 (. It is used only if) 455.91 478 P -(the key is given in ) 144 464 T -5 F -(ASCII) 234.95 464 T -0 F -(.) 261.04 464 T -4 F -(\320v) 108 446 T -0 F -( ) 119.99 446 T -3 F -(vector) 122.99 446 T -0 F --0.5 (Set the initialization vector to ) 144 428 P -3 F --0.5 (v) 286.44 428 P -0 F --0.5 (; the vector is interpreted in the same way as the key) 291.76 428 P --0.5 (.) 537 428 P -(The vector is ignored in electronic codebook mode.) 144 414 T --0.55 (The DES is considered a very strong cryptosystem, and other than table lookup attacks, key) 108 396 P -0.24 (search attacks, and Hellman\325) 108 382 P -0.24 (s time-memory tradeof) 246.61 382 P -0.24 (f \050all of which are very expensive and) 356.8 382 P -0.66 (time-consuming\051, no cryptanalytic methods for breaking the DES are known in the open) 108 368 P -0.33 (literature. No doubt the choice of keys and key security are the most vulnerable aspect of) 108 354 P -3 F -(bdes) 108 340 T -0 F -(.) 129.98 340 T -4 F -(IMPLEMENT) 72 314 T -(A) 146.41 314 T -(TION NOTES) 154.18 314 T -0 F -0.57 (For implementors wishing to write software compatible with this program, the following) 108 290 P --0.23 (notes are provided. This software is completely compatible with the implementation of the) 108 276 P -(data encryption standard distributed by Sun Microsystems, Inc.) 108 262 T -0.11 (In the ECB and CBC modes, plaintext is encrypted in units of 64 bits \0508 bytes, also called) 108 244 P -0.52 (a block\051. T) 108 230 P -0.52 (o ensure that the plaintext \336le is encrypted correctly) 160.49 230 P -0.52 (, ) 413.01 230 P -3 F -0.52 (bdes ) 419.53 230 P -0 F -0.52 (will \050internally\051 ap-) 445.03 230 P -0.29 (pend from 1 to 8 bytes, the last byte containing an integer stating how many bytes of that) 108 216 P --0.71 (\336nal block are from the plaintext \336le, and encrypt the resulting block. Hence, when decrypt-) 108 202 P -0.27 (ing, the last block may contain from 0 to 7 characters present in the plaintext \336le, and the) 108 188 P --0.59 (last byte tells how many) 108 174 P --0.59 (. Note that if during decryption the last byte of the \336le does not con-) 221.46 174 P -0.41 (tain an integer between 0 and 7, either the \336le has been corrupted or an incorrect key has) 108 160 P -0.48 (been given. A similar mechanism is used for the OFB and CFB modes, except that those) 108 146 P -0.26 (simply require the length of the input to be a multiple of the mode size, and the \336nal byte) 108 132 P --0.73 (contains an integer between 0 and one less than the number of bytes being used as the mode.) 108 118 P -(\050This was another reason that the mode size must be a multiple of 8 for those modes.\051) 108 104 T -FMENDPAGE -%%EndPage: "9" 12 -%%Page: "10" 12 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 10 of 11) 473.71 34.7 T -72 72 540 720 R -7 X -V -0 X -0.94 (Unlike Sun\325) 108 712 P -0.94 (s implementation, unused bytes of that last block are not \336lled with random) 166.58 712 P -0.57 (data, but instead contain what was in those byte positions in the preceding block. This is) 108 698 P -(quicker and more portable, and does not weaken the encryption signi\336cantly) 108 684 T -(.) 473.95 684 T -0.36 (If the key is entered in ) 108 666 P -5 F -0.3 (ASCII) 220.76 666 P -0 F -0.36 (, the parity bits of the key characters are set so that each key) 246.85 666 P -1.03 (character is of odd parity) 108 652 P -1.03 (. Unlike Sun\325) 231.23 652 P -1.03 (s implementation, it is possible to enter binary or) 296.92 652 P --0.57 (hexadecimal keys on the command line, and if this is done, the parity bits are ) 108 638 P -3 F --0.57 (not ) 472.85 638 P -0 F --0.57 (reset. This) 490.61 638 P -(allows testing using arbitrary bit patterns as keys.) 108 624 T -0.64 (The Sun implementation always uses an initialization vector of 0 \050that is, all zeroes\051. By) 108 606 P -(default, ) 108 592 T -3 F -(bdes ) 147.3 592 T -0 F -(does too, but this may be changed from the command line.) 172.29 592 T -4 F -(FILES) 72 566 T -0 F -(/dev/tty) 108 542 T -(controlling terminal for typed key) 180 542 T -4 F -(SEE ALSO) 72 516 T -3 F -(crypt) 108 492 T -0 F -(\0501\051, ) 132.65 492 T -3 F -(crypt) 152.63 492 T -0 F -(\0503\051) 177.27 492 T -3 F --0.4 (Data Encryption Standar) 108 474 P --0.4 (d) 228.02 474 P -0 F --0.4 (, Federal Information Processing Standard #46, National Bureau) 234.02 474 P -(of Standards, U.S. Department of Commerce, W) 108 460 T -(ashington DC \050Jan. 1977\051.) 340.2 460 T -3 F -0.16 (DES) 108 442 P -0 F -0.16 ( ) 129.98 442 P -3 F -0.16 (Modes of Operation, ) 133.15 442 P -0 F -0.16 (Federal Information Processing Standard #81, National Bureau) 236.24 442 P -(of Standards, U.S. Department of Commerce, W) 108 428 T -(ashington DC \050Dec. 1980\051.) 340.2 428 T -2.75 (Dorothy Denning, ) 108 410 P -3 F -2.75 (Cryptography and Data Security) 203.77 410 P -0 F -2.75 (, Addison-W) 368.8 410 P -2.75 (esley Publishing Co.,) 432.55 410 P -(Reading, MA \2511982.) 108 396 T --0.19 ( Matt Bishop, \322Implementation Notes on ) 108 378 P -3 F --0.19 (bdes) 305.76 378 P -0 F --0.19 (\0501\051\323, T) 327.75 378 P --0.19 (echnical Report PCS-TR-91-158, De-) 359.35 378 P -0.34 (partment of Mathematics and Computer Science, Dartmouth College, Hanover) 108 364 P -0.34 (, NH \050Apr) 488.01 364 P -0.34 (.) 537 364 P -(1991\051.) 108 350 T -4 F -(CAUTION) 72 324 T -0 F --0.55 (Certain speci\336c keys should be avoided because they introduce potential weaknesses; these) 108 300 P --0.44 (keys, called the ) 108 286 P -3 F --0.44 (weak) 183.95 286 P -0 F --0.44 ( and ) 208.6 286 P -3 F --0.44 (semiweak) 231.03 286 P -0 F --0.44 ( keys, are \050in hex notation, where ) 277.66 286 P -6 F --1.06 (p) 437.45 286 P -0 F --0.44 ( is either ) 444.64 286 P -6 F --1.06 (0) 487.63 286 P -0 F --0.44 ( or ) 494.82 286 P -6 F --1.06 (1) 509.93 286 P -0 F --0.44 (, and) 517.12 286 P -6 F -(P) 108 272 T -0 F -( is either ) 115.2 272 T -6 F -(e) 159.5 272 T -0 F -( or ) 166.7 272 T -6 F -(f) 182.68 272 T -0 F -(\051:) 189.88 272 T -6 F -(0x0p0p0p0p0p0p0p0p) 144 254 T -(0x0p1P0p1P0p0P0p0P) 360 254 T -(0x0pep0pep0pfp0pfp) 144 236 T -(0x0pfP0pfP0pfP0pfP) 360 236 T -(0x1P0p1P0p0P0p0P0p) 144 218 T -(0x1P1P1P1P0P0P0P0P) 360 218 T -(0x1Pep1Pep0Pfp0Pfp) 144 200 T -(0x1PfP1PfP0PfP0PfP) 360 200 T -(0xep0pep0pfp0pfp0p) 144 182 T -(0xep1Pep1pfp0Pfp0P) 360 182 T -(0xepepepepepepepep) 144 164 T -(0xepfPepfPfpfPfpfP) 360 164 T -(0xfP0pfP0pfP0pfP0p) 144 146 T -(0xfP1PfP1PfP0PfP0P) 360 146 T -(0xfPepfPepfPepfPep) 144 128 T -(0xfPfPfPfPfPfPfPfP) 360 128 T -0 F -0.13 (The weakness of these keys is inherent in the DES algorithm \050see for example Moore and) 108 110 P --0.57 (Simmons, \322Cycle structure of the DES with weak and semi-weak keys,\323) 108 96 P -3 F --0.57 ( Advances in Cryp-) 449.43 96 P -(tology \320 Crypto \32486 Pr) 108 82 T -(oceedings) 216.83 82 T -0 F -(, Springer) 264.79 82 T -(-V) 311.85 82 T -(erlag New Y) 323.17 82 T -(ork, \2511987, pp. 9-32\051.) 383.25 82 T -FMENDPAGE -%%EndPage: "10" 13 -%%Page: "11" 13 -612 792 0 FMBEGINPAGE -72 745.99 540 756 R -7 X -0 K -V -72 32.69 540 42.7 R -V -0 F -0 X -(Page 11 of 11) 473.71 34.7 T -72 72 540 720 R -7 X -V -4 F -0 X -(BUGS) 72 712 T -0 F --0.18 (There is a controversy raging over whether the DES will still be secure in a few years. The) 108 688 P -0.31 (advent of special-purpose hardware could reduce the cost of any of the methods of attack) 108 674 P -(named above so that they are no longer computationally infeasible.) 108 660 T -0.32 (Programs which display programs\325 ar) 108 642 P -0.32 (guments may compromise the key and initialization) 289.59 642 P -0.76 (vector if they are speci\336ed on the command line. T) 108 628 P -0.76 (o avoid this ) 358.46 628 P -3 F -0.76 (bdes) 419.7 628 P -0 F -0.76 ( overwrites its ar) 441.68 628 P -0.76 (gu-) 524.01 628 P -(ments. However) 108 614 T -(, the obvious race cannot currently be avoided.) 186.12 614 T -0.25 (As the key or key schedule is kept in memory throughout the run of this program, the en-) 108 596 P -(cryption can be compromised if memory is readable.) 108 582 T --0.4 (There is no warranty of merchantability nor any warranty of \336tness for a particular purpose) 108 564 P -0.05 (nor any other warranty) 108 550 P -0.05 (, either express or implied, as to the accuracy of the enclosed mate-) 216.95 550 P -(rials or as to their suitability for any particular purpose.) 108 536 T --0.06 (Accordingly) 108 518 P --0.06 (, the user assumes full responsibility for their use. Further) 167.18 518 P --0.06 (, the author assumes) 442.93 518 P --0.25 (no obligation to furnish any assistance of any kind whatsoever) 108 504 P --0.25 (, or to furnish any additional) 404.69 504 P -(information or documentation.) 108 490 T -4 F -(AUTHOR) 72 464 T -0 F --0.54 (Matt Bishop, Department of Mathematics and Computer Science, Bradley Hall, Dartmouth) 108 440 P -(College, Hanover) 108 426 T -(, NH 03755) 192.12 426 T -(Electronic mail addresses:) 108 408 T -(Internet: Matt.Bishop@dartmouth.edu) 108 390 T -(UUCP: decvax!dartvax!Matt.Bishop) 108 372 T -FMENDPAGE -%%EndPage: "11" 14 -%%Trailer -%%BoundingBox: 0 0 612 792 -%%Pages: 13 1 -%%DocumentFonts: Helvetica-Bold -%%+ Helvetica-BoldOblique -%%+ Times-Roman -%%+ Times-Bold -%%+ Times-BoldItalic -%%+ Times-Italic -%%+ Courier -%%+ Courier-Oblique -%%+ ZapfDingbats -%%+ Symbol -%%+ Courier-Bold diff --git a/secure/usr.sbin/xntpd/lib/authdes.c b/secure/usr.sbin/xntpd/lib/authdes.c deleted file mode 100644 index d6d8d1bb6622b..0000000000000 --- a/secure/usr.sbin/xntpd/lib/authdes.c +++ /dev/null @@ -1,869 +0,0 @@ -/* - * authdes.c - an implementation of the DES cipher algorithm for NTP - */ -#include <sys/types.h> - -#include <netinet/in.h> - -#if BYTE_ORDER == BIG_ENDIAN -#define XNTP_BIG_ENDIAN -#endif -#if BYTE_ORDER == LITTLE_ENDIAN -#define XNTP_LITTLE_ENDIAN -#endif - -/* - * There are two entries in here. auth_subkeys() called to - * compute the encryption and decryption key schedules, while - * auth_des() is called to do the actual encryption/decryption - */ - -/* - * Byte order woes. The DES code is sensitive to byte order. This - * used to be resolved by calling ntohl() and htonl() to swap things - * around, but this turned out to be quite costly on Vaxes where those - * things are actual functions. The code now straightens out byte - * order troubles on its own, with no performance penalty for little - * end first machines, but at great expense to cleanliness. - */ -#if !defined(XNTP_BIG_ENDIAN) && !defined(XNTP_LITTLE_ENDIAN) - /* - * Pick one or the other. - */ - BYTE_ORDER_NOT_DEFINED_FOR_AUTHENTICATION -#endif - -/* - * Key setup. Here we entirely permute a key, saving the results - * for both the encryption and decryption. Note that while the - * decryption subkeys are simply the encryption keys reordered, - * we save both so that a common cipher routine may be used. - */ - -/* - * Permuted choice 1 tables. These are used to extract bits - * from the left and right parts of the key to form Ci and Di. - * The code that uses these tables knows which bits from which - * part of each key are used to form Ci and Di. - */ -static u_long PC1_CL[8] = { - 0x00000000, 0x00000010, 0x00001000, 0x00001010, - 0x00100000, 0x00100010, 0x00101000, 0x00101010 -}; - -static u_long PC1_DL[16] = { - 0x00000000, 0x00100000, 0x00001000, 0x00101000, - 0x00000010, 0x00100010, 0x00001010, 0x00101010, - 0x00000001, 0x00100001, 0x00001001, 0x00101001, - 0x00000011, 0x00100011, 0x00001011, 0x00101011 -}; - -static u_long PC1_CR[16] = { - 0x00000000, 0x00000001, 0x00000100, 0x00000101, - 0x00010000, 0x00010001, 0x00010100, 0x00010101, - 0x01000000, 0x01000001, 0x01000100, 0x01000101, - 0x01010000, 0x01010001, 0x01010100, 0x01010101 -}; - -static u_long PC1_DR[8] = { - 0x00000000, 0x01000000, 0x00010000, 0x01010000, - 0x00000100, 0x01000100, 0x00010100, 0x01010100 -}; - - -/* - * At the start of some iterations of the key schedule we do - * a circular left shift by one place, while for others we do a shift by - * two places. This has bits set for the iterations where we do 2 bit - * shifts, starting at the low order bit. - */ -#define TWO_BIT_SHIFTS 0x7efc - -/* - * Permuted choice 2 tables. The first actually produces the low order - * 24 bits of the subkey Ki from the 28 bit value of Ci. The second produces - * the high order 24 bits from Di. The tables are indexed by six bit - * segments of Ci and Di respectively. The code is handcrafted to compute - * the appropriate 6 bit chunks. - * - * Note that for ease of computation, the 24 bit values are produced with - * six bits going into each byte. - */ -static u_long PC2_C[4][64] = { - 0x00000000, 0x00040000, 0x01000000, 0x01040000, - 0x00000400, 0x00040400, 0x01000400, 0x01040400, - 0x00200000, 0x00240000, 0x01200000, 0x01240000, - 0x00200400, 0x00240400, 0x01200400, 0x01240400, - 0x00000001, 0x00040001, 0x01000001, 0x01040001, - 0x00000401, 0x00040401, 0x01000401, 0x01040401, - 0x00200001, 0x00240001, 0x01200001, 0x01240001, - 0x00200401, 0x00240401, 0x01200401, 0x01240401, - 0x02000000, 0x02040000, 0x03000000, 0x03040000, - 0x02000400, 0x02040400, 0x03000400, 0x03040400, - 0x02200000, 0x02240000, 0x03200000, 0x03240000, - 0x02200400, 0x02240400, 0x03200400, 0x03240400, - 0x02000001, 0x02040001, 0x03000001, 0x03040001, - 0x02000401, 0x02040401, 0x03000401, 0x03040401, - 0x02200001, 0x02240001, 0x03200001, 0x03240001, - 0x02200401, 0x02240401, 0x03200401, 0x03240401, - - 0x00000000, 0x00000002, 0x00000800, 0x00000802, - 0x08000000, 0x08000002, 0x08000800, 0x08000802, - 0x00010000, 0x00010002, 0x00010800, 0x00010802, - 0x08010000, 0x08010002, 0x08010800, 0x08010802, - 0x00000100, 0x00000102, 0x00000900, 0x00000902, - 0x08000100, 0x08000102, 0x08000900, 0x08000902, - 0x00010100, 0x00010102, 0x00010900, 0x00010902, - 0x08010100, 0x08010102, 0x08010900, 0x08010902, - 0x00000010, 0x00000012, 0x00000810, 0x00000812, - 0x08000010, 0x08000012, 0x08000810, 0x08000812, - 0x00010010, 0x00010012, 0x00010810, 0x00010812, - 0x08010010, 0x08010012, 0x08010810, 0x08010812, - 0x00000110, 0x00000112, 0x00000910, 0x00000912, - 0x08000110, 0x08000112, 0x08000910, 0x08000912, - 0x00010110, 0x00010112, 0x00010910, 0x00010912, - 0x08010110, 0x08010112, 0x08010910, 0x08010912, - - 0x00000000, 0x04000000, 0x00002000, 0x04002000, - 0x10000000, 0x14000000, 0x10002000, 0x14002000, - 0x00000020, 0x04000020, 0x00002020, 0x04002020, - 0x10000020, 0x14000020, 0x10002020, 0x14002020, - 0x00080000, 0x04080000, 0x00082000, 0x04082000, - 0x10080000, 0x14080000, 0x10082000, 0x14082000, - 0x00080020, 0x04080020, 0x00082020, 0x04082020, - 0x10080020, 0x14080020, 0x10082020, 0x14082020, - 0x20000000, 0x24000000, 0x20002000, 0x24002000, - 0x30000000, 0x34000000, 0x30002000, 0x34002000, - 0x20000020, 0x24000020, 0x20002020, 0x24002020, - 0x30000020, 0x34000020, 0x30002020, 0x34002020, - 0x20080000, 0x24080000, 0x20082000, 0x24082000, - 0x30080000, 0x34080000, 0x30082000, 0x34082000, - 0x20080020, 0x24080020, 0x20082020, 0x24082020, - 0x30080020, 0x34080020, 0x30082020, 0x34082020, - - 0x00000000, 0x00100000, 0x00000008, 0x00100008, - 0x00000200, 0x00100200, 0x00000208, 0x00100208, - 0x00020000, 0x00120000, 0x00020008, 0x00120008, - 0x00020200, 0x00120200, 0x00020208, 0x00120208, - 0x00000004, 0x00100004, 0x0000000c, 0x0010000c, - 0x00000204, 0x00100204, 0x0000020c, 0x0010020c, - 0x00020004, 0x00120004, 0x0002000c, 0x0012000c, - 0x00020204, 0x00120204, 0x0002020c, 0x0012020c, - 0x00001000, 0x00101000, 0x00001008, 0x00101008, - 0x00001200, 0x00101200, 0x00001208, 0x00101208, - 0x00021000, 0x00121000, 0x00021008, 0x00121008, - 0x00021200, 0x00121200, 0x00021208, 0x00121208, - 0x00001004, 0x00101004, 0x0000100c, 0x0010100c, - 0x00001204, 0x00101204, 0x0000120c, 0x0010120c, - 0x00021004, 0x00121004, 0x0002100c, 0x0012100c, - 0x00021204, 0x00121204, 0x0002120c, 0x0012120c -}; - -static u_long PC2_D[4][64] = { - 0x00000000, 0x00000200, 0x00020000, 0x00020200, - 0x00000001, 0x00000201, 0x00020001, 0x00020201, - 0x08000000, 0x08000200, 0x08020000, 0x08020200, - 0x08000001, 0x08000201, 0x08020001, 0x08020201, - 0x00200000, 0x00200200, 0x00220000, 0x00220200, - 0x00200001, 0x00200201, 0x00220001, 0x00220201, - 0x08200000, 0x08200200, 0x08220000, 0x08220200, - 0x08200001, 0x08200201, 0x08220001, 0x08220201, - 0x00000002, 0x00000202, 0x00020002, 0x00020202, - 0x00000003, 0x00000203, 0x00020003, 0x00020203, - 0x08000002, 0x08000202, 0x08020002, 0x08020202, - 0x08000003, 0x08000203, 0x08020003, 0x08020203, - 0x00200002, 0x00200202, 0x00220002, 0x00220202, - 0x00200003, 0x00200203, 0x00220003, 0x00220203, - 0x08200002, 0x08200202, 0x08220002, 0x08220202, - 0x08200003, 0x08200203, 0x08220003, 0x08220203, - - 0x00000000, 0x00000010, 0x20000000, 0x20000010, - 0x00100000, 0x00100010, 0x20100000, 0x20100010, - 0x00000800, 0x00000810, 0x20000800, 0x20000810, - 0x00100800, 0x00100810, 0x20100800, 0x20100810, - 0x04000000, 0x04000010, 0x24000000, 0x24000010, - 0x04100000, 0x04100010, 0x24100000, 0x24100010, - 0x04000800, 0x04000810, 0x24000800, 0x24000810, - 0x04100800, 0x04100810, 0x24100800, 0x24100810, - 0x00000004, 0x00000014, 0x20000004, 0x20000014, - 0x00100004, 0x00100014, 0x20100004, 0x20100014, - 0x00000804, 0x00000814, 0x20000804, 0x20000814, - 0x00100804, 0x00100814, 0x20100804, 0x20100814, - 0x04000004, 0x04000014, 0x24000004, 0x24000014, - 0x04100004, 0x04100014, 0x24100004, 0x24100014, - 0x04000804, 0x04000814, 0x24000804, 0x24000814, - 0x04100804, 0x04100814, 0x24100804, 0x24100814, - - 0x00000000, 0x00001000, 0x00010000, 0x00011000, - 0x02000000, 0x02001000, 0x02010000, 0x02011000, - 0x00000020, 0x00001020, 0x00010020, 0x00011020, - 0x02000020, 0x02001020, 0x02010020, 0x02011020, - 0x00040000, 0x00041000, 0x00050000, 0x00051000, - 0x02040000, 0x02041000, 0x02050000, 0x02051000, - 0x00040020, 0x00041020, 0x00050020, 0x00051020, - 0x02040020, 0x02041020, 0x02050020, 0x02051020, - 0x00002000, 0x00003000, 0x00012000, 0x00013000, - 0x02002000, 0x02003000, 0x02012000, 0x02013000, - 0x00002020, 0x00003020, 0x00012020, 0x00013020, - 0x02002020, 0x02003020, 0x02012020, 0x02013020, - 0x00042000, 0x00043000, 0x00052000, 0x00053000, - 0x02042000, 0x02043000, 0x02052000, 0x02053000, - 0x00042020, 0x00043020, 0x00052020, 0x00053020, - 0x02042020, 0x02043020, 0x02052020, 0x02053020, - - 0x00000000, 0x00000400, 0x01000000, 0x01000400, - 0x00000100, 0x00000500, 0x01000100, 0x01000500, - 0x10000000, 0x10000400, 0x11000000, 0x11000400, - 0x10000100, 0x10000500, 0x11000100, 0x11000500, - 0x00080000, 0x00080400, 0x01080000, 0x01080400, - 0x00080100, 0x00080500, 0x01080100, 0x01080500, - 0x10080000, 0x10080400, 0x11080000, 0x11080400, - 0x10080100, 0x10080500, 0x11080100, 0x11080500, - 0x00000008, 0x00000408, 0x01000008, 0x01000408, - 0x00000108, 0x00000508, 0x01000108, 0x01000508, - 0x10000008, 0x10000408, 0x11000008, 0x11000408, - 0x10000108, 0x10000508, 0x11000108, 0x11000508, - 0x00080008, 0x00080408, 0x01080008, 0x01080408, - 0x00080108, 0x00080508, 0x01080108, 0x01080508, - 0x10080008, 0x10080408, 0x11080008, 0x11080408, - 0x10080108, 0x10080508, 0x11080108, 0x11080508 -}; - - - -/* - * Permute the key to give us our key schedule. - */ -void -DESauth_subkeys(key, encryptkeys, decryptkeys) - u_long *key; - u_char *encryptkeys; - u_char *decryptkeys; -{ - register u_long tmp; - register u_long c, d; - register u_char *ek, *dk; - register int two_bit_shifts; - register int i; - - /* - * The first permutted choice gives us the 28 bits for C0 and - * 28 for D0. C0 gets 12 bits from the left key and 16 from - * the right, while D0 gets 16 from the left and 12 from the - * right. The code knows which bits go where. - */ - tmp = *key; /* left part of key */ - c = PC1_CL[(tmp >> 29) & 0x7] - | (PC1_CL[(tmp >> 21) & 0x7] << 1) - | (PC1_CL[(tmp >> 13) & 0x7] << 2) - | (PC1_CL[(tmp >> 5) & 0x7] << 3); - d = PC1_DL[(tmp >> 25) & 0xf] - | (PC1_DL[(tmp >> 17) & 0xf] << 1) - | (PC1_DL[(tmp >> 9) & 0xf] << 2) - | (PC1_DL[(tmp >> 1) & 0xf] << 3); - - tmp = *(key+1); /* right part of key */ - c |= PC1_CR[(tmp >> 28) & 0xf] - | (PC1_CR[(tmp >> 20) & 0xf] << 1) - | (PC1_CR[(tmp >> 12) & 0xf] << 2) - | (PC1_CR[(tmp >> 4) & 0xf] << 3); - d |= PC1_DR[(tmp >> 25) & 0x7] - | (PC1_DR[(tmp >> 17) & 0x7] << 1) - | (PC1_DR[(tmp >> 9) & 0x7] << 2) - | (PC1_DR[(tmp >> 1) & 0x7] << 3); - - /* - * Now iterate to compute the key schedule. Note that we - * record the entire set of subkeys in 6 bit chunks since - * they are used that way. At 6 bits/char, we need - * 48/6 char's/subkey * 16 subkeys/encryption == 128 chars. - * encryptkeys and decryptkeys must be this big. - */ - ek = encryptkeys; - dk = decryptkeys + (8 * 15); - two_bit_shifts = TWO_BIT_SHIFTS; - for (i = 16; i > 0; i--) { - /* - * Do the rotation. One bit and two bit rotations - * are done separately. Note C and D are 28 bits. - */ - if (two_bit_shifts & 0x1) { - c = ((c << 2) & 0xffffffc) | (c >> 26); - d = ((d << 2) & 0xffffffc) | (d >> 26); - } else { - c = ((c << 1) & 0xffffffe) | (c >> 27); - d = ((d << 1) & 0xffffffe) | (d >> 27); - } - two_bit_shifts >>= 1; - - /* - * Apply permutted choice 2 to C to get the first - * 24 bits worth of keys. Note that bits 9, 18, 22 - * and 25 (using DES numbering) in C are unused. The - * shift-mask stuff is done to delete these bits from - * the indices, since this cuts the table size in half. - */ - tmp = PC2_C[0][((c >> 22) & 0x3f)] - | PC2_C[1][((c >> 15) & 0xf) | ((c >> 16) & 0x30)] - | PC2_C[2][((c >> 4) & 0x3) | ((c >> 9) & 0x3c)] - | PC2_C[3][((c ) & 0x7) | ((c >> 4) & 0x38)]; - *ek++ = *dk++ = (u_char)(tmp >> 24); - *ek++ = *dk++ = (u_char)(tmp >> 16); - *ek++ = *dk++ = (u_char)(tmp >> 8); - *ek++ = *dk++ = (u_char)tmp; - - /* - * Apply permutted choice 2 to D to get the other half. - * Here, bits 7, 10, 15 and 26 go unused. The sqeezing - * actually turns out to be cheaper here. - */ - tmp = PC2_D[0][((d >> 22) & 0x3f)] - | PC2_D[1][((d >> 14) & 0xf) | ((d >> 15) & 0x30)] - | PC2_D[2][((d >> 7) & 0x3f)] - | PC2_D[3][((d ) & 0x3) | ((d >> 1) & 0x3c)]; - *ek++ = *dk++ = (u_char)(tmp >> 24); - *ek++ = *dk++ = (u_char)(tmp >> 16); - *ek++ = *dk++ = (u_char)(tmp >> 8); - *ek++ = *dk++ = (u_char)tmp; - - /* - * We are filling in the decryption subkeys from the end. - * Space it back 16 elements to get to the start of the - * next set. - */ - dk -= 16; - } -} - -/* - * The DES algorithm. This is intended to be fairly speedy at the - * expense of some memory. - * - * This uses all the standard hacks. The S boxes and the P permutation - * are precomputed into one table. The E box never actually appears - * explicitly since it is easy to apply this algorithmically. The - * initial permutation and final (inverse initial) permuation are - * computed from tables designed to permute four bits at a time. This - * should run pretty fast on machines with 32 bit words and - * bit field/multiple bit shift instructions which are fast. - */ - -/* - * The initial permutation array. This is used to compute both the - * left and the right halves of the initial permutation using bytes - * from words made from the following operations: - * - * ((left & 0x55555555) << 1) | (right & 0x55555555) for left half - * (left & 0xaaaaaaaa) | ((right & 0xaaaaaaaa) >> 1) for right half - * - * The scheme is that we index into the table using each byte. The - * result from the high order byte is or'd with the result from the - * next byte shifted left once is or'd with the result from the next - * byte shifted left twice if or'd with the result from the low order - * byte shifted left by three. Clear? - */ -static u_long IP[256] = { - 0x00000000, 0x00000010, 0x00000001, 0x00000011, - 0x00001000, 0x00001010, 0x00001001, 0x00001011, - 0x00000100, 0x00000110, 0x00000101, 0x00000111, - 0x00001100, 0x00001110, 0x00001101, 0x00001111, - 0x00100000, 0x00100010, 0x00100001, 0x00100011, - 0x00101000, 0x00101010, 0x00101001, 0x00101011, - 0x00100100, 0x00100110, 0x00100101, 0x00100111, - 0x00101100, 0x00101110, 0x00101101, 0x00101111, - 0x00010000, 0x00010010, 0x00010001, 0x00010011, - 0x00011000, 0x00011010, 0x00011001, 0x00011011, - 0x00010100, 0x00010110, 0x00010101, 0x00010111, - 0x00011100, 0x00011110, 0x00011101, 0x00011111, - 0x00110000, 0x00110010, 0x00110001, 0x00110011, - 0x00111000, 0x00111010, 0x00111001, 0x00111011, - 0x00110100, 0x00110110, 0x00110101, 0x00110111, - 0x00111100, 0x00111110, 0x00111101, 0x00111111, - 0x10000000, 0x10000010, 0x10000001, 0x10000011, - 0x10001000, 0x10001010, 0x10001001, 0x10001011, - 0x10000100, 0x10000110, 0x10000101, 0x10000111, - 0x10001100, 0x10001110, 0x10001101, 0x10001111, - 0x10100000, 0x10100010, 0x10100001, 0x10100011, - 0x10101000, 0x10101010, 0x10101001, 0x10101011, - 0x10100100, 0x10100110, 0x10100101, 0x10100111, - 0x10101100, 0x10101110, 0x10101101, 0x10101111, - 0x10010000, 0x10010010, 0x10010001, 0x10010011, - 0x10011000, 0x10011010, 0x10011001, 0x10011011, - 0x10010100, 0x10010110, 0x10010101, 0x10010111, - 0x10011100, 0x10011110, 0x10011101, 0x10011111, - 0x10110000, 0x10110010, 0x10110001, 0x10110011, - 0x10111000, 0x10111010, 0x10111001, 0x10111011, - 0x10110100, 0x10110110, 0x10110101, 0x10110111, - 0x10111100, 0x10111110, 0x10111101, 0x10111111, - 0x01000000, 0x01000010, 0x01000001, 0x01000011, - 0x01001000, 0x01001010, 0x01001001, 0x01001011, - 0x01000100, 0x01000110, 0x01000101, 0x01000111, - 0x01001100, 0x01001110, 0x01001101, 0x01001111, - 0x01100000, 0x01100010, 0x01100001, 0x01100011, - 0x01101000, 0x01101010, 0x01101001, 0x01101011, - 0x01100100, 0x01100110, 0x01100101, 0x01100111, - 0x01101100, 0x01101110, 0x01101101, 0x01101111, - 0x01010000, 0x01010010, 0x01010001, 0x01010011, - 0x01011000, 0x01011010, 0x01011001, 0x01011011, - 0x01010100, 0x01010110, 0x01010101, 0x01010111, - 0x01011100, 0x01011110, 0x01011101, 0x01011111, - 0x01110000, 0x01110010, 0x01110001, 0x01110011, - 0x01111000, 0x01111010, 0x01111001, 0x01111011, - 0x01110100, 0x01110110, 0x01110101, 0x01110111, - 0x01111100, 0x01111110, 0x01111101, 0x01111111, - 0x11000000, 0x11000010, 0x11000001, 0x11000011, - 0x11001000, 0x11001010, 0x11001001, 0x11001011, - 0x11000100, 0x11000110, 0x11000101, 0x11000111, - 0x11001100, 0x11001110, 0x11001101, 0x11001111, - 0x11100000, 0x11100010, 0x11100001, 0x11100011, - 0x11101000, 0x11101010, 0x11101001, 0x11101011, - 0x11100100, 0x11100110, 0x11100101, 0x11100111, - 0x11101100, 0x11101110, 0x11101101, 0x11101111, - 0x11010000, 0x11010010, 0x11010001, 0x11010011, - 0x11011000, 0x11011010, 0x11011001, 0x11011011, - 0x11010100, 0x11010110, 0x11010101, 0x11010111, - 0x11011100, 0x11011110, 0x11011101, 0x11011111, - 0x11110000, 0x11110010, 0x11110001, 0x11110011, - 0x11111000, 0x11111010, 0x11111001, 0x11111011, - 0x11110100, 0x11110110, 0x11110101, 0x11110111, - 0x11111100, 0x11111110, 0x11111101, 0x11111111 -}; - -/* - * The final permutation array. Like the IP array, used - * to compute both the left and right results from the nibbles - * of words computed from: - * - * ((left & 0x0f0f0f0f) << 4) | (right & 0x0f0f0f0f) for left result - * (left & 0xf0f0f0f0) | ((right & 0xf0f0f0f0) >> 4) for right result - * - * The result from the high order byte is shifted left 6 bits and - * or'd with the result from the next byte shifted left 4 bits, which - * is or'd with the result from the next byte shifted left 2 bits, - * which is or'd with the result from the low byte. - * - * There is one of these for big end machines (the natural order for - * DES) and a second for little end machines. One is a byte swapped - * version of the other. - */ -#ifndef XNTP_LITTLE_ENDIAN - /* - * Big end version - */ -static u_long FP[256] = { - 0x00000000, 0x02000000, 0x00020000, 0x02020000, - 0x00000200, 0x02000200, 0x00020200, 0x02020200, - 0x00000002, 0x02000002, 0x00020002, 0x02020002, - 0x00000202, 0x02000202, 0x00020202, 0x02020202, - 0x01000000, 0x03000000, 0x01020000, 0x03020000, - 0x01000200, 0x03000200, 0x01020200, 0x03020200, - 0x01000002, 0x03000002, 0x01020002, 0x03020002, - 0x01000202, 0x03000202, 0x01020202, 0x03020202, - 0x00010000, 0x02010000, 0x00030000, 0x02030000, - 0x00010200, 0x02010200, 0x00030200, 0x02030200, - 0x00010002, 0x02010002, 0x00030002, 0x02030002, - 0x00010202, 0x02010202, 0x00030202, 0x02030202, - 0x01010000, 0x03010000, 0x01030000, 0x03030000, - 0x01010200, 0x03010200, 0x01030200, 0x03030200, - 0x01010002, 0x03010002, 0x01030002, 0x03030002, - 0x01010202, 0x03010202, 0x01030202, 0x03030202, - 0x00000100, 0x02000100, 0x00020100, 0x02020100, - 0x00000300, 0x02000300, 0x00020300, 0x02020300, - 0x00000102, 0x02000102, 0x00020102, 0x02020102, - 0x00000302, 0x02000302, 0x00020302, 0x02020302, - 0x01000100, 0x03000100, 0x01020100, 0x03020100, - 0x01000300, 0x03000300, 0x01020300, 0x03020300, - 0x01000102, 0x03000102, 0x01020102, 0x03020102, - 0x01000302, 0x03000302, 0x01020302, 0x03020302, - 0x00010100, 0x02010100, 0x00030100, 0x02030100, - 0x00010300, 0x02010300, 0x00030300, 0x02030300, - 0x00010102, 0x02010102, 0x00030102, 0x02030102, - 0x00010302, 0x02010302, 0x00030302, 0x02030302, - 0x01010100, 0x03010100, 0x01030100, 0x03030100, - 0x01010300, 0x03010300, 0x01030300, 0x03030300, - 0x01010102, 0x03010102, 0x01030102, 0x03030102, - 0x01010302, 0x03010302, 0x01030302, 0x03030302, - 0x00000001, 0x02000001, 0x00020001, 0x02020001, - 0x00000201, 0x02000201, 0x00020201, 0x02020201, - 0x00000003, 0x02000003, 0x00020003, 0x02020003, - 0x00000203, 0x02000203, 0x00020203, 0x02020203, - 0x01000001, 0x03000001, 0x01020001, 0x03020001, - 0x01000201, 0x03000201, 0x01020201, 0x03020201, - 0x01000003, 0x03000003, 0x01020003, 0x03020003, - 0x01000203, 0x03000203, 0x01020203, 0x03020203, - 0x00010001, 0x02010001, 0x00030001, 0x02030001, - 0x00010201, 0x02010201, 0x00030201, 0x02030201, - 0x00010003, 0x02010003, 0x00030003, 0x02030003, - 0x00010203, 0x02010203, 0x00030203, 0x02030203, - 0x01010001, 0x03010001, 0x01030001, 0x03030001, - 0x01010201, 0x03010201, 0x01030201, 0x03030201, - 0x01010003, 0x03010003, 0x01030003, 0x03030003, - 0x01010203, 0x03010203, 0x01030203, 0x03030203, - 0x00000101, 0x02000101, 0x00020101, 0x02020101, - 0x00000301, 0x02000301, 0x00020301, 0x02020301, - 0x00000103, 0x02000103, 0x00020103, 0x02020103, - 0x00000303, 0x02000303, 0x00020303, 0x02020303, - 0x01000101, 0x03000101, 0x01020101, 0x03020101, - 0x01000301, 0x03000301, 0x01020301, 0x03020301, - 0x01000103, 0x03000103, 0x01020103, 0x03020103, - 0x01000303, 0x03000303, 0x01020303, 0x03020303, - 0x00010101, 0x02010101, 0x00030101, 0x02030101, - 0x00010301, 0x02010301, 0x00030301, 0x02030301, - 0x00010103, 0x02010103, 0x00030103, 0x02030103, - 0x00010303, 0x02010303, 0x00030303, 0x02030303, - 0x01010101, 0x03010101, 0x01030101, 0x03030101, - 0x01010301, 0x03010301, 0x01030301, 0x03030301, - 0x01010103, 0x03010103, 0x01030103, 0x03030103, - 0x01010303, 0x03010303, 0x01030303, 0x03030303 -}; -#else - /* - * Byte swapped for little end machines. - */ -static u_long FP[256] = { - 0x00000000, 0x00000002, 0x00000200, 0x00000202, - 0x00020000, 0x00020002, 0x00020200, 0x00020202, - 0x02000000, 0x02000002, 0x02000200, 0x02000202, - 0x02020000, 0x02020002, 0x02020200, 0x02020202, - 0x00000001, 0x00000003, 0x00000201, 0x00000203, - 0x00020001, 0x00020003, 0x00020201, 0x00020203, - 0x02000001, 0x02000003, 0x02000201, 0x02000203, - 0x02020001, 0x02020003, 0x02020201, 0x02020203, - 0x00000100, 0x00000102, 0x00000300, 0x00000302, - 0x00020100, 0x00020102, 0x00020300, 0x00020302, - 0x02000100, 0x02000102, 0x02000300, 0x02000302, - 0x02020100, 0x02020102, 0x02020300, 0x02020302, - 0x00000101, 0x00000103, 0x00000301, 0x00000303, - 0x00020101, 0x00020103, 0x00020301, 0x00020303, - 0x02000101, 0x02000103, 0x02000301, 0x02000303, - 0x02020101, 0x02020103, 0x02020301, 0x02020303, - 0x00010000, 0x00010002, 0x00010200, 0x00010202, - 0x00030000, 0x00030002, 0x00030200, 0x00030202, - 0x02010000, 0x02010002, 0x02010200, 0x02010202, - 0x02030000, 0x02030002, 0x02030200, 0x02030202, - 0x00010001, 0x00010003, 0x00010201, 0x00010203, - 0x00030001, 0x00030003, 0x00030201, 0x00030203, - 0x02010001, 0x02010003, 0x02010201, 0x02010203, - 0x02030001, 0x02030003, 0x02030201, 0x02030203, - 0x00010100, 0x00010102, 0x00010300, 0x00010302, - 0x00030100, 0x00030102, 0x00030300, 0x00030302, - 0x02010100, 0x02010102, 0x02010300, 0x02010302, - 0x02030100, 0x02030102, 0x02030300, 0x02030302, - 0x00010101, 0x00010103, 0x00010301, 0x00010303, - 0x00030101, 0x00030103, 0x00030301, 0x00030303, - 0x02010101, 0x02010103, 0x02010301, 0x02010303, - 0x02030101, 0x02030103, 0x02030301, 0x02030303, - 0x01000000, 0x01000002, 0x01000200, 0x01000202, - 0x01020000, 0x01020002, 0x01020200, 0x01020202, - 0x03000000, 0x03000002, 0x03000200, 0x03000202, - 0x03020000, 0x03020002, 0x03020200, 0x03020202, - 0x01000001, 0x01000003, 0x01000201, 0x01000203, - 0x01020001, 0x01020003, 0x01020201, 0x01020203, - 0x03000001, 0x03000003, 0x03000201, 0x03000203, - 0x03020001, 0x03020003, 0x03020201, 0x03020203, - 0x01000100, 0x01000102, 0x01000300, 0x01000302, - 0x01020100, 0x01020102, 0x01020300, 0x01020302, - 0x03000100, 0x03000102, 0x03000300, 0x03000302, - 0x03020100, 0x03020102, 0x03020300, 0x03020302, - 0x01000101, 0x01000103, 0x01000301, 0x01000303, - 0x01020101, 0x01020103, 0x01020301, 0x01020303, - 0x03000101, 0x03000103, 0x03000301, 0x03000303, - 0x03020101, 0x03020103, 0x03020301, 0x03020303, - 0x01010000, 0x01010002, 0x01010200, 0x01010202, - 0x01030000, 0x01030002, 0x01030200, 0x01030202, - 0x03010000, 0x03010002, 0x03010200, 0x03010202, - 0x03030000, 0x03030002, 0x03030200, 0x03030202, - 0x01010001, 0x01010003, 0x01010201, 0x01010203, - 0x01030001, 0x01030003, 0x01030201, 0x01030203, - 0x03010001, 0x03010003, 0x03010201, 0x03010203, - 0x03030001, 0x03030003, 0x03030201, 0x03030203, - 0x01010100, 0x01010102, 0x01010300, 0x01010302, - 0x01030100, 0x01030102, 0x01030300, 0x01030302, - 0x03010100, 0x03010102, 0x03010300, 0x03010302, - 0x03030100, 0x03030102, 0x03030300, 0x03030302, - 0x01010101, 0x01010103, 0x01010301, 0x01010303, - 0x01030101, 0x01030103, 0x01030301, 0x01030303, - 0x03010101, 0x03010103, 0x03010301, 0x03010303, - 0x03030101, 0x03030103, 0x03030301, 0x03030303 -}; -#endif - - -/* - * The SP table is actually the S boxes and the P permutation - * table combined. - */ -static u_long SP[8][64] = { - 0x00808200, 0x00000000, 0x00008000, 0x00808202, - 0x00808002, 0x00008202, 0x00000002, 0x00008000, - 0x00000200, 0x00808200, 0x00808202, 0x00000200, - 0x00800202, 0x00808002, 0x00800000, 0x00000002, - 0x00000202, 0x00800200, 0x00800200, 0x00008200, - 0x00008200, 0x00808000, 0x00808000, 0x00800202, - 0x00008002, 0x00800002, 0x00800002, 0x00008002, - 0x00000000, 0x00000202, 0x00008202, 0x00800000, - 0x00008000, 0x00808202, 0x00000002, 0x00808000, - 0x00808200, 0x00800000, 0x00800000, 0x00000200, - 0x00808002, 0x00008000, 0x00008200, 0x00800002, - 0x00000200, 0x00000002, 0x00800202, 0x00008202, - 0x00808202, 0x00008002, 0x00808000, 0x00800202, - 0x00800002, 0x00000202, 0x00008202, 0x00808200, - 0x00000202, 0x00800200, 0x00800200, 0x00000000, - 0x00008002, 0x00008200, 0x00000000, 0x00808002, - - 0x40084010, 0x40004000, 0x00004000, 0x00084010, - 0x00080000, 0x00000010, 0x40080010, 0x40004010, - 0x40000010, 0x40084010, 0x40084000, 0x40000000, - 0x40004000, 0x00080000, 0x00000010, 0x40080010, - 0x00084000, 0x00080010, 0x40004010, 0x00000000, - 0x40000000, 0x00004000, 0x00084010, 0x40080000, - 0x00080010, 0x40000010, 0x00000000, 0x00084000, - 0x00004010, 0x40084000, 0x40080000, 0x00004010, - 0x00000000, 0x00084010, 0x40080010, 0x00080000, - 0x40004010, 0x40080000, 0x40084000, 0x00004000, - 0x40080000, 0x40004000, 0x00000010, 0x40084010, - 0x00084010, 0x00000010, 0x00004000, 0x40000000, - 0x00004010, 0x40084000, 0x00080000, 0x40000010, - 0x00080010, 0x40004010, 0x40000010, 0x00080010, - 0x00084000, 0x00000000, 0x40004000, 0x00004010, - 0x40000000, 0x40080010, 0x40084010, 0x00084000, - - 0x00000104, 0x04010100, 0x00000000, 0x04010004, - 0x04000100, 0x00000000, 0x00010104, 0x04000100, - 0x00010004, 0x04000004, 0x04000004, 0x00010000, - 0x04010104, 0x00010004, 0x04010000, 0x00000104, - 0x04000000, 0x00000004, 0x04010100, 0x00000100, - 0x00010100, 0x04010000, 0x04010004, 0x00010104, - 0x04000104, 0x00010100, 0x00010000, 0x04000104, - 0x00000004, 0x04010104, 0x00000100, 0x04000000, - 0x04010100, 0x04000000, 0x00010004, 0x00000104, - 0x00010000, 0x04010100, 0x04000100, 0x00000000, - 0x00000100, 0x00010004, 0x04010104, 0x04000100, - 0x04000004, 0x00000100, 0x00000000, 0x04010004, - 0x04000104, 0x00010000, 0x04000000, 0x04010104, - 0x00000004, 0x00010104, 0x00010100, 0x04000004, - 0x04010000, 0x04000104, 0x00000104, 0x04010000, - 0x00010104, 0x00000004, 0x04010004, 0x00010100, - - 0x80401000, 0x80001040, 0x80001040, 0x00000040, - 0x00401040, 0x80400040, 0x80400000, 0x80001000, - 0x00000000, 0x00401000, 0x00401000, 0x80401040, - 0x80000040, 0x00000000, 0x00400040, 0x80400000, - 0x80000000, 0x00001000, 0x00400000, 0x80401000, - 0x00000040, 0x00400000, 0x80001000, 0x00001040, - 0x80400040, 0x80000000, 0x00001040, 0x00400040, - 0x00001000, 0x00401040, 0x80401040, 0x80000040, - 0x00400040, 0x80400000, 0x00401000, 0x80401040, - 0x80000040, 0x00000000, 0x00000000, 0x00401000, - 0x00001040, 0x00400040, 0x80400040, 0x80000000, - 0x80401000, 0x80001040, 0x80001040, 0x00000040, - 0x80401040, 0x80000040, 0x80000000, 0x00001000, - 0x80400000, 0x80001000, 0x00401040, 0x80400040, - 0x80001000, 0x00001040, 0x00400000, 0x80401000, - 0x00000040, 0x00400000, 0x00001000, 0x00401040, - - 0x00000080, 0x01040080, 0x01040000, 0x21000080, - 0x00040000, 0x00000080, 0x20000000, 0x01040000, - 0x20040080, 0x00040000, 0x01000080, 0x20040080, - 0x21000080, 0x21040000, 0x00040080, 0x20000000, - 0x01000000, 0x20040000, 0x20040000, 0x00000000, - 0x20000080, 0x21040080, 0x21040080, 0x01000080, - 0x21040000, 0x20000080, 0x00000000, 0x21000000, - 0x01040080, 0x01000000, 0x21000000, 0x00040080, - 0x00040000, 0x21000080, 0x00000080, 0x01000000, - 0x20000000, 0x01040000, 0x21000080, 0x20040080, - 0x01000080, 0x20000000, 0x21040000, 0x01040080, - 0x20040080, 0x00000080, 0x01000000, 0x21040000, - 0x21040080, 0x00040080, 0x21000000, 0x21040080, - 0x01040000, 0x00000000, 0x20040000, 0x21000000, - 0x00040080, 0x01000080, 0x20000080, 0x00040000, - 0x00000000, 0x20040000, 0x01040080, 0x20000080, - - 0x10000008, 0x10200000, 0x00002000, 0x10202008, - 0x10200000, 0x00000008, 0x10202008, 0x00200000, - 0x10002000, 0x00202008, 0x00200000, 0x10000008, - 0x00200008, 0x10002000, 0x10000000, 0x00002008, - 0x00000000, 0x00200008, 0x10002008, 0x00002000, - 0x00202000, 0x10002008, 0x00000008, 0x10200008, - 0x10200008, 0x00000000, 0x00202008, 0x10202000, - 0x00002008, 0x00202000, 0x10202000, 0x10000000, - 0x10002000, 0x00000008, 0x10200008, 0x00202000, - 0x10202008, 0x00200000, 0x00002008, 0x10000008, - 0x00200000, 0x10002000, 0x10000000, 0x00002008, - 0x10000008, 0x10202008, 0x00202000, 0x10200000, - 0x00202008, 0x10202000, 0x00000000, 0x10200008, - 0x00000008, 0x00002000, 0x10200000, 0x00202008, - 0x00002000, 0x00200008, 0x10002008, 0x00000000, - 0x10202000, 0x10000000, 0x00200008, 0x10002008, - - 0x00100000, 0x02100001, 0x02000401, 0x00000000, - 0x00000400, 0x02000401, 0x00100401, 0x02100400, - 0x02100401, 0x00100000, 0x00000000, 0x02000001, - 0x00000001, 0x02000000, 0x02100001, 0x00000401, - 0x02000400, 0x00100401, 0x00100001, 0x02000400, - 0x02000001, 0x02100000, 0x02100400, 0x00100001, - 0x02100000, 0x00000400, 0x00000401, 0x02100401, - 0x00100400, 0x00000001, 0x02000000, 0x00100400, - 0x02000000, 0x00100400, 0x00100000, 0x02000401, - 0x02000401, 0x02100001, 0x02100001, 0x00000001, - 0x00100001, 0x02000000, 0x02000400, 0x00100000, - 0x02100400, 0x00000401, 0x00100401, 0x02100400, - 0x00000401, 0x02000001, 0x02100401, 0x02100000, - 0x00100400, 0x00000000, 0x00000001, 0x02100401, - 0x00000000, 0x00100401, 0x02100000, 0x00000400, - 0x02000001, 0x02000400, 0x00000400, 0x00100001, - - 0x08000820, 0x00000800, 0x00020000, 0x08020820, - 0x08000000, 0x08000820, 0x00000020, 0x08000000, - 0x00020020, 0x08020000, 0x08020820, 0x00020800, - 0x08020800, 0x00020820, 0x00000800, 0x00000020, - 0x08020000, 0x08000020, 0x08000800, 0x00000820, - 0x00020800, 0x00020020, 0x08020020, 0x08020800, - 0x00000820, 0x00000000, 0x00000000, 0x08020020, - 0x08000020, 0x08000800, 0x00020820, 0x00020000, - 0x00020820, 0x00020000, 0x08020800, 0x00000800, - 0x00000020, 0x08020020, 0x00000800, 0x00020820, - 0x08000800, 0x00000020, 0x08000020, 0x08020000, - 0x08020020, 0x08000000, 0x00020000, 0x08000820, - 0x00000000, 0x08020820, 0x00020020, 0x08000020, - 0x08020000, 0x08000800, 0x08000820, 0x00000000, - 0x08020820, 0x00020800, 0x00020800, 0x00000820, - 0x00000820, 0x00020020, 0x08000000, 0x08020800 -}; - - - -/* - * DESauth_des - perform an in place DES encryption on 64 bits - * - * Note that the `data' argument is always in big-end-first - * byte order, i.e. *(char *)data is the high order byte of - * the 8 byte data word. We modify the initial and final - * permutation computations for little-end-first machines to - * swap bytes into the natural host order at the beginning and - * back to big-end order at the end. This is unclean but avoids - * a byte swapping performance penalty on Vaxes (which are slow already). - */ -void -DESauth_des(data, subkeys) - u_long *data; - u_char *subkeys; -{ - register u_long left, right; - register u_long temp; - register u_char *kp; - register int i; - - /* - * Do the initial permutation. The first operation gets - * all the bits which are used to form the left half of the - * permutted result in one word, which is then used to - * index the appropriate table a byte at a time. - */ - temp = ((*data & 0x55555555) << 1) | (*(data+1) & 0x55555555); -#ifdef XNTP_LITTLE_ENDIAN - /* - * Modify the computation to use the opposite set of bytes. - */ - left = (IP[(temp >> 24) & 0xff] << 3) - | (IP[(temp >> 16) & 0xff] << 2) - | (IP[(temp >> 8) & 0xff] << 1) - | IP[temp & 0xff]; -#else - left = IP[(temp >> 24) & 0xff] - | (IP[(temp >> 16) & 0xff] << 1) - | (IP[(temp >> 8) & 0xff] << 2) - | (IP[temp & 0xff] << 3); -#endif - - /* - * Same thing again except for the right half. - */ - temp = (*data & 0xaaaaaaaa) | ((*(data+1) & 0xaaaaaaaa) >> 1); -#ifdef XNTP_LITTLE_ENDIAN - right = (IP[(temp >> 24) & 0xff] << 3) - | (IP[(temp >> 16) & 0xff] << 2) - | (IP[(temp >> 8) & 0xff] << 1) - | IP[temp & 0xff]; -#else - right = IP[(temp >> 24) & 0xff] - | (IP[(temp >> 16) & 0xff] << 1) - | (IP[(temp >> 8) & 0xff] << 2) - | (IP[temp & 0xff] << 3); -#endif - - /* - * Do the 16 rounds through the cipher function. We actually - * do two at a time, one on the left half and one on the right - * half. - */ - kp = subkeys; - for (i = 0; i < 8; i++) { - /* - * The E expansion is easy to compute algorithmically. - * Take a look at its form and compare it to - * everything involving temp below. Note that - * since SP[0-7] don't have any bits in common set - * it is okay to do the successive xor's. - */ - temp = (right >> 1) | ((right & 1) ? 0x80000000 : 0); - left ^= SP[0][((temp >> 26) & 0x3f) ^ *kp++]; - left ^= SP[1][((temp >> 22) & 0x3f) ^ *kp++]; - left ^= SP[2][((temp >> 18) & 0x3f) ^ *kp++]; - left ^= SP[3][((temp >> 14) & 0x3f) ^ *kp++]; - left ^= SP[4][((temp >> 10) & 0x3f) ^ *kp++]; - left ^= SP[5][((temp >> 6) & 0x3f) ^ *kp++]; - left ^= SP[6][((temp >> 2) & 0x3f) ^ *kp++]; - left ^= SP[7][(((right << 1) | ((right & 0x80000000)?1:0)) - & 0x3f) ^ *kp++]; - - /* - * Careful here. Right now `right' is actually the - * left side and `left' is the right side. Do the - * same thing again, except swap `left' and `right' - */ - temp = (left >> 1) | ((left & 1) ? 0x80000000 : 0); - right ^= SP[0][((temp >> 26) & 0x3f) ^ *kp++]; - right ^= SP[1][((temp >> 22) & 0x3f) ^ *kp++]; - right ^= SP[2][((temp >> 18) & 0x3f) ^ *kp++]; - right ^= SP[3][((temp >> 14) & 0x3f) ^ *kp++]; - right ^= SP[4][((temp >> 10) & 0x3f) ^ *kp++]; - right ^= SP[5][((temp >> 6) & 0x3f) ^ *kp++]; - right ^= SP[6][((temp >> 2) & 0x3f) ^ *kp++]; - right ^= SP[7][(((left << 1) | ((left & 0x80000000)?1:0)) - & 0x3f) ^ *kp++]; - - /* - * By the time we get here, all is straightened out - * again. `left' is left and `right' is right. - */ - } - - /* - * Now the final permutation. Note this is like the IP above - * except that the data is computed from - * - * ((left & 0x0f0f0f0f) << 4) | (right & 0x0f0f0f0f) for left result - * (left & 0xf0f0f0f0) | ((right & 0xf0f0f0f0) >> 4) for right result - * - * Just to confuse things more, we're supposed to swap the right - * and the left halves before doing this. Instead, we'll just - * switch which goes where when computing the temporary. - * - * This operation also byte swaps stuff back into big end byte - * order. This is accomplished by modifying the FP table for - * little end machines, however, so we don't have to worry about - * it here. - */ - temp = ((right & 0x0f0f0f0f) << 4) | (left & 0x0f0f0f0f); - *data = (FP[(temp >> 24) & 0xff] << 6) - | (FP[(temp >> 16) & 0xff] << 4) - | (FP[(temp >> 8) & 0xff] << 2) - | FP[temp & 0xff]; - - temp = (right & 0xf0f0f0f0) | ((left & 0xf0f0f0f0) >> 4); - *(data+1) = (FP[(temp >> 24) & 0xff] << 6) - | (FP[(temp >> 16) & 0xff] << 4) - | (FP[(temp >> 8) & 0xff] << 2) - | FP[temp & 0xff]; -}; diff --git a/share/dict/README b/share/dict/README index 13f6de09a0b56..d63c0972c309a 100644 --- a/share/dict/README +++ b/share/dict/README @@ -1,5 +1,5 @@ # @(#)README 8.1 (Berkeley) 6/5/93 -# $Id$ +# $Id: README,v 1.2 1996/08/25 21:05:39 wosch Exp $ WEB ---- (introduction provided by jaw@riacs) ------------------------- diff --git a/share/doc/FAQ/FAQ.sgml b/share/doc/FAQ/FAQ.sgml index 2212568c202ad..54a12cf865eea 100644 --- a/share/doc/FAQ/FAQ.sgml +++ b/share/doc/FAQ/FAQ.sgml @@ -1,5 +1,5 @@ <!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN"> -<!-- $Id: FAQ.sgml,v 1.37 1997/03/13 01:00:32 joerg Exp $ --> +<!-- $Id: FAQ.sgml,v 1.13.2.7 1997/03/15 23:29:02 jkh Exp $ --> <article> @@ -7,7 +7,7 @@ <author>Maintainer: Peter da Silva <tt><htmlurl url='mailto:pds@FreeBSD.ORG' name='<pds@FreeBSD.ORG>'></tt> -<date>$Date: 1997/03/13 01:00:32 $ +<date>$Date: 1997/03/15 23:29:02 $ <abstract> This is the FAQ for FreeBSD systems version 2.X All entries are assumed to be relevant to FreeBSD 2.0.5+, unless otherwise noted. diff --git a/share/doc/FAQ/Makefile b/share/doc/FAQ/Makefile index 11534c744d092..80fea597a005c 100644 --- a/share/doc/FAQ/Makefile +++ b/share/doc/FAQ/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1997/02/22 12:58:03 peter Exp $ +# $Id: Makefile,v 1.2.2.1 1997/03/15 23:29:04 jkh Exp $ DOC= FAQ SRCS= FAQ.sgml diff --git a/share/doc/Makefile b/share/doc/Makefile index 3a631ea60f033..094841c72f970 100644 --- a/share/doc/Makefile +++ b/share/doc/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id: Makefile,v 1.10 1996/12/18 07:14:30 asami Exp $ +# $Id: Makefile,v 1.9.2.2 1996/12/23 02:00:49 jkh Exp $ SUBDIR= FAQ handbook psd smm usd papers diff --git a/share/doc/handbook/Makefile b/share/doc/handbook/Makefile index a32bfc17fc480..d22347977e24c 100644 --- a/share/doc/handbook/Makefile +++ b/share/doc/handbook/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.23 1997/02/22 12:58:05 peter Exp $ +# $Id: Makefile,v 1.17.2.5 1997/03/15 23:29:06 jkh Exp $ SRCS= authors.sgml basics.sgml bibliography.sgml boothelp.sgml SRCS+= booting.sgml contrib.sgml crypt.sgml ctm.sgml current.sgml cvsup.sgml diff --git a/share/doc/handbook/authors.sgml b/share/doc/handbook/authors.sgml index e3ddcf7c7e4dc..fc903225d8e3b 100644 --- a/share/doc/handbook/authors.sgml +++ b/share/doc/handbook/authors.sgml @@ -1,4 +1,4 @@ -<!-- $Id: authors.sgml,v 1.61 1997/02/27 10:16:38 brian Exp $ --> +<!-- $Id: authors.sgml,v 1.37.2.4 1997/03/15 23:29:07 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/basics.sgml b/share/doc/handbook/basics.sgml index dbae157071c23..062c77b818424 100644 --- a/share/doc/handbook/basics.sgml +++ b/share/doc/handbook/basics.sgml @@ -1,4 +1,4 @@ -<!-- $Id: basics.sgml,v 1.9 1997/02/22 12:58:08 peter Exp $ --> +<!-- $Id: basics.sgml,v 1.7.2.1 1997/03/15 23:29:09 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt><heading>Unix Basics<label id="basics"></heading> diff --git a/share/doc/handbook/bibliography.sgml b/share/doc/handbook/bibliography.sgml index f27e5f027d7ad..79d02a81bc098 100644 --- a/share/doc/handbook/bibliography.sgml +++ b/share/doc/handbook/bibliography.sgml @@ -1,4 +1,4 @@ -<!-- $Id: bibliography.sgml,v 1.17 1997/02/22 12:58:08 peter Exp $ --> +<!-- $Id: bibliography.sgml,v 1.14.2.1 1997/03/15 23:29:09 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt> diff --git a/share/doc/handbook/boothelp.sgml b/share/doc/handbook/boothelp.sgml index 54b4ce43c3321..dfc0cc0e85410 100644 --- a/share/doc/handbook/boothelp.sgml +++ b/share/doc/handbook/boothelp.sgml @@ -1,4 +1,4 @@ -<!-- $Id: boothelp.sgml,v 1.4 1997/02/22 12:58:09 peter Exp $ --> +<!-- $Id: boothelp.sgml,v 1.2.2.1 1997/03/15 23:29:10 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [ diff --git a/share/doc/handbook/booting.sgml b/share/doc/handbook/booting.sgml index e03a4e12cbc23..7f12b375e10d2 100644 --- a/share/doc/handbook/booting.sgml +++ b/share/doc/handbook/booting.sgml @@ -3,7 +3,7 @@ This conversion has been made by Ollivier Robert. - $Id: booting.sgml,v 1.13 1997/02/22 12:58:10 peter Exp $ + $Id: booting.sgml,v 1.11.2.1 1997/03/15 23:29:11 jkh Exp $ <!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN"> diff --git a/share/doc/handbook/contrib.sgml b/share/doc/handbook/contrib.sgml index 2cae0446dee1f..a7faa51fee576 100644 --- a/share/doc/handbook/contrib.sgml +++ b/share/doc/handbook/contrib.sgml @@ -1,4 +1,4 @@ -<!-- $Id: contrib.sgml,v 1.225 1997/03/06 08:48:05 asami Exp $ --> +<!-- $Id: contrib.sgml,v 1.145.2.8 1997/03/15 23:29:11 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- Please try to keep the file 'avail' (from CVSROOT) diff --git a/share/doc/handbook/crypt.sgml b/share/doc/handbook/crypt.sgml index 85cf94988adc1..6611c9a78e293 100644 --- a/share/doc/handbook/crypt.sgml +++ b/share/doc/handbook/crypt.sgml @@ -1,4 +1,4 @@ -<!-- $Id: crypt.sgml,v 1.3 1997/02/22 12:58:13 peter Exp $ --> +<!-- $Id: crypt.sgml,v 1.1.4.1 1997/03/15 23:29:12 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>DES, MD5, and Crypt<label id="crypt"></heading> diff --git a/share/doc/handbook/ctm.sgml b/share/doc/handbook/ctm.sgml index 925ef1d0dd5b1..d562ad5aedda0 100644 --- a/share/doc/handbook/ctm.sgml +++ b/share/doc/handbook/ctm.sgml @@ -3,7 +3,7 @@ # # Converted by Ollivier Robert <roberto@FreeBSD.ORG> # -# $Id: ctm.sgml,v 1.15 1997/02/22 12:58:15 peter Exp $ +# $Id: ctm.sgml,v 1.12.2.1 1997/03/15 23:29:13 jkh Exp $ # # ---------------------------------------------------------------------------- # "THE BEER-WARE LICENSE" (Revision 42): diff --git a/share/doc/handbook/current.sgml b/share/doc/handbook/current.sgml index d05ae2886f5ce..bc5a359044019 100644 --- a/share/doc/handbook/current.sgml +++ b/share/doc/handbook/current.sgml @@ -1,4 +1,4 @@ -<!-- $Id: current.sgml,v 1.19 1997/02/22 12:58:16 peter Exp $ --> +<!-- $Id: current.sgml,v 1.16.2.1 1997/03/15 23:29:13 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> @@ -10,7 +10,7 @@ THE FREEBSD CURRENT POLICY -Last updated: $Date: 1997/02/22 12:58:16 $ +Last updated: $Date: 1997/03/15 23:29:13 $ This document attempts to explain the rationale behind FreeBSD-current, what you should expect should you decide to run it, diff --git a/share/doc/handbook/cvsup.sgml b/share/doc/handbook/cvsup.sgml index 97a3333e25297..0c9acad87e15e 100644 --- a/share/doc/handbook/cvsup.sgml +++ b/share/doc/handbook/cvsup.sgml @@ -1,4 +1,4 @@ -<!-- $Id: cvsup.sgml,v 1.11 1997/03/06 05:55:08 asami Exp $ --> +<!-- $Id: cvsup.sgml,v 1.2.2.1 1997/03/15 23:29:14 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>CVSup<label id="cvsup"></heading> diff --git a/share/doc/handbook/cyclades.sgml b/share/doc/handbook/cyclades.sgml index 7f0d6640f4b11..1c8f175daf2c1 100644 --- a/share/doc/handbook/cyclades.sgml +++ b/share/doc/handbook/cyclades.sgml @@ -1,4 +1,4 @@ -<!-- $Id: cyclades.sgml,v 1.3 1997/02/22 12:58:18 peter Exp $ --> +<!-- $Id: cyclades.sgml,v 1.1.4.1 1997/03/15 23:29:16 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/development.sgml b/share/doc/handbook/development.sgml index b05833fe4f04b..9a771fe7e70dd 100644 --- a/share/doc/handbook/development.sgml +++ b/share/doc/handbook/development.sgml @@ -1,4 +1,4 @@ -<!-- $Id: development.sgml,v 1.11 1997/02/22 12:58:19 peter Exp $ --> +<!-- $Id: development.sgml,v 1.6.2.4 1997/03/15 23:29:17 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>The FreeBSD development model<label id="development"></heading> diff --git a/share/doc/handbook/dialout.sgml b/share/doc/handbook/dialout.sgml index e0492622bfd3e..f7e529f24976d 100644 --- a/share/doc/handbook/dialout.sgml +++ b/share/doc/handbook/dialout.sgml @@ -1,6 +1,6 @@ <!-- This is an SGML document in the linuxdoc DTD of the Tutorial for Configuring a FreeBSD for Dialout Services. - $Id: dialout.sgml,v 1.5 1997/02/22 12:58:20 peter Exp $ + $Id: dialout.sgml,v 1.2.2.1 1997/03/15 23:29:18 jkh Exp $ The FreeBSD Documentation Project diff --git a/share/doc/handbook/dialup.sgml b/share/doc/handbook/dialup.sgml index 0958582730412..333339e25f0d6 100644 --- a/share/doc/handbook/dialup.sgml +++ b/share/doc/handbook/dialup.sgml @@ -1,6 +1,6 @@ <!-- This is an SGML document in the linuxdoc DTD of the Tutorial for Configuring a FreeBSD for Dialup Services by Guy Helmer. - $Id: dialup.sgml,v 1.17 1997/02/22 12:58:22 peter Exp $ + $Id: dialup.sgml,v 1.13.2.3 1997/03/15 23:29:20 jkh Exp $ <!DOCTYPE linuxdoc PUBLIC "-//Linux//DTD linuxdoc//EN"> diff --git a/share/doc/handbook/diskless.sgml b/share/doc/handbook/diskless.sgml index 6bbc15db85af5..8b450a0749c0e 100644 --- a/share/doc/handbook/diskless.sgml +++ b/share/doc/handbook/diskless.sgml @@ -1,4 +1,4 @@ -<!-- $Id: diskless.sgml,v 1.9 1997/02/22 12:58:23 peter Exp $ --> +<!-- $Id: diskless.sgml,v 1.7.2.1 1997/03/15 23:29:22 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>Diskless operation<label id="diskless"></heading> diff --git a/share/doc/handbook/dma.sgml b/share/doc/handbook/dma.sgml index aa445ab07a008..eb61ec92a1690 100644 --- a/share/doc/handbook/dma.sgml +++ b/share/doc/handbook/dma.sgml @@ -1,4 +1,4 @@ -<!-- $Id: dma.sgml,v 1.7 1997/02/22 12:58:24 peter Exp $ --> +<!-- $Id: dma.sgml,v 1.4.2.1 1997/03/15 23:29:24 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/eresources.sgml b/share/doc/handbook/eresources.sgml index 9251256628a67..a81dd8e833012 100644 --- a/share/doc/handbook/eresources.sgml +++ b/share/doc/handbook/eresources.sgml @@ -1,4 +1,4 @@ -<!-- $Id: eresources.sgml,v 1.34 1997/02/22 12:58:27 peter Exp $ --> +<!-- $Id: eresources.sgml,v 1.28.2.2 1997/03/15 23:29:26 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt> diff --git a/share/doc/handbook/esdi.sgml b/share/doc/handbook/esdi.sgml index 75d9cdb05bed2..d24f11809ffcb 100644 --- a/share/doc/handbook/esdi.sgml +++ b/share/doc/handbook/esdi.sgml @@ -1,4 +1,4 @@ -<!-- $Id: esdi.sgml,v 1.10 1997/02/22 12:58:28 peter Exp $ --> +<!-- $Id: esdi.sgml,v 1.8.2.1 1997/03/15 23:29:28 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/firewalls.sgml b/share/doc/handbook/firewalls.sgml index 4b8c3fd4760f1..615e96d7e0977 100644 --- a/share/doc/handbook/firewalls.sgml +++ b/share/doc/handbook/firewalls.sgml @@ -1,4 +1,4 @@ -<!-- $Id: firewalls.sgml,v 1.17 1997/02/22 12:58:30 peter Exp $ --> +<!-- $Id: firewalls.sgml,v 1.14.2.1 1997/03/15 23:29:30 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>Firewalls<label id="firewalls"></heading> diff --git a/share/doc/handbook/glossary.sgml b/share/doc/handbook/glossary.sgml index fc69c81dfb34a..13d53eeefcc82 100644 --- a/share/doc/handbook/glossary.sgml +++ b/share/doc/handbook/glossary.sgml @@ -1,4 +1,4 @@ -<!-- $Id: glossary.sgml,v 1.5 1997/02/22 12:58:31 peter Exp $ --> +<!-- $Id: glossary.sgml,v 1.3.2.1 1997/03/15 23:29:32 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt><heading>* Glossary<label id="glossary"></heading> diff --git a/share/doc/handbook/goals.sgml b/share/doc/handbook/goals.sgml index ba6c55d710d1e..e46df7986bf32 100644 --- a/share/doc/handbook/goals.sgml +++ b/share/doc/handbook/goals.sgml @@ -1,4 +1,4 @@ -<!-- $Id: goals.sgml,v 1.4 1997/02/22 12:58:32 peter Exp $ --> +<!-- $Id: goals.sgml,v 1.2.2.1 1997/03/15 23:29:33 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>FreeBSD Project goals<label id="goals"></heading> diff --git a/share/doc/handbook/handbook.sgml b/share/doc/handbook/handbook.sgml index 7fdb2e3cbf4cb..b6413c1e2e218 100644 --- a/share/doc/handbook/handbook.sgml +++ b/share/doc/handbook/handbook.sgml @@ -1,4 +1,4 @@ -<!-- $Id: handbook.sgml,v 1.58.2.5 1997/03/15 23:29:34 jkh Exp $ --> +<!-- $Id: handbook.sgml,v 1.58.2.6 1997/03/17 04:04:54 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [ diff --git a/share/doc/handbook/history.sgml b/share/doc/handbook/history.sgml index c22799c97ec64..56c8e0447b176 100644 --- a/share/doc/handbook/history.sgml +++ b/share/doc/handbook/history.sgml @@ -1,4 +1,4 @@ -<!-- $Id: history.sgml,v 1.21 1997/02/22 12:58:35 peter Exp $ --> +<!-- $Id: history.sgml,v 1.16.2.2 1997/03/15 23:29:37 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>A brief history of FreeBSD<label id="history"></heading> diff --git a/share/doc/handbook/hw.sgml b/share/doc/handbook/hw.sgml index 7ff18c6c2ac7b..5b05538be56c6 100644 --- a/share/doc/handbook/hw.sgml +++ b/share/doc/handbook/hw.sgml @@ -1,4 +1,4 @@ -<!-- $Id: hw.sgml,v 1.64 1997/02/28 14:20:57 jkh Exp $ --> +<!-- $Id: hw.sgml,v 1.47.2.5 1997/03/15 23:29:40 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/install.sgml b/share/doc/handbook/install.sgml index 259e784284c61..cbcb642fdea8d 100644 --- a/share/doc/handbook/install.sgml +++ b/share/doc/handbook/install.sgml @@ -1,4 +1,4 @@ -<!-- $Id: install.sgml,v 1.53 1997/03/07 15:31:17 jkh Exp $ --> +<!-- $Id: install.sgml,v 1.38.2.4 1997/03/15 23:29:42 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/isdn.sgml b/share/doc/handbook/isdn.sgml index d6d89891a12a7..78380b625af4b 100644 --- a/share/doc/handbook/isdn.sgml +++ b/share/doc/handbook/isdn.sgml @@ -1,4 +1,4 @@ -<!-- $Id: isdn.sgml,v 1.11 1997/02/22 12:58:40 peter Exp $--> +<!-- $Id: isdn.sgml,v 1.6.2.2 1997/03/15 23:29:45 jkh Exp $--> <!-- The FreeBSD Documentation Project --> <sect><heading>ISDN<label id="isdn"></heading> diff --git a/share/doc/handbook/kerberos.sgml b/share/doc/handbook/kerberos.sgml index 60d210b8c0ff3..94c6d3697b5d7 100644 --- a/share/doc/handbook/kerberos.sgml +++ b/share/doc/handbook/kerberos.sgml @@ -1,4 +1,4 @@ -<!-- $Id: kerberos.sgml,v 1.10 1997/02/22 12:58:41 peter Exp $ --> +<!-- $Id: kerberos.sgml,v 1.8.2.1 1997/03/15 23:29:47 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>Kerberos<label id="kerberos"></heading> diff --git a/share/doc/handbook/kernelconfig.sgml b/share/doc/handbook/kernelconfig.sgml index 32070c979f356..a4c663247b886 100644 --- a/share/doc/handbook/kernelconfig.sgml +++ b/share/doc/handbook/kernelconfig.sgml @@ -1,4 +1,4 @@ -<!-- $Id: kernelconfig.sgml,v 1.27 1997/02/22 12:58:42 peter Exp $ --> +<!-- $Id: kernelconfig.sgml,v 1.21.2.3 1997/03/15 23:29:49 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> --> <chapt><heading>Configuring the FreeBSD Kernel<label id="kernelconfig"></heading> diff --git a/share/doc/handbook/kerneldebug.sgml b/share/doc/handbook/kerneldebug.sgml index fd971078db175..d5cd630328222 100644 --- a/share/doc/handbook/kerneldebug.sgml +++ b/share/doc/handbook/kerneldebug.sgml @@ -1,4 +1,4 @@ -<!-- $Id: kerneldebug.sgml,v 1.12 1997/02/22 12:58:44 peter Exp $ --> +<!-- $Id: kerneldebug.sgml,v 1.10.2.1 1997/03/15 23:29:51 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt><heading>Kernel Debugging<label id="kerneldebug"></heading> diff --git a/share/doc/handbook/kernelopts.sgml b/share/doc/handbook/kernelopts.sgml index 8086cdee50744..296aa9f41c430 100644 --- a/share/doc/handbook/kernelopts.sgml +++ b/share/doc/handbook/kernelopts.sgml @@ -1,4 +1,4 @@ -<!-- $Id: kernelopts.sgml,v 1.7 1997/02/22 12:58:45 peter Exp $ --> +<!-- $Id: kernelopts.sgml,v 1.1.2.1 1997/03/15 23:29:52 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> --> diff --git a/share/doc/handbook/linuxemu.sgml b/share/doc/handbook/linuxemu.sgml index 385460776bd88..1bb830e0dac1d 100644 --- a/share/doc/handbook/linuxemu.sgml +++ b/share/doc/handbook/linuxemu.sgml @@ -1,4 +1,4 @@ -<!-- $Id: linuxemu.sgml,v 1.17 1997/02/22 12:58:46 peter Exp $ --> +<!-- $Id: linuxemu.sgml,v 1.13.2.1 1997/03/15 23:29:54 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt><heading>Linux Emulation<label id="linuxemu"></heading> diff --git a/share/doc/handbook/lists.sgml b/share/doc/handbook/lists.sgml index 13a2df928f309..228fa4f4c092d 100644 --- a/share/doc/handbook/lists.sgml +++ b/share/doc/handbook/lists.sgml @@ -1,4 +1,4 @@ -<!-- $Id: lists.sgml,v 1.8 1997/02/22 12:58:47 peter Exp $ --> +<!-- $Id: lists.sgml,v 1.6.2.1 1997/03/15 23:29:56 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/mail.sgml b/share/doc/handbook/mail.sgml index bc2d4cf89c933..4a86903f494ee 100644 --- a/share/doc/handbook/mail.sgml +++ b/share/doc/handbook/mail.sgml @@ -1,4 +1,4 @@ -<!-- $Id: mail.sgml,v 1.9 1997/02/22 12:58:49 peter Exp $ +<!-- $Id: mail.sgml,v 1.2.2.2 1997/03/15 23:29:57 jkh Exp $ The FreeBSD Documentation Project <!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN"> diff --git a/share/doc/handbook/memoryuse.sgml b/share/doc/handbook/memoryuse.sgml index 736bc801318e3..fa1611370390a 100644 --- a/share/doc/handbook/memoryuse.sgml +++ b/share/doc/handbook/memoryuse.sgml @@ -1,4 +1,4 @@ -<!-- $Id: memoryuse.sgml,v 1.9 1997/02/22 12:58:51 peter Exp $ --> +<!-- $Id: memoryuse.sgml,v 1.7.2.1 1997/03/15 23:29:59 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>PC memory utilization<label id="memoryuse"></heading> diff --git a/share/doc/handbook/mirrors.sgml b/share/doc/handbook/mirrors.sgml index 3970e5ca11dda..b003db2ff7924 100644 --- a/share/doc/handbook/mirrors.sgml +++ b/share/doc/handbook/mirrors.sgml @@ -1,4 +1,4 @@ -<!-- $Id: mirrors.sgml,v 1.53 1997/03/11 15:19:32 ache Exp $ --> +<!-- $Id: mirrors.sgml,v 1.41.2.2 1997/03/15 23:30:01 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/nfs.sgml b/share/doc/handbook/nfs.sgml index dade856030011..e147ddc1c66d2 100644 --- a/share/doc/handbook/nfs.sgml +++ b/share/doc/handbook/nfs.sgml @@ -1,4 +1,4 @@ -<!-- $Id: nfs.sgml,v 1.9 1997/02/22 12:58:54 peter Exp $ --> +<!-- $Id: nfs.sgml,v 1.6.2.2 1997/03/15 23:30:03 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>NFS<label id="nfs"></heading> diff --git a/share/doc/handbook/nutshell.sgml b/share/doc/handbook/nutshell.sgml index 76f1edcd1b62c..c1e394be4e8ba 100644 --- a/share/doc/handbook/nutshell.sgml +++ b/share/doc/handbook/nutshell.sgml @@ -1,4 +1,4 @@ -<!-- $Id: nutshell.sgml,v 1.12 1997/02/22 12:58:56 peter Exp $ --> +<!-- $Id: nutshell.sgml,v 1.10.2.1 1997/03/15 23:30:05 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>FreeBSD in a nutshell<label id="nutshell"></heading> diff --git a/share/doc/handbook/pgpkeys.sgml b/share/doc/handbook/pgpkeys.sgml index d8c536dcf94e8..314885fb8c987 100644 --- a/share/doc/handbook/pgpkeys.sgml +++ b/share/doc/handbook/pgpkeys.sgml @@ -1,4 +1,4 @@ -<!-- $Id: pgpkeys.sgml,v 1.18 1997/03/08 16:27:59 guido Exp $ --> +<!-- $Id: pgpkeys.sgml,v 1.9.2.2 1997/03/15 23:30:07 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt><heading>PGP keys<label id="pgpkeys"></heading> diff --git a/share/doc/handbook/policies.sgml b/share/doc/handbook/policies.sgml index 641f6231a0fae..0ffdc069ef31d 100644 --- a/share/doc/handbook/policies.sgml +++ b/share/doc/handbook/policies.sgml @@ -1,4 +1,4 @@ -<!-- $Id: policies.sgml,v 1.11 1997/02/22 12:59:00 peter Exp $ --> +<!-- $Id: policies.sgml,v 1.4.2.3 1997/03/15 23:30:09 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt><heading>Source Tree Guidelines and Policies diff --git a/share/doc/handbook/porting.sgml b/share/doc/handbook/porting.sgml index 0776066d2767c..fba9f05424850 100644 --- a/share/doc/handbook/porting.sgml +++ b/share/doc/handbook/porting.sgml @@ -1,4 +1,4 @@ -<!-- $Id: porting.sgml,v 1.69 1997/03/10 11:55:17 asami Exp $ --> +<!-- $Id: porting.sgml,v 1.32.2.8 1997/03/15 23:30:11 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect1><heading>Porting an existing piece of free software<label id="porting"></heading> diff --git a/share/doc/handbook/ports.sgml b/share/doc/handbook/ports.sgml index 4475430139b7b..f15ce1d8c5704 100644 --- a/share/doc/handbook/ports.sgml +++ b/share/doc/handbook/ports.sgml @@ -1,4 +1,4 @@ -<!-- $Id: ports.sgml,v 1.24 1997/03/08 11:44:08 jkh Exp $ --> +<!-- $Id: ports.sgml,v 1.16.2.3 1997/03/15 23:30:14 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>The Ports collection<label id="ports"></heading> diff --git a/share/doc/handbook/ppp.sgml b/share/doc/handbook/ppp.sgml index 0c45490e85c3b..5e34b526ec76c 100644 --- a/share/doc/handbook/ppp.sgml +++ b/share/doc/handbook/ppp.sgml @@ -1,4 +1,4 @@ -<!-- $Id: ppp.sgml,v 1.10 1997/02/22 12:59:08 peter Exp $ --> +<!-- $Id: ppp.sgml,v 1.8.2.1 1997/03/15 23:30:16 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>Setting up kernel PPP<label id="ppp"></heading> diff --git a/share/doc/handbook/printing.sgml b/share/doc/handbook/printing.sgml index 9702a375a87cd..e977d9be00fd5 100644 --- a/share/doc/handbook/printing.sgml +++ b/share/doc/handbook/printing.sgml @@ -1,7 +1,7 @@ <!-- This is an SGML document in the linuxdoc DTD describing Printing with FreeBSD. By Sean Kelly, 1995. - $Id: printing.sgml,v 1.18 1997/02/22 12:59:10 peter Exp $ + $Id: printing.sgml,v 1.11.2.3 1997/03/15 23:30:18 jkh Exp $ The FreeBSD Documentation Project diff --git a/share/doc/handbook/quotas.sgml b/share/doc/handbook/quotas.sgml index 84256513d6e30..b2168a28d7f68 100644 --- a/share/doc/handbook/quotas.sgml +++ b/share/doc/handbook/quotas.sgml @@ -1,7 +1,7 @@ <!-- This is an SGML document in the linuxdoc DTD describing disk quotas under FreeBSD. By Mike Pritchard, 1996. - $Id: quotas.sgml,v 1.6 1997/02/24 23:20:49 mpp Exp $ + $Id: quotas.sgml,v 1.3.4.1 1997/03/15 23:30:21 jkh Exp $ The FreeBSD Documentation Project diff --git a/share/doc/handbook/relnotes.sgml b/share/doc/handbook/relnotes.sgml index 7ef226119003d..f4c95119c582b 100644 --- a/share/doc/handbook/relnotes.sgml +++ b/share/doc/handbook/relnotes.sgml @@ -1,4 +1,4 @@ -<!-- $Id: relnotes.sgml,v 1.21 1997/02/22 12:59:15 peter Exp $ --> +<!-- $Id: relnotes.sgml,v 1.15.2.4 1997/03/15 23:30:23 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/routing.sgml b/share/doc/handbook/routing.sgml index 21359807817eb..81820a69b6ac1 100644 --- a/share/doc/handbook/routing.sgml +++ b/share/doc/handbook/routing.sgml @@ -1,4 +1,4 @@ -<!-- $Id: routing.sgml,v 1.5 1997/02/22 12:59:17 peter Exp $ --> +<!-- $Id: routing.sgml,v 1.3.2.1 1997/03/15 23:30:24 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> --> diff --git a/share/doc/handbook/scsi.sgml b/share/doc/handbook/scsi.sgml index 9dc8760871e83..93c8488bc578b 100644 --- a/share/doc/handbook/scsi.sgml +++ b/share/doc/handbook/scsi.sgml @@ -1,4 +1,4 @@ -<!-- $Id: scsi.sgml,v 1.22 1997/02/22 12:59:18 peter Exp $ --> +<!-- $Id: scsi.sgml,v 1.19.2.1 1997/03/15 23:30:25 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/sections.sgml b/share/doc/handbook/sections.sgml index 03b2957419b53..9d4577cc93930 100644 --- a/share/doc/handbook/sections.sgml +++ b/share/doc/handbook/sections.sgml @@ -1,4 +1,4 @@ -<!-- $Id: sections.sgml,v 1.22 1997/02/22 12:59:19 peter Exp $ --> +<!-- $Id: sections.sgml,v 1.17.2.4 1997/03/15 23:30:27 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- Entities containing all the pieces of the handbook are --> diff --git a/share/doc/handbook/serial.sgml b/share/doc/handbook/serial.sgml index bff0ae1d208c9..dc9d02c868247 100644 --- a/share/doc/handbook/serial.sgml +++ b/share/doc/handbook/serial.sgml @@ -1,6 +1,6 @@ <!-- This is an SGML document in the linuxdoc DTD of the Tutorial for Configuring a FreeBSD for Dialup Services by Guy Helmer. - $Id: serial.sgml,v 1.3 1997/02/22 12:59:20 peter Exp $ + $Id: serial.sgml,v 1.1.2.1 1997/03/15 23:30:28 jkh Exp $ The FreeBSD Documentation Project diff --git a/share/doc/handbook/sio.sgml b/share/doc/handbook/sio.sgml index f63dd8bc20d1e..62f8f60cfb0fe 100644 --- a/share/doc/handbook/sio.sgml +++ b/share/doc/handbook/sio.sgml @@ -1,4 +1,4 @@ -<!-- $Id: sio.sgml,v 1.5 1997/02/22 12:59:22 peter Exp $ --> +<!-- $Id: sio.sgml,v 1.3.2.1 1997/03/15 23:30:29 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/skey.sgml b/share/doc/handbook/skey.sgml index 3dac29b451a8c..0c03ae43ef563 100644 --- a/share/doc/handbook/skey.sgml +++ b/share/doc/handbook/skey.sgml @@ -1,4 +1,4 @@ -<!-- $Id: skey.sgml,v 1.7 1997/02/22 12:59:23 peter Exp $ --> +<!-- $Id: skey.sgml,v 1.5.2.1 1997/03/15 23:30:30 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- Copyright 1995 Massachusetts Institute of Technology diff --git a/share/doc/handbook/slipc.sgml b/share/doc/handbook/slipc.sgml index 1dc933f3992ca..3fd2756f657d8 100644 --- a/share/doc/handbook/slipc.sgml +++ b/share/doc/handbook/slipc.sgml @@ -1,4 +1,4 @@ -<!-- $Id: slipc.sgml,v 1.9 1997/02/22 12:59:25 peter Exp $ --> +<!-- $Id: slipc.sgml,v 1.7.2.1 1997/03/15 23:30:31 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>Setting up a SLIP client<label id="slipc"></heading> diff --git a/share/doc/handbook/slips.sgml b/share/doc/handbook/slips.sgml index b21afb7e5f568..92615e791b874 100644 --- a/share/doc/handbook/slips.sgml +++ b/share/doc/handbook/slips.sgml @@ -1,4 +1,4 @@ -<!-- $Id: slips.sgml,v 1.13 1997/02/22 12:59:26 peter Exp $ +<!-- $Id: slips.sgml,v 1.11.2.1 1997/03/15 23:30:33 jkh Exp $ This is an SGML version in the linuxdoc DTD of the SLIP Server FAQ by Guy Helmer. diff --git a/share/doc/handbook/stable.sgml b/share/doc/handbook/stable.sgml index 68e6bfa08b3c3..4425698b33266 100644 --- a/share/doc/handbook/stable.sgml +++ b/share/doc/handbook/stable.sgml @@ -1,4 +1,4 @@ -<!-- $Id: stable.sgml,v 1.9 1997/02/22 12:59:27 peter Exp $ --> +<!-- $Id: stable.sgml,v 1.6.2.1 1997/03/15 23:30:34 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> @@ -10,7 +10,7 @@ THE FREEBSD STABLE POLICY -Last updated: $Date: 1997/02/22 12:59:27 $ +Last updated: $Date: 1997/03/15 23:30:34 $ This document attempts to explain the rationale behind FreeBSD-stable, what you should expect should you decide to run it, diff --git a/share/doc/handbook/submitters.sgml b/share/doc/handbook/submitters.sgml index a4e5e0c3cb02b..549332116b3ad 100644 --- a/share/doc/handbook/submitters.sgml +++ b/share/doc/handbook/submitters.sgml @@ -1,4 +1,4 @@ -<!-- $Id: submitters.sgml,v 1.41 1997/02/22 12:59:28 peter Exp $ --> +<!-- $Id: submitters.sgml,v 1.33.2.2 1997/03/15 23:30:35 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt><heading>Contributing to FreeBSD<label id="submitters"></heading> diff --git a/share/doc/handbook/sup.sgml b/share/doc/handbook/sup.sgml index c1156db4a4cea..5920d97373c53 100644 --- a/share/doc/handbook/sup.sgml +++ b/share/doc/handbook/sup.sgml @@ -1,4 +1,4 @@ -<!-- $Id: sup.sgml,v 1.27 1997/03/11 06:42:03 jkh Exp $ --> +<!-- $Id: sup.sgml,v 1.19.2.3 1997/03/15 23:30:37 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> diff --git a/share/doc/handbook/synching.sgml b/share/doc/handbook/synching.sgml index 9f641c6450b19..1a42bf2e51881 100644 --- a/share/doc/handbook/synching.sgml +++ b/share/doc/handbook/synching.sgml @@ -1,4 +1,4 @@ -<!-- $Id: synching.sgml,v 1.9 1997/02/22 12:59:32 peter Exp $ --> +<!-- $Id: synching.sgml,v 1.3.2.2 1997/03/15 23:30:39 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt><heading>Synchronizing source trees over the Internet<label id="synching"></heading> @@ -7,7 +7,7 @@ <!-- -Last updated: $Date: 1997/02/22 12:59:32 $ +Last updated: $Date: 1997/03/15 23:30:39 $ This document tries to describe the various ways in which a user may use the internet to keep development sources in synch. diff --git a/share/doc/handbook/term.sgml b/share/doc/handbook/term.sgml index 51f234bcaceb9..70de2792a4ac2 100644 --- a/share/doc/handbook/term.sgml +++ b/share/doc/handbook/term.sgml @@ -1,7 +1,7 @@ <!-- This is an SGML document in the linuxdoc DTD describing hardwired terminals with FreeBSD. By Sean Kelly, (c) 1996. - $Id: term.sgml,v 1.7 1997/02/22 12:59:34 peter Exp $ + $Id: term.sgml,v 1.3.2.3 1997/03/15 23:30:40 jkh Exp $ The FreeBSD Documentation Project diff --git a/share/doc/handbook/troubleshooting.sgml b/share/doc/handbook/troubleshooting.sgml index 0bec77c00f420..699b633d9c8bd 100644 --- a/share/doc/handbook/troubleshooting.sgml +++ b/share/doc/handbook/troubleshooting.sgml @@ -1,4 +1,4 @@ -<!-- $Id: troubleshooting.sgml,v 1.6 1997/02/22 12:59:37 peter Exp $ --> +<!-- $Id: troubleshooting.sgml,v 1.4.2.1 1997/03/15 23:30:41 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt><heading>Troubleshooting<label id="troubleshooting"></heading> diff --git a/share/doc/handbook/uart.sgml b/share/doc/handbook/uart.sgml index c0e369b4da426..6e69ed898ab0e 100644 --- a/share/doc/handbook/uart.sgml +++ b/share/doc/handbook/uart.sgml @@ -1,4 +1,4 @@ -<!-- $Id: uart.sgml,v 1.5 1997/02/22 12:59:38 peter Exp $ --> +<!-- $Id: uart.sgml,v 1.3.2.1 1997/03/15 23:30:43 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- diff --git a/share/doc/handbook/userppp.sgml b/share/doc/handbook/userppp.sgml index 668bd044a414c..b8c90c72d9980 100644 --- a/share/doc/handbook/userppp.sgml +++ b/share/doc/handbook/userppp.sgml @@ -1,4 +1,4 @@ -<!-- $Id: userppp.sgml,v 1.13 1997/03/14 04:17:44 brian Exp $ --> +<!-- $Id: userppp.sgml,v 1.10.2.1 1997/03/15 23:30:44 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect>Setting up user PPP<label id="userppp"> diff --git a/share/doc/iso/ucb/addr.nr b/share/doc/iso/ucb/addr.nr index b4df7853c9fdd..fc07c4496f02d 100644 --- a/share/doc/iso/ucb/addr.nr +++ b/share/doc/iso/ucb/addr.nr @@ -1,4 +1,4 @@ -.\" $Id: addr.nr,v 1.4 1997/02/22 13:00:08 peter Exp $ +.\" $Id: addr.nr,v 1.2.2.1 1997/03/15 23:31:12 jkh Exp $ .\" .NC "NSAP Addresses & Routing" .sh 1 "OSI Address Formats" diff --git a/share/doc/iso/ucb/program.nr b/share/doc/iso/ucb/program.nr index a43166176bc6e..a4dc5edbb5c29 100644 --- a/share/doc/iso/ucb/program.nr +++ b/share/doc/iso/ucb/program.nr @@ -1,5 +1,5 @@ -.\"$Header: program.nr,v 1.1 88/12/05 18:10:57 nhall Exp $ -.\"$Source: /usr/argo/doc/kernel/RCS/program.nr,v $ +.\"$Header: /home/ncvs/src/share/doc/iso/ucb/program.nr,v 1.1.1.1 1994/05/30 19:08:12 rgrimes Exp $ +.\"$Source: /home/ncvs/src/share/doc/iso/ucb/program.nr,v $ .\" .\" .\" FONT CONVENTIONS diff --git a/share/doc/iso/wisc/addr.nr b/share/doc/iso/wisc/addr.nr index 5991e8adfc30e..45b202743969c 100644 --- a/share/doc/iso/wisc/addr.nr +++ b/share/doc/iso/wisc/addr.nr @@ -1,4 +1,4 @@ -.\" $Id: addr.nr,v 1.4 1997/02/22 13:00:10 peter Exp $ +.\" $Id: addr.nr,v 1.2.2.1 1997/03/15 23:31:15 jkh Exp $ .\" .NC "NSAP Addresses & Routing" .sh 1 "OSI Address Formats" diff --git a/share/doc/iso/wisc/appendix_a.nr b/share/doc/iso/wisc/appendix_a.nr index 25228542e66da..d61df31eb8d6b 100644 --- a/share/doc/iso/wisc/appendix_a.nr +++ b/share/doc/iso/wisc/appendix_a.nr @@ -1,4 +1,4 @@ -.\" $Header: appendix_a.nr,v 1.3 88/12/07 10:42:12 nhall Exp $ +.\" $Header: /home/ncvs/src/share/doc/iso/wisc/appendix_a.nr,v 1.1.1.1 1994/05/30 19:08:06 rgrimes Exp $ .(x Appendix A .)x diff --git a/share/doc/iso/wisc/appendix_b.nr b/share/doc/iso/wisc/appendix_b.nr index 01ade558e652d..875c4e823ec01 100644 --- a/share/doc/iso/wisc/appendix_b.nr +++ b/share/doc/iso/wisc/appendix_b.nr @@ -1,4 +1,4 @@ -.\" $Header: appendix_b.nr,v 1.1 88/12/05 18:08:02 nhall Exp $ +.\" $Header: /home/ncvs/src/share/doc/iso/wisc/appendix_b.nr,v 1.1.1.1 1994/05/30 19:08:06 rgrimes Exp $ .(x Appendix B .)x diff --git a/share/doc/iso/wisc/debug.nr b/share/doc/iso/wisc/debug.nr index 352eeee05e7f7..c59e703f5003e 100644 --- a/share/doc/iso/wisc/debug.nr +++ b/share/doc/iso/wisc/debug.nr @@ -1,5 +1,5 @@ -.\"$Header: debug.nr,v 1.4 88/12/06 16:05:36 nhall Exp $ -.\"$Source: /usr/argo/doc/kernel/RCS/debug.nr,v $ +.\"$Header: /home/ncvs/src/share/doc/iso/wisc/debug.nr,v 1.1.1.1 1994/05/30 19:08:05 rgrimes Exp $ +.\"$Source: /home/ncvs/src/share/doc/iso/wisc/debug.nr,v $ .\" .\" Program names should be in italics .\" diff --git a/share/doc/iso/wisc/eicon.nr b/share/doc/iso/wisc/eicon.nr index 3cf8c226f2f6c..ab98d6804d4bc 100644 --- a/share/doc/iso/wisc/eicon.nr +++ b/share/doc/iso/wisc/eicon.nr @@ -1,4 +1,4 @@ -.\" $Id: eicon.nr,v 1.4 1997/02/22 13:00:12 peter Exp $ +.\" $Id: eicon.nr,v 1.2.2.1 1997/03/15 23:31:17 jkh Exp $ .\" .sh 2 "X.25 Public Data Network Support" .pp diff --git a/share/doc/iso/wisc/errors.nr b/share/doc/iso/wisc/errors.nr index 51b5eb5ff4bea..56d1a8fcb0892 100644 --- a/share/doc/iso/wisc/errors.nr +++ b/share/doc/iso/wisc/errors.nr @@ -1,5 +1,5 @@ -.\"$Header: errors.nr,v 1.2 88/12/06 16:06:07 nhall Exp $ -.\"$Source: /usr/argo/doc/kernel/RCS/errors.nr,v $ +.\"$Header: /home/ncvs/src/share/doc/iso/wisc/errors.nr,v 1.1.1.1 1994/05/30 19:08:05 rgrimes Exp $ +.\"$Source: /home/ncvs/src/share/doc/iso/wisc/errors.nr,v $ .NC "Error Handling" This section describes the various ways that the ARGO kernel handles errors. diff --git a/share/doc/iso/wisc/figs/Makefile b/share/doc/iso/wisc/figs/Makefile index f5df427d0ac32..af96cd3858990 100644 --- a/share/doc/iso/wisc/figs/Makefile +++ b/share/doc/iso/wisc/figs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1997/02/22 13:00:18 peter Exp $ +# $Id: Makefile,v 1.2.2.1 1997/03/15 23:31:24 jkh Exp $ # .SUFFIXES: .nr .grn diff --git a/share/doc/iso/wisc/parts.nr b/share/doc/iso/wisc/parts.nr index 1cd70b12003eb..19b8170cb6900 100644 --- a/share/doc/iso/wisc/parts.nr +++ b/share/doc/iso/wisc/parts.nr @@ -1,5 +1,5 @@ -.\"$Header: parts.nr,v 1.1 88/12/05 18:10:50 nhall Exp $ -.\"$Source: /usr/argo/doc/kernel/RCS/parts.nr,v $ +.\"$Header: /home/ncvs/src/share/doc/iso/wisc/parts.nr,v 1.1.1.1 1994/05/30 19:08:06 rgrimes Exp $ +.\"$Source: /home/ncvs/src/share/doc/iso/wisc/parts.nr,v $ .\" .\" .\" LOOK FOR ALL CASES OF 'writing' (as in, "at this writing") diff --git a/share/doc/iso/wisc/program.nr b/share/doc/iso/wisc/program.nr index dfb33055260a3..53dc594700b63 100644 --- a/share/doc/iso/wisc/program.nr +++ b/share/doc/iso/wisc/program.nr @@ -1,5 +1,5 @@ -.\"$Header: program.nr,v 1.1 88/12/05 18:10:57 nhall Exp $ -.\"$Source: /usr/argo/doc/kernel/RCS/program.nr,v $ +.\"$Header: /home/ncvs/src/share/doc/iso/wisc/program.nr,v 1.1.1.1 1994/05/30 19:08:06 rgrimes Exp $ +.\"$Source: /home/ncvs/src/share/doc/iso/wisc/program.nr,v $ .\" .\" .\" FONT CONVENTIONS diff --git a/share/doc/iso/wisc/trans_design.nr b/share/doc/iso/wisc/trans_design.nr index 8525e68cf65ce..0554bff723d0d 100644 --- a/share/doc/iso/wisc/trans_design.nr +++ b/share/doc/iso/wisc/trans_design.nr @@ -1,4 +1,4 @@ -.\" $Id: trans_design.nr,v 1.4 1997/02/22 13:00:14 peter Exp $ +.\" $Id: trans_design.nr,v 1.2.2.1 1997/03/15 23:31:19 jkh Exp $ .\" .NC "The Design of the ARGO Transport Entity" .sh 1 "Protocol Hooks" diff --git a/share/doc/iso/wiscman/cons.4 b/share/doc/iso/wiscman/cons.4 index 73bd3fc60b9c7..6c8ff5921ab5b 100644 --- a/share/doc/iso/wiscman/cons.4 +++ b/share/doc/iso/wiscman/cons.4 @@ -3,9 +3,9 @@ .\" LICENSED MATERIALS - PROPERTY OF IBM .\" REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 .\" -.\"$Header:cons.4_ca 11.3$ +.\"$Header: /home/ncvs/src/share/doc/iso/wiscman/cons.4,v 1.1.1.1 1994/05/30 19:08:11 rgrimes Exp $ .\"$ACIS:cons.4_ca 11.3$ -.\"$Source: /ibm/acis/usr/man/man4/RCS/cons.4_ca,v $ +.\"$Source: /home/ncvs/src/share/doc/iso/wiscman/cons.4,v $ .\" This file uses -man macros. .TH CONS 4 "Sept 1988" "Space overwritten by .AC macro" " " .AC 1 0 diff --git a/share/doc/iso/wiscman/cons.4p b/share/doc/iso/wiscman/cons.4p index 2686cad07b81f..3a4075fa8b4f8 100644 --- a/share/doc/iso/wiscman/cons.4p +++ b/share/doc/iso/wiscman/cons.4p @@ -1,4 +1,4 @@ -.\" $Id: cons.4p,v 1.4 1997/02/22 13:00:25 peter Exp $ +.\" $Id: cons.4p,v 1.2.2.1 1997/03/15 23:31:27 jkh Exp $ .\" .TH CONS 4P "9 December 1988" .ds ]W Wisconsin ARGO 1.0 diff --git a/share/doc/iso/wiscman/if.4n b/share/doc/iso/wiscman/if.4n index ca6884c75ac45..39895dbf06c72 100644 --- a/share/doc/iso/wiscman/if.4n +++ b/share/doc/iso/wiscman/if.4n @@ -3,9 +3,9 @@ # LICENSED MATERIALS - PROPERTY OF IBM # REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 # -.\"# $Header:if.4n_ca 1.5$ +.\"# $Header: /home/ncvs/src/share/doc/iso/wiscman/if.4n,v 1.1.1.1 1994/05/30 19:08:12 rgrimes Exp $ .\"# $ACIS:if.4n_ca 1.5$ -.\"# $Source: /ibm/acis/usr/man/man4/RCS/if.4n_ca,v $ +.\"# $Source: /home/ncvs/src/share/doc/iso/wiscman/if.4n,v $ .\" @(#)if.4n 1.2 87/08/23 3.2/4.3NFSSRC .\" @(#)if.4n 1.2 87/02/10 NFSSRC .\" @(#)if.4n 1.1 86/09/25 SMI; diff --git a/share/doc/iso/wiscman/rvd.4p b/share/doc/iso/wiscman/rvd.4p index 44d7e8499af6f..d2098dac68daa 100644 --- a/share/doc/iso/wiscman/rvd.4p +++ b/share/doc/iso/wiscman/rvd.4p @@ -3,9 +3,9 @@ .\" LICENSED MATERIALS - PROPERTY OF IBM .\" REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 .\" -.\"$Header:rvd.4p_ca 11.0$ +.\"$Header: /home/ncvs/src/share/doc/iso/wiscman/rvd.4p,v 1.1.1.1 1994/05/30 19:08:12 rgrimes Exp $ .\"$ACIS:rvd.4p_ca 11.0$ -.\"$Source: /ibm/acis/usr/man/man4/RCS/rvd.4p_ca,v $ +.\"$Source: /home/ncvs/src/share/doc/iso/wiscman/rvd.4p,v $ .\"This file contains -man macros. .TH RVD 4P "July 1987" "Space overwritten by .AC macro" " " .AC 1 0 diff --git a/share/doc/iso/wiscman/tp.4p b/share/doc/iso/wiscman/tp.4p index 92ae931f00510..addfdd4de67ed 100644 --- a/share/doc/iso/wiscman/tp.4p +++ b/share/doc/iso/wiscman/tp.4p @@ -1,4 +1,4 @@ -.\" $Id: tp.4p,v 1.4 1997/02/22 13:00:27 peter Exp $ +.\" $Id: tp.4p,v 1.2.2.1 1997/03/15 23:31:29 jkh Exp $ .\" .TH TP 4P "9 December 1988" .ds ]W Wisconsin ARGO 1.0 diff --git a/share/doc/ja_JP.EUC/Makefile b/share/doc/ja_JP.EUC/Makefile index b9937591a3ad8..15466642e3be1 100644 --- a/share/doc/ja_JP.EUC/Makefile +++ b/share/doc/ja_JP.EUC/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id: Makefile,v 1.3 1997/02/22 13:00:32 peter Exp $ +# $Id: Makefile,v 1.1.2.1 1997/03/15 23:31:32 jkh Exp $ SUBDIR= handbook diff --git a/share/doc/ja_JP.EUC/handbook/Makefile b/share/doc/ja_JP.EUC/handbook/Makefile index 7ed1871005125..874e28467da4d 100644 --- a/share/doc/ja_JP.EUC/handbook/Makefile +++ b/share/doc/ja_JP.EUC/handbook/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.8 1997/02/25 04:53:50 hanai Exp $ +# $Id: Makefile,v 1.1.1.1.2.4 1997/03/15 23:31:34 jkh Exp $ # Original revision: 1.22 # The FreeBSD Japanese Documentation Project diff --git a/share/doc/ja_JP.EUC/handbook/authors.sgml b/share/doc/ja_JP.EUC/handbook/authors.sgml index 2eb129f507533..330390fbd2b8c 100644 --- a/share/doc/ja_JP.EUC/handbook/authors.sgml +++ b/share/doc/ja_JP.EUC/handbook/authors.sgml @@ -1,4 +1,4 @@ -<!-- $Id: authors.sgml,v 1.18 1997/02/28 04:07:56 hanai Exp $ --> +<!-- $Id: authors.sgml,v 1.1.1.1.2.3 1997/03/15 23:31:36 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.61 --> diff --git a/share/doc/ja_JP.EUC/handbook/basics.sgml b/share/doc/ja_JP.EUC/handbook/basics.sgml index b1761e01ec4e7..57ab2fbe024d1 100644 --- a/share/doc/ja_JP.EUC/handbook/basics.sgml +++ b/share/doc/ja_JP.EUC/handbook/basics.sgml @@ -1,4 +1,4 @@ -<!-- $Id: basics.sgml,v 1.5 1997/02/25 04:53:59 hanai Exp $ --> +<!-- $Id: basics.sgml,v 1.1.1.1.2.1 1997/03/15 23:31:37 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.9 --> diff --git a/share/doc/ja_JP.EUC/handbook/bibliography.sgml b/share/doc/ja_JP.EUC/handbook/bibliography.sgml index af787390ad977..43ccce2c57a68 100644 --- a/share/doc/ja_JP.EUC/handbook/bibliography.sgml +++ b/share/doc/ja_JP.EUC/handbook/bibliography.sgml @@ -1,4 +1,4 @@ -<!-- $Id: bibliography.sgml,v 1.6 1997/03/06 03:19:16 hanai Exp $ --> +<!-- $Id: bibliography.sgml,v 1.1.1.1.2.1 1997/03/15 23:31:39 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.17 --> diff --git a/share/doc/ja_JP.EUC/handbook/boothelp.sgml b/share/doc/ja_JP.EUC/handbook/boothelp.sgml index 15c3a981b4143..1a4083efe6d63 100644 --- a/share/doc/ja_JP.EUC/handbook/boothelp.sgml +++ b/share/doc/ja_JP.EUC/handbook/boothelp.sgml @@ -1,4 +1,4 @@ -<!-- $Id: boothelp.sgml,v 1.5 1997/02/25 04:54:05 hanai Exp $ --> +<!-- $Id: boothelp.sgml,v 1.1.1.1.2.1 1997/03/15 23:31:40 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.4 --> diff --git a/share/doc/ja_JP.EUC/handbook/booting.sgml b/share/doc/ja_JP.EUC/handbook/booting.sgml index 0a95629fb158a..11a078d1dcb0a 100644 --- a/share/doc/ja_JP.EUC/handbook/booting.sgml +++ b/share/doc/ja_JP.EUC/handbook/booting.sgml @@ -1,4 +1,4 @@ -<!-- $Id: booting.sgml,v 1.5 1997/02/25 04:54:13 hanai Exp $ --> +<!-- $Id: booting.sgml,v 1.1.1.1.2.1 1997/03/15 23:31:42 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.13 --> diff --git a/share/doc/ja_JP.EUC/handbook/contrib.sgml b/share/doc/ja_JP.EUC/handbook/contrib.sgml index 4a4064f3437b7..d6d691c006c7d 100644 --- a/share/doc/ja_JP.EUC/handbook/contrib.sgml +++ b/share/doc/ja_JP.EUC/handbook/contrib.sgml @@ -1,4 +1,4 @@ -<!-- $Id: contrib.sgml,v 1.39 1997/03/07 04:56:55 hanai Exp $ --> +<!-- $Id: contrib.sgml,v 1.1.1.1.2.4 1997/03/15 23:31:44 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.225 --> diff --git a/share/doc/ja_JP.EUC/handbook/crypt.sgml b/share/doc/ja_JP.EUC/handbook/crypt.sgml index 352d3deb6014d..c7a35df63c446 100644 --- a/share/doc/ja_JP.EUC/handbook/crypt.sgml +++ b/share/doc/ja_JP.EUC/handbook/crypt.sgml @@ -1,4 +1,4 @@ -<!-- $Id: crypt.sgml,v 1.6 1997/02/25 04:54:28 hanai Exp $ --> +<!-- $Id: crypt.sgml,v 1.1.1.1.2.2 1997/03/15 23:31:47 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.3 --> diff --git a/share/doc/ja_JP.EUC/handbook/ctm.sgml b/share/doc/ja_JP.EUC/handbook/ctm.sgml index 7881e518a6e52..5d864b0d02d79 100644 --- a/share/doc/ja_JP.EUC/handbook/ctm.sgml +++ b/share/doc/ja_JP.EUC/handbook/ctm.sgml @@ -1,4 +1,4 @@ -<!-- $Id: ctm.sgml,v 1.6 1997/02/25 04:54:34 hanai Exp $ --> +<!-- $Id: ctm.sgml,v 1.1.1.1.2.1 1997/03/15 23:31:48 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.15 --> <!-- diff --git a/share/doc/ja_JP.EUC/handbook/current.sgml b/share/doc/ja_JP.EUC/handbook/current.sgml index 43ca90557ee65..d6fef6888fec4 100644 --- a/share/doc/ja_JP.EUC/handbook/current.sgml +++ b/share/doc/ja_JP.EUC/handbook/current.sgml @@ -1,4 +1,4 @@ -<!-- $Id: current.sgml,v 1.6 1997/02/25 04:54:41 hanai Exp $ --> +<!-- $Id: current.sgml,v 1.1.1.1.2.1 1997/03/15 23:31:50 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.19 --> @@ -12,7 +12,7 @@ THE FREEBSD CURRENT POLICY -Last updated: $Date: 1997/02/25 04:54:41 $ +Last updated: $Date: 1997/03/15 23:31:50 $ This document attempts to explain the rationale behind FreeBSD-current, what you should expect should you decide to run it, diff --git a/share/doc/ja_JP.EUC/handbook/cvsup.sgml b/share/doc/ja_JP.EUC/handbook/cvsup.sgml index b22ca06682e0b..b850ef8ae917d 100644 --- a/share/doc/ja_JP.EUC/handbook/cvsup.sgml +++ b/share/doc/ja_JP.EUC/handbook/cvsup.sgml @@ -1,4 +1,4 @@ -<!-- $Id: cvsup.sgml,v 1.12 1997/03/06 07:10:37 hanai Exp $ --> +<!-- $Id: cvsup.sgml,v 1.1.2.1 1997/03/15 23:31:51 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.11 --> diff --git a/share/doc/ja_JP.EUC/handbook/cyclades.sgml b/share/doc/ja_JP.EUC/handbook/cyclades.sgml index 655714bcd2ae2..94d7ecfd4848d 100644 --- a/share/doc/ja_JP.EUC/handbook/cyclades.sgml +++ b/share/doc/ja_JP.EUC/handbook/cyclades.sgml @@ -1,4 +1,4 @@ -<!-- $Id: cyclades.sgml,v 1.5 1997/02/25 04:54:48 hanai Exp $ --> +<!-- $Id: cyclades.sgml,v 1.1.1.1.2.1 1997/03/15 23:31:53 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.3 --> diff --git a/share/doc/ja_JP.EUC/handbook/development.sgml b/share/doc/ja_JP.EUC/handbook/development.sgml index c5d6c5cad112a..f3aafdfe7ea1c 100644 --- a/share/doc/ja_JP.EUC/handbook/development.sgml +++ b/share/doc/ja_JP.EUC/handbook/development.sgml @@ -1,4 +1,4 @@ -<!-- $Id: development.sgml,v 1.7 1997/02/25 04:54:57 hanai Exp $ --> +<!-- $Id: development.sgml,v 1.1.1.1.2.3 1997/03/15 23:31:54 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.11 --> diff --git a/share/doc/ja_JP.EUC/handbook/dialout.sgml b/share/doc/ja_JP.EUC/handbook/dialout.sgml index deb136425bd9e..8fbe165b5e1b9 100644 --- a/share/doc/ja_JP.EUC/handbook/dialout.sgml +++ b/share/doc/ja_JP.EUC/handbook/dialout.sgml @@ -1,4 +1,4 @@ -<!-- $Id: dialout.sgml,v 1.5 1997/02/25 04:55:03 hanai Exp $ --> +<!-- $Id: dialout.sgml,v 1.1.2.1 1997/03/15 23:31:56 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.5 --> diff --git a/share/doc/ja_JP.EUC/handbook/dialup.sgml b/share/doc/ja_JP.EUC/handbook/dialup.sgml index 48e56684464d2..838efc0e1d3b8 100644 --- a/share/doc/ja_JP.EUC/handbook/dialup.sgml +++ b/share/doc/ja_JP.EUC/handbook/dialup.sgml @@ -1,4 +1,4 @@ -<!-- $Id: dialup.sgml,v 1.7 1997/02/25 04:55:09 hanai Exp $ --> +<!-- $Id: dialup.sgml,v 1.1.1.1.2.3 1997/03/15 23:31:57 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.17 --> <!-- This is an SGML document in the linuxdoc DTD of the Tutorial for diff --git a/share/doc/ja_JP.EUC/handbook/diskless.sgml b/share/doc/ja_JP.EUC/handbook/diskless.sgml index c84a86e950f3d..3392f5b56610d 100644 --- a/share/doc/ja_JP.EUC/handbook/diskless.sgml +++ b/share/doc/ja_JP.EUC/handbook/diskless.sgml @@ -1,4 +1,4 @@ -<!-- $Id: diskless.sgml,v 1.6 1997/02/25 04:55:14 hanai Exp $ --> +<!-- $Id: diskless.sgml,v 1.1.1.1.2.1 1997/03/15 23:31:59 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.9 --> <!-- ÆüËܸìÌõ Y.Suzuki(yasu@hike.te.chiba-u.ac.jp)--> diff --git a/share/doc/ja_JP.EUC/handbook/dma.sgml b/share/doc/ja_JP.EUC/handbook/dma.sgml index 2e82b7c13e507..42ceaf9b543fb 100644 --- a/share/doc/ja_JP.EUC/handbook/dma.sgml +++ b/share/doc/ja_JP.EUC/handbook/dma.sgml @@ -1,4 +1,4 @@ -<!-- $Id: dma.sgml,v 1.6 1997/02/25 04:55:21 hanai Exp $ --> +<!-- $Id: dma.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:02 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.7 --> <!-- ÆüËܸìÌõ ÎëÌÚ¹¯½¤ (yasu@hike.te.chiba-u.ac.jp) --> diff --git a/share/doc/ja_JP.EUC/handbook/eresources.sgml b/share/doc/ja_JP.EUC/handbook/eresources.sgml index 05b91962efdf9..c3abd12b0bccc 100644 --- a/share/doc/ja_JP.EUC/handbook/eresources.sgml +++ b/share/doc/ja_JP.EUC/handbook/eresources.sgml @@ -1,4 +1,4 @@ -<!-- $Id: eresources.sgml,v 1.6 1997/02/27 07:47:11 hanai Exp $ --> +<!-- $Id: eresources.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:03 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.34 --> diff --git a/share/doc/ja_JP.EUC/handbook/esdi.sgml b/share/doc/ja_JP.EUC/handbook/esdi.sgml index 1554314f08135..f70152b564287 100644 --- a/share/doc/ja_JP.EUC/handbook/esdi.sgml +++ b/share/doc/ja_JP.EUC/handbook/esdi.sgml @@ -1,4 +1,4 @@ -<!-- $Id: esdi.sgml,v 1.5 1997/02/25 04:55:26 hanai Exp $ --> +<!-- $Id: esdi.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:05 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.10 --> diff --git a/share/doc/ja_JP.EUC/handbook/firewalls.sgml b/share/doc/ja_JP.EUC/handbook/firewalls.sgml index 668d7e085700e..443ae579ba021 100644 --- a/share/doc/ja_JP.EUC/handbook/firewalls.sgml +++ b/share/doc/ja_JP.EUC/handbook/firewalls.sgml @@ -1,4 +1,4 @@ -<!-- $Id: firewalls.sgml,v 1.6 1997/02/25 04:55:34 hanai Exp $ --> +<!-- $Id: firewalls.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:07 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.17 --> diff --git a/share/doc/ja_JP.EUC/handbook/glossary.sgml b/share/doc/ja_JP.EUC/handbook/glossary.sgml index f2c7fa7e2480c..81333cbc1a680 100644 --- a/share/doc/ja_JP.EUC/handbook/glossary.sgml +++ b/share/doc/ja_JP.EUC/handbook/glossary.sgml @@ -1,4 +1,4 @@ -<!-- $Id: glossary.sgml,v 1.5 1997/02/25 04:55:40 hanai Exp $ --> +<!-- $Id: glossary.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:09 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.5 --> diff --git a/share/doc/ja_JP.EUC/handbook/goals.sgml b/share/doc/ja_JP.EUC/handbook/goals.sgml index 07ab146f92e2f..8ba2d0e7514b0 100644 --- a/share/doc/ja_JP.EUC/handbook/goals.sgml +++ b/share/doc/ja_JP.EUC/handbook/goals.sgml @@ -1,4 +1,4 @@ -<!-- $Id: goals.sgml,v 1.5 1997/02/25 04:55:45 hanai Exp $ --> +<!-- $Id: goals.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:10 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.4 --> diff --git a/share/doc/ja_JP.EUC/handbook/handbook.sgml b/share/doc/ja_JP.EUC/handbook/handbook.sgml index 38c8fdcbf71b4..59652a68003e3 100644 --- a/share/doc/ja_JP.EUC/handbook/handbook.sgml +++ b/share/doc/ja_JP.EUC/handbook/handbook.sgml @@ -1,4 +1,4 @@ -<!-- $Id: handbook.sgml,v 1.1.1.1.2.5 1997/03/17 04:05:03 jkh Exp $ --> +<!-- $Id: handbook.sgml,v 1.1.1.1.2.6 1997/03/21 06:50:10 hanai Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.68 --> diff --git a/share/doc/ja_JP.EUC/handbook/history.sgml b/share/doc/ja_JP.EUC/handbook/history.sgml index f8d045a465c4f..6401f128bcaf5 100644 --- a/share/doc/ja_JP.EUC/handbook/history.sgml +++ b/share/doc/ja_JP.EUC/handbook/history.sgml @@ -1,4 +1,4 @@ -<!-- $Id: history.sgml,v 1.6 1997/02/25 04:55:50 hanai Exp $ --> +<!-- $Id: history.sgml,v 1.1.1.1.2.2 1997/03/15 23:32:15 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.21 --> <!-- ÏÂÌõ: masaki@po.iijnet.or.jp + hino@nwk.cl.nec.co.jp 1996/12/19 --> diff --git a/share/doc/ja_JP.EUC/handbook/hw.sgml b/share/doc/ja_JP.EUC/handbook/hw.sgml index 3ed6556ca741e..b67a403ce9b3a 100644 --- a/share/doc/ja_JP.EUC/handbook/hw.sgml +++ b/share/doc/ja_JP.EUC/handbook/hw.sgml @@ -1,4 +1,4 @@ -<!-- $Id: hw.sgml,v 1.11 1997/03/03 04:46:59 hanai Exp $ --> +<!-- $Id: hw.sgml,v 1.1.1.1.2.2 1997/03/15 23:32:17 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.64 --> diff --git a/share/doc/ja_JP.EUC/handbook/install.sgml b/share/doc/ja_JP.EUC/handbook/install.sgml index 556dd42b3f77b..fb336a3b6822f 100644 --- a/share/doc/ja_JP.EUC/handbook/install.sgml +++ b/share/doc/ja_JP.EUC/handbook/install.sgml @@ -1,4 +1,4 @@ -<!-- $Id: install.sgml,v 1.13 1997/03/10 03:04:05 hanai Exp $ --> +<!-- $Id: install.sgml,v 1.1.1.1.2.2 1997/03/15 23:32:19 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.53 --> diff --git a/share/doc/ja_JP.EUC/handbook/isdn.sgml b/share/doc/ja_JP.EUC/handbook/isdn.sgml index bf96eb9dd0b79..c987b68bb149d 100644 --- a/share/doc/ja_JP.EUC/handbook/isdn.sgml +++ b/share/doc/ja_JP.EUC/handbook/isdn.sgml @@ -1,4 +1,4 @@ -<!-- $Id: isdn.sgml,v 1.8 1997/02/25 04:56:09 hanai Exp $ --> +<!-- $Id: isdn.sgml,v 1.1.1.1.2.2 1997/03/15 23:32:21 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.11 --> diff --git a/share/doc/ja_JP.EUC/handbook/jcontrib.sgml b/share/doc/ja_JP.EUC/handbook/jcontrib.sgml index 190195cfa430a..94c8c8888fe56 100644 --- a/share/doc/ja_JP.EUC/handbook/jcontrib.sgml +++ b/share/doc/ja_JP.EUC/handbook/jcontrib.sgml @@ -1,4 +1,4 @@ -<!-- $Id: jcontrib.sgml,v 1.6 1997/03/03 04:56:30 hanai Exp $ --> +<!-- $Id: jcontrib.sgml,v 1.1.1.1.2.3 1997/03/15 23:32:22 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <chapt><heading>FreeBSD Handbook ÆüËܸ첽¤Ë¤Ä¤¤¤Æ<label id="jcontrib"></heading> diff --git a/share/doc/ja_JP.EUC/handbook/jmembers.sgml b/share/doc/ja_JP.EUC/handbook/jmembers.sgml index e1f66cecb453b..f369ba97a3455 100644 --- a/share/doc/ja_JP.EUC/handbook/jmembers.sgml +++ b/share/doc/ja_JP.EUC/handbook/jmembers.sgml @@ -1,4 +1,4 @@ -<!-- $Id: jmembers.sgml,v 1.7 1997/03/03 04:56:31 hanai Exp $ --> +<!-- $Id: jmembers.sgml,v 1.1.1.1.2.3 1997/03/15 23:32:24 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- diff --git a/share/doc/ja_JP.EUC/handbook/kerberos.sgml b/share/doc/ja_JP.EUC/handbook/kerberos.sgml index b5890e65a814f..1f3bd4de674fc 100644 --- a/share/doc/ja_JP.EUC/handbook/kerberos.sgml +++ b/share/doc/ja_JP.EUC/handbook/kerberos.sgml @@ -1,4 +1,4 @@ -<!-- $Id: kerberos.sgml,v 1.5 1997/02/25 04:56:17 hanai Exp $ --> +<!-- $Id: kerberos.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:26 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.10 --> diff --git a/share/doc/ja_JP.EUC/handbook/kernelconfig.sgml b/share/doc/ja_JP.EUC/handbook/kernelconfig.sgml index 94562057b9433..91fe1035ef389 100644 --- a/share/doc/ja_JP.EUC/handbook/kernelconfig.sgml +++ b/share/doc/ja_JP.EUC/handbook/kernelconfig.sgml @@ -1,4 +1,4 @@ -<!-- $Id: kernelconfig.sgml,v 1.12 1997/02/25 04:56:24 hanai Exp $ --> +<!-- $Id: kernelconfig.sgml,v 1.1.1.1.2.2 1997/03/15 23:32:28 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.27 --> <!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> --> diff --git a/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml b/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml index 4317728aa173b..a5d082f6c7578 100644 --- a/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml +++ b/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml @@ -1,4 +1,4 @@ -<!-- $Id: kerneldebug.sgml,v 1.5 1997/02/25 04:56:32 hanai Exp $ --> +<!-- $Id: kerneldebug.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:30 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.12 --> diff --git a/share/doc/ja_JP.EUC/handbook/kernelopts.sgml b/share/doc/ja_JP.EUC/handbook/kernelopts.sgml index 16cda02bdbd58..817692e44787f 100644 --- a/share/doc/ja_JP.EUC/handbook/kernelopts.sgml +++ b/share/doc/ja_JP.EUC/handbook/kernelopts.sgml @@ -1,4 +1,4 @@ -<!-- $Id: kernelopts.sgml,v 1.10 1997/02/25 04:56:38 hanai Exp $ --> +<!-- $Id: kernelopts.sgml,v 1.2.2.1 1997/03/15 23:32:32 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- Original revision: 1.7 --> diff --git a/share/doc/ja_JP.EUC/handbook/linuxemu.sgml b/share/doc/ja_JP.EUC/handbook/linuxemu.sgml index 0545500695f33..0fcfae1c77225 100644 --- a/share/doc/ja_JP.EUC/handbook/linuxemu.sgml +++ b/share/doc/ja_JP.EUC/handbook/linuxemu.sgml @@ -1,4 +1,4 @@ -<!-- $Id: linuxemu.sgml,v 1.7 1997/02/25 04:56:46 hanai Exp $ --> +<!-- $Id: linuxemu.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:34 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.17 --> diff --git a/share/doc/ja_JP.EUC/handbook/lists.sgml b/share/doc/ja_JP.EUC/handbook/lists.sgml index 44a855762e64f..c02dea4dad514 100644 --- a/share/doc/ja_JP.EUC/handbook/lists.sgml +++ b/share/doc/ja_JP.EUC/handbook/lists.sgml @@ -1,4 +1,4 @@ -<!-- $Id: lists.sgml,v 1.5 1997/02/25 04:56:52 hanai Exp $ --> +<!-- $Id: lists.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:36 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.8 --> diff --git a/share/doc/ja_JP.EUC/handbook/mail.sgml b/share/doc/ja_JP.EUC/handbook/mail.sgml index f071cb8b62130..e710e8d961d8d 100644 --- a/share/doc/ja_JP.EUC/handbook/mail.sgml +++ b/share/doc/ja_JP.EUC/handbook/mail.sgml @@ -1,4 +1,4 @@ -<!-- $Id: mail.sgml,v 1.8 1997/02/25 04:56:58 hanai Exp $ --> +<!-- $Id: mail.sgml,v 1.1.2.2 1997/03/15 23:32:38 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.9 --> diff --git a/share/doc/ja_JP.EUC/handbook/memoryuse.sgml b/share/doc/ja_JP.EUC/handbook/memoryuse.sgml index 55bcf22261a38..252b1f2eced70 100644 --- a/share/doc/ja_JP.EUC/handbook/memoryuse.sgml +++ b/share/doc/ja_JP.EUC/handbook/memoryuse.sgml @@ -1,4 +1,4 @@ -<!-- $Id: memoryuse.sgml,v 1.5 1997/02/25 04:57:05 hanai Exp $ --> +<!-- $Id: memoryuse.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:40 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.9 --> diff --git a/share/doc/ja_JP.EUC/handbook/mirrors.sgml b/share/doc/ja_JP.EUC/handbook/mirrors.sgml index 0a1512b897566..50fea6bb6360f 100644 --- a/share/doc/ja_JP.EUC/handbook/mirrors.sgml +++ b/share/doc/ja_JP.EUC/handbook/mirrors.sgml @@ -1,4 +1,4 @@ -<!-- $Id: mirrors.sgml,v 1.13 1997/03/12 04:25:20 hanai Exp $ --> +<!-- $Id: mirrors.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:41 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.53 --> diff --git a/share/doc/ja_JP.EUC/handbook/nfs.sgml b/share/doc/ja_JP.EUC/handbook/nfs.sgml index 01b01c35f7093..2da20addb336b 100644 --- a/share/doc/ja_JP.EUC/handbook/nfs.sgml +++ b/share/doc/ja_JP.EUC/handbook/nfs.sgml @@ -1,4 +1,4 @@ -<!-- $Id: nfs.sgml,v 1.6 1997/02/25 04:57:11 hanai Exp $ --> +<!-- $Id: nfs.sgml,v 1.1.1.1.2.2 1997/03/15 23:32:44 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.9 --> diff --git a/share/doc/ja_JP.EUC/handbook/nutshell.sgml b/share/doc/ja_JP.EUC/handbook/nutshell.sgml index bc884c97092de..21c878089539c 100644 --- a/share/doc/ja_JP.EUC/handbook/nutshell.sgml +++ b/share/doc/ja_JP.EUC/handbook/nutshell.sgml @@ -1,4 +1,4 @@ -<!-- $Id: nutshell.sgml,v 1.5 1997/02/25 04:57:16 hanai Exp $ --> +<!-- $Id: nutshell.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:47 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.12 --> diff --git a/share/doc/ja_JP.EUC/handbook/pgpkeys.sgml b/share/doc/ja_JP.EUC/handbook/pgpkeys.sgml index 8f25ae54eec15..c3a3d55b36907 100644 --- a/share/doc/ja_JP.EUC/handbook/pgpkeys.sgml +++ b/share/doc/ja_JP.EUC/handbook/pgpkeys.sgml @@ -1,4 +1,4 @@ -<!-- $Id: pgpkeys.sgml,v 1.9 1997/03/10 01:09:47 hanai Exp $ --> +<!-- $Id: pgpkeys.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:49 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.18 --> diff --git a/share/doc/ja_JP.EUC/handbook/policies.sgml b/share/doc/ja_JP.EUC/handbook/policies.sgml index 6ebb1915a2f79..ff7a5760c378a 100644 --- a/share/doc/ja_JP.EUC/handbook/policies.sgml +++ b/share/doc/ja_JP.EUC/handbook/policies.sgml @@ -1,4 +1,4 @@ -<!-- $Id: policies.sgml,v 1.8 1997/02/25 04:57:30 hanai Exp $ --> +<!-- $Id: policies.sgml,v 1.1.1.1.2.2 1997/03/15 23:32:50 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.11 --> diff --git a/share/doc/ja_JP.EUC/handbook/porting.sgml b/share/doc/ja_JP.EUC/handbook/porting.sgml index 0b75f807e50dc..663218fb6ab3f 100644 --- a/share/doc/ja_JP.EUC/handbook/porting.sgml +++ b/share/doc/ja_JP.EUC/handbook/porting.sgml @@ -1,4 +1,4 @@ -<!-- $Id: porting.sgml,v 1.19 1997/03/11 03:04:03 hanai Exp $ --> +<!-- $Id: porting.sgml,v 1.1.1.1.2.3 1997/03/15 23:32:52 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.69 --> diff --git a/share/doc/ja_JP.EUC/handbook/ports.sgml b/share/doc/ja_JP.EUC/handbook/ports.sgml index e0d2defe1e0e0..0a0cc87a532fd 100644 --- a/share/doc/ja_JP.EUC/handbook/ports.sgml +++ b/share/doc/ja_JP.EUC/handbook/ports.sgml @@ -1,4 +1,4 @@ -<!-- $Id: ports.sgml,v 1.8 1997/03/10 01:09:48 hanai Exp $ --> +<!-- $Id: ports.sgml,v 1.1.1.1.2.2 1997/03/15 23:32:55 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.24 --> diff --git a/share/doc/ja_JP.EUC/handbook/ppp.sgml b/share/doc/ja_JP.EUC/handbook/ppp.sgml index cb1e8d59d76c2..ac63aaac3b476 100644 --- a/share/doc/ja_JP.EUC/handbook/ppp.sgml +++ b/share/doc/ja_JP.EUC/handbook/ppp.sgml @@ -1,4 +1,4 @@ -<!-- $Id: ppp.sgml,v 1.5 1997/02/25 04:57:36 hanai Exp $ --> +<!-- $Id: ppp.sgml,v 1.1.1.1.2.1 1997/03/15 23:32:56 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.10 --> diff --git a/share/doc/ja_JP.EUC/handbook/printing.sgml b/share/doc/ja_JP.EUC/handbook/printing.sgml index e39c6d28ae30b..9ea1c90a9b407 100644 --- a/share/doc/ja_JP.EUC/handbook/printing.sgml +++ b/share/doc/ja_JP.EUC/handbook/printing.sgml @@ -1,4 +1,4 @@ -<!-- $Id: printing.sgml,v 1.10 1997/02/25 04:57:45 hanai Exp $ --> +<!-- $Id: printing.sgml,v 1.1.1.1.2.3 1997/03/15 23:32:58 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.18 --> <!-- This is an SGML document in the linuxdoc DTD describing diff --git a/share/doc/ja_JP.EUC/handbook/quotas.sgml b/share/doc/ja_JP.EUC/handbook/quotas.sgml index 483ea14b8a46b..07e13e21ffadc 100644 --- a/share/doc/ja_JP.EUC/handbook/quotas.sgml +++ b/share/doc/ja_JP.EUC/handbook/quotas.sgml @@ -1,4 +1,4 @@ -<!-- $Id: quotas.sgml,v 1.5 1997/02/25 04:57:52 hanai Exp $ --> +<!-- $Id: quotas.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:01 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.6 --> diff --git a/share/doc/ja_JP.EUC/handbook/relnotes.sgml b/share/doc/ja_JP.EUC/handbook/relnotes.sgml index c888c042a2dcc..8b27bfb1d8fea 100644 --- a/share/doc/ja_JP.EUC/handbook/relnotes.sgml +++ b/share/doc/ja_JP.EUC/handbook/relnotes.sgml @@ -1,4 +1,4 @@ -<!-- $Id: relnotes.sgml,v 1.8 1997/02/25 04:57:59 hanai Exp $ --> +<!-- $Id: relnotes.sgml,v 1.1.1.1.2.4 1997/03/15 23:33:03 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.21 --> diff --git a/share/doc/ja_JP.EUC/handbook/routing.sgml b/share/doc/ja_JP.EUC/handbook/routing.sgml index b7ec13f6d5cc0..7685f2863d3a1 100644 --- a/share/doc/ja_JP.EUC/handbook/routing.sgml +++ b/share/doc/ja_JP.EUC/handbook/routing.sgml @@ -1,4 +1,4 @@ -<!-- $Id: routing.sgml,v 1.5 1997/02/25 04:58:06 hanai Exp $ --> +<!-- $Id: routing.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:05 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.5 --> diff --git a/share/doc/ja_JP.EUC/handbook/scsi.sgml b/share/doc/ja_JP.EUC/handbook/scsi.sgml index 2afeb77d25cb5..836be026977a5 100644 --- a/share/doc/ja_JP.EUC/handbook/scsi.sgml +++ b/share/doc/ja_JP.EUC/handbook/scsi.sgml @@ -1,4 +1,4 @@ -<!-- $Id: scsi.sgml,v 1.7 1997/02/25 04:58:11 hanai Exp $ --> +<!-- $Id: scsi.sgml,v 1.1.1.1.2.3 1997/03/15 23:33:07 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.22 --> diff --git a/share/doc/ja_JP.EUC/handbook/sections.sgml b/share/doc/ja_JP.EUC/handbook/sections.sgml index be49bf3298c3d..4500914df2050 100644 --- a/share/doc/ja_JP.EUC/handbook/sections.sgml +++ b/share/doc/ja_JP.EUC/handbook/sections.sgml @@ -1,4 +1,4 @@ -<!-- $Id: sections.sgml,v 1.8 1997/02/25 04:58:16 hanai Exp $ --> +<!-- $Id: sections.sgml,v 1.1.1.1.2.3 1997/03/15 23:33:08 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.22 --> diff --git a/share/doc/ja_JP.EUC/handbook/serial.sgml b/share/doc/ja_JP.EUC/handbook/serial.sgml index 1428e884116d7..86012289c858a 100644 --- a/share/doc/ja_JP.EUC/handbook/serial.sgml +++ b/share/doc/ja_JP.EUC/handbook/serial.sgml @@ -1,4 +1,4 @@ -<!-- $Id: serial.sgml,v 1.8 1997/02/25 04:58:23 hanai Exp $ --> +<!-- $Id: serial.sgml,v 1.1.2.2 1997/03/15 23:33:10 jkh Exp $ --> <!-- FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.3 --> diff --git a/share/doc/ja_JP.EUC/handbook/sio.sgml b/share/doc/ja_JP.EUC/handbook/sio.sgml index 11b5282a5cc7d..1d5948b060fdd 100644 --- a/share/doc/ja_JP.EUC/handbook/sio.sgml +++ b/share/doc/ja_JP.EUC/handbook/sio.sgml @@ -1,4 +1,4 @@ -<!-- $Id: sio.sgml,v 1.5 1997/02/25 04:58:28 hanai Exp $ --> +<!-- $Id: sio.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:11 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.5 --> diff --git a/share/doc/ja_JP.EUC/handbook/skey.sgml b/share/doc/ja_JP.EUC/handbook/skey.sgml index a45e8334aa5b0..014a04dc7b58a 100644 --- a/share/doc/ja_JP.EUC/handbook/skey.sgml +++ b/share/doc/ja_JP.EUC/handbook/skey.sgml @@ -1,4 +1,4 @@ -<!-- $Id: skey.sgml,v 1.5 1997/02/25 04:58:35 hanai Exp $ --> +<!-- $Id: skey.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:12 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.7 --> <!-- ÏÂÌõ: hino@nwk.CL.nec.co.jp 1996/09/24 --> diff --git a/share/doc/ja_JP.EUC/handbook/slipc.sgml b/share/doc/ja_JP.EUC/handbook/slipc.sgml index d5214fa2911ad..772b9e84ba0a0 100644 --- a/share/doc/ja_JP.EUC/handbook/slipc.sgml +++ b/share/doc/ja_JP.EUC/handbook/slipc.sgml @@ -1,4 +1,4 @@ -<!-- $Id: slipc.sgml,v 1.5 1997/02/25 04:58:41 hanai Exp $ --> +<!-- $Id: slipc.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:14 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.9 --> diff --git a/share/doc/ja_JP.EUC/handbook/slips.sgml b/share/doc/ja_JP.EUC/handbook/slips.sgml index 6f5506094f0d7..4dd6fcd6d922c 100644 --- a/share/doc/ja_JP.EUC/handbook/slips.sgml +++ b/share/doc/ja_JP.EUC/handbook/slips.sgml @@ -1,4 +1,4 @@ -<!-- $Id: slips.sgml,v 1.5 1997/02/25 04:58:46 hanai Exp $ --> +<!-- $Id: slips.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:15 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.13 --> diff --git a/share/doc/ja_JP.EUC/handbook/stable.sgml b/share/doc/ja_JP.EUC/handbook/stable.sgml index 09c6cce1fbfed..25e9039092205 100644 --- a/share/doc/ja_JP.EUC/handbook/stable.sgml +++ b/share/doc/ja_JP.EUC/handbook/stable.sgml @@ -1,4 +1,4 @@ -<!-- $Id: stable.sgml,v 1.6 1997/02/25 04:58:49 hanai Exp $ --> +<!-- $Id: stable.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:18 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.9 --> @@ -11,7 +11,7 @@ THE FREEBSD STABLE POLICY -Last updated: $Date: 1997/02/25 04:58:49 $ +Last updated: $Date: 1997/03/15 23:33:18 $ This document attempts to explain the rationale behind FreeBSD-stable, what you should expect should you decide to run it, diff --git a/share/doc/ja_JP.EUC/handbook/submitters.sgml b/share/doc/ja_JP.EUC/handbook/submitters.sgml index 79bb245364351..4d777fd27eabc 100644 --- a/share/doc/ja_JP.EUC/handbook/submitters.sgml +++ b/share/doc/ja_JP.EUC/handbook/submitters.sgml @@ -1,4 +1,4 @@ -<!-- $Id: submitters.sgml,v 1.8 1997/03/03 04:51:24 hanai Exp $ --> +<!-- $Id: submitters.sgml,v 1.1.1.1.2.2 1997/03/15 23:33:20 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.41 --> diff --git a/share/doc/ja_JP.EUC/handbook/sup.sgml b/share/doc/ja_JP.EUC/handbook/sup.sgml index 487d5dd6b4f88..582ee71525c12 100644 --- a/share/doc/ja_JP.EUC/handbook/sup.sgml +++ b/share/doc/ja_JP.EUC/handbook/sup.sgml @@ -1,4 +1,4 @@ -<!-- $Id: sup.sgml,v 1.11 1997/03/12 04:20:34 hanai Exp $ --> +<!-- $Id: sup.sgml,v 1.1.1.1.2.3 1997/03/15 23:33:21 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.27 --> diff --git a/share/doc/ja_JP.EUC/handbook/synching.sgml b/share/doc/ja_JP.EUC/handbook/synching.sgml index 5599aef8528bc..72a14be4ca3ff 100644 --- a/share/doc/ja_JP.EUC/handbook/synching.sgml +++ b/share/doc/ja_JP.EUC/handbook/synching.sgml @@ -1,4 +1,4 @@ -<!-- $Id: synching.sgml,v 1.9 1997/02/25 04:59:07 hanai Exp $ --> +<!-- $Id: synching.sgml,v 1.1.1.1.2.6 1997/03/15 23:33:23 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.9 --> @@ -9,7 +9,7 @@ <!-- -Last updated: $Date: 1997/02/25 04:59:07 $ +Last updated: $Date: 1997/03/15 23:33:23 $ This document tries to describe the various ways in which a user may use the internet to keep development sources in synch. diff --git a/share/doc/ja_JP.EUC/handbook/term.sgml b/share/doc/ja_JP.EUC/handbook/term.sgml index 2b74cb3cc5a71..c502d07cb9c0a 100644 --- a/share/doc/ja_JP.EUC/handbook/term.sgml +++ b/share/doc/ja_JP.EUC/handbook/term.sgml @@ -1,4 +1,4 @@ -<!-- $Id: term.sgml,v 1.6 1997/02/25 04:59:14 hanai Exp $ --> +<!-- $Id: term.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:24 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.7 --> diff --git a/share/doc/ja_JP.EUC/handbook/troubleshooting.sgml b/share/doc/ja_JP.EUC/handbook/troubleshooting.sgml index 43dbf04a97c97..c18e248e11e5c 100644 --- a/share/doc/ja_JP.EUC/handbook/troubleshooting.sgml +++ b/share/doc/ja_JP.EUC/handbook/troubleshooting.sgml @@ -1,4 +1,4 @@ -<!-- $Id: troubleshooting.sgml,v 1.5 1997/02/25 04:59:20 hanai Exp $ --> +<!-- $Id: troubleshooting.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:26 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.6 --> diff --git a/share/doc/ja_JP.EUC/handbook/uart.sgml b/share/doc/ja_JP.EUC/handbook/uart.sgml index caf5c83ca6583..752fc221d7886 100644 --- a/share/doc/ja_JP.EUC/handbook/uart.sgml +++ b/share/doc/ja_JP.EUC/handbook/uart.sgml @@ -1,4 +1,4 @@ -<!-- $Id: uart.sgml,v 1.5 1997/02/25 04:59:26 hanai Exp $ --> +<!-- $Id: uart.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:27 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.5 --> diff --git a/share/doc/ja_JP.EUC/handbook/userppp.sgml b/share/doc/ja_JP.EUC/handbook/userppp.sgml index 945cb91e2f656..8a894601e74d5 100644 --- a/share/doc/ja_JP.EUC/handbook/userppp.sgml +++ b/share/doc/ja_JP.EUC/handbook/userppp.sgml @@ -1,4 +1,4 @@ -<!-- $Id: userppp.sgml,v 1.6 1997/03/15 06:57:56 hanai Exp $ --> +<!-- $Id: userppp.sgml,v 1.1.1.1.2.1 1997/03/15 23:33:29 jkh Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.13 --> diff --git a/share/doc/papers/Makefile b/share/doc/papers/Makefile index 2c1b71a5c7692..0681a32896a26 100644 --- a/share/doc/papers/Makefile +++ b/share/doc/papers/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.6 1997/02/22 13:02:46 peter Exp $ +# $Id: Makefile,v 1.4.2.1 1997/03/15 23:33:55 jkh Exp $ SUBDIR= beyond4.3 diskperf fsinterface kernmalloc kerntune malloc memfs \ newvm nqnfs px relengr sysperf \ diff --git a/share/doc/papers/beyond4.3/Makefile b/share/doc/papers/beyond4.3/Makefile index b08ccc5f1cbc6..fd0ef10d7d957 100644 --- a/share/doc/papers/beyond4.3/Makefile +++ b/share/doc/papers/beyond4.3/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 5.2 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.6 1997/02/22 13:02:50 peter Exp $ +# $Id: Makefile,v 1.4.6.1 1997/03/15 23:33:57 jkh Exp $ VOLUME= papers SRCS= beyond43.ms diff --git a/share/doc/papers/contents/Makefile b/share/doc/papers/contents/Makefile index 4c45acf89bd14..9442b3bfaaf42 100644 --- a/share/doc/papers/contents/Makefile +++ b/share/doc/papers/contents/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1997/02/22 13:02:54 peter Exp $ +# $Id: Makefile,v 1.1.4.1 1997/03/15 23:33:59 jkh Exp $ VOLUME= papers DOC= contents diff --git a/share/doc/papers/contents/contents.ms b/share/doc/papers/contents/contents.ms index 8fd8472248a8b..5e6522559530b 100644 --- a/share/doc/papers/contents/contents.ms +++ b/share/doc/papers/contents/contents.ms @@ -21,7 +21,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: contents.ms,v 1.3 1997/02/22 13:02:55 peter Exp $ +.\" $Id: contents.ms,v 1.1.4.1 1997/03/15 23:33:59 jkh Exp $ .\" .OH '''Papers Contents' .EH 'Papers Contents''' diff --git a/share/doc/papers/diskperf/Makefile b/share/doc/papers/diskperf/Makefile index 9b3f3517546c5..0cbc36571ffec 100644 --- a/share/doc/papers/diskperf/Makefile +++ b/share/doc/papers/diskperf/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 6.3 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:02:58 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:34:02 jkh Exp $ VOLUME= papers DOC= diskperf diff --git a/share/doc/papers/diskperf/conclusions.ms b/share/doc/papers/diskperf/conclusions.ms index 6f51a3afa9134..32253a1834306 100644 --- a/share/doc/papers/diskperf/conclusions.ms +++ b/share/doc/papers/diskperf/conclusions.ms @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)conclusions.ms 6.2 (Berkeley) 4/16/91 -.\" $Id: conclusions.ms,v 1.5 1997/02/22 13:02:59 peter Exp $ +.\" $Id: conclusions.ms,v 1.2.2.1 1997/03/15 23:34:07 jkh Exp $ .\" .ds RH Conclusions .NH diff --git a/share/doc/papers/diskperf/tests.ms b/share/doc/papers/diskperf/tests.ms index 07fb41c6cdd98..4064beb26a6df 100644 --- a/share/doc/papers/diskperf/tests.ms +++ b/share/doc/papers/diskperf/tests.ms @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)tests.ms 6.2 (Berkeley) 4/16/91 -.\" $Id: tests.ms,v 1.4 1997/02/22 13:03:01 peter Exp $ +.\" $Id: tests.ms,v 1.2.2.1 1997/03/15 23:34:14 jkh Exp $ .\" .ds RH Tests .NH diff --git a/share/doc/papers/fsinterface/Makefile b/share/doc/papers/fsinterface/Makefile index 8bb7a78b8fb3e..367296c43e641 100644 --- a/share/doc/papers/fsinterface/Makefile +++ b/share/doc/papers/fsinterface/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 5.3 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.5 1997/02/22 13:03:04 peter Exp $ +# $Id: Makefile,v 1.3.6.1 1997/03/15 23:34:17 jkh Exp $ VOLUME= papers DOC= fsinterface diff --git a/share/doc/papers/fsinterface/fsinterface.ms b/share/doc/papers/fsinterface/fsinterface.ms index b9868bcb6aa6c..1204d48f8b301 100644 --- a/share/doc/papers/fsinterface/fsinterface.ms +++ b/share/doc/papers/fsinterface/fsinterface.ms @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fsinterface.ms 1.4 (Berkeley) 4/16/91 -.\" $Id: fsinterface.ms,v 1.5 1997/02/22 13:03:06 peter Exp $ +.\" $Id: fsinterface.ms,v 1.2.2.1 1997/03/15 23:34:18 jkh Exp $ .\" .if \nv .rm CM .de UX diff --git a/share/doc/papers/kernmalloc/Makefile b/share/doc/papers/kernmalloc/Makefile index f900cf50f494f..5d4cbb2873013 100644 --- a/share/doc/papers/kernmalloc/Makefile +++ b/share/doc/papers/kernmalloc/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 1.8 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:03:11 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:34:20 jkh Exp $ VOLUME= papers DOC= kernmalloc diff --git a/share/doc/papers/kernmalloc/kernmalloc.t b/share/doc/papers/kernmalloc/kernmalloc.t index c1eb157200cf7..d28de0ce51fd1 100644 --- a/share/doc/papers/kernmalloc/kernmalloc.t +++ b/share/doc/papers/kernmalloc/kernmalloc.t @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)kernmalloc.t 5.1 (Berkeley) 4/16/91 -.\" $Id: kernmalloc.t,v 1.4 1997/02/22 13:03:14 peter Exp $ +.\" $Id: kernmalloc.t,v 1.2.2.1 1997/03/15 23:34:22 jkh Exp $ .\" .\" reference a system routine name .de RN diff --git a/share/doc/papers/kerntune/1.t b/share/doc/papers/kerntune/1.t index b4d7cdb7e0f33..a6a34719531fa 100644 --- a/share/doc/papers/kerntune/1.t +++ b/share/doc/papers/kerntune/1.t @@ -31,7 +31,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)1.t 1.2 (Berkeley) 11/8/90 -.\" $Id: 1.t,v 1.4 1997/02/22 13:03:17 peter Exp $ +.\" $Id: 1.t,v 1.2.2.1 1997/03/15 23:34:25 jkh Exp $ .\" .ds RH Introduction .NH 1 diff --git a/share/doc/papers/kerntune/Makefile b/share/doc/papers/kerntune/Makefile index 6cd65ec98a78d..b86c87769951c 100644 --- a/share/doc/papers/kerntune/Makefile +++ b/share/doc/papers/kerntune/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 1.5 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.5 1997/02/22 13:03:19 peter Exp $ +# $Id: Makefile,v 1.3.2.1 1997/03/15 23:34:28 jkh Exp $ VOLUME= papers DOC= kerntune diff --git a/share/doc/papers/malloc/Makefile b/share/doc/papers/malloc/Makefile index 0f79ed88177b0..824a455250b59 100644 --- a/share/doc/papers/malloc/Makefile +++ b/share/doc/papers/malloc/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 6.3 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.3 1997/02/22 13:03:24 peter Exp $ +# $Id: Makefile,v 1.1.2.1 1997/03/15 23:34:31 jkh Exp $ VOLUME= papers DOC= malloc diff --git a/share/doc/papers/malloc/abs.ms b/share/doc/papers/malloc/abs.ms index f40c2d862f961..0e24528556212 100644 --- a/share/doc/papers/malloc/abs.ms +++ b/share/doc/papers/malloc/abs.ms @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: abs.ms,v 1.4 1997/02/22 13:03:26 peter Exp $ +.\" $Id: abs.ms,v 1.1.2.2 1997/03/15 23:34:32 jkh Exp $ .\" .if n .ND .TL diff --git a/share/doc/papers/malloc/alternatives.ms b/share/doc/papers/malloc/alternatives.ms index 909c312187466..811a407caf681 100644 --- a/share/doc/papers/malloc/alternatives.ms +++ b/share/doc/papers/malloc/alternatives.ms @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: alternatives.ms,v 1.4 1997/02/22 13:03:27 peter Exp $ +.\" $Id: alternatives.ms,v 1.1.2.2 1997/03/15 23:34:34 jkh Exp $ .\" .ds RH Alternative implementations .NH diff --git a/share/doc/papers/malloc/conclusion.ms b/share/doc/papers/malloc/conclusion.ms index 83c49aae6c067..0bc45b8e0daab 100644 --- a/share/doc/papers/malloc/conclusion.ms +++ b/share/doc/papers/malloc/conclusion.ms @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: conclusion.ms,v 1.4 1997/02/22 13:03:30 peter Exp $ +.\" $Id: conclusion.ms,v 1.1.2.2 1997/03/15 23:34:36 jkh Exp $ .\" .ds RH Conclusion and experience. .NH diff --git a/share/doc/papers/malloc/implementation.ms b/share/doc/papers/malloc/implementation.ms index 92189856619fd..7bb255933d3c1 100644 --- a/share/doc/papers/malloc/implementation.ms +++ b/share/doc/papers/malloc/implementation.ms @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: implementation.ms,v 1.7 1997/02/22 13:03:32 peter Exp $ +.\" $Id: implementation.ms,v 1.3.2.4 1997/03/15 23:34:37 jkh Exp $ .\" .ds RH Implementation .NH diff --git a/share/doc/papers/malloc/intro.ms b/share/doc/papers/malloc/intro.ms index cd5ecd090d725..2423661ee313e 100644 --- a/share/doc/papers/malloc/intro.ms +++ b/share/doc/papers/malloc/intro.ms @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: intro.ms,v 1.5 1997/02/22 13:03:33 peter Exp $ +.\" $Id: intro.ms,v 1.1.2.4 1997/03/15 23:34:38 jkh Exp $ .\" .ds RH Introduction .NH diff --git a/share/doc/papers/malloc/kernel.ms b/share/doc/papers/malloc/kernel.ms index 3b4d3c1b17c7a..71383c817f309 100644 --- a/share/doc/papers/malloc/kernel.ms +++ b/share/doc/papers/malloc/kernel.ms @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: kernel.ms,v 1.6 1997/02/22 13:03:36 peter Exp $ +.\" $Id: kernel.ms,v 1.2.2.4 1997/03/15 23:34:39 jkh Exp $ .\" .ds RH The kernel and memory .NH diff --git a/share/doc/papers/malloc/malloc.ms b/share/doc/papers/malloc/malloc.ms index 721c23a8a9ac9..6671386dd4181 100644 --- a/share/doc/papers/malloc/malloc.ms +++ b/share/doc/papers/malloc/malloc.ms @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: malloc.ms,v 1.6 1997/02/22 13:03:37 peter Exp $ +.\" $Id: malloc.ms,v 1.3.2.2 1997/03/15 23:34:40 jkh Exp $ .\" .ds RH Malloc and free .NH diff --git a/share/doc/papers/malloc/performance.ms b/share/doc/papers/malloc/performance.ms index 8418515d85dfa..0715c8c38f0e6 100644 --- a/share/doc/papers/malloc/performance.ms +++ b/share/doc/papers/malloc/performance.ms @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: performance.ms,v 1.5 1997/02/22 13:03:40 peter Exp $ +.\" $Id: performance.ms,v 1.1.2.4 1997/03/15 23:34:42 jkh Exp $ .\" .ds RH Performance .NH diff --git a/share/doc/papers/malloc/problems.ms b/share/doc/papers/malloc/problems.ms index c430e6461ba75..c5b311fd14627 100644 --- a/share/doc/papers/malloc/problems.ms +++ b/share/doc/papers/malloc/problems.ms @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: problems.ms,v 1.4 1997/02/22 13:03:43 peter Exp $ +.\" $Id: problems.ms,v 1.1.2.2 1997/03/15 23:34:43 jkh Exp $ .\" .ds RH The problems .NH diff --git a/share/doc/papers/memfs/Makefile b/share/doc/papers/memfs/Makefile index 0cc9aea4ea379..0115dbfb3389f 100644 --- a/share/doc/papers/memfs/Makefile +++ b/share/doc/papers/memfs/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 1.8 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.6 1997/02/22 13:03:48 peter Exp $ +# $Id: Makefile,v 1.4.2.1 1997/03/15 23:34:50 jkh Exp $ VOLUME= papers DOC= memfs diff --git a/share/doc/papers/newvm/1.t b/share/doc/papers/newvm/1.t index 62165717439e7..26f5a913868eb 100644 --- a/share/doc/papers/newvm/1.t +++ b/share/doc/papers/newvm/1.t @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)1.t 5.1 (Berkeley) 4/16/91 -.\" $Id: 1.t,v 1.5 1997/02/22 13:03:52 peter Exp $ +.\" $Id: 1.t,v 1.2.2.1 1997/03/15 23:34:53 jkh Exp $ .\" .NH Motivations for a New Virtual Memory System diff --git a/share/doc/papers/newvm/Makefile b/share/doc/papers/newvm/Makefile index 2f06b9a79b178..f7af60066322f 100644 --- a/share/doc/papers/newvm/Makefile +++ b/share/doc/papers/newvm/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 1.4 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:03:53 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:34:54 jkh Exp $ VOLUME= papers DOC= newvm diff --git a/share/doc/papers/newvm/a.t b/share/doc/papers/newvm/a.t index e27d5ff2a89db..1b80961db7d1f 100644 --- a/share/doc/papers/newvm/a.t +++ b/share/doc/papers/newvm/a.t @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)a.t 5.1 (Berkeley) 4/16/91 -.\" $Id: a.t,v 1.5 1997/02/22 13:03:56 peter Exp $ +.\" $Id: a.t,v 1.2.2.1 1997/03/15 23:34:56 jkh Exp $ .\" .sp 2 .ne 2i diff --git a/share/doc/papers/nqnfs/Makefile b/share/doc/papers/nqnfs/Makefile index e426f5e8bf878..15b6d58dd4df5 100644 --- a/share/doc/papers/nqnfs/Makefile +++ b/share/doc/papers/nqnfs/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 4/20/94 -# $Id: Makefile,v 1.4 1997/02/22 13:04:01 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:34:58 jkh Exp $ VOLUME= papers DOC= nqnfs diff --git a/share/doc/papers/px/Makefile b/share/doc/papers/px/Makefile index 94d2a56b2e61a..fc6ff18098d2d 100644 --- a/share/doc/papers/px/Makefile +++ b/share/doc/papers/px/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 5.3 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.6 1997/02/22 13:04:05 peter Exp $ +# $Id: Makefile,v 1.3.2.1 1997/03/15 23:35:01 jkh Exp $ VOLUME= papers DOC= px diff --git a/share/doc/papers/relengr/Makefile b/share/doc/papers/relengr/Makefile index cdd4b638cb69e..d6c1278fedfc8 100644 --- a/share/doc/papers/relengr/Makefile +++ b/share/doc/papers/relengr/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 1.6 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.5 1997/02/22 13:04:09 peter Exp $ +# $Id: Makefile,v 1.3.6.1 1997/03/15 23:35:03 jkh Exp $ VOLUME= papers DOC= releng diff --git a/share/doc/papers/sysperf/Makefile b/share/doc/papers/sysperf/Makefile index 8641372203075..5cd7ea47742d3 100644 --- a/share/doc/papers/sysperf/Makefile +++ b/share/doc/papers/sysperf/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 1.6 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:04:12 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:35:05 jkh Exp $ VOLUME= papers DOC= sysperf diff --git a/share/doc/psd/05.sysman/1.2.t b/share/doc/psd/05.sysman/1.2.t index 87bdda85e2896..d56721c198f5d 100644 --- a/share/doc/psd/05.sysman/1.2.t +++ b/share/doc/psd/05.sysman/1.2.t @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)1.2.t 8.1 (Berkeley) 6/8/93 -.\" $Id: 1.2.t,v 1.4 1997/02/22 13:04:20 peter Exp $ +.\" $Id: 1.2.t,v 1.2.2.1 1997/03/15 23:35:09 jkh Exp $ .\" .sh "Memory management\(dg .NH 3 diff --git a/share/doc/psd/05.sysman/2.3.t b/share/doc/psd/05.sysman/2.3.t index de220263be605..67b5acfb82fa7 100644 --- a/share/doc/psd/05.sysman/2.3.t +++ b/share/doc/psd/05.sysman/2.3.t @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)2.3.t 8.1 (Berkeley) 6/8/93 -.\" $Id: 2.3.t,v 1.4 1997/02/22 13:04:23 peter Exp $ +.\" $Id: 2.3.t,v 1.2.2.1 1997/03/15 23:35:10 jkh Exp $ .\" .sh "Interprocess communications .NH 3 diff --git a/share/doc/psd/05.sysman/Makefile b/share/doc/psd/05.sysman/Makefile index efea81218f7b0..0b36a65d4fd1d 100644 --- a/share/doc/psd/05.sysman/Makefile +++ b/share/doc/psd/05.sysman/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:04:24 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:35:11 jkh Exp $ VOLUME= psd/05.sysman SRCS= 0.t 1.0.t 1.1.t 1.2.t 1.3.t 1.4.t 1.5.t 1.6.t 1.7.t \ diff --git a/share/doc/psd/12.make/Makefile b/share/doc/psd/12.make/Makefile index 4c411d4f9ca54..20a232b453d0c 100644 --- a/share/doc/psd/12.make/Makefile +++ b/share/doc/psd/12.make/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 8/14/93 -# $Id: Makefile,v 1.3 1997/02/22 13:04:28 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:13 jkh Exp $ VOLUME= psd/12.make SRCS= tutorial.ms diff --git a/share/doc/psd/13.rcs/Makefile b/share/doc/psd/13.rcs/Makefile index 28c227fe00f42..55795c847b43b 100644 --- a/share/doc/psd/13.rcs/Makefile +++ b/share/doc/psd/13.rcs/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/03/04 18:21:03 wosch Exp $ SUBDIR= rcs rcs_func diff --git a/share/doc/psd/13.rcs/Makefile.inc b/share/doc/psd/13.rcs/Makefile.inc index efd41f403ac91..bb17ddfa561a5 100644 --- a/share/doc/psd/13.rcs/Makefile.inc +++ b/share/doc/psd/13.rcs/Makefile.inc @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1997/03/04 18:21:04 wosch Exp $ VOLUME= psd/13.rcs MACROS= -ms diff --git a/share/doc/psd/13.rcs/rcs/Makefile b/share/doc/psd/13.rcs/rcs/Makefile index 439e9c8a20301..9729d8cf21802 100644 --- a/share/doc/psd/13.rcs/rcs/Makefile +++ b/share/doc/psd/13.rcs/rcs/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/03/04 18:21:05 wosch Exp $ SRCS= rcs.ms USE_PIC= yes diff --git a/share/doc/psd/13.rcs/rcs_func/Makefile b/share/doc/psd/13.rcs/rcs_func/Makefile index c28434d766394..afcffe6a8e311 100644 --- a/share/doc/psd/13.rcs/rcs_func/Makefile +++ b/share/doc/psd/13.rcs/rcs_func/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/03/04 18:21:06 wosch Exp $ SRCS= rcs_func.ms DOC= rcs_func diff --git a/share/doc/psd/18.gprof/Makefile b/share/doc/psd/18.gprof/Makefile index 4b9329bed2332..f5b9ca9c50e4a 100644 --- a/share/doc/psd/18.gprof/Makefile +++ b/share/doc/psd/18.gprof/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 8/14/93 -# $Id: Makefile,v 1.4 1997/02/22 13:04:31 peter Exp $ +# $Id: Makefile,v 1.2.2.1 1997/03/15 23:35:15 jkh Exp $ VOLUME= psd/18.gprof SRCS= header.me abstract.me intro.me profiling.me gathering.me \ diff --git a/share/doc/psd/19.curses/Makefile b/share/doc/psd/19.curses/Makefile index c4ad66d19b01f..d27cb4901bd47 100644 --- a/share/doc/psd/19.curses/Makefile +++ b/share/doc/psd/19.curses/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 8/14/93 -# $Id: Makefile,v 1.8 1997/03/03 01:09:51 wosch Exp $ +# $Id: Makefile,v 1.3.2.2 1997/03/15 23:35:17 jkh Exp $ VOLUME= psd/19.curses SRCS= Master diff --git a/share/doc/psd/20.ipctut/Makefile b/share/doc/psd/20.ipctut/Makefile index 0a309dbae9693..f4c89c2c5946f 100644 --- a/share/doc/psd/20.ipctut/Makefile +++ b/share/doc/psd/20.ipctut/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 8/14/93 -# $Id: Makefile,v 1.4 1997/02/22 13:04:40 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:35:20 jkh Exp $ VOLUME= psd/20.ipctut SRCS= tutor.me diff --git a/share/doc/psd/21.ipc/5.t b/share/doc/psd/21.ipc/5.t index ecb1ef42c183f..0718bac96991b 100644 --- a/share/doc/psd/21.ipc/5.t +++ b/share/doc/psd/21.ipc/5.t @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)5.t 8.1 (Berkeley) 8/14/93 -.\" $Id: 5.t,v 1.4 1997/02/22 13:04:44 peter Exp $ +.\" $Id: 5.t,v 1.2.2.1 1997/03/15 23:35:22 jkh Exp $ .\" .\".ds RH "Advanced Topics .bp diff --git a/share/doc/psd/21.ipc/Makefile b/share/doc/psd/21.ipc/Makefile index b9aced5a5736c..afaba381c7031 100644 --- a/share/doc/psd/21.ipc/Makefile +++ b/share/doc/psd/21.ipc/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:04:45 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:35:23 jkh Exp $ VOLUME= psd/21.ipc SRCS= 0.t 1.t 2.t 3.t 4.t 5.t diff --git a/share/doc/psd/22.rpcgen/Makefile b/share/doc/psd/22.rpcgen/Makefile index fd785f16a3e90..1e8ef7006d744 100644 --- a/share/doc/psd/22.rpcgen/Makefile +++ b/share/doc/psd/22.rpcgen/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:04:50 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:25 jkh Exp $ VOLUME= psd/22.rpcgen SRCS= rpcgen.ms diff --git a/share/doc/psd/23.rpc/Makefile b/share/doc/psd/23.rpc/Makefile index 24ffc5e3fcd5c..fe33459571c7b 100644 --- a/share/doc/psd/23.rpc/Makefile +++ b/share/doc/psd/23.rpc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:04:53 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:29 jkh Exp $ VOLUME= psd/23.rpc SRCS= rpc.prog.ms diff --git a/share/doc/psd/24.xdr/Makefile b/share/doc/psd/24.xdr/Makefile index 0219c3e1e970e..2ad861313a275 100644 --- a/share/doc/psd/24.xdr/Makefile +++ b/share/doc/psd/24.xdr/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:04:58 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:32 jkh Exp $ VOLUME= psd/24.xdr SRCS= xdr.nts.ms diff --git a/share/doc/psd/25.xdrrfc/Makefile b/share/doc/psd/25.xdrrfc/Makefile index 8b122ab6208f4..63cc5e0dff468 100644 --- a/share/doc/psd/25.xdrrfc/Makefile +++ b/share/doc/psd/25.xdrrfc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:05:01 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:33 jkh Exp $ VOLUME= psd/25.xdrrfc SRCS= xdr.rfc.ms diff --git a/share/doc/psd/26.rpcrfc/Makefile b/share/doc/psd/26.rpcrfc/Makefile index 7f9cf9a657ca5..551dd29bbbf48 100644 --- a/share/doc/psd/26.rpcrfc/Makefile +++ b/share/doc/psd/26.rpcrfc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:05:04 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:34 jkh Exp $ VOLUME= psd/26.rpcrfc SRCS= rpc.rfc.ms diff --git a/share/doc/psd/27.nfsrpc/Makefile b/share/doc/psd/27.nfsrpc/Makefile index 0630d97aa7fd9..bcbe3ce79c255 100644 --- a/share/doc/psd/27.nfsrpc/Makefile +++ b/share/doc/psd/27.nfsrpc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:05:07 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:36 jkh Exp $ VOLUME= psd/27.nfsrfc SRCS= nfs.rfc.ms diff --git a/share/doc/psd/28.cvs/Makefile b/share/doc/psd/28.cvs/Makefile index 4aaa924ef057e..9517e019fb28b 100644 --- a/share/doc/psd/28.cvs/Makefile +++ b/share/doc/psd/28.cvs/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/03/04 18:21:07 wosch Exp $ VOLUME= psd/28.cvs MACROS= -ms diff --git a/share/doc/psd/Makefile b/share/doc/psd/Makefile index 88df3d5ae489d..7519707a94629 100644 --- a/share/doc/psd/Makefile +++ b/share/doc/psd/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.11 1997/03/04 18:20:20 wosch Exp $ +# $Id: Makefile,v 1.8.2.1 1997/03/15 23:35:07 jkh Exp $ # The following modules do not build/install: # 10.gdb diff --git a/share/doc/psd/contents/Makefile b/share/doc/psd/contents/Makefile index 6fe58d2737374..91dc6365443ff 100644 --- a/share/doc/psd/contents/Makefile +++ b/share/doc/psd/contents/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:05:12 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:38 jkh Exp $ VOLUME= psd SRCS= contents.ms diff --git a/share/doc/psd/title/Makefile b/share/doc/psd/title/Makefile index af6a77e192c93..8be75d77c5c4f 100644 --- a/share/doc/psd/title/Makefile +++ b/share/doc/psd/title/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1997/03/02 14:04:08 wosch Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:40 jkh Exp $ VOLUME= psd SRCS= Title diff --git a/share/doc/smm/01.setup/2.t b/share/doc/smm/01.setup/2.t index a7c71ab0adcb1..c9fbd4fc1d0d8 100644 --- a/share/doc/smm/01.setup/2.t +++ b/share/doc/smm/01.setup/2.t @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)2.t 8.1 (Berkeley) 7/27/93 -.\" $Id: 2.t,v 1.6 1997/02/22 13:05:22 peter Exp $ +.\" $Id: 2.t,v 1.4.2.1 1997/03/15 23:35:44 jkh Exp $ .\" .ds lq `` .ds rq '' diff --git a/share/doc/smm/01.setup/Makefile b/share/doc/smm/01.setup/Makefile index 0425032e1e336..5f5edc23043ec 100644 --- a/share/doc/smm/01.setup/Makefile +++ b/share/doc/smm/01.setup/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 7/27/93 -# $Id: Makefile,v 1.4 1997/02/22 13:05:24 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:35:45 jkh Exp $ VOLUME= smm/01.setup SRCS= 0.t 1.t 2.t 3.t 4.t 5.t 6.t diff --git a/share/doc/smm/02.config/Makefile b/share/doc/smm/02.config/Makefile index e7ad93b902866..ddf902c1ad87f 100644 --- a/share/doc/smm/02.config/Makefile +++ b/share/doc/smm/02.config/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.3 1997/02/22 13:05:28 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:47 jkh Exp $ VOLUME= smm/02.config SRCS= 0.t 1.t 2.t 3.t 4.t 5.t 6.t a.t b.t c.t d.t e.t diff --git a/share/doc/smm/03.fsck/Makefile b/share/doc/smm/03.fsck/Makefile index fa734b2c35b36..8f005e417091a 100644 --- a/share/doc/smm/03.fsck/Makefile +++ b/share/doc/smm/03.fsck/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.3 1997/02/22 13:05:31 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:49 jkh Exp $ VOLUME= smm/03.fsck SRCS= 0.t 1.t 2.t 3.t 4.t diff --git a/share/doc/smm/04.quotas/Makefile b/share/doc/smm/04.quotas/Makefile index 585d4c8dd79cd..0ae830047b4cb 100644 --- a/share/doc/smm/04.quotas/Makefile +++ b/share/doc/smm/04.quotas/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:05:34 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:35:50 jkh Exp $ VOLUME= smm/04.quotas SRCS= quotas.ms diff --git a/share/doc/smm/05.fastfs/Makefile b/share/doc/smm/05.fastfs/Makefile index 1b321a3fb9eb0..aa28f64d3f6ba 100644 --- a/share/doc/smm/05.fastfs/Makefile +++ b/share/doc/smm/05.fastfs/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:05:37 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:35:52 jkh Exp $ VOLUME= smm/05.fastfs SRCS= 0.t 1.t 2.t 3.t 4.t 5.t 6.t diff --git a/share/doc/smm/06.nfs/Makefile b/share/doc/smm/06.nfs/Makefile index 08a19cb3a1221..7a76533c40286 100644 --- a/share/doc/smm/06.nfs/Makefile +++ b/share/doc/smm/06.nfs/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:05:40 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:35:53 jkh Exp $ VOLUME= smm/06.nfs SRCS= 0.t 1.t 2.t ref.t diff --git a/share/doc/smm/07.lpd/Makefile b/share/doc/smm/07.lpd/Makefile index c0ed3e0d6c993..b30b43bf382b8 100644 --- a/share/doc/smm/07.lpd/Makefile +++ b/share/doc/smm/07.lpd/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.3 1997/02/22 13:05:43 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:55 jkh Exp $ VOLUME= smm/07.lpd SRCS= 0.t 1.t 2.t 3.t 4.t 5.t 6.t 7.t diff --git a/share/doc/smm/08.sendmailop/Makefile b/share/doc/smm/08.sendmailop/Makefile index da24d3bbb2213..ba8b623d1e495 100644 --- a/share/doc/smm/08.sendmailop/Makefile +++ b/share/doc/smm/08.sendmailop/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.2 (Berkeley) 2/28/94 -# $Id: Makefile,v 1.3 1997/02/22 13:05:49 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:57 jkh Exp $ VOLUME= smm/08.sendmailop SRCS= op.me diff --git a/share/doc/smm/09.sendmail/Makefile b/share/doc/smm/09.sendmail/Makefile index e49661549c981..895d346f06186 100644 --- a/share/doc/smm/09.sendmail/Makefile +++ b/share/doc/smm/09.sendmail/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.2 (Berkeley) 2/28/94 -# $Id: Makefile,v 1.3 1997/02/22 13:05:51 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:35:58 jkh Exp $ VOLUME= smm/09.sendmail SRCS= intro.me diff --git a/share/doc/smm/10.named/Makefile b/share/doc/smm/10.named/Makefile index bb21453bd668f..04010b55b69b2 100644 --- a/share/doc/smm/10.named/Makefile +++ b/share/doc/smm/10.named/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:05:54 peter Exp $ +# $Id: Makefile,v 1.1.2.1 1997/03/15 23:36:00 jkh Exp $ SRCDIR= ${.CURDIR}/../../../../contrib/bind/doc/bog diff --git a/share/doc/smm/11.timedop/Makefile b/share/doc/smm/11.timedop/Makefile index dafdd9e20f867..a9ab37a36b83a 100644 --- a/share/doc/smm/11.timedop/Makefile +++ b/share/doc/smm/11.timedop/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.3 1997/02/22 13:05:58 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:36:03 jkh Exp $ VOLUME= smm/11.timedop SRCS= timed.ms diff --git a/share/doc/smm/12.timed/Makefile b/share/doc/smm/12.timed/Makefile index 905e820ae1cea..4e99e7f96755b 100644 --- a/share/doc/smm/12.timed/Makefile +++ b/share/doc/smm/12.timed/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:06:00 peter Exp $ +# $Id: Makefile,v 1.2.2.1 1997/03/15 23:36:05 jkh Exp $ VOLUME= smm/12.timed SRCS= timed.ms diff --git a/share/doc/smm/18.net/Makefile b/share/doc/smm/18.net/Makefile index 4289e9a81bb16..e75f0a2c56d6e 100644 --- a/share/doc/smm/18.net/Makefile +++ b/share/doc/smm/18.net/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/10/93 -# $Id: Makefile,v 1.5 1997/02/22 13:06:02 peter Exp $ +# $Id: Makefile,v 1.3.6.1 1997/03/15 23:36:07 jkh Exp $ VOLUME= smm/18.net SRCS= 0.t 1.t 2.t 3.t 4.t 5.t 6.t 7.t 8.t 9.t a.t b.t c.t d.t e.t f.t diff --git a/share/doc/smm/Makefile b/share/doc/smm/Makefile index 028efb512c074..e70d8ec8550f5 100644 --- a/share/doc/smm/Makefile +++ b/share/doc/smm/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/10/93 -# $Id: Makefile,v 1.7 1997/02/22 13:05:19 peter Exp $ +# $Id: Makefile,v 1.4.2.1 1997/03/15 23:35:42 jkh Exp $ # The following modules do not describe FreeBSD: # 14.uucpimpl, 15.uucpnet diff --git a/share/doc/smm/contents/Makefile b/share/doc/smm/contents/Makefile index fdc265706e7ce..325a5ed975adb 100644 --- a/share/doc/smm/contents/Makefile +++ b/share/doc/smm/contents/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:06:04 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:36:09 jkh Exp $ VOLUME= smm SRCS= contents.ms diff --git a/share/doc/smm/title/Makefile b/share/doc/smm/title/Makefile index 1b2d073f65e1f..3e16ffa74660f 100644 --- a/share/doc/smm/title/Makefile +++ b/share/doc/smm/title/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1997/03/02 14:04:11 wosch Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:36:11 jkh Exp $ VOLUME= smm SRCS= Title diff --git a/share/doc/usd/04.csh/Makefile b/share/doc/usd/04.csh/Makefile index 9d6f065244d72..8075810f8be89 100644 --- a/share/doc/usd/04.csh/Makefile +++ b/share/doc/usd/04.csh/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 8/14/93 -# $Id: Makefile,v 1.4 1997/03/02 21:17:53 wosch Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:36:15 jkh Exp $ VOLUME= usd/04.csh SRCS= tabs csh.1 csh.2 csh.3 csh.4 csh.a csh.g diff --git a/share/doc/usd/07.mail/Makefile b/share/doc/usd/07.mail/Makefile index 30b9ab09828a4..e83329db70dfb 100644 --- a/share/doc/usd/07.mail/Makefile +++ b/share/doc/usd/07.mail/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.3 1997/02/22 13:06:18 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:36:17 jkh Exp $ VOLUME= usd/07.mail SRCS= mail0.nr mail1.nr mail2.nr mail3.nr mail4.nr mail5.nr mail6.nr \ diff --git a/share/doc/usd/10.exref/Makefile b/share/doc/usd/10.exref/Makefile index 90a1dd86eaf9e..87eafde25d0c9 100644 --- a/share/doc/usd/10.exref/Makefile +++ b/share/doc/usd/10.exref/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.9 1997/03/02 14:07:28 wosch Exp $ +# $Id: Makefile,v 1.5.2.1 1997/03/15 23:36:18 jkh Exp $ SUBDIR= exref summary diff --git a/share/doc/usd/10.exref/Makefile.inc b/share/doc/usd/10.exref/Makefile.inc index 141bd72a5b755..9306b0f1f56b7 100644 --- a/share/doc/usd/10.exref/Makefile.inc +++ b/share/doc/usd/10.exref/Makefile.inc @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1997/03/02 14:07:29 wosch Exp $ VOLUME= usd/10.exref MACROS= -ms diff --git a/share/doc/usd/10.exref/summary/Makefile b/share/doc/usd/10.exref/summary/Makefile index 5326af9d1d740..763754a25a85e 100644 --- a/share/doc/usd/10.exref/summary/Makefile +++ b/share/doc/usd/10.exref/summary/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/03/02 14:07:40 wosch Exp $ SRCS= ex.summary DOC= summary diff --git a/share/doc/usd/11.vitut/Makefile b/share/doc/usd/11.vitut/Makefile index 2445fff6b0f92..26a21de2c114f 100644 --- a/share/doc/usd/11.vitut/Makefile +++ b/share/doc/usd/11.vitut/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:06:23 peter Exp $ +# $Id: Makefile,v 1.2.2.1 1997/03/15 23:36:20 jkh Exp $ VOLUME= usd/11.edit SRCS= edittut.ms diff --git a/share/doc/usd/12.vi/Makefile b/share/doc/usd/12.vi/Makefile index d29bf4c3f017e..105b9124ed1a9 100644 --- a/share/doc/usd/12.vi/Makefile +++ b/share/doc/usd/12.vi/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.8 1997/03/02 14:07:42 wosch Exp $ +# $Id: Makefile,v 1.4.2.1 1997/03/15 23:36:22 jkh Exp $ SUBDIR= vi viapwh summary diff --git a/share/doc/usd/12.vi/Makefile.inc b/share/doc/usd/12.vi/Makefile.inc index 8950c9bc77ed3..434063b8333c5 100644 --- a/share/doc/usd/12.vi/Makefile.inc +++ b/share/doc/usd/12.vi/Makefile.inc @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1997/03/02 14:07:43 wosch Exp $ VOLUME= usd/12.vi MACROS= -ms diff --git a/share/doc/usd/12.vi/summary/Makefile b/share/doc/usd/12.vi/summary/Makefile index 1bb8ebc92fc55..e68ab35a119d1 100644 --- a/share/doc/usd/12.vi/summary/Makefile +++ b/share/doc/usd/12.vi/summary/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/03/02 14:07:46 wosch Exp $ SRCS= vi.summary DOC= summary diff --git a/share/doc/usd/12.vi/vi/Makefile b/share/doc/usd/12.vi/vi/Makefile index 145775f4a46b5..7208b7a732248 100644 --- a/share/doc/usd/12.vi/vi/Makefile +++ b/share/doc/usd/12.vi/vi/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/03/02 14:07:47 wosch Exp $ SRCS= vi.in vi.chars #DOC= tutorial diff --git a/share/doc/usd/12.vi/viapwh/Makefile b/share/doc/usd/12.vi/viapwh/Makefile index 47a6f256e699c..fe4215a017d8b 100644 --- a/share/doc/usd/12.vi/viapwh/Makefile +++ b/share/doc/usd/12.vi/viapwh/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/03/02 14:07:50 wosch Exp $ SRCS= vi.apwh.ms DOC= viapwh diff --git a/share/doc/usd/13.viref/Makefile b/share/doc/usd/13.viref/Makefile index c0699dda3b57e..fb8c094935021 100644 --- a/share/doc/usd/13.viref/Makefile +++ b/share/doc/usd/13.viref/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.16 (Berkeley) 8/15/94 -# $Id: Makefile,v 1.6 1997/02/22 13:06:31 peter Exp $ +# $Id: Makefile,v 1.4.2.1 1997/03/15 23:36:25 jkh Exp $ VOLUME= usd/13.viref SRCS= vi.ref diff --git a/share/doc/usd/18.msdiffs/Makefile b/share/doc/usd/18.msdiffs/Makefile index 95b4b038c09da..95ace53bd8137 100644 --- a/share/doc/usd/18.msdiffs/Makefile +++ b/share/doc/usd/18.msdiffs/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:06:36 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:36:27 jkh Exp $ VOLUME= usd/18.msdiffs SRCS= ms.diffs diff --git a/share/doc/usd/19.memacros/Makefile b/share/doc/usd/19.memacros/Makefile index 271b34d2d2569..02e523f4a8b13 100644 --- a/share/doc/usd/19.memacros/Makefile +++ b/share/doc/usd/19.memacros/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:06:39 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:36:30 jkh Exp $ VOLUME= usd/19.memacros SRCS= intro.me diff --git a/share/doc/usd/19.memacros/intro.me b/share/doc/usd/19.memacros/intro.me index f057611eabeb8..cb5d184c7e582 100644 --- a/share/doc/usd/19.memacros/intro.me +++ b/share/doc/usd/19.memacros/intro.me @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)intro.me 8.1 (Berkeley) 6/8/93 -.\" $Id: intro.me,v 1.4 1997/02/22 13:06:41 peter Exp $ +.\" $Id: intro.me,v 1.2.2.1 1997/03/15 23:36:31 jkh Exp $ .\" .UC 7 .ll 6.5i diff --git a/share/doc/usd/20.meref/Makefile b/share/doc/usd/20.meref/Makefile index b24b1d39e79d1..5dbb902200ec0 100644 --- a/share/doc/usd/20.meref/Makefile +++ b/share/doc/usd/20.meref/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.4 1997/02/22 13:06:44 peter Exp $ +# $Id: Makefile,v 1.2.6.1 1997/03/15 23:36:36 jkh Exp $ VOLUME= usd/20.meref SRCS= ref.me diff --git a/share/doc/usd/30.rogue/Makefile b/share/doc/usd/30.rogue/Makefile index 4abc5d2b16ce8..417f569d0dd90 100644 --- a/share/doc/usd/30.rogue/Makefile +++ b/share/doc/usd/30.rogue/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.6 1997/02/22 13:06:45 peter Exp $ +# $Id: Makefile,v 1.3.6.3 1997/03/15 23:36:38 jkh Exp $ .if exists(${.CURDIR}/../../../../games) VOLUME= usd/30.rogue diff --git a/share/doc/usd/31.trek/Makefile b/share/doc/usd/31.trek/Makefile index 8ca6732cdc88c..91184da58b94d 100644 --- a/share/doc/usd/31.trek/Makefile +++ b/share/doc/usd/31.trek/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id: Makefile,v 1.5 1997/02/22 13:06:48 peter Exp $ +# $Id: Makefile,v 1.2.6.3 1997/03/15 23:36:41 jkh Exp $ .if exists(${.CURDIR}/../../../../games) VOLUME= usd/31.trek diff --git a/share/doc/usd/Makefile b/share/doc/usd/Makefile index 8ea22c18b7ae3..2cd3903907a17 100644 --- a/share/doc/usd/Makefile +++ b/share/doc/usd/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.2 (Berkeley) 4/20/94 -# $Id: Makefile,v 1.6 1997/02/22 13:06:12 peter Exp $ +# $Id: Makefile,v 1.4.6.1 1997/03/15 23:36:14 jkh Exp $ # The following modules are encumbered: # 01.begin 02.learn 03.shell 05.dc 06.bc 09.edtut 10.edadv 15.sed 16.awk diff --git a/share/doc/usd/contents/Makefile b/share/doc/usd/contents/Makefile index f16adb8ede096..b40e7f99d832f 100644 --- a/share/doc/usd/contents/Makefile +++ b/share/doc/usd/contents/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1997/02/22 13:06:52 peter Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:36:44 jkh Exp $ VOLUME= usd SRCS= contents.ms diff --git a/share/doc/usd/title/Makefile b/share/doc/usd/title/Makefile index 65e76acc8e502..4409cebc33b12 100644 --- a/share/doc/usd/title/Makefile +++ b/share/doc/usd/title/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1997/03/02 14:04:13 wosch Exp $ +# $Id: Makefile,v 1.1.6.1 1997/03/15 23:36:46 jkh Exp $ VOLUME= usd SRCS= Title diff --git a/share/examples/FreeBSD_version/Makefile b/share/examples/FreeBSD_version/Makefile index 685c2348f20e8..e9e6e1f665b11 100644 --- a/share/examples/FreeBSD_version/Makefile +++ b/share/examples/FreeBSD_version/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1994/08/10 06:40:35 wollman Exp $ PROG= FreeBSD_version NOMAN= diff --git a/share/examples/Makefile b/share/examples/Makefile index 1e1062a7b930b..95ebd81de76d5 100644 --- a/share/examples/Makefile +++ b/share/examples/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.19 1996/01/21 17:57:25 bde Exp $ +# $Id: Makefile,v 1.20 1996/09/06 06:30:57 jkh Exp $ # # Doing a make install builds /usr/share/examples diff --git a/share/examples/cvsup/README b/share/examples/cvsup/README index 786ddbd98bda4..e58b11d851d10 100644 --- a/share/examples/cvsup/README +++ b/share/examples/cvsup/README @@ -1,4 +1,4 @@ -# $Id: README,v 1.2.2.1 1996/12/16 17:36:02 jdp Exp $ +# $Id: README,v 1.2.2.2 1997/02/01 05:43:41 jdp Exp $ This directory contains sample "supfiles" for obtaining and updating the FreeBSD sources via the Internet. These supfiles will work diff --git a/share/examples/cvsup/cvs-supfile b/share/examples/cvsup/cvs-supfile index 775c04fd5f5c4..430cea0d68101 100644 --- a/share/examples/cvsup/cvs-supfile +++ b/share/examples/cvsup/cvs-supfile @@ -1,4 +1,4 @@ -# $Id: cvs-supfile,v 1.7 1996/12/27 04:03:04 jdp Exp $ +# $Id: cvs-supfile,v 1.2.2.5 1996/12/27 04:09:57 jdp Exp $ # # This file contains all of the "CVSup collections" that make up the # CVS development tree of the FreeBSD system. diff --git a/share/examples/cvsup/ports-supfile b/share/examples/cvsup/ports-supfile index 6b02b82df53a1..794813ce01801 100644 --- a/share/examples/cvsup/ports-supfile +++ b/share/examples/cvsup/ports-supfile @@ -1,4 +1,4 @@ -# $Id: ports-supfile,v 1.7 1996/12/15 00:34:47 jdp Exp $ +# $Id: ports-supfile,v 1.3.2.4 1996/12/16 17:36:04 jdp Exp $ # # This file contains all of the "CVSup collections" that make up the # FreeBSD-current ports collection. diff --git a/share/examples/cvsup/secure-cvs-supfile b/share/examples/cvsup/secure-cvs-supfile index c77706e97dc09..e0ba5b3d46bae 100644 --- a/share/examples/cvsup/secure-cvs-supfile +++ b/share/examples/cvsup/secure-cvs-supfile @@ -1,4 +1,4 @@ -# $Id: secure-cvs-supfile,v 1.3 1996/12/15 00:34:47 jdp Exp $ +# $Id: secure-cvs-supfile,v 1.1.2.2 1996/12/16 17:36:06 jdp Exp $ # # This file contains all of the "CVSup collections" that make up the CVS # development tree of the FreeBSD international secure distribution. If diff --git a/share/examples/cvsup/secure-stable-supfile b/share/examples/cvsup/secure-stable-supfile index 5755e19f5dfc4..3febed4fd2ba7 100644 --- a/share/examples/cvsup/secure-stable-supfile +++ b/share/examples/cvsup/secure-stable-supfile @@ -1,4 +1,4 @@ -# $Id: secure-stable-supfile,v 1.4 1996/12/15 00:34:48 jdp Exp $ +# $Id: secure-stable-supfile,v 1.2.2.2 1996/12/16 17:36:08 jdp Exp $ # # This file contains all of the "CVSup collections" that make up the # source tree of the FreeBSD-stable international secure distribution. diff --git a/share/examples/cvsup/secure-supfile b/share/examples/cvsup/secure-supfile index a22c39be7be9d..67873f5cc2278 100644 --- a/share/examples/cvsup/secure-supfile +++ b/share/examples/cvsup/secure-supfile @@ -1,4 +1,4 @@ -# $Id: secure-supfile,v 1.4 1996/12/15 00:34:49 jdp Exp $ +# $Id: secure-supfile,v 1.2.2.2 1996/12/16 17:36:09 jdp Exp $ # # This file contains all of the "CVSup collections" that make up the # source tree of the FreeBSD-current international secure distribution. diff --git a/share/examples/cvsup/stable-supfile b/share/examples/cvsup/stable-supfile index 1ea7e195a677c..9651e7eaa608d 100644 --- a/share/examples/cvsup/stable-supfile +++ b/share/examples/cvsup/stable-supfile @@ -1,4 +1,4 @@ -# $Id: stable-supfile,v 1.5 1996/12/27 04:03:06 jdp Exp $ +# $Id: stable-supfile,v 1.2.2.3 1996/12/27 04:09:58 jdp Exp $ # # This file contains all of the "CVSup collections" that make up the # FreeBSD-stable source tree. diff --git a/share/examples/cvsup/standard-supfile b/share/examples/cvsup/standard-supfile index 1c69af2dfcabc..c4ad34a09a252 100644 --- a/share/examples/cvsup/standard-supfile +++ b/share/examples/cvsup/standard-supfile @@ -1,4 +1,4 @@ -# $Id: standard-supfile,v 1.7 1996/12/25 01:51:53 ache Exp $ +# $Id: standard-supfile,v 1.4.2.3 1996/12/27 04:09:59 jdp Exp $ # # This file contains all of the "CVSup collections" that make up the # FreeBSD-current source tree. diff --git a/share/examples/etc/README.examples b/share/examples/etc/README.examples index e15b3b7380a5d..354ed54562732 100644 --- a/share/examples/etc/README.examples +++ b/share/examples/etc/README.examples @@ -1,4 +1,4 @@ -$Id$ +$Id: README.examples,v 1.1 1994/09/19 21:27:56 wollman Exp $ The /usr/share/examples/etc directory contains the original distribution versions of the files which are shipped in /etc. This is diff --git a/share/examples/find_interface/Makefile b/share/examples/find_interface/Makefile index fcc330cc19496..29eb19193c6c3 100644 --- a/share/examples/find_interface/Makefile +++ b/share/examples/find_interface/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1995/08/14 16:08:33 wollman Exp $ PROG= find_interface NOMAN= diff --git a/share/examples/find_interface/find_interface.c b/share/examples/find_interface/find_interface.c index e534314f86748..5791f75ad1da1 100644 --- a/share/examples/find_interface/find_interface.c +++ b/share/examples/find_interface/find_interface.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: find_interface.c,v 1.1 1995/08/14 16:08:39 wollman Exp $ + * $Id: find_interface.c,v 1.2 1996/03/12 10:22:22 ache Exp $ */ /* diff --git a/share/examples/lkm/misc/module/Makefile b/share/examples/lkm/misc/module/Makefile index 108498b56b83c..6c08a6617e7dd 100644 --- a/share/examples/lkm/misc/module/Makefile +++ b/share/examples/lkm/misc/module/Makefile @@ -34,7 +34,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id: Makefile,v 1.2 1995/07/27 09:44:35 joerg Exp $ +# $Id: Makefile,v 1.3 1995/12/25 07:18:49 bde Exp $ # BINDIR= /tmp SRCS= misccall.c miscmod.c diff --git a/share/examples/lkm/misc/test/Makefile b/share/examples/lkm/misc/test/Makefile index 4ea3a98053c6b..5bfb2536e3a22 100644 --- a/share/examples/lkm/misc/test/Makefile +++ b/share/examples/lkm/misc/test/Makefile @@ -34,7 +34,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id: Makefile,v 1.2 1995/07/27 09:45:26 joerg Exp $ +# $Id: Makefile,v 1.3 1995/12/25 07:18:59 bde Exp $ # PROG= testmisc NOMAN= diff --git a/share/examples/perfmon/Makefile b/share/examples/perfmon/Makefile index 0bcd8157ccbb8..10155b497d18f 100644 --- a/share/examples/perfmon/Makefile +++ b/share/examples/perfmon/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/08/10 06:40:35 wollman Exp $ +# $Id: Makefile,v 1.1.1.1 1996/03/28 21:20:22 wollman Exp $ PROG= perfmon NOMAN= diff --git a/share/examples/perfmon/README b/share/examples/perfmon/README index 1a339b86494e6..819976ef00e88 100644 --- a/share/examples/perfmon/README +++ b/share/examples/perfmon/README @@ -21,4 +21,4 @@ The following options are not implemented on Pentium CPUs: There is one mandatory argument, which must be the number of the counter. All numbers can be specified in any format acceptable to strtol(3). -$Id$ +$Id: README,v 1.1.1.1 1996/03/28 21:20:22 wollman Exp $ diff --git a/share/examples/perfmon/perfmon.c b/share/examples/perfmon/perfmon.c index 274a828af99ce..d237250e8d170 100644 --- a/share/examples/perfmon/perfmon.c +++ b/share/examples/perfmon/perfmon.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: perfmon.c,v 1.1.1.1 1996/03/28 21:20:22 wollman Exp $ */ #include <sys/types.h> diff --git a/share/examples/sup/cvs-supfile b/share/examples/sup/cvs-supfile index 2feb88ccbba9c..d6df971a289b6 100644 --- a/share/examples/sup/cvs-supfile +++ b/share/examples/sup/cvs-supfile @@ -1,4 +1,4 @@ -# $Id: cvs-supfile,v 1.6.2.1 1996/11/10 11:53:03 phk Exp $ +# $Id: cvs-supfile,v 1.6.2.2 1996/12/14 13:46:38 joerg Exp $ # # This file contains all of the "SUP collections" that comprise the FreeBSD # cvs development tree. SUP (Software Update Protocol) allows you to diff --git a/share/examples/sup/ports-supfile b/share/examples/sup/ports-supfile index 0e76e255f2174..8b05a18c48e2f 100644 --- a/share/examples/sup/ports-supfile +++ b/share/examples/sup/ports-supfile @@ -1,4 +1,4 @@ -# $Id: ports-supfile,v 1.12.2.1 1996/11/10 11:53:07 phk Exp $ +# $Id: ports-supfile,v 1.12.2.2 1996/12/14 13:46:39 joerg Exp $ # # This file contains all of the "SUP collections" that comprise the FreeBSD # ports distribution. SUP (Software Update Protocol) allows you to download diff --git a/share/examples/sup/secure-stable-supfile b/share/examples/sup/secure-stable-supfile index 1f27125fe2aee..be8ab6d60b8dd 100644 --- a/share/examples/sup/secure-stable-supfile +++ b/share/examples/sup/secure-stable-supfile @@ -1,4 +1,4 @@ -# $Id: secure-stable-supfile,v 1.6 1995/12/21 09:09:51 ache Exp $ +# $Id: secure-stable-supfile,v 1.7 1996/05/04 14:08:47 jkh Exp $ # # This file contains all of the "SUP collections" that comprise the FreeBSD # International secure distribution from the stable (bug-fix only) development diff --git a/share/examples/sup/secure-supfile b/share/examples/sup/secure-supfile index d073b5b63e933..8c5008f3f4f60 100644 --- a/share/examples/sup/secure-supfile +++ b/share/examples/sup/secure-supfile @@ -1,4 +1,4 @@ -# $Id: secure-supfile,v 1.6 1995/12/21 09:09:53 ache Exp $ +# $Id: secure-supfile,v 1.7 1996/05/04 14:08:47 jkh Exp $ # # This file contains all of the "SUP collections" that comprise the FreeBSD # International secure distribution from the current (new and experimental) diff --git a/share/examples/sup/stable-supfile b/share/examples/sup/stable-supfile index 04cbb06528fc3..41688a2458166 100644 --- a/share/examples/sup/stable-supfile +++ b/share/examples/sup/stable-supfile @@ -1,4 +1,4 @@ -# $Id: stable-supfile,v 1.4 1996/05/04 14:08:48 jkh Exp $ +# $Id: stable-supfile,v 1.5 1996/06/26 05:40:58 phk Exp $ # # This file contains all of the "SUP collections" that comprise the FreeBSD # source distribution from the stable (bug-fix only) development branch. diff --git a/share/examples/sup/standard-supfile b/share/examples/sup/standard-supfile index 49a6667b5eb4f..6f8456799dadc 100644 --- a/share/examples/sup/standard-supfile +++ b/share/examples/sup/standard-supfile @@ -1,4 +1,4 @@ -# $Id: standard-supfile,v 1.6 1996/08/28 14:06:32 ache Exp $ +# $Id: standard-supfile,v 1.7 1996/08/28 18:54:49 ache Exp $ # # This file contains all of the "SUP collections" that comprise the FreeBSD # source distribution from the current (new and experimental) development diff --git a/share/man/man0/Makefile b/share/man/man0/Makefile index f612c8eb25bb3..6b799e771cd4d 100644 --- a/share/man/man0/Makefile +++ b/share/man/man0/Makefile @@ -3,7 +3,7 @@ # All rights reserved. # # From: @(#)Makefile 8.2 (Berkeley) 1/29/94 -# $Id$ +# $Id: Makefile,v 1.2 1995/01/11 21:33:43 wollman Exp $ # SRCS= man1 man2 man3 man4 man5 man6 man7 man8 diff --git a/share/man/man0/title.urm b/share/man/man0/title.urm index 5b874da33b1b6..0d19656a3ef1f 100644 --- a/share/man/man0/title.urm +++ b/share/man/man0/title.urm @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)title.urm 8.7 (Berkeley) 4/20/94 -.\" $Id: title.urm,v 1.3 1996/10/05 18:37:20 wosch Exp $ +.\" $Id: title.urm,v 1.4 1996/10/06 17:59:28 wosch Exp $ .\" .af % i .EH '''' diff --git a/share/man/man1/Makefile b/share/man/man1/Makefile index 260c6ff8ed11d..0e2379e831f27 100644 --- a/share/man/man1/Makefile +++ b/share/man/man1/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id: Makefile,v 1.3 1997/03/07 03:27:49 jmg Exp $ +# $Id: Makefile,v 1.2.8.1 1997/03/07 04:17:48 mpp Exp $ MAN1= cd.1 intro.1 wait.1 diff --git a/share/man/man1/cd.1 b/share/man/man1/cd.1 index b6fa3d15bf6dd..bc623b005d2b0 100644 --- a/share/man/man1/cd.1 +++ b/share/man/man1/cd.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)cd.1 8.1 (Berkeley) 6/5/93 -.\" $Id: cd.1,v 1.2 1997/03/07 03:27:49 jmg Exp $ +.\" $Id: cd.1,v 1.1.1.1.8.1 1997/03/07 04:17:49 mpp Exp $ .\" .Dd June 5, 1993 .Dt CD 1 diff --git a/share/man/man1/intro.1 b/share/man/man1/intro.1 index d9a738ec3da5c..53d348707d666 100644 --- a/share/man/man1/intro.1 +++ b/share/man/man1/intro.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)intro.1 8.2 (Berkeley) 12/30/93 -.\" $Id$ +.\" $Id: intro.1,v 1.4.2.1 1997/02/16 16:45:18 mpp Exp $ .\" .Dd December 30, 1993 .Dt INTRO 1 diff --git a/share/man/man1/wait.1 b/share/man/man1/wait.1 index 2ba460dd0c37d..91e4f5c2e4c3f 100644 --- a/share/man/man1/wait.1 +++ b/share/man/man1/wait.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)wait.1 8.1 (Berkeley) 6/5/93 -.\" $Id: wait.1,v 1.2 1997/03/07 03:27:50 jmg Exp $ +.\" $Id: wait.1,v 1.1.1.1.8.1 1997/03/07 04:17:49 mpp Exp $ .\" .Dd June 5, 1993 .Dt WAIT 1 diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile index 6fef09f461379..6b9aaee254929 100644 --- a/share/man/man3/Makefile +++ b/share/man/man3/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 12/13/93 -# $Id: Makefile,v 1.9 1996/05/29 00:58:47 wosch Exp $ +# $Id: Makefile,v 1.10 1996/08/20 08:22:00 julian Exp $ MAN3= assert.3 bitstring.3 end.3 fpgetround.3 intro.3 pthread.3 queue.3 \ stdarg.3 sysexits.3 diff --git a/share/man/man3/assert.3 b/share/man/man3/assert.3 index f97561f55e52b..10c9704ce60c8 100644 --- a/share/man/man3/assert.3 +++ b/share/man/man3/assert.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)assert.3 8.1 (Berkeley) 6/9/93 -.\" $Id: assert.3,v 1.3 1997/03/07 03:27:51 jmg Exp $ +.\" $Id: assert.3,v 1.2.2.1 1997/03/07 04:17:54 mpp Exp $ .\" .Dd June 9, 1993 .Dt ASSERT 3 diff --git a/share/man/man3/bitstring.3 b/share/man/man3/bitstring.3 index 3d01de9e6b2f3..8a6dbc4d1ccbf 100644 --- a/share/man/man3/bitstring.3 +++ b/share/man/man3/bitstring.3 @@ -32,7 +32,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)bitstring.3 8.1 (Berkeley) 7/19/93 -.\" $Id: bitstring.3,v 1.3 1997/03/07 03:27:52 jmg Exp $ +.\" $Id: bitstring.3,v 1.2.2.1 1997/03/07 04:17:55 mpp Exp $ .\" .Dd July 19, 1993 .Dt BITSTRING 3 diff --git a/share/man/man3/end.3 b/share/man/man3/end.3 index 0b139a7277ce7..62a0c01a33009 100644 --- a/share/man/man3/end.3 +++ b/share/man/man3/end.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)end.3 6.4 (Berkeley) 1/24/94 -.\" $Id: end.3,v 1.2 1997/03/07 03:27:52 jmg Exp $ +.\" $Id: end.3,v 1.1.1.1.8.1 1997/03/07 04:17:56 mpp Exp $ .\" .Dd January 24, 1994 .Dt END 3 diff --git a/share/man/man3/fpgetround.3 b/share/man/man3/fpgetround.3 index 384e19788fc15..80573d4493a17 100644 --- a/share/man/man3/fpgetround.3 +++ b/share/man/man3/fpgetround.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fpgetround.3 1.0 (Berkeley) 9/23/93 -.\" $Id: fpgetround.3,v 1.3 1997/03/07 03:27:53 jmg Exp $ +.\" $Id: fpgetround.3,v 1.2.2.1 1997/03/07 04:17:56 mpp Exp $ .\" .Dd August 23, 1993 .Dt FPGETROUND 3 diff --git a/share/man/man3/intro.3 b/share/man/man3/intro.3 index 914263744c404..7df2be44ea6d8 100644 --- a/share/man/man3/intro.3 +++ b/share/man/man3/intro.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)intro.3 8.1 (Berkeley) 6/5/93 -.\" $Id$ +.\" $Id: intro.3,v 1.1.1.1.8.1 1997/02/17 15:03:33 mpp Exp $ .\" .Dd June 5, 1993 .Dt INTRO 3 diff --git a/share/man/man3/pthread.3 b/share/man/man3/pthread.3 index c44993612d746..eb55438df2592 100644 --- a/share/man/man3/pthread.3 +++ b/share/man/man3/pthread.3 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: pthread.3,v 1.2 1997/03/07 03:27:53 jmg Exp $ +.\" $Id: pthread.3,v 1.1.2.1 1997/03/07 04:17:57 mpp Exp $ .\" .Dd April 4, 1996 .Dt PTHREAD 3 diff --git a/share/man/man3/queue.3 b/share/man/man3/queue.3 index c9c7f6d28dafa..27d45948b52db 100644 --- a/share/man/man3/queue.3 +++ b/share/man/man3/queue.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)queue.3 8.2 (Berkeley) 1/24/94 -.\" $Id: queue.3,v 1.7.2.2 1997/03/07 04:17:57 mpp Exp $ +.\" $Id: queue.3,v 1.7.2.3 1997/03/09 00:50:47 mpp Exp $ .\" .Dd January 24, 1994 .Dt QUEUE 3 diff --git a/share/man/man3/stdarg.3 b/share/man/man3/stdarg.3 index 5789b3b58e4ba..6f369fa2c1d0e 100644 --- a/share/man/man3/stdarg.3 +++ b/share/man/man3/stdarg.3 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)stdarg.3 8.1 (Berkeley) 6/5/93 -.\" $Id: stdarg.3,v 1.3 1997/03/07 03:27:55 jmg Exp $ +.\" $Id: stdarg.3,v 1.1.1.1.8.2 1997/03/07 04:17:58 mpp Exp $ .\" .Dd June 5, 1993 .Dt STDARG 3 diff --git a/share/man/man3/sysexits.3 b/share/man/man3/sysexits.3 index 4c409e59c89d5..3cfa642f43dd7 100644 --- a/share/man/man3/sysexits.3 +++ b/share/man/man3/sysexits.3 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: sysexits.3,v 1.1 1996/03/31 22:33:54 joerg Exp $ +.\" $Id: sysexits.3,v 1.2 1996/04/08 04:18:00 mpp Exp $ .\" .\" " .Dd March 31, 1996 diff --git a/share/man/man4/bpf.4 b/share/man/man4/bpf.4 index 4a2f135d900a2..d3933ce1c56ff 100644 --- a/share/man/man4/bpf.4 +++ b/share/man/man4/bpf.4 @@ -20,7 +20,7 @@ .\" This document is derived in part from the enet man page (enet.4) .\" distributed with 4.3BSD Unix. .\" -.\" $Id: bpf.4,v 1.10 1997/02/22 13:24:22 peter Exp $ +.\" $Id: bpf.4,v 1.5.2.4 1997/02/28 03:26:26 mpp Exp $ .\" .Dd January 16, 1996 .Dt BPF 4 diff --git a/share/man/man4/cd.4 b/share/man/man4/cd.4 index c82fbe44b249b..32a05ea8eabe1 100644 --- a/share/man/man4/cd.4 +++ b/share/man/man4/cd.4 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: cd.4,v 1.10 1997/02/22 13:24:23 peter Exp $ +.\" $Id: cd.4,v 1.6.2.2 1997/02/28 03:26:27 mpp Exp $ .\" .Dd January 16, 1996 .Dt CD 4 diff --git a/share/man/man4/ch.4 b/share/man/man4/ch.4 index b918ccd2f51fc..d0d27161b799e 100644 --- a/share/man/man4/ch.4 +++ b/share/man/man4/ch.4 @@ -1,4 +1,4 @@ -.\" $Id: ch.4,v 1.10 1997/02/22 13:24:25 peter Exp $ +.\" $Id: ch.4,v 1.5.2.3 1997/02/28 06:10:08 mpp Exp $ .\" Copyright (c) 1996 .\" Julian Elischer <julian@freebsd.org>. All rights reserved. .\" diff --git a/share/man/man4/clnp.4 b/share/man/man4/clnp.4 index 8085f0bc4289c..1d7374762677d 100644 --- a/share/man/man4/clnp.4 +++ b/share/man/man4/clnp.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)clnp.4 8.2 (Berkeley) 4/2/94 -.\" $Id: clnp.4,v 1.2 1996/12/26 16:15:04 wosch Exp $ +.\" $Id: clnp.4,v 1.1.1.1.8.1 1996/12/31 22:54:57 mpp Exp $ .\" .Dd April 2, 1994 .Dt CLNP 4 diff --git a/share/man/man4/cltp.4 b/share/man/man4/cltp.4 index 9c4b3dce986e1..400b3c421ab1d 100644 --- a/share/man/man4/cltp.4 +++ b/share/man/man4/cltp.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)cltp.4 8.1 (Berkeley) 6/9/93 -.\" $Id: cltp.4,v 1.2 1996/12/26 16:15:05 wosch Exp $ +.\" $Id: cltp.4,v 1.1.1.1.8.1 1996/12/31 22:54:59 mpp Exp $ .\" .Dd June 9, 1993 .Dt CLTP 4 diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4 index d60a3e29b5585..fe59edb9e4a33 100644 --- a/share/man/man4/ddb.4 +++ b/share/man/man4/ddb.4 @@ -57,7 +57,7 @@ .\" Created. .\" [90/08/30 dbg] .\" -.\" $Id: ddb.4,v 1.2 1996/01/17 21:07:02 wollman Exp $ +.\" $Id: ddb.4,v 1.3 1996/10/18 20:22:07 julian Exp $ .Dd January 16, 1996 .Dt DDB 4 .Os FreeBSD diff --git a/share/man/man4/divert.4 b/share/man/man4/divert.4 index d5967ee079f56..cb5662ec4085e 100644 --- a/share/man/man4/divert.4 +++ b/share/man/man4/divert.4 @@ -1,4 +1,4 @@ -.\" $Id: divert.4,v 1.2.2.2 1996/12/31 22:55:00 mpp Exp $ +.\" $Id: divert.4,v 1.2.2.3 1997/02/06 11:38:42 brian Exp $ .\" .Dd June 18, 1996 .Dt DIVERT 4 diff --git a/share/man/man4/drum.4 b/share/man/man4/drum.4 index da8dd569107fb..050c41eb186b3 100644 --- a/share/man/man4/drum.4 +++ b/share/man/man4/drum.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)drum.4 8.1 (Berkeley) 6/5/93 -.\" $Id: drum.4,v 1.2 1997/03/07 02:49:22 jmg Exp $ +.\" $Id: drum.4,v 1.1.1.1.8.1 1997/03/07 03:07:39 mpp Exp $ .\" .Dd June 5, 1993 .Dt DRUM 4 diff --git a/share/man/man4/esis.4 b/share/man/man4/esis.4 index 7a33d7949db03..34ddd404d8b93 100644 --- a/share/man/man4/esis.4 +++ b/share/man/man4/esis.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)esis.4 8.2 (Berkeley) 11/30/93 -.\" $Id: esis.4,v 1.3 1996/12/26 16:15:06 wosch Exp $ +.\" $Id: esis.4,v 1.2.2.1 1996/12/31 22:55:00 mpp Exp $ .\" .Dd November 30, 1993 .Dt ESIS 4 diff --git a/share/man/man4/fd.4 b/share/man/man4/fd.4 index 2e0cc83ded4f9..f02faf3b214f5 100644 --- a/share/man/man4/fd.4 +++ b/share/man/man4/fd.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fd.4 8.1 (Berkeley) 6/9/93 -.\" $Id: fd.4,v 1.4 1997/03/07 02:49:26 jmg Exp $ +.\" $Id: fd.4,v 1.3.8.1 1997/03/07 03:07:40 mpp Exp $ .\" .Dd June 9, 1993 .Dt FD 4 diff --git a/share/man/man4/fpa.4 b/share/man/man4/fpa.4 index d0ba4515ec928..ac24115fc5c03 100644 --- a/share/man/man4/fpa.4 +++ b/share/man/man4/fpa.4 @@ -2,7 +2,7 @@ .\" Copyright (c) 1995, Matt Thomas .\" All rights reserved. .\" -.\" $Id: fpa.4,v 1.3.2.1 1996/12/31 22:55:02 mpp Exp $ +.\" $Id: fpa.4,v 1.3.2.2 1997/02/08 15:20:28 joerg Exp $ .\" .Dd March 13, 1995 .Dt FPA 4 i386 diff --git a/share/man/man4/icmp.4 b/share/man/man4/icmp.4 index c00ac9926a2e3..9746136187cfa 100644 --- a/share/man/man4/icmp.4 +++ b/share/man/man4/icmp.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)icmp.4 8.1 (Berkeley) 6/5/93 -.\" $Id: icmp.4,v 1.3 1996/12/26 16:15:09 wosch Exp $ +.\" $Id: icmp.4,v 1.2.2.1 1996/12/31 22:55:03 mpp Exp $ .\" .Dd June 5, 1993 .Dt ICMP 4 diff --git a/share/man/man4/idp.4 b/share/man/man4/idp.4 index 44179bcdfdcac..788875591102a 100644 --- a/share/man/man4/idp.4 +++ b/share/man/man4/idp.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)idp.4 8.1 (Berkeley) 6/5/93 -.\" $Id: idp.4,v 1.2 1996/12/26 16:15:11 wosch Exp $ +.\" $Id: idp.4,v 1.1.1.1.8.1 1996/12/31 22:55:04 mpp Exp $ .\" .Dd June 5, 1993 .Dt IDP 4 diff --git a/share/man/man4/ifmib.4 b/share/man/man4/ifmib.4 index 99416e5d291a3..95f78f92ad033 100644 --- a/share/man/man4/ifmib.4 +++ b/share/man/man4/ifmib.4 @@ -25,7 +25,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ifmib.4,v 1.1 1996/11/15 19:49:41 wollman Exp $ +.\" $Id: ifmib.4,v 1.1.2.1 1996/12/10 21:59:18 joerg Exp $ .\" .Dd November 15, 1996 .Dt IFMIB 4 diff --git a/share/man/man4/inet.4 b/share/man/man4/inet.4 index 64c2748fe6c16..d9dc443eb17a7 100644 --- a/share/man/man4/inet.4 +++ b/share/man/man4/inet.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.4 8.1 (Berkeley) 6/5/93 -.\" $Id: inet.4,v 1.8 1997/02/22 13:24:32 peter Exp $ +.\" $Id: inet.4,v 1.4.2.1 1997/02/28 03:26:28 mpp Exp $ .\" .Dd February 14, 1995 .Dt INET 4 diff --git a/share/man/man4/intro.4 b/share/man/man4/intro.4 index 3b0727e6ac1eb..012924bddf9dd 100644 --- a/share/man/man4/intro.4 +++ b/share/man/man4/intro.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: intro.4,v 1.6 1996/12/26 22:16:06 mpp Exp $ +.\" $Id: intro.4,v 1.3.2.3 1996/12/31 22:55:05 mpp Exp $ .\" .Dd January 20, 1996 .Dt INTRO 4 diff --git a/share/man/man4/ip.4 b/share/man/man4/ip.4 index 89edb8c9ed0c4..a6d1164b59c57 100644 --- a/share/man/man4/ip.4 +++ b/share/man/man4/ip.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ip.4 8.2 (Berkeley) 11/30/93 -.\" $Id: ip.4,v 1.8 1997/02/22 13:24:34 peter Exp $ +.\" $Id: ip.4,v 1.3.2.2 1997/02/28 03:26:29 mpp Exp $ .\" .Dd November 30, 1993 .Dt IP 4 diff --git a/share/man/man4/ipfirewall.4 b/share/man/man4/ipfirewall.4 index 406f61abce2d9..40b01ac3cfe2a 100644 --- a/share/man/man4/ipfirewall.4 +++ b/share/man/man4/ipfirewall.4 @@ -1,5 +1,5 @@ .\" -.\" $Id: ipfirewall.4,v 1.8 1997/03/07 02:49:27 jmg Exp $ +.\" $Id: ipfirewall.4,v 1.6.2.2 1997/03/07 03:07:41 mpp Exp $ .\" .Dd November 16, 1994 .Dt IPFIREWALL 4 diff --git a/share/man/man4/iso.4 b/share/man/man4/iso.4 index 0c405a487d57e..2e2f91913e4df 100644 --- a/share/man/man4/iso.4 +++ b/share/man/man4/iso.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)iso.4 8.2 (Berkeley) 11/30/93 -.\" $Id: iso.4,v 1.3 1996/12/26 16:15:19 wosch Exp $ +.\" $Id: iso.4,v 1.2.2.1 1996/12/31 22:55:06 mpp Exp $ .\" .Dd November 30, 1993 .Dt ISO 4 diff --git a/share/man/man4/lkm.4 b/share/man/man4/lkm.4 index f5f34315663d9..ee0291dedcc55 100644 --- a/share/man/man4/lkm.4 +++ b/share/man/man4/lkm.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: lkm.4,v 1.7 1996/12/26 16:15:21 wosch Exp $ +.\" $Id: lkm.4,v 1.6.2.1 1996/12/31 22:55:07 mpp Exp $ .\" .Dd January 17, 1996 .Dt LKM 4 diff --git a/share/man/man4/lo.4 b/share/man/man4/lo.4 index ea67a5eeeabfc..ce9b66ebbbad4 100644 --- a/share/man/man4/lo.4 +++ b/share/man/man4/lo.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)lo.4 8.1 (Berkeley) 6/5/93 -.\" $Id: lo.4,v 1.3 1996/12/26 16:15:22 wosch Exp $ +.\" $Id: lo.4,v 1.2.2.1 1996/12/31 22:55:08 mpp Exp $ .\" .Dd June 5, 1993 .Dt LO 4 diff --git a/share/man/man4/man4.i386/Makefile b/share/man/man4/man4.i386/Makefile index 072cd18eb1686..a13fd3902274d 100644 --- a/share/man/man4/man4.i386/Makefile +++ b/share/man/man4/man4.i386/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.54.2.3 1997/02/02 18:34:54 joerg Exp $ +# $Id: Makefile,v 1.54.2.4 1997/02/22 21:28:37 mpp Exp $ MAN4= aha.4 ahb.4 ahc.4 aic.4 apm.4 ar.4 asc.4 bt.4 cx.4 cy.4 de.4 dgb.4 \ ed.4 eg.4 el.4 ep.4 ex.4 gsc.4 fdc.4 fe.4 fxp.4 ie.4 io.4 ix.4 \ diff --git a/share/man/man4/man4.i386/aha.4 b/share/man/man4/man4.i386/aha.4 index 75247513cb7c1..0ad991567ce39 100644 --- a/share/man/man4/man4.i386/aha.4 +++ b/share/man/man4/man4.i386/aha.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: aha.4,v 1.6 1997/03/07 02:49:41 jmg Exp $ +.\" $Id: aha.4,v 1.5.2.1 1997/03/07 03:08:07 mpp Exp $ .\" .Dd January 19, 1996 .Dt AHA 4 i386 diff --git a/share/man/man4/man4.i386/ahb.4 b/share/man/man4/man4.i386/ahb.4 index 54fc1f32187d7..2f347b093dbbe 100644 --- a/share/man/man4/man4.i386/ahb.4 +++ b/share/man/man4/man4.i386/ahb.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: ahb.4,v 1.5.2.1 1997/03/07 03:08:08 mpp Exp $ .\" .Dd January 19, 1996 .Dt AHB 4 i386 diff --git a/share/man/man4/man4.i386/ahc.4 b/share/man/man4/man4.i386/ahc.4 index 448af03d3c7b3..36fc25e0fa510 100644 --- a/share/man/man4/man4.i386/ahc.4 +++ b/share/man/man4/man4.i386/ahc.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ahc.4,v 1.8 1997/03/07 02:49:44 jmg Exp $ +.\" $Id: ahc.4,v 1.6.2.2 1997/03/07 03:08:09 mpp Exp $ .\" .Dd April 20, 1996 .Dt AHC 4 i386 diff --git a/share/man/man4/man4.i386/aic.4 b/share/man/man4/man4.i386/aic.4 index 4ce43105622be..12cbadb612a8c 100644 --- a/share/man/man4/man4.i386/aic.4 +++ b/share/man/man4/man4.i386/aic.4 @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: aic.4,v 1.2 1996/12/26 16:15:59 wosch Exp $ +.\" $Id: aic.4,v 1.1.4.1 1996/12/31 22:44:28 mpp Exp $ .\" .Dd November 29, 1994 .Dt AIC 4 i386 diff --git a/share/man/man4/man4.i386/apm.4 b/share/man/man4/man4.i386/apm.4 index f0594d8979da7..486fff39501d9 100644 --- a/share/man/man4/man4.i386/apm.4 +++ b/share/man/man4/man4.i386/apm.4 @@ -9,7 +9,7 @@ .\" the author assume any responsibility for damages incurred with its .\" use. .\" -.\" $Id: apm.4,v 1.4 1996/12/29 20:35:53 wosch Exp $ +.\" $Id: apm.4,v 1.2.2.1 1996/12/31 22:44:29 mpp Exp $ .\" .Dd November 1, 1994 .Dt APM 4 i386 diff --git a/share/man/man4/man4.i386/ar.4 b/share/man/man4/man4.i386/ar.4 index b8d357336475d..4ac686bfe2498 100644 --- a/share/man/man4/man4.i386/ar.4 +++ b/share/man/man4/man4.i386/ar.4 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ar.4,v 1.5 1997/02/22 13:25:12 peter Exp $ +.\" $Id: ar.4,v 1.1.1.1.2.2 1997/02/28 03:26:45 mpp Exp $ .\" .Dd November 19, 1995 .Dt AR 4 i386 diff --git a/share/man/man4/man4.i386/asc.4 b/share/man/man4/man4.i386/asc.4 index 9da44c02a8408..3d373e100d7cd 100644 --- a/share/man/man4/man4.i386/asc.4 +++ b/share/man/man4/man4.i386/asc.4 @@ -29,7 +29,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: asc.4,v 1.4 1996/09/23 22:23:45 wosch Exp $ .Dd January 19, 1995 .Dt ASC 4 i386 .Os FreeBSD diff --git a/share/man/man4/man4.i386/bt.4 b/share/man/man4/man4.i386/bt.4 index 587b3a3b0fcac..633a7b0d0e614 100644 --- a/share/man/man4/man4.i386/bt.4 +++ b/share/man/man4/man4.i386/bt.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: bt.4,v 1.4 1997/03/07 02:49:45 jmg Exp $ +.\" $Id: bt.4,v 1.3.2.1 1997/03/07 03:08:10 mpp Exp $ .\" .Dd August 31, 1994 .Dt BT 4 i386 diff --git a/share/man/man4/man4.i386/cx.4 b/share/man/man4/man4.i386/cx.4 index 278fe972682d2..eca9859c47fda 100644 --- a/share/man/man4/man4.i386/cx.4 +++ b/share/man/man4/man4.i386/cx.4 @@ -1,5 +1,5 @@ .\" -.\" $Id: cx.4,v 1.3 1997/03/07 02:49:45 jmg Exp $ +.\" $Id: cx.4,v 1.1.1.1.6.2 1997/03/07 03:08:11 mpp Exp $ .\" .Dd "December 12, 1994" .Dt CX 4 i386 diff --git a/share/man/man4/man4.i386/cy.4 b/share/man/man4/man4.i386/cy.4 index 57a65bec5c4b2..d765abc120d05 100644 --- a/share/man/man4/man4.i386/cy.4 +++ b/share/man/man4/man4.i386/cy.4 @@ -35,7 +35,7 @@ .\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91 .\" from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp .\" from: sio.4,v 1.16 1995/06/26 06:05:30 bde Exp $ -.\" $Id: cy.4,v 1.1.4.2 1997/02/28 03:26:47 mpp Exp $ +.\" $Id: cy.4,v 1.1.4.3 1997/03/03 18:40:13 bde Exp $ .\" .Dd October 10, 1995 .Dt CY 4 i386 diff --git a/share/man/man4/man4.i386/de.4 b/share/man/man4/man4.i386/de.4 index 10cb83a84d5e2..ff873fd47bf9a 100644 --- a/share/man/man4/man4.i386/de.4 +++ b/share/man/man4/man4.i386/de.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: de.4,v 1.2.2.1 1997/02/28 03:26:48 mpp Exp $ .\" .Dd January 19, 1997 .Dt DE 4 i386 diff --git a/share/man/man4/man4.i386/dgb.4 b/share/man/man4/man4.i386/dgb.4 index 2dece2350acd0..94c82096a0d17 100644 --- a/share/man/man4/man4.i386/dgb.4 +++ b/share/man/man4/man4.i386/dgb.4 @@ -35,7 +35,7 @@ .\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91 .\" from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp .\" from: sio.4,v 1.15 1994/12/06 20:14:30 bde Exp -.\" $Id: dgb.4,v 1.1.4.2 1997/02/28 03:26:48 mpp Exp $ +.\" $Id: dgb.4,v 1.1.4.3 1997/03/03 18:48:11 bde Exp $ .\" .Dd Oct 13, 1995 .Dt DGB 4 i386 diff --git a/share/man/man4/man4.i386/ed.4 b/share/man/man4/man4.i386/ed.4 index 6545cfc29753e..da7a09819f403 100644 --- a/share/man/man4/man4.i386/ed.4 +++ b/share/man/man4/man4.i386/ed.4 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ed.4,v 1.8 1997/02/22 13:25:18 peter Exp $ +.\" $Id: ed.4,v 1.3.2.2 1997/02/28 03:26:49 mpp Exp $ .\" .Dd October 28, 1995 .Dt ED 4 i386 diff --git a/share/man/man4/man4.i386/eg.4 b/share/man/man4/man4.i386/eg.4 index aac07a048691b..b641d55da1fe1 100644 --- a/share/man/man4/man4.i386/eg.4 +++ b/share/man/man4/man4.i386/eg.4 @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: eg.4,v 1.5 1997/02/22 13:25:19 peter Exp $ +.\" $Id: eg.4,v 1.1.4.2 1997/02/28 03:26:49 mpp Exp $ .\" .Dd July 10, 1995 .Dt EG 4 i386 diff --git a/share/man/man4/man4.i386/el.4 b/share/man/man4/man4.i386/el.4 index 0d38aa52f61fe..f23d639cd4b16 100644 --- a/share/man/man4/man4.i386/el.4 +++ b/share/man/man4/man4.i386/el.4 @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: el.4,v 1.3 1996/12/26 16:16:07 wosch Exp $ +.\" $Id: el.4,v 1.1.4.2 1996/12/31 22:44:36 mpp Exp $ .\" .Dd July 10, 1995 .Dt EL 4 i386 diff --git a/share/man/man4/man4.i386/ep.4 b/share/man/man4/man4.i386/ep.4 index 500aa0a78f3ac..720a5f0482061 100644 --- a/share/man/man4/man4.i386/ep.4 +++ b/share/man/man4/man4.i386/ep.4 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ep.4,v 1.4 1996/12/29 20:35:54 wosch Exp $ +.\" $Id: ep.4,v 1.2.4.1 1996/12/31 22:44:37 mpp Exp $ .\" .Dd February 04, 1993 .Dt EP 4 i386 diff --git a/share/man/man4/man4.i386/ex.4 b/share/man/man4/man4.i386/ex.4 index 161522596723d..dd89d3f12ada3 100644 --- a/share/man/man4/man4.i386/ex.4 +++ b/share/man/man4/man4.i386/ex.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: ex.4,v 1.3 1997/02/22 13:25:22 peter Exp $ .\" .Dd January 19, 1997 .Dt EX 4 i386 diff --git a/share/man/man4/man4.i386/fdc.4 b/share/man/man4/man4.i386/fdc.4 index 2bf004d6f632b..c4da6a7835c58 100644 --- a/share/man/man4/man4.i386/fdc.4 +++ b/share/man/man4/man4.i386/fdc.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: fdc.4,v 1.8 1997/02/22 13:25:23 peter Exp $ +.\" $Id: fdc.4,v 1.4.2.2 1997/02/28 03:26:50 mpp Exp $ .\" .Dd August 31, 1994 .Dt FDC 4 i386 diff --git a/share/man/man4/man4.i386/fe.4 b/share/man/man4/man4.i386/fe.4 index f146420f0f330..14e3ac3b60443 100644 --- a/share/man/man4/man4.i386/fe.4 +++ b/share/man/man4/man4.i386/fe.4 @@ -21,7 +21,7 @@ .\" Contributed by M. Sekiguchi <seki@sysrap.cs.fujitsu.co.jp>. .\" for fe driver. .\" -.\" $Id: fe.4,v 1.9 1997/02/22 13:25:26 peter Exp $ +.\" $Id: fe.4,v 1.4.2.2 1997/02/28 03:26:51 mpp Exp $ .Dd March 3, 1996 .Dt FE 4 i386 .Sh NAME diff --git a/share/man/man4/man4.i386/fxp.4 b/share/man/man4/man4.i386/fxp.4 index 50ea7d2cff603..d4dd0d2994459 100644 --- a/share/man/man4/man4.i386/fxp.4 +++ b/share/man/man4/man4.i386/fxp.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: fxp.4,v 1.2.2.1 1997/02/28 03:26:51 mpp Exp $ .\" .Dd January 19, 1997 .Dt FXP 4 i386 diff --git a/share/man/man4/man4.i386/gsc.4 b/share/man/man4/man4.i386/gsc.4 index 38fe54215489c..11ba562f6c949 100644 --- a/share/man/man4/man4.i386/gsc.4 +++ b/share/man/man4/man4.i386/gsc.4 @@ -28,7 +28,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: gsc.4,v 1.6 1997/02/22 13:25:28 peter Exp $ +.\" $Id: gsc.4,v 1.1.2.2 1997/02/28 03:26:52 mpp Exp $ .\" .Dd January 9, 1995 .Os FreeBSD diff --git a/share/man/man4/man4.i386/ie.4 b/share/man/man4/man4.i386/ie.4 index a3834b6f26939..3cdea29281cf4 100644 --- a/share/man/man4/man4.i386/ie.4 +++ b/share/man/man4/man4.i386/ie.4 @@ -2,7 +2,7 @@ .\" Copyright (c) 1994, Wilko Bulte .\" All rights reserved. .\" -.\" $Id: ie.4,v 1.2 1996/12/26 16:16:14 wosch Exp $ +.\" $Id: ie.4,v 1.1.8.1 1996/12/31 22:44:40 mpp Exp $ .\" .Dd September 23, 1994 .Dt IE 4 i386 diff --git a/share/man/man4/man4.i386/io.4 b/share/man/man4/man4.i386/io.4 index a85f8d45ee629..cfcac94c6b9c0 100644 --- a/share/man/man4/man4.i386/io.4 +++ b/share/man/man4/man4.i386/io.4 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: io.4,v 1.4 1997/02/22 13:25:31 peter Exp $ +.\" $Id: io.4,v 1.1.4.1 1997/02/28 03:26:52 mpp Exp $ .\" .Dd Jan 1, 1996 .Dt IO 4 i386 diff --git a/share/man/man4/man4.i386/ix.4 b/share/man/man4/man4.i386/ix.4 index 99651d39122af..c2765d18e9cc0 100644 --- a/share/man/man4/man4.i386/ix.4 +++ b/share/man/man4/man4.i386/ix.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: ix.4,v 1.2.2.1 1997/02/28 03:26:53 mpp Exp $ .\" .Dd January 19, 1997 .Dt IX 4 i386 diff --git a/share/man/man4/man4.i386/joy.4 b/share/man/man4/man4.i386/joy.4 index d079c1544ee08..90ff2cf988d9d 100644 --- a/share/man/man4/man4.i386/joy.4 +++ b/share/man/man4/man4.i386/joy.4 @@ -1,5 +1,5 @@ .\" -.\" $Id: joy.4,v 1.8 1997/03/07 02:49:46 jmg Exp $ +.\" $Id: joy.4,v 1.6.2.2 1997/03/07 03:08:12 mpp Exp $ .\" .Dd January 23, 1995 .Dt JOY 4 i386 diff --git a/share/man/man4/man4.i386/keyboard.4 b/share/man/man4/man4.i386/keyboard.4 index 8b9593ec8c05a..2cf5a4da6ae17 100644 --- a/share/man/man4/man4.i386/keyboard.4 +++ b/share/man/man4/man4.i386/keyboard.4 @@ -1,5 +1,5 @@ .\" -.\" $Id: keyboard.4,v 1.12 1997/03/09 20:53:20 jmg Exp $ +.\" $Id: keyboard.4,v 1.9.6.3 1997/03/11 05:49:04 mpp Exp $ .\" .Dd January 8, 1995 .Dt KEYBOARD 4 i386 diff --git a/share/man/man4/man4.i386/labpc.4 b/share/man/man4/man4.i386/labpc.4 index 04f357c8ef123..f1bbf960aa922 100644 --- a/share/man/man4/man4.i386/labpc.4 +++ b/share/man/man4/man4.i386/labpc.4 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: labpc.4,v 1.4 1997/03/07 02:49:48 jmg Exp $ +.\" $Id: labpc.4,v 1.2.6.2 1997/03/07 03:08:14 mpp Exp $ .\" .rm ES .rm EE diff --git a/share/man/man4/man4.i386/le.4 b/share/man/man4/man4.i386/le.4 index a96d91a359ff1..088b1f8288942 100644 --- a/share/man/man4/man4.i386/le.4 +++ b/share/man/man4/man4.i386/le.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: le.4,v 1.2.2.1 1997/02/28 03:26:54 mpp Exp $ .\" .Dd January 19, 1997 .Dt LE 4 i386 diff --git a/share/man/man4/man4.i386/lnc.4 b/share/man/man4/man4.i386/lnc.4 index 1202876e5e11c..0f83aca1e3320 100644 --- a/share/man/man4/man4.i386/lnc.4 +++ b/share/man/man4/man4.i386/lnc.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: lnc.4,v 1.2.2.1 1997/02/28 03:26:55 mpp Exp $ .\" .Dd January 19, 1997 .Dt LNC 4 i386 diff --git a/share/man/man4/man4.i386/lp.4 b/share/man/man4/man4.i386/lp.4 index 462a1080de545..44984091fc7a4 100644 --- a/share/man/man4/man4.i386/lp.4 +++ b/share/man/man4/man4.i386/lp.4 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: lp.4,v 1.5 1997/03/07 02:49:48 jmg Exp $ +.\" $Id: lp.4,v 1.1.4.4 1997/03/07 03:08:15 mpp Exp $ .\" .Dd March 4, 1996 .Os diff --git a/share/man/man4/man4.i386/lpt.4 b/share/man/man4/man4.i386/lpt.4 index 89218475d495b..083491465ba3d 100644 --- a/share/man/man4/man4.i386/lpt.4 +++ b/share/man/man4/man4.i386/lpt.4 @@ -29,7 +29,7 @@ .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" from: lpt.4,v 1.1 1993/08/06 10:34:12 cgd Exp -.\" $Id: lpt.4,v 1.6 1997/03/07 02:49:49 jmg Exp $ +.\" $Id: lpt.4,v 1.4.2.2 1997/03/07 03:08:16 mpp Exp $ .\" .Dd August 28, 1993 .Dt LPT 4 i386 diff --git a/share/man/man4/man4.i386/matcd.4 b/share/man/man4/man4.i386/matcd.4 index 21c7eefe71552..fa087eecf9945 100644 --- a/share/man/man4/man4.i386/matcd.4 +++ b/share/man/man4/man4.i386/matcd.4 @@ -81,7 +81,7 @@ .\"<3> Text brought in sync with changes made in versions 1(22) - 1(25) .\" Frank Durda IV 24-Sep-95 .\" -.\" $Id: matcd.4,v 1.8 1997/03/07 02:49:50 jmg Exp $ +.\" $Id: matcd.4,v 1.6.2.2 1997/03/07 03:08:17 mpp Exp $ .\" .Dd September 24th, 1995 .Dt MATCD 4 i386 diff --git a/share/man/man4/man4.i386/mcd.4 b/share/man/man4/man4.i386/mcd.4 index 95fe50e4e4c08..07a077080cfa0 100644 --- a/share/man/man4/man4.i386/mcd.4 +++ b/share/man/man4/man4.i386/mcd.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: mcd.4,v 1.3 1997/03/07 02:49:51 jmg Exp $ +.\" $Id: mcd.4,v 1.1.6.2 1997/03/07 03:08:18 mpp Exp $ .\" .Dd December 8, 1994 .Dt MCD 4 i386 diff --git a/share/man/man4/man4.i386/mem.4 b/share/man/man4/man4.i386/mem.4 index ed25e30f6eac9..db9be974df4d2 100644 --- a/share/man/man4/man4.i386/mem.4 +++ b/share/man/man4/man4.i386/mem.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mem.4 5.3 (Berkeley) 5/2/91 -.\" $Id: mem.4,v 1.3 1997/03/07 02:49:51 jmg Exp $ +.\" $Id: mem.4,v 1.2.8.1 1997/03/07 03:08:19 mpp Exp $ .\" .Dd May 2, 1991 .Dt MEM 4 i386 diff --git a/share/man/man4/man4.i386/meteor.4 b/share/man/man4/man4.i386/meteor.4 index 48b54a358a0cc..303d77759ca4a 100644 --- a/share/man/man4/man4.i386/meteor.4 +++ b/share/man/man4/man4.i386/meteor.4 @@ -1,5 +1,5 @@ .\" -.\" $Id: meteor.4,v 1.5 1997/03/07 02:49:52 jmg Exp $ +.\" $Id: meteor.4,v 1.1.4.3 1997/03/07 03:08:20 mpp Exp $ .\" .Dd August 15, 1995 .br diff --git a/share/man/man4/man4.i386/mse.4 b/share/man/man4/man4.i386/mse.4 index b9c349fe24395..db19aa4be03c5 100644 --- a/share/man/man4/man4.i386/mse.4 +++ b/share/man/man4/man4.i386/mse.4 @@ -10,7 +10,7 @@ .\" this software for any purpose. It is provided "as is" .\" without express or implied warranty. .\" -.\" $Id: mse.4,v 1.3 1997/03/07 02:49:53 jmg Exp $ +.\" $Id: mse.4,v 1.1.10.2 1997/03/07 03:08:21 mpp Exp $ .\" .Dd Aug 16, 1992 .Dt MSE 4 i386 diff --git a/share/man/man4/man4.i386/mtio.4 b/share/man/man4/man4.i386/mtio.4 index 4b9be0cf7ffdd..665ec6b210c76 100644 --- a/share/man/man4/man4.i386/mtio.4 +++ b/share/man/man4/man4.i386/mtio.4 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mtio.4 8.1 (Berkeley) 6/5/93 -.\" $Id: mtio.4,v 1.3 1997/03/07 02:49:54 jmg Exp $ +.\" $Id: mtio.4,v 1.2.2.1 1997/03/07 03:08:22 mpp Exp $ .\" .Dd February 11, 1996 .Dt MTIO 4 i386 diff --git a/share/man/man4/man4.i386/nca.4 b/share/man/man4/man4.i386/nca.4 index ea295448c4851..0dbaa91f6d73c 100644 --- a/share/man/man4/man4.i386/nca.4 +++ b/share/man/man4/man4.i386/nca.4 @@ -6,7 +6,7 @@ .\"modification, are permitted provided redistributions must retain .\"the above copyright notice and this condition. .\" -.\" $Id: nca.4,v 1.5 1997/02/22 13:25:35 peter Exp $ +.\" $Id: nca.4,v 1.2.2.1 1997/02/28 03:27:01 mpp Exp $ .Dd January 9, 1995 .Dt NCA 4 i386 .Os FreeBSD diff --git a/share/man/man4/man4.i386/ncr.4 b/share/man/man4/man4.i386/ncr.4 index 2c04d644460e9..7b7331bbb767a 100644 --- a/share/man/man4/man4.i386/ncr.4 +++ b/share/man/man4/man4.i386/ncr.4 @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ncr.4,v 1.2 1996/12/26 16:16:14 wosch Exp $ +.\" $Id: ncr.4,v 1.1.4.1 1996/12/31 22:44:44 mpp Exp $ .\" .Dd July 10, 1996 .Dt NCR 4 i386 diff --git a/share/man/man4/man4.i386/npx.4 b/share/man/man4/man4.i386/npx.4 index 956832f9dda4a..970356fb0a60c 100644 --- a/share/man/man4/man4.i386/npx.4 +++ b/share/man/man4/man4.i386/npx.4 @@ -28,7 +28,7 @@ .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" from: npx.4,v 1.1 1993/08/06 10:58:03 cgd Exp -.\" $Id: npx.4,v 1.4 1997/02/22 13:25:36 peter Exp $ +.\" $Id: npx.4,v 1.1.10.1 1997/02/28 03:27:02 mpp Exp $ .\" .Dd August 28, 1993 .Dt NPX 4 i386 diff --git a/share/man/man4/man4.i386/pcvt.4 b/share/man/man4/man4.i386/pcvt.4 index d407619621eda..f8736e7908407 100644 --- a/share/man/man4/man4.i386/pcvt.4 +++ b/share/man/man4/man4.i386/pcvt.4 @@ -31,7 +31,7 @@ .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" @(#)pcvt.4, 3.20, Last Edit-Date: [Sun Apr 2 18:23:39 1995] -.\" $Id: pcvt.4,v 1.7 1997/03/07 02:49:54 jmg Exp $ +.\" $Id: pcvt.4,v 1.3.2.4 1997/03/07 03:08:24 mpp Exp $ .\" .\" Man page pcvt(4) created after pcvt_ioctl.h on 13-Jan-93 .\" by Joerg Wunsch diff --git a/share/man/man4/man4.i386/perfmon.4 b/share/man/man4/man4.i386/perfmon.4 index 24e222c901687..77fe74452540b 100644 --- a/share/man/man4/man4.i386/perfmon.4 +++ b/share/man/man4/man4.i386/perfmon.4 @@ -26,7 +26,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: perfmon.4,v 1.2 1996/03/28 20:57:11 wollman Exp $ +.\" $Id: perfmon.4,v 1.3 1996/04/01 19:29:56 wollman Exp $ .Dd March 26, 1996 .Dt PERFMON 4 i386 .Os FreeBSD 2.2 diff --git a/share/man/man4/man4.i386/psm.4 b/share/man/man4/man4.i386/psm.4 index 121ad7846a716..81cf0df510433 100644 --- a/share/man/man4/man4.i386/psm.4 +++ b/share/man/man4/man4.i386/psm.4 @@ -1,4 +1,4 @@ -.\" $Id: psm.4,v 1.7 1997/02/22 13:25:39 peter Exp $ +.\" $Id: psm.4,v 1.1.2.3 1997/02/28 03:27:04 mpp Exp $ .\" .Dd January 13, 1997 .Dt PSM 4 i386 diff --git a/share/man/man4/man4.i386/qcam.4 b/share/man/man4/man4.i386/qcam.4 index 139d365cdfbd8..377692a38f1e3 100644 --- a/share/man/man4/man4.i386/qcam.4 +++ b/share/man/man4/man4.i386/qcam.4 @@ -1,5 +1,5 @@ .\" -.\" $Id: qcam.4,v 1.6 1997/03/07 02:49:55 jmg Exp $ +.\" $Id: qcam.4,v 1.4.4.2 1997/03/07 03:08:24 mpp Exp $ .\" .Dd Feburary 1, 1996 .Dt QCAM 4 i386 diff --git a/share/man/man4/man4.i386/scd.4 b/share/man/man4/man4.i386/scd.4 index 21fbbf8704bd6..8920995823875 100644 --- a/share/man/man4/man4.i386/scd.4 +++ b/share/man/man4/man4.i386/scd.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: scd.4,v 1.5 1997/03/07 02:49:56 jmg Exp $ +.\" $Id: scd.4,v 1.3.2.2 1997/03/07 03:08:25 mpp Exp $ .\" .Dd January 1, 1995 .Dt SCD 4 i386 diff --git a/share/man/man4/man4.i386/screen.4 b/share/man/man4/man4.i386/screen.4 index 964ff7e389f7d..98732b5235432 100644 --- a/share/man/man4/man4.i386/screen.4 +++ b/share/man/man4/man4.i386/screen.4 @@ -1,5 +1,5 @@ .\" -.\" $Id: screen.4,v 1.8 1997/03/07 02:49:57 jmg Exp $ +.\" $Id: screen.4,v 1.5.6.3 1997/03/07 03:08:26 mpp Exp $ .\" .Dd January 8, 1995 .Dt SCREEN 4 i386 diff --git a/share/man/man4/man4.i386/sea.4 b/share/man/man4/man4.i386/sea.4 index 2e1113ecae449..7bc014c310a7a 100644 --- a/share/man/man4/man4.i386/sea.4 +++ b/share/man/man4/man4.i386/sea.4 @@ -7,7 +7,7 @@ .\"modification, are permitted provided redistributions must retain .\"the above copyright notice and this condition. .\" -.\" $Id: sea.4,v 1.6 1997/02/22 13:25:40 peter Exp $ +.\" $Id: sea.4,v 1.3.2.1 1997/02/28 03:27:06 mpp Exp $ .Dd December 25, 1994 .Dt SEA 4 i386 .Os FreeBSD diff --git a/share/man/man4/man4.i386/si.4 b/share/man/man4/man4.i386/si.4 index 4154f0d0b050f..a4b3252710edb 100644 --- a/share/man/man4/man4.i386/si.4 +++ b/share/man/man4/man4.i386/si.4 @@ -1,4 +1,4 @@ -.\" $Id: si.4,v 1.9 1997/02/22 13:25:41 peter Exp $ +.\" $Id: si.4,v 1.4.2.2 1997/02/28 03:27:06 mpp Exp $ .\" The following requests are required for all man pages. .Dd September 16, 1995 .Os FreeBSD diff --git a/share/man/man4/man4.i386/sio.4 b/share/man/man4/man4.i386/sio.4 index e77321d4eb0c0..ab883c5ce108d 100644 --- a/share/man/man4/man4.i386/sio.4 +++ b/share/man/man4/man4.i386/sio.4 @@ -34,7 +34,7 @@ .\" .\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91 .\" from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp -.\" $Id: sio.4,v 1.23 1997/02/22 13:25:41 peter Exp $ +.\" $Id: sio.4,v 1.18.2.2 1997/02/28 03:27:07 mpp Exp $ .\" .Dd October 10, 1995 .Dt SIO 4 i386 diff --git a/share/man/man4/man4.i386/spkr.4 b/share/man/man4/man4.i386/spkr.4 index e7fa7150fa07c..c935b6396ad26 100644 --- a/share/man/man4/man4.i386/spkr.4 +++ b/share/man/man4/man4.i386/spkr.4 @@ -1,5 +1,5 @@ .\" -.\" $Id: spkr.4,v 1.8 1997/03/07 02:49:58 jmg Exp $ +.\" $Id: spkr.4,v 1.6.2.2 1997/03/07 03:08:26 mpp Exp $ .\" .Dd November 7, 1993 .Dt SPKR 4 i386 diff --git a/share/man/man4/man4.i386/sr.4 b/share/man/man4/man4.i386/sr.4 index ba415b0e5ee5f..b744a164aff5a 100644 --- a/share/man/man4/man4.i386/sr.4 +++ b/share/man/man4/man4.i386/sr.4 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: sr.4,v 1.5 1997/02/22 13:25:43 peter Exp $ +.\" $Id: sr.4,v 1.1.2.2 1997/02/28 03:27:08 mpp Exp $ .\" .Dd July 4, 1996 .Dt SR 4 i386 diff --git a/share/man/man4/man4.i386/sysmouse.4 b/share/man/man4/man4.i386/sysmouse.4 index 5fa3ebe9cd07a..36ad453a9252b 100644 --- a/share/man/man4/man4.i386/sysmouse.4 +++ b/share/man/man4/man4.i386/sysmouse.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: sysmouse.4,v 1.5 1997/03/07 02:49:59 jmg Exp $ +.\" $Id: sysmouse.4,v 1.2.2.2 1997/03/07 03:08:27 mpp Exp $ .\" .Dd February 14, 1997 .Dt SYSMOUSE 4 i386 diff --git a/share/man/man4/man4.i386/tw.4 b/share/man/man4/man4.i386/tw.4 index 5b668c64ff2e1..2870770887b2d 100644 --- a/share/man/man4/man4.i386/tw.4 +++ b/share/man/man4/man4.i386/tw.4 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: tw.4,v 1.4 1996/12/31 22:42:00 mpp Exp $ +.\" $Id: tw.4,v 1.1.8.1 1996/12/31 22:44:49 mpp Exp $ .\" .Dd Oct 30, 1993 .Dt TW 4 i386 diff --git a/share/man/man4/man4.i386/uha.4 b/share/man/man4/man4.i386/uha.4 index c3e3b0e544635..e9808c13023a2 100644 --- a/share/man/man4/man4.i386/uha.4 +++ b/share/man/man4/man4.i386/uha.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: uha.4,v 1.8 1997/02/22 13:25:45 peter Exp $ +.\" $Id: uha.4,v 1.5.2.1 1997/02/28 03:27:08 mpp Exp $ .Dd August 31, 1994 .Dt UHA 4 i386 .Os FreeBSD diff --git a/share/man/man4/man4.i386/vx.4 b/share/man/man4/man4.i386/vx.4 index d5c348ae4ba55..5b626ded753de 100644 --- a/share/man/man4/man4.i386/vx.4 +++ b/share/man/man4/man4.i386/vx.4 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: vx.4,v 1.6 1997/03/12 13:51:57 mpp Exp $ +.\" $Id: vx.4,v 1.2.2.3 1997/03/12 13:54:35 mpp Exp $ .\" .Dd January 15, 1996 .Dt VX 4 i386 diff --git a/share/man/man4/man4.i386/wd.4 b/share/man/man4/man4.i386/wd.4 index b9f8a2ea1ace9..8febb9365c7c3 100644 --- a/share/man/man4/man4.i386/wd.4 +++ b/share/man/man4/man4.i386/wd.4 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: wd.4,v 1.5 1997/03/07 02:50:00 jmg Exp $ +.\" $Id: wd.4,v 1.3.2.2 1997/03/07 03:08:28 mpp Exp $ .\" .Dd August 31, 1994 .Dt WD 4 i386 diff --git a/share/man/man4/man4.i386/wt.4 b/share/man/man4/man4.i386/wt.4 index 1079aabc4eeec..c6366ec0e8d93 100644 --- a/share/man/man4/man4.i386/wt.4 +++ b/share/man/man4/man4.i386/wt.4 @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: wt.4,v 1.3 1997/03/07 02:50:01 jmg Exp $ +.\" $Id: wt.4,v 1.2.4.1 1997/03/07 03:08:29 mpp Exp $ .\" .Dd July 10, 1995 .Dt WT 4 i386 diff --git a/share/man/man4/man4.i386/ze.4 b/share/man/man4/man4.i386/ze.4 index d9c23c7357ed6..17a51f95d400d 100644 --- a/share/man/man4/man4.i386/ze.4 +++ b/share/man/man4/man4.i386/ze.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: ze.4,v 1.2.2.1 1997/02/28 03:27:09 mpp Exp $ .\" .Dd January 19, 1997 .Dt ZE 4 i386 diff --git a/share/man/man4/man4.i386/zp.4 b/share/man/man4/man4.i386/zp.4 index 91e928b92ae20..d12abc4358e6a 100644 --- a/share/man/man4/man4.i386/zp.4 +++ b/share/man/man4/man4.i386/zp.4 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: zp.4,v 1.2.2.1 1997/02/28 03:27:10 mpp Exp $ .\" .Dd January 19, 1997 .Dt ZP 4 i386 diff --git a/share/man/man4/netintro.4 b/share/man/man4/netintro.4 index 52a52656a4e63..45b823eba6493 100644 --- a/share/man/man4/netintro.4 +++ b/share/man/man4/netintro.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)netintro.4 8.2 (Berkeley) 11/30/93 -.\" $Id: netintro.4,v 1.7 1997/02/22 13:24:38 peter Exp $ +.\" $Id: netintro.4,v 1.3.2.2 1997/02/28 03:26:30 mpp Exp $ .\" .Dd November 30, 1993 .Dt NETINTRO 4 diff --git a/share/man/man4/ns.4 b/share/man/man4/ns.4 index 0fa4c0070d3ce..abffb8fd4b96e 100644 --- a/share/man/man4/ns.4 +++ b/share/man/man4/ns.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ns.4 8.2 (Berkeley) 11/30/93 -.\" $Id: ns.4,v 1.2 1996/12/26 16:15:28 wosch Exp $ +.\" $Id: ns.4,v 1.1.1.1.8.1 1996/12/31 22:55:12 mpp Exp $ .\" .Dd November 30, 1993 .Dt NS 4 diff --git a/share/man/man4/null.4 b/share/man/man4/null.4 index 9f73da9c8cf30..2e13e4f1e5b14 100644 --- a/share/man/man4/null.4 +++ b/share/man/man4/null.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)null.4 8.1 (Berkeley) 6/5/93 -.\" $Id: null.4,v 1.3 1997/03/07 02:49:28 jmg Exp $ +.\" $Id: null.4,v 1.2.2.1 1997/03/07 03:07:43 mpp Exp $ .\" .Dd June 5, 1993 .Dt NULL 4 diff --git a/share/man/man4/pt.4 b/share/man/man4/pt.4 index 5a52a489ec8eb..63d564a63b192 100644 --- a/share/man/man4/pt.4 +++ b/share/man/man4/pt.4 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: pt.4,v 1.5 1997/03/07 02:49:30 jmg Exp $ +.\" $Id: pt.4,v 1.4.2.1 1997/03/07 03:07:44 mpp Exp $ .\" .Dd March 2, 1995 .Dt PT 4 diff --git a/share/man/man4/pty.4 b/share/man/man4/pty.4 index e50d01aad0c42..9746d1014ed56 100644 --- a/share/man/man4/pty.4 +++ b/share/man/man4/pty.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pty.4 8.2 (Berkeley) 11/30/93 -.\" $Id: pty.4,v 1.5 1997/03/07 02:49:33 jmg Exp $ +.\" $Id: pty.4,v 1.3.2.2 1997/03/07 03:07:45 mpp Exp $ .\" .Dd November 30, 1993 .Dt PTY 4 diff --git a/share/man/man4/route.4 b/share/man/man4/route.4 index 1ebd1c402d065..89a7540182b8f 100644 --- a/share/man/man4/route.4 +++ b/share/man/man4/route.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)route.4 8.6 (Berkeley) 4/19/94 -.\" $Id: route.4,v 1.5 1997/02/22 13:24:40 peter Exp $ +.\" $Id: route.4,v 1.2.2.1 1997/02/28 03:26:35 mpp Exp $ .\" .Dd October 8, 1996 .Dt ROUTE 4 diff --git a/share/man/man4/scsi.4 b/share/man/man4/scsi.4 index 6cc74e29939b9..4f181b113e9e0 100644 --- a/share/man/man4/scsi.4 +++ b/share/man/man4/scsi.4 @@ -1,4 +1,4 @@ -.\" $Id: scsi.4,v 1.11 1997/02/22 13:24:41 peter Exp $ +.\" $Id: scsi.4,v 1.6.2.3 1997/02/28 03:26:36 mpp Exp $ .\" Copyright (c) 1996 .\" Julian Elischer <julian@freebsd.org>. All rights reserved. .\" diff --git a/share/man/man4/sd.4 b/share/man/man4/sd.4 index 2c28be26525fb..44c164e82ad94 100644 --- a/share/man/man4/sd.4 +++ b/share/man/man4/sd.4 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: sd.4,v 1.10 1997/02/22 13:24:42 peter Exp $ +.\" $Id: sd.4,v 1.6.2.2 1997/02/28 03:26:37 mpp Exp $ .\" .Dd January 18, 1996 .Dt SD 4 diff --git a/share/man/man4/snp.4 b/share/man/man4/snp.4 index 07d4d994feccb..8f0877ecadd68 100644 --- a/share/man/man4/snp.4 +++ b/share/man/man4/snp.4 @@ -1,5 +1,5 @@ .\" -.\" $Id: snp.4,v 1.9 1996/12/26 16:15:32 wosch Exp $ +.\" $Id: snp.4,v 1.8.2.1 1996/12/31 22:55:16 mpp Exp $ .\" $Source: /home/ncvs/src/share/man/man4/snp.4,v $ .\" .Dd February 24, 1995 diff --git a/share/man/man4/st.4 b/share/man/man4/st.4 index 056aa5baf87bb..c952ad59461b0 100644 --- a/share/man/man4/st.4 +++ b/share/man/man4/st.4 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: st.4,v 1.11 1997/03/07 02:49:34 jmg Exp $ +.\" $Id: st.4,v 1.9.2.2 1997/03/07 03:07:46 mpp Exp $ .\" .Dd January 17, 1996 .Dt ST 4 diff --git a/share/man/man4/su.4 b/share/man/man4/su.4 index cefdac28e39ad..f7444a735cf6d 100644 --- a/share/man/man4/su.4 +++ b/share/man/man4/su.4 @@ -1,4 +1,4 @@ -.\" $Id: su.4,v 1.10 1997/02/22 13:24:44 peter Exp $ +.\" $Id: su.4,v 1.5.2.3 1997/02/28 03:26:40 mpp Exp $ .\" Copyright (c) 1996 .\" Julian Elischer <julian@freebsd.org>. All rights reserved. .\" diff --git a/share/man/man4/tcp.4 b/share/man/man4/tcp.4 index d4c6562150087..c07b6e12ca84f 100644 --- a/share/man/man4/tcp.4 +++ b/share/man/man4/tcp.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)tcp.4 8.1 (Berkeley) 6/5/93 -.\" $Id: tcp.4,v 1.6 1996/12/26 16:15:34 wosch Exp $ +.\" $Id: tcp.4,v 1.5.2.1 1996/12/31 22:55:20 mpp Exp $ .\" .Dd February 14, 1995 .Dt TCP 4 diff --git a/share/man/man4/termios.4 b/share/man/man4/termios.4 index fb2ff2d38be31..e5590bb2b7ae3 100644 --- a/share/man/man4/termios.4 +++ b/share/man/man4/termios.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)termios.4 8.4 (Berkeley) 4/19/94 -.\" $Id: termios.4,v 1.6 1997/03/18 07:17:22 mpp Exp $ +.\" $Id: termios.4,v 1.3.2.3 1997/03/18 07:18:23 mpp Exp $ .\" .Dd April 19, 1994 .Dt TERMIOS 4 diff --git a/share/man/man4/tp.4 b/share/man/man4/tp.4 index 53d832b6a414a..306d7fe1b7d61 100644 --- a/share/man/man4/tp.4 +++ b/share/man/man4/tp.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)tp.4 8.4 (Berkeley) 4/19/94 -.\" $Id: tp.4,v 1.4 1996/12/26 16:15:35 wosch Exp $ +.\" $Id: tp.4,v 1.3.2.1 1996/12/31 22:55:21 mpp Exp $ .\" .Dd April 19, 1994 .Dt TP 4 diff --git a/share/man/man4/ttcp.4 b/share/man/man4/ttcp.4 index b062653e9bd6f..d1d5dd12a2af8 100644 --- a/share/man/man4/ttcp.4 +++ b/share/man/man4/ttcp.4 @@ -25,7 +25,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ttcp.4,v 1.2 1996/01/18 21:33:42 wollman Exp $ +.\" $Id: ttcp.4,v 1.3 1996/08/22 23:51:32 mpp Exp $ .\" .Dd January 18, 1995 .Dt TTCP 4 diff --git a/share/man/man4/tty.4 b/share/man/man4/tty.4 index 03c1e08081ca2..3242e21de1ce4 100644 --- a/share/man/man4/tty.4 +++ b/share/man/man4/tty.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)tty.4 8.3 (Berkeley) 4/19/94 -.\" $Id: tty.4,v 1.5 1996/12/26 16:15:36 wosch Exp $ +.\" $Id: tty.4,v 1.4.2.1 1996/12/31 22:55:22 mpp Exp $ .\" .Dd August 14, 1992 .Dt TTY 4 diff --git a/share/man/man4/udp.4 b/share/man/man4/udp.4 index df05d7e16ee13..0d95900e4c625 100644 --- a/share/man/man4/udp.4 +++ b/share/man/man4/udp.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)udp.4 8.1 (Berkeley) 6/5/93 -.\" $Id: udp.4,v 1.3 1996/12/26 16:15:37 wosch Exp $ +.\" $Id: udp.4,v 1.2.2.1 1996/12/31 22:55:24 mpp Exp $ .\" .Dd June 5, 1993 .Dt UDP 4 diff --git a/share/man/man4/uk.4 b/share/man/man4/uk.4 index a3b15cc392b6c..ae16b0edd2f73 100644 --- a/share/man/man4/uk.4 +++ b/share/man/man4/uk.4 @@ -1,4 +1,4 @@ -.\" $Id: uk.4,v 1.11 1997/02/22 13:24:52 peter Exp $ +.\" $Id: uk.4,v 1.6.2.3 1997/02/28 03:26:41 mpp Exp $ .\" Copyright (c) 1996 .\" Julian Elischer <julian@freebsd.org>. All rights reserved. .\" diff --git a/share/man/man4/unix.4 b/share/man/man4/unix.4 index 7d82f011478e8..47685b18f2d10 100644 --- a/share/man/man4/unix.4 +++ b/share/man/man4/unix.4 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)unix.4 8.1 (Berkeley) 6/9/93 -.\" $Id: unix.4,v 1.2 1997/03/07 02:49:37 jmg Exp $ +.\" $Id: unix.4,v 1.1.1.1.8.1 1997/03/07 03:07:49 mpp Exp $ .\" .Dd June 9, 1993 .Dt UNIX 4 diff --git a/share/man/man4/update.4 b/share/man/man4/update.4 index 1bfcf125c166f..76276324b32cd 100644 --- a/share/man/man4/update.4 +++ b/share/man/man4/update.4 @@ -32,7 +32,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: update.4,v 1.4 1997/03/07 02:49:37 jmg Exp $ +.\" $Id: update.4,v 1.3.4.1 1997/03/07 03:07:50 mpp Exp $ .\" .Dd February 11, 1996 .Dt UPDATE 4 diff --git a/share/man/man4/worm.4 b/share/man/man4/worm.4 index 30fce61f49f10..5f00627434a13 100644 --- a/share/man/man4/worm.4 +++ b/share/man/man4/worm.4 @@ -32,7 +32,7 @@ .\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $Id: worm.4,v 1.7 1996/12/26 16:15:39 wosch Exp $ +.\" $Id: worm.4,v 1.6.2.1 1996/12/31 22:55:26 mpp Exp $ .\" " .Dd January 27, 1996 .Dt WORM 4 diff --git a/share/man/man4/yp.4 b/share/man/man4/yp.4 index c4d7d52d4e906..8ce551bbe0063 100644 --- a/share/man/man4/yp.4 +++ b/share/man/man4/yp.4 @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)yp.8 1.0 (deraadt) 4/26/93 -.\" $Id: yp.4,v 1.7.2.1 1997/02/28 03:26:41 mpp Exp $ +.\" $Id: yp.4,v 1.7.2.2 1997/03/11 17:42:37 wpaul Exp $ .\" .Dd April 5, 1993 .Dt YP 4 diff --git a/share/man/man4/zero.4 b/share/man/man4/zero.4 index 9f391c6df9d9f..9e143fe61a675 100644 --- a/share/man/man4/zero.4 +++ b/share/man/man4/zero.4 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: zero.4,v 1.2 1997/03/07 02:49:38 jmg Exp $ +.\" $Id: zero.4,v 1.1.4.1 1997/03/07 03:07:52 mpp Exp $ .\" .Dd April 7, 1996 .Dt ZERO 4 diff --git a/share/man/man5/a.out.5 b/share/man/man5/a.out.5 index be62dae305255..fa342367a33b2 100644 --- a/share/man/man5/a.out.5 +++ b/share/man/man5/a.out.5 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)a.out.5 8.1 (Berkeley) 6/5/93 -.\" $Id: a.out.5,v 1.5 1996/12/26 02:02:21 wosch Exp $ +.\" $Id: a.out.5,v 1.4.2.1 1996/12/31 22:50:38 mpp Exp $ .\" .Dd June 5, 1993 .Dt A.OUT 5 diff --git a/share/man/man5/acct.5 b/share/man/man5/acct.5 index 17b6f78c7edff..1c18e1460949d 100644 --- a/share/man/man5/acct.5 +++ b/share/man/man5/acct.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)acct.5 8.1 (Berkeley) 6/5/93 -.\" $Id: acct.5,v 1.3 1997/03/07 03:27:57 jmg Exp $ +.\" $Id: acct.5,v 1.1.1.1.8.2 1997/03/07 04:18:00 mpp Exp $ .\" .Dd June 5, 1993 .Dt ACCT 5 diff --git a/share/man/man5/core.5 b/share/man/man5/core.5 index d26c449f086a1..06dc7dd1980a2 100644 --- a/share/man/man5/core.5 +++ b/share/man/man5/core.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)core.5 8.3 (Berkeley) 12/11/93 -.\" $Id: core.5,v 1.3 1996/12/26 02:02:22 wosch Exp $ +.\" $Id: core.5,v 1.2.2.1 1996/12/31 22:50:39 mpp Exp $ .\" .Dd December 11, 1993 .Dt CORE 5 diff --git a/share/man/man5/devfs.5 b/share/man/man5/devfs.5 index ee9480979c9e9..1f3bdd3256d33 100644 --- a/share/man/man5/devfs.5 +++ b/share/man/man5/devfs.5 @@ -36,7 +36,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: devfs.5,v 1.3 1997/03/07 03:27:58 jmg Exp $ +.\" $Id: devfs.5,v 1.2.2.1 1997/03/07 04:18:01 mpp Exp $ .\" .Dd December 14, 1996 .Dt devfs 5 diff --git a/share/man/man5/dir.5 b/share/man/man5/dir.5 index 5a040c753eb97..b6c09e4839493 100644 --- a/share/man/man5/dir.5 +++ b/share/man/man5/dir.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dir.5 8.3 (Berkeley) 4/19/94 -.\" $Id: dir.5,v 1.7 1997/02/22 13:25:58 peter Exp $ +.\" $Id: dir.5,v 1.4.2.1 1997/02/28 03:27:22 mpp Exp $ .\" .Dd April 19, 1994 .Dt DIR 5 diff --git a/share/man/man5/disktab.5 b/share/man/man5/disktab.5 index 0c60a64cd1fd5..f468c33f9ba58 100644 --- a/share/man/man5/disktab.5 +++ b/share/man/man5/disktab.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)disktab.5 8.1 (Berkeley) 6/5/93 -.\" $Id: disktab.5,v 1.3 1997/03/07 03:27:58 jmg Exp $ +.\" $Id: disktab.5,v 1.1.1.1.8.2 1997/03/07 04:18:02 mpp Exp $ .\" .Dd June 5, 1993 .Dt DISKTAB 5 diff --git a/share/man/man5/ethers.5 b/share/man/man5/ethers.5 index e6feae684e9f1..6ab2b5c16f4b3 100644 --- a/share/man/man5/ethers.5 +++ b/share/man/man5/ethers.5 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ethers.5,v 1.1 1995/04/12 22:16:08 wpaul Exp $ +.\" $Id: ethers.5,v 1.2 1996/01/30 13:51:33 mpp Exp $ .\" .Dd April 12, 1995 .Dt ETHERS 5 diff --git a/share/man/man5/fbtab.5 b/share/man/man5/fbtab.5 index 6ac73fe71ccae..9473863dcb6a6 100644 --- a/share/man/man5/fbtab.5 +++ b/share/man/man5/fbtab.5 @@ -1,5 +1,5 @@ .\" -.\" $Id: fbtab.5,v 1.3 1997/03/07 03:27:59 jmg Exp $ +.\" $Id: fbtab.5,v 1.1.8.2 1997/03/07 04:18:02 mpp Exp $ .\" .Dd August 22, 1994 .Dt FBTAB 5 diff --git a/share/man/man5/fdesc.5 b/share/man/man5/fdesc.5 index 55d76b7feedb4..8dc63ff9be848 100644 --- a/share/man/man5/fdesc.5 +++ b/share/man/man5/fdesc.5 @@ -36,7 +36,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: fdesc.5,v 1.3 1997/03/07 03:27:59 jmg Exp $ +.\" $Id: fdesc.5,v 1.2.2.1 1997/03/07 04:18:03 mpp Exp $ .\" .Dd December 14, 1996 .Dt fdesc 5 diff --git a/share/man/man5/forward.5 b/share/man/man5/forward.5 index 423db9e3308a4..bdbb7a42dcf67 100644 --- a/share/man/man5/forward.5 +++ b/share/man/man5/forward.5 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: forward.5,v 1.2 1997/03/07 03:28:00 jmg Exp $ +.\" $Id: forward.5,v 1.1.2.1 1997/03/07 04:18:03 mpp Exp $ .\" .Dd July 2, 1996 .Dt FORWARD 5 diff --git a/share/man/man5/fs.5 b/share/man/man5/fs.5 index 7785ae975ce36..e1e70f8fe876b 100644 --- a/share/man/man5/fs.5 +++ b/share/man/man5/fs.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fs.5 8.2 (Berkeley) 4/19/94 -.\" $Id$ +.\" $Id: fs.5,v 1.3.2.2 1997/03/07 04:18:04 mpp Exp $ .\" .Dd April 19, 1994 .Dt FS 5 diff --git a/share/man/man5/fstab.5 b/share/man/man5/fstab.5 index f5c8c1b2f73d3..4ea1733597790 100644 --- a/share/man/man5/fstab.5 +++ b/share/man/man5/fstab.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fstab.5 8.1 (Berkeley) 6/5/93 -.\" $Id: fstab.5,v 1.7 1997/03/07 03:28:01 jmg Exp $ +.\" $Id: fstab.5,v 1.4.2.3 1997/03/07 04:18:05 mpp Exp $ .\" .Dd June 5, 1993 .Dt FSTAB 5 diff --git a/share/man/man5/group.5 b/share/man/man5/group.5 index 979b60797048e..e1d4daffd90c7 100644 --- a/share/man/man5/group.5 +++ b/share/man/man5/group.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)group.5 8.3 (Berkeley) 4/19/94 -.\" $Id: group.5,v 1.4 1996/07/02 21:53:54 mpp Exp $ +.\" $Id: group.5,v 1.4.2.1 1996/12/31 22:50:39 mpp Exp $ .\" .Dd September 29, 1994 .Dt GROUP 5 diff --git a/share/man/man5/hosts.5 b/share/man/man5/hosts.5 index a36ad80d7b770..62e0e88acbfa3 100644 --- a/share/man/man5/hosts.5 +++ b/share/man/man5/hosts.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)hosts.5 8.2 (Berkeley) 12/11/93 -.\" $Id: hosts.5,v 1.3 1997/03/07 03:28:02 jmg Exp $ +.\" $Id: hosts.5,v 1.2.2.1 1997/03/07 04:18:05 mpp Exp $ .\" .Dd December 11, 1993 .Dt HOSTS 5 diff --git a/share/man/man5/hosts.equiv.5 b/share/man/man5/hosts.equiv.5 index 586da554dda69..d255de200c63d 100644 --- a/share/man/man5/hosts.equiv.5 +++ b/share/man/man5/hosts.equiv.5 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: hosts.equiv.5,v 1.3 1996/12/26 02:02:24 wosch Exp $ +.\" $Id: hosts.equiv.5,v 1.2.2.1 1996/12/31 22:50:40 mpp Exp $ .\" .Dd Feb 1996 .Dt HOSTS.EQUIV 5 diff --git a/share/man/man5/hosts.lpd.5 b/share/man/man5/hosts.lpd.5 index 73e00be5e18f1..6dededbb9414c 100644 --- a/share/man/man5/hosts.lpd.5 +++ b/share/man/man5/hosts.lpd.5 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: hosts.lpd.5,v 1.3 1997/03/07 03:28:02 jmg Exp $ +.\" $Id: hosts.lpd.5,v 1.2.2.1 1997/03/07 04:18:06 mpp Exp $ .\" .Dd June 1, 1996 .Dt HOSTS.LPD 5 diff --git a/share/man/man5/intro.5 b/share/man/man5/intro.5 index 830ac217b2f82..22593d45e8491 100644 --- a/share/man/man5/intro.5 +++ b/share/man/man5/intro.5 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: intro.5,v 1.1 1997/02/16 12:13:32 wosch Exp $ +.\" $Id: intro.5,v 1.2 1997/02/16 16:36:31 mpp Exp $ .\" .Dd February 16, 1997 .Dt INTRO 5 diff --git a/share/man/man5/kernfs.5 b/share/man/man5/kernfs.5 index 59781b8ef9b13..5c6f5de4adf58 100644 --- a/share/man/man5/kernfs.5 +++ b/share/man/man5/kernfs.5 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: kernfs.5,v 1.3 1997/03/07 03:28:02 jmg Exp $ +.\" $Id: kernfs.5,v 1.2.2.1 1997/03/07 04:18:06 mpp Exp $ .\" .Dd December 14, 1996 .Dt kernfs 5 diff --git a/share/man/man5/link.5 b/share/man/man5/link.5 index 282ea245709da..4223b1975bc22 100644 --- a/share/man/man5/link.5 +++ b/share/man/man5/link.5 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: link.5,v 1.11 1997/02/22 13:26:03 peter Exp $ +.\" $Id: link.5,v 1.7.2.3 1997/02/28 03:27:24 mpp Exp $ .\" .Dd October 23, 1993 .Dt LINK 5 diff --git a/share/man/man5/networks.5 b/share/man/man5/networks.5 index 78d2afe21ec26..544aa5335fe01 100644 --- a/share/man/man5/networks.5 +++ b/share/man/man5/networks.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)networks.5 8.1 (Berkeley) 6/5/93 -.\" $Id: networks.5,v 1.3 1997/03/07 03:28:03 jmg Exp $ +.\" $Id: networks.5,v 1.2.2.1 1997/03/07 04:18:07 mpp Exp $ .\" .Dd June 5, 1993 .Dt NETWORKS 5 diff --git a/share/man/man5/passwd.5 b/share/man/man5/passwd.5 index e658de52fb40e..17931fa0571dd 100644 --- a/share/man/man5/passwd.5 +++ b/share/man/man5/passwd.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)passwd.5 8.1 (Berkeley) 6/5/93 -.\" $Id: passwd.5,v 1.6.2.3 1997/02/28 03:27:25 mpp Exp $ +.\" $Id: passwd.5,v 1.6.2.4 1997/03/14 02:38:33 mpp Exp $ .\" .Dd September 29, 1994 .Dt PASSWD 5 diff --git a/share/man/man5/pbm.5 b/share/man/man5/pbm.5 index 1efaae401633c..18317939aec1b 100644 --- a/share/man/man5/pbm.5 +++ b/share/man/man5/pbm.5 @@ -1,5 +1,5 @@ .\" -.\" $Id: pbm.5,v 1.3 1997/03/07 03:28:03 jmg Exp $ +.\" $Id: pbm.5,v 1.1.2.2 1997/03/07 04:18:08 mpp Exp $ .\" .Dd "September 27, 1991" .Dt PBM 5 diff --git a/share/man/man5/phones.5 b/share/man/man5/phones.5 index c6b5529e9b6af..df5a2ff00f141 100644 --- a/share/man/man5/phones.5 +++ b/share/man/man5/phones.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)phones.5 8.1 (Berkeley) 6/5/93 -.\" $Id: phones.5,v 1.2 1997/03/07 03:28:04 jmg Exp $ +.\" $Id: phones.5,v 1.1.1.1.8.1 1997/03/07 04:18:08 mpp Exp $ .\" .Dd June 5, 1993 .Dt PHONES 5 diff --git a/share/man/man5/printcap.5 b/share/man/man5/printcap.5 index a373bbcdf0554..372956446332b 100644 --- a/share/man/man5/printcap.5 +++ b/share/man/man5/printcap.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)printcap.5 8.2 (Berkeley) 12/11/93 -.\" $Id: printcap.5,v 1.7 1996/12/26 02:02:27 wosch Exp $ +.\" $Id: printcap.5,v 1.5.2.2 1996/12/31 22:50:42 mpp Exp $ .\" .Dd December 11, 1993 .Dt PRINTCAP 5 diff --git a/share/man/man5/procfs.5 b/share/man/man5/procfs.5 index 0dc0457aa4da4..052f099d61ef1 100644 --- a/share/man/man5/procfs.5 +++ b/share/man/man5/procfs.5 @@ -1,4 +1,4 @@ -.\" $Id: procfs.5,v 1.6 1996/12/26 02:02:28 wosch Exp $ +.\" $Id: procfs.5,v 1.2.8.3 1996/12/31 22:50:42 mpp Exp $ .\" Written by Garrett Wollman .\" This file is in the public domain. .\" diff --git a/share/man/man5/protocols.5 b/share/man/man5/protocols.5 index 803e416b9d8c9..802738e9a2f30 100644 --- a/share/man/man5/protocols.5 +++ b/share/man/man5/protocols.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)protocols.5 8.1 (Berkeley) 6/5/93 -.\" $Id: protocols.5,v 1.2 1997/03/07 03:28:05 jmg Exp $ +.\" $Id: protocols.5,v 1.1.1.1.8.1 1997/03/07 04:18:09 mpp Exp $ .\" .Dd June 5, 1993 .Dt PROTOCOLS 5 diff --git a/share/man/man5/remote.5 b/share/man/man5/remote.5 index c4a7d70d998d1..9fa4e2238be23 100644 --- a/share/man/man5/remote.5 +++ b/share/man/man5/remote.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)remote.5 8.1 (Berkeley) 6/5/93 -.\" $Id: remote.5,v 1.3 1997/03/07 03:28:05 jmg Exp $ +.\" $Id: remote.5,v 1.2.2.1 1997/03/07 04:18:09 mpp Exp $ .\" .Dd June 5, 1993 .Dt REMOTE 5 diff --git a/share/man/man5/resolver.5 b/share/man/man5/resolver.5 index 3150204fd075e..aefcb08871892 100644 --- a/share/man/man5/resolver.5 +++ b/share/man/man5/resolver.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)resolver.5 8.1 (Berkeley) 6/5/93 -.\" $Id: resolver.5,v 1.3 1997/03/07 03:28:05 jmg Exp $ +.\" $Id: resolver.5,v 1.2.2.1 1997/03/07 04:18:10 mpp Exp $ .\" .Dd June 5, 1993 .Dt RESOLVER 5 diff --git a/share/man/man5/services.5 b/share/man/man5/services.5 index e89a622be2598..5c4f8bdbc990f 100644 --- a/share/man/man5/services.5 +++ b/share/man/man5/services.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)services.5 8.1 (Berkeley) 6/5/93 -.\" $Id: services.5,v 1.4 1997/03/07 03:28:06 jmg Exp $ +.\" $Id: services.5,v 1.3.2.1 1997/03/07 04:18:11 mpp Exp $ .\" .Dd June 5, 1993 .Dt SERVICES 5 diff --git a/share/man/man5/shells.5 b/share/man/man5/shells.5 index 4d962307ed965..4af82968beefc 100644 --- a/share/man/man5/shells.5 +++ b/share/man/man5/shells.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)shells.5 8.1 (Berkeley) 6/5/93 -.\" $Id: shells.5,v 1.2 1997/03/07 03:28:08 jmg Exp $ +.\" $Id: shells.5,v 1.1.1.1.8.1 1997/03/07 04:18:11 mpp Exp $ .\" .Dd June 5, 1993 .Dt SHELLS 5 diff --git a/share/man/man5/skey.access.5 b/share/man/man5/skey.access.5 index 82107b1b71f55..78bfba5f347e1 100644 --- a/share/man/man5/skey.access.5 +++ b/share/man/man5/skey.access.5 @@ -1,5 +1,5 @@ .\" this is comment -.\" $Id: skey.access.5,v 1.3 1996/12/26 02:02:29 wosch Exp $ +.\" $Id: skey.access.5,v 1.2.2.1 1996/12/31 22:50:43 mpp Exp $ .\" .Dd April 30, 1994 .Dt SKEY.ACCESS 5 diff --git a/share/man/man5/stab.5 b/share/man/man5/stab.5 index 5e6d0aed9cafd..8dc1943427f01 100644 --- a/share/man/man5/stab.5 +++ b/share/man/man5/stab.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)stab.5 8.1 (Berkeley) 6/5/93 -.\" $Id: stab.5,v 1.3 1997/03/07 03:28:08 jmg Exp $ +.\" $Id: stab.5,v 1.2.2.1 1997/03/07 04:18:12 mpp Exp $ .\" .Dd June 5, 1993 .Dt STAB 5 diff --git a/share/man/man5/sysconfig.5 b/share/man/man5/sysconfig.5 index fe7f6d8ce2eb1..b29dad4ca6d8d 100644 --- a/share/man/man5/sysconfig.5 +++ b/share/man/man5/sysconfig.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: sysconfig.5,v 1.10 1997/02/22 13:26:08 peter Exp $ +.\" $Id: sysconfig.5,v 1.5.2.3 1997/02/28 03:27:26 mpp Exp $ .\" .Dd December 18, 1995 .Dt SYSCONFIG 5 diff --git a/share/man/man5/types.5 b/share/man/man5/types.5 index 9142683944831..2b3a1fc474a75 100644 --- a/share/man/man5/types.5 +++ b/share/man/man5/types.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)types.5 8.1 (Berkeley) 6/5/93 -.\" $Id: types.5,v 1.3.2.1 1996/12/31 22:50:44 mpp Exp $ +.\" $Id: types.5,v 1.3.2.2 1997/02/28 05:53:25 mpp Exp $ .\" .Dd June 5, 1993 .Dt TYPES 5 diff --git a/share/man/man5/utmp.5 b/share/man/man5/utmp.5 index 865d1a8a7e370..d9a880a7256cd 100644 --- a/share/man/man5/utmp.5 +++ b/share/man/man5/utmp.5 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)utmp.5 8.2 (Berkeley) 3/17/94 -.\" $Id$ +.\" $Id: utmp.5,v 1.3.2.3 1997/03/07 04:18:12 mpp Exp $ .\" .Dd March 17, 1994 .Dt UTMP 5 diff --git a/share/man/man6/Makefile b/share/man/man6/Makefile index 16f76fbde06a7..4d9446e1a3608 100644 --- a/share/man/man6/Makefile +++ b/share/man/man6/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/02/16 11:29:58 wosch Exp $ MAN6= intro.6 diff --git a/share/man/man6/intro.6 b/share/man/man6/intro.6 index 936b1311e9bce..3d4c8e2c29e7c 100644 --- a/share/man/man6/intro.6 +++ b/share/man/man6/intro.6 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: intro.6,v 1.1 1997/02/16 11:30:03 wosch Exp $ +.\" $Id: intro.6,v 1.2 1997/02/16 16:36:17 mpp Exp $ .\" .Dd February 16, 1997 .Dt INTRO 6 diff --git a/share/man/man7/Makefile b/share/man/man7/Makefile index f3c3a9dd5f1dc..fc258a7a6c548 100644 --- a/share/man/man7/Makefile +++ b/share/man/man7/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id: Makefile,v 1.6 1997/03/07 03:28:12 jmg Exp $ +# $Id: Makefile,v 1.5.2.1 1997/03/07 04:18:18 mpp Exp $ #MISSING: eqnchar.7 man.7 ms.7 term.7 MAN7= ascii.7 clocks.7 environ.7 hier.7 hostname.7 intro.7 mailaddr.7 \ diff --git a/share/man/man7/ascii.7 b/share/man/man7/ascii.7 index 64da63507ac15..d1e951b3d885a 100644 --- a/share/man/man7/ascii.7 +++ b/share/man/man7/ascii.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ascii.7 8.1 (Berkeley) 6/5/93 -.\" $Id: ascii.7,v 1.2 1997/03/07 03:28:13 jmg Exp $ +.\" $Id: ascii.7,v 1.1.1.1.8.1 1997/03/07 04:18:19 mpp Exp $ .\" .Dd June 5, 1993 .Dt ASCII 7 diff --git a/share/man/man7/clocks.7 b/share/man/man7/clocks.7 index fa6abe578eec2..4c4b32dd75f07 100644 --- a/share/man/man7/clocks.7 +++ b/share/man/man7/clocks.7 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: clocks.7,v 1.2 1996/04/07 21:12:10 mpp Exp $ +.\" $Id: clocks.7,v 1.3 1996/04/08 04:18:22 mpp Exp $ .\" " .Dd April 1, 1996 .Os diff --git a/share/man/man7/environ.7 b/share/man/man7/environ.7 index e7795ea6b81fe..dde90484ec0e8 100644 --- a/share/man/man7/environ.7 +++ b/share/man/man7/environ.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)environ.7 8.3 (Berkeley) 4/19/94 -.\" $Id: environ.7,v 1.10 1997/03/08 14:41:44 wosch Exp $ +.\" $Id: environ.7,v 1.6.2.4 1997/03/09 00:25:05 mpp Exp $ .\" .Dd April 19, 1994 .Dt ENVIRON 7 diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7 index c33e5342874dd..a57790fd7da75 100644 --- a/share/man/man7/hier.7 +++ b/share/man/man7/hier.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 -.\" $Id: hier.7,v 1.12 1997/03/08 15:54:56 wosch Exp $ +.\" $Id: hier.7,v 1.6.2.3 1997/03/09 00:25:10 mpp Exp $ .\" .Dd June 5, 1993 .Dt HIER 7 diff --git a/share/man/man7/hostname.7 b/share/man/man7/hostname.7 index b157580f4f967..c63d785eb44b9 100644 --- a/share/man/man7/hostname.7 +++ b/share/man/man7/hostname.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)hostname.7 8.2 (Berkeley) 12/30/93 -.\" $Id: hostname.7,v 1.4 1997/03/07 03:28:14 jmg Exp $ +.\" $Id: hostname.7,v 1.1.1.1.8.3 1997/03/07 04:18:20 mpp Exp $ .\" .Dd December 30, 1993 .Dt HOSTNAME 7 diff --git a/share/man/man7/intro.7 b/share/man/man7/intro.7 index 991ae7a19e662..3d404e3ee7d74 100644 --- a/share/man/man7/intro.7 +++ b/share/man/man7/intro.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)intro.7 8.1 (Berkeley) 6/5/93 -.\" $Id: intro.7,v 1.4 1997/03/07 03:28:15 jmg Exp $ +.\" $Id: intro.7,v 1.1.1.1.8.3 1997/03/07 04:18:21 mpp Exp $ .\" .Dd June 5, 1993 .Dt INTRO 7 diff --git a/share/man/man7/mailaddr.7 b/share/man/man7/mailaddr.7 index b29d4c826c885..478dd4e5be995 100644 --- a/share/man/man7/mailaddr.7 +++ b/share/man/man7/mailaddr.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mailaddr.7 8.1 (Berkeley) 6/16/93 -.\" $Id: mailaddr.7,v 1.3 1996/12/26 16:16:31 wosch Exp $ +.\" $Id: mailaddr.7,v 1.1.1.1.8.2 1996/12/31 22:57:52 mpp Exp $ .\" .Dd June 16, 1993 .Dt MAILADDR 7 diff --git a/share/man/man7/mdoc.7 b/share/man/man7/mdoc.7 index 3231e10159bb2..f71edd42516d6 100644 --- a/share/man/man7/mdoc.7 +++ b/share/man/man7/mdoc.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mdoc.7 8.2 (Berkeley) 12/30/93 -.\" $Id: mdoc.7,v 1.6 1997/03/20 16:04:00 mpp Exp $ +.\" $Id: mdoc.7,v 1.3.2.2 1997/03/20 16:09:19 mpp Exp $ .\" .Dd December 30, 1993 .Os diff --git a/share/man/man7/mdoc.samples.7 b/share/man/man7/mdoc.samples.7 index b3d10f31ee0a7..15d0db9dac16e 100644 --- a/share/man/man7/mdoc.samples.7 +++ b/share/man/man7/mdoc.samples.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mdoc.samples.7 8.2 (Berkeley) 12/30/93 -.\" $Id: mdoc.samples.7,v 1.15 1997/03/20 16:04:04 mpp Exp $ +.\" $Id: mdoc.samples.7,v 1.4.2.6 1997/03/20 16:09:22 mpp Exp $ .\" .\" This tutorial sampler invokes every macro in the package several .\" times and is guaranteed to give a worst case performance diff --git a/share/man/man7/operator.7 b/share/man/man7/operator.7 index 73a862a6ac077..6bb485e0ef0db 100644 --- a/share/man/man7/operator.7 +++ b/share/man/man7/operator.7 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)operator.7 8.1 (Berkeley) 6/9/93 -.\" $Id: operator.7,v 1.2 1997/03/07 03:28:17 jmg Exp $ +.\" $Id: operator.7,v 1.1.1.1.8.1 1997/03/07 04:18:23 mpp Exp $ .\" .Dd June 9, 1993 .Dt OPERATOR 7 diff --git a/share/man/man8/Makefile b/share/man/man8/Makefile index 636d0ef92776e..f5e0f11840676 100644 --- a/share/man/man8/Makefile +++ b/share/man/man8/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id: Makefile,v 1.8 1997/03/07 03:28:19 jmg Exp $ +# $Id: Makefile,v 1.7.2.1 1997/03/07 04:18:26 mpp Exp $ MAN8= adding_user.8 intro.8 rc.8 sticky.8 diff --git a/share/man/man8/adding_user.8 b/share/man/man8/adding_user.8 index 552621f264aef..3d16ae758caa4 100644 --- a/share/man/man8/adding_user.8 +++ b/share/man/man8/adding_user.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)adduser.8 8.1 (Berkeley) 6/5/93 -.\" $Id: adding_user.8,v 1.2 1997/03/07 03:28:19 jmg Exp $ +.\" $Id: adding_user.8,v 1.1.6.1 1997/03/07 04:18:26 mpp Exp $ .\" .Dd June 5, 1993 .Dt ADDING_USER 8 diff --git a/share/man/man8/intro.8 b/share/man/man8/intro.8 index efab6bd516bd1..4275b790f1715 100644 --- a/share/man/man8/intro.8 +++ b/share/man/man8/intro.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)intro.8 8.2 (Berkeley) 12/11/93 -.\" $Id: intro.8,v 1.2 1997/03/07 03:28:20 jmg Exp $ +.\" $Id: intro.8,v 1.1.1.1.8.1 1997/03/07 04:18:27 mpp Exp $ .\" .Dd December 11, 1993 .Dt INTRO 8 diff --git a/share/man/man8/man8.i386/MAKEDEV.8 b/share/man/man8/man8.i386/MAKEDEV.8 index 50aedfcdbf819..c769701cf6d3d 100644 --- a/share/man/man8/man8.i386/MAKEDEV.8 +++ b/share/man/man8/man8.i386/MAKEDEV.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)MAKEDEV.8 8.1 (Berkeley) 6/5/93 -.\" $Id: MAKEDEV.8,v 1.7 1996/12/31 22:47:50 mpp Exp $ +.\" $Id: MAKEDEV.8,v 1.5.2.1 1996/12/31 22:57:58 mpp Exp $ .\" .Dd June 5, 1993 .Dt MAKEDEV 8 i386 diff --git a/share/man/man8/man8.i386/Makefile b/share/man/man8/man8.i386/Makefile index 43b2b0fe77d5d..32856083002a0 100644 --- a/share/man/man8/man8.i386/Makefile +++ b/share/man/man8/man8.i386/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id: Makefile,v 1.5 1997/03/07 03:28:23 jmg Exp $ +# $Id: Makefile,v 1.4.2.1 1997/03/07 04:18:30 mpp Exp $ MAN8= MAKEDEV.8 crash.8 MANSUBDIR=/i386 diff --git a/share/man/man8/man8.i386/crash.8 b/share/man/man8/man8.i386/crash.8 index a80e4832fbed4..ac077c83da7c2 100644 --- a/share/man/man8/man8.i386/crash.8 +++ b/share/man/man8/man8.i386/crash.8 @@ -34,7 +34,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: crash.8,v 1.4 1996/12/26 16:16:35 wosch Exp $ +.\" $Id: crash.8,v 1.3.2.1 1996/12/31 22:57:59 mpp Exp $ .\" .Dd February 2, 1996 .Dt CRASH 8 i386 diff --git a/share/man/man8/rc.8 b/share/man/man8/rc.8 index a5930b1935a50..d7994b1fdb92e 100644 --- a/share/man/man8/rc.8 +++ b/share/man/man8/rc.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rc.8 8.2 (Berkeley) 12/11/93 -.\" $Id: rc.8,v 1.3 1997/03/07 03:28:21 jmg Exp $ +.\" $Id: rc.8,v 1.2.2.1 1997/03/07 04:18:27 mpp Exp $ .\" .Dd December 11, 1993 .Dt RC 8 diff --git a/share/man/man8/sticky.8 b/share/man/man8/sticky.8 index 198c82169fd86..8805027b02b82 100644 --- a/share/man/man8/sticky.8 +++ b/share/man/man8/sticky.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)sticky.8 8.1 (Berkeley) 6/5/93 -.\" $Id: sticky.8,v 1.2 1997/03/07 03:28:21 jmg Exp $ +.\" $Id: sticky.8,v 1.1.1.1.8.1 1997/03/07 04:18:28 mpp Exp $ .\" .Dd June 5, 1993 .Dt STICKY 8 diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index e1fd1dcc3abef..725d0298b9598 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.11.2.6 1997/02/28 03:27:30 mpp Exp $ +# $Id: Makefile,v 1.11.2.7 1997/03/04 06:32:12 mpp Exp $ MAN9= MD5.9 at_shutdown.9 at_fork.9 at_exit.9 boot.9 copy.9 \ devfs_add_devswf.9 cd.9 \ diff --git a/share/man/man9/VFS.9 b/share/man/man9/VFS.9 index 1d98d445ef434..4894f6c9b976e 100644 --- a/share/man/man9/VFS.9 +++ b/share/man/man9/VFS.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS.9,v 1.1 1997/03/03 17:59:52 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_FHTOVP.9 b/share/man/man9/VFS_FHTOVP.9 index 7b39fb2e13f14..28c6308efef27 100644 --- a/share/man/man9/VFS_FHTOVP.9 +++ b/share/man/man9/VFS_FHTOVP.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS_FHTOVP.9,v 1.1 1997/03/03 17:59:53 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_INIT.9 b/share/man/man9/VFS_INIT.9 index 2934b360c7af4..5a79392891be3 100644 --- a/share/man/man9/VFS_INIT.9 +++ b/share/man/man9/VFS_INIT.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS_INIT.9,v 1.1 1997/03/03 17:59:53 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_MOUNT.9 b/share/man/man9/VFS_MOUNT.9 index f83728c3da19a..1e87fcbaaff90 100644 --- a/share/man/man9/VFS_MOUNT.9 +++ b/share/man/man9/VFS_MOUNT.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS_MOUNT.9,v 1.1 1997/03/03 17:59:54 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_QUOTACTL.9 b/share/man/man9/VFS_QUOTACTL.9 index addf3612bcd4b..b2b915a70bf5a 100644 --- a/share/man/man9/VFS_QUOTACTL.9 +++ b/share/man/man9/VFS_QUOTACTL.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS_QUOTACTL.9,v 1.1 1997/03/03 17:59:54 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_ROOT.9 b/share/man/man9/VFS_ROOT.9 index 2808ae69b0261..e64719e41c494 100644 --- a/share/man/man9/VFS_ROOT.9 +++ b/share/man/man9/VFS_ROOT.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS_ROOT.9,v 1.1 1997/03/03 17:59:55 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_START.9 b/share/man/man9/VFS_START.9 index e7e551b69fc58..47af1401e0928 100644 --- a/share/man/man9/VFS_START.9 +++ b/share/man/man9/VFS_START.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS_START.9,v 1.1 1997/03/03 17:59:55 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_STATFS.9 b/share/man/man9/VFS_STATFS.9 index e36c8a7d821dc..a2011f0ba8cab 100644 --- a/share/man/man9/VFS_STATFS.9 +++ b/share/man/man9/VFS_STATFS.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS_STATFS.9,v 1.1 1997/03/03 17:59:56 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_SYNC.9 b/share/man/man9/VFS_SYNC.9 index e57d5511575c9..9c9957f0fcd31 100644 --- a/share/man/man9/VFS_SYNC.9 +++ b/share/man/man9/VFS_SYNC.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VFS_SYNC.9,v 1.1 1997/03/03 17:59:57 dfr Exp $ +.\" $Id: VFS_SYNC.9,v 1.1.2.1 1997/03/04 10:07:21 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_UNMOUNT.9 b/share/man/man9/VFS_UNMOUNT.9 index bb102b00f6812..8a4bc19b76a61 100644 --- a/share/man/man9/VFS_UNMOUNT.9 +++ b/share/man/man9/VFS_UNMOUNT.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS_UNMOUNT.9,v 1.1 1997/03/03 17:59:58 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_VGET.9 b/share/man/man9/VFS_VGET.9 index 8e4c25e9d80d7..3a18d4560e722 100644 --- a/share/man/man9/VFS_VGET.9 +++ b/share/man/man9/VFS_VGET.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VFS_VGET.9,v 1.1 1997/03/03 17:59:58 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VFS_VPTOFH.9 b/share/man/man9/VFS_VPTOFH.9 index 6feb5434e6e0b..c66a6eef06a3b 100644 --- a/share/man/man9/VFS_VPTOFH.9 +++ b/share/man/man9/VFS_VPTOFH.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VFS_VPTOFH.9,v 1.1 1997/03/03 17:59:59 dfr Exp $ +.\" $Id: VFS_VPTOFH.9,v 1.1.2.1 1997/03/04 10:07:27 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_ABORTOP.9 b/share/man/man9/VOP_ABORTOP.9 index 4e8d7dbff5b11..7986572a1c1c6 100644 --- a/share/man/man9/VOP_ABORTOP.9 +++ b/share/man/man9/VOP_ABORTOP.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_ABORTOP.9,v 1.1 1997/03/03 18:00:00 dfr Exp $ +.\" $Id: VOP_ABORTOP.9,v 1.1.2.1 1997/03/04 10:07:34 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_ACCESS.9 b/share/man/man9/VOP_ACCESS.9 index c6cb5781c1670..fd125cda5b82a 100644 --- a/share/man/man9/VOP_ACCESS.9 +++ b/share/man/man9/VOP_ACCESS.9 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_ACCESS.9,v 1.3 1997/03/07 03:32:19 mpp Exp $ +.\" $Id: VOP_ACCESS.9,v 1.2.2.1 1997/03/07 03:42:52 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_ADVLOCK.9 b/share/man/man9/VOP_ADVLOCK.9 index 6dd65d375f6c6..f82d0dfd0a379 100644 --- a/share/man/man9/VOP_ADVLOCK.9 +++ b/share/man/man9/VOP_ADVLOCK.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_ADVLOCK.9,v 1.1 1997/03/03 18:00:05 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_ATTRIB.9 b/share/man/man9/VOP_ATTRIB.9 index f34d7ce534ec6..7385fa4ad51af 100644 --- a/share/man/man9/VOP_ATTRIB.9 +++ b/share/man/man9/VOP_ATTRIB.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_ATTRIB.9,v 1.4 1997/03/07 03:32:21 mpp Exp $ +.\" $Id: VOP_ATTRIB.9,v 1.1.2.2 1997/03/07 03:42:53 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_BLKATOFF.9 b/share/man/man9/VOP_BLKATOFF.9 index 143a52439ebf7..a85a14a840091 100644 --- a/share/man/man9/VOP_BLKATOFF.9 +++ b/share/man/man9/VOP_BLKATOFF.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_BLKATOFF.9,v 1.1 1997/03/03 18:00:11 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_BWRITE.9 b/share/man/man9/VOP_BWRITE.9 index 6ed435d3912ac..c71d38ec0b8b3 100644 --- a/share/man/man9/VOP_BWRITE.9 +++ b/share/man/man9/VOP_BWRITE.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_BWRITE.9,v 1.1 1997/03/03 18:00:13 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_CREATE.9 b/share/man/man9/VOP_CREATE.9 index f3cf8bc32b5cf..3756b03132b25 100644 --- a/share/man/man9/VOP_CREATE.9 +++ b/share/man/man9/VOP_CREATE.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_CREATE.9,v 1.3 1997/03/07 03:32:22 mpp Exp $ +.\" $Id: VOP_CREATE.9,v 1.1.2.2 1997/03/07 03:42:54 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_FSYNC.9 b/share/man/man9/VOP_FSYNC.9 index 2c19fc5753172..e85ea252d30f9 100644 --- a/share/man/man9/VOP_FSYNC.9 +++ b/share/man/man9/VOP_FSYNC.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_FSYNC.9,v 1.3 1997/03/07 03:32:24 mpp Exp $ +.\" $Id: VOP_FSYNC.9,v 1.1.2.2 1997/03/07 03:42:56 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_GETPAGES.9 b/share/man/man9/VOP_GETPAGES.9 index a161e41107d97..86ce462f6831e 100644 --- a/share/man/man9/VOP_GETPAGES.9 +++ b/share/man/man9/VOP_GETPAGES.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_GETPAGES.9,v 1.1 1997/03/03 18:00:18 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_INACTIVE.9 b/share/man/man9/VOP_INACTIVE.9 index c04c10daa858e..3993b523f3d1e 100644 --- a/share/man/man9/VOP_INACTIVE.9 +++ b/share/man/man9/VOP_INACTIVE.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_INACTIVE.9,v 1.1 1997/03/03 18:00:20 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_IOCTL.9 b/share/man/man9/VOP_IOCTL.9 index a8845e9f80e75..827d8362497fd 100644 --- a/share/man/man9/VOP_IOCTL.9 +++ b/share/man/man9/VOP_IOCTL.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_IOCTL.9,v 1.1 1997/03/03 18:00:21 dfr Exp $ +.\" $Id: VOP_IOCTL.9,v 1.2 1997/03/04 06:20:42 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_LINK.9 b/share/man/man9/VOP_LINK.9 index c262045a7d9da..cd380cd08d519 100644 --- a/share/man/man9/VOP_LINK.9 +++ b/share/man/man9/VOP_LINK.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_LINK.9,v 1.2 1997/03/07 03:32:25 mpp Exp $ +.\" $Id: VOP_LINK.9,v 1.1.2.1 1997/03/07 03:42:57 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_LOCK.9 b/share/man/man9/VOP_LOCK.9 index 4ef44ac4181cf..dc928b2581659 100644 --- a/share/man/man9/VOP_LOCK.9 +++ b/share/man/man9/VOP_LOCK.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_LOCK.9,v 1.1 1997/03/03 18:00:25 dfr Exp $ +.\" $Id: VOP_LOCK.9,v 1.2 1997/03/04 06:20:42 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_LOOKUP.9 b/share/man/man9/VOP_LOOKUP.9 index 77474f65c7bb2..866a2f48e985d 100644 --- a/share/man/man9/VOP_LOOKUP.9 +++ b/share/man/man9/VOP_LOOKUP.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_LOOKUP.9,v 1.3 1997/03/07 03:32:26 mpp Exp $ +.\" $Id: VOP_LOOKUP.9,v 1.2.2.1 1997/03/07 03:42:58 mpp Exp $ .\" .Dd July 24, 1996 .Os FreeBSD diff --git a/share/man/man9/VOP_MMAP.9 b/share/man/man9/VOP_MMAP.9 index 9f51aa54f782b..2116cbdaf698a 100644 --- a/share/man/man9/VOP_MMAP.9 +++ b/share/man/man9/VOP_MMAP.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_MMAP.9,v 1.1 1997/03/03 18:00:27 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_OPENCLOSE.9 b/share/man/man9/VOP_OPENCLOSE.9 index 6b9350109d031..d17569ac2f570 100644 --- a/share/man/man9/VOP_OPENCLOSE.9 +++ b/share/man/man9/VOP_OPENCLOSE.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_OPENCLOSE.9,v 1.1 1997/03/03 18:00:28 dfr Exp $ +.\" $Id: VOP_OPENCLOSE.9,v 1.1.2.1 1997/03/04 10:07:50 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_PATHCONF.9 b/share/man/man9/VOP_PATHCONF.9 index a1810ee178d7a..a46162941ba45 100644 --- a/share/man/man9/VOP_PATHCONF.9 +++ b/share/man/man9/VOP_PATHCONF.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_PATHCONF.9,v 1.1 1997/03/03 18:00:29 dfr Exp $ +.\" $Id: VOP_PATHCONF.9,v 1.2 1997/03/04 06:20:45 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_PRINT.9 b/share/man/man9/VOP_PRINT.9 index 42fec12c84fb3..077e11b4e5dd0 100644 --- a/share/man/man9/VOP_PRINT.9 +++ b/share/man/man9/VOP_PRINT.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_PRINT.9,v 1.1 1997/03/03 18:00:30 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_RDWR.9 b/share/man/man9/VOP_RDWR.9 index e70169603db56..ef851501fa378 100644 --- a/share/man/man9/VOP_RDWR.9 +++ b/share/man/man9/VOP_RDWR.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_RDWR.9,v 1.4 1997/03/07 03:32:27 mpp Exp $ +.\" $Id: VOP_RDWR.9,v 1.2.2.2 1997/03/07 03:43:00 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_READDIR.9 b/share/man/man9/VOP_READDIR.9 index 526f8097dc67d..0ee7dbff3f5b9 100644 --- a/share/man/man9/VOP_READDIR.9 +++ b/share/man/man9/VOP_READDIR.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_READDIR.9,v 1.3 1997/03/07 03:32:28 mpp Exp $ +.\" $Id: VOP_READDIR.9,v 1.1.2.2 1997/03/07 03:43:01 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_READLINK.9 b/share/man/man9/VOP_READLINK.9 index 8827afee574b2..72a8cf3a29d91 100644 --- a/share/man/man9/VOP_READLINK.9 +++ b/share/man/man9/VOP_READLINK.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_READLINK.9,v 1.3 1997/03/07 03:32:29 mpp Exp $ +.\" $Id: VOP_READLINK.9,v 1.1.2.2 1997/03/07 03:43:02 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_REALLOCBLKS.9 b/share/man/man9/VOP_REALLOCBLKS.9 index 75571a18f79c5..4f42a9ae431c1 100644 --- a/share/man/man9/VOP_REALLOCBLKS.9 +++ b/share/man/man9/VOP_REALLOCBLKS.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_REALLOCBLKS.9,v 1.1 1997/03/03 18:00:35 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_REMOVE.9 b/share/man/man9/VOP_REMOVE.9 index dd8bcaaa1200b..a515d5e1d3d4c 100644 --- a/share/man/man9/VOP_REMOVE.9 +++ b/share/man/man9/VOP_REMOVE.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_REMOVE.9,v 1.3 1997/03/07 03:32:29 mpp Exp $ +.\" $Id: VOP_REMOVE.9,v 1.1.2.2 1997/03/07 03:43:03 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_RENAME.9 b/share/man/man9/VOP_RENAME.9 index d14c9f653e4b4..ddb3caeb6cc9b 100644 --- a/share/man/man9/VOP_RENAME.9 +++ b/share/man/man9/VOP_RENAME.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_RENAME.9,v 1.4 1997/03/07 03:32:30 mpp Exp $ +.\" $Id: VOP_RENAME.9,v 1.2.2.2 1997/03/07 03:43:04 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_SEEK.9 b/share/man/man9/VOP_SEEK.9 index 2f9e51fd29972..48e8d82d2840e 100644 --- a/share/man/man9/VOP_SEEK.9 +++ b/share/man/man9/VOP_SEEK.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_SEEK.9,v 1.1 1997/03/03 18:00:40 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_SELECT.9 b/share/man/man9/VOP_SELECT.9 index 4d3d85bb19b31..64657808829c1 100644 --- a/share/man/man9/VOP_SELECT.9 +++ b/share/man/man9/VOP_SELECT.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: VOP_SELECT.9,v 1.3 1997/03/07 03:32:31 mpp Exp $ +.\" $Id: VOP_SELECT.9,v 1.1.2.2 1997/03/07 03:43:05 mpp Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_STRATEGY.9 b/share/man/man9/VOP_STRATEGY.9 index 1ce3dac31321d..1010c497c8de4 100644 --- a/share/man/man9/VOP_STRATEGY.9 +++ b/share/man/man9/VOP_STRATEGY.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_STRATEGY.9,v 1.1 1997/03/03 18:00:45 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_TRUNCATE.9 b/share/man/man9/VOP_TRUNCATE.9 index db6b8e5914ae3..34644a2a03622 100644 --- a/share/man/man9/VOP_TRUNCATE.9 +++ b/share/man/man9/VOP_TRUNCATE.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_TRUNCATE.9,v 1.1 1997/03/03 18:00:47 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_UPDATE.9 b/share/man/man9/VOP_UPDATE.9 index b2e6fa26946a0..382165f521d71 100644 --- a/share/man/man9/VOP_UPDATE.9 +++ b/share/man/man9/VOP_UPDATE.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_UPDATE.9,v 1.1 1997/03/03 18:00:50 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/VOP_VALLOC.9 b/share/man/man9/VOP_VALLOC.9 index f9feaa9e59e35..69260612175e8 100644 --- a/share/man/man9/VOP_VALLOC.9 +++ b/share/man/man9/VOP_VALLOC.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: VOP_VALLOC.9,v 1.1 1997/03/03 18:00:52 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/at_exit.9 b/share/man/man9/at_exit.9 index 30ce0c438d006..2f1273052a723 100644 --- a/share/man/man9/at_exit.9 +++ b/share/man/man9/at_exit.9 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: at_exit.9,v 1.2.2.2 1997/02/14 07:52:59 mpp Exp $ .\" " .Dd August 15, 1996 .Os diff --git a/share/man/man9/at_fork.9 b/share/man/man9/at_fork.9 index 608936595de78..c9d6c644db91a 100644 --- a/share/man/man9/at_fork.9 +++ b/share/man/man9/at_fork.9 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: at_fork.9,v 1.2.2.1 1997/02/14 07:53:00 mpp Exp $ .\" " .Dd August 15, 1996 .Os diff --git a/share/man/man9/at_shutdown.9 b/share/man/man9/at_shutdown.9 index 7339612439363..d0388d5992b8a 100644 --- a/share/man/man9/at_shutdown.9 +++ b/share/man/man9/at_shutdown.9 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: at_shutdown.9,v 1.4.2.1 1997/02/14 07:53:01 mpp Exp $ .\" " .Dd August 15, 1996 .Os diff --git a/share/man/man9/cd.9 b/share/man/man9/cd.9 index f4e35bd2c84f6..4fb9af3414694 100644 --- a/share/man/man9/cd.9 +++ b/share/man/man9/cd.9 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: cd.9,v 1.5 1997/03/07 02:53:34 jmg Exp $ +.\" $Id: cd.9,v 1.1.2.4 1997/03/07 03:08:38 mpp Exp $ .\" .Dd February 1, 1997 .Dt CD 9 diff --git a/share/man/man9/devfs_add_devswf.9 b/share/man/man9/devfs_add_devswf.9 index 1d7c66efc0a5a..2f0d69116b2ec 100644 --- a/share/man/man9/devfs_add_devswf.9 +++ b/share/man/man9/devfs_add_devswf.9 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: devfs_add_devswf.9,v 1.1 1996/04/02 04:10:44 scrappy Exp $ +.\" $Id: devfs_add_devswf.9,v 1.2 1996/08/21 21:43:22 mpp Exp $ .\" .Dd December 31, 1995 .Os FreeBSD diff --git a/share/man/man9/devfs_link.9 b/share/man/man9/devfs_link.9 index 33436afad4da5..01cc49666fe9b 100644 --- a/share/man/man9/devfs_link.9 +++ b/share/man/man9/devfs_link.9 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: devfs_link.9,v 1.3 1996/04/02 04:10:45 scrappy Exp $ +.\" $Id: devfs_link.9,v 1.4 1996/08/21 21:43:25 mpp Exp $ .\" .Dd December 31, 1995 .Os FreeBSD diff --git a/share/man/man9/intro.9 b/share/man/man9/intro.9 index d79eed85b4924..bc10c80183adb 100644 --- a/share/man/man9/intro.9 +++ b/share/man/man9/intro.9 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: intro.9,v 1.7 1997/03/07 02:53:35 jmg Exp $ +.\" $Id: intro.9,v 1.4.2.3 1997/03/07 03:08:39 mpp Exp $ .\" .Dd December 13, 1995 .Dt INTRO 9 diff --git a/share/man/man9/rtalloc.9 b/share/man/man9/rtalloc.9 index 221bf02c98847..f6b5d56a741ca 100644 --- a/share/man/man9/rtalloc.9 +++ b/share/man/man9/rtalloc.9 @@ -26,7 +26,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rtalloc.9,v 1.2 1996/10/08 20:25:37 wollman Exp $ +.\" $Id: rtalloc.9,v 1.2.2.1 1996/12/03 10:38:24 phk Exp $ .Dd October 8, 1996 .Os .Dt RTALLOC 9 diff --git a/share/man/man9/rtentry.9 b/share/man/man9/rtentry.9 index ca47c982377e2..78f181c418399 100644 --- a/share/man/man9/rtentry.9 +++ b/share/man/man9/rtentry.9 @@ -26,7 +26,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rtentry.9,v 1.2 1996/10/08 20:38:28 wollman Exp $ +.\" $Id: rtentry.9,v 1.2.2.1 1996/12/03 10:38:25 phk Exp $ .Dd October 8, 1996 .Os .Dt RTENTRY 9 diff --git a/share/man/man9/scsiconf.9 b/share/man/man9/scsiconf.9 index 568b9f8aac3d0..e0544b692e3db 100644 --- a/share/man/man9/scsiconf.9 +++ b/share/man/man9/scsiconf.9 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: scsiconf.9,v 1.4 1997/03/07 02:53:36 jmg Exp $ +.\" $Id: scsiconf.9,v 1.1.2.3 1997/03/07 03:08:40 mpp Exp $ .\" .Dd January 29, 1997 .Dt SCSICONF 9 diff --git a/share/man/man9/sd.9 b/share/man/man9/sd.9 index d2f928e3897e7..301b67edb5e5a 100644 --- a/share/man/man9/sd.9 +++ b/share/man/man9/sd.9 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: sd.9,v 1.4 1997/03/07 02:53:36 jmg Exp $ +.\" $Id: sd.9,v 1.1.2.3 1997/03/07 03:08:40 mpp Exp $ .\" .Dd February 1, 1997 .Dt SD 9 diff --git a/share/man/man9/sleep.9 b/share/man/man9/sleep.9 index c59f6eab86a78..54e71de538a59 100644 --- a/share/man/man9/sleep.9 +++ b/share/man/man9/sleep.9 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: sleep.9,v 1.4 1996/04/06 13:33:23 joerg Exp $ +.\" $Id: sleep.9,v 1.5 1996/04/07 08:37:53 mpp Exp $ .\" " .Dd April 3, 1996 .Os diff --git a/share/man/man9/spl.9 b/share/man/man9/spl.9 index dbf5e57cafd5c..54714674c9e1c 100644 --- a/share/man/man9/spl.9 +++ b/share/man/man9/spl.9 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: spl.9,v 1.1 1996/10/04 21:22:49 joerg Exp $ .\" " .Dd July 21, 1996 .Os diff --git a/share/man/man9/st.9 b/share/man/man9/st.9 index a8cc71f251347..43d86b59aeca8 100644 --- a/share/man/man9/st.9 +++ b/share/man/man9/st.9 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: st.9,v 1.4 1997/03/07 02:53:37 jmg Exp $ +.\" $Id: st.9,v 1.1.2.3 1997/03/07 03:08:41 mpp Exp $ .\" .Dd February 1, 1997 .Dt ST 9 diff --git a/share/man/man9/style.9 b/share/man/man9/style.9 index 2579b4f4ccffe..ae7da3fc1fd32 100644 --- a/share/man/man9/style.9 +++ b/share/man/man9/style.9 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: style.9,v 1.11.2.1 1996/12/10 21:59:35 joerg Exp $ +.\" $Id: style.9,v 1.11.2.2 1996/12/31 22:58:00 mpp Exp $ .\" .Dd December 14, 1995 .Dt STYLE 9 @@ -39,7 +39,7 @@ files in the FreeBSD source tree. * * @(#)style 1.14 (Berkeley) 4/28/95 * - * $Id: style.9,v 1.11.2.1 1996/12/10 21:59:35 joerg Exp $ + * $Id: style.9,v 1.11.2.2 1996/12/31 22:58:00 mpp Exp $ * */ diff --git a/share/man/man9/suser.9 b/share/man/man9/suser.9 index 2f93b27b7b571..4b0bf2c107434 100644 --- a/share/man/man9/suser.9 +++ b/share/man/man9/suser.9 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: suser.9,v 1.4 1997/03/07 02:53:37 jmg Exp $ +.\" $Id: suser.9,v 1.1.2.3 1997/03/07 03:08:41 mpp Exp $ .\" .Dd Oct 15, 1996 .Dt SUSER 9 diff --git a/share/man/man9/timeout.9 b/share/man/man9/timeout.9 index 2f67423578660..34df63614e9f7 100644 --- a/share/man/man9/timeout.9 +++ b/share/man/man9/timeout.9 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: timeout.9,v 1.1 1996/04/13 16:59:07 joerg Exp $ .\" " .Dd April 13, 1996 .Os diff --git a/share/man/man9/uio.9 b/share/man/man9/uio.9 index 406b1870e98de..5ac98a91757d0 100644 --- a/share/man/man9/uio.9 +++ b/share/man/man9/uio.9 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: uio.9,v 1.2.2.1 1997/02/28 03:27:31 mpp Exp $ .\" " .Dd February 2, 1997 .Os diff --git a/share/man/man9/vget.9 b/share/man/man9/vget.9 index 749eb98ec79c9..7855c044e7411 100644 --- a/share/man/man9/vget.9 +++ b/share/man/man9/vget.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: vget.9,v 1.1 1997/03/03 18:00:55 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/vnode.9 b/share/man/man9/vnode.9 index 4ab29e63dd7de..28f12aeb5d499 100644 --- a/share/man/man9/vnode.9 +++ b/share/man/man9/vnode.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: vnode.9,v 1.1 1997/03/03 18:00:57 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/vput.9 b/share/man/man9/vput.9 index cf2cba191b5f6..914c612a0efb9 100644 --- a/share/man/man9/vput.9 +++ b/share/man/man9/vput.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: vput.9,v 1.1 1997/03/03 18:00:58 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/vref.9 b/share/man/man9/vref.9 index 47282da4b5063..67b29310d8bed 100644 --- a/share/man/man9/vref.9 +++ b/share/man/man9/vref.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: vref.9,v 1.1 1997/03/03 18:01:00 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/man/man9/vrele.9 b/share/man/man9/vrele.9 index ed748d790dbf1..3dd1f337fde71 100644 --- a/share/man/man9/vrele.9 +++ b/share/man/man9/vrele.9 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: vrele.9,v 1.1 1997/03/03 18:01:01 dfr Exp $ .\" .Dd July 24, 1996 .Os diff --git a/share/misc/Makefile b/share/misc/Makefile index 8eb62fa81151f..41df8d1c4524a 100644 --- a/share/misc/Makefile +++ b/share/misc/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $Id$ +# $Id: Makefile,v 1.6 1996/08/05 18:35:33 wollman Exp $ FILES= airport ascii birthtoken eqnchar flowers inter.phone iso3166 \ man.template mdoc.template na.phone operator scsi_modes zipcodes diff --git a/share/misc/iso3166 b/share/misc/iso3166 index 64089e67224e7..2a20d40ca281a 100644 --- a/share/misc/iso3166 +++ b/share/misc/iso3166 @@ -1,4 +1,4 @@ -# $Id$ +# $Id: iso3166,v 1.1 1996/08/05 18:35:35 wollman Exp $ # # ISO 3166 country codes # Ths includes many places that are not legally independent countries, diff --git a/share/mk/Makefile b/share/mk/Makefile index 40219a22bd2b1..6002b89c95bf0 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.12 1996/09/05 18:05:05 bde Exp $ +# $Id: Makefile,v 1.13 1996/10/08 22:09:01 bde Exp $ # From: @(#)Makefile 8.1 (Berkeley) 6/8/93 FILES= bsd.README diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk index 00b8f512c24c8..9c6a4ee4f6f04 100644 --- a/share/mk/bsd.dep.mk +++ b/share/mk/bsd.dep.mk @@ -1,4 +1,4 @@ -# $Id: bsd.dep.mk,v 1.6 1996/07/27 22:16:54 jkh Exp $ +# $Id: bsd.dep.mk,v 1.8 1996/08/25 05:16:55 jkh Exp $ # # The include file <bsd.dep.mk> handles Makefile dependencies. # diff --git a/share/mk/bsd.doc.mk b/share/mk/bsd.doc.mk index 318a5d520a437..86df7953008f0 100644 --- a/share/mk/bsd.doc.mk +++ b/share/mk/bsd.doc.mk @@ -1,5 +1,5 @@ # from: @(#)bsd.doc.mk 5.3 (Berkeley) 1/2/91 -# $Id$ +# $Id: bsd.doc.mk,v 1.26.2.2 1997/03/15 21:17:22 bde Exp $ PRINTERDEVICE?= ascii diff --git a/share/mk/bsd.info.mk b/share/mk/bsd.info.mk index 06809e986ba99..c1639725ee2af 100644 --- a/share/mk/bsd.info.mk +++ b/share/mk/bsd.info.mk @@ -1,4 +1,4 @@ -# $Id: bsd.info.mk,v 1.18 1996/06/24 04:23:58 jkh Exp $ +# $Id: bsd.info.mk,v 1.19 1996/09/03 15:14:45 bde Exp $ BINMODE= 444 BINDIR?= /usr/share/info diff --git a/share/mk/bsd.kern.mk b/share/mk/bsd.kern.mk index 8aac1112fc334..a9f7423acdbd3 100644 --- a/share/mk/bsd.kern.mk +++ b/share/mk/bsd.kern.mk @@ -1,4 +1,4 @@ -# $Id: bsd.kern.mk,v 1.2 1996/10/09 18:41:40 bde Exp $ +# $Id: bsd.kern.mk,v 1.2.2.1 1996/11/12 08:01:32 phk Exp $ # # Warning flags for compiling the kernel and components of the kernel. diff --git a/share/mk/bsd.kmod.mk b/share/mk/bsd.kmod.mk index f50f42c852c44..b62e49810cde1 100644 --- a/share/mk/bsd.kmod.mk +++ b/share/mk/bsd.kmod.mk @@ -1,5 +1,5 @@ # From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $Id: bsd.kmod.mk,v 1.27 1996/10/06 22:10:35 wosch Exp $ +# $Id: bsd.kmod.mk,v 1.28 1996/10/08 22:09:03 bde Exp $ # # The include file <bsd.kmod.mk> handles installing Loadable Kernel Modules. # <bsd.kmod.mk> includes the file named "../Makefile.inc" if it exists, diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index a6779817dd129..b2b8f1edf57b4 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -1,5 +1,5 @@ # from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91 -# $Id: bsd.lib.mk,v 1.46.2.1 1997/02/05 05:07:34 pst Exp $ +# $Id: bsd.lib.mk,v 1.46.2.2 1997/02/14 01:54:28 jmz Exp $ # .if exists(${.CURDIR}/../Makefile.inc) diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk index fb84bea270990..ad5104c6024b5 100644 --- a/share/mk/bsd.libnames.mk +++ b/share/mk/bsd.libnames.mk @@ -1,4 +1,4 @@ -# $Id: bsd.libnames.mk,v 1.3 1996/10/04 08:55:05 peter Exp $ +# $Id: bsd.libnames.mk,v 1.3.2.1 1997/02/07 17:06:24 pst Exp $ LIBCRT0?= ${DESTDIR}/usr/lib/crt0.o LIBKZHEAD?= ${DESTDIR}/usr/lib/kzhead.o diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk index c5dd44c7a2e8c..19a183f686c2e 100644 --- a/share/mk/bsd.man.mk +++ b/share/mk/bsd.man.mk @@ -1,4 +1,4 @@ -# $Id: bsd.man.mk,v 1.15 1996/08/26 10:55:32 peter Exp $ +# $Id: bsd.man.mk,v 1.16 1996/09/16 14:13:40 peter Exp $ # # The include file <bsd.man.mk> handles installing manual pages and # their links. <bsd.man.mk> includes the file named "../Makefile.inc" diff --git a/share/mk/bsd.obj.mk b/share/mk/bsd.obj.mk index d532ac280f55c..428a71c503451 100644 --- a/share/mk/bsd.obj.mk +++ b/share/mk/bsd.obj.mk @@ -1,4 +1,4 @@ -# $Id: bsd.obj.mk,v 1.16 1996/09/29 18:28:55 bde Exp $ +# $Id: bsd.obj.mk,v 1.16.2.1 1997/02/14 05:11:07 jdp Exp $ # # The include file <bsd.obj.mk> handles creating the 'obj' directory # and cleaning up object files, log files etc. diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index de022f5fdd41f..94d41ecb221d6 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -1,4 +1,4 @@ -# $Id: bsd.own.mk,v 1.6 1996/05/25 23:09:49 wosch Exp $ +# $Id: bsd.own.mk,v 1.7 1996/06/24 04:24:08 jkh Exp $ # # The include file <bsd.own.mk> set common variables for owner, # group, mode, and directories. Defaults are in brackets. diff --git a/share/mk/bsd.port.mk b/share/mk/bsd.port.mk index 93cb566a7723f..e817ff14e1f1b 100644 --- a/share/mk/bsd.port.mk +++ b/share/mk/bsd.port.mk @@ -6,7 +6,7 @@ # bsd.port.mk - 940820 Jordan K. Hubbard. # This file is in the public domain. # -# $Id: bsd.port.mk,v 1.227.2.15 1997/02/23 13:27:21 asami Exp $ +# $Id: bsd.port.mk,v 1.227.2.16 1997/03/06 08:33:14 asami Exp $ # # Please view me with 4 column tabs! diff --git a/share/mk/bsd.port.subdir.mk b/share/mk/bsd.port.subdir.mk index f939dce8bf6b0..58f1802b2c359 100644 --- a/share/mk/bsd.port.subdir.mk +++ b/share/mk/bsd.port.subdir.mk @@ -1,5 +1,5 @@ # from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 -# $Id: bsd.port.subdir.mk,v 1.15 1996/11/01 07:22:37 asami Exp $ +# $Id: bsd.port.subdir.mk,v 1.15.2.1 1997/01/13 02:15:40 asami Exp $ .MAIN: all diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index 4c2dacdc12502..42a67761769fc 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -1,5 +1,5 @@ # from: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $Id: bsd.prog.mk,v 1.41 1996/09/28 06:01:01 bde Exp $ +# $Id: bsd.prog.mk,v 1.41.2.1 1997/03/08 19:48:05 bde Exp $ .if exists(${.CURDIR}/../Makefile.inc) .include "${.CURDIR}/../Makefile.inc" diff --git a/share/mk/bsd.sgml.mk b/share/mk/bsd.sgml.mk index 679a1ada751b8..6ff2034f6eec2 100644 --- a/share/mk/bsd.sgml.mk +++ b/share/mk/bsd.sgml.mk @@ -1,7 +1,7 @@ # bsd.sgml.mk - 8 Sep 1995 John Fieber # This file is in the public domain. # -# $Id: bsd.sgml.mk,v 1.11 1996/10/06 21:55:18 wosch Exp $ +# $Id: bsd.sgml.mk,v 1.12 1996/10/08 13:45:06 jfieber Exp $ # # The include file <bsd.sgml.mk> handles installing sgml documents. # <bsd.prog.mk> includes the file named "../Makefile.inc" if it exists, diff --git a/share/mk/bsd.subdir.mk b/share/mk/bsd.subdir.mk index af53ba105bae7..94fe1e17f9112 100644 --- a/share/mk/bsd.subdir.mk +++ b/share/mk/bsd.subdir.mk @@ -1,5 +1,5 @@ # from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 -# $Id: bsd.subdir.mk,v 1.10 1996/06/24 21:33:23 jkh Exp $ +# $Id: bsd.subdir.mk,v 1.11 1996/09/20 16:17:07 bde Exp $ .MAIN: all diff --git a/share/mk/sys.mk b/share/mk/sys.mk index 8aa6f5de49865..4307ebfe7a8f4 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -1,5 +1,5 @@ # from: @(#)sys.mk 8.2 (Berkeley) 3/21/94 -# $Id: sys.mk,v 1.16.2.1 1996/11/06 09:25:51 phk Exp $ +# $Id: sys.mk,v 1.16.2.2 1996/11/10 11:55:32 phk Exp $ unix ?= We run FreeBSD, not UNIX. diff --git a/share/sgml/CATALOG b/share/sgml/CATALOG index 3667cff8f8870..bb8dd35258cf3 100644 --- a/share/sgml/CATALOG +++ b/share/sgml/CATALOG @@ -1,4 +1,4 @@ --- $Id: CATALOG,v 1.5 1997/01/12 20:59:49 jfieber Exp $ -- +-- $Id: CATALOG,v 1.2.2.1 1997/02/07 02:29:22 jfieber Exp $ -- -- ISO general entities -- diff --git a/share/sgml/FreeBSD/Makefile b/share/sgml/FreeBSD/Makefile index 873e56014f5a0..f8d83e3a2bc4b 100644 --- a/share/sgml/FreeBSD/Makefile +++ b/share/sgml/FreeBSD/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1.4.1 1995/09/17 23:42:31 davidg Exp $ +# $Id: Makefile,v 1.2 1996/09/08 20:37:10 jfieber Exp $ FILES= linuxdoc.dtd linuxdoc.dcl linuxdoc.sty NOOBJ= noobj diff --git a/share/sgml/ISO/Makefile b/share/sgml/ISO/Makefile index 5a44bb82aae9e..d442f69d96c8c 100644 --- a/share/sgml/ISO/Makefile +++ b/share/sgml/ISO/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1996/09/05 19:58:11 jfieber Exp $ +# $Id: Makefile,v 1.2 1996/09/08 02:43:39 jfieber Exp $ FILES= ISOamsa ISOamsb ISOamsc ISOamsn ISOamso ISOamsr FILES+= ISObox ISOcyr1 ISOcyr2 ISOdia ISOgrk1 ISOgrk2 ISOgrk3 diff --git a/share/sgml/Makefile b/share/sgml/Makefile index 05b220ea9b2e3..d147f054efb4f 100644 --- a/share/sgml/Makefile +++ b/share/sgml/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.7 1997/01/04 22:38:26 jfieber Exp $ +# $Id: Makefile,v 1.4.2.2 1997/02/07 02:29:22 jfieber Exp $ SUBDIR= FreeBSD ISO docbook transpec FILES= CATALOG diff --git a/share/sgml/Makefile.inc b/share/sgml/Makefile.inc index 0fd5d0e6ceadf..98600df65a7bf 100644 --- a/share/sgml/Makefile.inc +++ b/share/sgml/Makefile.inc @@ -1,3 +1,3 @@ -# $Id:$ +# $Id: Makefile.inc,v 1.1.1.1 1995/05/09 23:19:45 jfieber Exp $ BINDIR?= /usr/share/sgml diff --git a/share/sgml/docbook/Makefile b/share/sgml/docbook/Makefile index 7eb4d9d86bbb8..9f9a76b0ecdae 100644 --- a/share/sgml/docbook/Makefile +++ b/share/sgml/docbook/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.3.2.1 1997/02/07 02:29:32 jfieber Exp $ FILES= cals-tbl.dtd dbgenent.mod dbhier.mod dbpool.mod FILES+= docbook.dcl docbook.dtd diff --git a/share/sgml/transpec/Makefile b/share/sgml/transpec/Makefile index a2a49d0bc938d..03af19b38228b 100644 --- a/share/sgml/transpec/Makefile +++ b/share/sgml/transpec/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1996/09/08 02:37:39 jfieber Exp $ +# $Id: Makefile,v 1.1.1.1.2.1 1996/11/10 12:01:54 phk Exp $ FILES= roff.cmap roff.sdata linuxdoc-roff.ts FILES+= html.cmap html.sdata linuxdoc-html.ts diff --git a/share/sgml/transpec/docbook-html.ts b/share/sgml/transpec/docbook-html.ts index b0ef457fa3d01..24fa4d9257a65 100644 --- a/share/sgml/transpec/docbook-html.ts +++ b/share/sgml/transpec/docbook-html.ts @@ -1,6 +1,6 @@ <!-- - $Id: docbook-html.ts,v 1.9 1997/02/07 02:25:36 jfieber Exp $ + $Id: docbook-html.ts,v 1.1.2.2 1997/02/07 02:29:33 jfieber Exp $ Copyright (C) 1997 John R. Fieber. All rights reserved. diff --git a/share/sgml/transpec/html.cmap b/share/sgml/transpec/html.cmap index 79ed03f7011e7..a858e107fae6b 100644 --- a/share/sgml/transpec/html.cmap +++ b/share/sgml/transpec/html.cmap @@ -1,6 +1,6 @@ <!-- - $Id$ + $Id: html.cmap,v 1.1.1.1 1996/09/08 02:37:39 jfieber Exp $ Copyright (C) 1996 John R. Fieber. All rights reserved. diff --git a/share/sgml/transpec/html.sdata b/share/sgml/transpec/html.sdata index 45d46934fc666..d429e9cbee965 100644 --- a/share/sgml/transpec/html.sdata +++ b/share/sgml/transpec/html.sdata @@ -1,6 +1,6 @@ <!-- - $Id: html.sdata,v 1.2 1996/09/08 19:20:03 jfieber Exp $ + $Id: html.sdata,v 1.3 1996/09/15 03:31:28 adam Exp $ Copyright (c) 1994 Open Software Foundation, Inc. diff --git a/share/sgml/transpec/latex.cmap b/share/sgml/transpec/latex.cmap index 1fab8afda2ae0..8b3ad4f31faf2 100644 --- a/share/sgml/transpec/latex.cmap +++ b/share/sgml/transpec/latex.cmap @@ -1,6 +1,6 @@ <!-- - $Id$ + $Id: latex.cmap,v 1.1.1.1 1996/09/08 02:37:40 jfieber Exp $ Copyright (c) 1994 Open Software Foundation, Inc. diff --git a/share/sgml/transpec/latex.sdata b/share/sgml/transpec/latex.sdata index 8887985a83b00..9e44a7579baee 100644 --- a/share/sgml/transpec/latex.sdata +++ b/share/sgml/transpec/latex.sdata @@ -1,6 +1,6 @@ <!-- - $Id$ + $Id: latex.sdata,v 1.1.1.1 1996/09/08 02:37:39 jfieber Exp $ Copyright (c) 1994 Open Software Foundation, Inc. diff --git a/share/sgml/transpec/linuxdoc-html.ts b/share/sgml/transpec/linuxdoc-html.ts index 3aa32c32a9a1d..5d650c14e4537 100644 --- a/share/sgml/transpec/linuxdoc-html.ts +++ b/share/sgml/transpec/linuxdoc-html.ts @@ -1,6 +1,6 @@ <!-- - $Id: linuxdoc-html.ts,v 1.1.1.1 1996/09/08 02:37:39 jfieber Exp $ + $Id: linuxdoc-html.ts,v 1.1.1.1.2.1 1996/12/22 15:32:24 joerg Exp $ Copyright (C) 1996 John R. Fieber. All rights reserved. diff --git a/share/sgml/transpec/linuxdoc-latex.ts b/share/sgml/transpec/linuxdoc-latex.ts index 3772b6c6a9bc3..352d27a5fe129 100644 --- a/share/sgml/transpec/linuxdoc-latex.ts +++ b/share/sgml/transpec/linuxdoc-latex.ts @@ -1,6 +1,6 @@ <!-- - $Id: linuxdoc-latex.ts,v 1.2 1996/09/08 19:20:04 jfieber Exp $ + $Id: linuxdoc-latex.ts,v 1.2.2.1 1996/12/22 15:32:25 joerg Exp $ Copyright (C) 1996 John R. Fieber. All rights reserved. diff --git a/share/sgml/transpec/linuxdoc-roff.ts b/share/sgml/transpec/linuxdoc-roff.ts index d253b94afcb19..eeaa0a7c4ceff 100644 --- a/share/sgml/transpec/linuxdoc-roff.ts +++ b/share/sgml/transpec/linuxdoc-roff.ts @@ -1,6 +1,6 @@ <!-- - $Id: linuxdoc-roff.ts,v 1.2 1996/09/08 19:20:05 jfieber Exp $ + $Id: linuxdoc-roff.ts,v 1.2.2.1 1996/12/22 15:32:25 joerg Exp $ Copyright (C) 1996 John R. Fieber. All rights reserved. diff --git a/share/sgml/transpec/roff.cmap b/share/sgml/transpec/roff.cmap index 92fa91a76e033..8adaf56128a07 100644 --- a/share/sgml/transpec/roff.cmap +++ b/share/sgml/transpec/roff.cmap @@ -1,6 +1,6 @@ <!-- - $Id$ + $Id: roff.cmap,v 1.1.1.1 1996/09/08 02:37:39 jfieber Exp $ Copyright (C) 1996 John R. Fieber. All rights reserved. diff --git a/share/sgml/transpec/roff.sdata b/share/sgml/transpec/roff.sdata index 0e92809e2b0d6..1eb48e0197a0c 100644 --- a/share/sgml/transpec/roff.sdata +++ b/share/sgml/transpec/roff.sdata @@ -1,6 +1,6 @@ <!-- - $Id: roff.sdata,v 1.1.1.1 1996/09/08 02:37:39 jfieber Exp $ + $Id: roff.sdata,v 1.2 1996/09/08 21:37:42 jfieber Exp $ Copyright (C) 1996 Chuck Robey. All rights reserved. diff --git a/share/sgml/transpec/transpec.dtd b/share/sgml/transpec/transpec.dtd index 69075de689d46..b39a7e5163d5f 100644 --- a/share/sgml/transpec/transpec.dtd +++ b/share/sgml/transpec/transpec.dtd @@ -1,6 +1,6 @@ <!-- - $Id: transpec.dtd,v 1.1.1.1 1996/09/08 02:37:40 jfieber Exp $ + $Id: transpec.dtd,v 1.1.1.1.2.1 1996/12/22 15:32:27 joerg Exp $ Copyright (C) 1996 John R. Fieber. All rights reserved. diff --git a/share/skel/dot.cshrc b/share/skel/dot.cshrc index 0b9483a3dda91..6898cf70a97f9 100644 --- a/share/skel/dot.cshrc +++ b/share/skel/dot.cshrc @@ -1,4 +1,4 @@ -# $Id$ +# $Id: dot.cshrc,v 1.5 1996/09/21 21:35:35 wosch Exp $ # # .cshrc - csh resource script, read at beginning # of execution by each shell diff --git a/share/skel/dot.login b/share/skel/dot.login index a9043ba8fd75e..9fde67f1913ef 100644 --- a/share/skel/dot.login +++ b/share/skel/dot.login @@ -1,4 +1,4 @@ -# $Id: dot.login,v 1.7 1996/09/21 21:35:38 wosch Exp $ +# $Id: dot.login,v 1.7.2.1 1997/02/23 20:57:42 joerg Exp $ # # .login - csh login script, read by login shell, # after `.cshrc' at login. diff --git a/share/skel/dot.mailrc b/share/skel/dot.mailrc index 9a60eaf54ff6c..57d9441460d7a 100644 --- a/share/skel/dot.mailrc +++ b/share/skel/dot.mailrc @@ -1,4 +1,4 @@ -# $Id$ +# $Id: dot.mailrc,v 1.2 1996/09/21 21:35:41 wosch Exp $ # # .mailrc - mail resources # diff --git a/share/skel/dot.profile b/share/skel/dot.profile index ab28a63ad612b..dadd22ec56a07 100644 --- a/share/skel/dot.profile +++ b/share/skel/dot.profile @@ -1,4 +1,4 @@ -# $Id: dot.profile,v 1.7 1996/09/21 21:35:44 wosch Exp $ +# $Id: dot.profile,v 1.7.2.1 1997/02/23 20:57:42 joerg Exp $ # # .profile - Bourne Shell startup script for login shells # diff --git a/share/skel/dot.rhosts b/share/skel/dot.rhosts index 3f76a73bc4361..028f82454600a 100644 --- a/share/skel/dot.rhosts +++ b/share/skel/dot.rhosts @@ -1,4 +1,4 @@ -# $Id$ +# $Id: dot.rhosts,v 1.3 1996/09/21 21:35:47 wosch Exp $ # # .rhosts - trusted remote host name and user data base # diff --git a/share/syscons/Makefile b/share/syscons/Makefile index 5ffd23a3556da..409a985eb7710 100644 --- a/share/syscons/Makefile +++ b/share/syscons/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1993/09/30 23:24:48 jkh Exp $ +# $Id: Makefile,v 1.1 1994/09/25 03:42:20 ache Exp $ SUBDIR= fonts keymaps scrnmaps diff --git a/share/syscons/fonts/INDEX.fonts b/share/syscons/fonts/INDEX.fonts index 29ab2177c2fb1..f2dc1b1e12c58 100644 --- a/share/syscons/fonts/INDEX.fonts +++ b/share/syscons/fonts/INDEX.fonts @@ -1,5 +1,5 @@ # -# $Id: INDEX.fonts,v 1.3 1996/07/25 14:06:37 wosch Exp $ +# $Id: INDEX.fonts,v 1.4 1996/08/19 22:13:04 wosch Exp $ # # database for vidfont(8) # diff --git a/share/syscons/fonts/Makefile b/share/syscons/fonts/Makefile index f556cc60b8f88..dbebf2ad5487c 100644 --- a/share/syscons/fonts/Makefile +++ b/share/syscons/fonts/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.8 1996/02/18 02:25:32 wosch Exp $ +# $Id: Makefile,v 1.9 1996/08/19 22:13:05 wosch Exp $ FONTS= cp437-8x8.fnt cp437-8x14.fnt cp437-8x16.fnt \ cp437-thin-8x8.fnt cp437-thin-8x16.fnt \ diff --git a/share/syscons/keymaps/INDEX.keymaps b/share/syscons/keymaps/INDEX.keymaps index 4b324e8c850d8..ced9a8bfc4f1c 100644 --- a/share/syscons/keymaps/INDEX.keymaps +++ b/share/syscons/keymaps/INDEX.keymaps @@ -1,4 +1,4 @@ -# $Id: INDEX.keymaps,v 1.8 1996/08/19 22:11:15 wosch Exp $ +# $Id: INDEX.keymaps,v 1.9 1996/10/21 23:34:57 ache Exp $ # # database for kbdmap(8) # diff --git a/share/syscons/keymaps/Makefile b/share/syscons/keymaps/Makefile index d877d3131c3ce..bef932eb180f8 100644 --- a/share/syscons/keymaps/Makefile +++ b/share/syscons/keymaps/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.14 1996/08/19 22:11:16 wosch Exp $ +# $Id: Makefile,v 1.15 1996/10/21 23:34:58 ache Exp $ KEYMAPS= INDEX.keymaps KEYMAPS+= be.iso.kbd diff --git a/share/termcap/termcap.src b/share/termcap/termcap.src index a178bd4f284ef..693fb4284de73 100644 --- a/share/termcap/termcap.src +++ b/share/termcap/termcap.src @@ -30,7 +30,7 @@ # SUCH DAMAGE. # # @(#)termcap.src 8.2 (Berkeley) 11/17/93 -# $Id: termcap.src,v 1.66.2.4 1997/02/02 18:11:01 joerg Exp $ +# $Id: termcap.src,v 1.66.2.5 1997/02/02 18:44:45 joerg Exp $ # Termcap source file # John Kunze, Berkeley diff --git a/share/timedef/Makefile b/share/timedef/Makefile index 92381a0117e92..aa444350eba5b 100644 --- a/share/timedef/Makefile +++ b/share/timedef/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1995/08/06 11:15:54 ache Exp $ +# $Id: Makefile,v 1.2 1995/11/03 15:07:53 ache Exp $ SUBDIR = data diff --git a/share/timedef/data/Makefile b/share/timedef/data/Makefile index 0a3f40e714841..49390d06bc307 100644 --- a/share/timedef/data/Makefile +++ b/share/timedef/data/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.14 1997/02/27 00:08:51 wosch Exp $ +# $Id: Makefile,v 1.2.2.6 1997/02/27 17:41:47 adam Exp $ NOMAN=YES CLEANFILES+= ${LOCALES:S/$/.out/g} diff --git a/share/timedef/data/da_DK.ISO_8859-1.src b/share/timedef/data/da_DK.ISO_8859-1.src index 01d239345efe2..666e067750de9 100644 --- a/share/timedef/data/da_DK.ISO_8859-1.src +++ b/share/timedef/data/da_DK.ISO_8859-1.src @@ -1,4 +1,4 @@ -# $Id: de_DE.ISO_8859-1.src,v 1.2.2.1 1996/11/28 08:25:02 phk Exp $ +# $Id: da_DK.ISO_8859-1.src,v 1.1 1996/11/29 19:28:27 phk Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/de_AT.ISO_8859-1.src b/share/timedef/data/de_AT.ISO_8859-1.src index c2b279a4d6253..efe78d0bc8580 100644 --- a/share/timedef/data/de_AT.ISO_8859-1.src +++ b/share/timedef/data/de_AT.ISO_8859-1.src @@ -1,4 +1,4 @@ -# $Id: de_DE.ISO_8859-1.src,v 1.6 1997/02/22 13:56:44 peter Exp $ +# $Id: de_AT.ISO_8859-1.src,v 1.1 1997/02/25 21:01:52 wosch Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/de_DE.ISO_8859-1.src b/share/timedef/data/de_DE.ISO_8859-1.src index 612d46dcb2e45..ee6e588ada7e0 100644 --- a/share/timedef/data/de_DE.ISO_8859-1.src +++ b/share/timedef/data/de_DE.ISO_8859-1.src @@ -1,4 +1,4 @@ -# $Id: de_DE.ISO_8859-1.src,v 1.2.2.1 1996/11/28 08:25:02 phk Exp $ +# $Id: de_DE.ISO_8859-1.src,v 1.2.2.2 1996/12/29 11:04:32 joerg Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/en_GB.ISO_8859-1.src b/share/timedef/data/en_GB.ISO_8859-1.src index b34711bbbba4d..bb087a50fa1a5 100644 --- a/share/timedef/data/en_GB.ISO_8859-1.src +++ b/share/timedef/data/en_GB.ISO_8859-1.src @@ -1,4 +1,4 @@ -# $Id$ +# $Id: en_GB.ISO_8859-1.src,v 1.1 1996/11/30 05:35:49 ache Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/en_US.ISO_8859-1.src b/share/timedef/data/en_US.ISO_8859-1.src index 9157c5be41fea..eb85ebce024d3 100644 --- a/share/timedef/data/en_US.ISO_8859-1.src +++ b/share/timedef/data/en_US.ISO_8859-1.src @@ -1,4 +1,4 @@ -# $Id: en_US.ISO_8859-1.src,v 1.1 1996/11/30 05:35:49 ache Exp $ +# $Id: en_US.ISO_8859-1.src,v 1.1 1996/12/25 02:37:35 ache Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/fr_FR.ISO_8859-1.src b/share/timedef/data/fr_FR.ISO_8859-1.src index 2e70f2543876e..305a6db4c2cfe 100644 --- a/share/timedef/data/fr_FR.ISO_8859-1.src +++ b/share/timedef/data/fr_FR.ISO_8859-1.src @@ -1,4 +1,4 @@ -# $Id: fr_FR.ISO_8859-1.src,v 1.1 1996/12/02 12:00:46 ache Exp $ +# $Id: fr_FR.ISO_8859-1.src,v 1.1.2.1 1996/12/10 21:59:42 joerg Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/hr_HR.ISO_8859-2.src b/share/timedef/data/hr_HR.ISO_8859-2.src index 761fd1430cd62..79d9eebe3d632 100644 --- a/share/timedef/data/hr_HR.ISO_8859-2.src +++ b/share/timedef/data/hr_HR.ISO_8859-2.src @@ -1,4 +1,4 @@ -# $Id$ +# $Id: hr_HR.ISO_8859-2.src,v 1.1 1997/02/27 00:08:53 wosch Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/is_IS.ISO_8859-1.src b/share/timedef/data/is_IS.ISO_8859-1.src index ca5b94b483bfd..60971999b72a1 100644 --- a/share/timedef/data/is_IS.ISO_8859-1.src +++ b/share/timedef/data/is_IS.ISO_8859-1.src @@ -1,4 +1,4 @@ -# $Id: en_GB.ISO_8859-1.src,v 1.1 1996/11/30 05:35:49 ache Exp $ +# $Id: is_IS.ISO_8859-1.src,v 1.1 1996/12/13 02:53:46 adam Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/it_IT.ISO_8859-1.src b/share/timedef/data/it_IT.ISO_8859-1.src index 218d86e6f1c4a..4c9e198aaad82 100644 --- a/share/timedef/data/it_IT.ISO_8859-1.src +++ b/share/timedef/data/it_IT.ISO_8859-1.src @@ -1,4 +1,4 @@ -# $Id$ +# $Id: it_IT.ISO_8859-1.src,v 1.1 1996/12/08 07:16:55 pst Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/pt_PT.ISO_8859-1.src b/share/timedef/data/pt_PT.ISO_8859-1.src index ceb63095e4d6f..6158204f7b20c 100644 --- a/share/timedef/data/pt_PT.ISO_8859-1.src +++ b/share/timedef/data/pt_PT.ISO_8859-1.src @@ -1,4 +1,4 @@ -# $Id: pt_PT.ISO_8859-1.src,v 1.1 1996/11/29 21:01:29 ache Exp $ +# $Id: pt_PT.ISO_8859-1.src,v 1.1.2.1 1996/12/10 21:59:42 joerg Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/ru_SU.CP866.src b/share/timedef/data/ru_SU.CP866.src index f1f24a8f8cedf..6e49b4fd8d545 100644 --- a/share/timedef/data/ru_SU.CP866.src +++ b/share/timedef/data/ru_SU.CP866.src @@ -1,4 +1,4 @@ -# $Id: ru_SU.CP866.src,v 1.3.2.1 1996/11/28 08:25:03 phk Exp $ +# $Id: ru_SU.CP866.src,v 1.3.2.2 1996/12/29 11:04:34 joerg Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/timedef/data/ru_SU.KOI8-R.src b/share/timedef/data/ru_SU.KOI8-R.src index d4774d1d2857d..59d2bdc686bdf 100644 --- a/share/timedef/data/ru_SU.KOI8-R.src +++ b/share/timedef/data/ru_SU.KOI8-R.src @@ -1,4 +1,4 @@ -# $Id: ru_SU.KOI8-R.src,v 1.3.2.1 1996/11/28 08:25:04 phk Exp $ +# $Id: ru_SU.KOI8-R.src,v 1.3.2.2 1996/12/29 11:04:35 joerg Exp $ # # WARNING: spaces may be essential at the end of lines # WARNING: empty lines are essential too diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index b9609b4c42f8d..057cc9a4b614a 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.9.2.1 1996/11/28 21:55:43 phk Exp $ +# $Id: Makefile,v 1.9.2.2 1996/11/29 19:50:23 phk Exp $ NOBIN= CLEANFILES+= yearistype diff --git a/sys/Makefile b/sys/Makefile index bfb5e9d14ae0a..0295f44ae7a82 100644 --- a/sys/Makefile +++ b/sys/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1995/12/26 13:57:32 bde Exp $ +# $Id: Makefile,v 1.5 1996/06/14 10:56:36 asami Exp $ .if defined(MACHINE_PC98) && ${MACHINE_PC98} == "yes" SUBDIR= pc98/boot diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index b956cdc789eed..970b0d0c60588 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -32,12 +32,12 @@ # SUCH DAMAGE. # # @(#)newvers.sh 8.1 (Berkeley) 4/20/94 -# $Id: newvers.sh,v 1.26.2.8 1997/03/15 23:29:16 jkh Exp $ +# $Id: newvers.sh,v 1.26.2.9 1997/03/22 15:52:55 jkh Exp $ TYPE="FreeBSD" REVISION="2.2.1" BRANCH="RELEASE" -RELEASE="${REVISION}-${BRANCH}" +RELEASE=2.2.1-RELEASE SNAPDATE="" if [ "X${SNAPDATE}" != "X" ]; then RELEASE="${RELEASE}-${SNAPDATE}" diff --git a/sys/conf/nfsswapkernel.c b/sys/conf/nfsswapkernel.c index 80cb84a3734f4..44e81ef5a9fce 100644 --- a/sys/conf/nfsswapkernel.c +++ b/sys/conf/nfsswapkernel.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)nfsswapvmunix.c 8.1 (Berkeley) 6/10/93 - * $Id: nfsswapvmunix.c,v 1.2 1994/08/02 07:38:29 davidg Exp $ + * $Id: nfsswapkernel.c,v 1.1 1994/08/05 09:25:31 davidg Exp $ */ /* diff --git a/sys/conf/options b/sys/conf/options index d01a775cbe302..d118b07bbf58b 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -1,4 +1,4 @@ -# $Id: options,v 1.18.2.4 1997/02/28 09:10:26 bde Exp $ +# $Id: options,v 1.18.2.5 1997/02/28 15:41:25 bde Exp $ # Format: # Option name filename diff --git a/sys/conf/param.c b/sys/conf/param.c index c37bcd8ceb1f9..cd40bc17bc811 100644 --- a/sys/conf/param.c +++ b/sys/conf/param.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.c 8.3 (Berkeley) 8/20/94 - * $Id: param.c,v 1.20.2.1 1997/01/17 19:28:20 davidg Exp $ + * $Id: param.c,v 1.20.2.2 1997/02/28 11:11:33 bde Exp $ */ #include "opt_sysvipc.h" diff --git a/sys/conf/systags.sh b/sys/conf/systags.sh index 4cda02af41d82..7d8ec313c3cbc 100644 --- a/sys/conf/systags.sh +++ b/sys/conf/systags.sh @@ -38,7 +38,7 @@ # # First written May 16, 1992 by Van Jacobson, Lawrence Berkeley Laboratory. # -# $Id$ +# $Id: systags.sh,v 1.2 1994/08/02 07:38:32 davidg Exp $ rm -f tags tags.tmp tags.cfiles tags.sfiles tags.hfiles MACHINE=`machine` diff --git a/sys/ddb/db_access.c b/sys/ddb/db_access.c index db046c2bba87a..04641efdc749e 100644 --- a/sys/ddb/db_access.c +++ b/sys/ddb/db_access.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_access.c,v 1.10 1995/12/07 12:44:44 davidg Exp $ + * $Id: db_access.c,v 1.11 1995/12/10 19:07:42 bde Exp $ */ /* diff --git a/sys/ddb/db_access.h b/sys/ddb/db_access.h index 9966251b550e8..80381455f3936 100644 --- a/sys/ddb/db_access.h +++ b/sys/ddb/db_access.h @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_access.h,v 1.5 1995/11/24 13:52:56 bde Exp $ + * $Id: db_access.h,v 1.6 1995/12/10 19:07:44 bde Exp $ */ #ifndef _DDB_DB_ACCESS_H_ diff --git a/sys/ddb/db_aout.c b/sys/ddb/db_aout.c index e4b4ef8318535..b474fe2774dee 100644 --- a/sys/ddb/db_aout.c +++ b/sys/ddb/db_aout.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_aout.c,v 1.14 1995/12/07 12:44:45 davidg Exp $ + * $Id: db_aout.c,v 1.15 1995/12/10 19:07:45 bde Exp $ */ /* diff --git a/sys/ddb/db_break.c b/sys/ddb/db_break.c index 7f8400d8b9260..2e03542cfb500 100644 --- a/sys/ddb/db_break.c +++ b/sys/ddb/db_break.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_break.c,v 1.10 1995/12/10 13:32:33 phk Exp $ + * $Id: db_break.c,v 1.11 1995/12/10 19:07:46 bde Exp $ */ /* diff --git a/sys/ddb/db_break.h b/sys/ddb/db_break.h index 2b78b4e31099f..0ba72a69cb765 100644 --- a/sys/ddb/db_break.h +++ b/sys/ddb/db_break.h @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_break.h,v 1.6 1995/12/07 12:44:47 davidg Exp $ + * $Id: db_break.h,v 1.7 1995/12/10 19:07:47 bde Exp $ */ /* diff --git a/sys/ddb/db_command.c b/sys/ddb/db_command.c index c560b20045744..2f3ee9318cc45 100644 --- a/sys/ddb/db_command.c +++ b/sys/ddb/db_command.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_command.c,v 1.20 1996/09/14 09:13:13 bde Exp $ + * $Id: db_command.c,v 1.20.2.1 1997/02/13 07:10:19 bde Exp $ */ /* diff --git a/sys/ddb/db_command.h b/sys/ddb/db_command.h index ab28975618f97..a1af543717116 100644 --- a/sys/ddb/db_command.h +++ b/sys/ddb/db_command.h @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_command.h,v 1.7 1995/11/24 13:52:58 bde Exp $ + * $Id: db_command.h,v 1.8 1995/12/10 19:07:52 bde Exp $ */ #ifndef _DDB_DB_COMMAND_H_ diff --git a/sys/ddb/db_examine.c b/sys/ddb/db_examine.c index 1f4de6a30f69c..bcaa62df50c41 100644 --- a/sys/ddb/db_examine.c +++ b/sys/ddb/db_examine.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_examine.c,v 1.13 1996/01/15 22:39:32 phk Exp $ + * $Id: db_examine.c,v 1.14 1996/01/21 19:18:46 bde Exp $ */ /* diff --git a/sys/ddb/db_expr.c b/sys/ddb/db_expr.c index 6f52d1330f4f9..ec0dda56430aa 100644 --- a/sys/ddb/db_expr.c +++ b/sys/ddb/db_expr.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_expr.c,v 1.8 1995/12/07 12:44:50 davidg Exp $ + * $Id: db_expr.c,v 1.9 1995/12/10 19:07:57 bde Exp $ */ /* diff --git a/sys/ddb/db_input.c b/sys/ddb/db_input.c index 0b009e9c8a2bf..d3713ee53a7ef 100644 --- a/sys/ddb/db_input.c +++ b/sys/ddb/db_input.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_input.c,v 1.14 1996/08/10 13:38:44 joerg Exp $ + * $Id: db_input.c,v 1.15 1996/10/30 21:40:07 julian Exp $ */ /* diff --git a/sys/ddb/db_lex.c b/sys/ddb/db_lex.c index ce49ff7331a1d..cb33ae570aa45 100644 --- a/sys/ddb/db_lex.c +++ b/sys/ddb/db_lex.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_lex.c,v 1.10 1995/12/10 13:32:38 phk Exp $ + * $Id: db_lex.c,v 1.11 1995/12/10 19:08:01 bde Exp $ */ /* diff --git a/sys/ddb/db_lex.h b/sys/ddb/db_lex.h index c93197e0a2382..d4183c43dbc91 100644 --- a/sys/ddb/db_lex.h +++ b/sys/ddb/db_lex.h @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_lex.h,v 1.6 1995/11/24 13:52:59 bde Exp $ + * $Id: db_lex.h,v 1.7 1995/11/29 10:25:26 phk Exp $ */ #ifndef _DDB_DB_LEX_H_ diff --git a/sys/ddb/db_output.c b/sys/ddb/db_output.c index 61ccfe83bde8c..6add1f5891d98 100644 --- a/sys/ddb/db_output.c +++ b/sys/ddb/db_output.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_output.c,v 1.18 1996/05/08 04:28:35 gpalmer Exp $ + * $Id: db_output.c,v 1.19 1996/09/14 11:54:47 bde Exp $ */ /* diff --git a/sys/ddb/db_output.h b/sys/ddb/db_output.h index 73e95e52fbe94..ccfc60ccb3a69 100644 --- a/sys/ddb/db_output.h +++ b/sys/ddb/db_output.h @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_output.h,v 1.7 1995/05/30 07:57:04 rgrimes Exp $ + * $Id: db_output.h,v 1.8 1995/11/24 13:53:00 bde Exp $ */ #ifndef _DDB_DB_OUTPUT_H_ diff --git a/sys/ddb/db_print.c b/sys/ddb/db_print.c index a4d8d703d4943..0f108eb10280f 100644 --- a/sys/ddb/db_print.c +++ b/sys/ddb/db_print.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_print.c,v 1.10 1995/12/10 19:08:06 bde Exp $ + * $Id: db_print.c,v 1.11 1996/01/21 16:30:43 phk Exp $ */ /* diff --git a/sys/ddb/db_ps.c b/sys/ddb/db_ps.c index c2b03aa62db0c..0860af0acc71b 100644 --- a/sys/ddb/db_ps.c +++ b/sys/ddb/db_ps.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: db_ps.c,v 1.11 1996/03/11 05:53:59 hsu Exp $ + * $Id: db_ps.c,v 1.12 1996/06/15 07:08:02 peter Exp $ */ #include <sys/param.h> #include <sys/systm.h> diff --git a/sys/ddb/db_run.c b/sys/ddb/db_run.c index ae8126d180017..a489e40135daf 100644 --- a/sys/ddb/db_run.c +++ b/sys/ddb/db_run.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_run.c,v 1.9 1995/12/10 13:32:39 phk Exp $ + * $Id: db_run.c,v 1.10 1995/12/10 19:08:11 bde Exp $ */ /* diff --git a/sys/ddb/db_sym.c b/sys/ddb/db_sym.c index e08392bba33f4..40affa7ac88e2 100644 --- a/sys/ddb/db_sym.c +++ b/sys/ddb/db_sym.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_sym.c,v 1.15 1996/01/15 22:39:37 phk Exp $ + * $Id: db_sym.c,v 1.15.4.1 1997/02/13 07:13:14 bde Exp $ */ /* diff --git a/sys/ddb/db_sym.h b/sys/ddb/db_sym.h index 81804f1edaeaa..7274cdd03f617 100644 --- a/sys/ddb/db_sym.h +++ b/sys/ddb/db_sym.h @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_sym.h,v 1.9 1995/11/24 13:53:01 bde Exp $ + * $Id: db_sym.h,v 1.10 1995/11/29 10:25:38 phk Exp $ */ #ifndef _DDB_DB_SYM_H_ diff --git a/sys/ddb/db_trap.c b/sys/ddb/db_trap.c index be6f58e49b882..d5e7d121e4298 100644 --- a/sys/ddb/db_trap.c +++ b/sys/ddb/db_trap.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_trap.c,v 1.8 1995/12/07 12:45:00 davidg Exp $ + * $Id: db_trap.c,v 1.9 1995/12/10 19:08:20 bde Exp $ */ /* diff --git a/sys/ddb/db_variables.c b/sys/ddb/db_variables.c index 93c313227fd4c..4118c212d0190 100644 --- a/sys/ddb/db_variables.c +++ b/sys/ddb/db_variables.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_variables.c,v 1.10 1995/12/07 12:45:04 davidg Exp $ + * $Id: db_variables.c,v 1.11 1995/12/10 19:08:23 bde Exp $ */ /* diff --git a/sys/ddb/db_variables.h b/sys/ddb/db_variables.h index 55519a8b2c75b..b21cd749194ac 100644 --- a/sys/ddb/db_variables.h +++ b/sys/ddb/db_variables.h @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_variables.h,v 1.4 1995/05/30 07:57:19 rgrimes Exp $ + * $Id: db_variables.h,v 1.5 1995/11/24 13:53:02 bde Exp $ */ /* diff --git a/sys/ddb/db_watch.c b/sys/ddb/db_watch.c index 0ae8569bd31d1..15c39634e6a1d 100644 --- a/sys/ddb/db_watch.c +++ b/sys/ddb/db_watch.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_watch.c,v 1.10 1995/12/10 13:32:42 phk Exp $ + * $Id: db_watch.c,v 1.11 1995/12/10 19:08:25 bde Exp $ */ /* diff --git a/sys/ddb/db_watch.h b/sys/ddb/db_watch.h index 7f6d2b9612d6d..07aedcf36d80b 100644 --- a/sys/ddb/db_watch.h +++ b/sys/ddb/db_watch.h @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_watch.h,v 1.7 1995/12/07 12:45:06 davidg Exp $ + * $Id: db_watch.h,v 1.8 1995/12/10 19:08:29 bde Exp $ */ /* diff --git a/sys/ddb/db_write_cmd.c b/sys/ddb/db_write_cmd.c index 807ad7f9b446a..3a121e2addc4e 100644 --- a/sys/ddb/db_write_cmd.c +++ b/sys/ddb/db_write_cmd.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_write_cmd.c,v 1.6 1995/12/07 12:45:07 davidg Exp $ + * $Id: db_write_cmd.c,v 1.7 1995/12/10 19:08:32 bde Exp $ */ /* diff --git a/sys/ddb/ddb.h b/sys/ddb/ddb.h index 193bddb680101..4cc797592d79f 100644 --- a/sys/ddb/ddb.h +++ b/sys/ddb/ddb.h @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ddb.h,v 1.11 1996/05/08 04:28:36 gpalmer Exp $ + * $Id: ddb.h,v 1.12 1996/09/14 09:13:15 bde Exp $ */ /* diff --git a/sys/dev/aic7xxx/Makefile b/sys/dev/aic7xxx/Makefile index 2a142b0a58852..7159605db126c 100644 --- a/sys/dev/aic7xxx/Makefile +++ b/sys/dev/aic7xxx/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1997/03/16 07:08:10 gibbs Exp $ PROG= aic7xxx_asm diff --git a/sys/dev/aic7xxx/aic7xxx.reg b/sys/dev/aic7xxx/aic7xxx.reg index d021d9a6f63d0..160b94179aef3 100644 --- a/sys/dev/aic7xxx/aic7xxx.reg +++ b/sys/dev/aic7xxx/aic7xxx.reg @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: aic7xxx.reg,v 1.1 1997/03/16 07:08:11 gibbs Exp $ */ /* diff --git a/sys/dev/aic7xxx/aic7xxx_asm.c b/sys/dev/aic7xxx/aic7xxx_asm.c index 4251af1a383ea..3e9d0ec11dc97 100644 --- a/sys/dev/aic7xxx/aic7xxx_asm.c +++ b/sys/dev/aic7xxx/aic7xxx_asm.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7xxx_asm.c,v 1.12.6.1 1997/03/16 07:21:30 gibbs Exp $ + * $Id: aic7xxx_asm.c,v 1.12.6.2 1997/03/18 19:19:10 gibbs Exp $ */ #include <sys/types.h> #include <sys/mman.h> diff --git a/sys/dev/aic7xxx/aic7xxx_asm.h b/sys/dev/aic7xxx/aic7xxx_asm.h index 185d807f6788d..f92fc7763d021 100644 --- a/sys/dev/aic7xxx/aic7xxx_asm.h +++ b/sys/dev/aic7xxx/aic7xxx_asm.h @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: aic7xxx_asm.h,v 1.1.2.1 1997/03/16 07:21:32 gibbs Exp $ */ #include <sys/queue.h> diff --git a/sys/dev/aic7xxx/gram.y b/sys/dev/aic7xxx/gram.y index 0c75edca3b3ee..f27567bd9e019 100644 --- a/sys/dev/aic7xxx/gram.y +++ b/sys/dev/aic7xxx/gram.y @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: gram.y,v 1.1 1997/03/16 07:08:16 gibbs Exp $ */ #include <stdio.h> diff --git a/sys/dev/aic7xxx/scan.l b/sys/dev/aic7xxx/scan.l index 0caf46a8d7db2..79d5e3ccd0b64 100644 --- a/sys/dev/aic7xxx/scan.l +++ b/sys/dev/aic7xxx/scan.l @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scan.l,v 1.1 1997/03/16 07:08:17 gibbs Exp $ + * $Id: scan.l,v 1.1.2.1 1997/03/16 19:01:28 gibbs Exp $ */ #include <limits.h> diff --git a/sys/dev/aic7xxx/sequencer.h b/sys/dev/aic7xxx/sequencer.h index ed227158f5d19..5314f3993aab8 100644 --- a/sys/dev/aic7xxx/sequencer.h +++ b/sys/dev/aic7xxx/sequencer.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: sequencer.h,v 1.1 1997/03/16 07:08:18 gibbs Exp $ */ struct ins_format1 { diff --git a/sys/dev/aic7xxx/symbol.c b/sys/dev/aic7xxx/symbol.c index e2b93efbd2ee1..5842932e56a32 100644 --- a/sys/dev/aic7xxx/symbol.c +++ b/sys/dev/aic7xxx/symbol.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: symbol.c,v 1.1 1997/03/16 07:08:18 gibbs Exp $ */ diff --git a/sys/dev/aic7xxx/symbol.h b/sys/dev/aic7xxx/symbol.h index cf8fa0071225a..e400b0fd73901 100644 --- a/sys/dev/aic7xxx/symbol.h +++ b/sys/dev/aic7xxx/symbol.h @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: symbol.h,v 1.1 1997/03/16 07:08:19 gibbs Exp $ */ #include <sys/queue.h> diff --git a/sys/dev/ccd/ccd.c b/sys/dev/ccd/ccd.c index c0464539799d9..1845abe32c3bc 100644 --- a/sys/dev/ccd/ccd.c +++ b/sys/dev/ccd/ccd.c @@ -1,4 +1,4 @@ -/* $Id: ccd.c,v 1.17 1996/09/06 23:06:40 phk Exp $ */ +/* $Id: ccd.c,v 1.17.2.1 1997/01/10 04:09:13 dyson Exp $ */ /* $NetBSD: ccd.c,v 1.22 1995/12/08 19:13:26 thorpej Exp $ */ diff --git a/sys/dev/pdq/pdq.c b/sys/dev/pdq/pdq.c index e183726ba52f8..dbb032f53ccdc 100644 --- a/sys/dev/pdq/pdq.c +++ b/sys/dev/pdq/pdq.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pdq.c,v 1.1.1.1 1997/01/17 23:19:48 joerg Exp $ + * $Id: pdq.c,v 1.2 1997/01/17 23:54:31 joerg Exp $ * */ diff --git a/sys/dev/pdq/pdq_ifsubr.c b/sys/dev/pdq/pdq_ifsubr.c index b6223fb904724..168a4f06d299b 100644 --- a/sys/dev/pdq/pdq_ifsubr.c +++ b/sys/dev/pdq/pdq_ifsubr.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pdq_ifsubr.c,v 1.1.1.1 1997/01/17 23:19:49 joerg Exp $ + * $Id: pdq_ifsubr.c,v 1.2 1997/01/17 23:54:32 joerg Exp $ * */ diff --git a/sys/dev/pdq/pdqreg.h b/sys/dev/pdq/pdqreg.h index 6c4d51a1dfadc..e1c31c94b59ef 100644 --- a/sys/dev/pdq/pdqreg.h +++ b/sys/dev/pdq/pdqreg.h @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pdqreg.h,v 1.9 1996/05/16 14:25:26 thomas Exp $ + * $Id: pdqreg.h,v 1.1.1.1 1997/01/17 23:19:49 joerg Exp $ * */ diff --git a/sys/dev/pdq/pdqvar.h b/sys/dev/pdq/pdqvar.h index 6bb30656325fe..48210ecd73113 100644 --- a/sys/dev/pdq/pdqvar.h +++ b/sys/dev/pdq/pdqvar.h @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pdqvar.h,v 1.19 1996/07/31 21:38:44 thomas Exp $ + * $Id: pdqvar.h,v 1.1.1.1 1997/01/17 23:19:49 joerg Exp $ * */ diff --git a/sys/dev/vn/vn.c b/sys/dev/vn/vn.c index fc6322b2d4be4..a1452cecc56f8 100644 --- a/sys/dev/vn/vn.c +++ b/sys/dev/vn/vn.c @@ -38,7 +38,7 @@ * from: Utah Hdr: vn.c 1.13 94/04/02 * * from: @(#)vn.c 8.6 (Berkeley) 4/1/94 - * $Id: vn.c,v 1.40 1996/08/22 03:50:00 julian Exp $ + * $Id: vn.c,v 1.41 1996/08/28 17:45:08 bde Exp $ */ /* diff --git a/sys/gnu/i386/fpemul/control_w.h b/sys/gnu/i386/fpemul/control_w.h index 0e799c568f032..5a02225c5c349 100644 --- a/sys/gnu/i386/fpemul/control_w.h +++ b/sys/gnu/i386/fpemul/control_w.h @@ -54,7 +54,7 @@ * W. Metzenthen June 1994. * * - * $Id: control_w.h,v 1.3 1994/06/10 07:44:07 rich Exp $ + * $Id: control_w.h,v 1.4 1995/05/30 07:57:41 rgrimes Exp $ * */ diff --git a/sys/gnu/i386/fpemul/div_small.s b/sys/gnu/i386/fpemul/div_small.s index cf875db578e58..7532083a68e04 100644 --- a/sys/gnu/i386/fpemul/div_small.s +++ b/sys/gnu/i386/fpemul/div_small.s @@ -57,7 +57,7 @@ * W. Metzenthen June 1994. * * - * $Id: div_small.s,v 1.3 1994/06/10 07:44:08 rich Exp $ + * $Id: div_small.s,v 1.4 1996/09/10 08:23:30 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/errors.c b/sys/gnu/i386/fpemul/errors.c index 378eb61f35349..dc96b3783dad1 100644 --- a/sys/gnu/i386/fpemul/errors.c +++ b/sys/gnu/i386/fpemul/errors.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: errors.c,v 1.4 1995/03/16 18:11:10 bde Exp $ + * $Id: errors.c,v 1.5 1996/09/10 08:23:31 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/exception.h b/sys/gnu/i386/fpemul/exception.h index d461115271e44..89f58af76e4db 100644 --- a/sys/gnu/i386/fpemul/exception.h +++ b/sys/gnu/i386/fpemul/exception.h @@ -54,7 +54,7 @@ * W. Metzenthen June 1994. * * - * $Id: exception.h,v 1.4 1995/12/22 16:53:48 bde Exp $ + * $Id: exception.h,v 1.5 1996/09/10 08:23:32 bde Exp $ * * */ diff --git a/sys/gnu/i386/fpemul/fpu_arith.c b/sys/gnu/i386/fpemul/fpu_arith.c index 7feaad64e315b..caacf47689eb0 100644 --- a/sys/gnu/i386/fpemul/fpu_arith.c +++ b/sys/gnu/i386/fpemul/fpu_arith.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: fpu_arith.c,v 1.4 1995/05/30 07:57:43 rgrimes Exp $ + * $Id: fpu_arith.c,v 1.5 1996/09/10 08:23:34 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/fpu_asm.h b/sys/gnu/i386/fpemul/fpu_asm.h index 935a3166a3fa0..0ea37b50c3693 100644 --- a/sys/gnu/i386/fpemul/fpu_asm.h +++ b/sys/gnu/i386/fpemul/fpu_asm.h @@ -54,7 +54,7 @@ * W. Metzenthen June 1994. * * - * $Id: fpu_asm.h,v 1.3 1994/06/10 07:44:16 rich Exp $ + * $Id: fpu_asm.h,v 1.4 1996/09/10 08:23:35 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/fpu_aux.c b/sys/gnu/i386/fpemul/fpu_aux.c index 71d68e1e30f74..03455c54871fa 100644 --- a/sys/gnu/i386/fpemul/fpu_aux.c +++ b/sys/gnu/i386/fpemul/fpu_aux.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: fpu_aux.c,v 1.4 1995/12/14 09:50:21 phk Exp $ + * $Id: fpu_aux.c,v 1.5 1996/09/10 08:23:35 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/fpu_emu.h b/sys/gnu/i386/fpemul/fpu_emu.h index 23f2748c9ae52..7040d8fca7842 100644 --- a/sys/gnu/i386/fpemul/fpu_emu.h +++ b/sys/gnu/i386/fpemul/fpu_emu.h @@ -54,7 +54,7 @@ * W. Metzenthen June 1994. * * - * $Id: fpu_emu.h,v 1.3 1994/06/10 07:44:19 rich Exp $ + * $Id: fpu_emu.h,v 1.4 1996/09/10 08:23:37 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/fpu_entry.c b/sys/gnu/i386/fpemul/fpu_entry.c index 263401737b12a..b0905be0524e0 100644 --- a/sys/gnu/i386/fpemul/fpu_entry.c +++ b/sys/gnu/i386/fpemul/fpu_entry.c @@ -55,7 +55,7 @@ * * W. Metzenthen June 1994. * - * $Id: fpu_entry.c,v 1.8 1995/12/14 20:21:49 bde Exp $ + * $Id: fpu_entry.c,v 1.9 1996/09/10 08:23:38 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/fpu_etc.c b/sys/gnu/i386/fpemul/fpu_etc.c index 3b3897a5e1362..d357e9ab343ff 100644 --- a/sys/gnu/i386/fpemul/fpu_etc.c +++ b/sys/gnu/i386/fpemul/fpu_etc.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: fpu_etc.c,v 1.3 1994/06/10 07:44:24 rich Exp $ + * $Id: fpu_etc.c,v 1.4 1996/09/10 08:23:40 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/fpu_proto.h b/sys/gnu/i386/fpemul/fpu_proto.h index c44a026076b5b..63ece5b5beb22 100644 --- a/sys/gnu/i386/fpemul/fpu_proto.h +++ b/sys/gnu/i386/fpemul/fpu_proto.h @@ -1,6 +1,6 @@ /* * - * $Id: fpu_proto.h,v 1.4 1995/12/14 09:50:23 phk Exp $ + * $Id: fpu_proto.h,v 1.5 1995/12/17 21:13:51 phk Exp $ * */ diff --git a/sys/gnu/i386/fpemul/fpu_system.h b/sys/gnu/i386/fpemul/fpu_system.h index bb9e5d04fdb47..c2dcfe14da6f8 100644 --- a/sys/gnu/i386/fpemul/fpu_system.h +++ b/sys/gnu/i386/fpemul/fpu_system.h @@ -54,7 +54,7 @@ * W. Metzenthen June 1994. * * - * $Id: fpu_system.h,v 1.3 1994/06/10 07:44:25 rich Exp $ + * $Id: fpu_system.h,v 1.4 1995/05/30 07:57:51 rgrimes Exp $ * */ diff --git a/sys/gnu/i386/fpemul/fpu_trig.c b/sys/gnu/i386/fpemul/fpu_trig.c index 63a1341f66b0e..d987c46606e18 100644 --- a/sys/gnu/i386/fpemul/fpu_trig.c +++ b/sys/gnu/i386/fpemul/fpu_trig.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: fpu_trig.c,v 1.5 1995/12/17 21:13:58 phk Exp $ + * $Id: fpu_trig.c,v 1.6 1996/09/10 08:23:42 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/get_address.c b/sys/gnu/i386/fpemul/get_address.c index 5c60050f4de4f..9e47fbb3ad91c 100644 --- a/sys/gnu/i386/fpemul/get_address.c +++ b/sys/gnu/i386/fpemul/get_address.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: get_address.c,v 1.3 1994/06/10 07:44:29 rich Exp $ + * $Id: get_address.c,v 1.4 1996/09/10 08:23:45 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/load_store.c b/sys/gnu/i386/fpemul/load_store.c index 9ad91dd0a7007..d87bbb7288335 100644 --- a/sys/gnu/i386/fpemul/load_store.c +++ b/sys/gnu/i386/fpemul/load_store.c @@ -57,7 +57,7 @@ * W. Metzenthen June 1994. * * - * $Id: load_store.c,v 1.5 1996/06/25 20:29:21 bde Exp $ + * $Id: load_store.c,v 1.6 1996/09/10 08:23:47 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/math_emu.h b/sys/gnu/i386/fpemul/math_emu.h index 4dc90b83a9846..031d391595b56 100644 --- a/sys/gnu/i386/fpemul/math_emu.h +++ b/sys/gnu/i386/fpemul/math_emu.h @@ -1,6 +1,6 @@ /* * - * $Id:$ + * $Id: math_emu.h,v 1.2 1994/04/29 21:23:24 gclarkii Exp $ * */ diff --git a/sys/gnu/i386/fpemul/poly_2xm1.c b/sys/gnu/i386/fpemul/poly_2xm1.c index ad268e7e91534..1ba7ab3e8de97 100644 --- a/sys/gnu/i386/fpemul/poly_2xm1.c +++ b/sys/gnu/i386/fpemul/poly_2xm1.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: poly_2xm1.c,v 1.3 1994/06/10 07:44:32 rich Exp $ + * $Id: poly_2xm1.c,v 1.4 1996/09/10 08:23:52 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/poly_atan.c b/sys/gnu/i386/fpemul/poly_atan.c index 5042151365a34..e10f4f753478f 100644 --- a/sys/gnu/i386/fpemul/poly_atan.c +++ b/sys/gnu/i386/fpemul/poly_atan.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: poly_atan.c,v 1.5 1995/12/14 09:50:24 phk Exp $ + * $Id: poly_atan.c,v 1.6 1996/09/10 08:23:55 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/poly_div.s b/sys/gnu/i386/fpemul/poly_div.s index 25dd5078ce6b6..f839f54f265b7 100644 --- a/sys/gnu/i386/fpemul/poly_div.s +++ b/sys/gnu/i386/fpemul/poly_div.s @@ -57,7 +57,7 @@ * W. Metzenthen June 1994. * * - * $Id: poly_div.s,v 1.3 1994/06/10 07:44:36 rich Exp $ + * $Id: poly_div.s,v 1.4 1996/09/10 08:23:57 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/poly_l2.c b/sys/gnu/i386/fpemul/poly_l2.c index fcf9f486be384..e38cdd84693b6 100644 --- a/sys/gnu/i386/fpemul/poly_l2.c +++ b/sys/gnu/i386/fpemul/poly_l2.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: poly_l2.c,v 1.5 1994/06/10 07:44:38 rich Exp $ + * $Id: poly_l2.c,v 1.6 1996/09/10 08:23:59 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/poly_mul64.s b/sys/gnu/i386/fpemul/poly_mul64.s index a80a13f18fe30..d890bbd11b5a4 100644 --- a/sys/gnu/i386/fpemul/poly_mul64.s +++ b/sys/gnu/i386/fpemul/poly_mul64.s @@ -59,7 +59,7 @@ * W. Metzenthen June 1994. * * - * $Id: poly_mul64.s,v 1.3 1994/06/10 07:44:39 rich Exp $ + * $Id: poly_mul64.s,v 1.4 1996/09/10 08:24:01 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/poly_sin.c b/sys/gnu/i386/fpemul/poly_sin.c index f5e1dcb029cb8..07a760345ea57 100644 --- a/sys/gnu/i386/fpemul/poly_sin.c +++ b/sys/gnu/i386/fpemul/poly_sin.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: poly_sin.c,v 1.5 1994/08/31 04:45:22 davidg Exp $ + * $Id: poly_sin.c,v 1.6 1996/09/10 08:24:03 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/poly_tan.c b/sys/gnu/i386/fpemul/poly_tan.c index a0523818fa525..a95eeaf64f8b1 100644 --- a/sys/gnu/i386/fpemul/poly_tan.c +++ b/sys/gnu/i386/fpemul/poly_tan.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: poly_tan.c,v 1.5 1995/05/30 07:57:52 rgrimes Exp $ + * $Id: poly_tan.c,v 1.6 1996/09/10 08:24:04 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/polynomial.s b/sys/gnu/i386/fpemul/polynomial.s index b2e808fbfb14c..70c8ea19aebc3 100644 --- a/sys/gnu/i386/fpemul/polynomial.s +++ b/sys/gnu/i386/fpemul/polynomial.s @@ -64,7 +64,7 @@ * W. Metzenthen June 1994. * * - * $Id: polynomial.s,v 1.3 1994/06/10 07:44:43 rich Exp $ + * $Id: polynomial.s,v 1.4 1996/09/10 08:24:05 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_add_sub.c b/sys/gnu/i386/fpemul/reg_add_sub.c index 9e11c0b39f7d3..3ce1c841437d4 100644 --- a/sys/gnu/i386/fpemul/reg_add_sub.c +++ b/sys/gnu/i386/fpemul/reg_add_sub.c @@ -55,7 +55,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_add_sub.c,v 1.3 1994/06/10 07:44:44 rich Exp $ + * $Id: reg_add_sub.c,v 1.4 1996/09/10 08:24:06 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_compare.c b/sys/gnu/i386/fpemul/reg_compare.c index db4eb9dfbf6d7..5d8ada3fe7f32 100644 --- a/sys/gnu/i386/fpemul/reg_compare.c +++ b/sys/gnu/i386/fpemul/reg_compare.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_compare.c,v 1.5 1995/05/30 07:57:54 rgrimes Exp $ + * $Id: reg_compare.c,v 1.6 1996/09/10 08:24:07 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_constant.h b/sys/gnu/i386/fpemul/reg_constant.h index a3bc57f673f3c..006bb10b200e6 100644 --- a/sys/gnu/i386/fpemul/reg_constant.h +++ b/sys/gnu/i386/fpemul/reg_constant.h @@ -54,7 +54,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_constant.h,v 1.3 1994/06/10 07:44:49 rich Exp $ + * $Id: reg_constant.h,v 1.4 1996/09/10 08:24:10 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_div.s b/sys/gnu/i386/fpemul/reg_div.s index d9360e6d7d029..32eb4349407cd 100644 --- a/sys/gnu/i386/fpemul/reg_div.s +++ b/sys/gnu/i386/fpemul/reg_div.s @@ -60,7 +60,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_div.s,v 1.3 1994/06/10 07:44:50 rich Exp $ + * $Id: reg_div.s,v 1.4 1996/09/10 08:24:11 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_ld_str.c b/sys/gnu/i386/fpemul/reg_ld_str.c index 418661a896522..6c8cc3ac1e763 100644 --- a/sys/gnu/i386/fpemul/reg_ld_str.c +++ b/sys/gnu/i386/fpemul/reg_ld_str.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_ld_str.c,v 1.6 1996/06/25 20:29:26 bde Exp $ + * $Id: reg_ld_str.c,v 1.7 1996/09/10 08:24:15 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_mul.c b/sys/gnu/i386/fpemul/reg_mul.c index 1a40eee73aaab..8c9a8718b21d6 100644 --- a/sys/gnu/i386/fpemul/reg_mul.c +++ b/sys/gnu/i386/fpemul/reg_mul.c @@ -56,7 +56,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_mul.c,v 1.3 1994/06/10 07:44:53 rich Exp $ + * $Id: reg_mul.c,v 1.4 1996/09/10 08:24:17 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_norm.s b/sys/gnu/i386/fpemul/reg_norm.s index 98f07219eaf6a..ac998013771c4 100644 --- a/sys/gnu/i386/fpemul/reg_norm.s +++ b/sys/gnu/i386/fpemul/reg_norm.s @@ -61,7 +61,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_norm.s,v 1.3 1994/06/10 07:44:54 rich Exp $ + * $Id: reg_norm.s,v 1.4 1996/09/10 08:24:20 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_round.s b/sys/gnu/i386/fpemul/reg_round.s index 51e9b87ddef3d..efa411a7ad6af 100644 --- a/sys/gnu/i386/fpemul/reg_round.s +++ b/sys/gnu/i386/fpemul/reg_round.s @@ -65,7 +65,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_round.s,v 1.3 1994/06/10 07:44:55 rich Exp $ + * $Id: reg_round.s,v 1.4 1996/09/10 08:24:21 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_u_add.s b/sys/gnu/i386/fpemul/reg_u_add.s index 21707423bdce5..f4d492d1286b8 100644 --- a/sys/gnu/i386/fpemul/reg_u_add.s +++ b/sys/gnu/i386/fpemul/reg_u_add.s @@ -62,7 +62,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_u_add.s,v 1.3 1994/06/10 07:44:56 rich Exp $ + * $Id: reg_u_add.s,v 1.4 1996/09/10 08:24:21 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_u_div.s b/sys/gnu/i386/fpemul/reg_u_div.s index e49c58ec3bd89..15836dc0319b9 100644 --- a/sys/gnu/i386/fpemul/reg_u_div.s +++ b/sys/gnu/i386/fpemul/reg_u_div.s @@ -57,7 +57,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_u_div.s,v 1.3 1994/06/10 07:44:57 rich Exp $ + * $Id: reg_u_div.s,v 1.4 1996/09/10 08:24:23 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_u_mul.s b/sys/gnu/i386/fpemul/reg_u_mul.s index 4cd129b29878d..500f3038dce97 100644 --- a/sys/gnu/i386/fpemul/reg_u_mul.s +++ b/sys/gnu/i386/fpemul/reg_u_mul.s @@ -57,7 +57,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_u_mul.s,v 1.3 1994/06/10 07:44:58 rich Exp $ + * $Id: reg_u_mul.s,v 1.4 1996/09/10 08:24:24 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/reg_u_sub.s b/sys/gnu/i386/fpemul/reg_u_sub.s index a899de5641da3..316fb546d3c7e 100644 --- a/sys/gnu/i386/fpemul/reg_u_sub.s +++ b/sys/gnu/i386/fpemul/reg_u_sub.s @@ -61,7 +61,7 @@ * W. Metzenthen June 1994. * * - * $Id: reg_u_sub.s,v 1.3 1994/06/10 07:44:59 rich Exp $ + * $Id: reg_u_sub.s,v 1.4 1996/09/10 08:24:25 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/status_w.h b/sys/gnu/i386/fpemul/status_w.h index 75b87b4757d1c..e54b36415c9d2 100644 --- a/sys/gnu/i386/fpemul/status_w.h +++ b/sys/gnu/i386/fpemul/status_w.h @@ -54,7 +54,7 @@ * W. Metzenthen June 1994. * * - * $Id: status_w.h,v 1.2 1994/04/29 21:34:27 gclarkii Exp $ + * $Id: status_w.h,v 1.3 1994/06/10 07:45:01 rich Exp $ * */ diff --git a/sys/gnu/i386/fpemul/version.h b/sys/gnu/i386/fpemul/version.h index 9c08aeda7e2fa..40c4513175a35 100644 --- a/sys/gnu/i386/fpemul/version.h +++ b/sys/gnu/i386/fpemul/version.h @@ -54,7 +54,7 @@ * W. Metzenthen June 1994. * * - * $Id: version.h,v 1.2 1994/04/29 21:34:28 gclarkii Exp $ + * $Id: version.h,v 1.3 1994/06/10 07:45:02 rich Exp $ * */ diff --git a/sys/gnu/i386/fpemul/wm_shrx.s b/sys/gnu/i386/fpemul/wm_shrx.s index 7920a08840e77..1913615d2b41e 100644 --- a/sys/gnu/i386/fpemul/wm_shrx.s +++ b/sys/gnu/i386/fpemul/wm_shrx.s @@ -62,7 +62,7 @@ * W. Metzenthen June 1994. * * - * $Id: wm_shrx.s,v 1.3 1994/06/10 07:45:03 rich Exp $ + * $Id: wm_shrx.s,v 1.4 1996/09/10 08:24:27 bde Exp $ * */ diff --git a/sys/gnu/i386/fpemul/wm_sqrt.s b/sys/gnu/i386/fpemul/wm_sqrt.s index db55921a6cc3c..5b03d1c572bff 100644 --- a/sys/gnu/i386/fpemul/wm_sqrt.s +++ b/sys/gnu/i386/fpemul/wm_sqrt.s @@ -60,7 +60,7 @@ * W. Metzenthen June 1994. * * - * $Id: wm_sqrt.s,v 1.3 1994/06/10 07:45:04 rich Exp $ + * $Id: wm_sqrt.s,v 1.4 1996/09/10 08:24:28 bde Exp $ * */ diff --git a/sys/gnu/i386/isa/dgb.c b/sys/gnu/i386/isa/dgb.c index a7b79a62ee7ab..c75b9c468c025 100644 --- a/sys/gnu/i386/isa/dgb.c +++ b/sys/gnu/i386/isa/dgb.c @@ -1,5 +1,5 @@ /*- - * dgb.c $Id: dgb.c,v 1.21 1996/12/18 16:42:01 davidn Exp $ + * dgb.c $Id: dgb.c,v 1.20.2.1 1996/12/19 14:57:34 davidg Exp $ * * Digiboard driver. * diff --git a/sys/gnu/i386/isa/dgreg.h b/sys/gnu/i386/isa/dgreg.h index 1051d8448e0b7..1e6c143c7b0e3 100644 --- a/sys/gnu/i386/isa/dgreg.h +++ b/sys/gnu/i386/isa/dgreg.h @@ -1,5 +1,5 @@ /*- - * dgreg.h $Id: dgreg.h,v 1.5 1996/12/18 16:42:06 davidn Exp $ + * dgreg.h $Id: dgreg.h,v 1.4.2.1 1996/12/19 14:57:36 davidg Exp $ * * Digiboard driver. * diff --git a/sys/i386/Makefile b/sys/i386/Makefile index 4ad5a34556fb8..755a53cc45671 100644 --- a/sys/i386/Makefile +++ b/sys/i386/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 7.3 (Berkeley) 6/9/91 -# $Id$ +# $Id: Makefile,v 1.2 1993/10/16 19:15:20 rgrimes Exp $ # Makefile for i386 tags file diff --git a/sys/i386/apm/apm.c b/sys/i386/apm/apm.c index 7281b5b1b4651..2db7310c4eba4 100644 --- a/sys/i386/apm/apm.c +++ b/sys/i386/apm/apm.c @@ -14,7 +14,7 @@ * * Sep, 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: apm.c,v 1.48 1996/09/06 23:06:50 phk Exp $ + * $Id: apm.c,v 1.49 1996/09/07 17:41:22 nate Exp $ */ #include "apm.h" diff --git a/sys/i386/apm/apm_init/Makefile b/sys/i386/apm/apm_init/Makefile index c455d66c58a73..6cd6c1186c5e8 100644 --- a/sys/i386/apm/apm_init/Makefile +++ b/sys/i386/apm/apm_init/Makefile @@ -12,7 +12,7 @@ # # Sep., 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) # -# $Id: Makefile,v 1.4 1995/05/30 07:58:11 rgrimes Exp $ +# $Id: Makefile,v 1.4.8.1 1997/03/09 16:56:16 kato Exp $ # OBJS = apm_init.o real_prot.o table.o diff --git a/sys/i386/apm/apm_init/apm_init.S b/sys/i386/apm/apm_init/apm_init.S index 028a5e91a3b90..b717d16e8aaa7 100644 --- a/sys/i386/apm/apm_init/apm_init.S +++ b/sys/i386/apm/apm_init/apm_init.S @@ -12,7 +12,7 @@ * * Sep., 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: apm_init.S,v 1.6 1996/03/12 21:23:56 nate Exp $ + * $Id: apm_init.S,v 1.7 1996/04/18 19:22:58 nate Exp $ */ /* diff --git a/sys/i386/apm/apm_init/bin2asm.c b/sys/i386/apm/apm_init/bin2asm.c index 09c98f450ff19..e9b6384fea9c1 100644 --- a/sys/i386/apm/apm_init/bin2asm.c +++ b/sys/i386/apm/apm_init/bin2asm.c @@ -12,7 +12,7 @@ * * Sep., 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: bin2asm.c,v 1.3 1995/02/17 02:22:33 phk Exp $ + * $Id: bin2asm.c,v 1.4 1995/05/30 07:58:13 rgrimes Exp $ */ #include <stdio.h> diff --git a/sys/i386/apm/apm_init/real_prot.S b/sys/i386/apm/apm_init/real_prot.S index a1b372d9dc209..d08af324139af 100644 --- a/sys/i386/apm/apm_init/real_prot.S +++ b/sys/i386/apm/apm_init/real_prot.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:34:13 rpd - * $Id: real_prot.S,v 1.2 1996/03/11 06:48:55 nate Exp $ + * $Id: real_prot.S,v 1.3 1996/03/11 21:41:32 nate Exp $ */ diff --git a/sys/i386/apm/apm_init/real_prot.h b/sys/i386/apm/apm_init/real_prot.h index 490d9c7b894f6..16fcd823d9de5 100644 --- a/sys/i386/apm/apm_init/real_prot.h +++ b/sys/i386/apm/apm_init/real_prot.h @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.7 92/02/29 15:33:41 rpd - * $Id: real_prot.h,v 1.3 1995/05/30 07:58:16 rgrimes Exp $ + * $Id: real_prot.h,v 1.4 1996/01/30 22:53:13 mpp Exp $ */ /* diff --git a/sys/i386/apm/apm_init/rmaouthdr b/sys/i386/apm/apm_init/rmaouthdr index 47838b0693521..9dc9057ef123f 100644 --- a/sys/i386/apm/apm_init/rmaouthdr +++ b/sys/i386/apm/apm_init/rmaouthdr @@ -1,6 +1,6 @@ #!/bin/csh -f # # from: Mach, Revision 2.2 92/04/04 11:36:01 rpd -# $Id: rmaouthdr,v 1.3 1993/10/16 19:11:37 rgrimes Exp $ +# $Id: rmaouthdr,v 1.1 1994/10/01 02:55:53 davidg Exp $ # dd if=$1 of=$2 ibs=32 skip=1 obs=1024b diff --git a/sys/i386/apm/apm_init/table.c b/sys/i386/apm/apm_init/table.c index b50d60fe803ac..f4d0733487ce4 100644 --- a/sys/i386/apm/apm_init/table.c +++ b/sys/i386/apm/apm_init/table.c @@ -12,7 +12,7 @@ * * Sep., 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: table.c,v 1.3 1995/02/17 02:22:34 phk Exp $ + * $Id: table.c,v 1.4 1995/05/30 07:58:18 rgrimes Exp $ */ #include <apm_bios.h> diff --git a/sys/i386/apm/apm_setup.h b/sys/i386/apm/apm_setup.h index f5e67efec461b..90874e1a3276f 100644 --- a/sys/i386/apm/apm_setup.h +++ b/sys/i386/apm/apm_setup.h @@ -12,7 +12,7 @@ * * Sep., 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: apm_setup.h,v 1.3 1995/02/17 02:22:22 phk Exp $ + * $Id: apm_setup.h,v 1.4 1995/05/30 07:58:08 rgrimes Exp $ */ extern u_long apm_version; diff --git a/sys/i386/apm/apm_setup.s b/sys/i386/apm/apm_setup.s index d1a1567142995..72167bd649c8c 100644 --- a/sys/i386/apm/apm_setup.s +++ b/sys/i386/apm/apm_setup.s @@ -12,7 +12,7 @@ * * Sep., 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: apm_setup.s,v 1.6 1996/03/11 06:48:48 nate Exp $ + * $Id: apm_setup.s,v 1.7 1996/07/10 15:09:48 nate Exp $ */ #include "apm.h" diff --git a/sys/i386/boot/Makefile b/sys/i386/boot/Makefile index c6f4f5bdab648..c315bc75d31bc 100644 --- a/sys/i386/boot/Makefile +++ b/sys/i386/boot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.25 1995/04/15 08:24:33 phk Exp $ +# $Id: Makefile,v 1.26 1996/09/11 19:22:21 phk Exp $ SUBDIR= biosboot dosboot kzipboot netboot rawboot diff --git a/sys/i386/boot/biosboot/Makefile b/sys/i386/boot/biosboot/Makefile index de1113552bf9e..a62a50747fb28 100644 --- a/sys/i386/boot/biosboot/Makefile +++ b/sys/i386/boot/biosboot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.50.2.2 1996/11/25 07:16:47 phk Exp $ +# $Id: Makefile,v 1.50.2.3 1997/03/05 15:50:20 bde Exp $ # PROG= boot diff --git a/sys/i386/boot/biosboot/README.386BSD b/sys/i386/boot/biosboot/README.386BSD index 8afa8515bd69e..793762e2bd7bf 100644 --- a/sys/i386/boot/biosboot/README.386BSD +++ b/sys/i386/boot/biosboot/README.386BSD @@ -169,4 +169,4 @@ Before you do this ensure you have a booting floppy with correct disktab and bootblock files on it so that if it doesn't work, you can re-disklabel from the floppy. -$Id: README.386BSD,v 1.6 1996/07/09 02:28:17 julian Exp $ +$Id: README.386BSD,v 1.7 1996/07/12 05:17:37 bde Exp $ diff --git a/sys/i386/boot/biosboot/README.MACH b/sys/i386/boot/biosboot/README.MACH index cb6232936e281..9de108123bd2d 100644 --- a/sys/i386/boot/biosboot/README.MACH +++ b/sys/i386/boot/biosboot/README.MACH @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:33:55 rpd - * $Id$ + * $Id: README.MACH,v 1.3 1993/10/16 19:11:26 rgrimes Exp $ */ ********NOTE: This is not all relevant to the 386BSD version********** diff --git a/sys/i386/boot/biosboot/README.serial b/sys/i386/boot/biosboot/README.serial index d57ae50a1987b..8ace5051afc06 100644 --- a/sys/i386/boot/biosboot/README.serial +++ b/sys/i386/boot/biosboot/README.serial @@ -161,4 +161,4 @@ CAVEATS: from the new kernel. -$Id: README.serial,v 1.4 1996/04/07 14:27:58 bde Exp $ +$Id: README.serial,v 1.5 1996/04/13 11:57:18 jkh Exp $ diff --git a/sys/i386/boot/biosboot/asm.S b/sys/i386/boot/biosboot/asm.S index a29dd871c611a..e689817466268 100644 --- a/sys/i386/boot/biosboot/asm.S +++ b/sys/i386/boot/biosboot/asm.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:34:13 rpd - * $Id: asm.S,v 1.8 1996/03/08 05:43:46 bde Exp $ + * $Id: asm.S,v 1.9 1996/03/08 07:27:52 bde Exp $ */ diff --git a/sys/i386/boot/biosboot/asm.h b/sys/i386/boot/biosboot/asm.h index 31ceab5a64c64..e279ac9d404df 100644 --- a/sys/i386/boot/biosboot/asm.h +++ b/sys/i386/boot/biosboot/asm.h @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.7 92/02/29 15:33:41 rpd - * $Id: asm.h,v 1.5 1996/07/05 19:55:02 julian Exp $ + * $Id: asm.h,v 1.6 1996/07/12 05:42:01 bde Exp $ */ #define S_ARG0 4(%esp) diff --git a/sys/i386/boot/biosboot/bios.S b/sys/i386/boot/biosboot/bios.S index 597cc85a7acff..4ac006bf577d8 100644 --- a/sys/i386/boot/biosboot/bios.S +++ b/sys/i386/boot/biosboot/bios.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:34:26 rpd - * $Id: bios.S,v 1.5.4.1 1996/11/12 08:02:23 phk Exp $ + * $Id: bios.S,v 1.5.4.2 1996/12/22 15:04:15 joerg Exp $ */ /* diff --git a/sys/i386/boot/biosboot/boot.c b/sys/i386/boot/biosboot/boot.c index 05b79f6a21893..5c41142452df0 100644 --- a/sys/i386/boot/biosboot/boot.c +++ b/sys/i386/boot/biosboot/boot.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, [92/04/03 16:51:14 rvb] - * $Id: boot.c,v 1.59 1996/09/14 07:11:58 bde Exp $ + * $Id: boot.c,v 1.60 1996/10/08 22:41:34 bde Exp $ */ diff --git a/sys/i386/boot/biosboot/boot.h b/sys/i386/boot/biosboot/boot.h index 91551e10366e4..7724634fdd043 100644 --- a/sys/i386/boot/biosboot/boot.h +++ b/sys/i386/boot/biosboot/boot.h @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:35:03 rpd - * $Id: boot.h,v 1.13 1996/09/14 07:38:14 bde Exp $ + * $Id: boot.h,v 1.14 1996/10/08 22:25:19 bde Exp $ */ #include <sys/param.h> diff --git a/sys/i386/boot/biosboot/boot2.S b/sys/i386/boot/biosboot/boot2.S index 12a3d1afc3484..b27218875b798 100644 --- a/sys/i386/boot/biosboot/boot2.S +++ b/sys/i386/boot/biosboot/boot2.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:35:26 rpd - * $Id: boot2.S,v 1.8 1996/07/12 05:25:46 bde Exp $ + * $Id: boot2.S,v 1.9 1996/09/04 18:28:36 julian Exp $ */ #include "asm.h" diff --git a/sys/i386/boot/biosboot/disk.c b/sys/i386/boot/biosboot/disk.c index afde2ce37832b..4186124d6499c 100644 --- a/sys/i386/boot/biosboot/disk.c +++ b/sys/i386/boot/biosboot/disk.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:35:49 rpd - * $Id: disk.c,v 1.22 1996/10/08 22:31:31 bde Exp $ + * $Id: disk.c,v 1.22.2.1 1996/12/15 14:52:14 bde Exp $ */ /* diff --git a/sys/i386/boot/biosboot/io.c b/sys/i386/boot/biosboot/io.c index f1f2471fd238b..fd8531e22484b 100644 --- a/sys/i386/boot/biosboot/io.c +++ b/sys/i386/boot/biosboot/io.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:35:57 rpd - * $Id: io.c,v 1.18 1996/03/08 06:29:06 bde Exp $ + * $Id: io.c,v 1.19 1996/04/30 23:43:25 bde Exp $ */ #include "boot.h" diff --git a/sys/i386/boot/biosboot/probe_keyboard.c b/sys/i386/boot/biosboot/probe_keyboard.c index 96c7e2b986944..21581fbe6c374 100644 --- a/sys/i386/boot/biosboot/probe_keyboard.c +++ b/sys/i386/boot/biosboot/probe_keyboard.c @@ -42,7 +42,7 @@ * * This grody hack brought to you by Bill Paul (wpaul@ctr.columbia.edu) * - * $Id: probe_keyboard.c,v 1.7.2.1 1996/11/25 07:16:48 phk Exp $ + * $Id: probe_keyboard.c,v 1.7.2.2 1996/12/03 10:43:55 phk Exp $ */ #ifdef PROBE_KEYBOARD diff --git a/sys/i386/boot/biosboot/serial.S b/sys/i386/boot/biosboot/serial.S index ab7cd3eddaddd..ed4655cb504fc 100644 --- a/sys/i386/boot/biosboot/serial.S +++ b/sys/i386/boot/biosboot/serial.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:34:26 rpd - * $Id: serial.S,v 1.3 1995/04/21 16:30:18 bde Exp $ + * $Id: serial.S,v 1.3.8.1 1996/11/06 10:05:10 phk Exp $ */ /* diff --git a/sys/i386/boot/biosboot/start.S b/sys/i386/boot/biosboot/start.S index 94a8c342170d0..ecde7be65348d 100644 --- a/sys/i386/boot/biosboot/start.S +++ b/sys/i386/boot/biosboot/start.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:36:29 rpd - * $Id: start.S,v 1.7 1996/07/05 19:55:05 julian Exp $ + * $Id: start.S,v 1.8 1996/07/12 05:42:02 bde Exp $ */ /* diff --git a/sys/i386/boot/biosboot/sys.c b/sys/i386/boot/biosboot/sys.c index 1ab30e73dfc72..6a82f5ec3c7a3 100644 --- a/sys/i386/boot/biosboot/sys.c +++ b/sys/i386/boot/biosboot/sys.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:36:34 rpd - * $Id: sys.c,v 1.15 1996/09/14 07:41:00 bde Exp $ + * $Id: sys.c,v 1.16 1996/09/24 08:05:51 bde Exp $ */ #include "boot.h" diff --git a/sys/i386/boot/biosboot/table.c b/sys/i386/boot/biosboot/table.c index 2d169b9a24215..d93743f770bde 100644 --- a/sys/i386/boot/biosboot/table.c +++ b/sys/i386/boot/biosboot/table.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:36:43 rpd - * $Id: table.c,v 1.12 1996/07/12 05:25:47 bde Exp $ + * $Id: table.c,v 1.13 1996/09/14 07:12:02 bde Exp $ */ /* diff --git a/sys/i386/boot/dosboot/Makefile b/sys/i386/boot/dosboot/Makefile index 4646bbb0c229a..9e308f9a87b1a 100644 --- a/sys/i386/boot/dosboot/Makefile +++ b/sys/i386/boot/dosboot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1995/03/28 19:22:43 phk Exp $ +# $Id: Makefile,v 1.2 1995/05/30 07:58:41 rgrimes Exp $ # MPROG= fbsdboot.exe diff --git a/sys/i386/boot/dosboot/ansi.h b/sys/i386/boot/dosboot/ansi.h index 4acad948f68e2..66662e62e39c1 100644 --- a/sys/i386/boot/dosboot/ansi.h +++ b/sys/i386/boot/dosboot/ansi.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* from: @(#)ansi.h 7.1 (Berkeley) 3/9/91
- * $Id: ansi.h,v 1.2 1993/10/16 14:39:05 rgrimes Exp $
+ * $Id: ansi.h,v 1.2 1995/04/27 18:22:12 phk Exp $
*/
#ifndef _ANSI_H_
diff --git a/sys/i386/boot/dosboot/boot.c b/sys/i386/boot/dosboot/boot.c index 8482279bea24d..07de5b2baa658 100644 --- a/sys/i386/boot/dosboot/boot.c +++ b/sys/i386/boot/dosboot/boot.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes.
*
* from: Mach, [92/04/03 16:51:14 rvb]
- * $Id: boot.c,v 1.9.2.1 1994/05/01 05:14:49 rgrimes Exp $
+ * $Id: boot.c,v 1.2 1995/04/27 18:22:13 phk Exp $
*/
diff --git a/sys/i386/boot/dosboot/boot.h b/sys/i386/boot/dosboot/boot.h index 322610f6ab0b9..c7c7939aef8c6 100644 --- a/sys/i386/boot/dosboot/boot.h +++ b/sys/i386/boot/dosboot/boot.h @@ -24,7 +24,7 @@ * the rights to redistribute these changes.
*
* from: Mach, Revision 2.2 92/04/04 11:35:03 rpd
- * $Id: boot.h,v 1.3 1993/10/16 19:11:32 rgrimes Exp $
+ * $Id: boot.h,v 1.2 1995/04/27 18:22:14 phk Exp $
*/
#include "types.h"
diff --git a/sys/i386/boot/dosboot/bootinfo.h b/sys/i386/boot/dosboot/bootinfo.h index 8315158db1cb8..484c24968da38 100644 --- a/sys/i386/boot/dosboot/bootinfo.h +++ b/sys/i386/boot/dosboot/bootinfo.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: bootinfo.h,v 1.3 1994/11/18 05:26:52 phk Exp $
+ * $Id: bootinfo.h,v 1.2 1995/04/27 18:22:15 phk Exp $
*/
#ifndef _MACHINE_BOOTINFO_H_
diff --git a/sys/i386/boot/dosboot/cdefs.h b/sys/i386/boot/dosboot/cdefs.h index 09995d4a391d3..263d2169c87c5 100644 --- a/sys/i386/boot/dosboot/cdefs.h +++ b/sys/i386/boot/dosboot/cdefs.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* from: @(#)cdefs.h 8.1 (Berkeley) 6/2/93
- * $Id: cdefs.h,v 1.6 1993/10/16 17:16:24 rgrimes Exp $
+ * $Id: cdefs.h,v 1.2 1995/04/27 18:22:15 phk Exp $
*/
#ifndef _CDEFS_H_
diff --git a/sys/i386/boot/dosboot/dinode.h b/sys/i386/boot/dosboot/dinode.h index adfac172282e7..0f676346f46a2 100644 --- a/sys/i386/boot/dosboot/dinode.h +++ b/sys/i386/boot/dosboot/dinode.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* from: @(#)dinode.h 7.10 (Berkeley) 5/8/91
- * $Id: dinode.h,v 1.5 1993/12/19 22:51:07 alm Exp $
+ * $Id: dinode.h,v 1.2 1995/04/27 18:22:16 phk Exp $
*/
#ifndef _UFS_DINODE_H_
diff --git a/sys/i386/boot/dosboot/dir.h b/sys/i386/boot/dosboot/dir.h index bc02fde23d7e2..6bb49d0b103e9 100644 --- a/sys/i386/boot/dosboot/dir.h +++ b/sys/i386/boot/dosboot/dir.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* from: @(#)dir.h 7.3 (Berkeley) 2/5/91
- * $Id: dir.h,v 1.2 1993/10/16 17:16:31 rgrimes Exp $
+ * $Id: dir.h,v 1.2 1995/04/27 18:22:17 phk Exp $
*/
/*
diff --git a/sys/i386/boot/dosboot/disk.c b/sys/i386/boot/dosboot/disk.c index 0a5fcec9b86fc..7460fe4ff2fd4 100644 --- a/sys/i386/boot/dosboot/disk.c +++ b/sys/i386/boot/dosboot/disk.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes.
*
* from: Mach, Revision 2.2 92/04/04 11:35:49 rpd
- * $Id: disk.c,v 1.4 1994/02/22 22:59:40 rgrimes Exp $
+ * $Id: disk.c,v 1.2 1995/04/27 18:22:17 phk Exp $
*/
#include <stdio.h>
#include <memory.h>
diff --git a/sys/i386/boot/dosboot/disklabe.h b/sys/i386/boot/dosboot/disklabe.h index c155df5783982..99d23cd959681 100644 --- a/sys/i386/boot/dosboot/disklabe.h +++ b/sys/i386/boot/dosboot/disklabe.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* @(#)disklabel.h 8.1 (Berkeley) 6/2/93
- * $Id: disklabel.h,v 1.8 1994/11/14 13:08:44 bde Exp $
+ * $Id: disklabe.h,v 1.2 1995/04/27 18:22:18 phk Exp $
*/
#ifndef _SYS_DISKLABEL_H_
diff --git a/sys/i386/boot/dosboot/dkbad.h b/sys/i386/boot/dosboot/dkbad.h index 33f1c5373ae60..15fd0fa89ba4f 100644 --- a/sys/i386/boot/dosboot/dkbad.h +++ b/sys/i386/boot/dosboot/dkbad.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* @(#)dkbad.h 8.1 (Berkeley) 6/2/93
- * $Id: dkbad.h,v 1.5 1995/04/15 23:21:28 bde Exp $
+ * $Id: dkbad.h,v 1.2 1995/04/27 18:22:19 phk Exp $
*/
#ifndef _SYS_DKBAD_H_
diff --git a/sys/i386/boot/dosboot/endian.h b/sys/i386/boot/dosboot/endian.h index ff7dad5b10bf6..2d60bac9ad40c 100644 --- a/sys/i386/boot/dosboot/endian.h +++ b/sys/i386/boot/dosboot/endian.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* from: @(#)endian.h 7.8 (Berkeley) 4/3/91
- * $Id: endian.h,v 1.5 1994/09/10 20:03:14 csgr Exp $
+ * $Id: endian.h,v 1.2 1995/04/27 18:22:21 phk Exp $
*/
#ifndef _MACHINE_ENDIAN_H_
diff --git a/sys/i386/boot/dosboot/exec.h b/sys/i386/boot/dosboot/exec.h index 6f6a9e97ee1ca..45e5c58d0e2af 100644 --- a/sys/i386/boot/dosboot/exec.h +++ b/sys/i386/boot/dosboot/exec.h @@ -36,7 +36,7 @@ * SUCH DAMAGE.
*
* @(#)exec.h 8.3 (Berkeley) 1/21/94
- * $Id: exec.h,v 1.9 1994/10/09 21:50:57 sos Exp $
+ * $Id: exec.h,v 1.2 1995/04/27 18:22:22 phk Exp $
*/
#ifndef _SYS_EXEC_H_
diff --git a/sys/i386/boot/dosboot/fs.h b/sys/i386/boot/dosboot/fs.h index 68ccd98040f22..9db12c9051615 100644 --- a/sys/i386/boot/dosboot/fs.h +++ b/sys/i386/boot/dosboot/fs.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* from: @(#)fs.h 7.12 (Berkeley) 5/8/91
- * $Id: fs.h,v 1.6 1993/12/19 22:51:09 alm Exp $
+ * $Id: fs.h,v 1.2 1995/04/27 18:22:25 phk Exp $
*/
#ifndef _UFS_FS_H_
diff --git a/sys/i386/boot/dosboot/imgact.h b/sys/i386/boot/dosboot/imgact.h index dde841e1ea834..c8ae79b4256ea 100644 --- a/sys/i386/boot/dosboot/imgact.h +++ b/sys/i386/boot/dosboot/imgact.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* from: @(#)exec.h 8.1 (Berkeley) 6/11/93
- * $Id: imgact_aout.h,v 1.1 1994/09/24 21:09:18 davidg Exp $
+ * $Id: imgact.h,v 1.2 1995/04/27 18:22:26 phk Exp $
*/
#ifndef _IMGACT_AOUT_H_
diff --git a/sys/i386/boot/dosboot/inode.h b/sys/i386/boot/dosboot/inode.h index 9f9310b0416e0..843cd8b57e02b 100644 --- a/sys/i386/boot/dosboot/inode.h +++ b/sys/i386/boot/dosboot/inode.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* from: @(#)inode.h 7.17 (Berkeley) 5/8/91
- * $Id: inode.h,v 1.6 1993/12/19 00:55:37 wollman Exp $
+ * $Id: inode.h,v 1.2 1995/04/27 18:22:27 phk Exp $
*/
#ifndef _UFS_INODE_H_
diff --git a/sys/i386/boot/dosboot/mexec.h b/sys/i386/boot/dosboot/mexec.h index dbaf8f2b28ab1..7b043382bb2c3 100644 --- a/sys/i386/boot/dosboot/mexec.h +++ b/sys/i386/boot/dosboot/mexec.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* @(#)exec.h 8.1 (Berkeley) 6/11/93
- * $Id: exec.h,v 1.5 1994/09/24 21:36:38 davidg Exp $
+ * $Id: mexec.h,v 1.2 1995/04/27 18:22:28 phk Exp $
*/
#ifndef _EXEC_H_
diff --git a/sys/i386/boot/dosboot/param.h b/sys/i386/boot/dosboot/param.h index 67882bfb70b38..d24cf4e36e202 100644 --- a/sys/i386/boot/dosboot/param.h +++ b/sys/i386/boot/dosboot/param.h @@ -34,7 +34,7 @@ * SUCH DAMAGE.
*
* from: @(#)param.h 5.8 (Berkeley) 6/28/91
- * $Id: param.h,v 1.16 1994/09/18 22:05:22 bde Exp $
+ * $Id: param.h,v 1.2 1995/04/27 18:22:28 phk Exp $
*/
#ifndef _MACHINE_PARAM_H_
diff --git a/sys/i386/boot/dosboot/quota.h b/sys/i386/boot/dosboot/quota.h index e1d72077748d8..a7be1041bc684 100644 --- a/sys/i386/boot/dosboot/quota.h +++ b/sys/i386/boot/dosboot/quota.h @@ -34,7 +34,7 @@ * SUCH DAMAGE.
*
* from: @(#)quota.h 7.9 (Berkeley) 2/22/91
- * $Id: quota.h,v 1.3 1993/11/25 01:38:27 wollman Exp $
+ * $Id: quota.h,v 1.2 1995/04/27 18:22:31 phk Exp $
*/
#ifndef _QUOTA_
diff --git a/sys/i386/boot/dosboot/reboot.h b/sys/i386/boot/dosboot/reboot.h index c21858a75cfc6..92dca6c760ae9 100644 --- a/sys/i386/boot/dosboot/reboot.h +++ b/sys/i386/boot/dosboot/reboot.h @@ -31,7 +31,7 @@ * SUCH DAMAGE.
*
* @(#)reboot.h 8.1 (Berkeley) 6/2/93
- * $Id: reboot.h,v 1.2 1995/04/27 18:22:32 phk Exp $
+ * $Id: reboot.h,v 1.3 1996/08/27 19:45:47 pst Exp $
*/
#ifndef _SYS_REBOOT_H_
diff --git a/sys/i386/boot/dosboot/sys.c b/sys/i386/boot/dosboot/sys.c index 172545cc7235b..a15ab92ec7da9 100644 --- a/sys/i386/boot/dosboot/sys.c +++ b/sys/i386/boot/dosboot/sys.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes.
*
* from: Mach, Revision 2.2 92/04/04 11:36:34 rpd
- * $Id: sys.c,v 1.3 1993/10/16 19:11:39 rgrimes Exp $
+ * $Id: sys.c,v 1.2 1995/04/27 18:22:33 phk Exp $
*/
#include <stdio.h>
#include <string.h>
diff --git a/sys/i386/boot/dosboot/syslimit.h b/sys/i386/boot/dosboot/syslimit.h index 007dbc615fcc7..99e832d87c612 100644 --- a/sys/i386/boot/dosboot/syslimit.h +++ b/sys/i386/boot/dosboot/syslimit.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)syslimits.h 7.4 (Berkeley) 2/4/91 - * $Id: syslimits.h,v 1.4 1994/01/20 22:57:32 davidg Exp $ + * $Id: syslimit.h,v 1.2 1995/04/27 18:22:34 phk Exp $ */ #ifndef _SYS_SYSLIMITS_H_ diff --git a/sys/i386/boot/dosboot/sysparam.h b/sys/i386/boot/dosboot/sysparam.h index 6331d6932ff92..facbfb176ce50 100644 --- a/sys/i386/boot/dosboot/sysparam.h +++ b/sys/i386/boot/dosboot/sysparam.h @@ -36,7 +36,7 @@ * SUCH DAMAGE.
*
* @(#)param.h 8.2 (Berkeley) 1/21/94
- * $Id: param.h,v 1.5 1994/09/01 05:12:51 davidg Exp $
+ * $Id: sysparam.h,v 1.2 1995/04/27 18:22:35 phk Exp $
*/
#ifndef _SYS_PARAM_H_
diff --git a/sys/i386/boot/dosboot/types.h b/sys/i386/boot/dosboot/types.h index 77d83731065ec..ebebca5d65329 100644 --- a/sys/i386/boot/dosboot/types.h +++ b/sys/i386/boot/dosboot/types.h @@ -36,7 +36,7 @@ * SUCH DAMAGE.
*
* @(#)types.h 8.4 (Berkeley) 1/21/94
- * $Id: types.h,v 1.4 1994/09/25 15:56:25 davidg Exp $
+ * $Id: types.h,v 1.2 1995/04/27 18:22:36 phk Exp $
*/
#ifndef _SYS_TYPES_H_
diff --git a/sys/i386/boot/kzipboot/Makefile b/sys/i386/boot/kzipboot/Makefile index 4259d8fa4190a..d24eb59bc767e 100644 --- a/sys/i386/boot/kzipboot/Makefile +++ b/sys/i386/boot/kzipboot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1995/08/15 19:36:02 joerg Exp $ +# $Id: Makefile,v 1.4 1995/10/06 02:57:22 peter Exp $ PROG= kztail.o kzhead.o BINMODE = 444 # target is a relocatable object diff --git a/sys/i386/boot/netboot/3c509.c b/sys/i386/boot/netboot/3c509.c index 50b41c0529007..8752b770b16df 100644 --- a/sys/i386/boot/netboot/3c509.c +++ b/sys/i386/boot/netboot/3c509.c @@ -18,7 +18,7 @@ Author: Martin Renters. 3c509 support added by Serge Babkin (babkin@hq.icb.chel.su) -$Id: 3c509.c,v 1.2 1995/05/30 07:58:52 rgrimes Exp $ +$Id: 3c509.c,v 1.3 1996/08/06 21:13:32 phk Exp $ ***************************************************************************/ diff --git a/sys/i386/boot/rawboot/Makefile b/sys/i386/boot/rawboot/Makefile index 1cdc0106eb964..91bb5df73e5a8 100644 --- a/sys/i386/boot/rawboot/Makefile +++ b/sys/i386/boot/rawboot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/10/15 16:26:05 bde Exp $ +# $Id: Makefile,v 1.3.2.1 1996/12/15 15:05:23 bde Exp $ # PROG= boot diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index 7305ab779034f..f6699742a4b9e 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -11,7 +11,7 @@ # device lines is present in the ./LINT configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in LINT. # -# $Id: GENERIC,v 1.77.2.3 1997/02/08 15:42:24 joerg Exp $ +# $Id: GENERIC,v 1.77.2.4 1997/02/22 20:31:24 joerg Exp $ machine "i386" cpu "I386_CPU" diff --git a/sys/i386/conf/LINT b/sys/i386/conf/LINT index ecc6082aec500..ac0c1cc7ea7cb 100644 --- a/sys/i386/conf/LINT +++ b/sys/i386/conf/LINT @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.286.2.18 1997/03/12 17:45:48 joerg Exp $ +# $Id: LINT,v 1.286.2.19 1997/03/19 03:01:49 obrien Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from diff --git a/sys/i386/conf/Makefile.i386 b/sys/i386/conf/Makefile.i386 index a18704460b07c..5226790d6444f 100644 --- a/sys/i386/conf/Makefile.i386 +++ b/sys/i386/conf/Makefile.i386 @@ -1,7 +1,7 @@ # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.i386,v 1.89.2.1 1996/11/09 21:07:54 phk Exp $ +# $Id: Makefile.i386,v 1.89.2.2 1997/02/14 00:07:52 bde Exp $ # # Makefile for FreeBSD # diff --git a/sys/i386/conf/devices.i386 b/sys/i386/conf/devices.i386 index 3de5214548f80..904a399e93fa5 100644 --- a/sys/i386/conf/devices.i386 +++ b/sys/i386/conf/devices.i386 @@ -1,6 +1,6 @@ # This file tells what major numbers the various possible swap devices have. # -# $Id: devices.i386,v 1.8 1994/12/26 01:06:39 ats Exp $ +# $Id: devices.i386,v 1.9 1995/08/19 15:59:25 joerg Exp $ # wd 0 dk 1 diff --git a/sys/i386/conf/files.i386 b/sys/i386/conf/files.i386 index 18bb34afcf099..a6cbdfae051f8 100644 --- a/sys/i386/conf/files.i386 +++ b/sys/i386/conf/files.i386 @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $Id: files.i386,v 1.141.2.9 1997/03/16 07:21:41 gibbs Exp $ +# $Id: files.i386,v 1.141.2.10 1997/03/16 19:02:54 gibbs Exp $ # aic7xxx_asm optional ahc device-driver \ dependency "$S/dev/aic7xxx/*.[chyl]" \ diff --git a/sys/i386/conf/majors.i386 b/sys/i386/conf/majors.i386 index d302548a16125..e9cfb5e617751 100644 --- a/sys/i386/conf/majors.i386 +++ b/sys/i386/conf/majors.i386 @@ -1,4 +1,4 @@ -$Id$ +$Id: majors.i386,v 1.9.2.1 1997/03/13 18:28:40 bde Exp $ Hopefully, this list will one day be obsoleted by DEVFS, but for now this is the current allocation of device major numbers. diff --git a/sys/i386/conf/options.i386 b/sys/i386/conf/options.i386 index 8045f52b5dd4c..042358ebdab86 100644 --- a/sys/i386/conf/options.i386 +++ b/sys/i386/conf/options.i386 @@ -1,4 +1,4 @@ -# $Id: options.i386,v 1.26.2.6 1997/02/28 16:59:52 bde Exp $ +# $Id: options.i386,v 1.26.2.7 1997/03/12 17:45:56 joerg Exp $ BOUNCEPAGES opt_bounce.h USER_LDT MATH_EMULATE opt_math_emulate.h diff --git a/sys/i386/eisa/3c5x9.c b/sys/i386/eisa/3c5x9.c index 3b0530245f62e..4ad6b05603edd 100644 --- a/sys/i386/eisa/3c5x9.c +++ b/sys/i386/eisa/3c5x9.c @@ -19,7 +19,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id: 3c5x9.c,v 1.6 1996/10/12 17:34:25 bde Exp $ + * $Id: 3c5x9.c,v 1.7 1996/10/12 19:48:52 bde Exp $ */ #include "eisa.h" diff --git a/sys/i386/eisa/aha1742.c b/sys/i386/eisa/aha1742.c index 35a64ee3ad1f1..439d796d1e88d 100644 --- a/sys/i386/eisa/aha1742.c +++ b/sys/i386/eisa/aha1742.c @@ -14,7 +14,7 @@ * * commenced: Sun Sep 27 18:14:01 PDT 1992 * - * $Id: aha1742.c,v 1.54 1996/06/12 05:02:39 gpalmer Exp $ + * $Id: aha1742.c,v 1.55 1996/09/06 23:06:54 phk Exp $ */ #include <sys/types.h> diff --git a/sys/i386/eisa/aic7770.c b/sys/i386/eisa/aic7770.c index 374ca94c8e20f..5507db2fbda68 100644 --- a/sys/i386/eisa/aic7770.c +++ b/sys/i386/eisa/aic7770.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7770.c,v 1.34.2.5 1997/03/01 06:53:07 gibbs Exp $ + * $Id: aic7770.c,v 1.34.2.6 1997/03/16 07:21:47 gibbs Exp $ */ #if defined(__FreeBSD__) diff --git a/sys/i386/eisa/bt74x.c b/sys/i386/eisa/bt74x.c index 2b607fc8fbee4..f7ab13362ce6c 100644 --- a/sys/i386/eisa/bt74x.c +++ b/sys/i386/eisa/bt74x.c @@ -19,7 +19,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id: bt74x.c,v 1.6 1996/06/12 05:02:40 gpalmer Exp $ + * $Id: bt74x.c,v 1.7 1996/09/06 23:06:56 phk Exp $ */ #include "eisa.h" diff --git a/sys/i386/eisa/eisaconf.c b/sys/i386/eisa/eisaconf.c index c48adac264ea0..caff40e421177 100644 --- a/sys/i386/eisa/eisaconf.c +++ b/sys/i386/eisa/eisaconf.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: eisaconf.c,v 1.23.2.2 1997/03/13 22:24:23 joerg Exp $ */ #include "opt_eisa.h" diff --git a/sys/i386/eisa/eisaconf.h b/sys/i386/eisa/eisaconf.h index a79f4d560be4b..0664741c7f41c 100644 --- a/sys/i386/eisa/eisaconf.h +++ b/sys/i386/eisa/eisaconf.h @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: eisaconf.h,v 1.12.2.2 1997/03/13 22:24:25 joerg Exp $ */ #ifndef _I386_EISA_EISACONF_H_ diff --git a/sys/i386/eisa/if_fea.c b/sys/i386/eisa/if_fea.c index 05798e09d2ca0..f5bb624d4d93c 100644 --- a/sys/i386/eisa/if_fea.c +++ b/sys/i386/eisa/if_fea.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_fea.c,v 1.1.1.1 1997/01/17 23:19:49 joerg Exp $ + * $Id: if_fea.c,v 1.2 1997/01/17 23:54:37 joerg Exp $ */ /* diff --git a/sys/i386/i386/autoconf.c b/sys/i386/i386/autoconf.c index 11d0829013a11..24c43d10b002d 100644 --- a/sys/i386/i386/autoconf.c +++ b/sys/i386/i386/autoconf.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 - * $Id: autoconf.c,v 1.56.2.3 1996/12/21 18:55:34 phk Exp $ + * $Id: autoconf.c,v 1.56.2.4 1997/03/04 00:31:13 nate Exp $ */ /* diff --git a/sys/i386/i386/cons.c b/sys/i386/i386/cons.c index 26d68743f4c66..6202cd1af96a3 100644 --- a/sys/i386/i386/cons.c +++ b/sys/i386/i386/cons.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)cons.c 7.2 (Berkeley) 5/9/91 - * $Id: cons.c,v 1.48 1996/10/16 00:19:38 julian Exp $ + * $Id: cons.c,v 1.49 1996/10/30 21:40:10 julian Exp $ */ #include <sys/param.h> diff --git a/sys/i386/i386/cons.h b/sys/i386/i386/cons.h index 9bb2f13e10e82..012e331083d90 100644 --- a/sys/i386/i386/cons.h +++ b/sys/i386/i386/cons.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)cons.h 7.2 (Berkeley) 5/9/91 - * $Id: cons.h,v 1.12 1995/12/08 11:13:23 julian Exp $ + * $Id: cons.h,v 1.13 1995/12/09 20:39:46 phk Exp $ */ #ifndef _MACHINE_CONS_H_ diff --git a/sys/i386/i386/db_disasm.c b/sys/i386/i386/db_disasm.c index 7164980f591ae..c08fa53b917fc 100644 --- a/sys/i386/i386/db_disasm.c +++ b/sys/i386/i386/db_disasm.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_disasm.c,v 1.16 1996/07/12 04:40:21 bde Exp $ + * $Id: db_disasm.c,v 1.16.2.1 1997/01/14 16:43:51 bde Exp $ */ /* diff --git a/sys/i386/i386/db_interface.c b/sys/i386/i386/db_interface.c index 3fbd39b417221..8540436790311 100644 --- a/sys/i386/i386/db_interface.c +++ b/sys/i386/i386/db_interface.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_interface.c,v 1.23 1996/09/28 22:37:28 dyson Exp $ + * $Id: db_interface.c,v 1.23.2.1 1997/02/13 07:06:53 bde Exp $ */ /* diff --git a/sys/i386/i386/db_trace.c b/sys/i386/i386/db_trace.c index 26ce99c9d3f4f..dbb2e698cc60b 100644 --- a/sys/i386/i386/db_trace.c +++ b/sys/i386/i386/db_trace.c @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: db_trace.c,v 1.15.4.1 1997/02/28 12:39:23 bde Exp $ + * $Id: db_trace.c,v 1.15.4.2 1997/03/01 06:10:44 bde Exp $ */ #include <sys/param.h> diff --git a/sys/i386/i386/exception.s b/sys/i386/i386/exception.s index 5c7174ebfaa27..51cc6a7bea0c6 100644 --- a/sys/i386/i386/exception.s +++ b/sys/i386/i386/exception.s @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: exception.s,v 1.18 1996/05/31 01:08:02 peter Exp $ + * $Id: exception.s,v 1.19 1996/08/11 17:41:23 davidg Exp $ */ #include "npx.h" /* NNPX */ diff --git a/sys/i386/i386/genassym.c b/sys/i386/i386/genassym.c index 2ebdc5dd391f6..e573024fd1c34 100644 --- a/sys/i386/i386/genassym.c +++ b/sys/i386/i386/genassym.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)genassym.c 5.11 (Berkeley) 5/10/91 - * $Id: genassym.c,v 1.38 1996/07/31 12:36:10 bde Exp $ + * $Id: genassym.c,v 1.39 1996/10/12 19:49:15 bde Exp $ */ #include <stdio.h> diff --git a/sys/i386/i386/identcpu.c b/sys/i386/i386/identcpu.c index 3975da34bf33f..c1e4010c9707e 100644 --- a/sys/i386/i386/identcpu.c +++ b/sys/i386/i386/identcpu.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: Id: machdep.c,v 1.193 1996/06/18 01:22:04 bde Exp - * $Id: identcpu.c,v 1.7.2.2 1996/11/12 13:54:49 phk Exp $ + * $Id: identcpu.c,v 1.7.2.3 1997/02/02 18:47:05 joerg Exp $ */ #include "opt_cpu.h" diff --git a/sys/i386/i386/in_cksum.c b/sys/i386/i386/in_cksum.c index 439a4bc3854ce..d63cf1f1dfe0c 100644 --- a/sys/i386/i386/in_cksum.c +++ b/sys/i386/i386/in_cksum.c @@ -32,7 +32,7 @@ * * from tahoe: in_cksum.c 1.2 86/01/05 * from: @(#)in_cksum.c 1.3 (Berkeley) 1/19/91 - * $Id: in_cksum.c,v 1.7 1995/05/30 07:59:31 rgrimes Exp $ + * $Id: in_cksum.c,v 1.8 1995/12/03 18:35:19 bde Exp $ */ #include <sys/param.h> diff --git a/sys/i386/i386/locore.s b/sys/i386/i386/locore.s index 91b0482318d61..252a4bb16b499 100644 --- a/sys/i386/i386/locore.s +++ b/sys/i386/i386/locore.s @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)locore.s 7.3 (Berkeley) 5/13/91 - * $Id: locore.s,v 1.75.2.1 1996/11/12 09:07:49 phk Exp $ + * $Id: locore.s,v 1.75.2.2 1997/02/01 12:10:54 davidg Exp $ * * originally from: locore.s, by William F. Jolitz * diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 8e14ae1397723..a90581a9559aa 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.209.2.8 1997/01/17 19:28:26 davidg Exp $ + * $Id: machdep.c,v 1.209.2.9 1997/02/14 01:11:30 bde Exp $ */ #include "npx.h" diff --git a/sys/i386/i386/math_emu.h b/sys/i386/i386/math_emu.h index 322f6a5a6e6ff..a0ebc1504703b 100644 --- a/sys/i386/i386/math_emu.h +++ b/sys/i386/i386/math_emu.h @@ -3,7 +3,7 @@ * * (C) 1991 Linus Torvalds * - * $Id: math_emu.h,v 1.2 1993/10/16 14:15:02 rgrimes Exp $ + * $Id: math_emu.h,v 1.3 1995/10/29 15:29:53 phk Exp $ */ #ifndef _LINUX_MATH_EMU_H #define _LINUX_MATH_EMU_H diff --git a/sys/i386/i386/math_emulate.c b/sys/i386/i386/math_emulate.c index 16224abebd381..d62fcfefe2639 100644 --- a/sys/i386/i386/math_emulate.c +++ b/sys/i386/i386/math_emulate.c @@ -6,7 +6,7 @@ * [expediant "port" of linux 8087 emulator to 386BSD, with apologies -wfj] * * from: 386BSD 0.1 - * $Id: math_emulate.c,v 1.17 1995/12/14 20:21:58 bde Exp $ + * $Id: math_emulate.c,v 1.18 1996/09/10 08:31:55 bde Exp $ */ /* diff --git a/sys/i386/i386/mem.c b/sys/i386/i386/mem.c index 497ed8f38163a..f1f337526dbef 100644 --- a/sys/i386/i386/mem.c +++ b/sys/i386/i386/mem.c @@ -38,7 +38,7 @@ * * from: Utah $Hdr: mem.c 1.13 89/10/08$ * from: @(#)mem.c 7.2 (Berkeley) 5/9/91 - * $Id: mem.c,v 1.37 1996/07/15 18:22:07 nate Exp $ + * $Id: mem.c,v 1.38 1996/09/27 13:25:06 peter Exp $ */ /* diff --git a/sys/i386/i386/microtime.s b/sys/i386/i386/microtime.s index 5d77ca419dbeb..0c14c5e7ca3ac 100644 --- a/sys/i386/i386/microtime.s +++ b/sys/i386/i386/microtime.s @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: Steve McCanne's microtime code - * $Id: microtime.s,v 1.17 1996/10/09 19:47:17 bde Exp $ + * $Id: microtime.s,v 1.18 1996/10/25 12:26:19 bde Exp $ */ #include "opt_cpu.h" diff --git a/sys/i386/i386/perfmon.c b/sys/i386/i386/perfmon.c index a7ea72fe84e33..15fcc35a0d1aa 100644 --- a/sys/i386/i386/perfmon.c +++ b/sys/i386/i386/perfmon.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: perfmon.c,v 1.7 1996/08/02 21:15:48 bde Exp $ + * $Id: perfmon.c,v 1.8 1996/10/10 10:18:48 bde Exp $ */ #include "opt_cpu.h" diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index 30f90086d5a70..7a69dcfe54a3c 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 - * $Id: pmap.c,v 1.128.2.3 1996/11/12 09:08:01 phk Exp $ + * $Id: pmap.c,v 1.128.2.4 1997/02/01 12:11:03 davidg Exp $ */ /* diff --git a/sys/i386/i386/procfs_machdep.c b/sys/i386/i386/procfs_machdep.c index 1fb9c820ad01b..c8fa27dbba98e 100644 --- a/sys/i386/i386/procfs_machdep.c +++ b/sys/i386/i386/procfs_machdep.c @@ -37,7 +37,7 @@ * @(#)procfs_machdep.c 8.3 (Berkeley) 1/27/94 * * From: - * $Id: procfs_machdep.c,v 1.5 1995/12/07 12:45:37 davidg Exp $ + * $Id: procfs_machdep.c,v 1.6 1995/12/10 13:36:29 phk Exp $ */ /* diff --git a/sys/i386/i386/support.s b/sys/i386/i386/support.s index a20cfb7fd21fb..98d25f9a4d4c6 100644 --- a/sys/i386/i386/support.s +++ b/sys/i386/i386/support.s @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: support.s,v 1.41.2.6 1997/01/25 03:23:09 dyson Exp $ + * $Id: support.s,v 1.41.2.7 1997/03/05 16:31:51 bde Exp $ */ #include "npx.h" diff --git a/sys/i386/i386/swapgeneric.c b/sys/i386/i386/swapgeneric.c index dab8f073fdc8b..27417118b3b2b 100644 --- a/sys/i386/i386/swapgeneric.c +++ b/sys/i386/i386/swapgeneric.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)swapgeneric.c 5.5 (Berkeley) 5/9/91 - * $Id: swapgeneric.c,v 1.17 1996/10/30 21:40:12 julian Exp $ + * $Id: swapgeneric.c,v 1.17.2.1 1997/01/14 16:54:20 bde Exp $ */ #include <sys/param.h> diff --git a/sys/i386/i386/swtch.s b/sys/i386/i386/swtch.s index 38e30fa8adb08..26925172b6e14 100644 --- a/sys/i386/i386/swtch.s +++ b/sys/i386/i386/swtch.s @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: swtch.s,v 1.40 1996/09/19 08:28:16 phk Exp $ + * $Id: swtch.s,v 1.41 1996/10/16 18:37:58 bde Exp $ */ #include "apm.h" diff --git a/sys/i386/i386/symbols.raw b/sys/i386/i386/symbols.raw index 707c75dd4cbc6..a8b79f65a4103 100644 --- a/sys/i386/i386/symbols.raw +++ b/sys/i386/i386/symbols.raw @@ -1,6 +1,6 @@ # @(#)symbols.raw 7.6 (Berkeley) 5/8/91 # -# $Id: symbols.raw,v 1.5 1995/07/29 10:46:09 bde Exp $ +# $Id: symbols.raw,v 1.6 1996/05/02 14:19:54 phk Exp $ # diff --git a/sys/i386/i386/sys_machdep.c b/sys/i386/i386/sys_machdep.c index a012b634cdeb7..4d3e08e08091b 100644 --- a/sys/i386/i386/sys_machdep.c +++ b/sys/i386/i386/sys_machdep.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)sys_machdep.c 5.5 (Berkeley) 1/19/91 - * $Id: sys_machdep.c,v 1.17 1996/08/12 19:57:10 wollman Exp $ + * $Id: sys_machdep.c,v 1.17.2.1 1996/12/12 16:51:23 jkh Exp $ * */ diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index b5841e037dacd..ab10ae9b5ef62 100644 --- a/sys/i386/i386/trap.c +++ b/sys/i386/i386/trap.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 - * $Id: trap.c,v 1.83.2.1 1996/12/21 18:27:20 bde Exp $ + * $Id: trap.c,v 1.83.2.2 1997/02/13 07:51:53 bde Exp $ */ /* diff --git a/sys/i386/i386/userconfig.c b/sys/i386/i386/userconfig.c index 8d0662ffce673..5d8861ecfc96d 100644 --- a/sys/i386/i386/userconfig.c +++ b/sys/i386/i386/userconfig.c @@ -46,7 +46,7 @@ ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ** - ** $Id$ + ** $Id: userconfig.c,v 1.63.2.17 1997/03/13 22:24:36 joerg Exp $ **/ /** @@ -2358,7 +2358,7 @@ visuserconfig(void) * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: userconfig.c,v 1.63.2.17 1997/03/13 22:24:36 joerg Exp $ */ #include "scbus.h" diff --git a/sys/i386/i386/vm_machdep.c b/sys/i386/i386/vm_machdep.c index 8ffd8746d2017..d46b0e2b92930 100644 --- a/sys/i386/i386/vm_machdep.c +++ b/sys/i386/i386/vm_machdep.c @@ -38,7 +38,7 @@ * * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ - * $Id: vm_machdep.c,v 1.71 1996/10/30 22:38:24 asami Exp $ + * $Id: vm_machdep.c,v 1.71.2.1 1997/01/02 02:21:09 se Exp $ */ #include "npx.h" diff --git a/sys/i386/ibcs2/coff.h b/sys/i386/ibcs2/coff.h index 28e6c7c7a794c..e4634ef95aeff 100644 --- a/sys/i386/ibcs2/coff.h +++ b/sys/i386/ibcs2/coff.h @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: coff.h,v 1.1 1994/10/14 08:53:14 sos Exp $ + * $Id: coff.h,v 1.2 1996/01/30 22:54:02 mpp Exp $ */ #ifndef _COFF_H diff --git a/sys/i386/ibcs2/ibcs2_fcntl.c b/sys/i386/ibcs2/ibcs2_fcntl.c index c638bd008d038..09825af16ddbb 100644 --- a/sys/i386/ibcs2/ibcs2_fcntl.c +++ b/sys/i386/ibcs2/ibcs2_fcntl.c @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_fcntl.c,v 1.3 1995/10/16 05:52:53 swallace Exp $ + * $Id: ibcs2_fcntl.c,v 1.4 1995/11/12 04:42:58 bde Exp $ */ #include <sys/param.h> diff --git a/sys/i386/ibcs2/ibcs2_ipc.c b/sys/i386/ibcs2/ibcs2_ipc.c index d75b907b34ab2..7255ff47e2cae 100644 --- a/sys/i386/ibcs2/ibcs2_ipc.c +++ b/sys/i386/ibcs2/ibcs2_ipc.c @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_ipc.c,v 1.8 1996/12/17 19:52:25 swallace Exp $ + * $Id: ibcs2_ipc.c,v 1.7.2.1 1996/12/24 07:06:35 swallace Exp $ */ #include <sys/param.h> diff --git a/sys/i386/ibcs2/ibcs2_ipc.h b/sys/i386/ibcs2/ibcs2_ipc.h index 1fe2750fb48dc..492b5bc77d3c7 100644 --- a/sys/i386/ibcs2/ibcs2_ipc.h +++ b/sys/i386/ibcs2/ibcs2_ipc.h @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: ibcs2_ipc.h,v 1.1 1995/10/10 07:58:51 swallace Exp $ */ diff --git a/sys/i386/ibcs2/ibcs2_isc.c b/sys/i386/ibcs2/ibcs2_isc.c index ae81a2d951672..c764735dd1ac9 100644 --- a/sys/i386/ibcs2/ibcs2_isc.c +++ b/sys/i386/ibcs2/ibcs2_isc.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_isc.c,v 1.5 1995/10/10 07:58:52 swallace Exp $ + * $Id: ibcs2_isc.c,v 1.6 1995/12/07 12:45:45 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/i386/ibcs2/ibcs2_misc.c b/sys/i386/ibcs2/ibcs2_misc.c index 863f5b0871970..25ec10425ed06 100644 --- a/sys/i386/ibcs2/ibcs2_misc.c +++ b/sys/i386/ibcs2/ibcs2_misc.c @@ -45,7 +45,7 @@ * * @(#)sun_misc.c 8.1 (Berkeley) 6/18/93 * - * $Id: ibcs2_misc.c,v 1.12 1996/12/05 03:14:14 nate Exp $ + * $Id: ibcs2_misc.c,v 1.10.2.1 1996/12/12 19:39:18 jkh Exp $ */ /* diff --git a/sys/i386/ibcs2/ibcs2_msg.c b/sys/i386/ibcs2/ibcs2_msg.c index 3a13a3f4da271..e54636cc0eff6 100644 --- a/sys/i386/ibcs2/ibcs2_msg.c +++ b/sys/i386/ibcs2/ibcs2_msg.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: ibcs2_msg.c,v 1.1 1995/10/10 07:58:56 swallace Exp $ */ /* diff --git a/sys/i386/ibcs2/ibcs2_other.c b/sys/i386/ibcs2/ibcs2_other.c index 1614a0d09fb2e..4d499d97d4bb1 100644 --- a/sys/i386/ibcs2/ibcs2_other.c +++ b/sys/i386/ibcs2/ibcs2_other.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_other.c,v 1.2 1995/10/16 05:52:55 swallace Exp $ + * $Id: ibcs2_other.c,v 1.3 1995/12/07 12:45:46 davidg Exp $ */ /* diff --git a/sys/i386/ibcs2/ibcs2_poll.h b/sys/i386/ibcs2/ibcs2_poll.h index d04fce1bc453b..8b85c6ae4e295 100644 --- a/sys/i386/ibcs2/ibcs2_poll.h +++ b/sys/i386/ibcs2/ibcs2_poll.h @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: ibcs2_poll.h,v 1.1 1995/10/10 07:58:57 swallace Exp $ */ diff --git a/sys/i386/ibcs2/ibcs2_signal.c b/sys/i386/ibcs2/ibcs2_signal.c index 4b55e627f55fa..eb8259b0f72df 100644 --- a/sys/i386/ibcs2/ibcs2_signal.c +++ b/sys/i386/ibcs2/ibcs2_signal.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_signal.c,v 1.7 1996/12/08 02:24:10 swallace Exp $ + * $Id: ibcs2_signal.c,v 1.6.4.1 1996/12/12 19:39:19 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/i386/ibcs2/ibcs2_sysvec.c b/sys/i386/ibcs2/ibcs2_sysvec.c index 22b29b61ecdf9..7468b025acfe5 100644 --- a/sys/i386/ibcs2/ibcs2_sysvec.c +++ b/sys/i386/ibcs2/ibcs2_sysvec.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_sysvec.c,v 1.3 1996/03/27 18:39:40 swallace Exp $ + * $Id: ibcs2_sysvec.c,v 1.4 1996/06/18 05:15:50 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/i386/ibcs2/ibcs2_xenix.c b/sys/i386/ibcs2/ibcs2_xenix.c index 763b2407164b2..abfa86f589bd6 100644 --- a/sys/i386/ibcs2/ibcs2_xenix.c +++ b/sys/i386/ibcs2/ibcs2_xenix.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ibcs2_xenix.c,v 1.6 1995/10/10 07:59:19 swallace Exp $ + * $Id: ibcs2_xenix.c,v 1.7 1996/03/28 19:53:20 swallace Exp $ */ #include <sys/param.h> diff --git a/sys/i386/ibcs2/imgact_coff.c b/sys/i386/ibcs2/imgact_coff.c index 71109551ee404..c214524743e6c 100644 --- a/sys/i386/ibcs2/imgact_coff.c +++ b/sys/i386/ibcs2/imgact_coff.c @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: imgact_coff.c,v 1.16 1996/06/12 05:03:10 gpalmer Exp $ + * $Id: imgact_coff.c,v 1.17 1996/09/03 22:19:11 bde Exp $ */ #include <sys/param.h> diff --git a/sys/i386/ibcs2/syscalls.conf b/sys/i386/ibcs2/syscalls.conf index 4474f6e7ccdee..2413bbd1accb9 100644 --- a/sys/i386/ibcs2/syscalls.conf +++ b/sys/i386/ibcs2/syscalls.conf @@ -1,4 +1,4 @@ -# syscalls.conf $Id$ +# syscalls.conf $Id: syscalls.conf,v 1.2 1995/10/10 07:59:25 swallace Exp $ sysnames="/dev/null" sysproto="ibcs2_proto.h" sysproto_h=_IBCS2_SYSPROTO_H_ diff --git a/sys/i386/ibcs2/syscalls.isc b/sys/i386/ibcs2/syscalls.isc index 149285f830085..4e049f92e1e85 100644 --- a/sys/i386/ibcs2/syscalls.isc +++ b/sys/i386/ibcs2/syscalls.isc @@ -1,4 +1,4 @@ - $Id: syscalls.isc,v 1.1 1995/10/06 15:12:52 swallace Exp $ + $Id: syscalls.isc,v 1.1 1995/10/10 07:59:26 swallace Exp $ #include <sys/types.h> #include <sys/param.h> diff --git a/sys/i386/ibcs2/syscalls.isc.conf b/sys/i386/ibcs2/syscalls.isc.conf index fc52716386c2c..5f5b96ee275e7 100644 --- a/sys/i386/ibcs2/syscalls.isc.conf +++ b/sys/i386/ibcs2/syscalls.isc.conf @@ -1,4 +1,4 @@ -# syscalls.conf $Id$ +# syscalls.conf $Id: syscalls.isc.conf,v 1.1 1995/10/10 07:59:27 swallace Exp $ sysnames="/dev/null" #sysproto="ibcs2_isc.h" sysproto="/dev/null" diff --git a/sys/i386/ibcs2/syscalls.master b/sys/i386/ibcs2/syscalls.master index b291b5ef2491e..24cdcab9b4efb 100644 --- a/sys/i386/ibcs2/syscalls.master +++ b/sys/i386/ibcs2/syscalls.master @@ -1,4 +1,4 @@ - $Id: syscalls.master,v 1.4 1996/01/08 04:13:22 peter Exp $ + $Id: syscalls.master,v 1.5 1996/01/08 05:24:09 peter Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from IBCS2). diff --git a/sys/i386/ibcs2/syscalls.xenix b/sys/i386/ibcs2/syscalls.xenix index 82bed7fac34e4..ff002f90a5489 100644 --- a/sys/i386/ibcs2/syscalls.xenix +++ b/sys/i386/ibcs2/syscalls.xenix @@ -1,4 +1,4 @@ - $Id: syscalls.xenix,v 1.1 1995/10/10 07:59:29 swallace Exp $ + $Id: syscalls.xenix,v 1.2 1996/03/28 19:53:21 swallace Exp $ #include <sys/types.h> #include <sys/param.h> diff --git a/sys/i386/ibcs2/syscalls.xenix.conf b/sys/i386/ibcs2/syscalls.xenix.conf index 742080ec747f5..8076d425d4f1c 100644 --- a/sys/i386/ibcs2/syscalls.xenix.conf +++ b/sys/i386/ibcs2/syscalls.xenix.conf @@ -1,4 +1,4 @@ -# syscalls.conf $Id$ +# syscalls.conf $Id: syscalls.xenix.conf,v 1.1 1995/10/10 07:59:30 swallace Exp $ sysnames="/dev/null" sysproto="ibcs2_xenix.h" sysproto_h=_IBCS2_XENIX_H_ diff --git a/sys/i386/include/ansi.h b/sys/i386/include/ansi.h index f7934ab74c854..2d71f774de2c6 100644 --- a/sys/i386/include/ansi.h +++ b/sys/i386/include/ansi.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ansi.h 8.2 (Berkeley) 1/4/94 - * $Id: ansi.h,v 1.9 1996/04/13 14:25:06 bde Exp $ + * $Id: ansi.h,v 1.10 1996/05/01 00:47:05 bde Exp $ */ #ifndef _MACHINE_ANSI_H_ diff --git a/sys/i386/include/apm_bios.h b/sys/i386/include/apm_bios.h index 50f692b7c3667..455991b68ddb2 100644 --- a/sys/i386/include/apm_bios.h +++ b/sys/i386/include/apm_bios.h @@ -12,7 +12,7 @@ * * Aug, 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: apm_bios.h,v 1.12 1996/09/21 14:57:49 bde Exp $ + * $Id: apm_bios.h,v 1.12.2.1 1997/03/09 16:52:49 kato Exp $ */ #ifndef _MACHINE_APM_BIOS_H_ diff --git a/sys/i386/include/apm_segments.h b/sys/i386/include/apm_segments.h index ff966ccc36afe..7050dea14bd3f 100644 --- a/sys/i386/include/apm_segments.h +++ b/sys/i386/include/apm_segments.h @@ -12,7 +12,7 @@ * * Sep., 1994 Implemented on FreeBSD 1.1.5.1R (Toshiba AVS001WD) * - * $Id: apm_segments.h,v 1.4 1995/05/30 08:00:25 rgrimes Exp $ + * $Id: apm_segments.h,v 1.5 1996/03/11 06:48:57 nate Exp $ */ #ifndef _MACHINE_APM_SEGMENTS_H diff --git a/sys/i386/include/asmacros.h b/sys/i386/include/asmacros.h index 80cd626a0dcb1..3b9eb877e16f9 100644 --- a/sys/i386/include/asmacros.h +++ b/sys/i386/include/asmacros.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: asmacros.h,v 1.9.2.2 1997/02/23 11:02:51 joerg Exp $ + * $Id: asmacros.h,v 1.9.2.3 1997/02/23 15:48:14 joerg Exp $ */ #ifndef _MACHINE_ASMACROS_H_ diff --git a/sys/i386/include/bootinfo.h b/sys/i386/include/bootinfo.h index d0b471f4ee5af..919b6b205be23 100644 --- a/sys/i386/include/bootinfo.h +++ b/sys/i386/include/bootinfo.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: bootinfo.h,v 1.4 1995/01/25 21:40:32 bde Exp $ + * $Id: bootinfo.h,v 1.5 1995/05/30 08:00:26 rgrimes Exp $ */ #ifndef _MACHINE_BOOTINFO_H_ diff --git a/sys/i386/include/cdk.h b/sys/i386/include/cdk.h index f49aa32cf16c8..909e1b5a01890 100644 --- a/sys/i386/include/cdk.h +++ b/sys/i386/include/cdk.h @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: cdk.h,v 1.2 1996/05/04 08:42:13 peter Exp $ */ /*****************************************************************************/ diff --git a/sys/i386/include/clock.h b/sys/i386/include/clock.h index 755167b0cd19d..d737e2435e0c5 100644 --- a/sys/i386/include/clock.h +++ b/sys/i386/include/clock.h @@ -3,7 +3,7 @@ * Garrett Wollman, September 1994. * This file is in the public domain. * - * $Id: clock.h,v 1.21 1996/10/30 22:38:34 asami Exp $ + * $Id: clock.h,v 1.21.2.1 1997/01/18 16:16:41 kato Exp $ */ #ifndef _MACHINE_CLOCK_H_ diff --git a/sys/i386/include/comstats.h b/sys/i386/include/comstats.h index f332eebcfb19c..676d0dc659644 100644 --- a/sys/i386/include/comstats.h +++ b/sys/i386/include/comstats.h @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: comstats.h,v 1.2 1996/05/04 08:42:14 peter Exp $ */ /*****************************************************************************/ diff --git a/sys/i386/include/cons.h b/sys/i386/include/cons.h index faa17d12332c7..4ae03493d093f 100644 --- a/sys/i386/include/cons.h +++ b/sys/i386/include/cons.h @@ -3,6 +3,6 @@ * needs to access these functions. In the mean time, just include the * header where it sits. * - * $Id$ + * $Id: cons.h,v 1.2 1994/08/02 07:38:41 davidg Exp $ */ #include <i386/i386/cons.h> diff --git a/sys/i386/include/console.h b/sys/i386/include/console.h index 3f1830b600c46..4a80fe78f55f9 100644 --- a/sys/i386/include/console.h +++ b/sys/i386/include/console.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: console.h,v 1.25.2.1 1996/11/19 17:25:20 nate Exp $ + * $Id: console.h,v 1.25.2.2 1996/12/04 16:11:18 phk Exp $ */ #ifndef _MACHINE_CONSOLE_H_ diff --git a/sys/i386/include/cpu.h b/sys/i386/include/cpu.h index f0cab479126b3..8ffb2625c2391 100644 --- a/sys/i386/include/cpu.h +++ b/sys/i386/include/cpu.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)cpu.h 5.4 (Berkeley) 5/9/91 - * $Id: cpu.h,v 1.25 1996/06/25 20:02:10 bde Exp $ + * $Id: cpu.h,v 1.25.2.1 1997/02/02 10:51:24 kato Exp $ */ #ifndef _MACHINE_CPU_H_ diff --git a/sys/i386/include/cpufunc.h b/sys/i386/include/cpufunc.h index 81df81cf6f7c8..24243c84b2e8a 100644 --- a/sys/i386/include/cpufunc.h +++ b/sys/i386/include/cpufunc.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cpufunc.h,v 1.58 1996/09/28 22:37:57 dyson Exp $ + * $Id: cpufunc.h,v 1.59 1996/09/29 18:35:07 bde Exp $ */ /* diff --git a/sys/i386/include/cputypes.h b/sys/i386/include/cputypes.h index 7be09ac82bbe5..7fcb5473b4437 100644 --- a/sys/i386/include/cputypes.h +++ b/sys/i386/include/cputypes.h @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: cputypes.h,v 1.4 1995/12/24 08:10:50 davidg Exp $ + * $Id: cputypes.h,v 1.5 1996/01/30 22:54:21 mpp Exp $ */ #ifndef _MACHINE_CPUTYPES_H_ diff --git a/sys/i386/include/db_machdep.h b/sys/i386/include/db_machdep.h index ff2ec44e24dd8..aa23f07ebdaf1 100644 --- a/sys/i386/include/db_machdep.h +++ b/sys/i386/include/db_machdep.h @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie Mellon * the rights to redistribute these changes. * - * $Id: db_machdep.h,v 1.9 1995/12/03 10:40:16 bde Exp $ + * $Id: db_machdep.h,v 1.9.4.1 1997/02/13 07:13:19 bde Exp $ */ #ifndef _MACHINE_DB_MACHDEP_H_ diff --git a/sys/i386/include/endian.h b/sys/i386/include/endian.h index 85ee0570b754b..9949cce64d81d 100644 --- a/sys/i386/include/endian.h +++ b/sys/i386/include/endian.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)endian.h 7.8 (Berkeley) 4/3/91 - * $Id: endian.h,v 1.6 1995/02/12 08:31:31 jkh Exp $ + * $Id: endian.h,v 1.7 1996/10/21 17:15:05 nate Exp $ */ #ifndef _MACHINE_ENDIAN_H_ diff --git a/sys/i386/include/exec.h b/sys/i386/include/exec.h index c08283f7384a6..65241472837fe 100644 --- a/sys/i386/include/exec.h +++ b/sys/i386/include/exec.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)exec.h 8.1 (Berkeley) 6/11/93 - * $Id: exec.h,v 1.4 1994/08/09 14:39:56 jkh Exp $ + * $Id: exec.h,v 1.5 1994/09/24 21:36:38 davidg Exp $ */ #ifndef _EXEC_H_ diff --git a/sys/i386/include/float.h b/sys/i386/include/float.h index fb5967e6eadcb..3024ca2b3dd3d 100644 --- a/sys/i386/include/float.h +++ b/sys/i386/include/float.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)float.h 7.1 (Berkeley) 5/8/90 - * $Id: float.h,v 1.4 1993/10/16 14:39:16 rgrimes Exp $ + * $Id: float.h,v 1.5 1993/11/07 17:42:53 wollman Exp $ */ #ifndef _MACHINE_FLOAT_H_ diff --git a/sys/i386/include/floatingpoint.h b/sys/i386/include/floatingpoint.h index 69cb204c835cd..65d4df8d095d1 100644 --- a/sys/i386/include/floatingpoint.h +++ b/sys/i386/include/floatingpoint.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#) floatingpoint.h 1.0 (Berkeley) 9/23/93 - * $Id: floatingpoint.h,v 1.5 1994/08/04 19:16:36 wollman Exp $ + * $Id: floatingpoint.h,v 1.6 1994/09/20 22:26:37 bde Exp $ */ #ifndef _FLOATINGPOINT_H_ diff --git a/sys/i386/include/frame.h b/sys/i386/include/frame.h index bb584a12c48b2..05c381334f278 100644 --- a/sys/i386/include/frame.h +++ b/sys/i386/include/frame.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)frame.h 5.2 (Berkeley) 1/18/91 - * $Id: frame.h,v 1.11 1995/12/14 08:21:33 phk Exp $ + * $Id: frame.h,v 1.12 1996/01/30 22:54:27 mpp Exp $ */ #ifndef _MACHINE_FRAME_H_ diff --git a/sys/i386/include/ieeefp.h b/sys/i386/include/ieeefp.h index 943bb062db09c..903e5f3a0a0f7 100644 --- a/sys/i386/include/ieeefp.h +++ b/sys/i386/include/ieeefp.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93 - * $Id: ieeefp.h,v 1.2 1994/08/05 14:36:04 wollman Exp $ + * $Id: ieeefp.h,v 1.3 1996/01/30 22:54:31 mpp Exp $ */ /* diff --git a/sys/i386/include/in_cksum.h b/sys/i386/include/in_cksum.h index 929a588bd0813..7bf0e66465ce8 100644 --- a/sys/i386/include/in_cksum.h +++ b/sys/i386/include/in_cksum.h @@ -33,7 +33,7 @@ * from tahoe: in_cksum.c 1.2 86/01/05 * from: @(#)in_cksum.c 1.3 (Berkeley) 1/19/91 * from: Id: in_cksum.c,v 1.8 1995/12/03 18:35:19 bde Exp - * $Id: in_cksum.h,v 1.1 1996/04/18 15:39:27 wollman Exp $ + * $Id: in_cksum.h,v 1.2 1996/05/23 20:11:48 wollman Exp $ */ #ifndef _MACHINE_IN_CKSUM_H_ diff --git a/sys/i386/include/ioctl_ctx.h b/sys/i386/include/ioctl_ctx.h index bf76f570ac68e..323457f29dac6 100644 --- a/sys/i386/include/ioctl_ctx.h +++ b/sys/i386/include/ioctl_ctx.h @@ -7,7 +7,7 @@ * of this software, nor does the author assume any responsibility * for damages incurred with its use * - * $Id: ioctl_ctx.h,v 1.2 1995/05/30 08:00:40 rgrimes Exp $ + * $Id: ioctl_ctx.h,v 1.3 1996/09/21 14:58:01 bde Exp $ */ /* diff --git a/sys/i386/include/ioctl_fd.h b/sys/i386/include/ioctl_fd.h index 1f6b6d57b3228..f45561735d3ce 100644 --- a/sys/i386/include/ioctl_fd.h +++ b/sys/i386/include/ioctl_fd.h @@ -24,7 +24,7 @@ * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. * - * $Id: ioctl_fd.h,v 1.8 1996/01/30 22:54:34 mpp Exp $ + * $Id: ioctl_fd.h,v 1.9 1996/09/21 14:58:03 bde Exp $ */ #ifndef _MACHINE_IOCTL_FD_H_ diff --git a/sys/i386/include/ipl.h b/sys/i386/include/ipl.h index 773fa9c700c67..f60f2e765c1af 100644 --- a/sys/i386/include/ipl.h +++ b/sys/i386/include/ipl.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: ipl.h,v 1.2 1994/08/02 07:38:49 davidg Exp $ */ #ifndef _ISA_IPL_H_ diff --git a/sys/i386/include/limits.h b/sys/i386/include/limits.h index c71216f7afff1..85dff93060bb4 100644 --- a/sys/i386/include/limits.h +++ b/sys/i386/include/limits.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)limits.h 8.3 (Berkeley) 1/4/94 - * $Id: limits.h,v 1.8 1994/08/02 07:38:50 davidg Exp $ + * $Id: limits.h,v 1.9 1995/02/03 21:49:18 bde Exp $ */ #ifndef _MACHINE_LIMITS_H_ diff --git a/sys/i386/include/lpt.h b/sys/i386/include/lpt.h index 14ea3d325534e..dec213d4710a5 100644 --- a/sys/i386/include/lpt.h +++ b/sys/i386/include/lpt.h @@ -11,7 +11,7 @@ * * Geoff Rehmet, Rhodes University, South Africa <csgr@cs.ru.ac.za> * - * $Id: lpt.h,v 1.3 1995/05/30 08:00:41 rgrimes Exp $ + * $Id: lpt.h,v 1.4 1996/09/21 14:58:11 bde Exp $ */ #ifndef _MACHINE_LPT_H_ diff --git a/sys/i386/include/md_var.h b/sys/i386/include/md_var.h index c8752e339e6e0..4847cc00457a0 100644 --- a/sys/i386/include/md_var.h +++ b/sys/i386/include/md_var.h @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: md_var.h,v 1.9 1996/07/01 18:12:24 bde Exp $ + * $Id: md_var.h,v 1.10 1996/10/31 00:57:27 julian Exp $ */ #ifndef _MACHINE_MD_VAR_H_ diff --git a/sys/i386/include/mouse.h b/sys/i386/include/mouse.h index 3e68d45eafe7d..8bed86af390f6 100644 --- a/sys/i386/include/mouse.h +++ b/sys/i386/include/mouse.h @@ -19,7 +19,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: mouse.h,v 1.1.12.1 1996/11/19 17:25:21 nate Exp $ + * $Id: mouse.h,v 1.1.12.2 1996/12/03 10:44:48 phk Exp $ */ #ifndef _MACHINE_MOUSE_H_ diff --git a/sys/i386/include/mtpr.h b/sys/i386/include/mtpr.h index e8347e677541c..e56ef7f854006 100644 --- a/sys/i386/include/mtpr.h +++ b/sys/i386/include/mtpr.h @@ -1,4 +1,4 @@ /* * Unused in 386BSD port - * $Id$ + * $Id: mtpr.h,v 1.2 1993/10/16 14:39:21 rgrimes Exp $ */ diff --git a/sys/i386/include/npx.h b/sys/i386/include/npx.h index 6664614fe3174..eacf16277d85d 100644 --- a/sys/i386/include/npx.h +++ b/sys/i386/include/npx.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)npx.h 5.3 (Berkeley) 1/18/91 - * $Id: npx.h,v 1.9 1995/09/19 18:54:53 bde Exp $ + * $Id: npx.h,v 1.10 1995/11/04 17:06:54 bde Exp $ */ /* diff --git a/sys/i386/include/param.h b/sys/i386/include/param.h index db91e1293fb17..232724a5a7927 100644 --- a/sys/i386/include/param.h +++ b/sys/i386/include/param.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)param.h 5.8 (Berkeley) 6/28/91 - * $Id: param.h,v 1.22 1996/05/03 21:01:18 phk Exp $ + * $Id: param.h,v 1.23 1996/10/06 19:24:02 bde Exp $ */ #ifndef _MACHINE_PARAM_H_ diff --git a/sys/i386/include/pc/display.h b/sys/i386/include/pc/display.h index 9e64a3f13307c..31a203cc852da 100644 --- a/sys/i386/include/pc/display.h +++ b/sys/i386/include/pc/display.h @@ -1,7 +1,7 @@ /* * IBM PC display definitions * - * $Id$ + * $Id: display.h,v 1.2 1993/10/16 14:40:55 rgrimes Exp $ */ /* Color attributes for foreground text */ diff --git a/sys/i386/include/pc/msdos.h b/sys/i386/include/pc/msdos.h index ea221c7954a50..63c6c3f724b9f 100644 --- a/sys/i386/include/pc/msdos.h +++ b/sys/i386/include/pc/msdos.h @@ -3,7 +3,7 @@ * [obtained from mtools -wfj] * how to decipher DOS disk structures in coexisting with DOS * - * $Id$ + * $Id: msdos.h,v 1.2 1993/10/16 14:40:57 rgrimes Exp $ */ #define MSECTOR_SIZE 512 /* MSDOS sector size in bytes */ diff --git a/sys/i386/include/pcaudioio.h b/sys/i386/include/pcaudioio.h index c580fd42f979f..2abfd966aa8ee 100644 --- a/sys/i386/include/pcaudioio.h +++ b/sys/i386/include/pcaudioio.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pcaudioio.h,v 1.6 1996/07/17 20:18:42 joerg Exp $ + * $Id: pcaudioio.h,v 1.7 1996/09/21 14:58:13 bde Exp $ */ #ifndef _MACHINE_PCAUDIOIO_H_ diff --git a/sys/i386/include/pcb.h b/sys/i386/include/pcb.h index 4cbcc534d671a..4253e9f89db78 100644 --- a/sys/i386/include/pcb.h +++ b/sys/i386/include/pcb.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 - * $Id: pcb.h,v 1.15 1996/05/01 03:47:04 bde Exp $ + * $Id: pcb.h,v 1.16 1996/07/31 12:35:36 bde Exp $ */ #ifndef _I386_PCB_H_ diff --git a/sys/i386/include/perfmon.h b/sys/i386/include/perfmon.h index 8e5023c5409b1..b0dbcff4fbd84 100644 --- a/sys/i386/include/perfmon.h +++ b/sys/i386/include/perfmon.h @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: perfmon.h,v 1.1 1996/03/26 19:57:56 wollman Exp $ + * $Id: perfmon.h,v 1.2 1996/09/21 14:58:18 bde Exp $ */ /* diff --git a/sys/i386/include/pmap.h b/sys/i386/include/pmap.h index 1d1f8e78f28a1..ab4d72d0bea8b 100644 --- a/sys/i386/include/pmap.h +++ b/sys/i386/include/pmap.h @@ -42,7 +42,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $Id: pmap.h,v 1.44 1996/10/12 20:36:04 bde Exp $ + * $Id: pmap.h,v 1.46 1996/10/13 03:14:57 dyson Exp $ */ #ifndef _MACHINE_PMAP_H_ diff --git a/sys/i386/include/proc.h b/sys/i386/include/proc.h index 77b66664a3739..8f7431b78c997 100644 --- a/sys/i386/include/proc.h +++ b/sys/i386/include/proc.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)proc.h 7.1 (Berkeley) 5/15/91 - * $Id: proc.h,v 1.4 1994/05/25 08:56:29 rgrimes Exp $ + * $Id: proc.h,v 1.5 1996/04/10 05:26:26 nate Exp $ */ #ifndef _MACHINE_PROC_H_ diff --git a/sys/i386/include/profile.h b/sys/i386/include/profile.h index 3f965c5944464..01087ed2809bb 100644 --- a/sys/i386/include/profile.h +++ b/sys/i386/include/profile.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $Id: profile.h,v 1.8 1996/10/17 19:31:59 bde Exp $ + * $Id: profile.h,v 1.8.2.1 1997/02/27 17:24:46 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ diff --git a/sys/i386/include/psl.h b/sys/i386/include/psl.h index 4c412c4786b23..dbe859dddd204 100644 --- a/sys/i386/include/psl.h +++ b/sys/i386/include/psl.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)psl.h 5.2 (Berkeley) 1/18/91 - * $Id: psl.h,v 1.6 1995/01/14 13:20:25 bde Exp $ + * $Id: psl.h,v 1.7 1996/01/30 22:54:50 mpp Exp $ */ #ifndef _MACHINE_PSL_H_ diff --git a/sys/i386/include/ptrace.h b/sys/i386/include/ptrace.h index f77fba257c572..c5852e12401a4 100644 --- a/sys/i386/include/ptrace.h +++ b/sys/i386/include/ptrace.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ptrace.h 8.1 (Berkeley) 6/11/93 - * $Id: ptrace.h,v 1.2 1994/08/02 07:38:57 davidg Exp $ + * $Id: ptrace.h,v 1.3 1996/01/24 18:51:48 peter Exp $ */ #ifndef _MACHINE_PTRACE_H_ diff --git a/sys/i386/include/random.h b/sys/i386/include/random.h index 05768c2fdf80d..2bf91b49fa7de 100644 --- a/sys/i386/include/random.h +++ b/sys/i386/include/random.h @@ -1,7 +1,7 @@ /* * random.h -- A strong random number generator * - * $Id: random.h,v 1.8 1996/09/21 14:58:20 bde Exp $ + * $Id: random.h,v 1.9 1996/09/27 13:29:41 peter Exp $ * * Version 0.95, last modified 18-Oct-95 * diff --git a/sys/i386/include/reg.h b/sys/i386/include/reg.h index ce988e4d6060f..2e914b5c30ec0 100644 --- a/sys/i386/include/reg.h +++ b/sys/i386/include/reg.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)reg.h 5.5 (Berkeley) 1/18/91 - * $Id: reg.h,v 1.10 1995/01/14 10:41:41 bde Exp $ + * $Id: reg.h,v 1.11 1996/01/30 22:54:56 mpp Exp $ */ #ifndef _MACHINE_REG_H_ diff --git a/sys/i386/include/reloc.h b/sys/i386/include/reloc.h index 7f9cfad64a27d..be61d3e4bb093 100644 --- a/sys/i386/include/reloc.h +++ b/sys/i386/include/reloc.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)reloc.h 8.1 (Berkeley) 6/10/93 - * $Id: reloc.h,v 1.3 1994/08/09 14:39:57 jkh Exp $ + * $Id: reloc.h,v 1.4 1994/08/21 04:55:30 paul Exp $ */ #ifndef _I386_MACHINE_RELOC_H_ diff --git a/sys/i386/include/segments.h b/sys/i386/include/segments.h index 69bdc772468f8..c4767f9665fa8 100644 --- a/sys/i386/include/segments.h +++ b/sys/i386/include/segments.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)segments.h 7.1 (Berkeley) 5/9/91 - * $Id: segments.h,v 1.10 1996/01/30 22:54:59 mpp Exp $ + * $Id: segments.h,v 1.11 1996/09/27 13:33:49 peter Exp $ */ #ifndef _MACHINE_SEGMENTS_H_ diff --git a/sys/i386/include/si.h b/sys/i386/include/si.h index 31530bf057d64..bc02927c15aa7 100644 --- a/sys/i386/include/si.h +++ b/sys/i386/include/si.h @@ -30,7 +30,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN * NO EVENT SHALL THE AUTHORS BE LIABLE. * - * $Id: si.h,v 1.5 1995/11/09 21:53:48 peter Exp $ + * $Id: si.h,v 1.6 1995/11/28 02:07:31 peter Exp $ */ /* diff --git a/sys/i386/include/signal.h b/sys/i386/include/signal.h index 628a236dd21da..9e8d6380ff46b 100644 --- a/sys/i386/include/signal.h +++ b/sys/i386/include/signal.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)signal.h 8.1 (Berkeley) 6/11/93 - * $Id: signal.h,v 1.4 1994/08/21 04:55:30 paul Exp $ + * $Id: signal.h,v 1.5 1995/06/28 02:14:13 bde Exp $ */ #ifndef _MACHINE_SIGNAL_H_ diff --git a/sys/i386/include/speaker.h b/sys/i386/include/speaker.h index 7a233c712a0c5..cc5dc403143fc 100644 --- a/sys/i386/include/speaker.h +++ b/sys/i386/include/speaker.h @@ -4,7 +4,7 @@ * v1.4 by Eric S. Raymond (esr@snark.thyrsus.com) Aug 1993 * modified for FreeBSD by Andrew A. Chernov <ache@astral.msk.su> * - * $Id: speaker.h,v 1.2 1994/08/02 07:39:05 davidg Exp $ + * $Id: speaker.h,v 1.3 1996/09/21 14:58:26 bde Exp $ */ #ifndef _MACHINE_SPEAKER_H_ diff --git a/sys/i386/include/specialreg.h b/sys/i386/include/specialreg.h index 25e5e6352ecfd..90247a68a1453 100644 --- a/sys/i386/include/specialreg.h +++ b/sys/i386/include/specialreg.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91 - * $Id: specialreg.h,v 1.9 1996/06/03 19:37:38 sos Exp $ + * $Id: specialreg.h,v 1.9.2.1 1996/11/12 09:08:21 phk Exp $ */ #ifndef _MACHINE_SPECIALREG_H_ diff --git a/sys/i386/include/spl.h b/sys/i386/include/spl.h index 59f2104e59b17..8ed45a3436b41 100644 --- a/sys/i386/include/spl.h +++ b/sys/i386/include/spl.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: spl.h,v 1.14 1996/05/18 03:36:42 dyson Exp $ + * $Id: spl.h,v 1.15 1996/07/01 20:16:10 bde Exp $ */ #ifndef _MACHINE_IPL_H_ diff --git a/sys/i386/include/stdarg.h b/sys/i386/include/stdarg.h index 0fce3ee8f4331..3eb6000c856fa 100644 --- a/sys/i386/include/stdarg.h +++ b/sys/i386/include/stdarg.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)stdarg.h 8.1 (Berkeley) 6/10/93 - * $Id: stdarg.h,v 1.5 1994/08/02 07:39:09 davidg Exp $ + * $Id: stdarg.h,v 1.6 1995/01/24 16:22:52 ache Exp $ */ #ifndef _STDARG_H_ diff --git a/sys/i386/include/sysarch.h b/sys/i386/include/sysarch.h index 746cef1011fe4..4414a66eb779e 100644 --- a/sys/i386/include/sysarch.h +++ b/sys/i386/include/sysarch.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: sysarch.h,v 1.4 1994/08/02 07:39:11 davidg Exp $ */ /* diff --git a/sys/i386/include/trap.h b/sys/i386/include/trap.h index 3d0dfbfb4c866..205b9ea8b8fbb 100644 --- a/sys/i386/include/trap.h +++ b/sys/i386/include/trap.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)trap.h 5.4 (Berkeley) 5/9/91 - * $Id: trap.h,v 1.4 1995/01/14 13:20:26 bde Exp $ + * $Id: trap.h,v 1.5 1996/08/11 17:29:39 davidg Exp $ */ #ifndef _MACHINE_TRAP_H_ diff --git a/sys/i386/include/tss.h b/sys/i386/include/tss.h index 7c39ffd273b0c..8419e2129fb64 100644 --- a/sys/i386/include/tss.h +++ b/sys/i386/include/tss.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)tss.h 5.4 (Berkeley) 1/18/91 - * $Id: tss.h,v 1.5 1995/05/30 08:00:57 rgrimes Exp $ + * $Id: tss.h,v 1.6 1996/01/30 22:55:07 mpp Exp $ */ #ifndef _MACHINE_TSS_H_ diff --git a/sys/i386/include/types.h b/sys/i386/include/types.h index 7b0d80033b537..ba7c9cef45ee7 100644 --- a/sys/i386/include/types.h +++ b/sys/i386/include/types.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)types.h 8.3 (Berkeley) 1/5/94 - * $Id: types.h,v 1.6 1996/03/11 02:23:56 hsu Exp $ + * $Id: types.h,v 1.7 1996/10/06 19:13:37 bde Exp $ */ #ifndef _MACHINE_TYPES_H_ diff --git a/sys/i386/include/varargs.h b/sys/i386/include/varargs.h index 90f37547a84e3..cf871ef3c3ce9 100644 --- a/sys/i386/include/varargs.h +++ b/sys/i386/include/varargs.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)varargs.h 8.2 (Berkeley) 3/22/94 - * $Id: varargs.h,v 1.2 1994/08/02 07:39:17 davidg Exp $ + * $Id: varargs.h,v 1.2.12.1 1997/02/28 07:21:04 bde Exp $ */ #ifndef _VARARGS_H_ diff --git a/sys/i386/include/vmparam.h b/sys/i386/include/vmparam.h index d26b1c6d43ab3..ce929d9ca5cdc 100644 --- a/sys/i386/include/vmparam.h +++ b/sys/i386/include/vmparam.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)vmparam.h 5.9 (Berkeley) 5/12/91 - * $Id: vmparam.h,v 1.21 1996/05/02 14:20:07 phk Exp $ + * $Id: vmparam.h,v 1.21.2.1 1997/03/25 04:54:02 dyson Exp $ */ diff --git a/sys/i386/include/wtio.h b/sys/i386/include/wtio.h index 868e34774b8a6..5b4aa7be6d0ac 100644 --- a/sys/i386/include/wtio.h +++ b/sys/i386/include/wtio.h @@ -19,7 +19,7 @@ * This driver is derived from the old 386bsd Wangtek streamer tape driver, * made by Robert Baron at CMU, based on Intel sources. * - * $Id$ + * $Id: wtio.h,v 1.1 1996/02/22 00:31:35 joerg Exp $ * */ diff --git a/sys/i386/isa/README.le b/sys/i386/isa/README.le index 32dcc280c77cd..9144f495ae448 100644 --- a/sys/i386/isa/README.le +++ b/sys/i386/isa/README.le @@ -1,4 +1,4 @@ -$Id: README.le,v 1.1 1994/10/01 20:15:43 wollman Exp $ +$Id: README.le,v 1.2 1994/11/13 21:19:18 nate Exp $ ---------------- diff --git a/sys/i386/isa/aha1542.c b/sys/i386/isa/aha1542.c index 2b5fff42f1ee4..8d5fa3a7d1b87 100644 --- a/sys/i386/isa/aha1542.c +++ b/sys/i386/isa/aha1542.c @@ -12,7 +12,7 @@ * on the understanding that TFS is not responsible for the correct * functioning of this software in any circumstances. * - * $Id: aha1542.c,v 1.63 1996/10/08 21:08:14 bde Exp $ + * $Id: aha1542.c,v 1.63.2.1 1997/01/10 09:08:46 phk Exp $ */ /* diff --git a/sys/i386/isa/aic6360.c b/sys/i386/isa/aic6360.c index 46129e75ae7ab..c66a93367733a 100644 --- a/sys/i386/isa/aic6360.c +++ b/sys/i386/isa/aic6360.c @@ -31,7 +31,7 @@ */ /* - * $Id: aic6360.c,v 1.23 1996/10/15 19:22:04 bde Exp $ + * $Id: aic6360.c,v 1.24 1996/10/30 22:38:39 asami Exp $ * * Acknowledgements: Many of the algorithms used in this driver are * inspired by the work of Julian Elischer (julian@tfs.com) and diff --git a/sys/i386/isa/asc.c b/sys/i386/isa/asc.c index 6ad738d767922..a46260f1557c4 100644 --- a/sys/i386/isa/asc.c +++ b/sys/i386/isa/asc.c @@ -34,7 +34,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* - * $Id: asc.c,v 1.21 1996/09/06 23:07:09 phk Exp $ + * $Id: asc.c,v 1.21.2.1 1996/12/30 21:18:32 joerg Exp $ */ #include "asc.h" diff --git a/sys/i386/isa/ascreg.h b/sys/i386/isa/ascreg.h index a1a7393de651a..092a2d2fa1da1 100644 --- a/sys/i386/isa/ascreg.h +++ b/sys/i386/isa/ascreg.h @@ -31,7 +31,7 @@ */ /* - * $Id:$ + * $Id: ascreg.h,v 1.2 1995/09/08 18:30:34 julian Exp $ */ /*** Registers (base=3EB): ************/ diff --git a/sys/i386/isa/bt5xx-445.c b/sys/i386/isa/bt5xx-445.c index a530a7ad28bf3..421eb62729e4d 100644 --- a/sys/i386/isa/bt5xx-445.c +++ b/sys/i386/isa/bt5xx-445.c @@ -12,7 +12,7 @@ * on the understanding that TFS is not responsible for the correct * functioning of this software in any circumstances. * - * $Id: bt5xx-445.c,v 1.3 1996/03/31 03:06:20 gibbs Exp $ + * $Id: bt5xx-445.c,v 1.4 1996/09/06 23:07:13 phk Exp $ */ /* diff --git a/sys/i386/isa/clock.c b/sys/i386/isa/clock.c index 76ab7783344d6..8894b4c75c7a9 100644 --- a/sys/i386/isa/clock.c +++ b/sys/i386/isa/clock.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)clock.c 7.2 (Berkeley) 5/12/91 - * $Id: clock.c,v 1.72.2.2 1997/02/28 17:26:10 bde Exp $ + * $Id: clock.c,v 1.72.2.3 1997/03/05 08:19:02 bde Exp $ */ /* diff --git a/sys/i386/isa/ctx.c b/sys/i386/isa/ctx.c index 20b9d82241616..7cac3667420cc 100644 --- a/sys/i386/isa/ctx.c +++ b/sys/i386/isa/ctx.c @@ -8,7 +8,7 @@ * of this software, nor does the author assume any responsibility * for damages incurred with its use. * - * $Id: ctx.c,v 1.20 1996/09/06 23:07:14 phk Exp $ + * $Id: ctx.c,v 1.20.2.1 1996/11/12 09:08:27 phk Exp $ */ /* diff --git a/sys/i386/isa/ctxreg.h b/sys/i386/isa/ctxreg.h index 043bb15426562..e6acbab14230d 100644 --- a/sys/i386/isa/ctxreg.h +++ b/sys/i386/isa/ctxreg.h @@ -7,7 +7,7 @@ * of this software, nor does the author assume any responsibility * for damages incurred with its use * - * $Id: ctxreg.h,v 1.1 1994/10/01 17:59:42 davidg Exp $ + * $Id: ctxreg.h,v 1.2 1995/05/30 08:01:28 rgrimes Exp $ */ /* diff --git a/sys/i386/isa/cy.c b/sys/i386/isa/cy.c index d4f6cbffdd05f..80f0425c32b26 100644 --- a/sys/i386/isa/cy.c +++ b/sys/i386/isa/cy.c @@ -27,7 +27,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: cy.c,v 1.41.2.1 1996/11/16 21:31:33 phk Exp $ + * $Id: cy.c,v 1.41.2.2 1996/12/14 14:32:59 joerg Exp $ */ #include "cy.h" diff --git a/sys/i386/isa/cyreg.h b/sys/i386/isa/cyreg.h index 7f3c0150d722b..09be8a90a04e8 100644 --- a/sys/i386/isa/cyreg.h +++ b/sys/i386/isa/cyreg.h @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cyreg.h,v 1.2 1996/10/04 10:33:13 davidg Exp $ + * $Id: cyreg.h,v 1.3 1996/10/13 01:09:17 davidg Exp $ */ /* diff --git a/sys/i386/isa/diskslice_machdep.c b/sys/i386/isa/diskslice_machdep.c index 509b05aac0a07..1bbbe760f2e96 100644 --- a/sys/i386/isa/diskslice_machdep.c +++ b/sys/i386/isa/diskslice_machdep.c @@ -35,7 +35,7 @@ * * from: @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91 * from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $ - * $Id: diskslice_machdep.c,v 1.21 1996/09/20 17:39:11 bde Exp $ + * $Id: diskslice_machdep.c,v 1.21.2.1 1996/11/06 10:33:24 phk Exp $ */ #include <stddef.h> diff --git a/sys/i386/isa/elink.c b/sys/i386/isa/elink.c index 07b2516b93281..712b7748e3581 100644 --- a/sys/i386/isa/elink.c +++ b/sys/i386/isa/elink.c @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: elink.c,v 1.4 1995/02/26 05:14:46 bde Exp $ + * $Id: elink.c,v 1.5 1995/05/30 08:01:36 rgrimes Exp $ */ /* diff --git a/sys/i386/isa/elink.h b/sys/i386/isa/elink.h index 05a5f7923a89b..ff1cd20c4d20b 100644 --- a/sys/i386/isa/elink.h +++ b/sys/i386/isa/elink.h @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: elink.h,v 1.1 1994/08/24 22:32:42 ats Exp $ + * $Id: elink.h,v 1.1.12.1 1997/01/04 19:04:57 kato Exp $ */ #ifdef PC98 diff --git a/sys/i386/isa/fd.c b/sys/i386/isa/fd.c index 138f1a0abafa0..204ce79a4067b 100644 --- a/sys/i386/isa/fd.c +++ b/sys/i386/isa/fd.c @@ -43,7 +43,7 @@ * SUCH DAMAGE. * * from: @(#)fd.c 7.4 (Berkeley) 5/25/91 - * $Id: fd.c,v 1.92.2.2 1996/11/12 09:08:30 phk Exp $ + * $Id: fd.c,v 1.92.2.3 1996/12/21 18:33:43 bde Exp $ * */ diff --git a/sys/i386/isa/fdc.h b/sys/i386/isa/fdc.h index c0a99b8697dc4..b763b1c4a7289 100644 --- a/sys/i386/isa/fdc.h +++ b/sys/i386/isa/fdc.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)fd.c 7.4 (Berkeley) 5/25/91 - * $Id: fdc.h,v 1.5 1995/01/06 15:19:41 joerg Exp $ + * $Id: fdc.h,v 1.6 1996/05/03 14:57:22 phk Exp $ * */ diff --git a/sys/i386/isa/fdreg.h b/sys/i386/isa/fdreg.h index aef83574199a8..133abf2cf681c 100644 --- a/sys/i386/isa/fdreg.h +++ b/sys/i386/isa/fdreg.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)fdreg.h 7.1 (Berkeley) 5/9/91 - * $Id: fdreg.h,v 1.7 1994/09/25 18:42:23 joerg Exp $ + * $Id: fdreg.h,v 1.8 1994/09/25 23:37:38 phk Exp $ */ /* diff --git a/sys/i386/isa/ft.c b/sys/i386/isa/ft.c index f9fec7f365793..122f87ee6225f 100644 --- a/sys/i386/isa/ft.c +++ b/sys/i386/isa/ft.c @@ -17,7 +17,7 @@ * POSSIBILITY OF SUCH DAMAGE. * * ft.c - QIC-40/80 floppy tape driver - * $Id: ft.c,v 1.27.2.1 1996/11/28 21:57:17 phk Exp $ + * $Id: ft.c,v 1.27.2.2 1997/01/09 12:51:33 phk Exp $ * * 01/19/95 ++sg * Cleaned up recalibrate/seek code at attach time for FreeBSD 2.x. diff --git a/sys/i386/isa/ic/cd1400.h b/sys/i386/isa/ic/cd1400.h index ffebd9ab5a8d7..4ed6ea669d1c6 100644 --- a/sys/i386/isa/ic/cd1400.h +++ b/sys/i386/isa/ic/cd1400.h @@ -27,7 +27,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: $ + * $Id: cd1400.h,v 1.2 1995/07/05 12:15:40 bde Exp $ */ /* diff --git a/sys/i386/isa/ic/esp.h b/sys/i386/isa/ic/esp.h index 6621e6503917c..fbe531b2df255 100644 --- a/sys/i386/isa/ic/esp.h +++ b/sys/i386/isa/ic/esp.h @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: esp.h,v 1.1 1995/12/29 13:18:58 bde Exp $ */ #ifndef _IC_ESP_H_ diff --git a/sys/i386/isa/ic/hd64570.h b/sys/i386/isa/ic/hd64570.h index 583a8c923998f..d496aabc9301b 100644 --- a/sys/i386/isa/ic/hd64570.h +++ b/sys/i386/isa/ic/hd64570.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: hd64570.h,v 1.2 1996/03/17 00:29:35 peter Exp $ + * $Id: hd64570.h,v 1.3 1996/10/28 19:35:37 jhay Exp $ */ #ifndef _HD64570_H_ #define _HD64570_H_ diff --git a/sys/i386/isa/ic/i8042.h b/sys/i386/isa/ic/i8042.h index 84ee90f08e625..b69cd2846e9d9 100644 --- a/sys/i386/isa/ic/i8042.h +++ b/sys/i386/isa/ic/i8042.h @@ -1,5 +1,5 @@ /* - * $Id$ + * $Id: i8042.h,v 1.2 1993/10/16 13:48:47 rgrimes Exp $ */ #define KBSTATP 0x64 /* kbd controller status port (I) */ diff --git a/sys/i386/isa/ic/i8237.h b/sys/i386/isa/ic/i8237.h index 5493ca8eb44ee..e14959bce62e1 100644 --- a/sys/i386/isa/ic/i8237.h +++ b/sys/i386/isa/ic/i8237.h @@ -1,7 +1,7 @@ /* * Intel 8237 DMA Controller * - * $Id: i8237.h,v 1.3 1994/11/01 17:26:47 ache Exp $ + * $Id: i8237.h,v 1.4 1995/05/30 08:03:34 rgrimes Exp $ */ #define DMA37MD_SINGLE 0x40 /* single pass mode */ diff --git a/sys/i386/isa/ic/i82586.h b/sys/i386/isa/ic/i82586.h index 612a669befa2d..4c15eb8e4342b 100644 --- a/sys/i386/isa/ic/i82586.h +++ b/sys/i386/isa/ic/i82586.h @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: i82586.h,v 1.2 1995/10/31 18:41:47 phk Exp $ + * $Id: i82586.h,v 1.3 1995/11/18 08:12:30 bde Exp $ */ /* diff --git a/sys/i386/isa/ic/lemac.h b/sys/i386/isa/ic/lemac.h index 4eee86f6aa622..cb79b6244a010 100644 --- a/sys/i386/isa/ic/lemac.h +++ b/sys/i386/isa/ic/lemac.h @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: lemac.h,v 1.1 1994/08/12 06:51:12 davidg Exp $ + * $Id: lemac.h,v 1.2 1995/05/30 08:03:36 rgrimes Exp $ */ #ifndef _LEMAC_H_ #define _LEMAC_H_ diff --git a/sys/i386/isa/ic/nec765.h b/sys/i386/isa/ic/nec765.h index 810e825bd66ec..5cf1e73feeee6 100644 --- a/sys/i386/isa/ic/nec765.h +++ b/sys/i386/isa/ic/nec765.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)nec765.h 7.1 (Berkeley) 5/9/91 - * $Id: nec765.h,v 1.3 1994/09/17 16:56:10 davidg Exp $ + * $Id: nec765.h,v 1.4 1995/01/06 15:20:00 joerg Exp $ */ /* diff --git a/sys/i386/isa/ic/ns16450.h b/sys/i386/isa/ic/ns16450.h index 637ee573bfd25..e1554461cd118 100644 --- a/sys/i386/isa/ic/ns16450.h +++ b/sys/i386/isa/ic/ns16450.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)ns16450.h 7.1 (Berkeley) 5/9/91 - * $Id: ns16450.h,v 1.2 1993/10/16 13:48:51 rgrimes Exp $ + * $Id: ns16450.h,v 1.3 1995/12/10 13:40:33 phk Exp $ */ /* diff --git a/sys/i386/isa/ic/ns16550.h b/sys/i386/isa/ic/ns16550.h index dae85bcaf583e..b4873fb53d4ec 100644 --- a/sys/i386/isa/ic/ns16550.h +++ b/sys/i386/isa/ic/ns16550.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)ns16550.h 7.1 (Berkeley) 5/9/91 - * $Id: ns16550.h,v 1.2 1993/10/16 13:48:52 rgrimes Exp $ + * $Id: ns16550.h,v 1.3 1996/09/12 11:08:21 asami Exp $ */ /* diff --git a/sys/i386/isa/ic/scd1400.h b/sys/i386/isa/ic/scd1400.h index c651a3014ad79..632fc6b6abe1f 100644 --- a/sys/i386/isa/ic/scd1400.h +++ b/sys/i386/isa/ic/scd1400.h @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: scd1400.h,v 1.2 1996/05/04 08:53:27 peter Exp $ */ /*****************************************************************************/ diff --git a/sys/i386/isa/icu.h b/sys/i386/isa/icu.h index 3b3dcdf22d9dd..cced44a9aeab2 100644 --- a/sys/i386/isa/icu.h +++ b/sys/i386/isa/icu.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)icu.h 5.6 (Berkeley) 5/9/91 - * $Id: icu.h,v 1.7 1994/10/01 02:56:11 davidg Exp $ + * $Id: icu.h,v 1.8 1996/09/07 02:11:46 asami Exp $ */ /* diff --git a/sys/i386/isa/icu.s b/sys/i386/isa/icu.s index d0f165b3922ab..e54a24a21781c 100644 --- a/sys/i386/isa/icu.s +++ b/sys/i386/isa/icu.s @@ -36,7 +36,7 @@ * * @(#)icu.s 7.2 (Berkeley) 5/21/91 * - * $Id: icu.s,v 1.26 1996/10/30 22:38:46 asami Exp $ + * $Id: icu.s,v 1.26.2.1 1996/12/29 22:06:49 bde Exp $ */ /* diff --git a/sys/i386/isa/if_ar.c b/sys/i386/isa/if_ar.c index b5c87ad478d79..3a16645dff678 100644 --- a/sys/i386/isa/if_ar.c +++ b/sys/i386/isa/if_ar.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_ar.c,v 1.11 1996/10/28 19:40:01 jhay Exp $ + * $Id: if_ar.c,v 1.12 1996/10/31 20:22:39 jhay Exp $ */ /* diff --git a/sys/i386/isa/if_arregs.h b/sys/i386/isa/if_arregs.h index d64c11ec02765..fa56897a2ac82 100644 --- a/sys/i386/isa/if_arregs.h +++ b/sys/i386/isa/if_arregs.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_arregs.h,v 1.1.1.1 1995/11/21 02:32:04 peter Exp $ + * $Id: if_arregs.h,v 1.2 1996/03/17 00:29:33 peter Exp $ */ #ifndef _IF_ARREGS_H_ #define _IF_ARREGS_H_ diff --git a/sys/i386/isa/if_ed.c b/sys/i386/isa/if_ed.c index 1910f9c899ec2..fb51781e67821 100644 --- a/sys/i386/isa/if_ed.c +++ b/sys/i386/isa/if_ed.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_ed.c,v 1.107.2.1 1996/11/16 21:31:38 phk Exp $ + * $Id: if_ed.c,v 1.107.2.2 1996/12/04 16:11:32 phk Exp $ */ /* diff --git a/sys/i386/isa/if_edreg.h b/sys/i386/isa/if_edreg.h index db7db18376c3d..cf73d382f9940 100644 --- a/sys/i386/isa/if_edreg.h +++ b/sys/i386/isa/if_edreg.h @@ -6,7 +6,7 @@ * of this software, nor does the author assume any responsibility * for damages incurred with its use. * - * $Id: if_edreg.h,v 1.20 1996/01/30 22:55:38 mpp Exp $ + * $Id: if_edreg.h,v 1.21 1996/08/07 11:18:23 davidg Exp $ */ /* * National Semiconductor DS8390 NIC register definitions diff --git a/sys/i386/isa/if_eg.c b/sys/i386/isa/if_eg.c index f0475e78d8681..8f713393360f9 100644 --- a/sys/i386/isa/if_eg.c +++ b/sys/i386/isa/if_eg.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_eg.c,v 1.18 1996/09/06 23:07:31 phk Exp $ + * $Id: if_eg.c,v 1.19 1996/10/30 08:50:26 phk Exp $ * * Support for 3Com 3c505 Etherlink+ card. */ diff --git a/sys/i386/isa/if_el.c b/sys/i386/isa/if_el.c index afa08ae4bf2b1..1bf7450708e7a 100644 --- a/sys/i386/isa/if_el.c +++ b/sys/i386/isa/if_el.c @@ -6,7 +6,7 @@ * * Questions, comments, bug reports and fixes to kimmel@cs.umass.edu. * - * $Id: if_el.c,v 1.25 1996/08/06 21:14:04 phk Exp $ + * $Id: if_el.c,v 1.26 1996/09/06 23:07:32 phk Exp $ */ /* Except of course for the portions of code lifted from other FreeBSD * drivers (mainly elread, elget and el_ioctl) diff --git a/sys/i386/isa/if_elreg.h b/sys/i386/isa/if_elreg.h index c8aea658bf305..f69366445216a 100644 --- a/sys/i386/isa/if_elreg.h +++ b/sys/i386/isa/if_elreg.h @@ -4,7 +4,7 @@ * of the software, derivative works or modified versions, and any * portions thereof. * - * $Id: if_elreg.h,v 1.3 1996/01/30 22:55:41 mpp Exp $ + * $Id: if_elreg.h,v 1.4 1996/08/06 21:14:05 phk Exp $ */ /* 3COM Etherlink 3C501 Register Definitions */ diff --git a/sys/i386/isa/if_ep.c b/sys/i386/isa/if_ep.c index 9ad87952e5cac..8a4b2940e9b79 100644 --- a/sys/i386/isa/if_ep.c +++ b/sys/i386/isa/if_ep.c @@ -38,7 +38,7 @@ */ /* - * $Id: if_ep.c,v 1.53 1996/09/06 23:07:33 phk Exp $ + * $Id: if_ep.c,v 1.53.2.1 1997/01/04 19:04:58 kato Exp $ * * Promiscuous mode added and interrupt logic slightly changed * to reduce the number of adapter failures. Transceiver select diff --git a/sys/i386/isa/if_epreg.h b/sys/i386/isa/if_epreg.h index 1bef6154eac7f..c76ead713a769 100644 --- a/sys/i386/isa/if_epreg.h +++ b/sys/i386/isa/if_epreg.h @@ -31,7 +31,7 @@ */ /* - * $Id: if_epreg.h,v 1.17 1996/09/08 10:44:10 phk Exp $ + * $Id: if_epreg.h,v 1.17.2.1 1996/11/12 09:08:33 phk Exp $ * * Promiscuous mode added and interrupt logic slightly changed * to reduce the number of adapter failures. Transceiver select diff --git a/sys/i386/isa/if_ex.c b/sys/i386/isa/if_ex.c index 762d7f85c6072..762d7f85c6072 100644..100755 --- a/sys/i386/isa/if_ex.c +++ b/sys/i386/isa/if_ex.c diff --git a/sys/i386/isa/if_exreg.h b/sys/i386/isa/if_exreg.h index 63b843f83902f..63b843f83902f 100644..100755 --- a/sys/i386/isa/if_exreg.h +++ b/sys/i386/isa/if_exreg.h diff --git a/sys/i386/isa/if_fe.c b/sys/i386/isa/if_fe.c index 8b42d08a54c4a..812b63e2b9f50 100644 --- a/sys/i386/isa/if_fe.c +++ b/sys/i386/isa/if_fe.c @@ -21,7 +21,7 @@ */ /* - * $Id: if_fe.c,v 1.20.2.1 1996/11/16 21:34:19 phk Exp $ + * $Id: if_fe.c,v 1.20.2.2 1997/02/02 18:52:09 joerg Exp $ * * Device driver for Fujitsu MB86960A/MB86965A based Ethernet cards. * To be used with FreeBSD 2.x diff --git a/sys/i386/isa/if_fereg.h b/sys/i386/isa/if_fereg.h index f652611f4ff11..2c3fe0ffd8e08 100644 --- a/sys/i386/isa/if_fereg.h +++ b/sys/i386/isa/if_fereg.h @@ -24,7 +24,7 @@ * SUCH DAMAGE. */ -/* $Id:$ */ +/* $Id: if_fereg.h,v 1.3 1996/03/17 08:36:38 jkh Exp $ */ /* * Registers on FMV-180 series' ISA bus interface ASIC. diff --git a/sys/i386/isa/if_ie.c b/sys/i386/isa/if_ie.c index 4c8cf8decf005..0fb85a487bc24 100644 --- a/sys/i386/isa/if_ie.c +++ b/sys/i386/isa/if_ie.c @@ -43,7 +43,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_ie.c,v 1.35 1996/06/25 20:30:13 bde Exp $ + * $Id: if_ie.c,v 1.36 1996/09/06 23:07:36 phk Exp $ */ /* diff --git a/sys/i386/isa/if_ie507.h b/sys/i386/isa/if_ie507.h index 4bf87fcbb5974..2a9eabf8d98e4 100644 --- a/sys/i386/isa/if_ie507.h +++ b/sys/i386/isa/if_ie507.h @@ -1,5 +1,5 @@ /* - * $Id: if_ie507.h,v 1.1 1994/05/25 20:06:49 ats Exp $ + * $Id: if_ie507.h,v 1.1 1994/08/24 22:32:44 ats Exp $ * Definitions for 3C507 */ diff --git a/sys/i386/isa/if_iereg.h b/sys/i386/isa/if_iereg.h index 3588b84140580..e3e2bd2f33c2f 100644 --- a/sys/i386/isa/if_iereg.h +++ b/sys/i386/isa/if_iereg.h @@ -1,5 +1,5 @@ /* - * $Id$ + * $Id: if_iereg.h,v 1.1 1993/10/12 06:52:34 rgrimes Exp $ * definitions for AT&T StarLAN 10 etc... */ diff --git a/sys/i386/isa/if_ix.c b/sys/i386/isa/if_ix.c index 720a6714dd00b..b996c3d2fd646 100644 --- a/sys/i386/isa/if_ix.c +++ b/sys/i386/isa/if_ix.c @@ -28,7 +28,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_ix.c,v 1.22 1996/08/06 21:14:08 phk Exp $ + * $Id: if_ix.c,v 1.23 1996/09/06 23:07:38 phk Exp $ */ #include "ix.h" diff --git a/sys/i386/isa/if_ixreg.h b/sys/i386/isa/if_ixreg.h index 6b54d56958e89..75cab94e80b69 100644 --- a/sys/i386/isa/if_ixreg.h +++ b/sys/i386/isa/if_ixreg.h @@ -28,7 +28,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_ixreg.h,v 1.8 1996/08/06 21:14:09 phk Exp $ + * $Id: if_ixreg.h,v 1.9 1996/09/06 23:07:39 phk Exp $ */ /* diff --git a/sys/i386/isa/if_le.c b/sys/i386/isa/if_le.c index ccad397d907ca..1f2bfdfec4a2b 100644 --- a/sys/i386/isa/if_le.c +++ b/sys/i386/isa/if_le.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_le.c,v 1.33 1996/06/18 01:22:23 bde Exp $ + * $Id: if_le.c,v 1.34 1996/09/06 23:07:40 phk Exp $ */ /* diff --git a/sys/i386/isa/if_sr.c b/sys/i386/isa/if_sr.c index f41d76079e5f3..04f6f7f5b55e9 100644 --- a/sys/i386/isa/if_sr.c +++ b/sys/i386/isa/if_sr.c @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_sr.c,v 1.3 1996/10/29 03:52:51 jhay Exp $ + * $Id: if_sr.c,v 1.4 1996/10/31 20:22:40 jhay Exp $ */ /* diff --git a/sys/i386/isa/if_srregs.h b/sys/i386/isa/if_srregs.h index 4278899b4c4e7..b3852925bd0da 100644 --- a/sys/i386/isa/if_srregs.h +++ b/sys/i386/isa/if_srregs.h @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_srregs.h,v 1.1 1996/07/05 18:49:22 jhay Exp $ + * $Id: if_srregs.h,v 1.2 1996/10/29 03:52:53 jhay Exp $ */ #ifndef _IF_SRREGS_H_ #define _IF_SRREGS_H_ diff --git a/sys/i386/isa/if_ze.c b/sys/i386/isa/if_ze.c index d6722097621dd..4f47fe13b4645 100644 --- a/sys/i386/isa/if_ze.c +++ b/sys/i386/isa/if_ze.c @@ -47,7 +47,7 @@ */ /* - * $Id: if_ze.c,v 1.33.2.3 1996/12/23 18:42:36 nate Exp $ + * $Id: if_ze.c,v 1.33.2.4 1997/02/13 22:46:41 bde Exp $ */ /* XXX - Don't mix different PCCARD support code */ diff --git a/sys/i386/isa/if_zp.c b/sys/i386/isa/if_zp.c index 78a3f5b978cad..06b9d5cd0e1a1 100644 --- a/sys/i386/isa/if_zp.c +++ b/sys/i386/isa/if_zp.c @@ -34,7 +34,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * From: if_ep.c,v 1.9 1994/01/25 10:46:29 deraadt Exp $ - * $Id: if_zp.c,v 1.26.2.4 1996/12/23 18:42:38 nate Exp $ + * $Id: if_zp.c,v 1.26.2.5 1997/02/13 22:46:43 bde Exp $ */ /*- * TODO: diff --git a/sys/i386/isa/if_zpreg.h b/sys/i386/isa/if_zpreg.h index 72aa73679996f..6b9797bce9be0 100644 --- a/sys/i386/isa/if_zpreg.h +++ b/sys/i386/isa/if_zpreg.h @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_zpreg.h,v 1.3 1996/01/30 22:55:55 mpp Exp $ + * $Id: if_zpreg.h,v 1.4 1996/08/06 21:14:13 phk Exp $ */ /************************************************************************** * * diff --git a/sys/i386/isa/isa.c b/sys/i386/isa/isa.c index 3f635c72eef91..9e67ae7a35775 100644 --- a/sys/i386/isa/isa.c +++ b/sys/i386/isa/isa.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)isa.c 7.2 (Berkeley) 5/13/91 - * $Id: isa.c,v 1.74 1996/10/08 21:08:18 bde Exp $ + * $Id: isa.c,v 1.74.2.1 1997/02/13 07:20:42 bde Exp $ */ /* diff --git a/sys/i386/isa/isa.h b/sys/i386/isa/isa.h index 11beca4a37103..a21de9ffe4e44 100644 --- a/sys/i386/isa/isa.h +++ b/sys/i386/isa/isa.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)isa.h 5.7 (Berkeley) 5/9/91 - * $Id: isa.h,v 1.18 1996/01/30 22:55:57 mpp Exp $ + * $Id: isa.h,v 1.19 1996/06/14 11:01:18 asami Exp $ */ #ifdef PC98 diff --git a/sys/i386/isa/isa_device.h b/sys/i386/isa/isa_device.h index 4b3f7f9d83d3d..1f2753f13b162 100644 --- a/sys/i386/isa/isa_device.h +++ b/sys/i386/isa/isa_device.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)isa_device.h 7.1 (Berkeley) 5/9/91 - * $Id: isa_device.h,v 1.32 1996/09/08 10:44:12 phk Exp $ + * $Id: isa_device.h,v 1.33 1996/09/10 23:30:51 bde Exp $ */ #ifndef _I386_ISA_ISA_DEVICE_H_ diff --git a/sys/i386/isa/istallion.c b/sys/i386/isa/istallion.c index 8063ec8a0265b..ab5f40cfa2ae0 100644 --- a/sys/i386/isa/istallion.c +++ b/sys/i386/isa/istallion.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: istallion.c,v 1.5 1996/08/31 14:47:42 bde Exp $ + * $Id: istallion.c,v 1.6 1996/09/06 23:07:46 phk Exp $ */ /*****************************************************************************/ diff --git a/sys/i386/isa/kbdio.c b/sys/i386/isa/kbdio.c index 69fde0e980299..6b918c87d0232 100644 --- a/sys/i386/isa/kbdio.c +++ b/sys/i386/isa/kbdio.c @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kbdio.c,v 1.1.2.5 1997/02/07 11:02:44 yokota Exp $ + * $Id: kbdio.c,v 1.1.2.6 1997/03/09 06:32:23 yokota Exp $ */ #include "sc.h" diff --git a/sys/i386/isa/kbdio.h b/sys/i386/isa/kbdio.h index f15dd681b63aa..8010ee2962bb5 100644 --- a/sys/i386/isa/kbdio.h +++ b/sys/i386/isa/kbdio.h @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kbdio.h,v 1.1.2.3 1997/01/15 12:03:41 sos Exp $ + * $Id: kbdio.h,v 1.1.2.4 1997/03/09 06:32:24 yokota Exp $ */ #ifndef _I386_ISA_KBDIO_H_ diff --git a/sys/i386/isa/kbdtables.h b/sys/i386/isa/kbdtables.h index 9f69ee4328ac2..06bc5662e1d2a 100644 --- a/sys/i386/isa/kbdtables.h +++ b/sys/i386/isa/kbdtables.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: kbdtables.h,v 1.31 1996/01/25 16:37:20 ache Exp $ + * $Id: kbdtables.h,v 1.32 1996/10/30 22:38:49 asami Exp $ */ #define SET8 0x80 /* set eight bit on */ diff --git a/sys/i386/isa/lpt.c b/sys/i386/isa/lpt.c index e7ecd85b43d81..e294e88e7e3a2 100644 --- a/sys/i386/isa/lpt.c +++ b/sys/i386/isa/lpt.c @@ -46,7 +46,7 @@ * SUCH DAMAGE. * * from: unknown origin, 386BSD 0.1 - * $Id: lpt.c,v 1.55 1996/09/06 23:07:49 phk Exp $ + * $Id: lpt.c,v 1.55.2.1 1996/11/12 09:08:38 phk Exp $ */ /* diff --git a/sys/i386/isa/lptreg.h b/sys/i386/isa/lptreg.h index 981b1df178d8a..6e183c1bba7ed 100644 --- a/sys/i386/isa/lptreg.h +++ b/sys/i386/isa/lptreg.h @@ -6,7 +6,7 @@ * William Jolitz. * * form: @(#)lptreg.h 1.1 (Berkeley) 12/19/90 - * $Id: lptreg.h,v 1.2.16.1 1996/11/09 21:08:45 phk Exp $ + * $Id: lptreg.h,v 1.2.16.2 1997/01/17 14:56:45 kato Exp $ */ /* diff --git a/sys/i386/isa/matcd/matcd.c b/sys/i386/isa/matcd/matcd.c index b71914cd654fe..aca53a6b8fc59 100644 --- a/sys/i386/isa/matcd/matcd.c +++ b/sys/i386/isa/matcd/matcd.c @@ -337,7 +337,7 @@ static char MATCDVERSION[]="Version 1(26) 18-Oct-95"; static char MATCDCOPYRIGHT[] = "Matsushita CD-ROM driver, Copr. 1994,1995 Frank Durda IV"; /* The proceeding strings may not be changed*/ -/* $Id: matcd.c,v 1.19 1996/07/23 21:51:56 phk Exp $ */ +/* $Id: matcd.c,v 1.20 1996/09/06 23:08:29 phk Exp $ */ /*--------------------------------------------------------------------------- Include declarations diff --git a/sys/i386/isa/mcd.c b/sys/i386/isa/mcd.c index dcb1abc2e0690..26aa049141b3a 100644 --- a/sys/i386/isa/mcd.c +++ b/sys/i386/isa/mcd.c @@ -40,7 +40,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: mcd.c,v 1.82 1996/07/23 21:51:36 phk Exp $ + * $Id: mcd.c,v 1.83 1996/09/06 23:07:50 phk Exp $ */ static const char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore"; diff --git a/sys/i386/isa/mcdreg.h b/sys/i386/isa/mcdreg.h index 146159a7cc244..a7ee58bad9926 100644 --- a/sys/i386/isa/mcdreg.h +++ b/sys/i386/isa/mcdreg.h @@ -41,7 +41,7 @@ * the manufacturer or anyone else might provide better documentation, * so this file (and the driver) will then have a better quality. * - * $Id: mcdreg.h,v 1.10 1996/02/01 17:19:46 ache Exp $ + * $Id: mcdreg.h,v 1.11 1996/02/02 20:50:04 ache Exp $ */ #ifndef MCD_H diff --git a/sys/i386/isa/mse.c b/sys/i386/isa/mse.c index e00037fa87d3a..f7657a092fd70 100644 --- a/sys/i386/isa/mse.c +++ b/sys/i386/isa/mse.c @@ -11,7 +11,7 @@ * this software for any purpose. It is provided "as is" * without express or implied warranty. * - * $Id$ + * $Id: mse.c,v 1.28.2.1 1996/12/19 18:34:49 joerg Exp $ */ /* * Driver for the Logitech and ATI Inport Bus mice for use with 386bsd and diff --git a/sys/i386/isa/npx.c b/sys/i386/isa/npx.c index f4e7c0a181dc3..10dcc21920cbb 100644 --- a/sys/i386/isa/npx.c +++ b/sys/i386/isa/npx.c @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: @(#)npx.c 7.2 (Berkeley) 5/12/91 - * $Id: npx.c,v 1.31.2.5 1997/01/29 13:47:29 bde Exp $ + * $Id: npx.c,v 1.31.2.6 1997/02/13 06:59:51 bde Exp $ */ #include "npx.h" diff --git a/sys/i386/isa/pcaudio.c b/sys/i386/isa/pcaudio.c index e15bc0ec8e380..7901fac3195b3 100644 --- a/sys/i386/isa/pcaudio.c +++ b/sys/i386/isa/pcaudio.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pcaudio.c,v 1.31 1996/09/13 06:29:21 bde Exp $ + * $Id: pcaudio.c,v 1.32 1996/10/25 16:09:31 bde Exp $ */ #include "pca.h" diff --git a/sys/i386/isa/pcibus.c b/sys/i386/isa/pcibus.c index 903214c44304c..a957e615581fb 100644 --- a/sys/i386/isa/pcibus.c +++ b/sys/i386/isa/pcibus.c @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: pcibus.c,v 1.26 1996/06/18 01:22:28 bde Exp $ +** $Id: pcibus.c,v 1.27 1996/10/30 22:38:55 asami Exp $ ** ** pci bus subroutines for i386 architecture. ** diff --git a/sys/i386/isa/prof_machdep.c b/sys/i386/isa/prof_machdep.c index a8603cb7968d3..ceadea40226b8 100644 --- a/sys/i386/isa/prof_machdep.c +++ b/sys/i386/isa/prof_machdep.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: prof_machdep.c,v 1.3 1996/10/17 19:32:10 bde Exp $ + * $Id: prof_machdep.c,v 1.4 1996/10/30 22:38:58 asami Exp $ */ #ifdef GUPROF diff --git a/sys/i386/isa/psm.c b/sys/i386/isa/psm.c index 41a8785992d29..d72d5e40e370b 100644 --- a/sys/i386/isa/psm.c +++ b/sys/i386/isa/psm.c @@ -19,7 +19,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: psm.c,v 1.25.2.6 1997/01/30 11:42:02 yokota Exp $ + * $Id: psm.c,v 1.25.2.7 1997/03/09 06:32:25 yokota Exp $ */ /* diff --git a/sys/i386/isa/random_machdep.c b/sys/i386/isa/random_machdep.c index 7a13baf84d25d..355a57fde38b6 100644 --- a/sys/i386/isa/random_machdep.c +++ b/sys/i386/isa/random_machdep.c @@ -1,7 +1,7 @@ /* * random_machdep.c -- A strong random number generator * - * $Id: random_machdep.c,v 1.12 1996/10/09 19:47:32 bde Exp $ + * $Id: random_machdep.c,v 1.13 1996/10/30 22:39:01 asami Exp $ * * Version 0.95, last modified 18-Oct-95 * diff --git a/sys/i386/isa/rtc.h b/sys/i386/isa/rtc.h index 5e144fcee7988..e9de3bd7e2f80 100644 --- a/sys/i386/isa/rtc.h +++ b/sys/i386/isa/rtc.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)rtc.h 7.1 (Berkeley) 5/12/91 - * $Id: rtc.h,v 1.7 1994/12/04 20:22:20 joerg Exp $ + * $Id: rtc.h,v 1.8 1995/10/09 15:00:39 joerg Exp $ */ #ifndef _I386_ISA_RTC_H_ diff --git a/sys/i386/isa/scd.c b/sys/i386/isa/scd.c index f08439d03de55..705c4fa0513e8 100644 --- a/sys/i386/isa/scd.c +++ b/sys/i386/isa/scd.c @@ -41,7 +41,7 @@ */ -/* $Id: scd.c,v 1.24 1996/07/23 21:51:39 phk Exp $ */ +/* $Id: scd.c,v 1.25 1996/09/06 23:07:59 phk Exp $ */ /* Please send any comments to micke@dynas.se */ diff --git a/sys/i386/isa/scdreg.h b/sys/i386/isa/scdreg.h index 176f002cf5470..689dda7d110fc 100644 --- a/sys/i386/isa/scdreg.h +++ b/sys/i386/isa/scdreg.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: scdreg.h,v 1.1 1995/03/24 18:33:02 jkh Exp $ + * $Id: scdreg.h,v 1.2 1996/01/30 22:56:09 mpp Exp $ * */ diff --git a/sys/i386/isa/seagate.c b/sys/i386/isa/seagate.c index b8e31492c98a2..3329d4d2317c4 100644 --- a/sys/i386/isa/seagate.c +++ b/sys/i386/isa/seagate.c @@ -60,7 +60,7 @@ * that category, with the possible exception of scanners and * some of the older MO drives. * - * $Id: seagate.c,v 1.17 1996/03/10 07:04:47 gibbs Exp $ + * $Id: seagate.c,v 1.18 1996/09/06 23:08:02 phk Exp $ */ /* diff --git a/sys/i386/isa/si.c b/sys/i386/isa/si.c index 81d8026130e1d..40f205f5e6c4a 100644 --- a/sys/i386/isa/si.c +++ b/sys/i386/isa/si.c @@ -30,7 +30,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN * NO EVENT SHALL THE AUTHORS BE LIABLE. * - * $Id: si.c,v 1.52 1996/09/06 23:08:03 phk Exp $ + * $Id: si.c,v 1.53 1996/09/27 13:50:59 peter Exp $ */ #ifndef lint diff --git a/sys/i386/isa/si_code.c b/sys/i386/isa/si_code.c index 8a48531866d55..7c0b665221afc 100644 --- a/sys/i386/isa/si_code.c +++ b/sys/i386/isa/si_code.c @@ -30,7 +30,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN * NO EVENT SHALL THE AUTHORS BE LIABLE. * - * $Id: si_code.c,v 1.1 1995/08/10 08:10:57 peter Exp $ + * $Id: si_code.c,v 1.2 1996/05/05 17:55:54 peter Exp $ */ /* diff --git a/sys/i386/isa/sio.c b/sys/i386/isa/sio.c index a05f946b7ea46..974806f42d95f 100644 --- a/sys/i386/isa/sio.c +++ b/sys/i386/isa/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.147.2.6 1997/01/29 21:41:02 bde Exp $ + * $Id: sio.c,v 1.147.2.7 1997/02/01 16:19:05 bde Exp $ */ #include "opt_comconsole.h" diff --git a/sys/i386/isa/sioreg.h b/sys/i386/isa/sioreg.h index 486ac54c51e0c..f6f5d367d52aa 100644 --- a/sys/i386/isa/sioreg.h +++ b/sys/i386/isa/sioreg.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)comreg.h 7.2 (Berkeley) 5/9/91 - * $Id: sioreg.h,v 1.4 1995/12/10 13:39:15 phk Exp $ + * $Id: sioreg.h,v 1.4.4.1 1996/11/06 10:08:33 phk Exp $ */ diff --git a/sys/i386/isa/sireg.h b/sys/i386/isa/sireg.h index e2c990657d75b..ccb7b5532d29f 100644 --- a/sys/i386/isa/sireg.h +++ b/sys/i386/isa/sireg.h @@ -30,7 +30,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN * NO EVENT SHALL THE AUTHORS BE LIABLE. * - * $Id: sireg.h,v 1.1 1995/08/09 13:13:47 peter Exp $ + * $Id: sireg.h,v 1.2 1995/11/28 02:07:36 peter Exp $ */ /* diff --git a/sys/i386/isa/sound/pcm86.c b/sys/i386/isa/sound/pcm86.c index aa7e3d77ef21e..f6719204fd812 100644 --- a/sys/i386/isa/sound/pcm86.c +++ b/sys/i386/isa/sound/pcm86.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pcm86.c,v 2.4 1996/01/24 19:53:34 abtk Exp $ + * $Id: pcm86.c,v 1.1 1996/11/02 10:37:39 asami Exp $ */ /* diff --git a/sys/i386/isa/sound/sound.doc b/sys/i386/isa/sound/sound.doc index 1ca9fcff1d424..002bb26702d54 100644 --- a/sys/i386/isa/sound/sound.doc +++ b/sys/i386/isa/sound/sound.doc @@ -1,4 +1,4 @@ -$Id: sound.doc,v 1.5 1996/04/11 06:23:18 scrappy Exp $ +$Id: sound.doc,v 1.6 1996/04/11 15:34:22 smpatel Exp $ Instructions on using audio on a FreeBSD 2.1 (or 2.0-current) system. See also /sys/i386/conf/LINT. diff --git a/sys/i386/isa/sound/soundcard.c b/sys/i386/isa/sound/soundcard.c index 66529f1abde22..c9546610d3028 100644 --- a/sys/i386/isa/sound/soundcard.c +++ b/sys/i386/isa/sound/soundcard.c @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: soundcard.c,v 1.43.2.1 1996/11/09 21:09:58 phk Exp $ + * $Id: soundcard.c,v 1.43.2.2 1996/11/16 21:17:02 phk Exp $ */ #include <i386/isa/sound/sound_config.h> diff --git a/sys/i386/isa/spkr.c b/sys/i386/isa/spkr.c index 232daf22248fb..1c5e5c841306b 100644 --- a/sys/i386/isa/spkr.c +++ b/sys/i386/isa/spkr.c @@ -4,7 +4,7 @@ * v1.4 by Eric S. Raymond (esr@snark.thyrsus.com) Aug 1993 * modified for FreeBSD by Andrew A. Chernov <ache@astral.msk.su> * - * $Id: spkr.c,v 1.26 1996/08/24 03:24:39 peter Exp $ + * $Id: spkr.c,v 1.27 1996/10/25 14:00:47 bde Exp $ */ #include "speaker.h" diff --git a/sys/i386/isa/stallion.c b/sys/i386/isa/stallion.c index c417de3fef7f2..bbdfa54a153fd 100644 --- a/sys/i386/isa/stallion.c +++ b/sys/i386/isa/stallion.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: stallion.c,v 1.3 1996/06/12 04:26:36 gpalmer Exp $ + * $Id: stallion.c,v 1.4 1996/09/06 23:08:08 phk Exp $ */ /*****************************************************************************/ diff --git a/sys/i386/isa/syscons.c b/sys/i386/isa/syscons.c index a48d40b447433..41305454d82bc 100644 --- a/sys/i386/isa/syscons.c +++ b/sys/i386/isa/syscons.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.c,v 1.182.2.14 1997/03/02 14:34:06 joerg Exp $ + * $Id: syscons.c,v 1.182.2.15 1997/03/09 06:32:28 yokota Exp $ */ #include "sc.h" diff --git a/sys/i386/isa/syscons.h b/sys/i386/isa/syscons.h index 140387353f81e..544f17c02b10a 100644 --- a/sys/i386/isa/syscons.h +++ b/sys/i386/isa/syscons.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.h,v 1.23.2.2 1997/01/20 12:44:10 msmith Exp $ + * $Id: syscons.h,v 1.23.2.3 1997/03/09 06:32:30 yokota Exp $ */ #ifndef _I386_ISA_SYSCONS_H_ diff --git a/sys/i386/isa/timerreg.h b/sys/i386/isa/timerreg.h index 16fbc0b4899ab..d53f60a05c002 100644 --- a/sys/i386/isa/timerreg.h +++ b/sys/i386/isa/timerreg.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: Header: timerreg.h,v 1.2 93/02/28 15:08:58 mccanne Exp - * $Id: timerreg.h,v 1.2 1993/10/16 13:46:26 rgrimes Exp $ + * $Id: timerreg.h,v 1.3 1996/10/30 22:39:02 asami Exp $ */ /* diff --git a/sys/i386/isa/ultra14f.c b/sys/i386/isa/ultra14f.c index 8882f3996e69d..a4445b4def388 100644 --- a/sys/i386/isa/ultra14f.c +++ b/sys/i386/isa/ultra14f.c @@ -22,7 +22,7 @@ * today: Fri Jun 2 17:21:03 EST 1994 * added 24F support ++sg * - * $Id: ultra14f.c,v 1.48 1996/09/06 23:08:11 phk Exp $ + * $Id: ultra14f.c,v 1.49 1996/10/15 19:22:13 bde Exp $ */ #include <sys/types.h> diff --git a/sys/i386/isa/vector.s b/sys/i386/isa/vector.s index fac9413a52d20..da0bd349d1650 100644 --- a/sys/i386/isa/vector.s +++ b/sys/i386/isa/vector.s @@ -1,6 +1,6 @@ /* * from: vector.s, 386BSD 0.1 unknown origin - * $Id: vector.s,v 1.21.2.1 1996/11/07 14:47:07 joerg Exp $ + * $Id: vector.s,v 1.21.2.2 1996/11/09 21:08:53 phk Exp $ */ /* diff --git a/sys/i386/isa/wd.c b/sys/i386/isa/wd.c index 59279ab98f04f..2c3aad2ae37c1 100644 --- a/sys/i386/isa/wd.c +++ b/sys/i386/isa/wd.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)wd.c 7.2 (Berkeley) 5/9/91 - * $Id: wd.c,v 1.126 1997/03/11 23:17:04 se Exp $ + * $Id: wd.c,v 1.119.2.4 1997/03/12 19:50:33 se Exp $ */ /* TODO: diff --git a/sys/i386/isa/wdc_p.h b/sys/i386/isa/wdc_p.h index 4ef4b5629549a..b6edb60401ddf 100644 --- a/sys/i386/isa/wdc_p.h +++ b/sys/i386/isa/wdc_p.h @@ -16,7 +16,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id$ + * $Id: wdc_p.h,v 1.1 1997/03/11 23:17:02 se Exp $ */ #define Q_CMD640B 0x00000001 /* CMD640B quirk: serialize IDE channels */ diff --git a/sys/i386/isa/wdreg.h b/sys/i386/isa/wdreg.h index fb4ad39b5458b..1e3cae5ee189b 100644 --- a/sys/i386/isa/wdreg.h +++ b/sys/i386/isa/wdreg.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)wdreg.h 7.1 (Berkeley) 5/9/91 - * $Id: wdreg.h,v 1.12.2.2 1996/11/23 08:31:35 phk Exp $ + * $Id: wdreg.h,v 1.12.2.3 1997/01/14 17:32:07 bde Exp $ */ /* diff --git a/sys/i386/isa/wt.c b/sys/i386/isa/wt.c index a3d52e544ee29..f5de189c33415 100644 --- a/sys/i386/isa/wt.c +++ b/sys/i386/isa/wt.c @@ -20,7 +20,7 @@ * the original CMU copyright notice. * * Version 1.3, Thu Nov 11 12:09:13 MSK 1993 - * $Id: wt.c,v 1.36 1996/12/23 01:53:13 joerg Exp $ + * $Id: wt.c,v 1.35.2.1 1996/12/23 01:55:21 joerg Exp $ * */ diff --git a/sys/i386/isa/wtreg.h b/sys/i386/isa/wtreg.h index d86d783ebb086..547080eb1610c 100644 --- a/sys/i386/isa/wtreg.h +++ b/sys/i386/isa/wtreg.h @@ -19,7 +19,7 @@ * the original CMU copyright notice. * * Version 1.3, Thu Nov 11 12:09:13 MSK 1993 - * $Id: wtreg.h,v 1.7 1996/01/30 22:56:14 mpp Exp $ + * $Id: wtreg.h,v 1.8 1996/02/22 00:31:49 joerg Exp $ * */ diff --git a/sys/i386/linux/imgact_linux.c b/sys/i386/linux/imgact_linux.c index 3156b56ebd6c1..992cfb3a24f25 100644 --- a/sys/i386/linux/imgact_linux.c +++ b/sys/i386/linux/imgact_linux.c @@ -28,7 +28,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: imgact_linux.c,v 1.16.2.1 1996/12/22 23:21:18 joerg Exp $ + * $Id: imgact_linux.c,v 1.16.2.2 1996/12/23 06:37:48 jkh Exp $ */ #ifndef LKM diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index de1d6c0d214e4..9795ccc837641 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux.h,v 1.10.2.1 1996/11/09 21:10:10 phk Exp $ + * $Id: linux.h,v 1.10.2.2 1996/12/03 15:47:28 phk Exp $ */ #ifndef _I386_LINUX_LINUX_H_ diff --git a/sys/i386/linux/linux_dummy.c b/sys/i386/linux/linux_dummy.c index 2fcab4616a39c..109acec661767 100644 --- a/sys/i386/linux/linux_dummy.c +++ b/sys/i386/linux/linux_dummy.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_dummy.c,v 1.2 1995/11/22 07:43:44 bde Exp $ + * $Id: linux_dummy.c,v 1.3 1996/03/02 19:37:52 peter Exp $ */ #include <sys/param.h> diff --git a/sys/i386/linux/linux_file.c b/sys/i386/linux/linux_file.c index bf28b2c552cfb..8fc3bbe912097 100644 --- a/sys/i386/linux/linux_file.c +++ b/sys/i386/linux/linux_file.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_file.c,v 1.6 1996/03/02 19:37:53 peter Exp $ + * $Id: linux_file.c,v 1.7 1996/03/10 22:27:51 peter Exp $ */ #include <sys/param.h> diff --git a/sys/i386/linux/linux_genassym.c b/sys/i386/linux/linux_genassym.c index c8b503ba82c30..41d912f2f0f8b 100644 --- a/sys/i386/linux/linux_genassym.c +++ b/sys/i386/linux/linux_genassym.c @@ -1,4 +1,4 @@ -/* $Id$ */ +/* $Id: linux_genassym.c,v 1.2 1996/03/02 21:00:10 peter Exp $ */ #include <stdio.h> #include <sys/param.h> #include <sys/buf.h> diff --git a/sys/i386/linux/linux_ioctl.c b/sys/i386/linux/linux_ioctl.c index e4d8f6640e3b8..4fe8d89bbb629 100644 --- a/sys/i386/linux/linux_ioctl.c +++ b/sys/i386/linux/linux_ioctl.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_ioctl.c,v 1.11 1996/06/23 17:08:11 bde Exp $ + * $Id: linux_ioctl.c,v 1.11.2.1 1996/11/09 21:10:15 phk Exp $ */ #include <sys/param.h> diff --git a/sys/i386/linux/linux_ipc.c b/sys/i386/linux/linux_ipc.c index 72ebd20abd7ce..110a69a31f972 100644 --- a/sys/i386/linux/linux_ipc.c +++ b/sys/i386/linux/linux_ipc.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_ipc.c,v 1.7 1996/03/02 19:37:56 peter Exp $ + * $Id: linux_ipc.c,v 1.8 1996/06/12 05:06:27 gpalmer Exp $ */ diff --git a/sys/i386/linux/linux_misc.c b/sys/i386/linux/linux_misc.c index f412cf0bcf023..294e2ee5cf31b 100644 --- a/sys/i386/linux/linux_misc.c +++ b/sys/i386/linux/linux_misc.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_misc.c,v 1.19 1996/05/02 10:43:13 phk Exp $ + * $Id: linux_misc.c,v 1.20 1996/06/12 05:06:28 gpalmer Exp $ */ #include <sys/param.h> diff --git a/sys/i386/linux/linux_signal.c b/sys/i386/linux/linux_signal.c index 92fd23b4d2c3e..0aa5d5966b49e 100644 --- a/sys/i386/linux/linux_signal.c +++ b/sys/i386/linux/linux_signal.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_signal.c,v 1.5 1996/03/02 21:00:11 peter Exp $ + * $Id: linux_signal.c,v 1.6 1996/03/04 21:03:10 peter Exp $ */ #include <sys/param.h> diff --git a/sys/i386/linux/linux_socket.c b/sys/i386/linux/linux_socket.c index 083dd71dcc203..d1818a7dd06fb 100644 --- a/sys/i386/linux/linux_socket.c +++ b/sys/i386/linux/linux_socket.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_socket.c,v 1.4 1996/03/02 19:37:59 peter Exp $ + * $Id: linux_socket.c,v 1.4.4.1 1996/12/03 15:47:29 phk Exp $ */ /* XXX we use functions that might not exist. */ diff --git a/sys/i386/linux/linux_stats.c b/sys/i386/linux/linux_stats.c index 20e78800de5be..ab299f84c99bb 100644 --- a/sys/i386/linux/linux_stats.c +++ b/sys/i386/linux/linux_stats.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_stats.c,v 1.5 1996/03/02 19:38:00 peter Exp $ + * $Id: linux_stats.c,v 1.5.4.1 1996/12/21 19:04:20 bde Exp $ */ #include <sys/param.h> diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index c70daf63d500d..5f168da8e9ea1 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_sysvec.c,v 1.8 1996/10/15 18:24:34 bde Exp $ + * $Id: linux_sysvec.c,v 1.9 1996/10/16 17:51:07 sos Exp $ */ /* XXX we use functions that might not exist. */ diff --git a/sys/i386/linux/linux_util.c b/sys/i386/linux/linux_util.c index 7025e5071f5c6..cf102fc73f409 100644 --- a/sys/i386/linux/linux_util.c +++ b/sys/i386/linux/linux_util.c @@ -27,7 +27,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * from: svr4_util.c,v 1.5 1995/01/22 23:44:50 christos Exp - * $Id: linux_util.c,v 1.2 1996/08/05 20:52:30 nate Exp $ + * $Id: linux_util.c,v 1.3 1996/09/03 23:17:11 bde Exp $ */ #include <sys/param.h> diff --git a/sys/i386/linux/linux_util.h b/sys/i386/linux/linux_util.h index 64ab68da8d4b3..f3078e33ecca6 100644 --- a/sys/i386/linux/linux_util.h +++ b/sys/i386/linux/linux_util.h @@ -28,7 +28,7 @@ * * from: svr4_util.h,v 1.5 1994/11/18 02:54:31 christos Exp * from: linux_util.h,v 1.2 1995/03/05 23:23:50 fvdl Exp - * $Id: linux_util.h,v 1.2 1996/03/10 08:42:48 sos Exp $ + * $Id: linux_util.h,v 1.3 1996/03/10 22:23:51 peter Exp $ */ /* diff --git a/sys/i386/linux/syscalls.conf b/sys/i386/linux/syscalls.conf index d5922abbca7bf..4c05afd9b227e 100644 --- a/sys/i386/linux/syscalls.conf +++ b/sys/i386/linux/syscalls.conf @@ -1,4 +1,4 @@ -# $Id$ +# $Id: syscalls.conf,v 1.1 1996/03/02 19:04:16 peter Exp $ sysnames="/dev/null" sysproto="linux_proto.h" sysproto_h=_LINUX_SYSPROTO_H_ diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master index 362a3876f89b0..0322faa9d4cae 100644 --- a/sys/i386/linux/syscalls.master +++ b/sys/i386/linux/syscalls.master @@ -1,4 +1,4 @@ - $Id: syscalls.master,v 1.1 1996/03/02 19:04:15 peter Exp $ + $Id: syscalls.master,v 1.2 1996/03/04 20:58:47 peter Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). diff --git a/sys/i386/scsi/93cx6.c b/sys/i386/scsi/93cx6.c index 06e67223f0039..bda4157723bf9 100644 --- a/sys/i386/scsi/93cx6.c +++ b/sys/i386/scsi/93cx6.c @@ -18,7 +18,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id$ + * $Id: 93cx6.c,v 1.7.2.2 1997/03/01 06:53:31 gibbs Exp $ */ /* diff --git a/sys/i386/scsi/93cx6.h b/sys/i386/scsi/93cx6.h index c1ae8d29ae488..06cc494e461ec 100644 --- a/sys/i386/scsi/93cx6.h +++ b/sys/i386/scsi/93cx6.h @@ -20,7 +20,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id$ + * $Id: 93cx6.h,v 1.5.2.2 1997/03/01 06:53:33 gibbs Exp $ */ #include <sys/param.h> diff --git a/sys/i386/scsi/aic7xxx.c b/sys/i386/scsi/aic7xxx.c index ed0eb8eb675bf..82db9319c03f2 100644 --- a/sys/i386/scsi/aic7xxx.c +++ b/sys/i386/scsi/aic7xxx.c @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7xxx.c,v 1.81.2.16 1997/03/24 05:11:03 gibbs Exp $ + * $Id: aic7xxx.c,v 1.81.2.17 1997/03/24 19:17:33 gibbs Exp $ */ /* * TODO: diff --git a/sys/i386/scsi/aic7xxx.h b/sys/i386/scsi/aic7xxx.h index 41cb71d87605e..f9a4aec6f592a 100644 --- a/sys/i386/scsi/aic7xxx.h +++ b/sys/i386/scsi/aic7xxx.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: aic7xxx.h,v 1.31.2.8 1997/03/01 06:53:37 gibbs Exp $ */ #ifndef _AIC7XXX_H_ diff --git a/sys/i386/scsi/bt.c b/sys/i386/scsi/bt.c index 7e23b5ddf5d97..3cb7060035a13 100644 --- a/sys/i386/scsi/bt.c +++ b/sys/i386/scsi/bt.c @@ -12,7 +12,7 @@ * on the understanding that TFS is not responsible for the correct * functioning of this software in any circumstances. * - * $Id: bt.c,v 1.9 1996/03/31 18:19:50 gibbs Exp $ + * $Id: bt.c,v 1.10 1996/08/19 02:42:40 julian Exp $ */ /* diff --git a/sys/i386/scsi/btreg.h b/sys/i386/scsi/btreg.h index 01816ff221db2..5820095ecd022 100644 --- a/sys/i386/scsi/btreg.h +++ b/sys/i386/scsi/btreg.h @@ -12,7 +12,7 @@ * on the understanding that TFS is not responsible for the correct * functioning of this software in any circumstances. * - * $Id: btreg.h,v 1.3 1996/01/30 22:56:45 mpp Exp $ + * $Id: btreg.h,v 1.3.6.1 1996/11/12 09:09:20 phk Exp $ */ #ifndef _BTREG_H_ diff --git a/sys/isofs/cd9660/TODO b/sys/isofs/cd9660/TODO index de414974103bd..353600b9d4e28 100644 --- a/sys/isofs/cd9660/TODO +++ b/sys/isofs/cd9660/TODO @@ -1,4 +1,4 @@ -# $Id: TODO,v 1.1.1.1 1994/05/24 10:04:12 rgrimes Exp $ +# $Id: TODO,v 1.2 1995/01/16 17:03:23 joerg Exp $ 1) should understand "older", original High Sierra ("CDROM001") type diff --git a/sys/isofs/cd9660/cd9660_bmap.c b/sys/isofs/cd9660/cd9660_bmap.c index df182997267c6..8c025a00953c7 100644 --- a/sys/isofs/cd9660/cd9660_bmap.c +++ b/sys/isofs/cd9660/cd9660_bmap.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_bmap.c 8.3 (Berkeley) 1/23/94 - * $Id: cd9660_bmap.c,v 1.2 1994/08/02 07:41:15 davidg Exp $ + * $Id: cd9660_bmap.c,v 1.3 1995/09/04 00:20:04 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/isofs/cd9660/cd9660_lookup.c b/sys/isofs/cd9660/cd9660_lookup.c index 002cc5d4f1e6e..08279bb7d70db 100644 --- a/sys/isofs/cd9660/cd9660_lookup.c +++ b/sys/isofs/cd9660/cd9660_lookup.c @@ -38,7 +38,7 @@ * from: @(#)ufs_lookup.c 7.33 (Berkeley) 5/19/91 * * @(#)cd9660_lookup.c 8.2 (Berkeley) 1/23/94 - * $Id: cd9660_lookup.c,v 1.9 1995/11/12 10:16:50 davidg Exp $ + * $Id: cd9660_lookup.c,v 1.10 1996/10/20 21:01:42 alex Exp $ */ #include <sys/param.h> diff --git a/sys/isofs/cd9660/cd9660_node.c b/sys/isofs/cd9660/cd9660_node.c index c4388c53640f1..2cb40eea56c4c 100644 --- a/sys/isofs/cd9660/cd9660_node.c +++ b/sys/isofs/cd9660/cd9660_node.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_node.c 8.2 (Berkeley) 1/23/94 - * $Id: cd9660_node.c,v 1.13 1996/06/12 03:36:23 davidg Exp $ + * $Id: cd9660_node.c,v 1.14 1996/09/20 05:51:09 nate Exp $ */ #include <sys/param.h> diff --git a/sys/isofs/cd9660/cd9660_node.h b/sys/isofs/cd9660/cd9660_node.h index 4f0c98dd4d8a4..b89ec865374db 100644 --- a/sys/isofs/cd9660/cd9660_node.h +++ b/sys/isofs/cd9660/cd9660_node.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_node.h 8.2 (Berkeley) 1/23/94 - * $Id: cd9660_node.h,v 1.6 1995/10/31 12:13:44 phk Exp $ + * $Id: cd9660_node.h,v 1.7 1995/11/09 08:13:40 bde Exp $ */ /* diff --git a/sys/isofs/cd9660/cd9660_rrip.c b/sys/isofs/cd9660/cd9660_rrip.c index d745411ffbdae..6df290d925be4 100644 --- a/sys/isofs/cd9660/cd9660_rrip.c +++ b/sys/isofs/cd9660/cd9660_rrip.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_rrip.c 8.2 (Berkeley) 1/23/94 - * $Id: cd9660_rrip.c,v 1.8 1995/11/14 09:37:03 phk Exp $ + * $Id: cd9660_rrip.c,v 1.9 1995/12/03 17:14:36 bde Exp $ */ #include <sys/param.h> diff --git a/sys/isofs/cd9660/cd9660_rrip.h b/sys/isofs/cd9660/cd9660_rrip.h index bc9429cbc5eea..48b12badc4022 100644 --- a/sys/isofs/cd9660/cd9660_rrip.h +++ b/sys/isofs/cd9660/cd9660_rrip.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_rrip.h 8.1 (Berkeley) 1/21/94 - * $Id: cd9660_rrip.h,v 1.2 1994/08/02 07:41:30 davidg Exp $ + * $Id: cd9660_rrip.h,v 1.3 1995/01/16 17:03:26 joerg Exp $ */ typedef struct { diff --git a/sys/isofs/cd9660/cd9660_util.c b/sys/isofs/cd9660/cd9660_util.c index ed832098cebc3..7e721163587c3 100644 --- a/sys/isofs/cd9660/cd9660_util.c +++ b/sys/isofs/cd9660/cd9660_util.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_util.c 8.1 (Berkeley) 1/21/94 - * $Id: cd9660_util.c,v 1.4 1995/05/30 08:05:02 rgrimes Exp $ + * $Id: cd9660_util.c,v 1.5 1995/07/16 10:20:56 joerg Exp $ */ #include <sys/param.h> diff --git a/sys/isofs/cd9660/cd9660_vfsops.c b/sys/isofs/cd9660/cd9660_vfsops.c index 9f6756359b5c0..e878e6ff2b310 100644 --- a/sys/isofs/cd9660/cd9660_vfsops.c +++ b/sys/isofs/cd9660/cd9660_vfsops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_vfsops.c 8.3 (Berkeley) 1/31/94 - * $Id: cd9660_vfsops.c,v 1.14 1995/08/11 11:31:01 davidg Exp $ + * $Id: cd9660_vfsops.c,v 1.15 1995/10/31 12:13:46 phk Exp $ */ #include <sys/param.h> diff --git a/sys/isofs/cd9660/cd9660_vnops.c b/sys/isofs/cd9660/cd9660_vnops.c index 8ac9cd4958d6f..7dad25e9ec9d8 100644 --- a/sys/isofs/cd9660/cd9660_vnops.c +++ b/sys/isofs/cd9660/cd9660_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_vnops.c 8.3 (Berkeley) 1/23/94 - * $Id: cd9660_vnops.c,v 1.26 1996/09/20 05:51:12 nate Exp $ + * $Id: cd9660_vnops.c,v 1.27 1996/10/20 21:01:43 alex Exp $ */ #include <sys/param.h> diff --git a/sys/isofs/cd9660/iso.h b/sys/isofs/cd9660/iso.h index 6841623c35f9a..851f9e57534b4 100644 --- a/sys/isofs/cd9660/iso.h +++ b/sys/isofs/cd9660/iso.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)iso.h 8.2 (Berkeley) 1/23/94 - * $Id: iso.h,v 1.8 1995/11/09 08:13:35 bde Exp $ + * $Id: iso.h,v 1.9 1995/11/21 12:53:41 bde Exp $ */ #define ISODCL(from, to) (to - from + 1) diff --git a/sys/isofs/cd9660/iso_rrip.h b/sys/isofs/cd9660/iso_rrip.h index 031aaa37358bf..610c84cb2e4f2 100644 --- a/sys/isofs/cd9660/iso_rrip.h +++ b/sys/isofs/cd9660/iso_rrip.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)iso_rrip.h 8.2 (Berkeley) 1/23/94 - * $Id$ + * $Id: iso_rrip.h,v 1.2 1994/08/02 07:41:40 davidg Exp $ */ diff --git a/sys/kern/Make.tags.inc b/sys/kern/Make.tags.inc index a09e4848a08d6..4f223d3c824b5 100644 --- a/sys/kern/Make.tags.inc +++ b/sys/kern/Make.tags.inc @@ -1,5 +1,5 @@ # @(#)Make.tags.inc 8.1 (Berkeley) 6/11/93 -# $Id$ +# $Id: Make.tags.inc,v 1.2 1994/08/02 07:41:47 davidg Exp $ # Common files for "make tags". # Included by the Makefile for each architecture. diff --git a/sys/kern/imgact_aout.c b/sys/kern/imgact_aout.c index d94b051e8756f..ea34c0be46047 100644 --- a/sys/kern/imgact_aout.c +++ b/sys/kern/imgact_aout.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: imgact_aout.c,v 1.29 1996/08/31 16:52:22 bde Exp $ + * $Id: imgact_aout.c,v 1.29.2.1 1996/12/22 23:21:19 joerg Exp $ */ #include "opt_rlimit.h" diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 7abc80530ee93..c3d7965c258ac 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: imgact_elf.c,v 1.12 1996/10/24 19:13:00 sos Exp $ + * $Id: imgact_elf.c,v 1.12.2.1 1996/12/22 23:21:20 joerg Exp $ */ #include "opt_rlimit.h" diff --git a/sys/kern/imgact_gzip.c b/sys/kern/imgact_gzip.c index 4b9689ed11cd3..2ca4f34a29fe7 100644 --- a/sys/kern/imgact_gzip.c +++ b/sys/kern/imgact_gzip.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: imgact_gzip.c,v 1.24 1996/08/31 16:52:24 bde Exp $ + * $Id: imgact_gzip.c,v 1.24.2.1 1996/12/22 23:21:21 joerg Exp $ * * This module handles execution of a.out files which have been run through * "gzip". This saves diskspace, but wastes cpu-cycles and VM. diff --git a/sys/kern/imgact_shell.c b/sys/kern/imgact_shell.c index b00c652790492..76dbbb77bfa58 100644 --- a/sys/kern/imgact_shell.c +++ b/sys/kern/imgact_shell.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: imgact_shell.c,v 1.11 1996/04/08 01:21:58 davidg Exp $ + * $Id: imgact_shell.c,v 1.12 1996/08/31 16:52:24 bde Exp $ */ #include <sys/param.h> diff --git a/sys/kern/inflate.c b/sys/kern/inflate.c index d5d570f4a0be3..00aacde49b8e8 100644 --- a/sys/kern/inflate.c +++ b/sys/kern/inflate.c @@ -7,7 +7,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: inflate.c,v 1.5 1995/04/15 06:54:13 phk Exp $ + * $Id: inflate.c,v 1.6 1995/12/06 23:37:02 bde Exp $ * * */ diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index a3aaacb4772bb..d9f2369ed2010 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)init_main.c 8.9 (Berkeley) 1/21/94 - * $Id: init_main.c,v 1.51 1996/10/28 11:34:42 phk Exp $ + * $Id: init_main.c,v 1.51.2.1 1996/12/21 19:26:09 bde Exp $ */ #include "opt_rlimit.h" diff --git a/sys/kern/init_sysvec.c b/sys/kern/init_sysvec.c index 8e5e2209dafc3..43967f4c5e171 100644 --- a/sys/kern/init_sysvec.c +++ b/sys/kern/init_sysvec.c @@ -1,7 +1,7 @@ /* * sysentvec for native FreeBSD a.out executable format. * - * $Id: init_sysvec.c,v 1.1 1996/03/02 19:38:08 peter Exp $ + * $Id: init_sysvec.c,v 1.2 1996/06/18 05:15:46 dyson Exp $ */ #include <sys/types.h> diff --git a/sys/kern/kern_acct.c b/sys/kern/kern_acct.c index a56e6a631da4b..bb4367e0ba1f5 100644 --- a/sys/kern/kern_acct.c +++ b/sys/kern/kern_acct.c @@ -37,7 +37,7 @@ * SUCH DAMAGE. * * @(#)kern_acct.c 8.1 (Berkeley) 6/14/93 - * $Id: kern_acct.c,v 1.9 1995/11/12 06:42:51 bde Exp $ + * $Id: kern_acct.c,v 1.10 1995/12/14 08:31:11 phk Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_clock.c b/sys/kern/kern_clock.c index 3a6b580c41506..06d9f65a0ebe7 100644 --- a/sys/kern/kern_clock.c +++ b/sys/kern/kern_clock.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_clock.c 8.5 (Berkeley) 1/21/94 - * $Id: kern_clock.c,v 1.28 1996/10/25 13:01:56 bde Exp $ + * $Id: kern_clock.c,v 1.28.2.1 1997/02/04 21:03:43 jhay Exp $ */ /* Portions of this software are covered by the following: */ diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index dd18e042017be..441f781a9f6b2 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_conf.c,v 1.12 1996/10/28 11:34:47 phk Exp $ + * $Id: kern_conf.c,v 1.12.2.1 1996/12/14 14:40:58 joerg Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index 2745ce0e84b8f..d6d272cd29b80 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_descrip.c 8.6 (Berkeley) 4/19/94 - * $Id: kern_descrip.c,v 1.32.2.1 1996/12/21 18:44:04 bde Exp $ + * $Id: kern_descrip.c,v 1.32.2.2 1996/12/21 19:04:24 bde Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index d1970dbf6fca8..f5d0bdd700820 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_exec.c,v 1.47.2.1 1996/11/09 10:42:28 joerg Exp $ + * $Id: kern_exec.c,v 1.47.2.2 1997/02/19 03:53:35 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index ef3b94cce0843..e99c5efc248a2 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_exit.c 8.7 (Berkeley) 2/12/94 - * $Id: kern_exit.c,v 1.41 1996/10/12 21:35:22 dyson Exp $ + * $Id: kern_exit.c,v 1.41.2.1 1997/01/21 16:40:21 davidn Exp $ */ #include "opt_ktrace.h" diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 750713d9fbc52..38eef88ce1185 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_fork.c 8.6 (Berkeley) 4/8/94 - * $Id: kern_fork.c,v 1.27.2.1 1997/02/13 08:17:17 bde Exp $ + * $Id: kern_fork.c,v 1.27.2.2 1997/02/17 10:59:40 davidg Exp $ */ #include "opt_ktrace.h" diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c index 5a968829bca82..692471ba1acf7 100644 --- a/sys/kern/kern_ktrace.c +++ b/sys/kern/kern_ktrace.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_ktrace.c 8.2 (Berkeley) 9/23/93 - * $Id: kern_ktrace.c,v 1.13 1996/09/19 19:48:33 phk Exp $ + * $Id: kern_ktrace.c,v 1.14 1996/09/22 18:17:51 phk Exp $ */ #include "opt_ktrace.h" diff --git a/sys/kern/kern_lkm.c b/sys/kern/kern_lkm.c index cba37f538c634..2a39738f4ad96 100644 --- a/sys/kern/kern_lkm.c +++ b/sys/kern/kern_lkm.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_lkm.c,v 1.32 1996/09/03 22:52:14 bde Exp $ + * $Id: kern_lkm.c,v 1.32.2.1 1997/02/22 20:50:43 joerg Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_lockf.c b/sys/kern/kern_lockf.c index 7edee8132d132..7025ad110a785 100644 --- a/sys/kern/kern_lockf.c +++ b/sys/kern/kern_lockf.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)ufs_lockf.c 8.3 (Berkeley) 1/6/94 - * $Id: kern_lockf.c,v 1.6.2.1 1996/12/21 18:46:21 bde Exp $ + * $Id: kern_lockf.c,v 1.6.2.2 1996/12/29 09:23:37 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_malloc.c b/sys/kern/kern_malloc.c index de6ec5582609d..8ee5638815ae8 100644 --- a/sys/kern/kern_malloc.c +++ b/sys/kern/kern_malloc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_malloc.c 8.3 (Berkeley) 1/4/94 - * $Id: kern_malloc.c,v 1.23 1996/05/18 22:33:13 dyson Exp $ + * $Id: kern_malloc.c,v 1.24 1996/08/04 20:08:48 phk Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index 7217cd89d1ac8..06b338f98ad41 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -37,7 +37,7 @@ * SUCH DAMAGE. * * @(#)kern_sysctl.c 8.4 (Berkeley) 4/14/94 - * $Id: kern_mib.c,v 1.3 1996/09/28 15:43:39 bde Exp $ + * $Id: kern_mib.c,v 1.4 1996/09/28 15:53:30 bde Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_opt.c b/sys/kern/kern_opt.c index fd58310c4bb48..b7df112de4af6 100644 --- a/sys/kern/kern_opt.c +++ b/sys/kern/kern_opt.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_opt.c,v 1.4 1997/02/28 10:14:24 bde Exp $ + * $Id: kern_opt.c,v 1.4.2.1 1997/02/28 10:17:29 bde Exp $ */ #include "opt_defunct.h" diff --git a/sys/kern/kern_physio.c b/sys/kern/kern_physio.c index ed4920c64ff1c..7f93511002306 100644 --- a/sys/kern/kern_physio.c +++ b/sys/kern/kern_physio.c @@ -16,7 +16,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id: kern_physio.c,v 1.16 1995/12/13 15:12:59 julian Exp $ + * $Id: kern_physio.c,v 1.17 1996/06/26 05:52:15 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 8ed6b01e0272d..5530fe8484cb8 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_proc.c 8.7 (Berkeley) 2/14/95 - * $Id: kern_proc.c,v 1.21 1996/07/09 16:51:10 wollman Exp $ + * $Id: kern_proc.c,v 1.22 1996/09/14 10:53:46 bde Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 0cf6583710831..288e6ff2efc89 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_prot.c 8.6 (Berkeley) 1/21/94 - * $Id: kern_prot.c,v 1.19 1996/09/03 12:52:58 bde Exp $ + * $Id: kern_prot.c,v 1.19.2.1 1996/12/21 18:50:15 bde Exp $ */ /* diff --git a/sys/kern/kern_resource.c b/sys/kern/kern_resource.c index 4c4aeab2a722d..c678154cce102 100644 --- a/sys/kern/kern_resource.c +++ b/sys/kern/kern_resource.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_resource.c 8.5 (Berkeley) 1/21/94 - * $Id: kern_resource.c,v 1.20 1996/06/08 11:48:28 bde Exp $ + * $Id: kern_resource.c,v 1.20.2.1 1996/12/22 23:21:21 joerg Exp $ */ #include "opt_rlimit.h" diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c index 11e395b8e9575..2a5e7847b5a8b 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_shutdown.c 8.3 (Berkeley) 1/21/94 - * $Id: kern_shutdown.c,v 1.9 1996/10/30 21:40:22 julian Exp $ + * $Id: kern_shutdown.c,v 1.10 1996/10/31 00:57:28 julian Exp $ */ #include "opt_ddb.h" diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 1b4bb58ea3627..f978aec62535a 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_sig.c 8.7 (Berkeley) 4/18/94 - * $Id: kern_sig.c,v 1.26 1996/10/19 01:06:20 davidg Exp $ + * $Id: kern_sig.c,v 1.26.2.1 1996/12/21 18:57:24 bde Exp $ */ #include "opt_ktrace.h" diff --git a/sys/kern/kern_subr.c b/sys/kern/kern_subr.c index a89ad533fc599..ae7e6492fb276 100644 --- a/sys/kern/kern_subr.c +++ b/sys/kern/kern_subr.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_subr.c 8.3 (Berkeley) 1/21/94 - * $Id: kern_subr.c,v 1.7 1995/04/30 05:11:46 davidg Exp $ + * $Id: kern_subr.c,v 1.8 1995/05/08 23:11:12 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index 2109920daf307..32a918ce59b82 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_synch.c 8.9 (Berkeley) 5/19/95 - * $Id: kern_synch.c,v 1.26 1996/10/17 02:57:39 dyson Exp $ + * $Id: kern_synch.c,v 1.26.2.1 1997/03/13 18:09:38 bde Exp $ */ #include "opt_ktrace.h" diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 2a1eb7d558188..97eef66e15c9e 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -37,7 +37,7 @@ * SUCH DAMAGE. * * @(#)kern_sysctl.c 8.4 (Berkeley) 4/14/94 - * $Id: kern_sysctl.c,v 1.66 1996/09/03 22:26:31 bde Exp $ + * $Id: kern_sysctl.c,v 1.66.2.1 1996/12/18 11:45:41 bde Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index c94d8cfdcbaf1..3eab2d482ba59 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_time.c 8.1 (Berkeley) 6/10/93 - * $Id: kern_time.c,v 1.17 1996/07/12 07:55:35 bde Exp $ + * $Id: kern_time.c,v 1.18 1996/09/30 19:28:52 julian Exp $ */ #include <sys/param.h> diff --git a/sys/kern/kern_xxx.c b/sys/kern/kern_xxx.c index cb08c420b31c6..42e77b3ec97ff 100644 --- a/sys/kern/kern_xxx.c +++ b/sys/kern/kern_xxx.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_xxx.c 8.2 (Berkeley) 11/14/93 - * $Id: kern_xxx.c,v 1.22 1995/12/06 23:37:12 bde Exp $ + * $Id: kern_xxx.c,v 1.23 1996/08/19 20:07:02 julian Exp $ */ #include <sys/param.h> diff --git a/sys/kern/makesyscalls.sh b/sys/kern/makesyscalls.sh index 924e4eadef2b6..3af4a43dee8fd 100644 --- a/sys/kern/makesyscalls.sh +++ b/sys/kern/makesyscalls.sh @@ -1,6 +1,6 @@ #! /bin/sh - # @(#)makesyscalls.sh 8.1 (Berkeley) 6/10/93 -# $Id: makesyscalls.sh,v 1.17 1996/03/02 19:38:10 peter Exp $ +# $Id: makesyscalls.sh,v 1.18 1996/09/13 09:17:09 bde Exp $ set -e diff --git a/sys/kern/md5c.c b/sys/kern/md5c.c index 583d009d97f13..8d26ea34c6f22 100644 --- a/sys/kern/md5c.c +++ b/sys/kern/md5c.c @@ -22,7 +22,7 @@ * These notices must be retained in any copies of any part of this * documentation and/or software. * - * $Id$ + * $Id: md5c.c,v 1.6 1996/12/22 10:27:25 phk Exp $ * * This code is the same as the code published by RSA Inc. It has been * edited for clarity and style only. diff --git a/sys/kern/subr_autoconf.c b/sys/kern/subr_autoconf.c index f48ce99f0a37c..e22bf276adfc5 100644 --- a/sys/kern/subr_autoconf.c +++ b/sys/kern/subr_autoconf.c @@ -41,7 +41,7 @@ * * @(#)subr_autoconf.c 8.1 (Berkeley) 6/10/93 * - * $Id$ + * $Id: subr_autoconf.c,v 1.2 1994/08/02 07:42:26 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/kern/subr_diskslice.c b/sys/kern/subr_diskslice.c index 10ab9762770c6..79933a9614f10 100644 --- a/sys/kern/subr_diskslice.c +++ b/sys/kern/subr_diskslice.c @@ -43,7 +43,7 @@ * from: wd.c,v 1.55 1994/10/22 01:57:12 phk Exp $ * from: @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91 * from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $ - * $Id: subr_diskslice.c,v 1.29 1996/09/20 17:39:20 bde Exp $ + * $Id: subr_diskslice.c,v 1.30 1996/10/29 13:15:30 bde Exp $ */ #include <sys/param.h> diff --git a/sys/kern/subr_dkbad.c b/sys/kern/subr_dkbad.c index 2d4957a0e5ea0..92a66cb218fd9 100644 --- a/sys/kern/subr_dkbad.c +++ b/sys/kern/subr_dkbad.c @@ -43,7 +43,7 @@ * from: wd.c,v 1.55 1994/10/22 01:57:12 phk Exp $ * from: @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91 * from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $ - * $Id: subr_dkbad.c,v 1.3 1996/09/14 01:04:18 bde Exp $ + * $Id: subr_dkbad.c,v 1.4 1996/09/20 17:39:22 bde Exp $ */ #include <sys/param.h> diff --git a/sys/kern/subr_log.c b/sys/kern/subr_log.c index 4c27b38b7baec..99302f6e36ea1 100644 --- a/sys/kern/subr_log.c +++ b/sys/kern/subr_log.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)subr_log.c 8.1 (Berkeley) 6/10/93 - * $Id: subr_log.c,v 1.17 1996/03/27 19:45:28 bde Exp $ + * $Id: subr_log.c,v 1.18 1996/07/09 16:51:11 wollman Exp $ */ /* diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index 10c57702c25d6..a5e21d7490928 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)subr_prf.c 8.3 (Berkeley) 1/21/94 - * $Id: subr_prf.c,v 1.38 1996/08/19 20:07:07 julian Exp $ + * $Id: subr_prf.c,v 1.39 1996/08/31 16:52:25 bde Exp $ */ #include "opt_ddb.h" diff --git a/sys/kern/subr_prof.c b/sys/kern/subr_prof.c index bce6b35743c60..51a0b265c3975 100644 --- a/sys/kern/subr_prof.c +++ b/sys/kern/subr_prof.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)subr_prof.c 8.3 (Berkeley) 9/23/93 - * $Id: subr_prof.c,v 1.17 1996/10/17 19:32:18 bde Exp $ + * $Id: subr_prof.c,v 1.17.2.1 1996/12/18 13:03:56 bde Exp $ */ #include <sys/param.h> diff --git a/sys/kern/subr_rlist.c b/sys/kern/subr_rlist.c index 1ac27fbed30ac..528d19a3d9cde 100644 --- a/sys/kern/subr_rlist.c +++ b/sys/kern/subr_rlist.c @@ -54,7 +54,7 @@ * functioning of this software, nor does the author assume any responsibility * for damages incurred with its use. * - * $Id: subr_rlist.c,v 1.18 1996/10/12 21:35:25 dyson Exp $ + * $Id: subr_rlist.c,v 1.19 1996/10/12 21:37:59 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/kern/subr_xxx.c b/sys/kern/subr_xxx.c index ab67b98215a05..c3270d7331132 100644 --- a/sys/kern/subr_xxx.c +++ b/sys/kern/subr_xxx.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)subr_xxx.c 8.1 (Berkeley) 6/10/93 - * $Id: subr_xxx.c,v 1.4 1995/09/10 21:35:51 bde Exp $ + * $Id: subr_xxx.c,v 1.5 1995/11/06 00:35:51 bde Exp $ */ /* diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 8689ac1183756..910de4bcd5662 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)sys_generic.c 8.5 (Berkeley) 1/21/94 - * $Id: sys_generic.c,v 1.19 1996/08/20 07:17:48 smpatel Exp $ + * $Id: sys_generic.c,v 1.20 1996/08/20 15:03:41 smpatel Exp $ */ #include "opt_ktrace.h" diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c index a4163951930e5..db45aaf01bc1c 100644 --- a/sys/kern/sys_pipe.c +++ b/sys/kern/sys_pipe.c @@ -16,7 +16,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id: sys_pipe.c,v 1.20 1996/07/13 22:52:50 dyson Exp $ + * $Id: sys_pipe.c,v 1.21 1996/10/11 02:27:30 dyson Exp $ */ #ifndef OLD_PIPE diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 5714e242c2ace..39f8ceb88ca54 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sys_process.c,v 1.23 1996/05/02 14:20:23 phk Exp $ + * $Id: sys_process.c,v 1.24 1996/06/02 06:24:27 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c index 4038037b1dcc1..6675f308e02c8 100644 --- a/sys/kern/sys_socket.c +++ b/sys/kern/sys_socket.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)sys_socket.c 8.1 (Berkeley) 6/10/93 - * $Id: sys_socket.c,v 1.7 1996/03/11 15:12:43 davidg Exp $ + * $Id: sys_socket.c,v 1.8 1996/07/11 16:31:54 wollman Exp $ */ #include <sys/param.h> diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index c0c5f0fdbb50e..266fa87a02cbd 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -1,4 +1,4 @@ - $Id: syscalls.master,v 1.28 1996/08/20 07:17:49 smpatel Exp $ + $Id: syscalls.master,v 1.29 1996/09/19 19:48:38 phk Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; ; System call name/number master file. diff --git a/sys/kern/sysv_ipc.c b/sys/kern/sysv_ipc.c index e62068e83af10..9c400685f7956 100644 --- a/sys/kern/sysv_ipc.c +++ b/sys/kern/sysv_ipc.c @@ -1,4 +1,4 @@ -/* $Id: sysv_ipc.c,v 1.3 1996/01/08 04:30:48 peter Exp $ */ +/* $Id: sysv_ipc.c,v 1.4 1996/02/23 18:49:17 peter Exp $ */ /* $NetBSD: sysv_ipc.c,v 1.7 1994/06/29 06:33:11 cgd Exp $ */ /* diff --git a/sys/kern/sysv_msg.c b/sys/kern/sysv_msg.c index 028e5ce0ef3a1..3c922183dd7cd 100644 --- a/sys/kern/sysv_msg.c +++ b/sys/kern/sysv_msg.c @@ -1,4 +1,4 @@ -/* $Id: sysv_msg.c,v 1.12 1996/01/05 16:37:56 wollman Exp $ */ +/* $Id: sysv_msg.c,v 1.13 1996/08/31 14:47:57 bde Exp $ */ /* * Implementation of SVID messages diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index 436ca840d515b..4cd7421d6b584 100644 --- a/sys/kern/sysv_sem.c +++ b/sys/kern/sysv_sem.c @@ -1,4 +1,4 @@ -/* $Id: sysv_sem.c,v 1.15 1996/01/05 16:38:01 wollman Exp $ */ +/* $Id: sysv_sem.c,v 1.16 1996/06/12 05:07:33 gpalmer Exp $ */ /* * Implementation of SVID semaphores diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c index 91dd30988acd9..b8d974d132bd3 100644 --- a/sys/kern/sysv_shm.c +++ b/sys/kern/sysv_shm.c @@ -1,4 +1,4 @@ -/* $Id: sysv_shm.c,v 1.24 1996/09/10 22:35:25 dyson Exp $ */ +/* $Id: sysv_shm.c,v 1.24.2.1 1996/12/22 23:21:24 joerg Exp $ */ /* $NetBSD: sysv_shm.c,v 1.23 1994/07/04 23:25:12 glass Exp $ */ /* diff --git a/sys/kern/tty.c b/sys/kern/tty.c index 7e5e01a9dd681..c6695e3553528 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)tty.c 8.8 (Berkeley) 1/21/94 - * $Id: tty.c,v 1.84 1996/08/31 16:52:26 bde Exp $ + * $Id: tty.c,v 1.84.2.1 1996/12/18 12:38:40 bde Exp $ */ /*- diff --git a/sys/kern/tty_compat.c b/sys/kern/tty_compat.c index e88f2305d4856..fa80e69b09c48 100644 --- a/sys/kern/tty_compat.c +++ b/sys/kern/tty_compat.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tty_compat.c 8.1 (Berkeley) 6/10/93 - * $Id: tty_compat.c,v 1.18 1995/11/18 11:07:00 bde Exp $ + * $Id: tty_compat.c,v 1.19 1995/12/14 08:31:58 phk Exp $ */ /* diff --git a/sys/kern/tty_conf.c b/sys/kern/tty_conf.c index 4cca2e62260c7..5b96247328893 100644 --- a/sys/kern/tty_conf.c +++ b/sys/kern/tty_conf.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)tty_conf.c 8.4 (Berkeley) 1/21/94 - * $Id: tty_conf.c,v 1.7 1995/07/29 13:35:34 bde Exp $ + * $Id: tty_conf.c,v 1.8 1995/11/05 20:25:50 bde Exp $ */ #include <sys/param.h> diff --git a/sys/kern/tty_pty.c b/sys/kern/tty_pty.c index 36bcc5d08abd7..1153e478c296c 100644 --- a/sys/kern/tty_pty.c +++ b/sys/kern/tty_pty.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tty_pty.c 8.4 (Berkeley) 2/20/95 - * $Id: tty_pty.c,v 1.38 1996/04/11 18:43:37 bde Exp $ + * $Id: tty_pty.c,v 1.39 1996/06/12 05:07:34 gpalmer Exp $ */ /* diff --git a/sys/kern/tty_subr.c b/sys/kern/tty_subr.c index 2c3346eca7cb2..a4706eb85fb10 100644 --- a/sys/kern/tty_subr.c +++ b/sys/kern/tty_subr.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: tty_subr.c,v 1.23 1996/09/14 10:53:48 bde Exp $ + * $Id: tty_subr.c,v 1.23.2.1 1997/03/07 09:22:57 joerg Exp $ */ /* diff --git a/sys/kern/tty_tb.c b/sys/kern/tty_tb.c index 8f4c84c66383c..cd9d4a512af64 100644 --- a/sys/kern/tty_tb.c +++ b/sys/kern/tty_tb.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tty_tb.c 8.1 (Berkeley) 6/10/93 - * $Id$ + * $Id: tty_tb.c,v 1.2 1994/08/02 07:42:55 davidg Exp $ */ #include "tb.h" diff --git a/sys/kern/tty_tty.c b/sys/kern/tty_tty.c index 3139f5aa2498b..74b5a8c6f2bda 100644 --- a/sys/kern/tty_tty.c +++ b/sys/kern/tty_tty.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tty_tty.c 8.2 (Berkeley) 9/23/93 - * $Id: tty_tty.c,v 1.10 1995/12/22 15:57:31 bde Exp $ + * $Id: tty_tty.c,v 1.11 1996/03/28 14:31:42 scrappy Exp $ */ /* diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c index dd1d8c1b2b9f1..f82975a503e77 100644 --- a/sys/kern/uipc_domain.c +++ b/sys/kern/uipc_domain.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_domain.c 8.2 (Berkeley) 10/18/93 - * $Id: uipc_domain.c,v 1.13 1996/07/09 19:12:51 wollman Exp $ + * $Id: uipc_domain.c,v 1.14 1996/07/11 16:31:55 wollman Exp $ */ #include <sys/param.h> diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index ad62426f6ad7a..d63e4f69795bd 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_mbuf.c 8.2 (Berkeley) 1/4/94 - * $Id: uipc_mbuf.c,v 1.24 1996/08/19 03:32:02 julian Exp $ + * $Id: uipc_mbuf.c,v 1.24.2.1 1997/01/17 19:28:31 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/kern/uipc_proto.c b/sys/kern/uipc_proto.c index 674f5c518467a..c4d412f50181c 100644 --- a/sys/kern/uipc_proto.c +++ b/sys/kern/uipc_proto.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_proto.c 8.1 (Berkeley) 6/10/93 - * $Id: uipc_proto.c,v 1.6 1995/12/14 08:32:08 phk Exp $ + * $Id: uipc_proto.c,v 1.7 1996/05/08 04:28:52 gpalmer Exp $ */ #include <sys/param.h> diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index d359d5deb4ad4..ac1170c14673a 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket.c 8.3 (Berkeley) 4/15/94 - * $Id: uipc_socket.c,v 1.20 1996/10/07 04:32:26 pst Exp $ + * $Id: uipc_socket.c,v 1.20.2.1 1996/12/03 10:48:58 phk Exp $ */ #include <sys/param.h> diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c index 024ce995ab40f..d49eeb788f386 100644 --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket2.c 8.1 (Berkeley) 6/10/93 - * $Id: uipc_socket2.c,v 1.16 1996/10/11 19:26:35 pst Exp $ + * $Id: uipc_socket2.c,v 1.16.2.1 1996/11/11 23:40:32 phk Exp $ */ #include <sys/param.h> diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index 82cb2ac6d440f..b769e704a70cf 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_syscalls.c 8.4 (Berkeley) 2/21/94 - * $Id: uipc_syscalls.c,v 1.19 1996/08/24 03:35:13 peter Exp $ + * $Id: uipc_syscalls.c,v 1.20 1996/10/15 19:28:44 wollman Exp $ */ #include "opt_ktrace.h" diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 2c2e5b9272377..2c92e89399033 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * From: @(#)uipc_usrreq.c 8.3 (Berkeley) 1/4/94 - * $Id: uipc_usrreq.c,v 1.15 1996/03/11 15:12:47 davidg Exp $ + * $Id: uipc_usrreq.c,v 1.15.4.1 1996/12/14 14:41:06 joerg Exp $ */ #include <sys/param.h> diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 477883f227d56..c489185452623 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -18,7 +18,7 @@ * 5. Modifications may be freely made to this file if the above conditions * are met. * - * $Id: vfs_bio.c,v 1.104.2.2 1996/12/15 09:54:10 davidg Exp $ + * $Id: vfs_bio.c,v 1.104.2.3 1997/02/13 08:17:18 bde Exp $ */ /* diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 924fa188d72dc..bf6054b22387c 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * @(#)vfs_cache.c 8.3 (Berkeley) 8/22/94 - * $Id: vfs_cache.c,v 1.19 1995/12/22 15:56:35 phk Exp $ + * $Id: vfs_cache.c,v 1.20 1996/01/19 03:58:12 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index d45663ad6a373..3d3c6634f395a 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * @(#)vfs_cluster.c 8.7 (Berkeley) 2/13/94 - * $Id: vfs_cluster.c,v 1.38 1996/10/06 07:50:04 dyson Exp $ + * $Id: vfs_cluster.c,v 1.38.2.1 1996/12/15 09:54:11 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/kern/vfs_conf.c b/sys/kern/vfs_conf.c index 22d08fc635ec5..7e86b7da6974b 100644 --- a/sys/kern/vfs_conf.c +++ b/sys/kern/vfs_conf.c @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)vfs_conf.c 8.8 (Berkeley) 3/31/94 - * $Id: vfs_conf.c,v 1.10 1995/10/29 15:31:25 phk Exp $ + * $Id: vfs_conf.c,v 1.11 1995/12/02 17:10:51 bde Exp $ */ /* diff --git a/sys/kern/vfs_init.c b/sys/kern/vfs_init.c index f2fcbd2166052..71d78a8310348 100644 --- a/sys/kern/vfs_init.c +++ b/sys/kern/vfs_init.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_init.c 8.3 (Berkeley) 1/4/94 - * $Id: vfs_init.c,v 1.21 1996/02/27 04:40:01 hsu Exp $ + * $Id: vfs_init.c,v 1.20 1996/03/11 02:18:23 hsu Exp $ */ diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index bad441432f6ea..15972055d57d3 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_lookup.c 8.4 (Berkeley) 2/16/94 - * $Id: vfs_lookup.c,v 1.11 1996/01/03 21:42:22 wollman Exp $ + * $Id: vfs_lookup.c,v 1.11.4.1 1996/12/03 15:48:25 phk Exp $ */ #include "opt_ktrace.h" diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 622f6c78be251..fdc98f7b3384b 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_subr.c 8.13 (Berkeley) 4/18/94 - * $Id: vfs_subr.c,v 1.64.2.2 1997/02/28 11:11:50 bde Exp $ + * $Id: vfs_subr.c,v 1.64.2.3 1997/03/05 04:58:43 davidg Exp $ */ /* diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index f3f74dc7ac44c..3e7b1b8d633c1 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 - * $Id: vfs_syscalls.c,v 1.51.2.1 1996/12/21 19:04:24 bde Exp $ + * $Id: vfs_syscalls.c,v 1.51.2.2 1997/03/07 09:20:08 joerg Exp $ */ /* diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index b8f459f46ba11..4da498e36bcd3 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_vnops.c 8.2 (Berkeley) 1/21/94 - * $Id: vfs_vnops.c,v 1.26.2.1 1997/03/07 07:48:00 gpalmer Exp $ + * $Id: vfs_vnops.c,v 1.26.2.2 1997/03/08 15:16:18 guido Exp $ */ #include <sys/param.h> diff --git a/sys/kern/vnode_if.sh b/sys/kern/vnode_if.sh index 612f1795d7cf3..b99441ad45622 100644 --- a/sys/kern/vnode_if.sh +++ b/sys/kern/vnode_if.sh @@ -32,7 +32,7 @@ # SUCH DAMAGE. # # @(#)vnode_if.sh 8.1 (Berkeley) 6/10/93 -# $Id: vnode_if.sh,v 1.8 1995/12/06 23:33:39 bde Exp $ +# $Id: vnode_if.sh,v 1.9 1995/12/14 09:52:49 phk Exp $ # # Script to produce VFS front-end sugar. diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src index b296ebc3db579..69594909a1b33 100644 --- a/sys/kern/vnode_if.src +++ b/sys/kern/vnode_if.src @@ -31,7 +31,7 @@ # SUCH DAMAGE. # # @(#)vnode_if.src 8.3 (Berkeley) 2/3/94 -# $Id: vnode_if.src,v 1.8 1995/10/23 02:55:55 dyson Exp $ +# $Id: vnode_if.src,v 1.9 1995/12/11 04:56:17 dyson Exp $ # vop_lookup { IN struct vnode *dvp; diff --git a/sys/libkern/adddi3.c b/sys/libkern/adddi3.c index 38b9df95e66b7..ba34645b6c015 100644 --- a/sys/libkern/adddi3.c +++ b/sys/libkern/adddi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: adddi3.c,v 1.2 1994/08/02 07:43:42 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/anddi3.c b/sys/libkern/anddi3.c index 9f92718ea6708..879af8e02997c 100644 --- a/sys/libkern/anddi3.c +++ b/sys/libkern/anddi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: anddi3.c,v 1.2 1994/08/02 07:43:44 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/ashldi3.c b/sys/libkern/ashldi3.c index 74fa0fdcdbced..ea555137cc6bf 100644 --- a/sys/libkern/ashldi3.c +++ b/sys/libkern/ashldi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: ashldi3.c,v 1.2 1994/08/02 07:43:46 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/ashrdi3.c b/sys/libkern/ashrdi3.c index e952e07c84576..2b54ec77bb08d 100644 --- a/sys/libkern/ashrdi3.c +++ b/sys/libkern/ashrdi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ashrdi3.c,v 1.2 1994/08/02 07:43:48 davidg Exp $ + * $Id: ashrdi3.c,v 1.3 1996/08/28 20:32:17 bde Exp $ */ #include "quad.h" diff --git a/sys/libkern/bcmp.c b/sys/libkern/bcmp.c index de9449b467177..54abcc74e6fe1 100644 --- a/sys/libkern/bcmp.c +++ b/sys/libkern/bcmp.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: bcmp.c,v 1.2 1994/08/02 07:43:50 davidg Exp $ */ #include <string.h> diff --git a/sys/libkern/cmpdi2.c b/sys/libkern/cmpdi2.c index 238bd4eb743ef..4d821c65e68ae 100644 --- a/sys/libkern/cmpdi2.c +++ b/sys/libkern/cmpdi2.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: cmpdi2.c,v 1.2 1994/08/02 07:43:53 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/divdi3.c b/sys/libkern/divdi3.c index fcc5ad43db860..b3d347d00a4af 100644 --- a/sys/libkern/divdi3.c +++ b/sys/libkern/divdi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: divdi3.c,v 1.2 1994/08/02 07:43:54 davidg Exp $ + * $Id: divdi3.c,v 1.3 1996/09/10 08:22:42 bde Exp $ */ #include <libkern/quad.h> diff --git a/sys/libkern/ffs.c b/sys/libkern/ffs.c index 74e24502caeee..d657105c5727e 100644 --- a/sys/libkern/ffs.c +++ b/sys/libkern/ffs.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: ffs.c,v 1.2 1994/08/02 07:43:57 davidg Exp $ */ #include <string.h> diff --git a/sys/libkern/index.c b/sys/libkern/index.c index c9483e7123b24..bb4dba61130ea 100644 --- a/sys/libkern/index.c +++ b/sys/libkern/index.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: index.c,v 1.1 1996/06/07 22:21:31 nate Exp $ */ #include <string.h> diff --git a/sys/libkern/iordi3.c b/sys/libkern/iordi3.c index 2819cf8e5a0ae..58a11b3f653a0 100644 --- a/sys/libkern/iordi3.c +++ b/sys/libkern/iordi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: iordi3.c,v 1.2 1994/08/02 07:44:00 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/locc.c b/sys/libkern/locc.c index 7a16e327ff2ce..2fabe9f3bb12d 100644 --- a/sys/libkern/locc.c +++ b/sys/libkern/locc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)locc.c 8.1 (Berkeley) 6/10/93 - * $Id: locc.c,v 1.2 1994/08/02 07:44:04 davidg Exp $ + * $Id: locc.c,v 1.3 1995/03/17 06:15:38 phk Exp $ */ #include <sys/libkern.h> diff --git a/sys/libkern/lshldi3.c b/sys/libkern/lshldi3.c index 0aba85e008137..2290bb6c3bb8b 100644 --- a/sys/libkern/lshldi3.c +++ b/sys/libkern/lshldi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lshldi3.c,v 1.2 1994/08/02 07:44:06 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/lshrdi3.c b/sys/libkern/lshrdi3.c index b93de210cec7e..abf38548a0067 100644 --- a/sys/libkern/lshrdi3.c +++ b/sys/libkern/lshrdi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lshrdi3.c,v 1.2 1994/08/02 07:44:08 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/mcount.c b/sys/libkern/mcount.c index ac79783372a43..ccb9ba8bc2beb 100644 --- a/sys/libkern/mcount.c +++ b/sys/libkern/mcount.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)mcount.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id: mcount.c,v 1.9 1996/10/17 19:32:25 bde Exp $"; + "$Id: mcount.c,v 1.10 1996/10/25 06:58:53 bde Exp $"; #endif #include <sys/param.h> diff --git a/sys/libkern/moddi3.c b/sys/libkern/moddi3.c index b56798c2a8d7a..980a29ac3e44e 100644 --- a/sys/libkern/moddi3.c +++ b/sys/libkern/moddi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: moddi3.c,v 1.2 1994/08/02 07:44:11 davidg Exp $ + * $Id: moddi3.c,v 1.3 1996/09/10 08:22:44 bde Exp $ */ #include <libkern/quad.h> diff --git a/sys/libkern/muldi3.c b/sys/libkern/muldi3.c index 96d100cbe712d..ed7cb8ea797ba 100644 --- a/sys/libkern/muldi3.c +++ b/sys/libkern/muldi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: muldi3.c,v 1.2 1994/08/02 07:44:13 davidg Exp $ + * $Id: muldi3.c,v 1.3 1995/05/30 08:06:41 rgrimes Exp $ */ #include "quad.h" diff --git a/sys/libkern/negdi2.c b/sys/libkern/negdi2.c index c4065e218d036..7a6cccc932454 100644 --- a/sys/libkern/negdi2.c +++ b/sys/libkern/negdi2.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: negdi2.c,v 1.2 1994/08/02 07:44:15 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/notdi2.c b/sys/libkern/notdi2.c index f451088c35001..d276002eaec18 100644 --- a/sys/libkern/notdi2.c +++ b/sys/libkern/notdi2.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: notdi2.c,v 1.2 1994/08/02 07:44:17 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/qdivrem.c b/sys/libkern/qdivrem.c index ec5ce9a459269..1e088022da19a 100644 --- a/sys/libkern/qdivrem.c +++ b/sys/libkern/qdivrem.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: qdivrem.c,v 1.3 1995/05/30 08:06:42 rgrimes Exp $ + * $Id: qdivrem.c,v 1.4 1996/09/10 08:22:46 bde Exp $ */ /* diff --git a/sys/libkern/qsort.c b/sys/libkern/qsort.c index e6200578a9fd1..60cb829826e12 100644 --- a/sys/libkern/qsort.c +++ b/sys/libkern/qsort.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: qsort.c,v 1.4 1996/08/28 20:32:19 bde Exp $ + * $Id: qsort.c,v 1.5 1996/08/31 14:48:04 bde Exp $ */ #include <stdlib.h> diff --git a/sys/libkern/quad.h b/sys/libkern/quad.h index 41c52ec275b30..bda93940f83f2 100644 --- a/sys/libkern/quad.h +++ b/sys/libkern/quad.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)quad.h 8.1 (Berkeley) 6/4/93 - * $Id: quad.h,v 1.3 1995/12/26 13:24:48 bde Exp $ + * $Id: quad.h,v 1.4 1996/04/19 17:39:40 bde Exp $ */ /* diff --git a/sys/libkern/random.c b/sys/libkern/random.c index 04cd0da7014eb..26fb46824dbcc 100644 --- a/sys/libkern/random.c +++ b/sys/libkern/random.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)random.c 8.1 (Berkeley) 6/10/93 - * $Id: random.c,v 1.3 1995/03/17 06:15:39 phk Exp $ + * $Id: random.c,v 1.4 1996/09/23 04:31:43 peter Exp $ */ #include <sys/libkern.h> diff --git a/sys/libkern/rindex.c b/sys/libkern/rindex.c index bd661fbeb0653..341d8571766c7 100644 --- a/sys/libkern/rindex.c +++ b/sys/libkern/rindex.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: rindex.c,v 1.2 1994/08/02 07:44:25 davidg Exp $ */ #include <stddef.h> diff --git a/sys/libkern/scanc.c b/sys/libkern/scanc.c index 496b46d85e7e0..ebaa5c7f90005 100644 --- a/sys/libkern/scanc.c +++ b/sys/libkern/scanc.c @@ -32,7 +32,7 @@ * * @(#)scanc.c 8.1 (Berkeley) 6/10/93 * - * $Id: scanc.c,v 1.4 1995/07/11 18:50:47 bde Exp $ + * $Id: scanc.c,v 1.5 1996/08/31 16:52:32 bde Exp $ */ #include <sys/libkern.h> diff --git a/sys/libkern/skpc.c b/sys/libkern/skpc.c index 0663e44f6a764..c962901a11523 100644 --- a/sys/libkern/skpc.c +++ b/sys/libkern/skpc.c @@ -32,7 +32,7 @@ * * @(#)skpc.c 8.1 (Berkeley) 6/10/93 * - * $Id: skpc.c,v 1.2 1994/08/02 07:44:29 davidg Exp $ + * $Id: skpc.c,v 1.3 1995/03/17 06:15:40 phk Exp $ */ #include <sys/libkern.h> diff --git a/sys/libkern/strcat.c b/sys/libkern/strcat.c index 07e79231ddb5f..06c24dabcd13c 100644 --- a/sys/libkern/strcat.c +++ b/sys/libkern/strcat.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: strcat.c,v 1.2 1994/08/02 07:44:31 davidg Exp $ */ #include <string.h> diff --git a/sys/libkern/strcmp.c b/sys/libkern/strcmp.c index 48e5635f1aade..b45f7dfac3c04 100644 --- a/sys/libkern/strcmp.c +++ b/sys/libkern/strcmp.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: strcmp.c,v 1.2 1994/08/02 07:44:33 davidg Exp $ + * $Id: strcmp.c,v 1.3 1996/08/31 16:52:33 bde Exp $ */ #include <sys/cdefs.h> diff --git a/sys/libkern/strcpy.c b/sys/libkern/strcpy.c index 2715720e3d23e..3da63196467d4 100644 --- a/sys/libkern/strcpy.c +++ b/sys/libkern/strcpy.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: strcpy.c,v 1.2 1994/08/02 07:44:36 davidg Exp $ */ #include <sys/cdefs.h> diff --git a/sys/libkern/strlen.c b/sys/libkern/strlen.c index 1d1352c09e6b0..2f9d5da1daa56 100644 --- a/sys/libkern/strlen.c +++ b/sys/libkern/strlen.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: strlen.c,v 1.2 1994/08/02 07:44:38 davidg Exp $ */ #include <sys/cdefs.h> diff --git a/sys/libkern/strncmp.c b/sys/libkern/strncmp.c index e3c43274568ac..8b459a6aaec8b 100644 --- a/sys/libkern/strncmp.c +++ b/sys/libkern/strncmp.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: strncmp.c,v 1.2 1996/08/28 20:32:21 bde Exp $ + * $Id: strncmp.c,v 1.3 1996/08/31 16:52:33 bde Exp $ */ #include <sys/cdefs.h> diff --git a/sys/libkern/strncpy.c b/sys/libkern/strncpy.c index 8aea6908849d7..250989447f72b 100644 --- a/sys/libkern/strncpy.c +++ b/sys/libkern/strncpy.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: strncpy.c,v 1.2 1994/08/02 07:44:39 davidg Exp $ */ #include <sys/cdefs.h> diff --git a/sys/libkern/subdi3.c b/sys/libkern/subdi3.c index cb54477a4d45c..25cf697d67da6 100644 --- a/sys/libkern/subdi3.c +++ b/sys/libkern/subdi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: subdi3.c,v 1.2 1994/08/02 07:44:41 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/ucmpdi2.c b/sys/libkern/ucmpdi2.c index 4aa3e50637dd7..a1a037975785e 100644 --- a/sys/libkern/ucmpdi2.c +++ b/sys/libkern/ucmpdi2.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: ucmpdi2.c,v 1.2 1994/08/02 07:44:43 davidg Exp $ */ #include "quad.h" diff --git a/sys/libkern/udivdi3.c b/sys/libkern/udivdi3.c index dc66480312f17..2d20fdf7a0f06 100644 --- a/sys/libkern/udivdi3.c +++ b/sys/libkern/udivdi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: udivdi3.c,v 1.2 1994/08/02 07:44:44 davidg Exp $ + * $Id: udivdi3.c,v 1.3 1996/09/10 08:22:49 bde Exp $ */ #include <libkern/quad.h> diff --git a/sys/libkern/umoddi3.c b/sys/libkern/umoddi3.c index 22992f98210b2..414b0302e731c 100644 --- a/sys/libkern/umoddi3.c +++ b/sys/libkern/umoddi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: umoddi3.c,v 1.2 1994/08/02 07:44:46 davidg Exp $ + * $Id: umoddi3.c,v 1.3 1996/09/10 08:22:52 bde Exp $ */ #include <libkern/quad.h> diff --git a/sys/libkern/xordi3.c b/sys/libkern/xordi3.c index e49190902a22b..98b2a2bb2df37 100644 --- a/sys/libkern/xordi3.c +++ b/sys/libkern/xordi3.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: xordi3.c,v 1.2 1994/08/02 07:44:48 davidg Exp $ */ #include "quad.h" diff --git a/sys/miscfs/deadfs/dead_vnops.c b/sys/miscfs/deadfs/dead_vnops.c index 1a83e09f8bfd7..c447b8a5df5dc 100644 --- a/sys/miscfs/deadfs/dead_vnops.c +++ b/sys/miscfs/deadfs/dead_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)dead_vnops.c 8.1 (Berkeley) 6/10/93 - * $Id: dead_vnops.c,v 1.9 1995/11/11 03:36:07 bde Exp $ + * $Id: dead_vnops.c,v 1.10 1995/12/02 17:14:34 phk Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/devfs/devfs_tree.c b/sys/miscfs/devfs/devfs_tree.c index 095688a17e9cc..0e1fe5fa99458 100644 --- a/sys/miscfs/devfs/devfs_tree.c +++ b/sys/miscfs/devfs/devfs_tree.c @@ -2,7 +2,7 @@ /* * Written by Julian Elischer (julian@DIALix.oz.au) * - * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_tree.c,v 1.33 1996/11/21 07:18:57 julian Exp $ + * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_tree.c,v 1.32.2.1 1996/11/23 08:32:08 phk Exp $ */ #include "opt_devfs.h" diff --git a/sys/miscfs/devfs/devfs_vfsops.c b/sys/miscfs/devfs/devfs_vfsops.c index 7eb040f290e00..da5badb961ab6 100644 --- a/sys/miscfs/devfs/devfs_vfsops.c +++ b/sys/miscfs/devfs/devfs_vfsops.c @@ -1,7 +1,7 @@ /* * Written by Julian Elischer (julian@DIALix.oz.au) * - * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vfsops.c,v 1.15 1996/11/21 07:18:58 julian Exp $ + * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vfsops.c,v 1.14.2.1 1996/11/23 08:32:09 phk Exp $ * * */ diff --git a/sys/miscfs/devfs/devfs_vnops.c b/sys/miscfs/devfs/devfs_vnops.c index 3ac8c3eee641d..51b662d996623 100644 --- a/sys/miscfs/devfs/devfs_vnops.c +++ b/sys/miscfs/devfs/devfs_vnops.c @@ -1,7 +1,7 @@ /* * Written by Julian Elischer (julian@DIALix.oz.au) * - * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vnops.c,v 1.33 1996/11/21 07:18:59 julian Exp $ + * $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vnops.c,v 1.32.2.1 1996/11/23 08:32:09 phk Exp $ * * symlinks can wait 'til later. */ diff --git a/sys/miscfs/devfs/devfsdefs.h b/sys/miscfs/devfs/devfsdefs.h index d0caf1740d698..7501c0f44abef 100644 --- a/sys/miscfs/devfs/devfsdefs.h +++ b/sys/miscfs/devfs/devfsdefs.h @@ -7,7 +7,7 @@ /* * Written by Julian Elischer (julian@DIALIX.oz.au) * - * $Header: /home/ncvs/src/sys/miscfs/devfs/devfsdefs.h,v 1.11 1996/11/21 07:19:00 julian Exp $ + * $Header: /home/ncvs/src/sys/miscfs/devfs/devfsdefs.h,v 1.10.2.1 1996/11/23 08:32:10 phk Exp $ */ /* first a couple of defines for compatibility with inodes */ diff --git a/sys/miscfs/fdesc/fdesc.h b/sys/miscfs/fdesc/fdesc.h index 321400443f3e0..530ce23562f1c 100644 --- a/sys/miscfs/fdesc/fdesc.h +++ b/sys/miscfs/fdesc/fdesc.h @@ -35,7 +35,7 @@ * * @(#)fdesc.h 8.5 (Berkeley) 1/21/94 * - * $Id: fdesc.h,v 1.1.1.1 1994/05/24 10:04:59 rgrimes Exp $ + * $Id: fdesc.h,v 1.2 1995/11/09 08:15:11 bde Exp $ */ #ifdef KERNEL diff --git a/sys/miscfs/fdesc/fdesc_vfsops.c b/sys/miscfs/fdesc/fdesc_vfsops.c index 1efeb7323afe1..99bc8cb74a233 100644 --- a/sys/miscfs/fdesc/fdesc_vfsops.c +++ b/sys/miscfs/fdesc/fdesc_vfsops.c @@ -35,7 +35,7 @@ * * @(#)fdesc_vfsops.c 8.4 (Berkeley) 1/21/94 * - * $Id: fdesc_vfsops.c,v 1.6 1995/11/07 13:39:18 phk Exp $ + * $Id: fdesc_vfsops.c,v 1.7 1995/11/16 10:58:35 bde Exp $ */ /* diff --git a/sys/miscfs/fdesc/fdesc_vnops.c b/sys/miscfs/fdesc/fdesc_vnops.c index fc14f70647fd4..cfc0729e7c087 100644 --- a/sys/miscfs/fdesc/fdesc_vnops.c +++ b/sys/miscfs/fdesc/fdesc_vnops.c @@ -35,7 +35,7 @@ * * @(#)fdesc_vnops.c 8.9 (Berkeley) 1/21/94 * - * $Id: fdesc_vnops.c,v 1.19 1996/09/20 05:56:36 nate Exp $ + * $Id: fdesc_vnops.c,v 1.19.2.1 1996/12/21 19:04:28 bde Exp $ */ /* diff --git a/sys/miscfs/fifofs/fifo.h b/sys/miscfs/fifofs/fifo.h index 62cd4df260712..ddb5a1c693c3b 100644 --- a/sys/miscfs/fifofs/fifo.h +++ b/sys/miscfs/fifofs/fifo.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fifo.h 8.2 (Berkeley) 2/2/94 - * $Id: fifo.h,v 1.9 1995/12/11 10:26:32 phk Exp $ + * $Id: fifo.h,v 1.10 1995/12/14 09:53:00 phk Exp $ */ extern vop_t **fifo_vnodeop_p; diff --git a/sys/miscfs/fifofs/fifo_vnops.c b/sys/miscfs/fifofs/fifo_vnops.c index ded0d5f85361d..6d5e4cc24b190 100644 --- a/sys/miscfs/fifofs/fifo_vnops.c +++ b/sys/miscfs/fifofs/fifo_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fifo_vnops.c 8.2 (Berkeley) 1/4/94 - * $Id: fifo_vnops.c,v 1.16 1996/02/13 18:16:23 wollman Exp $ + * $Id: fifo_vnops.c,v 1.17 1996/09/03 14:22:23 bde Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/kernfs/kernfs.h b/sys/miscfs/kernfs/kernfs.h index 873ee4e182b2a..66649ad38eea0 100644 --- a/sys/miscfs/kernfs/kernfs.h +++ b/sys/miscfs/kernfs/kernfs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)kernfs.h 8.4 (Berkeley) 1/21/94 - * $Id: kernfs.h,v 1.2 1994/08/02 07:44:59 davidg Exp $ + * $Id: kernfs.h,v 1.3 1995/11/09 08:15:35 bde Exp $ */ #define _PATH_KERNFS "/kern" /* Default mountpoint */ diff --git a/sys/miscfs/kernfs/kernfs_vfsops.c b/sys/miscfs/kernfs/kernfs_vfsops.c index 3a3e33c6d8a4d..86bfd3f521cef 100644 --- a/sys/miscfs/kernfs/kernfs_vfsops.c +++ b/sys/miscfs/kernfs/kernfs_vfsops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)kernfs_vfsops.c 8.4 (Berkeley) 1/21/94 - * $Id: kernfs_vfsops.c,v 1.13 1995/12/14 18:26:55 julian Exp $ + * $Id: kernfs_vfsops.c,v 1.14 1996/06/12 03:37:16 davidg Exp $ */ /* diff --git a/sys/miscfs/kernfs/kernfs_vnops.c b/sys/miscfs/kernfs/kernfs_vnops.c index 5841ed1811915..f769758c11a01 100644 --- a/sys/miscfs/kernfs/kernfs_vnops.c +++ b/sys/miscfs/kernfs/kernfs_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)kernfs_vnops.c 8.6 (Berkeley) 2/10/94 - * $Id: kernfs_vnops.c,v 1.15 1996/07/03 03:48:46 phk Exp $ + * $Id: kernfs_vnops.c,v 1.16 1996/09/03 14:22:29 bde Exp $ */ /* diff --git a/sys/miscfs/nullfs/null.h b/sys/miscfs/nullfs/null.h index f95724970d659..871c21d5dfaa3 100644 --- a/sys/miscfs/nullfs/null.h +++ b/sys/miscfs/nullfs/null.h @@ -35,7 +35,7 @@ * * @(#)null.h 8.2 (Berkeley) 1/21/94 * - * $Id: null.h,v 1.1.1.1 1994/05/24 10:05:04 rgrimes Exp $ + * $Id: null.h,v 1.2 1995/11/09 08:14:49 bde Exp $ */ struct null_args { diff --git a/sys/miscfs/nullfs/null_subr.c b/sys/miscfs/nullfs/null_subr.c index 4123dc2e7d5f4..279993a924fd7 100644 --- a/sys/miscfs/nullfs/null_subr.c +++ b/sys/miscfs/nullfs/null_subr.c @@ -35,7 +35,7 @@ * * @(#)null_subr.c 8.4 (Berkeley) 1/21/94 * - * $Id: null_subr.c,v 1.5 1995/12/03 14:54:22 bde Exp $ + * $Id: null_subr.c,v 1.6 1996/06/12 03:37:21 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/nullfs/null_vfsops.c b/sys/miscfs/nullfs/null_vfsops.c index 3fd0582861705..b74b408a4ca6e 100644 --- a/sys/miscfs/nullfs/null_vfsops.c +++ b/sys/miscfs/nullfs/null_vfsops.c @@ -36,7 +36,7 @@ * @(#)null_vfsops.c 8.2 (Berkeley) 1/21/94 * * @(#)lofs_vfsops.c 1.2 (Berkeley) 6/18/92 - * $Id: null_vfsops.c,v 1.8 1995/12/03 14:54:23 bde Exp $ + * $Id: null_vfsops.c,v 1.9 1995/12/11 09:24:35 phk Exp $ */ /* diff --git a/sys/miscfs/nullfs/null_vnops.c b/sys/miscfs/nullfs/null_vnops.c index 676e767a680d1..e97a90314eed5 100644 --- a/sys/miscfs/nullfs/null_vnops.c +++ b/sys/miscfs/nullfs/null_vnops.c @@ -35,7 +35,7 @@ * * @(#)null_vnops.c 8.1 (Berkeley) 6/10/93 * - * $Id: null_vnops.c,v 1.10 1995/12/03 14:54:24 bde Exp $ + * $Id: null_vnops.c,v 1.11 1995/12/11 09:24:38 phk Exp $ */ /* diff --git a/sys/miscfs/portal/portal.h b/sys/miscfs/portal/portal.h index f2f1e7b66f6a5..8f493e19a821e 100644 --- a/sys/miscfs/portal/portal.h +++ b/sys/miscfs/portal/portal.h @@ -35,7 +35,7 @@ * * @(#)portal.h 8.4 (Berkeley) 1/21/94 * - * $Id: portal.h,v 1.1.1.1 1994/05/24 10:05:06 rgrimes Exp $ + * $Id: portal.h,v 1.2 1995/11/09 08:15:49 bde Exp $ */ struct portal_args { diff --git a/sys/miscfs/portal/portal_vfsops.c b/sys/miscfs/portal/portal_vfsops.c index 500b9ef4089c4..bd4d43210c7c6 100644 --- a/sys/miscfs/portal/portal_vfsops.c +++ b/sys/miscfs/portal/portal_vfsops.c @@ -35,7 +35,7 @@ * * @(#)portal_vfsops.c 8.6 (Berkeley) 1/21/94 * - * $Id: portal_vfsops.c,v 1.10 1995/12/11 09:24:43 phk Exp $ + * $Id: portal_vfsops.c,v 1.11 1996/06/12 03:37:25 davidg Exp $ */ /* diff --git a/sys/miscfs/portal/portal_vnops.c b/sys/miscfs/portal/portal_vnops.c index a9d7328b43c68..faa3d93e1bce1 100644 --- a/sys/miscfs/portal/portal_vnops.c +++ b/sys/miscfs/portal/portal_vnops.c @@ -35,7 +35,7 @@ * * @(#)portal_vnops.c 8.8 (Berkeley) 1/21/94 * - * $Id: portal_vnops.c,v 1.13 1996/06/12 05:09:59 gpalmer Exp $ + * $Id: portal_vnops.c,v 1.14 1996/09/03 14:23:04 bde Exp $ */ /* diff --git a/sys/miscfs/procfs/README b/sys/miscfs/procfs/README index 38811b3f6e3a3..7c54a04ec66ca 100644 --- a/sys/miscfs/procfs/README +++ b/sys/miscfs/procfs/README @@ -110,4 +110,4 @@ the debugger, the debugger should fork and the child should stop itself "attach". as before, the child will hit a breakpoint on the first instruction in any newly exec'd image. -$Id: README,v 3.1 1993/12/15 09:40:17 jsp Exp $ +$Id: README,v 1.1.1.1 1994/05/24 10:05:10 rgrimes Exp $ diff --git a/sys/miscfs/procfs/procfs.h b/sys/miscfs/procfs/procfs.h index b639980d95dea..4b2b19e99eefb 100644 --- a/sys/miscfs/procfs/procfs.h +++ b/sys/miscfs/procfs/procfs.h @@ -36,7 +36,7 @@ * * @(#)procfs.h 8.6 (Berkeley) 2/3/94 * - * $Id: procfs.h,v 1.11 1996/06/18 05:15:58 dyson Exp $ + * $Id: procfs.h,v 1.12 1996/07/02 13:38:07 dyson Exp $ */ /* diff --git a/sys/miscfs/procfs/procfs_ctl.c b/sys/miscfs/procfs/procfs_ctl.c index 78d4ac2a545d7..48aacd3aaff46 100644 --- a/sys/miscfs/procfs/procfs_ctl.c +++ b/sys/miscfs/procfs/procfs_ctl.c @@ -36,7 +36,7 @@ * * @(#)procfs_ctl.c 8.3 (Berkeley) 1/21/94 * - * $Id: procfs_ctl.c,v 1.8 1995/12/07 12:47:14 davidg Exp $ + * $Id: procfs_ctl.c,v 1.9 1996/01/24 18:40:49 peter Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/procfs/procfs_fpregs.c b/sys/miscfs/procfs/procfs_fpregs.c index 3f233bd2c1f51..b81aa2df03378 100644 --- a/sys/miscfs/procfs/procfs_fpregs.c +++ b/sys/miscfs/procfs/procfs_fpregs.c @@ -36,7 +36,7 @@ * * @(#)procfs_fpregs.c 8.1 (Berkeley) 1/27/94 * - * $Id: procfs_fpregs.c,v 1.2 1994/08/02 07:45:12 davidg Exp $ + * $Id: procfs_fpregs.c,v 1.3 1996/01/24 18:40:56 peter Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/procfs/procfs_map.c b/sys/miscfs/procfs/procfs_map.c index d9bbe180852aa..cf26e90326df9 100644 --- a/sys/miscfs/procfs/procfs_map.c +++ b/sys/miscfs/procfs/procfs_map.c @@ -36,7 +36,7 @@ * * @(#)procfs_status.c 8.3 (Berkeley) 2/17/94 * - * $Id: procfs_map.c,v 1.6 1996/10/30 03:52:57 dyson Exp $ + * $Id: procfs_map.c,v 1.6.2.1 1997/03/25 04:54:10 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/procfs/procfs_mem.c b/sys/miscfs/procfs/procfs_mem.c index 6481235812d79..8ff36f0e9e0b1 100644 --- a/sys/miscfs/procfs/procfs_mem.c +++ b/sys/miscfs/procfs/procfs_mem.c @@ -37,7 +37,7 @@ * * @(#)procfs_mem.c 8.4 (Berkeley) 1/21/94 * - * $Id: procfs_mem.c,v 1.19 1996/07/02 01:40:52 dyson Exp $ + * $Id: procfs_mem.c,v 1.20 1996/10/24 02:47:05 dyson Exp $ */ /* diff --git a/sys/miscfs/procfs/procfs_note.c b/sys/miscfs/procfs/procfs_note.c index a7699f29e123c..ca4b7d6920bc8 100644 --- a/sys/miscfs/procfs/procfs_note.c +++ b/sys/miscfs/procfs/procfs_note.c @@ -36,7 +36,7 @@ * * @(#)procfs_note.c 8.2 (Berkeley) 1/21/94 * - * $Id: procfs_note.c,v 1.1.1.1 1994/05/24 10:05:09 rgrimes Exp $ + * $Id: procfs_note.c,v 1.2 1994/08/02 07:45:16 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/procfs/procfs_regs.c b/sys/miscfs/procfs/procfs_regs.c index bc5520c6617d8..8a87f63aec14f 100644 --- a/sys/miscfs/procfs/procfs_regs.c +++ b/sys/miscfs/procfs/procfs_regs.c @@ -36,7 +36,7 @@ * * @(#)procfs_regs.c 8.3 (Berkeley) 1/27/94 * - * $Id: procfs_regs.c,v 1.2 1994/08/02 07:45:18 davidg Exp $ + * $Id: procfs_regs.c,v 1.3 1996/01/24 18:41:25 peter Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/procfs/procfs_status.c b/sys/miscfs/procfs/procfs_status.c index 87292cbd5c401..81f37617f86cd 100644 --- a/sys/miscfs/procfs/procfs_status.c +++ b/sys/miscfs/procfs/procfs_status.c @@ -36,7 +36,7 @@ * * @(#)procfs_status.c 8.3 (Berkeley) 2/17/94 * - * $Id: procfs_status.c,v 1.4 1995/05/30 08:07:10 rgrimes Exp $ + * $Id: procfs_status.c,v 1.5 1996/02/02 05:19:20 wosch Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/procfs/procfs_subr.c b/sys/miscfs/procfs/procfs_subr.c index 019a074c8b485..0acd6622e142c 100644 --- a/sys/miscfs/procfs/procfs_subr.c +++ b/sys/miscfs/procfs/procfs_subr.c @@ -36,7 +36,7 @@ * * @(#)procfs_subr.c 8.4 (Berkeley) 1/27/94 * - * $Id: procfs_subr.c,v 1.9 1996/07/02 13:38:10 dyson Exp $ + * $Id: procfs_subr.c,v 1.10 1996/08/31 16:52:39 bde Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/procfs/procfs_type.c b/sys/miscfs/procfs/procfs_type.c index 0e94c2520a6a1..6f8d4adeb74cb 100644 --- a/sys/miscfs/procfs/procfs_type.c +++ b/sys/miscfs/procfs/procfs_type.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: procfs_map.c,v 1.1 1996/06/17 22:53:27 dyson Exp $ + * $Id: procfs_type.c,v 1.1 1996/06/18 05:22:45 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/procfs/procfs_vfsops.c b/sys/miscfs/procfs/procfs_vfsops.c index 83aec27bf4938..79934699ae1f3 100644 --- a/sys/miscfs/procfs/procfs_vfsops.c +++ b/sys/miscfs/procfs/procfs_vfsops.c @@ -36,7 +36,7 @@ * * @(#)procfs_vfsops.c 8.4 (Berkeley) 1/21/94 * - * $Id: procfs_vfsops.c,v 1.11 1995/11/07 13:39:30 phk Exp $ + * $Id: procfs_vfsops.c,v 1.12 1995/11/16 11:34:51 bde Exp $ */ /* diff --git a/sys/miscfs/procfs/procfs_vnops.c b/sys/miscfs/procfs/procfs_vnops.c index cd1a550b4604a..97243ca9ef840 100644 --- a/sys/miscfs/procfs/procfs_vnops.c +++ b/sys/miscfs/procfs/procfs_vnops.c @@ -36,7 +36,7 @@ * * @(#)procfs_vnops.c 8.6 (Berkeley) 2/7/94 * - * $Id: procfs_vnops.c,v 1.23 1996/06/18 05:16:00 dyson Exp $ + * $Id: procfs_vnops.c,v 1.24 1996/09/03 14:23:10 bde Exp $ */ /* diff --git a/sys/miscfs/specfs/spec_vnops.c b/sys/miscfs/specfs/spec_vnops.c index 94fcb653ba3aa..47712d38b0f29 100644 --- a/sys/miscfs/specfs/spec_vnops.c +++ b/sys/miscfs/specfs/spec_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spec_vnops.c 8.6 (Berkeley) 4/9/94 - * $Id: spec_vnops.c,v 1.32 1996/09/03 14:23:21 bde Exp $ + * $Id: spec_vnops.c,v 1.33 1996/10/06 21:19:33 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/specfs/specdev.h b/sys/miscfs/specfs/specdev.h index c2bd8be8cd954..a7f2645b12daf 100644 --- a/sys/miscfs/specfs/specdev.h +++ b/sys/miscfs/specfs/specdev.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)specdev.h 8.2 (Berkeley) 2/2/94 - * $Id: specdev.h,v 1.7 1995/12/11 04:56:43 dyson Exp $ + * $Id: specdev.h,v 1.8 1995/12/14 09:53:07 phk Exp $ */ /* diff --git a/sys/miscfs/umapfs/umap.h b/sys/miscfs/umapfs/umap.h index ad78ccdf44f2b..d6963c20ddf5e 100644 --- a/sys/miscfs/umapfs/umap.h +++ b/sys/miscfs/umapfs/umap.h @@ -35,7 +35,7 @@ * * @(#)umap.h 8.3 (Berkeley) 1/21/94 * - * $Id: umap.h,v 1.3 1995/05/30 08:07:15 rgrimes Exp $ + * $Id: umap.h,v 1.4 1995/11/09 08:16:23 bde Exp $ */ #define MAPFILEENTRIES 64 diff --git a/sys/miscfs/umapfs/umap_subr.c b/sys/miscfs/umapfs/umap_subr.c index fe1ec56db19ce..736bd983ed979 100644 --- a/sys/miscfs/umapfs/umap_subr.c +++ b/sys/miscfs/umapfs/umap_subr.c @@ -35,7 +35,7 @@ * * @(#)umap_subr.c 8.6 (Berkeley) 1/26/94 * - * $Id: umap_subr.c,v 1.6 1995/12/03 14:54:39 bde Exp $ + * $Id: umap_subr.c,v 1.7 1996/06/12 03:37:39 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/umapfs/umap_vfsops.c b/sys/miscfs/umapfs/umap_vfsops.c index b9f52342b228c..4de1b81b27d9d 100644 --- a/sys/miscfs/umapfs/umap_vfsops.c +++ b/sys/miscfs/umapfs/umap_vfsops.c @@ -35,7 +35,7 @@ * * @(#)umap_vfsops.c 8.3 (Berkeley) 1/21/94 * - * $Id: umap_vfsops.c,v 1.9 1995/12/03 14:54:40 bde Exp $ + * $Id: umap_vfsops.c,v 1.10 1995/12/11 09:24:56 phk Exp $ */ /* diff --git a/sys/miscfs/umapfs/umap_vnops.c b/sys/miscfs/umapfs/umap_vnops.c index 3ce6a4b90d1de..af2b42cfbc28d 100644 --- a/sys/miscfs/umapfs/umap_vnops.c +++ b/sys/miscfs/umapfs/umap_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)umap_vnops.c 8.3 (Berkeley) 1/5/94 - * $Id: umap_vnops.c,v 1.11 1995/12/03 14:54:41 bde Exp $ + * $Id: umap_vnops.c,v 1.12 1995/12/11 09:24:58 phk Exp $ */ /* diff --git a/sys/miscfs/union/libc.opendir.c b/sys/miscfs/union/libc.opendir.c index 15e3a0ce76376..f3130ee7a5b25 100644 --- a/sys/miscfs/union/libc.opendir.c +++ b/sys/miscfs/union/libc.opendir.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: libc.opendir.c,v 1.2 1994/08/02 07:45:40 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/union/union.h b/sys/miscfs/union/union.h index 55c1c870ef8a4..c7b0048298e26 100644 --- a/sys/miscfs/union/union.h +++ b/sys/miscfs/union/union.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)union.h 8.2 (Berkeley) 2/17/94 - * $Id: union.h,v 1.3 1995/03/16 18:14:02 bde Exp $ + * $Id: union.h,v 1.4 1995/11/09 08:16:36 bde Exp $ */ struct union_args { diff --git a/sys/miscfs/union/union_subr.c b/sys/miscfs/union/union_subr.c index d7916a660d3e9..1ac5f85f8dd76 100644 --- a/sys/miscfs/union/union_subr.c +++ b/sys/miscfs/union/union_subr.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)union_subr.c 8.4 (Berkeley) 2/17/94 - * $Id: union_subr.c,v 1.7 1995/08/17 11:53:50 bde Exp $ + * $Id: union_subr.c,v 1.8 1995/12/03 14:54:46 bde Exp $ */ #include <sys/param.h> diff --git a/sys/miscfs/union/union_vfsops.c b/sys/miscfs/union/union_vfsops.c index bee21cf997d49..7e9d463bbf3eb 100644 --- a/sys/miscfs/union/union_vfsops.c +++ b/sys/miscfs/union/union_vfsops.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)union_vfsops.c 8.7 (Berkeley) 3/5/94 - * $Id: union_vfsops.c,v 1.10 1995/05/30 08:07:26 rgrimes Exp $ + * $Id: union_vfsops.c,v 1.11 1995/12/03 14:54:47 bde Exp $ */ /* diff --git a/sys/miscfs/union/union_vnops.c b/sys/miscfs/union/union_vnops.c index 1a48432af10b8..32cd8b59abc4a 100644 --- a/sys/miscfs/union/union_vnops.c +++ b/sys/miscfs/union/union_vnops.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)union_vnops.c 8.6 (Berkeley) 2/17/94 - * $Id: union_vnops.c,v 1.13 1995/11/09 08:16:38 bde Exp $ + * $Id: union_vnops.c,v 1.14 1995/12/03 14:54:48 bde Exp $ */ #include <sys/param.h> diff --git a/sys/msdosfs/bootsect.h b/sys/msdosfs/bootsect.h index 857dd70dbfcd6..e84f1e2542b1b 100644 --- a/sys/msdosfs/bootsect.h +++ b/sys/msdosfs/bootsect.h @@ -1,4 +1,4 @@ -/* $Id: bootsect.h,v 1.2 1995/05/30 08:07:29 rgrimes Exp $ */ +/* $Id: bootsect.h,v 1.3 1995/10/31 20:54:33 pst Exp $ */ /* $NetBSD: bootsect.h,v 1.4 1994/06/29 06:35:28 cgd Exp $ */ /* diff --git a/sys/msdosfs/bpb.h b/sys/msdosfs/bpb.h index 61fbf702012bb..c26307118150e 100644 --- a/sys/msdosfs/bpb.h +++ b/sys/msdosfs/bpb.h @@ -1,4 +1,4 @@ -/* $Id: bpb.h,v 1.2 1995/05/30 08:07:30 rgrimes Exp $ */ +/* $Id: bpb.h,v 1.3 1996/01/30 22:57:21 mpp Exp $ */ /* $NetBSD: bpb.h,v 1.3 1994/06/29 06:35:29 cgd Exp $ */ /* diff --git a/sys/msdosfs/denode.h b/sys/msdosfs/denode.h index 46a7156f3d812..69fa6ac9bef26 100644 --- a/sys/msdosfs/denode.h +++ b/sys/msdosfs/denode.h @@ -1,4 +1,4 @@ -/* $Id: denode.h,v 1.8 1995/11/09 08:17:21 bde Exp $ */ +/* $Id: denode.h,v 1.9 1996/07/28 07:58:55 ache Exp $ */ /* $NetBSD: denode.h,v 1.8 1994/08/21 18:43:49 ws Exp $ */ /*- diff --git a/sys/msdosfs/direntry.h b/sys/msdosfs/direntry.h index f4eecac02d977..6a82a32ea8d62 100644 --- a/sys/msdosfs/direntry.h +++ b/sys/msdosfs/direntry.h @@ -1,4 +1,4 @@ -/* $Id: direntry.h,v 1.1 1994/09/19 15:41:39 dfr Exp $ */ +/* $Id: direntry.h,v 1.2 1995/05/30 08:07:33 rgrimes Exp $ */ /* $NetBSD: direntry.h,v 1.7 1994/08/21 18:43:54 ws Exp $ */ /*- diff --git a/sys/msdosfs/fat.h b/sys/msdosfs/fat.h index 7fc30ba343cf5..7114585c8a200 100644 --- a/sys/msdosfs/fat.h +++ b/sys/msdosfs/fat.h @@ -1,4 +1,4 @@ -/* $Id: fat.h,v 1.3 1995/05/30 08:07:34 rgrimes Exp $ */ +/* $Id: fat.h,v 1.4 1995/11/07 14:06:40 phk Exp $ */ /* $NetBSD: fat.h,v 1.4 1994/08/21 18:43:57 ws Exp $ */ /*- diff --git a/sys/msdosfs/msdosfs_conv.c b/sys/msdosfs/msdosfs_conv.c index 024e3c74ba4e9..2189547e5859a 100644 --- a/sys/msdosfs/msdosfs_conv.c +++ b/sys/msdosfs/msdosfs_conv.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_conv.c,v 1.10 1996/09/19 18:20:43 nate Exp $ */ +/* $Id: msdosfs_conv.c,v 1.10.2.1 1996/12/14 14:42:07 joerg Exp $ */ /* $NetBSD: msdosfs_conv.c,v 1.6.2.1 1994/08/30 02:27:57 cgd Exp $ */ /* diff --git a/sys/msdosfs/msdosfs_denode.c b/sys/msdosfs/msdosfs_denode.c index 90d598ddf75ce..0336b84c2b305 100644 --- a/sys/msdosfs/msdosfs_denode.c +++ b/sys/msdosfs/msdosfs_denode.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_denode.c,v 1.17 1996/06/12 03:37:42 davidg Exp $ */ +/* $Id: msdosfs_denode.c,v 1.18 1996/06/14 11:01:34 asami Exp $ */ /* $NetBSD: msdosfs_denode.c,v 1.9 1994/08/21 18:44:00 ws Exp $ */ /*- diff --git a/sys/msdosfs/msdosfs_fat.c b/sys/msdosfs/msdosfs_fat.c index 5a59bbb7d87fc..3f10c8daa3cfa 100644 --- a/sys/msdosfs/msdosfs_fat.c +++ b/sys/msdosfs/msdosfs_fat.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_fat.c,v 1.9 1995/11/07 14:06:42 phk Exp $ */ +/* $Id: msdosfs_fat.c,v 1.10 1995/12/03 16:41:57 bde Exp $ */ /* $NetBSD: msdosfs_fat.c,v 1.12 1994/08/21 18:44:04 ws Exp $ */ /*- diff --git a/sys/msdosfs/msdosfs_lookup.c b/sys/msdosfs/msdosfs_lookup.c index db4f927d6072b..963c3ef8588d7 100644 --- a/sys/msdosfs/msdosfs_lookup.c +++ b/sys/msdosfs/msdosfs_lookup.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_lookup.c,v 1.6 1995/12/03 16:42:01 bde Exp $ */ +/* $Id: msdosfs_lookup.c,v 1.7 1996/06/14 11:01:36 asami Exp $ */ /* $NetBSD: msdosfs_lookup.c,v 1.14 1994/08/21 18:44:07 ws Exp $ */ /*- diff --git a/sys/msdosfs/msdosfs_vfsops.c b/sys/msdosfs/msdosfs_vfsops.c index 7ada694976457..c7399fb596edc 100644 --- a/sys/msdosfs/msdosfs_vfsops.c +++ b/sys/msdosfs/msdosfs_vfsops.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_vfsops.c,v 1.12 1996/04/03 23:05:40 gpalmer Exp $ */ +/* $Id: msdosfs_vfsops.c,v 1.13 1996/06/14 11:01:37 asami Exp $ */ /* $NetBSD: msdosfs_vfsops.c,v 1.19 1994/08/21 18:44:10 ws Exp $ */ /*- diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c index 66eaee6682a23..3114f94d10696 100644 --- a/sys/msdosfs/msdosfs_vnops.c +++ b/sys/msdosfs/msdosfs_vnops.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_vnops.c,v 1.34 1996/10/02 05:01:17 dyson Exp $ */ +/* $Id: msdosfs_vnops.c,v 1.34.2.1 1997/02/13 07:27:18 bde Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.20 1994/08/21 18:44:13 ws Exp $ */ /*- diff --git a/sys/msdosfs/msdosfsmount.h b/sys/msdosfs/msdosfsmount.h index 18eae6b8956b2..55a3ac6d07cb2 100644 --- a/sys/msdosfs/msdosfsmount.h +++ b/sys/msdosfs/msdosfsmount.h @@ -1,4 +1,4 @@ -/* $Id: msdosfsmount.h,v 1.5 1995/11/16 11:48:10 bde Exp $ */ +/* $Id: msdosfsmount.h,v 1.6 1996/01/30 22:57:25 mpp Exp $ */ /* $NetBSD: msdosfsmount.h,v 1.7 1994/08/21 18:44:17 ws Exp $ */ /*- diff --git a/sys/net/bpf.c b/sys/net/bpf.c index 1af8e8607a448..e0fc0fb61fe6b 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -37,7 +37,7 @@ * * @(#)bpf.c 8.2 (Berkeley) 3/28/94 * - * $Id: bpf.c,v 1.26 1996/06/08 08:18:43 bde Exp $ + * $Id: bpf.c,v 1.26.2.1 1997/02/13 22:36:06 bde Exp $ */ #include "bpfilter.h" diff --git a/sys/net/bpf.h b/sys/net/bpf.h index 978d9137e26cd..fc089c1fee6ae 100644 --- a/sys/net/bpf.h +++ b/sys/net/bpf.h @@ -38,7 +38,7 @@ * @(#)bpf.h 8.1 (Berkeley) 6/10/93 * @(#)bpf.h 1.34 (LBL) 6/16/96 * - * $Id: bpf.h,v 1.9 1996/02/06 18:51:06 wollman Exp $ + * $Id: bpf.h,v 1.10 1996/08/19 20:28:25 pst Exp $ */ #ifndef _NET_BPF_H_ diff --git a/sys/net/bpf_compat.h b/sys/net/bpf_compat.h index 44dab52e0c9d7..a6312a501453a 100644 --- a/sys/net/bpf_compat.h +++ b/sys/net/bpf_compat.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)bpf_compat.h 8.1 (Berkeley) 6/10/93 - * $Id: bpf_compat.h,v 1.2 1994/08/02 07:45:56 davidg Exp $ + * $Id: bpf_compat.h,v 1.3 1994/08/21 05:11:39 paul Exp $ */ #ifndef _NET_BPF_COMPAT_H_ diff --git a/sys/net/bpf_filter.c b/sys/net/bpf_filter.c index 48a7b9dbf9035..095cdd29fe8b9 100644 --- a/sys/net/bpf_filter.c +++ b/sys/net/bpf_filter.c @@ -37,7 +37,7 @@ * * @(#)bpf_filter.c 8.1 (Berkeley) 6/10/93 * - * $Id: bpf_filter.c,v 1.5 1995/05/30 08:07:56 rgrimes Exp $ + * $Id: bpf_filter.c,v 1.6 1995/12/02 19:37:27 bde Exp $ */ #include <sys/param.h> diff --git a/sys/net/bpfdesc.h b/sys/net/bpfdesc.h index 85391146709b7..af823cba73cc2 100644 --- a/sys/net/bpfdesc.h +++ b/sys/net/bpfdesc.h @@ -37,7 +37,7 @@ * * @(#)bpfdesc.h 8.1 (Berkeley) 6/10/93 * - * $Id: bpfdesc.h,v 1.7 1996/01/30 22:57:40 mpp Exp $ + * $Id: bpfdesc.h,v 1.8 1996/02/06 18:51:08 wollman Exp $ */ #ifndef _NET_BPFDESC_H_ diff --git a/sys/net/bsd_comp.c b/sys/net/bsd_comp.c index 1da1f4da2fdb8..0a413daf2a0ad 100644 --- a/sys/net/bsd_comp.c +++ b/sys/net/bsd_comp.c @@ -41,7 +41,7 @@ * This version is for use with mbufs on BSD-derived systems. * * from: Id: bsd-comp.c,v 1.11 1995/07/04 03:35:11 paulus Exp - * $Id: bsd_comp.c,v 1.3 1995/10/31 20:51:22 peter Exp $ + * $Id: bsd_comp.c,v 1.4 1996/06/12 05:10:12 gpalmer Exp $ */ #include <sys/param.h> diff --git a/sys/net/ethernet.h b/sys/net/ethernet.h index 6cd539ed0a55a..221a0a8317c18 100644 --- a/sys/net/ethernet.h +++ b/sys/net/ethernet.h @@ -1,7 +1,7 @@ /* * Fundamental constants relating to ethernet. * - * $Id: ethernet.h,v 1.1 1996/08/05 14:02:38 phk Exp $ + * $Id: ethernet.h,v 1.2 1996/08/06 21:14:21 phk Exp $ * */ diff --git a/sys/net/if.c b/sys/net/if.c index 26d37f7e2e890..03ca88568f534 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if.c 8.3 (Berkeley) 1/4/94 - * $Id: if.c,v 1.35 1996/07/30 19:16:58 wollman Exp $ + * $Id: if.c,v 1.36 1996/08/07 04:09:05 julian Exp $ */ #include <sys/param.h> diff --git a/sys/net/if.h b/sys/net/if.h index 67a7c17ac1935..e8080445c2119 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if.h 8.1 (Berkeley) 6/10/93 - * $Id: if.h,v 1.35 1996/10/12 19:49:22 bde Exp $ + * $Id: if.h,v 1.36 1996/10/21 23:05:57 fenner Exp $ */ #ifndef _NET_IF_H_ diff --git a/sys/net/if_arp.h b/sys/net/if_arp.h index d7718cd489285..0139e2fdc9f5d 100644 --- a/sys/net/if_arp.h +++ b/sys/net/if_arp.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_arp.h 8.1 (Berkeley) 6/10/93 - * $Id: if_arp.h,v 1.5 1994/11/16 02:15:05 phk Exp $ + * $Id: if_arp.h,v 1.6 1996/10/12 19:49:23 bde Exp $ */ #ifndef _NET_IF_ARP_H_ diff --git a/sys/net/if_disc.c b/sys/net/if_disc.c index cbc0a6ede8645..16dbb303bf16a 100644 --- a/sys/net/if_disc.c +++ b/sys/net/if_disc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * From: @(#)if_loop.c 8.1 (Berkeley) 6/10/93 - * $Id: if_disc.c,v 1.13 1996/06/10 23:07:29 gpalmer Exp $ + * $Id: if_disc.c,v 1.14 1996/10/07 19:11:55 wollman Exp $ */ /* diff --git a/sys/net/if_dl.h b/sys/net/if_dl.h index e76b88ad1f67c..1dfed2de457ff 100644 --- a/sys/net/if_dl.h +++ b/sys/net/if_dl.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_dl.h 8.1 (Berkeley) 6/10/93 - * $Id: if_dl.h,v 1.3 1994/08/21 05:11:41 paul Exp $ + * $Id: if_dl.h,v 1.4 1995/05/30 08:08:02 rgrimes Exp $ */ #ifndef _NET_IF_DL_H_ diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 8ca3e60a39c02..36f0147b7f87b 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_ethersubr.c 8.1 (Berkeley) 6/10/93 - * $Id: if_ethersubr.c,v 1.26 1996/10/18 15:59:25 jkh Exp $ + * $Id: if_ethersubr.c,v 1.26.2.1 1996/11/21 16:43:55 phk Exp $ */ #include <sys/param.h> diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c index da9b8b047570a..c63f77dd27d37 100644 --- a/sys/net/if_fddisubr.c +++ b/sys/net/if_fddisubr.c @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * from: if_ethersubr.c,v 1.5 1994/12/13 22:31:45 wollman Exp - * $Id$ + * $Id: if_fddisubr.c,v 1.9.2.3 1997/03/15 21:03:25 joerg Exp $ */ #include <sys/param.h> diff --git a/sys/net/if_llc.h b/sys/net/if_llc.h index b58c4b2daea89..35fd3813965a9 100644 --- a/sys/net/if_llc.h +++ b/sys/net/if_llc.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_llc.h 8.1 (Berkeley) 6/10/93 - * $Id: if_llc.h,v 1.3 1994/08/21 05:11:42 paul Exp $ + * $Id: if_llc.h,v 1.4 1996/01/30 22:57:42 mpp Exp $ */ #ifndef _NET_IF_LLC_H_ diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c index 847912e6b3b56..537abeda3d1d3 100644 --- a/sys/net/if_loop.c +++ b/sys/net/if_loop.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_loop.c 8.1 (Berkeley) 6/10/93 - * $Id: if_loop.c,v 1.21 1996/06/10 23:07:31 gpalmer Exp $ + * $Id: if_loop.c,v 1.22 1996/06/19 16:24:10 wollman Exp $ */ /* diff --git a/sys/net/if_mib.c b/sys/net/if_mib.c index 7bf4d18db85e8..dcd00a155aede 100644 --- a/sys/net/if_mib.c +++ b/sys/net/if_mib.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_mib.c,v 1.1 1996/07/30 19:17:00 wollman Exp $ + * $Id: if_mib.c,v 1.2 1996/10/12 19:49:24 bde Exp $ */ #include <sys/param.h> diff --git a/sys/net/if_mib.h b/sys/net/if_mib.h index e81b1e2a74448..7886d9cafdd81 100644 --- a/sys/net/if_mib.h +++ b/sys/net/if_mib.h @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_mib.h,v 1.2 1996/08/28 18:32:19 wollman Exp $ + * $Id: if_mib.h,v 1.2.2.1 1997/02/13 07:33:37 bde Exp $ */ #ifndef _NET_IF_MIB_H diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c index bf4fb39e69274..72a758eb95a52 100644 --- a/sys/net/if_ppp.c +++ b/sys/net/if_ppp.c @@ -69,7 +69,7 @@ * Paul Mackerras (paulus@cs.anu.edu.au). */ -/* $Id: if_ppp.c,v 1.35 1996/06/12 19:24:00 gpalmer Exp $ */ +/* $Id: if_ppp.c,v 1.36 1996/07/21 17:14:06 peter Exp $ */ /* from if_ppp.c,v 1.5 1995/08/16 01:36:38 paulus Exp */ /* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */ diff --git a/sys/net/if_ppp.h b/sys/net/if_ppp.h index 1ea8c01c6d443..70f6cf47b9575 100644 --- a/sys/net/if_ppp.h +++ b/sys/net/if_ppp.h @@ -1,5 +1,5 @@ /* from Id: if_ppp.h,v 1.12 1995/04/24 02:40:23 paulus Exp */ -/* $Id: if_ppp.h,v 1.5 1995/10/31 20:24:10 peter Exp $ */ +/* $Id: if_ppp.h,v 1.6 1996/01/30 22:57:46 mpp Exp $ */ /* * if_ppp.h - Point-to-Point Protocol definitions. diff --git a/sys/net/if_pppvar.h b/sys/net/if_pppvar.h index 23768ec53cd0a..b1da64338f02e 100644 --- a/sys/net/if_pppvar.h +++ b/sys/net/if_pppvar.h @@ -1,5 +1,5 @@ /* from Id: if_pppvar.h,v 1.1 1994/12/15 22:28:09 paulus Exp */ -/* $Id: if_pppvar.h,v 1.4 1996/02/06 18:51:13 wollman Exp $ */ +/* $Id: if_pppvar.h,v 1.5 1996/04/13 12:45:34 bde Exp $ */ /* * if_pppvar.h - private structures and declarations for PPP. * diff --git a/sys/net/if_sl.c b/sys/net/if_sl.c index fba15b394b8b3..9f9774fd07343 100644 --- a/sys/net/if_sl.c +++ b/sys/net/if_sl.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_sl.c 8.6 (Berkeley) 2/1/94 - * $Id: if_sl.c,v 1.45 1996/10/11 18:40:48 wollman Exp $ + * $Id: if_sl.c,v 1.45.2.1 1997/03/11 19:40:37 bde Exp $ */ /* diff --git a/sys/net/if_slvar.h b/sys/net/if_slvar.h index cbb24ae34cd86..eb2ad64bcdac9 100644 --- a/sys/net/if_slvar.h +++ b/sys/net/if_slvar.h @@ -32,7 +32,7 @@ * * @(#)if_slvar.h 8.3 (Berkeley) 2/1/94 * - * $Id: if_slvar.h,v 1.10 1996/02/06 18:51:15 wollman Exp $ + * $Id: if_slvar.h,v 1.11 1996/05/13 14:09:34 ache Exp $ */ #ifndef _NET_IF_SLVAR_H_ diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c index e295cbd875da8..5086a16f97464 100644 --- a/sys/net/if_spppsubr.c +++ b/sys/net/if_spppsubr.c @@ -14,7 +14,7 @@ * * Version 1.9, Wed Oct 4 18:58:15 MSK 1995 * - * $Id: if_spppsubr.c,v 1.12 1996/06/10 23:17:45 gpalmer Exp $ + * $Id: if_spppsubr.c,v 1.13 1996/08/30 16:44:36 jhay Exp $ */ #undef DEBUG diff --git a/sys/net/if_types.h b/sys/net/if_types.h index 9a573612b2d4f..a02ecfdb1e2b9 100644 --- a/sys/net/if_types.h +++ b/sys/net/if_types.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_types.h 8.2 (Berkeley) 4/20/94 - * $Id: if_types.h,v 1.3 1994/08/21 05:11:43 paul Exp $ + * $Id: if_types.h,v 1.4 1995/02/25 15:57:55 davidg Exp $ */ #ifndef _NET_IF_TYPES_H_ diff --git a/sys/net/netisr.h b/sys/net/netisr.h index 5c9bd295cb210..a939cfae502ec 100644 --- a/sys/net/netisr.h +++ b/sys/net/netisr.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)netisr.h 8.1 (Berkeley) 6/10/93 - * $Id: netisr.h,v 1.8 1995/10/31 19:07:49 peter Exp $ + * $Id: netisr.h,v 1.9 1996/05/24 01:35:11 julian Exp $ */ #ifndef _NET_NETISR_H_ diff --git a/sys/net/ppp_comp.h b/sys/net/ppp_comp.h index c08bbb9c680ca..8d6f4e5117ec7 100644 --- a/sys/net/ppp_comp.h +++ b/sys/net/ppp_comp.h @@ -25,7 +25,7 @@ * OR MODIFICATIONS. * * From: Id: ppp-comp.h,v 1.7 1995/05/01 01:43:37 paulus Exp - * $Id$ + * $Id: ppp_comp.h,v 1.2 1995/10/31 20:24:12 peter Exp $ */ #ifndef _NET_PPP_COMP_H diff --git a/sys/net/ppp_defs.h b/sys/net/ppp_defs.h index db3eda2fbc297..732afedefa2c6 100644 --- a/sys/net/ppp_defs.h +++ b/sys/net/ppp_defs.h @@ -1,5 +1,5 @@ /* from Id: ppp_defs.h,v 1.7 1995/08/10 06:49:35 paulus Exp */ -/* $Id$ */ +/* $Id: ppp_defs.h,v 1.2 1995/10/31 20:24:13 peter Exp $ */ /* * ppp_defs.h - PPP definitions. diff --git a/sys/net/ppp_tty.c b/sys/net/ppp_tty.c index def2e9670e836..1299b28544d98 100644 --- a/sys/net/ppp_tty.c +++ b/sys/net/ppp_tty.c @@ -70,7 +70,7 @@ * Paul Mackerras (paulus@cs.anu.edu.au). */ -/* $Id: ppp_tty.c,v 1.10 1996/08/30 10:41:58 asami Exp $ */ +/* $Id: ppp_tty.c,v 1.11 1996/09/03 10:23:04 asami Exp $ */ /* from Id: ppp_tty.c,v 1.3 1995/08/16 01:36:40 paulus Exp */ /* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */ diff --git a/sys/net/radix.c b/sys/net/radix.c index 5c998863198b2..32858a9d70864 100644 --- a/sys/net/radix.c +++ b/sys/net/radix.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)radix.c 8.4 (Berkeley) 11/2/94 - * $Id: radix.c,v 1.10 1995/12/02 19:37:31 bde Exp $ + * $Id: radix.c,v 1.11 1995/12/14 09:53:22 phk Exp $ */ /* diff --git a/sys/net/radix.h b/sys/net/radix.h index 1899b93e27059..dfc610632349c 100644 --- a/sys/net/radix.h +++ b/sys/net/radix.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)radix.h 8.2 (Berkeley) 10/31/94 - * $Id: radix.h,v 1.8 1995/04/28 23:01:37 pst Exp $ + * $Id: radix.h,v 1.9 1995/12/14 09:53:23 phk Exp $ */ #ifndef _RADIX_H_ diff --git a/sys/net/raw_cb.c b/sys/net/raw_cb.c index 68f7ce069dffd..51284b16a99a7 100644 --- a/sys/net/raw_cb.c +++ b/sys/net/raw_cb.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)raw_cb.c 8.1 (Berkeley) 6/10/93 - * $Id: raw_cb.c,v 1.7 1995/12/14 09:53:25 phk Exp $ + * $Id: raw_cb.c,v 1.8 1996/03/11 15:13:02 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/net/raw_cb.h b/sys/net/raw_cb.h index 512bed7d34582..9b03d5d383cb2 100644 --- a/sys/net/raw_cb.h +++ b/sys/net/raw_cb.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)raw_cb.h 8.1 (Berkeley) 6/10/93 - * $Id: raw_cb.h,v 1.4 1995/07/29 11:41:00 bde Exp $ + * $Id: raw_cb.h,v 1.5 1995/12/16 02:14:05 bde Exp $ */ #ifndef _NET_RAW_CB_H_ diff --git a/sys/net/raw_usrreq.c b/sys/net/raw_usrreq.c index 512daa2947f7d..704ac76a066f9 100644 --- a/sys/net/raw_usrreq.c +++ b/sys/net/raw_usrreq.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)raw_usrreq.c 8.1 (Berkeley) 6/10/93 - * $Id: raw_usrreq.c,v 1.7 1995/12/16 02:14:06 bde Exp $ + * $Id: raw_usrreq.c,v 1.8 1996/03/11 15:13:04 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/net/route.c b/sys/net/route.c index dc5aef2c8ca2b..14fe6c90c8dea 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)route.c 8.2 (Berkeley) 11/15/93 - * $Id: route.c,v 1.36 1996/09/02 02:49:40 fenner Exp $ + * $Id: route.c,v 1.37 1996/09/10 07:10:05 julian Exp $ */ #include "opt_mrouting.h" diff --git a/sys/net/route.h b/sys/net/route.h index 0b518dff280b0..8e4483d56d614 100644 --- a/sys/net/route.h +++ b/sys/net/route.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)route.h 8.3 (Berkeley) 4/19/94 - * $Id: route.h,v 1.22 1996/08/26 22:04:47 julian Exp $ + * $Id: route.h,v 1.23 1996/10/09 18:35:10 wollman Exp $ */ #ifndef _NET_ROUTE_H_ diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index d5dc60c39b0b4..20e714b094c76 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)rtsock.c 8.5 (Berkeley) 11/2/94 - * $Id: rtsock.c,v 1.20 1996/07/10 01:34:36 fenner Exp $ + * $Id: rtsock.c,v 1.20.2.1 1997/02/21 17:30:17 fenner Exp $ */ #include <sys/param.h> diff --git a/sys/net/slcompress.c b/sys/net/slcompress.c index fe82ce72afa85..fbc8d6b8900df 100644 --- a/sys/net/slcompress.c +++ b/sys/net/slcompress.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)slcompress.c 8.2 (Berkeley) 4/16/94 - * $Id: slcompress.c,v 1.6 1995/10/31 19:22:31 peter Exp $ + * $Id: slcompress.c,v 1.7 1996/04/11 06:46:24 davidg Exp $ */ /* diff --git a/sys/net/slcompress.h b/sys/net/slcompress.h index 2d52056b898ba..c73933197b78f 100644 --- a/sys/net/slcompress.h +++ b/sys/net/slcompress.h @@ -35,7 +35,7 @@ * * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989: * - Initial distribution. - * $Id: slcompress.h,v 1.8 1995/11/18 13:07:51 bde Exp $ + * $Id: slcompress.h,v 1.9 1996/01/30 22:58:03 mpp Exp $ */ #ifndef _NET_SLCOMPRESS_H_ diff --git a/sys/net/slip.h b/sys/net/slip.h index d438d42a3c8be..6ccf58075b817 100644 --- a/sys/net/slip.h +++ b/sys/net/slip.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)slip.h 8.1 (Berkeley) 2/12/94 - * $Id: slip.h,v 1.5 1995/04/28 18:47:29 ache Exp $ + * $Id: slip.h,v 1.6 1995/04/29 15:24:00 bde Exp $ */ #ifndef _NET_SLIP_H_ diff --git a/sys/netinet/icmp_var.h b/sys/netinet/icmp_var.h index 90eeb4fbcd3f9..9d0d9a99e86e9 100644 --- a/sys/netinet/icmp_var.h +++ b/sys/netinet/icmp_var.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)icmp_var.h 8.1 (Berkeley) 6/10/93 - * $Id: icmp_var.h,v 1.3 1994/08/21 05:27:23 paul Exp $ + * $Id: icmp_var.h,v 1.4 1995/02/16 00:27:40 wollman Exp $ */ #ifndef _NETINET_ICMP_VAR_H_ diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 6ab7d225b2c3f..b42b3b7da6ccd 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_ether.c 8.1 (Berkeley) 6/10/93 - * $Id: if_ether.c,v 1.34 1996/10/12 19:49:32 bde Exp $ + * $Id: if_ether.c,v 1.34.2.1 1996/11/16 21:17:49 phk Exp $ */ /* diff --git a/sys/netinet/if_ether.h b/sys/netinet/if_ether.h index c4acdfcb90704..a310ac918835a 100644 --- a/sys/netinet/if_ether.h +++ b/sys/netinet/if_ether.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_ether.h 8.3 (Berkeley) 5/2/95 - * $Id: if_ether.h,v 1.14 1996/03/23 01:32:30 fenner Exp $ + * $Id: if_ether.h,v 1.15 1996/08/06 21:14:28 phk Exp $ */ #ifndef _NETINET_IF_ETHER_H_ diff --git a/sys/netinet/if_fddi.h b/sys/netinet/if_fddi.h index 76e9538bebcf6..7fc118b71402c 100644 --- a/sys/netinet/if_fddi.h +++ b/sys/netinet/if_fddi.h @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * @(#)if_fddi.h 8.1 (Berkeley) 6/10/93 - * $Id: if_fddi.h,v 1.3 1996/01/26 09:29:21 phk Exp $ + * $Id: if_fddi.h,v 1.3.4.1 1997/02/08 15:13:45 joerg Exp $ */ #ifndef _NETINET_IF_FDDI_H_ diff --git a/sys/netinet/igmp.c b/sys/netinet/igmp.c index 948282658af74..0320e029b9567 100644 --- a/sys/netinet/igmp.c +++ b/sys/netinet/igmp.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)igmp.c 8.1 (Berkeley) 7/19/93 - * $Id: igmp.c,v 1.18 1996/04/18 15:41:10 wollman Exp $ + * $Id: igmp.c,v 1.19 1996/06/12 05:10:20 gpalmer Exp $ */ /* diff --git a/sys/netinet/igmp.h b/sys/netinet/igmp.h index 71df6ca214548..c658f8c5e557d 100644 --- a/sys/netinet/igmp.h +++ b/sys/netinet/igmp.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)igmp.h 8.1 (Berkeley) 6/10/93 - * $Id: igmp.h,v 1.6 1995/06/13 17:51:06 wollman Exp $ + * $Id: igmp.h,v 1.7 1996/03/14 16:59:17 fenner Exp $ */ #ifndef _NETINET_IGMP_H_ diff --git a/sys/netinet/igmp_var.h b/sys/netinet/igmp_var.h index 728c820b01fff..3f22f0fb8b8a9 100644 --- a/sys/netinet/igmp_var.h +++ b/sys/netinet/igmp_var.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)igmp_var.h 8.1 (Berkeley) 7/19/93 - * $Id: igmp_var.h,v 1.8 1996/01/30 22:58:22 mpp Exp $ + * $Id: igmp_var.h,v 1.9 1996/03/14 16:59:18 fenner Exp $ */ #ifndef _NETINET_IGMP_VAR_H_ diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 878f3bb8614d1..2d228949d34e5 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in.c 8.4 (Berkeley) 1/9/95 - * $Id: in.c,v 1.24 1996/04/07 06:59:52 davidg Exp $ + * $Id: in.c,v 1.25 1996/09/09 20:17:24 wollman Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/in.h b/sys/netinet/in.h index b0fbc3d2a45c6..cd436f86d2fbe 100644 --- a/sys/netinet/in.h +++ b/sys/netinet/in.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in.h 8.3 (Berkeley) 1/3/94 - * $Id: in.h,v 1.22 1996/10/22 22:25:54 sos Exp $ + * $Id: in.h,v 1.22.2.1 1996/11/11 23:40:37 phk Exp $ */ #ifndef _NETINET_IN_H_ diff --git a/sys/netinet/in_cksum.c b/sys/netinet/in_cksum.c index 9f12495e6f761..46bdaec4cebee 100644 --- a/sys/netinet/in_cksum.c +++ b/sys/netinet/in_cksum.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in_cksum.c 8.1 (Berkeley) 6/10/93 - * $Id: in_cksum.c,v 1.2 1994/08/02 07:48:16 davidg Exp $ + * $Id: in_cksum.c,v 1.3 1995/05/30 08:09:27 rgrimes Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 93241a71f222f..b415122eff565 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in_pcb.c 8.4 (Berkeley) 5/24/95 - * $Id: in_pcb.c,v 1.23 1996/10/30 06:13:09 peter Exp $ + * $Id: in_pcb.c,v 1.23.2.1 1997/03/03 09:24:36 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 770c666f028f3..92d3df417211c 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in_pcb.h 8.1 (Berkeley) 6/10/93 - * $Id: in_pcb.h,v 1.14.2.1 1996/11/11 23:40:40 phk Exp $ + * $Id: in_pcb.h,v 1.14.2.2 1997/03/03 09:24:37 davidg Exp $ */ #ifndef _NETINET_IN_PCB_H_ diff --git a/sys/netinet/in_proto.c b/sys/netinet/in_proto.c index f97c803a52780..e3953b540947e 100644 --- a/sys/netinet/in_proto.c +++ b/sys/netinet/in_proto.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in_proto.c 8.2 (Berkeley) 2/9/95 - * $Id: in_proto.c,v 1.32 1996/07/10 19:44:21 julian Exp $ + * $Id: in_proto.c,v 1.33 1996/07/11 16:32:31 wollman Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/in_rmx.c b/sys/netinet/in_rmx.c index e373c9717ce74..f5ef878b630e5 100644 --- a/sys/netinet/in_rmx.c +++ b/sys/netinet/in_rmx.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: in_rmx.c,v 1.25 1996/05/06 17:42:12 wollman Exp $ + * $Id: in_rmx.c,v 1.26 1996/06/20 15:41:23 nate Exp $ */ /* diff --git a/sys/netinet/in_systm.h b/sys/netinet/in_systm.h index f35ab2ff1685d..fa82138e21bdd 100644 --- a/sys/netinet/in_systm.h +++ b/sys/netinet/in_systm.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in_systm.h 8.1 (Berkeley) 6/10/93 - * $Id: in_systm.h,v 1.2 1994/08/02 07:48:25 davidg Exp $ + * $Id: in_systm.h,v 1.3 1994/08/21 05:27:29 paul Exp $ */ #ifndef _NETINET_IN_SYSTM_H_ diff --git a/sys/netinet/in_var.h b/sys/netinet/in_var.h index c71c85a167564..43a2c2a8e28c8 100644 --- a/sys/netinet/in_var.h +++ b/sys/netinet/in_var.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)in_var.h 8.2 (Berkeley) 1/9/95 - * $Id: in_var.h,v 1.16 1996/02/05 20:35:59 wollman Exp $ + * $Id: in_var.h,v 1.17 1996/03/14 16:59:19 fenner Exp $ */ #ifndef _NETINET_IN_VAR_H_ diff --git a/sys/netinet/ip.h b/sys/netinet/ip.h index d0905ae0a5bad..705c1761c32c8 100644 --- a/sys/netinet/ip.h +++ b/sys/netinet/ip.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip.h 8.2 (Berkeley) 6/1/94 - * $Id: ip.h,v 1.9 1996/04/18 15:42:50 wollman Exp $ + * $Id: ip.h,v 1.10 1996/10/23 18:35:49 wollman Exp $ */ #ifndef _NETINET_IP_H_ diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c index 90c8a1b418402..22535b7472c51 100644 --- a/sys/netinet/ip_divert.c +++ b/sys/netinet/ip_divert.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ip_divert.c,v 1.1.2.1 1997/02/02 18:55:33 joerg Exp $ + * $Id: ip_divert.c,v 1.1.2.2 1997/03/03 09:24:38 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/ip_fw.c b/sys/netinet/ip_fw.c index 59ab641cd1f2c..1a1235a6d75d6 100644 --- a/sys/netinet/ip_fw.c +++ b/sys/netinet/ip_fw.c @@ -12,7 +12,7 @@ * * This software is provided ``AS IS'' without any warranties of any kind. * - * $Id: ip_fw.c,v 1.51 1996/10/12 19:49:36 bde Exp $ + * $Id: ip_fw.c,v 1.51.2.1 1997/01/29 13:15:42 adam Exp $ */ /* diff --git a/sys/netinet/ip_fw.h b/sys/netinet/ip_fw.h index ff3520cfa9a73..75135825eecc7 100644 --- a/sys/netinet/ip_fw.h +++ b/sys/netinet/ip_fw.h @@ -11,7 +11,7 @@ * * This software is provided ``AS IS'' without any warranties of any kind. * - * $Id: ip_fw.h,v 1.23 1996/08/21 21:36:57 sos Exp $ + * $Id: ip_fw.h,v 1.23.2.1 1997/01/29 13:15:43 adam Exp $ */ /* diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 8fc9eaa2d7cec..8411a40bf03cd 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_icmp.c 8.2 (Berkeley) 1/4/94 - * $Id: ip_icmp.c,v 1.21 1996/07/24 18:46:17 wollman Exp $ + * $Id: ip_icmp.c,v 1.22 1996/09/20 08:23:54 pst Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/ip_icmp.h b/sys/netinet/ip_icmp.h index abb31c96760d2..06050989c6fde 100644 --- a/sys/netinet/ip_icmp.h +++ b/sys/netinet/ip_icmp.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_icmp.h 8.1 (Berkeley) 6/10/93 - * $Id: ip_icmp.h,v 1.8 1996/07/24 18:46:18 wollman Exp $ + * $Id: ip_icmp.h,v 1.9 1996/08/20 23:11:30 fenner Exp $ */ #ifndef _NETINET_IP_ICMP_H_ diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c index 98fde8dc30fd4..174066197f2db 100644 --- a/sys/netinet/ip_input.c +++ b/sys/netinet/ip_input.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_input.c 8.2 (Berkeley) 1/4/94 - * $Id: ip_input.c,v 1.50.2.3 1997/02/03 23:15:47 joerg Exp $ + * $Id: ip_input.c,v 1.50.2.4 1997/02/06 11:33:38 brian Exp $ * $ANA: ip_input.c,v 1.5 1996/09/18 14:34:59 wollman Exp $ */ diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index bc5b3ccc42ad9..3a0bc0a8b9651 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -9,7 +9,7 @@ * Modified by Bill Fenner, PARC, April 1995 * * MROUTING Revision: 3.5 - * $Id: ip_mroute.c,v 1.34 1996/07/12 17:22:32 fenner Exp $ + * $Id: ip_mroute.c,v 1.34.2.1 1996/11/24 07:54:08 phk Exp $ */ #include "opt_mrouting.h" diff --git a/sys/netinet/ip_mroute.h b/sys/netinet/ip_mroute.h index 0e4625837038b..f8195147a2396 100644 --- a/sys/netinet/ip_mroute.h +++ b/sys/netinet/ip_mroute.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)ip_mroute.h 8.1 (Berkeley) 6/10/93 - * $Id: ip_mroute.h,v 1.11 1997/01/03 19:53:35 wollman Exp $ + * $Id: ip_mroute.h,v 1.10.4.1 1997/02/22 19:47:28 joerg Exp $ */ #ifndef _NETINET_IP_MROUTE_H_ diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 603dab4c5dc94..5d21fa24fd299 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 - * $Id: ip_output.c,v 1.44.2.3 1997/02/03 23:15:51 joerg Exp $ + * $Id: ip_output.c,v 1.44.2.4 1997/03/02 19:03:01 fenner Exp $ */ #define _IP_VHL diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h index 1ad181c282cb5..a01fd8554aaa4 100644 --- a/sys/netinet/ip_var.h +++ b/sys/netinet/ip_var.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_var.h 8.2 (Berkeley) 1/9/95 - * $Id: ip_var.h,v 1.24.2.1 1996/11/11 23:40:53 phk Exp $ + * $Id: ip_var.h,v 1.24.2.2 1996/11/12 11:28:59 phk Exp $ */ #ifndef _NETINET_IP_VAR_H_ diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 764d41837568e..5a0afe61592e1 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)raw_ip.c 8.7 (Berkeley) 5/15/95 - * $Id: raw_ip.c,v 1.37.2.1 1996/11/11 23:40:55 phk Exp $ + * $Id: raw_ip.c,v 1.37.2.2 1997/03/03 09:24:38 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h index a79acf96625b9..6c1eefdccc148 100644 --- a/sys/netinet/tcp.h +++ b/sys/netinet/tcp.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp.h 8.1 (Berkeley) 6/10/93 - * $Id: tcp.h,v 1.5 1995/02/14 02:35:14 wollman Exp $ + * $Id: tcp.h,v 1.6 1995/05/30 08:09:53 rgrimes Exp $ */ #ifndef _NETINET_TCP_H_ diff --git a/sys/netinet/tcp_debug.c b/sys/netinet/tcp_debug.c index a54beb208d334..7e68f78539af1 100644 --- a/sys/netinet/tcp_debug.c +++ b/sys/netinet/tcp_debug.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_debug.c 8.1 (Berkeley) 6/10/93 - * $Id: tcp_debug.c,v 1.6 1996/03/11 15:13:26 davidg Exp $ + * $Id: tcp_debug.c,v 1.7 1996/04/13 12:45:56 bde Exp $ */ #ifdef TCPDEBUG diff --git a/sys/netinet/tcp_debug.h b/sys/netinet/tcp_debug.h index cab4451dbaec7..53410d92df876 100644 --- a/sys/netinet/tcp_debug.h +++ b/sys/netinet/tcp_debug.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_debug.h 8.1 (Berkeley) 6/10/93 - * $Id: tcp_debug.h,v 1.4 1995/11/14 20:34:29 phk Exp $ + * $Id: tcp_debug.h,v 1.5 1996/04/13 12:45:57 bde Exp $ */ #ifndef _NETINET_TCP_DEBUG_H_ diff --git a/sys/netinet/tcp_fsm.h b/sys/netinet/tcp_fsm.h index 95839c3243a1a..b811ed05cc55e 100644 --- a/sys/netinet/tcp_fsm.h +++ b/sys/netinet/tcp_fsm.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_fsm.h 8.1 (Berkeley) 6/10/93 - * $Id: tcp_fsm.h,v 1.6 1995/03/30 23:35:55 davidg Exp $ + * $Id: tcp_fsm.h,v 1.7 1995/11/14 20:34:34 phk Exp $ */ #ifndef _NETINET_TCP_FSM_H_ diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index d481fbdd6f7b7..d8499997401ab 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $Id: tcp_input.c,v 1.54 1996/10/11 19:26:42 pst Exp $ + * $Id: tcp_input.c,v 1.54.2.1 1996/11/11 23:40:57 phk Exp $ */ #ifndef TUBA_INCLUDE diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index 4297cd27f0f04..1d17b83403a55 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_output.c 8.4 (Berkeley) 5/24/95 - * $Id: tcp_output.c,v 1.20 1996/04/15 03:46:32 davidg Exp $ + * $Id: tcp_output.c,v 1.21 1996/06/08 08:19:00 bde Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/tcp_seq.h b/sys/netinet/tcp_seq.h index f2fff2764e4dc..9ad6a33a88976 100644 --- a/sys/netinet/tcp_seq.h +++ b/sys/netinet/tcp_seq.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_seq.h 8.3 (Berkeley) 6/21/95 - * $Id: tcp_seq.h,v 1.5 1995/02/14 02:35:17 wollman Exp $ + * $Id: tcp_seq.h,v 1.6 1995/10/03 16:54:14 wollman Exp $ */ #ifndef _NETINET_TCP_SEQ_H_ diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 93bfddd7c42d8..b300b24cb1aee 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_subr.c 8.2 (Berkeley) 5/24/95 - * $Id: tcp_subr.c,v 1.31 1996/07/24 18:46:19 wollman Exp $ + * $Id: tcp_subr.c,v 1.31.2.1 1997/03/03 09:24:39 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index fd477b9504afe..124012e068631 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_timer.c 8.2 (Berkeley) 5/24/95 - * $Id: tcp_timer.c,v 1.19 1996/07/12 17:28:46 davidg Exp $ + * $Id: tcp_timer.c,v 1.20 1996/09/13 23:51:42 pst Exp $ */ #ifndef TUBA_INCLUDE diff --git a/sys/netinet/tcp_timer.h b/sys/netinet/tcp_timer.h index df501d1c178b4..75f045c7319da 100644 --- a/sys/netinet/tcp_timer.h +++ b/sys/netinet/tcp_timer.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_timer.h 8.1 (Berkeley) 6/10/93 - * $Id: tcp_timer.h,v 1.9 1996/06/14 17:17:32 wollman Exp $ + * $Id: tcp_timer.h,v 1.10 1996/09/13 23:51:43 pst Exp $ */ #ifndef _NETINET_TCP_TIMER_H_ diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 47343c85d36b9..561a1775b1ba2 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * From: @(#)tcp_usrreq.c 8.2 (Berkeley) 1/3/94 - * $Id: tcp_usrreq.c,v 1.26 1996/10/07 19:06:11 davidg Exp $ + * $Id: tcp_usrreq.c,v 1.26.2.1 1997/02/21 16:48:34 wollman Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index ebdadea683634..6e3ca3c074e2c 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_var.h 8.4 (Berkeley) 5/24/95 - * $Id: tcp_var.h,v 1.34 1996/07/11 16:32:40 wollman Exp $ + * $Id: tcp_var.h,v 1.36 1996/09/13 23:54:03 pst Exp $ */ #ifndef _NETINET_TCP_VAR_H_ diff --git a/sys/netinet/tcpip.h b/sys/netinet/tcpip.h index bc71fbc654d31..571fcbb434357 100644 --- a/sys/netinet/tcpip.h +++ b/sys/netinet/tcpip.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcpip.h 8.1 (Berkeley) 6/10/93 - * $Id: tcpip.h,v 1.3 1994/08/21 05:27:40 paul Exp $ + * $Id: tcpip.h,v 1.4 1995/02/08 20:18:48 wollman Exp $ */ #ifndef _NETINET_TCPIP_H_ diff --git a/sys/netinet/udp.h b/sys/netinet/udp.h index 3aeb522978a41..731446995f796 100644 --- a/sys/netinet/udp.h +++ b/sys/netinet/udp.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)udp.h 8.1 (Berkeley) 6/10/93 - * $Id: udp.h,v 1.3 1994/08/21 05:27:41 paul Exp $ + * $Id: udp.h,v 1.4 1996/10/25 17:57:52 fenner Exp $ */ #ifndef _NETINET_UDP_H_ diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index cc6b61dc3e6c5..505c484fb2e8b 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)udp_usrreq.c 8.6 (Berkeley) 5/23/95 - * $Id: udp_usrreq.c,v 1.30.2.1 1996/11/11 23:41:00 phk Exp $ + * $Id: udp_usrreq.c,v 1.30.2.2 1997/03/03 09:24:40 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/netinet/udp_var.h b/sys/netinet/udp_var.h index 27da26cc71aa3..4650dd22e0491 100644 --- a/sys/netinet/udp_var.h +++ b/sys/netinet/udp_var.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)udp_var.h 8.1 (Berkeley) 6/10/93 - * $Id: udp_var.h,v 1.8 1995/12/16 02:14:22 bde Exp $ + * $Id: udp_var.h,v 1.9 1996/06/05 17:20:35 wollman Exp $ */ #ifndef _NETINET_UDP_VAR_H_ diff --git a/sys/netipx/ipx.c b/sys/netipx/ipx.c index b33a7acef337e..555792640b677 100644 --- a/sys/netipx/ipx.c +++ b/sys/netipx/ipx.c @@ -33,7 +33,7 @@ * * @(#)ipx.c * - * $Id: ipx.c,v 1.3 1995/11/04 09:02:34 julian Exp $ + * $Id: ipx.c,v 1.4 1996/03/11 15:13:46 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/ipx.h b/sys/netipx/ipx.h index b0b5b64efb711..95fd98ebaf14e 100644 --- a/sys/netipx/ipx.h +++ b/sys/netipx/ipx.h @@ -33,7 +33,7 @@ * * @(#)ipx.h * - * $Id: ipx.h,v 1.6 1995/12/16 02:14:31 bde Exp $ + * $Id: ipx.h,v 1.7 1996/01/30 22:58:48 mpp Exp $ */ #ifndef _NETIPX_IPX_H_ diff --git a/sys/netipx/ipx_cksum.c b/sys/netipx/ipx_cksum.c index f940833931ce5..c4b712bcc3b76 100644 --- a/sys/netipx/ipx_cksum.c +++ b/sys/netipx/ipx_cksum.c @@ -33,7 +33,7 @@ * * @(#)ipx_cksum.c * - * $Id: ipx_cksum.c,v 1.2 1995/10/31 23:36:21 julian Exp $ + * $Id: ipx_cksum.c,v 1.3 1995/11/04 09:02:40 julian Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/ipx_error.c b/sys/netipx/ipx_error.c index e711f0e63affc..2a216084e7994 100644 --- a/sys/netipx/ipx_error.c +++ b/sys/netipx/ipx_error.c @@ -33,7 +33,7 @@ * * @(#)ipx_error.c * - * $Id: ipx_error.c,v 1.4 1995/12/16 02:14:32 bde Exp $ + * $Id: ipx_error.c,v 1.5 1996/05/08 19:31:44 jhay Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/ipx_error.h b/sys/netipx/ipx_error.h index 77a15aae6dcdf..dfff3b692c718 100644 --- a/sys/netipx/ipx_error.h +++ b/sys/netipx/ipx_error.h @@ -33,7 +33,7 @@ * * @(#)ipx_error.h * - * $Id: ipx_error.h,v 1.4 1995/11/04 09:02:47 julian Exp $ + * $Id: ipx_error.h,v 1.5 1995/11/24 12:25:04 bde Exp $ */ #ifndef _NETIPX_IPX_ERROR_H_ diff --git a/sys/netipx/ipx_if.h b/sys/netipx/ipx_if.h index 05b08b173a91b..e18a2ce1b2c8e 100644 --- a/sys/netipx/ipx_if.h +++ b/sys/netipx/ipx_if.h @@ -33,7 +33,7 @@ * * @(#)ipx_if.h * - * $Id: ipx_if.h,v 1.4 1995/11/04 09:02:51 julian Exp $ + * $Id: ipx_if.h,v 1.5 1995/11/24 12:25:05 bde Exp $ */ #ifndef _NETIPX_IPX_IF_H_ diff --git a/sys/netipx/ipx_input.c b/sys/netipx/ipx_input.c index b49c79d957796..5c31cb1fe3ab3 100644 --- a/sys/netipx/ipx_input.c +++ b/sys/netipx/ipx_input.c @@ -33,7 +33,7 @@ * * @(#)ipx_input.c * - * $Id: ipx_input.c,v 1.8 1996/03/11 15:13:48 davidg Exp $ + * $Id: ipx_input.c,v 1.9 1996/08/18 08:38:15 jhay Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/ipx_ip.c b/sys/netipx/ipx_ip.c index e3362056b669b..c02c7bc97ed4b 100644 --- a/sys/netipx/ipx_ip.c +++ b/sys/netipx/ipx_ip.c @@ -33,7 +33,7 @@ * * @(#)ipx_ip.c * - * $Id: ipx_ip.c,v 1.8 1996/05/08 19:31:45 jhay Exp $ + * $Id: ipx_ip.c,v 1.9 1996/06/12 05:10:27 gpalmer Exp $ */ /* diff --git a/sys/netipx/ipx_ip.h b/sys/netipx/ipx_ip.h index 521ee2a76dd25..2051fcb8f39f6 100644 --- a/sys/netipx/ipx_ip.h +++ b/sys/netipx/ipx_ip.h @@ -33,7 +33,7 @@ * * @(#)ipxip.h * - * $Id: ipx_ip.h,v 1.5 1995/12/16 03:43:49 bde Exp $ + * $Id: ipx_ip.h,v 1.6 1996/05/08 19:31:46 jhay Exp $ */ #ifndef _NETIPX_IPXIP_H_ diff --git a/sys/netipx/ipx_outputfl.c b/sys/netipx/ipx_outputfl.c index 4401e6cea729c..943abd226c5b4 100644 --- a/sys/netipx/ipx_outputfl.c +++ b/sys/netipx/ipx_outputfl.c @@ -33,7 +33,7 @@ * * @(#)ipx_outputfl.c * - * $Id: ipx_outputfl.c,v 1.3 1995/11/04 09:03:07 julian Exp $ + * $Id: ipx_outputfl.c,v 1.4 1996/03/11 15:13:52 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/ipx_pcb.c b/sys/netipx/ipx_pcb.c index 788d6ffad375a..6d93941389337 100644 --- a/sys/netipx/ipx_pcb.c +++ b/sys/netipx/ipx_pcb.c @@ -33,7 +33,7 @@ * * @(#)ipx_pcb.c * - * $Id: ipx_pcb.c,v 1.4 1995/11/24 12:01:05 bde Exp $ + * $Id: ipx_pcb.c,v 1.5 1996/03/11 15:13:53 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/ipx_pcb.h b/sys/netipx/ipx_pcb.h index 19eaac06cebad..01369f583a780 100644 --- a/sys/netipx/ipx_pcb.h +++ b/sys/netipx/ipx_pcb.h @@ -33,7 +33,7 @@ * * @(#)ipx_pcb.h * - * $Id: ipx_pcb.h,v 1.5 1995/11/24 12:25:10 bde Exp $ + * $Id: ipx_pcb.h,v 1.5.4.1 1996/11/25 07:18:09 phk Exp $ */ #ifndef _NETIPX_IPX_PCB_H_ diff --git a/sys/netipx/ipx_proto.c b/sys/netipx/ipx_proto.c index 0f098bf84ccf2..053367d676fe1 100644 --- a/sys/netipx/ipx_proto.c +++ b/sys/netipx/ipx_proto.c @@ -33,7 +33,7 @@ * * @(#)ipx_proto.c * - * $Id: ipx_proto.c,v 1.4 1996/01/05 20:47:05 wollman Exp $ + * $Id: ipx_proto.c,v 1.5 1996/05/08 04:38:22 gpalmer Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/ipx_tun.c b/sys/netipx/ipx_tun.c index 055a85e682e2e..d9a0f57c9d489 100644 --- a/sys/netipx/ipx_tun.c +++ b/sys/netipx/ipx_tun.c @@ -33,7 +33,7 @@ * * @(#)ipx_tun.c * - * $Id: ipx_tun.c,v 1.3 1995/11/04 09:03:21 julian Exp $ + * $Id: ipx_tun.c,v 1.4 1996/03/11 15:13:55 davidg Exp $ */ /* diff --git a/sys/netipx/ipx_usrreq.c b/sys/netipx/ipx_usrreq.c index 9746f4764cf4c..4934580283f99 100644 --- a/sys/netipx/ipx_usrreq.c +++ b/sys/netipx/ipx_usrreq.c @@ -33,7 +33,7 @@ * * @(#)ipx_usrreq.c * - * $Id: ipx_usrreq.c,v 1.7 1996/05/08 19:31:48 jhay Exp $ + * $Id: ipx_usrreq.c,v 1.7.2.1 1996/11/25 07:18:10 phk Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/ipx_var.h b/sys/netipx/ipx_var.h index d1d5766b9aa0e..7078dc6361834 100644 --- a/sys/netipx/ipx_var.h +++ b/sys/netipx/ipx_var.h @@ -33,7 +33,7 @@ * * @(#)ipx_var.h * - * $Id: ipx_var.h,v 1.2 1995/10/31 23:36:40 julian Exp $ + * $Id: ipx_var.h,v 1.3 1995/11/04 09:03:27 julian Exp $ */ #ifndef _NETIPX_IPX_VAR_H_ diff --git a/sys/netipx/spx.h b/sys/netipx/spx.h index 31a1322b4d6aa..59ad1f8da5a01 100644 --- a/sys/netipx/spx.h +++ b/sys/netipx/spx.h @@ -33,7 +33,7 @@ * * @(#)spx.h * - * $Id: spx.h,v 1.6 1995/12/16 02:14:34 bde Exp $ + * $Id: spx.h,v 1.7 1996/01/30 22:58:51 mpp Exp $ */ #ifndef _NETIPX_SPX_H_ diff --git a/sys/netipx/spx_debug.c b/sys/netipx/spx_debug.c index ef4f02039205e..e0cc7d2749c20 100644 --- a/sys/netipx/spx_debug.c +++ b/sys/netipx/spx_debug.c @@ -33,7 +33,7 @@ * * @(#)spx_debug.c * - * $Id: spx_debug.c,v 1.5 1996/03/11 15:13:58 davidg Exp $ + * $Id: spx_debug.c,v 1.6 1996/04/13 12:53:52 bde Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/spx_debug.h b/sys/netipx/spx_debug.h index 26b4f46aaad17..3f6bb6749ede6 100644 --- a/sys/netipx/spx_debug.h +++ b/sys/netipx/spx_debug.h @@ -33,7 +33,7 @@ * * @(#)spx_debug.h * - * $Id: spx_debug.h,v 1.5 1995/11/24 12:25:13 bde Exp $ + * $Id: spx_debug.h,v 1.6 1996/04/13 12:53:52 bde Exp $ */ #ifndef _NETIPX_SPX_DEBUG_H_ diff --git a/sys/netipx/spx_timer.h b/sys/netipx/spx_timer.h index 6a43d2d2251de..89b3595605767 100644 --- a/sys/netipx/spx_timer.h +++ b/sys/netipx/spx_timer.h @@ -33,7 +33,7 @@ * * @(#)spx_timer.h * - * $Id: spx_timer.h,v 1.4 1995/11/04 09:03:39 julian Exp $ + * $Id: spx_timer.h,v 1.5 1996/01/30 22:58:53 mpp Exp $ */ #ifndef _NETIPX_SPX_TIMER_H_ diff --git a/sys/netipx/spx_usrreq.c b/sys/netipx/spx_usrreq.c index 66f2f49112546..6d813d2679b35 100644 --- a/sys/netipx/spx_usrreq.c +++ b/sys/netipx/spx_usrreq.c @@ -33,7 +33,7 @@ * * @(#)spx_usrreq.h * - * $Id: spx_usrreq.c,v 1.7 1995/12/16 02:14:35 bde Exp $ + * $Id: spx_usrreq.c,v 1.8 1996/04/13 12:53:53 bde Exp $ */ #include <sys/param.h> diff --git a/sys/netipx/spx_var.h b/sys/netipx/spx_var.h index b11c7319727ae..ec25220825553 100644 --- a/sys/netipx/spx_var.h +++ b/sys/netipx/spx_var.h @@ -33,7 +33,7 @@ * * @(#)spx_var.h * - * $Id: spx_var.h,v 1.3 1995/10/31 23:36:47 julian Exp $ + * $Id: spx_var.h,v 1.4 1995/11/04 09:03:47 julian Exp $ */ #ifndef _NETIPX_SPX_VAR_H_ diff --git a/sys/netns/idp.h b/sys/netns/idp.h index 0d1ec97c64020..ee3ccaaaa81b0 100644 --- a/sys/netns/idp.h +++ b/sys/netns/idp.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)idp.h 8.1 (Berkeley) 6/10/93 - * $Id: idp.h,v 1.4 1996/01/30 22:59:24 mpp Exp wollman $ + * $Id: idp.h,v 1.5 1996/02/13 18:19:02 wollman Exp $ */ #ifndef _NETNS_IDP_H_ diff --git a/sys/netns/idp_usrreq.c b/sys/netns/idp_usrreq.c index 592da22aa09a3..fb44a58c1c0ea 100644 --- a/sys/netns/idp_usrreq.c +++ b/sys/netns/idp_usrreq.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)idp_usrreq.c 8.1 (Berkeley) 6/10/93 - * $Id: idp_usrreq.c,v 1.4 1995/05/30 08:12:20 rgrimes Exp $ + * $Id: idp_usrreq.c,v 1.6 1996/10/17 18:41:43 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/idp_var.h b/sys/netns/idp_var.h index e4b9e9f45934b..ec1bdbe1ec449 100644 --- a/sys/netns/idp_var.h +++ b/sys/netns/idp_var.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)idp_var.h 8.1 (Berkeley) 6/10/93 - * $Id: idp_var.h,v 1.3 1994/08/21 06:22:06 paul Exp $ + * $Id: idp_var.h,v 1.6 1996/10/17 18:41:46 jkh Exp $ */ #ifndef _NETNS_IDP_VAR_H_ diff --git a/sys/netns/ns.c b/sys/netns/ns.c index 402f6b711bea4..28c632ce25498 100644 --- a/sys/netns/ns.c +++ b/sys/netns/ns.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns.c 8.2 (Berkeley) 11/15/93 - * $Id: ns.c,v 1.4 1995/05/30 08:12:21 rgrimes Exp $ + * $Id: ns.c,v 1.6 1996/10/17 18:41:48 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/ns.h b/sys/netns/ns.h index 27ba198fbfa68..ede7720406422 100644 --- a/sys/netns/ns.h +++ b/sys/netns/ns.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns.h 8.1 (Berkeley) 6/10/93 - * $Id: ns.h,v 1.3 1994/08/21 06:22:07 paul Exp $ + * $Id: ns.h,v 1.9 1996/10/17 18:41:49 jkh Exp $ */ #ifndef _NETNS_NS_H_ diff --git a/sys/netns/ns_cksum.c b/sys/netns/ns_cksum.c index 6bd1bb44742e6..03585e745cfec 100644 --- a/sys/netns/ns_cksum.c +++ b/sys/netns/ns_cksum.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns_cksum.c 8.1 (Berkeley) 6/10/93 - * $Id: ns_cksum.c,v 1.2 1994/08/02 07:51:45 davidg Exp $ + * $Id: ns_cksum.c,v 1.4 1996/10/17 18:41:52 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/ns_error.c b/sys/netns/ns_error.c index 7102c8925f4f7..e244ec7047720 100644 --- a/sys/netns/ns_error.c +++ b/sys/netns/ns_error.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns_error.c 8.1 (Berkeley) 6/10/93 - * $Id: ns_error.c,v 1.3 1995/05/30 08:12:22 rgrimes Exp $ + * $Id: ns_error.c,v 1.6 1996/10/17 18:41:54 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/ns_error.h b/sys/netns/ns_error.h index b5ecdcf4d9ac7..768b51469aa1a 100644 --- a/sys/netns/ns_error.h +++ b/sys/netns/ns_error.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns_error.h 8.1 (Berkeley) 6/10/93 - * $Id: ns_error.h,v 1.3 1994/08/21 06:22:07 paul Exp $ + * $Id: ns_error.h,v 1.6 1996/10/17 18:41:56 jkh Exp $ */ #ifndef _NETNS_NS_ERROR_H_ diff --git a/sys/netns/ns_if.h b/sys/netns/ns_if.h index a20012853ce8d..62fd9971f802f 100644 --- a/sys/netns/ns_if.h +++ b/sys/netns/ns_if.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns_if.h 8.1 (Berkeley) 6/10/93 - * $Id: ns_if.h,v 1.4 1995/03/16 18:15:27 bde Exp $ + * $Id: ns_if.h,v 1.8 1996/10/17 18:41:57 jkh Exp $ */ #ifndef _NETNS_NS_IF_H_ diff --git a/sys/netns/ns_input.c b/sys/netns/ns_input.c index 72245b2086902..5fa6c7865e34e 100644 --- a/sys/netns/ns_input.c +++ b/sys/netns/ns_input.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns_input.c 8.1 (Berkeley) 6/10/93 - * $Id: ns_input.c,v 1.5 1995/05/30 08:12:27 rgrimes Exp $ + * $Id: ns_input.c,v 1.8 1996/10/17 18:41:59 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/ns_ip.c b/sys/netns/ns_ip.c index 44614a9f4d88c..4c8204ffb5c8d 100644 --- a/sys/netns/ns_ip.c +++ b/sys/netns/ns_ip.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns_ip.c 8.1 (Berkeley) 6/10/93 - * $Id: ns_ip.c,v 1.3 1995/03/19 14:29:03 davidg Exp $ + * $Id: ns_ip.c,v 1.6 1996/10/17 18:42:02 jkh Exp $ */ /* diff --git a/sys/netns/ns_output.c b/sys/netns/ns_output.c index 9d7715423831e..967279cd5662f 100644 --- a/sys/netns/ns_output.c +++ b/sys/netns/ns_output.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns_output.c 8.1 (Berkeley) 6/10/93 - * $Id: ns_output.c,v 1.2 1994/08/02 07:51:51 davidg Exp $ + * $Id: ns_output.c,v 1.4 1996/10/17 18:42:06 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/ns_pcb.c b/sys/netns/ns_pcb.c index 1b07c32119466..9c157cf45ab33 100644 --- a/sys/netns/ns_pcb.c +++ b/sys/netns/ns_pcb.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns_pcb.c 8.1 (Berkeley) 6/10/93 - * $Id: ns_pcb.c,v 1.3 1995/05/30 08:12:28 rgrimes Exp $ + * $Id: ns_pcb.c,v 1.6 1996/10/17 18:42:11 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/ns_pcb.h b/sys/netns/ns_pcb.h index 3260113f4b846..8ae568aa37a81 100644 --- a/sys/netns/ns_pcb.h +++ b/sys/netns/ns_pcb.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ns_pcb.h 8.1 (Berkeley) 6/10/93 - * $Id: ns_pcb.h,v 1.3 1994/08/21 06:22:09 paul Exp $ + * $Id: ns_pcb.h,v 1.6 1996/10/17 18:42:18 jkh Exp $ */ #ifndef _NETNS_NS_PCB_H_ diff --git a/sys/netns/ns_proto.c b/sys/netns/ns_proto.c index 87b16522bfece..c4bd8f0c387ff 100644 --- a/sys/netns/ns_proto.c +++ b/sys/netns/ns_proto.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * From: @(#)ns_proto.c 8.1 (Berkeley) 6/10/93 - * $Id: ns_proto.c,v 1.4 1995/05/30 08:12:30 rgrimes Exp $ + * $Id: ns_proto.c,v 1.7 1996/10/17 18:42:19 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/sp.h b/sys/netns/sp.h index 1f50e6e1d13d6..686c44d11bf46 100644 --- a/sys/netns/sp.h +++ b/sys/netns/sp.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)sp.h 8.1 (Berkeley) 6/10/93 - * $Id: sp.h,v 1.3 1994/08/21 06:22:09 paul Exp $ + * $Id: sp.h,v 1.5 1996/10/17 18:42:21 jkh Exp $ */ #ifndef _NETNS_SP_H_ diff --git a/sys/netns/spidp.h b/sys/netns/spidp.h index 52fdf786e3309..1b1c0e3da2eb1 100644 --- a/sys/netns/spidp.h +++ b/sys/netns/spidp.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spidp.h 8.1 (Berkeley) 6/10/93 - * $Id: spidp.h,v 1.3 1994/08/21 06:22:10 paul Exp $ + * $Id: spidp.h,v 1.5 1996/10/17 18:42:23 jkh Exp $ */ #ifndef _NETNS_SPIDP_H_ diff --git a/sys/netns/spp_debug.c b/sys/netns/spp_debug.c index 982c9aa141508..1ecb73e4b6770 100644 --- a/sys/netns/spp_debug.c +++ b/sys/netns/spp_debug.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spp_debug.c 8.1 (Berkeley) 6/10/93 - * $Id: spp_debug.c,v 1.2 1994/08/02 07:51:57 davidg Exp $ + * $Id: spp_debug.c,v 1.6 1996/10/17 18:42:24 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/spp_debug.h b/sys/netns/spp_debug.h index 0f5b0930b6cd3..e61bc8343d359 100644 --- a/sys/netns/spp_debug.h +++ b/sys/netns/spp_debug.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spp_debug.h 8.1 (Berkeley) 6/10/93 - * $Id: spp_debug.h,v 1.3 1994/08/21 06:22:11 paul Exp $ + * $Id: spp_debug.h,v 1.6 1996/10/17 18:42:26 jkh Exp $ */ #ifndef _NETNS_SPP_DEBUG_H_ diff --git a/sys/netns/spp_timer.h b/sys/netns/spp_timer.h index 972fd6ab8d827..b094ab02e793e 100644 --- a/sys/netns/spp_timer.h +++ b/sys/netns/spp_timer.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spp_timer.h 8.1 (Berkeley) 6/10/93 - * $Id: spp_timer.h,v 1.3 1994/08/21 06:22:11 paul Exp $ + * $Id: spp_timer.h,v 1.5 1996/10/17 18:42:28 jkh Exp $ */ #ifndef _NETNS_SPP_TIMER_H_ diff --git a/sys/netns/spp_usrreq.c b/sys/netns/spp_usrreq.c index 8a78580dfd038..2c26f577ee46a 100644 --- a/sys/netns/spp_usrreq.c +++ b/sys/netns/spp_usrreq.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spp_usrreq.c 8.1 (Berkeley) 6/10/93 - * $Id: spp_usrreq.c,v 1.4 1995/05/30 08:12:31 rgrimes Exp $ + * $Id: spp_usrreq.c,v 1.8 1996/10/17 18:42:29 jkh Exp $ */ #include <sys/param.h> diff --git a/sys/netns/spp_var.h b/sys/netns/spp_var.h index 8b630d1c8ab65..15022bec6ea29 100644 --- a/sys/netns/spp_var.h +++ b/sys/netns/spp_var.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spp_var.h 8.1 (Berkeley) 6/10/93 - * $Id: spp_var.h,v 1.3 1994/08/21 06:22:12 paul Exp $ + * $Id: spp_var.h,v 1.7 1996/10/17 18:42:33 jkh Exp $ */ #ifndef _NETNS_SPP_VAR_H_ diff --git a/sys/nfs/nfs.h b/sys/nfs/nfs.h index bc2edeb12ac55..9056d06c2d68f 100644 --- a/sys/nfs/nfs.h +++ b/sys/nfs/nfs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs.h 8.1 (Berkeley) 6/10/93 - * $Id: nfs.h,v 1.18 1996/08/21 21:55:44 dyson Exp $ + * $Id: nfs.h,v 1.18.2.1 1996/11/09 21:10:44 phk Exp $ */ #ifndef _NFS_NFS_H_ diff --git a/sys/nfs/nfs_bio.c b/sys/nfs/nfs_bio.c index 37a7a00d6c7a4..fc21551579087 100644 --- a/sys/nfs/nfs_bio.c +++ b/sys/nfs/nfs_bio.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_bio.c 8.5 (Berkeley) 1/4/94 - * $Id: nfs_bio.c,v 1.28.2.2 1996/11/12 09:09:27 phk Exp $ + * $Id: nfs_bio.c,v 1.28.2.3 1997/03/04 17:59:41 dfr Exp $ */ #include <sys/param.h> diff --git a/sys/nfs/nfs_node.c b/sys/nfs/nfs_node.c index be3155ca64774..2163ba117a07b 100644 --- a/sys/nfs/nfs_node.c +++ b/sys/nfs/nfs_node.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_node.c 8.2 (Berkeley) 12/30/93 - * $Id: nfs_node.c,v 1.12 1995/10/29 15:32:50 phk Exp $ + * $Id: nfs_node.c,v 1.13 1996/06/12 03:37:46 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/nfs/nfs_nqlease.c b/sys/nfs/nfs_nqlease.c index 182f92558d0d6..1082e1d756caf 100644 --- a/sys/nfs/nfs_nqlease.c +++ b/sys/nfs/nfs_nqlease.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_nqlease.c 8.3 (Berkeley) 1/4/94 - * $Id: nfs_nqlease.c,v 1.19 1996/01/13 23:27:43 phk Exp $ + * $Id: nfs_nqlease.c,v 1.20 1996/08/21 21:55:46 dyson Exp $ */ /* diff --git a/sys/nfs/nfs_serv.c b/sys/nfs/nfs_serv.c index 9f2010e922e0f..058a6e720e504 100644 --- a/sys/nfs/nfs_serv.c +++ b/sys/nfs/nfs_serv.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_serv.c 8.3 (Berkeley) 1/12/94 - * $Id: nfs_serv.c,v 1.33 1996/09/05 07:58:04 davidg Exp $ + * $Id: nfs_serv.c,v 1.34 1996/09/19 18:20:56 nate Exp $ */ /* diff --git a/sys/nfs/nfs_socket.c b/sys/nfs/nfs_socket.c index 6cafa8af98acd..77ef07076e9a9 100644 --- a/sys/nfs/nfs_socket.c +++ b/sys/nfs/nfs_socket.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_socket.c 8.3 (Berkeley) 1/12/94 - * $Id: nfs_socket.c,v 1.17 1996/07/11 16:32:45 wollman Exp $ + * $Id: nfs_socket.c,v 1.18 1996/10/11 10:15:33 dfr Exp $ */ /* diff --git a/sys/nfs/nfs_srvcache.c b/sys/nfs/nfs_srvcache.c index 44aaf83933ad9..a24cd3909902b 100644 --- a/sys/nfs/nfs_srvcache.c +++ b/sys/nfs/nfs_srvcache.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_srvcache.c 8.1 (Berkeley) 6/10/93 - * $Id: nfs_srvcache.c,v 1.7 1995/12/17 21:12:27 phk Exp $ + * $Id: nfs_srvcache.c,v 1.8 1996/01/13 23:27:55 phk Exp $ */ #ifndef NFS_NOSERVER diff --git a/sys/nfs/nfs_subs.c b/sys/nfs/nfs_subs.c index 2566fe6472eb4..46a422d009ff7 100644 --- a/sys/nfs/nfs_subs.c +++ b/sys/nfs/nfs_subs.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_subs.c 8.3 (Berkeley) 1/4/94 - * $Id: nfs_subs.c,v 1.33 1996/09/19 18:20:59 nate Exp $ + * $Id: nfs_subs.c,v 1.33.2.1 1996/11/09 21:10:54 phk Exp $ */ /* diff --git a/sys/nfs/nfs_syscalls.c b/sys/nfs/nfs_syscalls.c index 31fde076b92ff..7a736315d14e8 100644 --- a/sys/nfs/nfs_syscalls.c +++ b/sys/nfs/nfs_syscalls.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_syscalls.c 8.3 (Berkeley) 1/4/94 - * $Id: nfs_syscalls.c,v 1.14.2.1 1996/11/09 21:10:58 phk Exp $ + * $Id: nfs_syscalls.c,v 1.14.2.2 1996/11/12 09:09:30 phk Exp $ */ #include <sys/param.h> diff --git a/sys/nfs/nfs_vfsops.c b/sys/nfs/nfs_vfsops.c index 0e9e1e2c74c39..12594ff36e6e1 100644 --- a/sys/nfs/nfs_vfsops.c +++ b/sys/nfs/nfs_vfsops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_vfsops.c 8.3 (Berkeley) 1/4/94 - * $Id: nfs_vfsops.c,v 1.30 1996/10/20 15:01:58 phk Exp $ + * $Id: nfs_vfsops.c,v 1.30.2.1 1996/11/09 21:11:03 phk Exp $ */ #include <sys/param.h> diff --git a/sys/nfs/nfs_vnops.c b/sys/nfs/nfs_vnops.c index c779a99503f90..e8744ed0564ba 100644 --- a/sys/nfs/nfs_vnops.c +++ b/sys/nfs/nfs_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_vnops.c 8.5 (Berkeley) 2/13/94 - * $Id: nfs_vnops.c,v 1.36.2.2 1997/01/07 06:18:27 wpaul Exp $ + * $Id: nfs_vnops.c,v 1.36.2.3 1997/03/04 17:59:42 dfr Exp $ */ /* diff --git a/sys/nfs/nfsdiskless.h b/sys/nfs/nfsdiskless.h index f7371dcc0d3c3..a2141ca9a000b 100644 --- a/sys/nfs/nfsdiskless.h +++ b/sys/nfs/nfsdiskless.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsdiskless.h 8.1 (Berkeley) 6/10/93 - * $Id: nfsdiskless.h,v 1.4 1994/08/21 06:50:09 paul Exp $ + * $Id: nfsdiskless.h,v 1.5 1995/06/27 11:06:54 dfr Exp $ */ #ifndef _NFS_NFSDISKLESS_H_ diff --git a/sys/nfs/nfsm_subs.h b/sys/nfs/nfsm_subs.h index 324df71eb6a57..c3aa26e6d4ffd 100644 --- a/sys/nfs/nfsm_subs.h +++ b/sys/nfs/nfsm_subs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsm_subs.h 8.1 (Berkeley) 6/16/93 - * $Id: nfsm_subs.h,v 1.8 1995/08/24 10:45:16 dfr Exp $ + * $Id: nfsm_subs.h,v 1.9 1996/09/19 18:21:04 nate Exp $ */ #ifndef _NFS_NFSM_SUBS_H_ diff --git a/sys/nfs/nfsmount.h b/sys/nfs/nfsmount.h index a1c3b385f8a06..6b0ae91803b1a 100644 --- a/sys/nfs/nfsmount.h +++ b/sys/nfs/nfsmount.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsmount.h 8.1 (Berkeley) 6/10/93 - * $Id: nfsmount.h,v 1.7 1995/12/17 21:12:36 phk Exp $ + * $Id: nfsmount.h,v 1.7.4.1 1996/11/09 21:11:17 phk Exp $ */ #ifndef _NFS_NFSMOUNT_H_ diff --git a/sys/nfs/nfsnode.h b/sys/nfs/nfsnode.h index 265154c37a11c..faaf22a9aa0b6 100644 --- a/sys/nfs/nfsnode.h +++ b/sys/nfs/nfsnode.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsnode.h 8.4 (Berkeley) 2/13/94 - * $Id: nfsnode.h,v 1.15 1995/12/17 21:12:37 phk Exp $ + * $Id: nfsnode.h,v 1.15.4.1 1996/11/09 21:11:21 phk Exp $ */ #ifndef _NFS_NFSNODE_H_ diff --git a/sys/nfs/nfsproto.h b/sys/nfs/nfsproto.h index ac1a09075c3e7..a827a9d3be44e 100644 --- a/sys/nfs/nfsproto.h +++ b/sys/nfs/nfsproto.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsproto.h 8.1 (Berkeley) 6/10/93 - * $Id: nfsproto.h,v 1.4 1994/08/21 06:50:13 paul Exp $ + * $Id: nfsproto.h,v 1.1 1995/06/27 11:06:58 dfr Exp $ */ #ifndef _NFS_NFSPROTO_H_ diff --git a/sys/nfs/nfsrtt.h b/sys/nfs/nfsrtt.h index 38f520e9c954a..a02b8c052e6e9 100644 --- a/sys/nfs/nfsrtt.h +++ b/sys/nfs/nfsrtt.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsrtt.h 8.1 (Berkeley) 6/10/93 - * $Id: nfsrtt.h,v 1.3 1994/08/21 06:50:12 paul Exp $ + * $Id: nfsrtt.h,v 1.4 1995/06/27 11:06:59 dfr Exp $ */ #ifndef _NFS_NFSRTT_H_ diff --git a/sys/nfs/nfsrvcache.h b/sys/nfs/nfsrvcache.h index dc10bd7469462..2265c201efe13 100644 --- a/sys/nfs/nfsrvcache.h +++ b/sys/nfs/nfsrvcache.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsrvcache.h 8.1 (Berkeley) 6/10/93 - * $Id: nfsrvcache.h,v 1.4 1994/10/17 17:47:44 phk Exp $ + * $Id: nfsrvcache.h,v 1.5 1995/06/27 11:06:59 dfr Exp $ */ #ifndef _NFS_NFSRVCACHE_H_ diff --git a/sys/nfs/nfsv2.h b/sys/nfs/nfsv2.h index 1ae1a724d965c..5ba53b69f8539 100644 --- a/sys/nfs/nfsv2.h +++ b/sys/nfs/nfsv2.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsv2.h 8.1 (Berkeley) 6/10/93 - * $Id: nfsv2.h,v 1.4 1994/08/21 06:50:13 paul Exp $ + * $Id: nfsv2.h,v 1.5 1995/06/27 11:07:00 dfr Exp $ */ #include <nfs/nfsproto.h> diff --git a/sys/nfs/nqnfs.h b/sys/nfs/nqnfs.h index 6a603f9ba3e76..e4e6015b03ada 100644 --- a/sys/nfs/nqnfs.h +++ b/sys/nfs/nqnfs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nqnfs.h 8.1 (Berkeley) 6/10/93 - * $Id: nqnfs.h,v 1.9 1995/11/21 12:54:42 bde Exp $ + * $Id: nqnfs.h,v 1.10 1995/12/17 21:12:38 phk Exp $ */ #ifndef _NFS_NQNFS_H_ diff --git a/sys/nfs/rpcv2.h b/sys/nfs/rpcv2.h index b53d5aa47dcb8..bcdd50eb93267 100644 --- a/sys/nfs/rpcv2.h +++ b/sys/nfs/rpcv2.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)rpcv2.h 8.1 (Berkeley) 6/10/93 - * $Id: rpcv2.h,v 1.3 1994/08/21 06:50:15 paul Exp $ + * $Id: rpcv2.h,v 1.4 1995/06/27 11:07:02 dfr Exp $ */ #ifndef _NFS_RPCV2_H_ diff --git a/sys/nfs/xdr_subs.h b/sys/nfs/xdr_subs.h index 26a0969ef5701..9555ebd588931 100644 --- a/sys/nfs/xdr_subs.h +++ b/sys/nfs/xdr_subs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)xdr_subs.h 8.1 (Berkeley) 6/10/93 - * $Id: xdr_subs.h,v 1.5 1995/06/27 11:07:03 dfr Exp $ + * $Id: xdr_subs.h,v 1.6 1996/09/19 18:21:06 nate Exp $ */ #ifndef _NFS_XDR_SUBS_H_ diff --git a/sys/pc98/boot/Makefile b/sys/pc98/boot/Makefile index db077c7c8f705..585971533983e 100644 --- a/sys/pc98/boot/Makefile +++ b/sys/pc98/boot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.26 1996/09/11 19:22:21 phk Exp $ +# $Id: Makefile,v 1.2 1996/09/12 11:08:34 asami Exp $ SUBDIR= biosboot kzipboot netboot rawboot diff --git a/sys/pc98/boot/biosboot/Makefile b/sys/pc98/boot/biosboot/Makefile index b7750be6215a3..0a834fe502fa0 100644 --- a/sys/pc98/boot/biosboot/Makefile +++ b/sys/pc98/boot/biosboot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4.2.3 1997/03/08 15:48:18 kato Exp $ +# $Id: Makefile,v 1.4.2.4 1997/03/13 02:12:28 kato Exp $ # PROG= boot diff --git a/sys/pc98/boot/biosboot/README.386BSD b/sys/pc98/boot/biosboot/README.386BSD index 5b293c1c6c2f4..4314d9fa92bbf 100644 --- a/sys/pc98/boot/biosboot/README.386BSD +++ b/sys/pc98/boot/biosboot/README.386BSD @@ -169,4 +169,4 @@ Before you do this ensure you have a booting floppy with correct disktab and bootblock files on it so that if it doesn't work, you can re-disklabel from the floppy. -$Id: README.386BSD,v 1.1.1.1 1996/06/14 10:04:37 asami Exp $ +$Id: README.386BSD,v 1.2 1996/07/23 07:45:34 asami Exp $ diff --git a/sys/pc98/boot/biosboot/README.MACH b/sys/pc98/boot/biosboot/README.MACH index 9de108123bd2d..19c40e379561d 100644 --- a/sys/pc98/boot/biosboot/README.MACH +++ b/sys/pc98/boot/biosboot/README.MACH @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:33:55 rpd - * $Id: README.MACH,v 1.3 1993/10/16 19:11:26 rgrimes Exp $ + * $Id: README.MACH,v 1.1.1.1 1996/06/14 10:04:37 asami Exp $ */ ********NOTE: This is not all relevant to the 386BSD version********** diff --git a/sys/pc98/boot/biosboot/README.serial b/sys/pc98/boot/biosboot/README.serial index 8ace5051afc06..978fe2633cba3 100644 --- a/sys/pc98/boot/biosboot/README.serial +++ b/sys/pc98/boot/biosboot/README.serial @@ -161,4 +161,4 @@ CAVEATS: from the new kernel. -$Id: README.serial,v 1.5 1996/04/13 11:57:18 jkh Exp $ +$Id: README.serial,v 1.1.1.1 1996/06/14 10:04:37 asami Exp $ diff --git a/sys/pc98/boot/biosboot/asm.S b/sys/pc98/boot/biosboot/asm.S index e689817466268..238479c8e679f 100644 --- a/sys/pc98/boot/biosboot/asm.S +++ b/sys/pc98/boot/biosboot/asm.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:34:13 rpd - * $Id: asm.S,v 1.9 1996/03/08 07:27:52 bde Exp $ + * $Id: asm.S,v 1.1.1.1 1996/06/14 10:04:37 asami Exp $ */ diff --git a/sys/pc98/boot/biosboot/asm.h b/sys/pc98/boot/biosboot/asm.h index 3044b6437103b..837d947132d59 100644 --- a/sys/pc98/boot/biosboot/asm.h +++ b/sys/pc98/boot/biosboot/asm.h @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.7 92/02/29 15:33:41 rpd - * $Id: asm.h,v 1.4 1995/05/30 07:58:25 rgrimes Exp $ + * $Id: asm.h,v 1.1.1.1 1996/06/14 10:04:37 asami Exp $ */ #define S_ARG0 4(%esp) diff --git a/sys/pc98/boot/biosboot/bios.S b/sys/pc98/boot/biosboot/bios.S index 4a3243a9eb226..468a1a8dcc14b 100644 --- a/sys/pc98/boot/biosboot/bios.S +++ b/sys/pc98/boot/biosboot/bios.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:34:26 rpd - * $Id: bios.S,v 1.1.1.1.2.2 1996/12/04 16:00:20 phk Exp $ + * $Id: bios.S,v 1.1.1.1.2.3 1997/01/04 16:16:06 kato Exp $ */ /* diff --git a/sys/pc98/boot/biosboot/boot.c b/sys/pc98/boot/biosboot/boot.c index 31b6ff1356fc0..b09f4120c33e7 100644 --- a/sys/pc98/boot/biosboot/boot.c +++ b/sys/pc98/boot/biosboot/boot.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, [92/04/03 16:51:14 rvb] - * $Id: boot.c,v 1.6 1996/10/23 07:24:29 asami Exp $ + * $Id: boot.c,v 1.6.2.1 1996/11/09 21:11:40 phk Exp $ */ diff --git a/sys/pc98/boot/biosboot/boot.h b/sys/pc98/boot/biosboot/boot.h index 4e57f2cb06d28..98b65af315860 100644 --- a/sys/pc98/boot/biosboot/boot.h +++ b/sys/pc98/boot/biosboot/boot.h @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:35:03 rpd - * $Id: boot.h,v 1.4 1996/10/23 07:24:30 asami Exp $ + * $Id: boot.h,v 1.4.2.1 1996/11/09 21:11:47 phk Exp $ */ #include <sys/param.h> diff --git a/sys/pc98/boot/biosboot/disk.c b/sys/pc98/boot/biosboot/disk.c index ddc3b2a46bd46..6c331bed2a7ac 100644 --- a/sys/pc98/boot/biosboot/disk.c +++ b/sys/pc98/boot/biosboot/disk.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:35:49 rpd - * $Id: disk.c,v 1.5 1996/10/23 07:24:31 asami Exp $ + * $Id: disk.c,v 1.5.2.1 1996/12/14 14:48:17 joerg Exp $ */ /* diff --git a/sys/pc98/boot/biosboot/io.c b/sys/pc98/boot/biosboot/io.c index fada16ba67ef0..d318140fa4ad8 100644 --- a/sys/pc98/boot/biosboot/io.c +++ b/sys/pc98/boot/biosboot/io.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:35:57 rpd - * $Id: io.c,v 1.5.2.1 1996/11/09 21:11:57 phk Exp $ + * $Id: io.c,v 1.5.2.2 1997/01/04 16:19:15 kato Exp $ */ #include "boot.h" diff --git a/sys/pc98/boot/biosboot/serial.S b/sys/pc98/boot/biosboot/serial.S index d8d4b6f6b8744..2c7b3522bc5a6 100644 --- a/sys/pc98/boot/biosboot/serial.S +++ b/sys/pc98/boot/biosboot/serial.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:34:26 rpd - * $Id: serial.S,v 1.1.1.1 1996/06/14 10:04:37 asami Exp $ + * $Id: serial.S,v 1.1.1.1.2.1 1996/11/09 21:12:08 phk Exp $ */ /* diff --git a/sys/pc98/boot/biosboot/start.S b/sys/pc98/boot/biosboot/start.S index 1400cf85275f1..548465b17c966 100644 --- a/sys/pc98/boot/biosboot/start.S +++ b/sys/pc98/boot/biosboot/start.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:36:29 rpd - * $Id: start.S,v 1.1.1.1 1996/06/14 10:04:37 asami Exp $ + * $Id: start.S,v 1.2 1996/07/23 07:45:37 asami Exp $ */ /* diff --git a/sys/pc98/boot/biosboot/sys.c b/sys/pc98/boot/biosboot/sys.c index bd775d8e7492d..255502f7fe5c7 100644 --- a/sys/pc98/boot/biosboot/sys.c +++ b/sys/pc98/boot/biosboot/sys.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:36:34 rpd - * $Id: sys.c,v 1.6.2.1 1996/11/09 21:12:13 phk Exp $ + * $Id: sys.c,v 1.6.2.2 1997/01/04 16:19:16 kato Exp $ */ /* diff --git a/sys/pc98/boot/biosboot/table.c b/sys/pc98/boot/biosboot/table.c index 2559b43119bcd..6422d9e0b5ec1 100644 --- a/sys/pc98/boot/biosboot/table.c +++ b/sys/pc98/boot/biosboot/table.c @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:36:43 rpd - * $Id: table.c,v 1.2 1996/10/09 21:45:35 asami Exp $ + * $Id: table.c,v 1.2.2.1 1996/11/09 21:12:20 phk Exp $ */ /* diff --git a/sys/pc98/boot/kzipboot/Makefile b/sys/pc98/boot/kzipboot/Makefile index 47df4f1aa4314..e8a31ae2e6e87 100644 --- a/sys/pc98/boot/kzipboot/Makefile +++ b/sys/pc98/boot/kzipboot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1995/10/06 02:57:22 peter Exp $ +# $Id: Makefile,v 1.1.1.1 1996/06/14 10:04:38 asami Exp $ PROG= kztail.o kzhead.o BINMODE = 444 # target is a relocatable object diff --git a/sys/pc98/boot/rawboot/Makefile b/sys/pc98/boot/rawboot/Makefile index e496209112766..1bee1642f9b95 100644 --- a/sys/pc98/boot/rawboot/Makefile +++ b/sys/pc98/boot/rawboot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2.2.1 1996/11/10 12:12:39 phk Exp $ +# $Id: Makefile,v 1.2.2.2 1996/12/15 19:46:10 bde Exp $ # PROG= boot diff --git a/sys/pc98/conf/GENERIC98 b/sys/pc98/conf/GENERIC98 index cdcc3718533c9..c2312ceecd0d0 100644 --- a/sys/pc98/conf/GENERIC98 +++ b/sys/pc98/conf/GENERIC98 @@ -11,7 +11,7 @@ # device lines is present in the ./LINT configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in LINT. # -# $Id: GENERIC98,v 1.8.2.4 1997/02/08 06:39:38 kato Exp $ +# $Id: GENERIC98,v 1.8.2.5 1997/02/12 13:35:52 kato Exp $ # GENERIC98 -- Generic PC98 machine with WD/SCSI disks diff --git a/sys/pc98/conf/Makefile.pc98 b/sys/pc98/conf/Makefile.pc98 index e3d33e38a1885..5300d001544c1 100644 --- a/sys/pc98/conf/Makefile.pc98 +++ b/sys/pc98/conf/Makefile.pc98 @@ -3,7 +3,7 @@ # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.pc98,v 1.7.2.1 1996/11/09 21:12:38 phk Exp $ +# $Id: Makefile.pc98,v 1.7.2.2 1997/02/14 05:35:07 kato Exp $ # # Makefile for FreeBSD # diff --git a/sys/pc98/conf/devices.pc98 b/sys/pc98/conf/devices.pc98 index 904a399e93fa5..88e9bb1284a0f 100644 --- a/sys/pc98/conf/devices.pc98 +++ b/sys/pc98/conf/devices.pc98 @@ -1,6 +1,6 @@ # This file tells what major numbers the various possible swap devices have. # -# $Id: devices.i386,v 1.9 1995/08/19 15:59:25 joerg Exp $ +# $Id: devices.pc98,v 1.1.1.1 1996/06/14 10:04:40 asami Exp $ # wd 0 dk 1 diff --git a/sys/pc98/conf/files.pc98 b/sys/pc98/conf/files.pc98 index deec78103137b..2ab0136a0bd31 100644 --- a/sys/pc98/conf/files.pc98 +++ b/sys/pc98/conf/files.pc98 @@ -3,7 +3,7 @@ # # modified for PC-9801 # -# $Id: files.pc98,v 1.9.2.4 1997/02/09 10:37:07 kato Exp $ +# $Id: files.pc98,v 1.9.2.5 1997/02/09 11:01:37 kato Exp $ # aic7xxx_asm optional ahc device-driver \ dependency "$S/dev/aic7xxx/aic7xxx_asm.c" \ diff --git a/sys/pc98/conf/majors.pc98 b/sys/pc98/conf/majors.pc98 index a4921f386d9e1..3ace2c9befb09 100644 --- a/sys/pc98/conf/majors.pc98 +++ b/sys/pc98/conf/majors.pc98 @@ -1,4 +1,4 @@ -$Id: majors.pc98,v 1.5 1996/10/29 08:36:13 asami Exp $ +$Id: majors.pc98,v 1.5.2.1 1997/03/15 15:52:35 kato Exp $ Hopefully, this list will one day be obsoleted by DEVFS, but for now this is the current allocation of device major numbers. diff --git a/sys/pc98/conf/options.pc98 b/sys/pc98/conf/options.pc98 index d051023b926d0..baf7d13f0d63f 100644 --- a/sys/pc98/conf/options.pc98 +++ b/sys/pc98/conf/options.pc98 @@ -1,4 +1,4 @@ -# $Id: options.pc98,v 1.8.2.5 1997/03/01 11:10:34 kato Exp $ +# $Id: options.pc98,v 1.8.2.6 1997/03/13 17:06:19 kato Exp $ BOUNCEPAGES opt_bounce.h USER_LDT MATH_EMULATE opt_math_emulate.h diff --git a/sys/pc98/i386/locore.s b/sys/pc98/i386/locore.s index 4281d0a5670ee..c1ba750d13967 100644 --- a/sys/pc98/i386/locore.s +++ b/sys/pc98/i386/locore.s @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)locore.s 7.3 (Berkeley) 5/13/91 - * $Id: locore.s,v 1.5.2.5 1997/01/25 10:43:18 kato Exp $ + * $Id: locore.s,v 1.5.2.6 1997/02/01 15:55:17 kato Exp $ * * originally from: locore.s, by William F. Jolitz * diff --git a/sys/pc98/i386/machdep.c b/sys/pc98/i386/machdep.c index 5102298a36ba7..395832c6effc5 100644 --- a/sys/pc98/i386/machdep.c +++ b/sys/pc98/i386/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.11.2.8 1997/01/20 18:30:45 kato Exp $ + * $Id: machdep.c,v 1.11.2.9 1997/02/14 05:37:48 kato Exp $ */ #include "npx.h" diff --git a/sys/pc98/i386/microtime.s b/sys/pc98/i386/microtime.s index 146f748202b1c..6c0ed26f53dab 100644 --- a/sys/pc98/i386/microtime.s +++ b/sys/pc98/i386/microtime.s @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: Steve McCanne's microtime code - * $Id: microtime.s,v 1.5 1996/10/09 19:47:38 bde Exp $ + * $Id: microtime.s,v 1.6 1996/10/30 22:39:35 asami Exp $ */ #include "opt_cpu.h" diff --git a/sys/pc98/i386/trap.c b/sys/pc98/i386/trap.c index 32057f452b08b..1c57377e14ec7 100644 --- a/sys/pc98/i386/trap.c +++ b/sys/pc98/i386/trap.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 - * $Id: trap.c,v 1.8.2.1 1996/12/21 18:27:28 bde Exp $ + * $Id: trap.c,v 1.8.2.2 1997/02/13 12:32:37 kato Exp $ */ /* diff --git a/sys/pc98/i386/userconfig.c b/sys/pc98/i386/userconfig.c index a5fed13be82ba..390334454ea11 100644 --- a/sys/pc98/i386/userconfig.c +++ b/sys/pc98/i386/userconfig.c @@ -46,7 +46,7 @@ ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ** - ** $Id: userconfig.c,v 1.10.2.9 1997/03/11 16:21:32 kato Exp $ + ** $Id: userconfig.c,v 1.10.2.10 1997/03/15 15:45:20 kato Exp $ **/ /** @@ -2372,7 +2372,7 @@ visuserconfig(void) * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: userconfig.c,v 1.10.2.9 1997/03/11 16:21:32 kato Exp $ + * $Id: userconfig.c,v 1.10.2.10 1997/03/15 15:45:20 kato Exp $ */ #include "scbus.h" diff --git a/sys/pc98/pc98/atcompat_diskslice.c b/sys/pc98/pc98/atcompat_diskslice.c index 0830e1b389f17..92882b2007dff 100644 --- a/sys/pc98/pc98/atcompat_diskslice.c +++ b/sys/pc98/pc98/atcompat_diskslice.c @@ -35,7 +35,7 @@ * * from: @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91 * from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $ - * $Id: atcompat_diskslice.c,v 1.2 1996/10/09 21:46:08 asami Exp $ + * $Id: atcompat_diskslice.c,v 1.2.2.1 1996/11/09 21:13:34 phk Exp $ */ /* diff --git a/sys/pc98/pc98/clock.c b/sys/pc98/pc98/clock.c index 39f6896c81006..fa518b68ba191 100644 --- a/sys/pc98/pc98/clock.c +++ b/sys/pc98/pc98/clock.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)clock.c 7.2 (Berkeley) 5/12/91 - * $Id: clock.c,v 1.10.2.5 1997/03/01 11:07:51 kato Exp $ + * $Id: clock.c,v 1.10.2.6 1997/03/05 16:21:28 kato Exp $ */ /* diff --git a/sys/pc98/pc98/diskslice_machdep.c b/sys/pc98/pc98/diskslice_machdep.c index c5e53b4d8e666..04434940183c5 100644 --- a/sys/pc98/pc98/diskslice_machdep.c +++ b/sys/pc98/pc98/diskslice_machdep.c @@ -35,7 +35,7 @@ * * from: @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91 * from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $ - * $Id: diskslice_machdep.c,v 1.3.2.2 1996/12/04 16:00:52 phk Exp $ + * $Id: diskslice_machdep.c,v 1.3.2.3 1997/01/16 08:31:47 kato Exp $ */ /* diff --git a/sys/pc98/pc98/fd.c b/sys/pc98/pc98/fd.c index 1ae30f157f464..c552b0bd04506 100644 --- a/sys/pc98/pc98/fd.c +++ b/sys/pc98/pc98/fd.c @@ -43,7 +43,7 @@ * SUCH DAMAGE. * * from: @(#)fd.c 7.4 (Berkeley) 5/25/91 - * $Id: fd.c,v 1.7.2.6 1997/02/11 14:24:47 kato Exp $ + * $Id: fd.c,v 1.7.2.7 1997/03/04 06:52:04 kato Exp $ * */ diff --git a/sys/pc98/pc98/fdreg.h b/sys/pc98/pc98/fdreg.h index 93a99a673e83e..28f6636b21bd4 100644 --- a/sys/pc98/pc98/fdreg.h +++ b/sys/pc98/pc98/fdreg.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)fdreg.h 7.1 (Berkeley) 5/9/91 - * $Id: fdreg.h,v 1.8 1994/09/25 23:37:38 phk Exp $ + * $Id: fdreg.h,v 1.2 1996/09/10 09:37:53 asami Exp $ */ /* diff --git a/sys/pc98/pc98/ft.c b/sys/pc98/pc98/ft.c index 8920660da77a4..4429f3af07b6a 100644 --- a/sys/pc98/pc98/ft.c +++ b/sys/pc98/pc98/ft.c @@ -17,7 +17,7 @@ * POSSIBILITY OF SUCH DAMAGE. * * ft.c - QIC-40/80 floppy tape driver - * $Id: ft.c,v 1.5.2.3 1997/01/10 06:54:36 kato Exp $ + * $Id: ft.c,v 1.5.2.4 1997/02/08 10:01:29 kato Exp $ * * 01/19/95 ++sg * Cleaned up recalibrate/seek code at attach time for FreeBSD 2.x. diff --git a/sys/pc98/pc98/if_ed.c b/sys/pc98/pc98/if_ed.c index 11c1c2ca873c6..17c7a53875813 100644 --- a/sys/pc98/pc98/if_ed.c +++ b/sys/pc98/pc98/if_ed.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_ed.c,v 1.11.2.5 1997/02/06 14:54:20 kato Exp $ + * $Id: if_ed.c,v 1.11.2.6 1997/02/12 13:41:21 kato Exp $ */ /* diff --git a/sys/pc98/pc98/if_fe.c b/sys/pc98/pc98/if_fe.c index 3d1388eec6926..ff03a5e053f90 100644 --- a/sys/pc98/pc98/if_fe.c +++ b/sys/pc98/pc98/if_fe.c @@ -21,7 +21,7 @@ */ /* - * $Id: if_fe.c,v 1.10.2.4 1997/02/03 11:00:42 kato Exp $ + * $Id: if_fe.c,v 1.10.2.5 1997/02/07 19:10:01 kato Exp $ * * Device driver for Fujitsu MB86960A/MB86965A based Ethernet cards. * To be used with FreeBSD 2.x diff --git a/sys/pc98/pc98/lpt.c b/sys/pc98/pc98/lpt.c index d83c06a96b028..07da82c1c2370 100644 --- a/sys/pc98/pc98/lpt.c +++ b/sys/pc98/pc98/lpt.c @@ -46,7 +46,7 @@ * SUCH DAMAGE. * * from: unknown origin, 386BSD 0.1 - * $Id: lpt.c,v 1.5.2.2 1996/12/04 16:01:15 phk Exp $ + * $Id: lpt.c,v 1.5.2.3 1997/01/17 14:56:54 kato Exp $ */ /* diff --git a/sys/pc98/pc98/mse.c b/sys/pc98/pc98/mse.c index e173d8dca591c..2a57beb546c1f 100644 --- a/sys/pc98/pc98/mse.c +++ b/sys/pc98/pc98/mse.c @@ -11,7 +11,7 @@ * this software for any purpose. It is provided "as is" * without express or implied warranty. * - * $Id: mse.c,v 1.6 1996/10/30 22:40:06 asami Exp $ + * $Id: mse.c,v 1.6.2.1 1997/01/04 16:59:17 kato Exp $ */ /* * Driver for the Logitech and ATI Inport Bus mice for use with 386bsd and diff --git a/sys/pc98/pc98/npx.c b/sys/pc98/pc98/npx.c index 940cc3ffd16c2..4e58f9e8a975c 100644 --- a/sys/pc98/pc98/npx.c +++ b/sys/pc98/pc98/npx.c @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: @(#)npx.c 7.2 (Berkeley) 5/12/91 - * $Id: npx.c,v 1.8.2.3 1997/01/30 11:57:44 kato Exp $ + * $Id: npx.c,v 1.8.2.4 1997/02/13 12:22:35 kato Exp $ */ #include "npx.h" diff --git a/sys/pc98/pc98/pc98.c b/sys/pc98/pc98/pc98.c index 1572b71413440..9b6b31b9fef72 100644 --- a/sys/pc98/pc98/pc98.c +++ b/sys/pc98/pc98/pc98.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)isa.c 7.2 (Berkeley) 5/13/91 - * $Id: pc98.c,v 1.10.2.5 1997/02/11 14:24:49 kato Exp $ + * $Id: pc98.c,v 1.10.2.6 1997/02/13 12:26:42 kato Exp $ */ /* diff --git a/sys/pc98/pc98/pc98.h b/sys/pc98/pc98/pc98.h index 1d1db53bb555d..ec3c9c0a1cdc5 100644 --- a/sys/pc98/pc98/pc98.h +++ b/sys/pc98/pc98/pc98.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)isa.h 5.7 (Berkeley) 5/9/91 - * $Id: pc98.h,v 1.7 1996/10/30 22:40:07 asami Exp $ + * $Id: pc98.h,v 1.7.2.1 1997/02/11 14:24:50 kato Exp $ */ #ifndef _PC98_PC98_PC98_H_ diff --git a/sys/pc98/pc98/pcaudio.c b/sys/pc98/pc98/pcaudio.c index 2b5c4c718e50f..8edc0b7d06dc0 100644 --- a/sys/pc98/pc98/pcaudio.c +++ b/sys/pc98/pc98/pcaudio.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pcaudio.c,v 1.6 1996/10/09 21:46:40 asami Exp $ + * $Id: pcaudio.c,v 1.7 1996/10/30 22:40:08 asami Exp $ */ #include "pca.h" diff --git a/sys/pc98/pc98/sio.c b/sys/pc98/pc98/sio.c index b8f7d9c1b4358..eb261553eca01 100644 --- a/sys/pc98/pc98/sio.c +++ b/sys/pc98/pc98/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.8.2.7 1997/02/11 14:24:52 kato Exp $ + * $Id: sio.c,v 1.8.2.8 1997/03/06 15:09:27 kato Exp $ */ #include "opt_comconsole.h" diff --git a/sys/pc98/pc98/sioreg.h b/sys/pc98/pc98/sioreg.h index d8f8d57220a00..fb79a8ea26363 100644 --- a/sys/pc98/pc98/sioreg.h +++ b/sys/pc98/pc98/sioreg.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)comreg.h 7.2 (Berkeley) 5/9/91 - * $Id: sioreg.h,v 1.1.1.1 1996/06/14 10:04:46 asami Exp $ + * $Id: sioreg.h,v 1.1.1.1.2.1 1996/11/09 21:14:16 phk Exp $ */ diff --git a/sys/pc98/pc98/spkr.c b/sys/pc98/pc98/spkr.c index d6a1960591e8f..47bfe720e5d5e 100644 --- a/sys/pc98/pc98/spkr.c +++ b/sys/pc98/pc98/spkr.c @@ -4,7 +4,7 @@ * v1.4 by Eric S. Raymond (esr@snark.thyrsus.com) Aug 1993 * modified for FreeBSD by Andrew A. Chernov <ache@astral.msk.su> * - * $Id: spkr.c,v 1.5 1996/10/30 22:40:14 asami Exp $ + * $Id: spkr.c,v 1.5.2.1 1996/11/09 21:14:21 phk Exp $ */ /* diff --git a/sys/pc98/pc98/syscons.c b/sys/pc98/pc98/syscons.c index 884ce215dc348..f2c7f92a1543a 100644 --- a/sys/pc98/pc98/syscons.c +++ b/sys/pc98/pc98/syscons.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.c,v 1.13.2.12 1997/03/04 06:49:40 kato Exp $ + * $Id: syscons.c,v 1.13.2.13 1997/03/09 13:30:06 kato Exp $ */ #include "sc.h" diff --git a/sys/pc98/pc98/syscons.h b/sys/pc98/pc98/syscons.h index 0373faa7b1784..22aa8534a45a5 100644 --- a/sys/pc98/pc98/syscons.h +++ b/sys/pc98/pc98/syscons.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.h,v 1.7.2.2 1997/01/21 08:11:20 kato Exp $ + * $Id: syscons.h,v 1.7.2.3 1997/03/09 13:30:08 kato Exp $ */ #ifndef _PC98_PC98_SYSCONS_H_ diff --git a/sys/pc98/pc98/wd.c b/sys/pc98/pc98/wd.c index d05a7d90810ea..8f5b0e209d710 100644 --- a/sys/pc98/pc98/wd.c +++ b/sys/pc98/pc98/wd.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)wd.c 7.2 (Berkeley) 5/9/91 - * $Id: wd.c,v 1.9.2.7 1997/02/23 05:21:54 kato Exp $ + * $Id: wd.c,v 1.9.2.8 1997/03/13 17:11:06 kato Exp $ */ /* TODO: diff --git a/sys/pci/README.de b/sys/pci/README.de index 201095264e738..989bb47bca6a5 100644 --- a/sys/pci/README.de +++ b/sys/pci/README.de @@ -1,4 +1,4 @@ -$Id: README.de,v 1.5 1996/12/01 06:00:57 rgrimes Exp $ +$Id: README.de,v 1.4.12.1 1996/12/03 10:50:42 phk Exp $ THIS FILE IS SERIOUSLY OUT OF DATE AND NO LONGER REFLECTS REALITY. THE ULTIMATE REFERENCE IS THE SOURCE CODE ITSELF. diff --git a/sys/pci/README.de-le b/sys/pci/README.de-le index 60cd2e2750e03..3e7cd01bd3130 100644 --- a/sys/pci/README.de-le +++ b/sys/pci/README.de-le @@ -1,4 +1,4 @@ -$Id: README.de-le,v 1.1 1994/10/01 20:16:44 wollman Exp $ +$Id: README.de-le,v 1.2 1994/10/29 13:13:40 jkh Exp $ ---------------- diff --git a/sys/pci/aic7870.c b/sys/pci/aic7870.c index 3948fe4c2f951..2e8b6527445c8 100644 --- a/sys/pci/aic7870.c +++ b/sys/pci/aic7870.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7870.c,v 1.41.2.7 1997/03/15 21:18:43 bde Exp $ + * $Id: aic7870.c,v 1.41.2.8 1997/03/16 07:22:03 gibbs Exp $ */ #if defined(__FreeBSD__) diff --git a/sys/pci/bt9xx.c b/sys/pci/bt9xx.c index e259b3f5e59f1..e41642c6c08c3 100644 --- a/sys/pci/bt9xx.c +++ b/sys/pci/bt9xx.c @@ -19,7 +19,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id: bt9xx.c,v 1.7 1996/02/18 07:44:16 gibbs Exp $ + * $Id: bt9xx.c,v 1.8 1996/10/15 19:22:37 bde Exp $ */ #include "pci.h" diff --git a/sys/pci/cy_pci.c b/sys/pci/cy_pci.c index 9f8caa319987b..d60e04ec2ee23 100644 --- a/sys/pci/cy_pci.c +++ b/sys/pci/cy_pci.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cy_pci.c,v 1.2 1996/10/15 19:22:37 bde Exp $ + * $Id: cy_pci.c,v 1.2.2.1 1997/02/05 22:20:10 davidg Exp $ */ /* diff --git a/sys/pci/cy_pcireg.h b/sys/pci/cy_pcireg.h index 412622fe422e7..d667a697dfbfb 100644 --- a/sys/pci/cy_pcireg.h +++ b/sys/pci/cy_pcireg.h @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: cy_pcireg.h,v 1.1 1996/10/13 01:09:24 davidg Exp $ */ #define CY_VENDORID_CYCLADES 0x120e diff --git a/sys/pci/dc21040.h b/sys/pci/dc21040.h index 47e2365e90a03..564d1deb9ad49 100644 --- a/sys/pci/dc21040.h +++ b/sys/pci/dc21040.h @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: dc21040.h,v 1.9 1996/12/01 06:00:58 rgrimes Exp $ + * $Id: dc21040.h,v 1.8.2.1 1996/12/03 10:52:45 phk Exp $ */ #if !defined(_DC21040_H) diff --git a/sys/pci/if_de.c b/sys/pci/if_de.c index 13be599cd3483..8f4d9d8197098 100644 --- a/sys/pci/if_de.c +++ b/sys/pci/if_de.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_de.c,v 1.54.2.2 1996/12/03 10:52:49 phk Exp $ + * $Id: if_de.c,v 1.54.2.3 1997/02/23 11:00:44 joerg Exp $ * */ diff --git a/sys/pci/if_ed_p.c b/sys/pci/if_ed_p.c index 76d3fe97f1d99..5e8a5ecd6c847 100644 --- a/sys/pci/if_ed_p.c +++ b/sys/pci/if_ed_p.c @@ -17,7 +17,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id: if_ed_p.c,v 1.5 1996/10/15 19:22:40 bde Exp $ + * $Id: if_ed_p.c,v 1.5.2.1 1996/12/21 01:56:48 se Exp $ */ #include "pci.h" diff --git a/sys/pci/if_fpa.c b/sys/pci/if_fpa.c index 4ea3abe331e34..bcf05d55ba9e3 100644 --- a/sys/pci/if_fpa.c +++ b/sys/pci/if_fpa.c @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_fpa.c,v 1.1.1.1 1997/01/17 23:19:49 joerg Exp $ + * $Id: if_fpa.c,v 1.2 1997/01/17 23:54:42 joerg Exp $ * */ diff --git a/sys/pci/if_fxp.c b/sys/pci/if_fxp.c index 1e5e6bd27bcb3..ac18e15c2c6f0 100644 --- a/sys/pci/if_fxp.c +++ b/sys/pci/if_fxp.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_fxp.c,v 1.21.2.5 1997/03/17 11:09:42 davidg Exp $ + * $Id: if_fxp.c,v 1.21.2.6 1997/03/21 08:01:50 davidg Exp $ */ /* diff --git a/sys/pci/if_fxpreg.h b/sys/pci/if_fxpreg.h index a61b37d28a9c6..a1583235ff857 100644 --- a/sys/pci/if_fxpreg.h +++ b/sys/pci/if_fxpreg.h @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_fxpreg.h,v 1.3.2.2 1997/03/17 11:09:44 davidg Exp $ + * $Id: if_fxpreg.h,v 1.3.2.3 1997/03/21 08:01:52 davidg Exp $ */ #define FXP_VENDORID_INTEL 0x8086 diff --git a/sys/pci/if_lnc_p.c b/sys/pci/if_lnc_p.c index ba97985403d07..43f42c4e38055 100644 --- a/sys/pci/if_lnc_p.c +++ b/sys/pci/if_lnc_p.c @@ -17,7 +17,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id:$ + * $Id: if_lnc_p.c,v 1.1 1996/07/18 22:03:45 se Exp $ */ #include "pci.h" diff --git a/sys/pci/if_sr_p.c b/sys/pci/if_sr_p.c index eed3f34e02d27..54e4c4669ccb5 100644 --- a/sys/pci/if_sr_p.c +++ b/sys/pci/if_sr_p.c @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: if_sr_p.c,v 1.1 1996/10/29 03:53:21 jhay Exp $ + * $Id: if_sr_p.c,v 1.1.2.1 1996/11/16 21:19:18 phk Exp $ */ #include "pci.h" diff --git a/sys/pci/ncr.c b/sys/pci/ncr.c index 1004dba7339d6..f3c211379af3e 100644 --- a/sys/pci/ncr.c +++ b/sys/pci/ncr.c @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: ncr.c,v 1.82.2.5 1997/01/06 21:12:40 se Exp $ +** $Id: ncr.c,v 1.82.2.6 1997/03/01 06:23:33 bde Exp $ ** ** Device driver for the NCR 53C810 PCI-SCSI-Controller. ** @@ -1255,7 +1255,7 @@ static void ncr_attach (pcici_t tag, int unit); static char ident[] = - "\n$Id: ncr.c,v 1.82.2.5 1997/01/06 21:12:40 se Exp $\n"; + "\n$Id: ncr.c,v 1.82.2.6 1997/03/01 06:23:33 bde Exp $\n"; static const u_long ncr_version = NCR_VERSION * 11 + (u_long) sizeof (struct ncb) * 7 diff --git a/sys/pci/ncrreg.h b/sys/pci/ncrreg.h index 2f88c42f8d1f2..6f844cee7754a 100644 --- a/sys/pci/ncrreg.h +++ b/sys/pci/ncrreg.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: ncrreg.h,v 1.3 1995/03/21 22:48:36 se Exp $ +** $Id: ncrreg.h,v 1.4 1996/10/11 19:50:12 se Exp $ ** ** Device driver for the NCR 53C810 PCI-SCSI-Controller. ** diff --git a/sys/pci/pci.c b/sys/pci/pci.c index a35588eb289f6..f77531a8fe25b 100644 --- a/sys/pci/pci.c +++ b/sys/pci/pci.c @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: pci.c,v 1.57.2.2 1997/01/23 23:28:14 se Exp $ +** $Id: pci.c,v 1.57.2.3 1997/01/25 02:02:40 se Exp $ ** ** General subroutines for the PCI bus. ** pci_configure () diff --git a/sys/pci/pcibus.h b/sys/pci/pcibus.h index a797cff6e9014..668d99be94fa3 100644 --- a/sys/pci/pcibus.h +++ b/sys/pci/pcibus.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: pcibus.h,v 1.3 1995/11/21 12:54:54 bde Exp $ +** $Id: pcibus.h,v 1.4 1996/01/30 22:59:55 mpp Exp $ ** ** Declarations for pci bus driver. ** diff --git a/sys/pci/pcireg.h b/sys/pci/pcireg.h index 7ad80e20aa68e..9b8c924aec90c 100644 --- a/sys/pci/pcireg.h +++ b/sys/pci/pcireg.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: pcireg.h,v 1.8 1996/10/22 20:20:14 se Exp $ +** $Id: pcireg.h,v 1.8.2.1 1996/11/25 07:19:06 phk Exp $ ** ** Names for PCI configuration space registers. ** diff --git a/sys/pci/pcisupport.c b/sys/pci/pcisupport.c index f4d48767b185b..90eb9804e3052 100644 --- a/sys/pci/pcisupport.c +++ b/sys/pci/pcisupport.c @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: pcisupport.c,v 1.40 1996/09/16 08:56:39 rgrimes Exp $ +** $Id: pcisupport.c,v 1.40.2.1 1997/01/02 01:26:18 se Exp $ ** ** Device driver for DEC/INTEL PCI chipsets. ** diff --git a/sys/pci/pcivar.h b/sys/pci/pcivar.h index 61127e16ecc39..3b117de7e4304 100644 --- a/sys/pci/pcivar.h +++ b/sys/pci/pcivar.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: pcivar.h,v 1.12 1996/09/08 10:44:14 phk Exp $ +** $Id: pcivar.h,v 1.13 1996/09/10 23:31:02 bde Exp $ ** ** Declarations for pci device drivers. ** diff --git a/sys/pci/wd82371.c b/sys/pci/wd82371.c index 42c2ced7d3d37..c500ef210c5de 100644 --- a/sys/pci/wd82371.c +++ b/sys/pci/wd82371.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: wd82371.c,v 1.5 1996/06/14 11:02:09 asami Exp $ + * $Id: wd82371.c,v 1.5.2.1 1996/11/16 21:19:51 phk Exp $ */ #include "pci.h" diff --git a/sys/pci/wd82371reg.h b/sys/pci/wd82371reg.h index 33a997f39b18c..1e0caed666845 100644 --- a/sys/pci/wd82371reg.h +++ b/sys/pci/wd82371reg.h @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: wd82371reg.h,v 1.1 1996/01/28 22:15:48 wollman Exp $ */ #ifndef _PCI_WD82371REG_H_ diff --git a/sys/pci/wdc_p.c b/sys/pci/wdc_p.c index 7f2cd707703c7..cdc570d867ad8 100644 --- a/sys/pci/wdc_p.c +++ b/sys/pci/wdc_p.c @@ -16,7 +16,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id$ + * $Id: wdc_p.c,v 1.1 1997/03/11 23:17:26 se Exp $ */ /* diff --git a/sys/scsi/cd.c b/sys/scsi/cd.c index 4a18546bb2a65..88318ba2571a4 100644 --- a/sys/scsi/cd.c +++ b/sys/scsi/cd.c @@ -14,7 +14,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $Id: cd.c,v 1.73.2.1 1996/12/14 14:52:48 joerg Exp $ + * $Id: cd.c,v 1.73.2.2 1997/01/12 22:08:57 joerg Exp $ */ #include "opt_bounce.h" diff --git a/sys/scsi/ch.c b/sys/scsi/ch.c index cb87581ba36ef..1dac6738c25b8 100644 --- a/sys/scsi/ch.c +++ b/sys/scsi/ch.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ch.c,v 1.34 1996/09/06 23:09:10 phk Exp $ + * $Id: ch.c,v 1.34.2.1 1997/03/07 09:34:26 joerg Exp $ */ #include "opt_scsi.h" diff --git a/sys/scsi/od.c b/sys/scsi/od.c index 84857cbb4d6fd..060b64aac84a9 100644 --- a/sys/scsi/od.c +++ b/sys/scsi/od.c @@ -28,7 +28,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $Id: od.c,v 1.23 1996/11/06 17:31:14 joerg Exp $ + * $Id: od.c,v 1.22.2.1 1996/11/06 19:12:01 joerg Exp $ */ /* diff --git a/sys/scsi/pt.c b/sys/scsi/pt.c index 07e1db31634bc..1ab5266bdee39 100644 --- a/sys/scsi/pt.c +++ b/sys/scsi/pt.c @@ -37,7 +37,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pt.c,v 1.17 1996/07/14 10:46:48 joerg Exp $ + * $Id: pt.c,v 1.18 1996/09/06 23:09:12 phk Exp $ */ #include "opt_bounce.h" diff --git a/sys/scsi/scsi_all.h b/sys/scsi/scsi_all.h index 8da591e743233..ad6f99fdf403e 100644 --- a/sys/scsi/scsi_all.h +++ b/sys/scsi/scsi_all.h @@ -14,7 +14,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $Id: scsi_all.h,v 1.12 1995/04/14 15:10:29 dufault Exp $ + * $Id: scsi_all.h,v 1.13 1995/05/30 08:13:25 rgrimes Exp $ */ /* diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c index b4147611536c7..df8d0dea05589 100644 --- a/sys/scsi/scsi_base.c +++ b/sys/scsi/scsi_base.c @@ -8,7 +8,7 @@ * file. * * Written by Julian Elischer (julian@dialix.oz.au) - * $Id: scsi_base.c,v 1.39.4.2 1997/01/30 22:49:29 joerg Exp $ + * $Id: scsi_base.c,v 1.39.4.3 1997/03/24 01:48:10 gibbs Exp $ */ #include "opt_bounce.h" diff --git a/sys/scsi/scsi_cd.h b/sys/scsi/scsi_cd.h index a6fb64505354c..4fbead9e9236a 100644 --- a/sys/scsi/scsi_cd.h +++ b/sys/scsi/scsi_cd.h @@ -14,7 +14,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $Id: scsi_cd.h,v 1.7 1995/05/30 08:13:29 rgrimes Exp $ + * $Id: scsi_cd.h,v 1.8 1995/12/05 07:14:21 julian Exp $ */ #ifndef _SCSI_SCSI_CD_H #define _SCSI_SCSI_CD_H 1 diff --git a/sys/scsi/scsi_changer.h b/sys/scsi/scsi_changer.h index b43e09ee54834..230f473aab13c 100644 --- a/sys/scsi/scsi_changer.h +++ b/sys/scsi/scsi_changer.h @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scsi_changer.h,v 1.10 1997/03/06 15:36:15 joerg Exp $ + * $Id: scsi_changer.h,v 1.7.10.1 1997/03/07 09:34:38 joerg Exp $ */ /* @@ -58,7 +58,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $Id: scsi_changer.h,v 1.7 1995/05/30 08:13:30 rgrimes Exp $ + * $Id: scsi_changer.h,v 1.7.10.1 1997/03/07 09:34:38 joerg Exp $ */ #ifndef _SCSI_SCSI_CHANGER_H diff --git a/sys/scsi/scsi_debug.h b/sys/scsi/scsi_debug.h index dc249f76eb355..332f9622b0836 100644 --- a/sys/scsi/scsi_debug.h +++ b/sys/scsi/scsi_debug.h @@ -8,7 +8,7 @@ /* * Written by Julian Elischer (julian@tfs.com) * - * $Id: scsi_debug.h,v 1.2 1995/05/30 08:13:32 rgrimes Exp $ + * $Id: scsi_debug.h,v 1.3 1996/07/14 10:46:50 joerg Exp $ */ #ifndef _SCSI_SCSI_DEBUG_H #define _SCSI_SCSI_DEBUG_H 1 diff --git a/sys/scsi/scsi_disk.h b/sys/scsi/scsi_disk.h index aade036895a8a..37a9e063ddec7 100644 --- a/sys/scsi/scsi_disk.h +++ b/sys/scsi/scsi_disk.h @@ -46,7 +46,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $Id: scsi_disk.h,v 1.8 1995/05/30 08:13:35 rgrimes Exp $ + * $Id: scsi_disk.h,v 1.9 1996/05/19 19:29:09 joerg Exp $ */ /* diff --git a/sys/scsi/scsi_driver.c b/sys/scsi/scsi_driver.c index cf2fec877099a..38fcf1fa3558c 100644 --- a/sys/scsi/scsi_driver.c +++ b/sys/scsi/scsi_driver.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scsi_driver.c,v 1.17 1996/07/14 10:46:50 joerg Exp $ + * $Id: scsi_driver.c,v 1.18 1996/09/06 23:09:13 phk Exp $ * */ diff --git a/sys/scsi/scsi_driver.h b/sys/scsi/scsi_driver.h index 788ac5d8d2589..db3783da500dd 100644 --- a/sys/scsi/scsi_driver.h +++ b/sys/scsi/scsi_driver.h @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scsi_driver.h,v 1.7 1996/09/06 23:09:14 phk Exp $ + * $Id: scsi_driver.h,v 1.8 1996/09/08 10:44:15 phk Exp $ * */ #ifndef _SCSI__DRIVER_H_ diff --git a/sys/scsi/scsi_generic.h b/sys/scsi/scsi_generic.h index e1a3d883ff5de..8f7a9d37f84bb 100644 --- a/sys/scsi/scsi_generic.h +++ b/sys/scsi/scsi_generic.h @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * from: @(#)stdio.h 5.17 (Berkeley) 6/3/91 - * $Id: scsi_generic.h,v 1.3 1995/01/08 13:38:31 dufault Exp $ + * $Id: scsi_generic.h,v 1.4 1995/05/30 08:13:40 rgrimes Exp $ */ /* generic SCSI header file. We use the same minor number format diff --git a/sys/scsi/scsi_ioctl.c b/sys/scsi/scsi_ioctl.c index 361c236b6feb7..03ec250007e1c 100644 --- a/sys/scsi/scsi_ioctl.c +++ b/sys/scsi/scsi_ioctl.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. *End copyright * - * $Id: scsi_ioctl.c,v 1.21 1996/03/10 07:13:09 gibbs Exp $ + * $Id: scsi_ioctl.c,v 1.22 1996/07/14 10:46:51 joerg Exp $ * * */ diff --git a/sys/scsi/scsi_tape.h b/sys/scsi/scsi_tape.h index 04d9b0308b6f1..c5516bc96c244 100644 --- a/sys/scsi/scsi_tape.h +++ b/sys/scsi/scsi_tape.h @@ -21,7 +21,7 @@ /* * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $Id: scsi_tape.h,v 1.15 1995/12/09 20:42:32 phk Exp $ + * $Id: scsi_tape.h,v 1.16 1995/12/10 10:58:23 julian Exp $ */ #ifndef SCSI_SCSI_TAPE_H #define SCSI_SCSI_TAPE_H 1 diff --git a/sys/scsi/scsiconf.c b/sys/scsi/scsiconf.c index d63ce95edc226..27cdc034cec1e 100644 --- a/sys/scsi/scsiconf.c +++ b/sys/scsi/scsiconf.c @@ -16,7 +16,7 @@ * * New configuration setup: dufault@hda.com * - * $Id$ + * $Id: scsiconf.c,v 1.64.2.11 1997/03/10 20:53:16 joerg Exp $ */ #include "opt_scsi.h" diff --git a/sys/scsi/scsiconf.h b/sys/scsi/scsiconf.h index 15bbe18c9ce26..537c27668565c 100644 --- a/sys/scsi/scsiconf.h +++ b/sys/scsi/scsiconf.h @@ -14,7 +14,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $Id: scsiconf.h,v 1.45 1996/09/08 10:44:17 phk Exp $ + * $Id: scsiconf.h,v 1.46 1996/09/10 23:37:52 bde Exp $ */ #ifndef SCSI_SCSICONF_H #define SCSI_SCSICONF_H 1 diff --git a/sys/scsi/sctarg.c b/sys/scsi/sctarg.c index d99105cf9ac0b..4a79594c4275b 100644 --- a/sys/scsi/sctarg.c +++ b/sys/scsi/sctarg.c @@ -37,7 +37,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sctarg.c,v 1.16 1996/07/14 10:46:52 joerg Exp $ + * $Id: sctarg.c,v 1.17 1996/09/08 10:44:18 phk Exp $ */ #include "opt_bounce.h" diff --git a/sys/scsi/sd.c b/sys/scsi/sd.c index 7bc68f122cb32..55d57b3c28d87 100644 --- a/sys/scsi/sd.c +++ b/sys/scsi/sd.c @@ -14,7 +14,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@dialix.oz.au) Sept 1992 * - * $Id: sd.c,v 1.95.2.1 1997/01/29 14:20:16 bde Exp $ + * $Id: sd.c,v 1.95.2.2 1997/02/05 19:02:22 kato Exp $ */ #include "opt_bounce.h" diff --git a/sys/scsi/ssc.c b/sys/scsi/ssc.c index 93396ce341b14..c092f2a5b50ab 100644 --- a/sys/scsi/ssc.c +++ b/sys/scsi/ssc.c @@ -49,7 +49,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *End copyright - * $Id: ssc.c,v 1.11 1996/03/28 14:33:56 scrappy Exp $ + * $Id: ssc.c,v 1.12 1996/03/28 16:51:12 scrappy Exp $ */ #include <sys/types.h> diff --git a/sys/scsi/st.c b/sys/scsi/st.c index 438e0bb3b0881..6fd522a7bcab7 100644 --- a/sys/scsi/st.c +++ b/sys/scsi/st.c @@ -12,7 +12,7 @@ * on the understanding that TFS is not responsible for the correct * functioning of this software in any circumstances. * - * $Id: st.c,v 1.72 1996/07/23 21:52:31 phk Exp $ + * $Id: st.c,v 1.73 1996/09/06 23:09:20 phk Exp $ */ /* diff --git a/sys/scsi/su.c b/sys/scsi/su.c index d6f056e2ae9a0..a49da3e2c2d37 100644 --- a/sys/scsi/su.c +++ b/sys/scsi/su.c @@ -44,7 +44,7 @@ * SUCH DAMAGE. *End copyright * - * $Id: su.c,v 1.13 1995/12/14 19:13:36 bde Exp $ + * $Id: su.c,v 1.14 1996/04/19 17:39:48 bde Exp $ * * Tabstops 4 * XXX devfs entries for this device should be handled by generic scsiconfig diff --git a/sys/scsi/uk.c b/sys/scsi/uk.c index 03c982293608c..2c456976064be 100644 --- a/sys/scsi/uk.c +++ b/sys/scsi/uk.c @@ -2,7 +2,7 @@ * Driver for a device we can't identify. * by Julian Elischer (julian@tfs.com) * - * $Id: uk.c,v 1.13 1995/12/08 23:22:30 phk Exp $ + * $Id: uk.c,v 1.14 1996/01/20 15:05:55 joerg Exp $ * * If you find that you are adding any code to this file look closely * at putting it in "scsi_driver.c" instead. diff --git a/sys/scsi/worm.c b/sys/scsi/worm.c index 68257d5943283..85645262fcbd5 100644 --- a/sys/scsi/worm.c +++ b/sys/scsi/worm.c @@ -43,7 +43,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: worm.c,v 1.29.2.1 1996/11/06 19:21:53 joerg Exp $ + * $Id: worm.c,v 1.29.2.2 1997/03/05 13:56:28 joerg Exp $ */ #include "opt_bounce.h" diff --git a/sys/sys/acct.h b/sys/sys/acct.h index aba60f5b5e6cc..a6edff1242d1f 100644 --- a/sys/sys/acct.h +++ b/sys/sys/acct.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)acct.h 8.4 (Berkeley) 1/9/95 - * $Id: acct.h,v 1.7 1996/02/25 09:30:11 hsu Exp $ + * $Id: acct.h,v 1.6 1996/03/11 02:22:58 hsu Exp $ */ #ifndef _SYS_ACCT_H_ diff --git a/sys/sys/buf.h b/sys/sys/buf.h index ee7d2135e17a1..f33d73d54ac0c 100644 --- a/sys/sys/buf.h +++ b/sys/sys/buf.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)buf.h 8.9 (Berkeley) 3/30/95 - * $Id: buf.h,v 1.34 1996/10/13 14:36:37 phk Exp $ + * $Id: buf.h,v 1.34.2.1 1996/12/15 09:54:26 davidg Exp $ */ #ifndef _SYS_BUF_H_ diff --git a/sys/sys/callout.h b/sys/sys/callout.h index 81380b33f4ed5..928e777605697 100644 --- a/sys/sys/callout.h +++ b/sys/sys/callout.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)callout.h 8.2 (Berkeley) 1/21/94 - * $Id: callout.h,v 1.3 1994/08/18 22:35:41 wollman Exp $ + * $Id: callout.h,v 1.4 1994/08/21 04:41:33 paul Exp $ */ #ifndef _SYS_CALLOUT_H_ diff --git a/sys/sys/ccdvar.h b/sys/sys/ccdvar.h index 28e3e4d64fa85..3dbeb488a0fef 100644 --- a/sys/sys/ccdvar.h +++ b/sys/sys/ccdvar.h @@ -1,4 +1,4 @@ -/* $Id: ccdvar.h,v 1.3 1995/12/28 00:21:32 asami Exp $ */ +/* $Id: ccdvar.h,v 1.4 1996/01/30 22:33:31 asami Exp $ */ /* $NetBSD: ccdvar.h,v 1.7.2.1 1995/10/12 21:30:18 thorpej Exp $ */ diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index 7a50992276f3c..fe2cd6605f849 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)cdefs.h 8.8 (Berkeley) 1/9/95 - * $Id: cdefs.h,v 1.10 1996/04/13 14:23:29 bde Exp $ + * $Id: cdefs.h,v 1.11 1996/08/18 16:14:03 peter Exp $ */ #ifndef _SYS_CDEFS_H_ diff --git a/sys/sys/cdio.h b/sys/sys/cdio.h index 564ab668cd9f2..acecdfe640ae1 100644 --- a/sys/sys/cdio.h +++ b/sys/sys/cdio.h @@ -1,7 +1,7 @@ /* * 16 Feb 93 Julian Elischer (julian@dialix.oz.au) * - * $Id: cdio.h,v 1.13 1996/02/03 14:19:13 ache Exp $ + * $Id: cdio.h,v 1.14 1996/09/21 14:59:19 bde Exp $ */ /* diff --git a/sys/sys/chio.h b/sys/sys/chio.h index cc1dc0e8264d1..ddeae92de05aa 100644 --- a/sys/sys/chio.h +++ b/sys/sys/chio.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: chio.h,v 1.7.2.1 1997/03/07 09:34:07 joerg Exp $ + * $Id: chio.h,v 1.7.2.2 1997/03/11 19:39:07 joerg Exp $ */ #ifndef _SYS_CHIO_H_ diff --git a/sys/sys/clist.h b/sys/sys/clist.h index f1438a160d2aa..3b644ecd3cc33 100644 --- a/sys/sys/clist.h +++ b/sys/sys/clist.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)clist.h 8.1 (Berkeley) 6/4/93 - * $Id: clist.h,v 1.4 1994/08/21 04:41:35 paul Exp $ + * $Id: clist.h,v 1.5 1995/01/07 06:08:15 davidg Exp $ */ #ifndef _SYS_CLIST_H_ diff --git a/sys/sys/conf.h b/sys/sys/conf.h index 4a5043116ead8..22a11227aed04 100644 --- a/sys/sys/conf.h +++ b/sys/sys/conf.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)conf.h 8.5 (Berkeley) 1/9/95 - * $Id: conf.h,v 1.30 1996/03/11 02:13:32 hsu Exp $ + * $Id: conf.h,v 1.31 1996/07/23 21:52:43 phk Exp $ */ #ifndef _SYS_CONF_H_ diff --git a/sys/sys/devfsext.h b/sys/sys/devfsext.h index 59d958b65b1a3..a6742cd77bc48 100644 --- a/sys/sys/devfsext.h +++ b/sys/sys/devfsext.h @@ -1,7 +1,7 @@ /* usual BSD style copyright here */ /* Written by Julian Elischer (julian@dialix.oz.au)*/ /* - * $Id: devfsext.h,v 1.12 1996/04/03 00:01:40 gpalmer Exp $ + * $Id: devfsext.h,v 1.13 1996/04/03 03:03:55 scrappy Exp $ */ #ifndef _SYS_DEVFSECT_H_ diff --git a/sys/sys/device.h b/sys/sys/device.h index 3caaf19d0fab0..c797a6915a9a9 100644 --- a/sys/sys/device.h +++ b/sys/sys/device.h @@ -40,7 +40,7 @@ * SUCH DAMAGE. * * @(#)device.h 8.2 (Berkeley) 2/17/94 - * $Id: device.h,v 1.3 1995/07/29 11:42:44 bde Exp $ + * $Id: device.h,v 1.4 1995/11/21 12:55:09 bde Exp $ */ #ifndef _SYS_DEVICE_H_ diff --git a/sys/sys/dir.h b/sys/sys/dir.h index c0347c1ec5547..e80b1943778e6 100644 --- a/sys/sys/dir.h +++ b/sys/sys/dir.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)dir.h 8.2 (Berkeley) 1/4/94 - * $Id$ + * $Id: dir.h,v 1.2 1994/08/02 07:52:46 davidg Exp $ */ /* diff --git a/sys/sys/dirent.h b/sys/sys/dirent.h index 65475c5d61831..614e51b1af2ae 100644 --- a/sys/sys/dirent.h +++ b/sys/sys/dirent.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)dirent.h 8.3 (Berkeley) 8/10/94 - * $Id: dirent.h,v 1.5 1996/02/24 04:48:20 hsu Exp $ + * $Id: dirent.h,v 1.5 1996/03/11 02:05:52 hsu Exp $ */ #ifndef _SYS_DIRENT_H_ diff --git a/sys/sys/disk.h b/sys/sys/disk.h index 2025688afba56..a7733fa4aa043 100644 --- a/sys/sys/disk.h +++ b/sys/sys/disk.h @@ -41,7 +41,7 @@ * * @(#)disk.h 8.1 (Berkeley) 6/2/93 * - * $Id: disk.h,v 1.4 1995/11/23 07:24:23 dyson Exp $ + * $Id: disk.h,v 1.5 1996/05/03 15:05:03 phk Exp $ */ #ifndef _SYS_DISK_H_ diff --git a/sys/sys/disklabel.h b/sys/sys/disklabel.h index 8af377f4022af..0e679a10e3751 100644 --- a/sys/sys/disklabel.h +++ b/sys/sys/disklabel.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)disklabel.h 8.2 (Berkeley) 7/10/94 - * $Id: disklabel.h,v 1.24 1996/09/21 14:59:25 bde Exp $ + * $Id: disklabel.h,v 1.24.2.1 1997/01/31 05:40:46 davidg Exp $ */ #ifndef _SYS_DISKLABEL_H_ diff --git a/sys/sys/diskslice.h b/sys/sys/diskslice.h index 8786f5ae033ea..b88d0a44f5825 100644 --- a/sys/sys/diskslice.h +++ b/sys/sys/diskslice.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: diskslice.h,v 1.15 1996/09/20 17:39:34 bde Exp $ + * $Id: diskslice.h,v 1.16 1996/09/21 14:59:28 bde Exp $ */ #ifndef _SYS_DISKSLICE_H_ diff --git a/sys/sys/dkbad.h b/sys/sys/dkbad.h index 2c87b769e1752..abb1c059a4eb6 100644 --- a/sys/sys/dkbad.h +++ b/sys/sys/dkbad.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)dkbad.h 8.2 (Berkeley) 7/10/94 - * $Id: dkbad.h,v 1.6 1996/03/11 02:07:37 hsu Exp $ + * $Id: dkbad.h,v 1.7 1996/09/20 17:39:36 bde Exp $ */ #ifndef _SYS_DKBAD_H_ diff --git a/sys/sys/dkstat.h b/sys/sys/dkstat.h index 82dbcbbf72f31..244ea80ef87de 100644 --- a/sys/sys/dkstat.h +++ b/sys/sys/dkstat.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)dkstat.h 8.2 (Berkeley) 1/21/94 - * $Id: dkstat.h,v 1.5 1994/10/16 05:03:05 wollman Exp $ + * $Id: dkstat.h,v 1.6 1994/12/24 10:11:18 bde Exp $ */ #ifndef _SYS_DKSTAT_H_ diff --git a/sys/sys/dmap.h b/sys/sys/dmap.h index bab44ee917dfa..ddf848b8a19a8 100644 --- a/sys/sys/dmap.h +++ b/sys/sys/dmap.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)dmap.h 8.2 (Berkeley) 1/4/94 - * $Id: dmap.h,v 1.2 1994/08/02 07:52:52 davidg Exp $ + * $Id: dmap.h,v 1.3 1995/07/29 11:42:45 bde Exp $ */ #ifndef _SYS_DMAP_H_ diff --git a/sys/sys/domain.h b/sys/sys/domain.h index 5fd686c9959dc..4a3b50b1c1cd9 100644 --- a/sys/sys/domain.h +++ b/sys/sys/domain.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)domain.h 8.1 (Berkeley) 6/2/93 - * $Id: domain.h,v 1.6 1995/08/16 16:14:02 bde Exp $ + * $Id: domain.h,v 1.7 1995/11/21 12:55:10 bde Exp $ */ #ifndef _SYS_DOMAIN_H_ diff --git a/sys/sys/errno.h b/sys/sys/errno.h index 12fb7d498bd62..26add64d656b8 100644 --- a/sys/sys/errno.h +++ b/sys/sys/errno.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)errno.h 8.5 (Berkeley) 1/21/94 - * $Id: errno.h,v 1.4 1996/01/22 00:02:33 julian Exp $ + * $Id: errno.h,v 1.5 1996/08/18 16:16:18 peter Exp $ */ #ifndef _SYS_ERRNO_H_ diff --git a/sys/sys/exec.h b/sys/sys/exec.h index f9338e7ebb9fc..fcecfcbe19340 100644 --- a/sys/sys/exec.h +++ b/sys/sys/exec.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)exec.h 8.3 (Berkeley) 1/21/94 - * $Id: exec.h,v 1.12 1995/12/09 04:29:07 peter Exp $ + * $Id: exec.h,v 1.13 1996/03/02 19:38:12 peter Exp $ */ #ifndef _SYS_EXEC_H_ diff --git a/sys/sys/fbio.h b/sys/sys/fbio.h index b38522f57f3ce..7e9972d2d6516 100644 --- a/sys/sys/fbio.h +++ b/sys/sys/fbio.h @@ -36,7 +36,7 @@ * * @(#)fbio.h 8.2 (Berkeley) 10/30/93 * - * $Id: fbio.h,v 1.2 1994/08/02 07:52:56 davidg Exp $ + * $Id: fbio.h,v 1.3 1994/08/21 04:41:44 paul Exp $ */ #ifndef _SYS_FBIO_H_ diff --git a/sys/sys/fcntl.h b/sys/sys/fcntl.h index 9101051a816d1..c2a0d93d488f5 100644 --- a/sys/sys/fcntl.h +++ b/sys/sys/fcntl.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)fcntl.h 8.3 (Berkeley) 1/21/94 - * $Id: fcntl.h,v 1.3 1996/01/30 23:00:34 mpp Exp $ + * $Id: fcntl.h,v 1.3.4.1 1996/12/18 13:08:08 bde Exp $ */ #ifndef _SYS_FCNTL_H_ diff --git a/sys/sys/file.h b/sys/sys/file.h index 34aa794f10ef2..cad61b6618918 100644 --- a/sys/sys/file.h +++ b/sys/sys/file.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)file.h 8.3 (Berkeley) 1/9/95 - * $Id: file.h,v 1.8 1996/09/03 14:25:10 bde Exp $ + * $Id: file.h,v 1.8.2.1 1996/12/21 19:04:32 bde Exp $ */ #ifndef _SYS_FILE_H_ diff --git a/sys/sys/filedesc.h b/sys/sys/filedesc.h index 7bd4578e1f7fd..84b753d499256 100644 --- a/sys/sys/filedesc.h +++ b/sys/sys/filedesc.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)filedesc.h 8.1 (Berkeley) 6/2/93 - * $Id: filedesc.h,v 1.7 1995/11/04 10:35:17 bde Exp $ + * $Id: filedesc.h,v 1.8 1996/02/23 18:49:21 peter Exp $ */ #ifndef _SYS_FILEDESC_H_ diff --git a/sys/sys/filio.h b/sys/sys/filio.h index b82a649c0feb1..d53f4e2d6a2f9 100644 --- a/sys/sys/filio.h +++ b/sys/sys/filio.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)filio.h 8.1 (Berkeley) 3/28/94 - * $Id$ + * $Id: filio.h,v 1.2 1994/08/02 07:53:01 davidg Exp $ */ #ifndef _SYS_FILIO_H_ diff --git a/sys/sys/gmon.h b/sys/sys/gmon.h index e41ee6510c6c0..31ffc99ab2401 100644 --- a/sys/sys/gmon.h +++ b/sys/sys/gmon.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)gmon.h 8.2 (Berkeley) 1/4/94 - * $Id: gmon.h,v 1.9 1996/10/17 19:32:31 bde Exp $ + * $Id: gmon.h,v 1.9.2.1 1997/02/27 17:24:41 bde Exp $ */ #ifndef _SYS_GMON_H_ diff --git a/sys/sys/imgact.h b/sys/sys/imgact.h index a643927ffb1cb..d0155031b1a14 100644 --- a/sys/sys/imgact.h +++ b/sys/sys/imgact.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: imgact.h,v 1.11 1996/03/10 08:42:52 sos Exp $ + * $Id: imgact.h,v 1.12 1996/05/01 02:43:13 bde Exp $ */ #ifndef _SYS_IMGACT_H_ diff --git a/sys/sys/imgact_aout.h b/sys/sys/imgact_aout.h index b34b9d2921e7f..6856dc1fbbab3 100644 --- a/sys/sys/imgact_aout.h +++ b/sys/sys/imgact_aout.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)exec.h 8.1 (Berkeley) 6/11/93 - * $Id: imgact_aout.h,v 1.4 1995/07/26 17:25:48 davidg Exp $ + * $Id: imgact_aout.h,v 1.5 1996/01/30 23:00:41 mpp Exp $ */ #ifndef _IMGACT_AOUT_H_ diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h index cc0b7e22acae3..986b862cf45c3 100644 --- a/sys/sys/imgact_elf.h +++ b/sys/sys/imgact_elf.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: imgact_elf.h,v 1.1 1996/03/10 08:42:52 sos Exp $ + * $Id: imgact_elf.h,v 1.2 1996/10/16 17:51:04 sos Exp $ */ #ifndef _IMGACT_ELF_H_ diff --git a/sys/sys/inflate.h b/sys/sys/inflate.h index a16ce4f1152db..e42f686c45e3c 100644 --- a/sys/sys/inflate.h +++ b/sys/sys/inflate.h @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: inflate.h,v 1.5 1995/04/15 06:54:04 phk Exp $ + * $Id: inflate.h,v 1.6 1995/05/30 08:14:27 rgrimes Exp $ * */ #ifndef _SYS_INFLATE_H_ diff --git a/sys/sys/ioccom.h b/sys/sys/ioccom.h index 3a8b1c4248af5..0f2e2fad428df 100644 --- a/sys/sys/ioccom.h +++ b/sys/sys/ioccom.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ioccom.h 8.2 (Berkeley) 3/28/94 - * $Id: ioccom.h,v 1.3 1996/05/02 14:20:59 phk Exp $ + * $Id: ioccom.h,v 1.4 1996/09/21 08:42:34 bde Exp $ */ #ifndef _SYS_IOCCOM_H_ diff --git a/sys/sys/ioctl.h b/sys/sys/ioctl.h index 9e73b928b20b0..254b8b1953574 100644 --- a/sys/sys/ioctl.h +++ b/sys/sys/ioctl.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ioctl.h 8.6 (Berkeley) 3/28/94 - * $Id: ioctl.h,v 1.3 1996/01/30 23:00:43 mpp Exp $ + * $Id: ioctl.h,v 1.4 1996/09/21 08:42:37 bde Exp $ */ #ifndef _SYS_IOCTL_H_ diff --git a/sys/sys/ioctl_compat.h b/sys/sys/ioctl_compat.h index ab067b97e42ba..c60dfbb8c8b26 100644 --- a/sys/sys/ioctl_compat.h +++ b/sys/sys/ioctl_compat.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ioctl_compat.h 8.4 (Berkeley) 1/21/94 - * $Id$ + * $Id: ioctl_compat.h,v 1.2 1994/08/02 07:53:05 davidg Exp $ */ #ifndef _SYS_IOCTL_COMPAT_H_ diff --git a/sys/sys/ipc.h b/sys/sys/ipc.h index ffab6bd7acabb..45bbaa8dc97fa 100644 --- a/sys/sys/ipc.h +++ b/sys/sys/ipc.h @@ -41,7 +41,7 @@ * SUCH DAMAGE. * * @(#)ipc.h 8.4 (Berkeley) 2/19/95 - * $Id: ipc.h,v 1.7 1996/03/11 02:08:16 hsu Exp $ + * $Id: ipc.h,v 1.8 1996/06/03 10:42:30 joerg Exp $ */ /* diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h index d9282a3d7844b..0a2e5815117ae 100644 --- a/sys/sys/kernel.h +++ b/sys/sys/kernel.h @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)kernel.h 8.3 (Berkeley) 1/21/94 - * $Id: kernel.h,v 1.21 1996/09/03 22:52:26 bde Exp $ + * $Id: kernel.h,v 1.22 1996/09/20 14:36:14 bde Exp $ */ #ifndef _SYS_KERNEL_H_ diff --git a/sys/sys/ktrace.h b/sys/sys/ktrace.h index 4736761737796..5519c7b628d5f 100644 --- a/sys/sys/ktrace.h +++ b/sys/sys/ktrace.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ktrace.h 8.1 (Berkeley) 6/2/93 - * $Id: ktrace.h,v 1.9 1996/09/19 19:49:08 phk Exp $ + * $Id: ktrace.h,v 1.10 1996/09/22 18:17:40 phk Exp $ */ #ifndef _SYS_KTRACE_H_ diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h index 155cd01658f2b..63525dafe0482 100644 --- a/sys/sys/libkern.h +++ b/sys/sys/libkern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)libkern.h 8.1 (Berkeley) 6/10/93 - * $Id: libkern.h,v 1.13 1996/08/31 16:52:44 bde Exp $ + * $Id: libkern.h,v 1.14 1996/09/23 04:31:30 peter Exp $ */ #ifndef _SYS_LIBKERN_H_ diff --git a/sys/sys/link_aout.h b/sys/sys/link_aout.h deleted file mode 100644 index e3e79315dd191..0000000000000 --- a/sys/sys/link_aout.h +++ /dev/null @@ -1,300 +0,0 @@ -/* - * Copyright (c) 1993 Paul Kranenburg - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Paul Kranenburg. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $Id: link.h,v 1.8 1996/10/07 20:49:03 scrappy Exp $ - */ - -/* - * RRS section definitions. - * - * The layout of some data structures defined in this header file is - * such that we can provide compatibility with the SunOS 4.x shared - * library scheme. - */ - -#ifndef _LINK_H_ -#define _LINK_H_ - -/* - * A `Shared Object Descriptor' describes a shared object that is needed - * to complete the link edit process of the object containing it. - * A list of such objects (chained through `sod_next') is pointed at - * by `sdt_sods' in the section_dispatch_table structure. - */ - -struct sod { /* Shared Object Descriptor */ - long sod_name; /* name (relative to load address) */ - u_int sod_library : 1, /* Searched for by library rules */ - sod_reserved : 31; - short sod_major; /* major version number */ - short sod_minor; /* minor version number */ - long sod_next; /* next sod */ -}; - -/* - * `Shared Object Map's are used by the run-time link editor (ld.so) to - * keep track of all shared objects loaded into a process' address space. - * These structures are only used at run-time and do not occur within - * the text or data segment of an executable or shared library. - */ -struct so_map { /* Shared Object Map */ - caddr_t som_addr; /* Address at which object mapped */ - char *som_path; /* Path to mmap'ed file */ - struct so_map *som_next; /* Next map in chain */ - struct sod *som_sod; /* Sod responsible for this map */ - caddr_t som_sodbase; /* Base address of this sod */ - u_int som_write : 1; /* Text is currently writable */ - struct _dynamic *som_dynamic; /* _dynamic structure */ - caddr_t som_spd; /* Private data */ -}; - -/* - * Symbol description with size. This is simply an `nlist' with - * one field (nz_size) added. - * Used to convey size information on items in the data segment - * of shared objects. An array of these live in the shared object's - * text segment and is addressed by the `sdt_nzlist' field. - */ -struct nzlist { - struct nlist nlist; - u_long nz_size; -#define nz_un nlist.n_un -#define nz_strx nlist.n_un.n_strx -#define nz_name nlist.n_un.n_name -#define nz_type nlist.n_type -#define nz_value nlist.n_value -#define nz_desc nlist.n_desc -#define nz_other nlist.n_other -}; - -#define N_AUX(p) ((p)->n_other & 0xf) -#define N_BIND(p) (((unsigned int)(p)->n_other >> 4) & 0xf) -#define N_OTHER(r, v) (((unsigned int)(r) << 4) | ((v) & 0xf)) - -#define AUX_OBJECT 1 -#define AUX_FUNC 2 -/*#define BIND_LOCAL 0 not used */ -/*#define BIND_GLOBAL 1 not used */ -#define BIND_WEAK 2 - - -/* - * The `section_dispatch_table' structure contains offsets to various data - * structures needed to do run-time relocation. - */ -struct section_dispatch_table { - struct so_map *sdt_loaded; /* List of loaded objects */ - long sdt_sods; /* List of shared objects descriptors */ - long sdt_paths; /* Library search paths */ - long sdt_got; /* Global offset table */ - long sdt_plt; /* Procedure linkage table */ - long sdt_rel; /* Relocation table */ - long sdt_hash; /* Symbol hash table */ - long sdt_nzlist; /* Symbol table itself */ - long sdt_filler2; /* Unused (was: stab_hash) */ - long sdt_buckets; /* Number of hash buckets */ - long sdt_strings; /* Symbol strings */ - long sdt_str_sz; /* Size of symbol strings */ - long sdt_text_sz; /* Size of text area */ - long sdt_plt_sz; /* Size of procedure linkage table */ -}; - -/* - * RRS symbol hash table, addressed by `sdt_hash' in section_dispatch_table. - * Used to quickly lookup symbols of the shared object by hashing - * on the symbol's name. `rh_symbolnum' is the index of the symbol - * in the shared object's symbol list (`sdt_nzlist'), `rh_next' is - * the next symbol in the hash bucket (in case of collisions). - */ -struct rrs_hash { - int rh_symbolnum; /* Symbol number */ - int rh_next; /* Next hash entry */ -}; - -/* - * `rt_symbols' is used to keep track of run-time allocated commons - * and data items copied from shared objects. - */ -struct rt_symbol { - struct nzlist *rt_sp; /* The symbol */ - struct rt_symbol *rt_next; /* Next in linear list */ - struct rt_symbol *rt_link; /* Next in bucket */ - caddr_t rt_srcaddr; /* Address of "master" copy */ - struct so_map *rt_smp; /* Originating map */ -}; - -/* - * Debugger interface structure. - */ -struct so_debug { - int dd_version; /* Version # of interface */ - int dd_in_debugger; /* Set when run by debugger */ - int dd_sym_loaded; /* Run-time linking brought more - symbols into scope */ - char *dd_bpt_addr; /* Address of rtld-generated bpt */ - int dd_bpt_shadow; /* Original contents of bpt */ - struct rt_symbol *dd_cc; /* Allocated commons/copied data */ -}; - -/* - * Version returned to crt0 from ld.so - */ -#define LDSO_VERSION_NONE 0 /* FreeBSD2.0, 2.0.5 */ -#define LDSO_VERSION_HAS_DLEXIT 1 /* includes dlexit in ld_entry */ - -/* - * Entry points into ld.so - user interface to the run-time linker. - * Entries are valid for the given version numbers returned by ld.so - * to crt0. - */ -struct ld_entry { - void *(*dlopen) __P((char *, int)); /* NONE */ - int (*dlclose) __P((void *)); /* NONE */ - void *(*dlsym) __P((void *, char *)); /* NONE */ - char *(*dlerror) __P((void)); /* NONE */ - void (*dlexit) __P((void)); /* HAS_DLEXIT */ -}; - -/* - * dl*() prototypes. - */ -extern void *dlopen __P((char *, int)); -extern int dlclose __P((void *)); -extern void *dlsym __P((void *, char *)); -extern char *dlerror __P((void)); - - -/* - * This is the structure pointed at by the __DYNAMIC symbol if an - * executable requires the attention of the run-time link editor. - * __DYNAMIC is given the value zero if no run-time linking needs to - * be done (it is always present in shared objects). - * The union `d_un' provides for different versions of the dynamic - * linking mechanism (switched on by `d_version'). The last version - * used by Sun is 3. We leave some room here and go to version number - * 8 for NetBSD, the main difference lying in the support for the - * `nz_list' type of symbols. - */ - -struct _dynamic { - int d_version; /* version # of this interface */ - struct so_debug *d_debug; - union { - struct section_dispatch_table *d_sdt; - } d_un; - struct ld_entry *d_entry; /* XXX */ -}; - -#define LD_VERSION_SUN (3) -#define LD_VERSION_BSD (8) -#define LD_VERSION_NZLIST_P(v) ((v) >= 8) - -#define LD_GOT(x) ((x)->d_un.d_sdt->sdt_got) -#define LD_PLT(x) ((x)->d_un.d_sdt->sdt_plt) -#define LD_REL(x) ((x)->d_un.d_sdt->sdt_rel) -#define LD_SYMBOL(x) ((x)->d_un.d_sdt->sdt_nzlist) -#define LD_HASH(x) ((x)->d_un.d_sdt->sdt_hash) -#define LD_STRINGS(x) ((x)->d_un.d_sdt->sdt_strings) -#define LD_NEED(x) ((x)->d_un.d_sdt->sdt_sods) -#define LD_BUCKETS(x) ((x)->d_un.d_sdt->sdt_buckets) -#define LD_PATHS(x) ((x)->d_un.d_sdt->sdt_paths) - -#define LD_GOTSZ(x) ((x)->d_un.d_sdt->sdt_plt - (x)->d_un.d_sdt->sdt_got) -#define LD_RELSZ(x) ((x)->d_un.d_sdt->sdt_hash - (x)->d_un.d_sdt->sdt_rel) -#define LD_HASHSZ(x) ((x)->d_un.d_sdt->sdt_nzlist - (x)->d_un.d_sdt->sdt_hash) -#define LD_STABSZ(x) ((x)->d_un.d_sdt->sdt_strings - (x)->d_un.d_sdt->sdt_nzlist) -#define LD_PLTSZ(x) ((x)->d_un.d_sdt->sdt_plt_sz) -#define LD_STRSZ(x) ((x)->d_un.d_sdt->sdt_str_sz) -#define LD_TEXTSZ(x) ((x)->d_un.d_sdt->sdt_text_sz) - -/* - * Interface to ld.so - */ -struct crt_ldso { - int crt_ba; /* Base address of ld.so */ - int crt_dzfd; /* "/dev/zero" file descriptor (SunOS) */ - int crt_ldfd; /* ld.so file descriptor */ - struct _dynamic *crt_dp; /* Main's __DYNAMIC */ - char **crt_ep; /* environment strings */ - caddr_t crt_bp; /* Breakpoint if run from debugger */ - char *crt_prog; /* Program name (v3) */ - char *crt_ldso; /* Link editor name (v4) */ - struct ld_entry *crt_ldentry; /* dl*() access (v4) */ -}; - -/* - * Version passed from crt0 to ld.so (1st argument to _rtld()). - */ -#define CRT_VERSION_SUN 1 -#define CRT_VERSION_BSD_2 2 -#define CRT_VERSION_BSD_3 3 -#define CRT_VERSION_BSD_4 4 - -/* - * Maximum number of recognized shared object version numbers. - */ -#define MAXDEWEY 8 - -/* - * Header of the hints file. - */ -struct hints_header { - long hh_magic; -#define HH_MAGIC 011421044151 - long hh_version; /* Interface version number */ -#define LD_HINTS_VERSION_1 1 -#define LD_HINTS_VERSION_2 2 - long hh_hashtab; /* Location of hash table */ - long hh_nbucket; /* Number of buckets in hashtab */ - long hh_strtab; /* Location of strings */ - long hh_strtab_sz; /* Size of strings */ - long hh_ehints; /* End of hints (max offset in file) */ - long hh_dirlist; /* Colon-separated list of srch dirs */ -}; - -#define HH_BADMAG(hdr) ((hdr).hh_magic != HH_MAGIC) - -/* - * Hash table element in hints file. - */ -struct hints_bucket { - /* namex and pathx are indices into the string table */ - int hi_namex; /* Library name */ - int hi_pathx; /* Full path */ - int hi_dewey[MAXDEWEY]; /* The versions */ - int hi_ndewey; /* Number of version numbers */ -#define hi_major hi_dewey[0] -#define hi_minor hi_dewey[1] - int hi_next; /* Next in this bucket */ -}; - -#define _PATH_LD_HINTS "/var/run/ld.so.hints" - -#endif /* _LINK_H_ */ - diff --git a/sys/sys/link_elf.h b/sys/sys/link_elf.h deleted file mode 100644 index e3e79315dd191..0000000000000 --- a/sys/sys/link_elf.h +++ /dev/null @@ -1,300 +0,0 @@ -/* - * Copyright (c) 1993 Paul Kranenburg - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Paul Kranenburg. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $Id: link.h,v 1.8 1996/10/07 20:49:03 scrappy Exp $ - */ - -/* - * RRS section definitions. - * - * The layout of some data structures defined in this header file is - * such that we can provide compatibility with the SunOS 4.x shared - * library scheme. - */ - -#ifndef _LINK_H_ -#define _LINK_H_ - -/* - * A `Shared Object Descriptor' describes a shared object that is needed - * to complete the link edit process of the object containing it. - * A list of such objects (chained through `sod_next') is pointed at - * by `sdt_sods' in the section_dispatch_table structure. - */ - -struct sod { /* Shared Object Descriptor */ - long sod_name; /* name (relative to load address) */ - u_int sod_library : 1, /* Searched for by library rules */ - sod_reserved : 31; - short sod_major; /* major version number */ - short sod_minor; /* minor version number */ - long sod_next; /* next sod */ -}; - -/* - * `Shared Object Map's are used by the run-time link editor (ld.so) to - * keep track of all shared objects loaded into a process' address space. - * These structures are only used at run-time and do not occur within - * the text or data segment of an executable or shared library. - */ -struct so_map { /* Shared Object Map */ - caddr_t som_addr; /* Address at which object mapped */ - char *som_path; /* Path to mmap'ed file */ - struct so_map *som_next; /* Next map in chain */ - struct sod *som_sod; /* Sod responsible for this map */ - caddr_t som_sodbase; /* Base address of this sod */ - u_int som_write : 1; /* Text is currently writable */ - struct _dynamic *som_dynamic; /* _dynamic structure */ - caddr_t som_spd; /* Private data */ -}; - -/* - * Symbol description with size. This is simply an `nlist' with - * one field (nz_size) added. - * Used to convey size information on items in the data segment - * of shared objects. An array of these live in the shared object's - * text segment and is addressed by the `sdt_nzlist' field. - */ -struct nzlist { - struct nlist nlist; - u_long nz_size; -#define nz_un nlist.n_un -#define nz_strx nlist.n_un.n_strx -#define nz_name nlist.n_un.n_name -#define nz_type nlist.n_type -#define nz_value nlist.n_value -#define nz_desc nlist.n_desc -#define nz_other nlist.n_other -}; - -#define N_AUX(p) ((p)->n_other & 0xf) -#define N_BIND(p) (((unsigned int)(p)->n_other >> 4) & 0xf) -#define N_OTHER(r, v) (((unsigned int)(r) << 4) | ((v) & 0xf)) - -#define AUX_OBJECT 1 -#define AUX_FUNC 2 -/*#define BIND_LOCAL 0 not used */ -/*#define BIND_GLOBAL 1 not used */ -#define BIND_WEAK 2 - - -/* - * The `section_dispatch_table' structure contains offsets to various data - * structures needed to do run-time relocation. - */ -struct section_dispatch_table { - struct so_map *sdt_loaded; /* List of loaded objects */ - long sdt_sods; /* List of shared objects descriptors */ - long sdt_paths; /* Library search paths */ - long sdt_got; /* Global offset table */ - long sdt_plt; /* Procedure linkage table */ - long sdt_rel; /* Relocation table */ - long sdt_hash; /* Symbol hash table */ - long sdt_nzlist; /* Symbol table itself */ - long sdt_filler2; /* Unused (was: stab_hash) */ - long sdt_buckets; /* Number of hash buckets */ - long sdt_strings; /* Symbol strings */ - long sdt_str_sz; /* Size of symbol strings */ - long sdt_text_sz; /* Size of text area */ - long sdt_plt_sz; /* Size of procedure linkage table */ -}; - -/* - * RRS symbol hash table, addressed by `sdt_hash' in section_dispatch_table. - * Used to quickly lookup symbols of the shared object by hashing - * on the symbol's name. `rh_symbolnum' is the index of the symbol - * in the shared object's symbol list (`sdt_nzlist'), `rh_next' is - * the next symbol in the hash bucket (in case of collisions). - */ -struct rrs_hash { - int rh_symbolnum; /* Symbol number */ - int rh_next; /* Next hash entry */ -}; - -/* - * `rt_symbols' is used to keep track of run-time allocated commons - * and data items copied from shared objects. - */ -struct rt_symbol { - struct nzlist *rt_sp; /* The symbol */ - struct rt_symbol *rt_next; /* Next in linear list */ - struct rt_symbol *rt_link; /* Next in bucket */ - caddr_t rt_srcaddr; /* Address of "master" copy */ - struct so_map *rt_smp; /* Originating map */ -}; - -/* - * Debugger interface structure. - */ -struct so_debug { - int dd_version; /* Version # of interface */ - int dd_in_debugger; /* Set when run by debugger */ - int dd_sym_loaded; /* Run-time linking brought more - symbols into scope */ - char *dd_bpt_addr; /* Address of rtld-generated bpt */ - int dd_bpt_shadow; /* Original contents of bpt */ - struct rt_symbol *dd_cc; /* Allocated commons/copied data */ -}; - -/* - * Version returned to crt0 from ld.so - */ -#define LDSO_VERSION_NONE 0 /* FreeBSD2.0, 2.0.5 */ -#define LDSO_VERSION_HAS_DLEXIT 1 /* includes dlexit in ld_entry */ - -/* - * Entry points into ld.so - user interface to the run-time linker. - * Entries are valid for the given version numbers returned by ld.so - * to crt0. - */ -struct ld_entry { - void *(*dlopen) __P((char *, int)); /* NONE */ - int (*dlclose) __P((void *)); /* NONE */ - void *(*dlsym) __P((void *, char *)); /* NONE */ - char *(*dlerror) __P((void)); /* NONE */ - void (*dlexit) __P((void)); /* HAS_DLEXIT */ -}; - -/* - * dl*() prototypes. - */ -extern void *dlopen __P((char *, int)); -extern int dlclose __P((void *)); -extern void *dlsym __P((void *, char *)); -extern char *dlerror __P((void)); - - -/* - * This is the structure pointed at by the __DYNAMIC symbol if an - * executable requires the attention of the run-time link editor. - * __DYNAMIC is given the value zero if no run-time linking needs to - * be done (it is always present in shared objects). - * The union `d_un' provides for different versions of the dynamic - * linking mechanism (switched on by `d_version'). The last version - * used by Sun is 3. We leave some room here and go to version number - * 8 for NetBSD, the main difference lying in the support for the - * `nz_list' type of symbols. - */ - -struct _dynamic { - int d_version; /* version # of this interface */ - struct so_debug *d_debug; - union { - struct section_dispatch_table *d_sdt; - } d_un; - struct ld_entry *d_entry; /* XXX */ -}; - -#define LD_VERSION_SUN (3) -#define LD_VERSION_BSD (8) -#define LD_VERSION_NZLIST_P(v) ((v) >= 8) - -#define LD_GOT(x) ((x)->d_un.d_sdt->sdt_got) -#define LD_PLT(x) ((x)->d_un.d_sdt->sdt_plt) -#define LD_REL(x) ((x)->d_un.d_sdt->sdt_rel) -#define LD_SYMBOL(x) ((x)->d_un.d_sdt->sdt_nzlist) -#define LD_HASH(x) ((x)->d_un.d_sdt->sdt_hash) -#define LD_STRINGS(x) ((x)->d_un.d_sdt->sdt_strings) -#define LD_NEED(x) ((x)->d_un.d_sdt->sdt_sods) -#define LD_BUCKETS(x) ((x)->d_un.d_sdt->sdt_buckets) -#define LD_PATHS(x) ((x)->d_un.d_sdt->sdt_paths) - -#define LD_GOTSZ(x) ((x)->d_un.d_sdt->sdt_plt - (x)->d_un.d_sdt->sdt_got) -#define LD_RELSZ(x) ((x)->d_un.d_sdt->sdt_hash - (x)->d_un.d_sdt->sdt_rel) -#define LD_HASHSZ(x) ((x)->d_un.d_sdt->sdt_nzlist - (x)->d_un.d_sdt->sdt_hash) -#define LD_STABSZ(x) ((x)->d_un.d_sdt->sdt_strings - (x)->d_un.d_sdt->sdt_nzlist) -#define LD_PLTSZ(x) ((x)->d_un.d_sdt->sdt_plt_sz) -#define LD_STRSZ(x) ((x)->d_un.d_sdt->sdt_str_sz) -#define LD_TEXTSZ(x) ((x)->d_un.d_sdt->sdt_text_sz) - -/* - * Interface to ld.so - */ -struct crt_ldso { - int crt_ba; /* Base address of ld.so */ - int crt_dzfd; /* "/dev/zero" file descriptor (SunOS) */ - int crt_ldfd; /* ld.so file descriptor */ - struct _dynamic *crt_dp; /* Main's __DYNAMIC */ - char **crt_ep; /* environment strings */ - caddr_t crt_bp; /* Breakpoint if run from debugger */ - char *crt_prog; /* Program name (v3) */ - char *crt_ldso; /* Link editor name (v4) */ - struct ld_entry *crt_ldentry; /* dl*() access (v4) */ -}; - -/* - * Version passed from crt0 to ld.so (1st argument to _rtld()). - */ -#define CRT_VERSION_SUN 1 -#define CRT_VERSION_BSD_2 2 -#define CRT_VERSION_BSD_3 3 -#define CRT_VERSION_BSD_4 4 - -/* - * Maximum number of recognized shared object version numbers. - */ -#define MAXDEWEY 8 - -/* - * Header of the hints file. - */ -struct hints_header { - long hh_magic; -#define HH_MAGIC 011421044151 - long hh_version; /* Interface version number */ -#define LD_HINTS_VERSION_1 1 -#define LD_HINTS_VERSION_2 2 - long hh_hashtab; /* Location of hash table */ - long hh_nbucket; /* Number of buckets in hashtab */ - long hh_strtab; /* Location of strings */ - long hh_strtab_sz; /* Size of strings */ - long hh_ehints; /* End of hints (max offset in file) */ - long hh_dirlist; /* Colon-separated list of srch dirs */ -}; - -#define HH_BADMAG(hdr) ((hdr).hh_magic != HH_MAGIC) - -/* - * Hash table element in hints file. - */ -struct hints_bucket { - /* namex and pathx are indices into the string table */ - int hi_namex; /* Library name */ - int hi_pathx; /* Full path */ - int hi_dewey[MAXDEWEY]; /* The versions */ - int hi_ndewey; /* Number of version numbers */ -#define hi_major hi_dewey[0] -#define hi_minor hi_dewey[1] - int hi_next; /* Next in this bucket */ -}; - -#define _PATH_LD_HINTS "/var/run/ld.so.hints" - -#endif /* _LINK_H_ */ - diff --git a/sys/sys/lkm.h b/sys/sys/lkm.h index 5b28fcccd31d1..22db751c65213 100644 --- a/sys/sys/lkm.h +++ b/sys/sys/lkm.h @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: lkm.h,v 1.11 1995/12/13 15:13:46 julian Exp $ + * $Id: lkm.h,v 1.12 1996/09/03 22:52:27 bde Exp $ */ #ifndef _SYS_LKM_H_ diff --git a/sys/sys/lockf.h b/sys/sys/lockf.h index 65db7d0d47ca8..de3521fb7d678 100644 --- a/sys/sys/lockf.h +++ b/sys/sys/lockf.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)lockf.h 8.1 (Berkeley) 6/11/93 - * $Id: lockf.h,v 1.3 1995/12/14 08:32:32 phk Exp $ + * $Id: lockf.h,v 1.4 1996/05/01 02:15:31 bde Exp $ */ #ifndef _SYS_LOCKF_H_ diff --git a/sys/sys/malloc.h b/sys/sys/malloc.h index 70f85e0966ada..27477dd2756ef 100644 --- a/sys/sys/malloc.h +++ b/sys/sys/malloc.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)malloc.h 8.5 (Berkeley) 5/3/95 - * $Id: malloc.h,v 1.15 1996/08/04 20:12:57 phk Exp $ + * $Id: malloc.h,v 1.16 1996/08/20 07:18:05 smpatel Exp $ */ #ifndef _SYS_MALLOC_H_ diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index d7924807bcfec..59e9743b96904 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mbuf.h 8.5 (Berkeley) 2/19/95 - * $Id: mbuf.h,v 1.17 1996/08/19 03:32:10 julian Exp $ + * $Id: mbuf.h,v 1.18 1996/08/19 18:30:15 wollman Exp $ */ #ifndef _SYS_MBUF_H_ diff --git a/sys/sys/md5.h b/sys/sys/md5.h index 71b3d6ca35e63..925806e4a3f9c 100644 --- a/sys/sys/md5.h +++ b/sys/sys/md5.h @@ -1,5 +1,5 @@ /* MD5.H - header file for MD5C.C - * $Id$ + * $Id: md5.h,v 1.6 1996/12/22 10:31:34 phk Exp $ */ /* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All diff --git a/sys/sys/mman.h b/sys/sys/mman.h index 658c2b458ea9a..fd2886d534753 100644 --- a/sys/sys/mman.h +++ b/sys/sys/mman.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mman.h 8.2 (Berkeley) 1/9/95 - * $Id: mman.h,v 1.13 1996/05/19 07:36:41 dyson Exp $ + * $Id: mman.h,v 1.14 1996/05/23 00:45:44 dyson Exp $ */ #ifndef _SYS_MMAN_H_ diff --git a/sys/sys/mount.h b/sys/sys/mount.h index c303d57923701..387b7f14e3a3c 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mount.h 8.13 (Berkeley) 3/27/94 - * $Id: mount.h,v 1.33 1996/09/12 03:16:34 bde Exp $ + * $Id: mount.h,v 1.34 1996/10/17 17:12:03 jkh Exp $ */ #ifndef _SYS_MOUNT_H_ diff --git a/sys/sys/msg.h b/sys/sys/msg.h index 8980b824e1efc..61dc3701c88ec 100644 --- a/sys/sys/msg.h +++ b/sys/sys/msg.h @@ -1,4 +1,4 @@ -/* $Id: msg.h,v 1.5 1995/08/30 00:33:33 bde Exp $ */ +/* $Id: msg.h,v 1.5.4.1 1997/02/28 05:29:04 bde Exp $ */ /* $NetBSD: msg.h,v 1.4 1994/06/29 06:44:43 cgd Exp $ */ /* diff --git a/sys/sys/msgbuf.h b/sys/sys/msgbuf.h index 7b7d6411c5ffb..c432c81c79df6 100644 --- a/sys/sys/msgbuf.h +++ b/sys/sys/msgbuf.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)msgbuf.h 8.1 (Berkeley) 6/2/93 - * $Id: msgbuf.h,v 1.6 1995/08/07 07:58:23 davidg Exp $ + * $Id: msgbuf.h,v 1.6.4.1 1997/01/28 11:28:36 phk Exp $ */ #ifndef _SYS_MSGBUF_H_ diff --git a/sys/sys/mtio.h b/sys/sys/mtio.h index d01f28b2070f8..54cef6058f91e 100644 --- a/sys/sys/mtio.h +++ b/sys/sys/mtio.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mtio.h 8.1 (Berkeley) 6/2/93 - * $Id: mtio.h,v 1.7 1996/01/30 23:00:58 mpp Exp $ + * $Id: mtio.h,v 1.8 1996/09/21 14:59:32 bde Exp $ */ #ifndef _SYS_MTIO_H_ diff --git a/sys/sys/namei.h b/sys/sys/namei.h index fed21012004c1..9dd30c7be1213 100644 --- a/sys/sys/namei.h +++ b/sys/sys/namei.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)namei.h 8.5 (Berkeley) 1/9/95 - * $Id: namei.h,v 1.10 1996/03/11 02:25:04 hsu Exp $ + * $Id: namei.h,v 1.11 1996/09/03 23:17:15 bde Exp $ */ #ifndef _SYS_NAMEI_H_ diff --git a/sys/sys/nlist_aout.h b/sys/sys/nlist_aout.h deleted file mode 100644 index 87e31fdf78771..0000000000000 --- a/sys/sys/nlist_aout.h +++ /dev/null @@ -1,97 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)nlist.h 8.2 (Berkeley) 1/21/94 - * - * $Id: nlist.h,v 1.2 1994/12/23 22:32:48 nate Exp $ - */ - -#ifndef _NLIST_H_ -#define _NLIST_H_ - -/* - * Symbol table entry format. The #ifdef's are so that programs including - * nlist.h can initialize nlist structures statically. - */ -struct nlist { -#ifdef _AOUT_INCLUDE_ - union { - char *n_name; /* symbol name (in memory) */ - long n_strx; /* file string table offset (on disk) */ - } n_un; -#else - char *n_name; /* symbol name (in memory) */ -#endif - -#define N_UNDF 0x00 /* undefined */ -#define N_ABS 0x02 /* absolute address */ -#define N_TEXT 0x04 /* text segment */ -#define N_DATA 0x06 /* data segment */ -#define N_BSS 0x08 /* bss segment */ -#define N_INDR 0x0a /* alias definition */ -#define N_SIZE 0x0c /* pseudo type, defines a symbol's size */ -#define N_COMM 0x12 /* common reference */ -/* GNU extensions */ -#define N_SETA 0x14 /* Absolute set element symbol */ -#define N_SETT 0x16 /* Text set element symbol */ -#define N_SETD 0x18 /* Data set element symbol */ -#define N_SETB 0x1a /* Bss set element symbol */ -#define N_SETV 0x1c /* Pointer to set vector in data area. */ -/* end GNU extensions */ -#define N_FN 0x1e /* file name (N_EXT on) */ -#define N_WARN 0x1e /* warning message (N_EXT off) */ - -#define N_EXT 0x01 /* external (global) bit, OR'ed in */ -#define N_TYPE 0x1e /* mask for all the type bits */ - unsigned char n_type; /* type defines */ - - char n_other; /* spare */ -#define n_hash n_desc /* used internally by ld(1); XXX */ - short n_desc; /* used by stab entries */ - unsigned long n_value; /* address/value of the symbol */ -}; - -#define N_FORMAT "%08x" /* namelist value format; XXX */ -#define N_STAB 0x0e0 /* mask for debugger symbols -- stab(5) */ - -#include <sys/cdefs.h> - -__BEGIN_DECLS -int nlist __P((const char *, struct nlist *)); -__END_DECLS - -#endif /* !_NLIST_H_ */ diff --git a/sys/sys/param.h b/sys/sys/param.h index 6623b79570f01..fd3cd6d3070bf 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.3 (Berkeley) 4/4/95 - * $Id: param.h,v 1.15.2.1 1996/11/28 21:59:05 phk Exp $ + * $Id: param.h,v 1.15.2.2 1996/12/15 09:54:28 davidg Exp $ */ #ifndef _SYS_PARAM_H_ diff --git a/sys/sys/pipe.h b/sys/sys/pipe.h index 764f1f7182b3f..cba8fd4ed4ab1 100644 --- a/sys/sys/pipe.h +++ b/sys/sys/pipe.h @@ -18,7 +18,7 @@ * 5. Modifications may be freely made to this file if the above conditions * are met. * - * $Id: pipe.h,v 1.5 1996/07/12 05:44:30 bde Exp $ + * $Id: pipe.h,v 1.6 1996/07/13 22:52:46 dyson Exp $ */ #ifndef _SYS_PIPE_H_ diff --git a/sys/sys/proc.h b/sys/sys/proc.h index bac0b804f80bf..5854dae6f052a 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.15 (Berkeley) 5/19/95 - * $Id: proc.h,v 1.29 1996/10/12 16:11:58 bde Exp $ + * $Id: proc.h,v 1.30 1996/10/17 02:58:05 dyson Exp $ */ #ifndef _SYS_PROC_H_ diff --git a/sys/sys/protosw.h b/sys/sys/protosw.h index f3abcf77626bf..3d0d2903fc0ea 100644 --- a/sys/sys/protosw.h +++ b/sys/sys/protosw.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)protosw.h 8.1 (Berkeley) 6/2/93 - * $Id: protosw.h,v 1.9 1995/12/16 02:14:44 bde Exp $ + * $Id: protosw.h,v 1.11 1996/07/11 16:32:50 wollman Exp $ */ #ifndef _SYS_PROTOSW_H_ diff --git a/sys/sys/ptrace.h b/sys/sys/ptrace.h index 55b176e0ceebe..9c044eb05cb0f 100644 --- a/sys/sys/ptrace.h +++ b/sys/sys/ptrace.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ptrace.h 8.2 (Berkeley) 1/4/94 - * $Id: ptrace.h,v 1.4 1995/03/16 18:16:23 bde Exp $ + * $Id: ptrace.h,v 1.5 1996/01/24 18:11:11 peter Exp $ */ #ifndef _SYS_PTRACE_H_ diff --git a/sys/sys/queue.h b/sys/sys/queue.h index abe8e98ebd91c..60b2f25e45cc6 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)queue.h 8.5 (Berkeley) 8/20/94 - * $Id: queue.h,v 1.9 1996/04/08 07:51:57 phk Exp $ + * $Id: queue.h,v 1.10 1996/05/18 03:37:21 dyson Exp $ */ #ifndef _SYS_QUEUE_H_ diff --git a/sys/sys/reboot.h b/sys/sys/reboot.h index 0a12e4e9c3537..a608761169234 100644 --- a/sys/sys/reboot.h +++ b/sys/sys/reboot.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)reboot.h 8.3 (Berkeley) 12/13/94 - * $Id: reboot.h,v 1.13 1996/08/27 19:45:58 pst Exp $ + * $Id: reboot.h,v 1.14 1996/10/16 00:19:39 julian Exp $ */ #ifndef _SYS_REBOOT_H_ diff --git a/sys/sys/resource.h b/sys/sys/resource.h index 9260f27f64789..c8313aacc9478 100644 --- a/sys/sys/resource.h +++ b/sys/sys/resource.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)resource.h 8.4 (Berkeley) 1/9/95 - * $Id: resource.h,v 1.4 1996/03/11 02:10:14 hsu Exp $ + * $Id: resource.h,v 1.4.4.1 1997/02/18 08:09:30 bde Exp $ */ #ifndef _SYS_RESOURCE_H_ diff --git a/sys/sys/resourcevar.h b/sys/sys/resourcevar.h index 018188f5c36fb..d79db7eda5188 100644 --- a/sys/sys/resourcevar.h +++ b/sys/sys/resourcevar.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)resourcevar.h 8.4 (Berkeley) 1/9/95 - * $Id: resourcevar.h,v 1.7 1996/03/11 02:20:13 hsu Exp $ + * $Id: resourcevar.h,v 1.8 1996/06/25 20:02:16 bde Exp $ */ #ifndef _SYS_RESOURCEVAR_H_ diff --git a/sys/sys/rlist.h b/sys/sys/rlist.h index cf86c8a84cb4d..8a370c72cc062 100644 --- a/sys/sys/rlist.h +++ b/sys/sys/rlist.h @@ -16,7 +16,7 @@ * rlist_alloc(&swapmap, 100, &loc); obtain 100 sectors from swap * * from: unknown? - * $Id: rlist.h,v 1.8 1996/01/30 23:01:12 mpp Exp $ + * $Id: rlist.h,v 1.9 1996/03/03 21:11:00 dyson Exp $ */ #ifndef _SYS_RLIST_H_ diff --git a/sys/sys/rtprio.h b/sys/sys/rtprio.h index 9a22a34806b75..217c624124323 100644 --- a/sys/sys/rtprio.h +++ b/sys/sys/rtprio.h @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rtprio.h,v 1.1 1994/09/01 05:12:53 davidg Exp $ + * $Id: rtprio.h,v 1.2 1994/10/02 04:45:59 davidg Exp $ */ #ifndef _SYS_RTPRIO_H_ diff --git a/sys/sys/scsiio.h b/sys/sys/scsiio.h index 87c5d635217bd..708a64b0bb303 100644 --- a/sys/sys/scsiio.h +++ b/sys/sys/scsiio.h @@ -1,5 +1,5 @@ /* - * $Id: scsiio.h,v 1.5 1996/01/30 23:01:14 mpp Exp $ + * $Id: scsiio.h,v 1.6 1996/09/21 14:59:33 bde Exp $ */ #ifndef _SYS_SCSIIO_H_ #define _SYS_SCSIIO_H_ diff --git a/sys/sys/select.h b/sys/sys/select.h index e69971e3b6845..138eb17fa44c8 100644 --- a/sys/sys/select.h +++ b/sys/sys/select.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)select.h 8.2 (Berkeley) 1/4/94 - * $Id$ + * $Id: select.h,v 1.2 1994/08/02 07:53:31 davidg Exp $ */ #ifndef _SYS_SELECT_H_ diff --git a/sys/sys/sem.h b/sys/sys/sem.h index c6ab60cdf228e..fefe7f3344bf6 100644 --- a/sys/sys/sem.h +++ b/sys/sys/sem.h @@ -1,4 +1,4 @@ -/* $Id: sem.h,v 1.7 1995/12/27 15:25:30 joerg Exp $ */ +/* $Id: sem.h,v 1.8 1996/06/12 05:11:08 gpalmer Exp $ */ /* $NetBSD: sem.h,v 1.5 1994/06/29 06:45:15 cgd Exp $ */ /* diff --git a/sys/sys/shm.h b/sys/sys/shm.h index 36c29d43b6863..6c5ed9d5bcfdd 100644 --- a/sys/sys/shm.h +++ b/sys/sys/shm.h @@ -1,4 +1,4 @@ -/* $Id: shm.h,v 1.8 1996/02/23 18:49:20 peter Exp $ */ +/* $Id: shm.h,v 1.9 1996/05/02 14:21:04 phk Exp $ */ /* $NetBSD: shm.h,v 1.15 1994/06/29 06:45:17 cgd Exp $ */ /* diff --git a/sys/sys/signal.h b/sys/sys/signal.h index 22f100218bca1..268af6e3f26c2 100644 --- a/sys/sys/signal.h +++ b/sys/sys/signal.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)signal.h 8.4 (Berkeley) 5/4/95 - * $Id: signal.h,v 1.8 1996/03/11 02:10:41 hsu Exp $ + * $Id: signal.h,v 1.9 1996/03/30 15:10:18 peter Exp $ */ #ifndef _SYS_SIGNAL_H_ diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h index 29c54f2fea661..cab425c71186f 100644 --- a/sys/sys/signalvar.h +++ b/sys/sys/signalvar.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)signalvar.h 8.6 (Berkeley) 2/19/95 - * $Id: signalvar.h,v 1.12 1996/03/15 08:01:33 peter Exp $ + * $Id: signalvar.h,v 1.13 1996/03/30 15:08:14 peter Exp $ */ #ifndef _SYS_SIGNALVAR_H_ /* tmp for user.h */ diff --git a/sys/sys/socket.h b/sys/sys/socket.h index 67fc12e87658b..1d2c7f4606daa 100644 --- a/sys/sys/socket.h +++ b/sys/sys/socket.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)socket.h 8.4 (Berkeley) 2/21/94 - * $Id: socket.h,v 1.14 1996/08/15 04:36:40 jdp Exp $ + * $Id: socket.h,v 1.15 1996/08/30 02:18:24 peter Exp $ */ #ifndef _SYS_SOCKET_H_ diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h index b628c425de4b6..f5600e2d3f787 100644 --- a/sys/sys/socketvar.h +++ b/sys/sys/socketvar.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)socketvar.h 8.3 (Berkeley) 2/19/95 - * $Id: socketvar.h,v 1.15 1996/10/07 04:32:41 pst Exp $ + * $Id: socketvar.h,v 1.15.2.1 1996/11/12 11:29:17 phk Exp $ */ #ifndef _SYS_SOCKETVAR_H_ diff --git a/sys/sys/sockio.h b/sys/sys/sockio.h index 7df744a965c84..0289b1477283b 100644 --- a/sys/sys/sockio.h +++ b/sys/sys/sockio.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)sockio.h 8.1 (Berkeley) 3/28/94 - * $Id: sockio.h,v 1.6 1996/05/18 20:33:42 fenner Exp $ + * $Id: sockio.h,v 1.7 1996/09/22 14:57:44 bde Exp $ */ #ifndef _SYS_SOCKIO_H_ diff --git a/sys/sys/stat.h b/sys/sys/stat.h index 0cec93538bf66..bb4a979441cca 100644 --- a/sys/sys/stat.h +++ b/sys/sys/stat.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)stat.h 8.12 (Berkeley) 6/16/95 - * $Id: stat.h,v 1.7 1996/03/11 02:15:04 hsu Exp $ + * $Id: stat.h,v 1.8 1996/09/19 18:21:17 nate Exp $ */ #ifndef _SYS_STAT_H_ diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index bb16746d29dea..a9de895d72ad2 100644 --- a/sys/sys/sysctl.h +++ b/sys/sys/sysctl.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)sysctl.h 8.1 (Berkeley) 6/2/93 - * $Id: sysctl.h,v 1.47 1996/10/16 00:19:40 julian Exp $ + * $Id: sysctl.h,v 1.48 1996/10/30 21:40:25 julian Exp $ */ #ifndef _SYS_SYSCTL_H_ diff --git a/sys/sys/sysent.h b/sys/sys/sysent.h index 6ac1fd639da03..1f5c802e4cec8 100644 --- a/sys/sys/sysent.h +++ b/sys/sys/sysent.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sysent.h,v 1.10 1996/06/18 05:15:41 dyson Exp $ + * $Id: sysent.h,v 1.11 1996/10/25 16:20:34 bde Exp $ */ #ifndef _SYS_SYSENT_H_ diff --git a/sys/sys/syslimits.h b/sys/sys/syslimits.h index 2dc7a5bc34511..f5bfec3c1cbc7 100644 --- a/sys/sys/syslimits.h +++ b/sys/sys/syslimits.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)syslimits.h 8.1 (Berkeley) 6/2/93 - * $Id: syslimits.h,v 1.5 1994/08/21 04:41:59 paul Exp $ + * $Id: syslimits.h,v 1.6 1994/12/03 17:36:37 smace Exp $ */ #ifndef _SYS_SYSLIMITS_H_ diff --git a/sys/sys/syslog.h b/sys/sys/syslog.h index 2778dad32a2e0..fccdbea1b0221 100644 --- a/sys/sys/syslog.h +++ b/sys/sys/syslog.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)syslog.h 8.1 (Berkeley) 6/2/93 - * $Id: syslog.h,v 1.8 1996/10/28 08:25:51 joerg Exp $ + * $Id: syslog.h,v 1.8.2.1 1997/03/02 09:20:22 joerg Exp $ */ #ifndef _SYS_SYSLOG_H_ diff --git a/sys/sys/systm.h b/sys/sys/systm.h index 48443e525a813..179acebaf476f 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)systm.h 8.7 (Berkeley) 3/29/95 - * $Id: systm.h,v 1.47 1996/10/12 16:11:55 bde Exp $ + * $Id: systm.h,v 1.47.2.1 1997/02/04 21:04:13 jhay Exp $ */ #ifndef _SYS_SYSTM_H_ diff --git a/sys/sys/tablet.h b/sys/sys/tablet.h index 437287e4c5cd6..b4eac2c4ab594 100644 --- a/sys/sys/tablet.h +++ b/sys/sys/tablet.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tablet.h 8.4 (Berkeley) 7/10/94 - * $Id: tablet.h,v 1.4 1996/05/01 01:46:00 bde Exp $ + * $Id: tablet.h,v 1.5 1996/09/21 14:59:35 bde Exp $ */ #ifndef _SYS_TABLET_H_ diff --git a/sys/sys/termios.h b/sys/sys/termios.h index d983449cbc1bb..70049a23f6a06 100644 --- a/sys/sys/termios.h +++ b/sys/sys/termios.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)termios.h 8.3 (Berkeley) 3/28/94 - * $Id: termios.h,v 1.6 1995/05/30 08:14:40 rgrimes Exp $ + * $Id: termios.h,v 1.6.8.1 1996/12/18 12:49:51 bde Exp $ */ #ifndef _SYS_TERMIOS_H_ diff --git a/sys/sys/time.h b/sys/sys/time.h index f68c5cc8f57f3..1523a3daf768e 100644 --- a/sys/sys/time.h +++ b/sys/sys/time.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)time.h 8.5 (Berkeley) 5/4/95 - * $Id: time.h,v 1.7 1996/03/11 02:11:25 hsu Exp $ + * $Id: time.h,v 1.8 1996/09/19 18:21:20 nate Exp $ */ #ifndef _SYS_TIME_H_ diff --git a/sys/sys/timeb.h b/sys/sys/timeb.h index 8759a7ca4f8dc..223ae15e58fad 100644 --- a/sys/sys/timeb.h +++ b/sys/sys/timeb.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)timeb.h 8.2 (Berkeley) 1/21/94 - * $Id: timeb.h,v 1.2 1994/08/02 07:53:49 davidg Exp $ + * $Id: timeb.h,v 1.3 1994/08/21 04:42:02 paul Exp $ */ #ifndef _SYS_TIMEB_H_ diff --git a/sys/sys/timers.h b/sys/sys/timers.h index 6482d3c92018c..bb0e34bff04f8 100644 --- a/sys/sys/timers.h +++ b/sys/sys/timers.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: timers.h,v 1.1 1996/01/22 00:31:06 julian Exp $ * * Description : Basic timers header. */ diff --git a/sys/sys/times.h b/sys/sys/times.h index 961ebfd182644..63cf0108e8d07 100644 --- a/sys/sys/times.h +++ b/sys/sys/times.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)times.h 8.4 (Berkeley) 1/21/94 - * $Id$ + * $Id: times.h,v 1.2 1994/08/02 07:53:50 davidg Exp $ */ #ifndef _SYS_TIMES_H_ diff --git a/sys/sys/tprintf.h b/sys/sys/tprintf.h index 5ef2934ced7b6..81bb41c435f33 100644 --- a/sys/sys/tprintf.h +++ b/sys/sys/tprintf.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tprintf.h 8.1 (Berkeley) 6/2/93 - * $Id: tprintf.h,v 1.2 1994/08/02 07:53:51 davidg Exp $ + * $Id: tprintf.h,v 1.3 1994/08/21 04:42:03 paul Exp $ */ #ifndef _SYS_TPRINTF_H_ diff --git a/sys/sys/tty.h b/sys/sys/tty.h index f0ada35d86ed0..2744f3892b102 100644 --- a/sys/sys/tty.h +++ b/sys/sys/tty.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)tty.h 8.6 (Berkeley) 1/21/94 - * $Id: tty.h,v 1.33 1995/12/14 08:32:37 phk Exp $ + * $Id: tty.h,v 1.34 1995/12/14 22:32:52 bde Exp $ */ #ifndef _SYS_TTY_H_ diff --git a/sys/sys/ttychars.h b/sys/sys/ttychars.h index 7146f600c714b..2a347ab75867d 100644 --- a/sys/sys/ttychars.h +++ b/sys/sys/ttychars.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ttychars.h 8.2 (Berkeley) 1/4/94 - * $Id: ttychars.h,v 1.3 1994/08/21 04:42:06 paul Exp $ + * $Id: ttychars.h,v 1.4 1994/08/22 19:34:03 csgr Exp $ */ #ifndef _SYS_TTYCHARS_H_ diff --git a/sys/sys/ttycom.h b/sys/sys/ttycom.h index da91238255535..dd13b5e59bd01 100644 --- a/sys/sys/ttycom.h +++ b/sys/sys/ttycom.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ttycom.h 8.1 (Berkeley) 3/28/94 - * $Id: ttycom.h,v 1.9 1995/05/30 08:14:42 rgrimes Exp $ + * $Id: ttycom.h,v 1.10 1996/06/17 13:08:09 bde Exp $ */ #ifndef _SYS_TTYCOM_H_ diff --git a/sys/sys/ttydefaults.h b/sys/sys/ttydefaults.h index 43216c7f58ad4..703190ba8373a 100644 --- a/sys/sys/ttydefaults.h +++ b/sys/sys/ttydefaults.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 - * $Id: ttydefaults.h,v 1.8 1995/05/11 07:52:48 bde Exp $ + * $Id: ttydefaults.h,v 1.9 1995/05/30 08:14:47 rgrimes Exp $ */ /* diff --git a/sys/sys/ttydev.h b/sys/sys/ttydev.h index 51accc7fd0b2a..b0fa983f01e9c 100644 --- a/sys/sys/ttydev.h +++ b/sys/sys/ttydev.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ttydev.h 8.2 (Berkeley) 1/4/94 - * $Id: ttydev.h,v 1.3 1994/08/26 12:07:31 jkh Exp $ + * $Id: ttydev.h,v 1.4 1996/01/30 23:01:30 mpp Exp $ */ /* COMPATIBILITY HEADER FILE */ diff --git a/sys/sys/types.h b/sys/sys/types.h index 41ef4e537287f..f3da3c719cd21 100644 --- a/sys/sys/types.h +++ b/sys/sys/types.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)types.h 8.6 (Berkeley) 2/19/95 - * $Id: types.h,v 1.11 1996/04/30 23:35:57 bde Exp $ + * $Id: types.h,v 1.11.2.1 1997/01/30 11:08:01 asami Exp $ */ #ifndef _SYS_TYPES_H_ diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index a4f67113acb11..f2a3ce8c462f2 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ucred.h 8.4 (Berkeley) 1/9/95 - * $Id: ucred.h,v 1.6 1996/02/24 07:53:38 hsu Exp $ + * $Id: ucred.h,v 1.6 1996/03/11 02:11:48 hsu Exp $ */ #ifndef _SYS_UCRED_H_ diff --git a/sys/sys/uio.h b/sys/sys/uio.h index d48c0343a2674..9d84e21b89308 100644 --- a/sys/sys/uio.h +++ b/sys/sys/uio.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uio.h 8.5 (Berkeley) 2/22/94 - * $Id: uio.h,v 1.3 1994/09/15 20:24:28 bde Exp $ + * $Id: uio.h,v 1.4 1995/04/04 17:01:49 davidg Exp $ */ #ifndef _SYS_UIO_H_ diff --git a/sys/sys/un.h b/sys/sys/un.h index 6f4eac183a009..6f51f0e3528db 100644 --- a/sys/sys/un.h +++ b/sys/sys/un.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)un.h 8.3 (Berkeley) 2/19/95 - * $Id: un.h,v 1.11 1996/03/10 10:36:30 hsu Exp $ + * $Id: un.h,v 1.9 1996/03/11 02:12:57 hsu Exp $ */ #ifndef _SYS_UN_H_ diff --git a/sys/sys/unistd.h b/sys/sys/unistd.h index 87bdcd40e9f7f..d821a6dda1026 100644 --- a/sys/sys/unistd.h +++ b/sys/sys/unistd.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)unistd.h 8.2 (Berkeley) 1/7/94 - * $Id: unistd.h,v 1.8.2.1 1996/12/18 13:18:37 bde Exp $ + * $Id: unistd.h,v 1.8.2.2 1997/02/28 12:02:38 bde Exp $ */ #ifndef _SYS_UNISTD_H_ diff --git a/sys/sys/unpcb.h b/sys/sys/unpcb.h index 41d8cfc09b7c3..c880c39a31704 100644 --- a/sys/sys/unpcb.h +++ b/sys/sys/unpcb.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)unpcb.h 8.1 (Berkeley) 6/2/93 - * $Id: unpcb.h,v 1.2 1994/08/02 07:54:05 davidg Exp $ + * $Id: unpcb.h,v 1.3 1994/08/21 04:42:09 paul Exp $ */ #ifndef _SYS_UNPCB_H_ diff --git a/sys/sys/user.h b/sys/sys/user.h index 05684500146f1..e2514ac105ffd 100644 --- a/sys/sys/user.h +++ b/sys/sys/user.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)user.h 8.2 (Berkeley) 9/23/93 - * $Id: user.h,v 1.7 1995/12/09 05:10:55 peter Exp $ + * $Id: user.h,v 1.8 1996/09/10 08:21:29 bde Exp $ */ #ifndef _SYS_USER_H_ diff --git a/sys/sys/utsname.h b/sys/sys/utsname.h index 0387cc1d206ec..e65ffa58eb3e3 100644 --- a/sys/sys/utsname.h +++ b/sys/sys/utsname.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)utsname.h 8.1 (Berkeley) 1/4/94 - * $Id$ + * $Id: utsname.h,v 1.3 1994/08/02 07:54:07 davidg Exp $ */ #ifndef _SYS_UTSNAME_H diff --git a/sys/sys/vadvise.h b/sys/sys/vadvise.h index e8ed7235f520a..9171c92d92c21 100644 --- a/sys/sys/vadvise.h +++ b/sys/sys/vadvise.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vadvise.h 8.1 (Berkeley) 6/2/93 - * $Id: vadvise.h,v 1.2 1994/08/02 07:54:08 davidg Exp $ + * $Id: vadvise.h,v 1.3 1994/08/21 04:42:11 paul Exp $ */ #ifndef _SYS_VADVISE_H_ diff --git a/sys/sys/vcmd.h b/sys/sys/vcmd.h index ff61b748a56e3..30ed8d34758fa 100644 --- a/sys/sys/vcmd.h +++ b/sys/sys/vcmd.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vcmd.h 8.1 (Berkeley) 6/2/93 - * $Id: vcmd.h,v 1.3 1994/08/21 04:42:12 paul Exp $ + * $Id: vcmd.h,v 1.4 1996/09/21 14:59:38 bde Exp $ */ #ifndef _SYS_VCMD_H_ diff --git a/sys/sys/vlimit.h b/sys/sys/vlimit.h index b1a1fe330e2c3..5d86c8e46e106 100644 --- a/sys/sys/vlimit.h +++ b/sys/sys/vlimit.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vlimit.h 8.1 (Berkeley) 6/2/93 - * $Id: vlimit.h,v 1.3 1994/08/21 04:42:13 paul Exp $ + * $Id: vlimit.h,v 1.4 1995/05/30 08:14:51 rgrimes Exp $ */ #ifndef _SYS_VLIMIT_H_ diff --git a/sys/sys/vmmeter.h b/sys/sys/vmmeter.h index b0fe37435b127..bb72bb1ee9681 100644 --- a/sys/sys/vmmeter.h +++ b/sys/sys/vmmeter.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vmmeter.h 8.2 (Berkeley) 7/10/94 - * $Id: vmmeter.h,v 1.13 1996/02/25 08:50:38 hsu Exp $ + * $Id: vmmeter.h,v 1.13 1996/03/11 02:22:40 hsu Exp $ */ #ifndef _SYS_VMMETER_H_ diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 4728d650c80da..ed1f85f185f15 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vnode.h 8.7 (Berkeley) 2/4/94 - * $Id: vnode.h,v 1.36 1996/10/17 17:12:04 jkh Exp $ + * $Id: vnode.h,v 1.36.2.1 1997/02/28 11:12:00 bde Exp $ */ #ifndef _SYS_VNODE_H_ diff --git a/sys/sys/vsio.h b/sys/sys/vsio.h index b867b8b42ced8..14573a0dc65a0 100644 --- a/sys/sys/vsio.h +++ b/sys/sys/vsio.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vsio.h 8.1 (Berkeley) 6/2/93 - * $Id: vsio.h,v 1.3 1994/08/21 04:42:16 paul Exp $ + * $Id: vsio.h,v 1.4 1995/05/30 08:14:52 rgrimes Exp $ */ #ifndef _SYS_VSIO_H_ diff --git a/sys/sys/wait.h b/sys/sys/wait.h index c343f1ddb85b9..9019871e539a8 100644 --- a/sys/sys/wait.h +++ b/sys/sys/wait.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)wait.h 8.2 (Berkeley) 7/10/94 - * $Id: wait.h,v 1.6 1996/02/24 03:16:25 hsu Exp $ + * $Id: wait.h,v 1.6 1996/03/11 02:03:11 hsu Exp $ */ #ifndef _SYS_WAIT_H_ diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index 32231719bf243..8f890b53f75c9 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_alloc.c 8.8 (Berkeley) 2/21/94 - * $Id: ffs_alloc.c,v 1.25 1996/07/12 04:12:14 bde Exp $ + * $Id: ffs_alloc.c,v 1.26 1996/09/17 14:38:16 peter Exp $ */ #include "opt_quota.h" diff --git a/sys/ufs/ffs/ffs_balloc.c b/sys/ufs/ffs/ffs_balloc.c index 005fea6bfb120..653d4866d6d6a 100644 --- a/sys/ufs/ffs/ffs_balloc.c +++ b/sys/ufs/ffs/ffs_balloc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_balloc.c 8.4 (Berkeley) 9/23/93 - * $Id: ffs_balloc.c,v 1.9 1995/05/30 08:14:59 rgrimes Exp $ + * $Id: ffs_balloc.c,v 1.10 1996/01/19 03:59:11 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/ffs/ffs_extern.h b/sys/ufs/ffs/ffs_extern.h index 8498e285bfafd..873754858d2dd 100644 --- a/sys/ufs/ffs/ffs_extern.h +++ b/sys/ufs/ffs/ffs_extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_extern.h 8.3 (Berkeley) 4/16/94 - * $Id: ffs_extern.h,v 1.10 1996/02/25 20:12:36 bde Exp $ + * $Id: ffs_extern.h,v 1.11 1996/05/01 02:15:43 bde Exp $ */ #ifndef _UFS_FFS_EXTERN_H diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c index 23050789b9685..98f9ef2f469bb 100644 --- a/sys/ufs/ffs/ffs_inode.c +++ b/sys/ufs/ffs/ffs_inode.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_inode.c 8.5 (Berkeley) 12/30/93 - * $Id: ffs_inode.c,v 1.21.2.1 1996/11/06 10:13:47 phk Exp $ + * $Id: ffs_inode.c,v 1.21.2.2 1996/11/12 09:10:11 phk Exp $ */ #include "opt_quota.h" diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c index f33ad94d9dbd3..3564b765e3900 100644 --- a/sys/ufs/ffs/ffs_subr.c +++ b/sys/ufs/ffs/ffs_subr.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_subr.c 8.2 (Berkeley) 9/21/93 - * $Id: ffs_subr.c,v 1.6 1995/12/17 21:09:31 phk Exp $ + * $Id: ffs_subr.c,v 1.7 1996/01/04 21:13:04 wollman Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/ffs/ffs_tables.c b/sys/ufs/ffs/ffs_tables.c index 9fe34247a309f..289d1f28660b6 100644 --- a/sys/ufs/ffs/ffs_tables.c +++ b/sys/ufs/ffs/ffs_tables.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_tables.c 8.1 (Berkeley) 6/11/93 - * $Id: ffs_tables.c,v 1.3 1995/05/30 08:15:02 rgrimes Exp $ + * $Id: ffs_tables.c,v 1.4 1995/12/17 21:09:33 phk Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index e7850860f9e5d..49064a02473ed 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_vfsops.c 8.8 (Berkeley) 4/18/94 - * $Id: ffs_vfsops.c,v 1.41 1996/09/07 17:34:57 dyson Exp $ + * $Id: ffs_vfsops.c,v 1.41.2.1 1996/11/13 20:18:21 phk Exp $ */ #include "opt_quota.h" diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index f7689866cd464..8ebe4d593ee06 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_vnops.c 8.7 (Berkeley) 2/3/94 - * $Id: ffs_vnops.c,v 1.19 1995/12/07 12:47:52 davidg Exp $ + * $Id: ffs_vnops.c,v 1.20 1995/12/17 21:09:36 phk Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/ffs/fs.h b/sys/ufs/ffs/fs.h index 811fcdfa0cc7e..c3eb235343b64 100644 --- a/sys/ufs/ffs/fs.h +++ b/sys/ufs/ffs/fs.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fs.h 8.7 (Berkeley) 4/19/94 - * $Id: fs.h,v 1.6 1996/01/30 23:02:01 mpp Exp $ + * $Id: fs.h,v 1.7 1996/10/12 22:12:51 bde Exp $ */ #ifndef _UFS_FFS_FS_H_ diff --git a/sys/ufs/lfs/lfs.h b/sys/ufs/lfs/lfs.h index 45f27fe5e6569..619349a678dbd 100644 --- a/sys/ufs/lfs/lfs.h +++ b/sys/ufs/lfs/lfs.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs.h 8.3 (Berkeley) 9/23/93 - * $Id: lfs.h,v 1.6 1995/05/30 08:15:11 rgrimes Exp $ + * $Id: lfs.h,v 1.7 1996/03/27 07:58:57 hsu Exp $ */ #ifndef _UFS_LFS_LFS_H_ diff --git a/sys/ufs/lfs/lfs_alloc.c b/sys/ufs/lfs/lfs_alloc.c index 43b99f7fc8928..5dd22f5432026 100644 --- a/sys/ufs/lfs/lfs_alloc.c +++ b/sys/ufs/lfs/lfs_alloc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_alloc.c 8.4 (Berkeley) 1/4/94 - * $Id: lfs_alloc.c,v 1.10 1996/01/05 18:31:51 wollman Exp $ + * $Id: lfs_alloc.c,v 1.11 1996/06/12 03:37:54 davidg Exp $ */ #include "opt_quota.h" diff --git a/sys/ufs/lfs/lfs_balloc.c b/sys/ufs/lfs/lfs_balloc.c index 316ddbf5fa377..76ca7423bc730 100644 --- a/sys/ufs/lfs/lfs_balloc.c +++ b/sys/ufs/lfs/lfs_balloc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_balloc.c 8.1 (Berkeley) 6/11/93 - * $Id: lfs_balloc.c,v 1.7 1995/05/30 08:15:12 rgrimes Exp $ + * $Id: lfs_balloc.c,v 1.8 1995/09/04 00:20:58 dyson Exp $ */ #include <sys/param.h> #include <sys/systm.h> diff --git a/sys/ufs/lfs/lfs_bio.c b/sys/ufs/lfs/lfs_bio.c index e184936c39c6d..acb51f20e85f6 100644 --- a/sys/ufs/lfs/lfs_bio.c +++ b/sys/ufs/lfs/lfs_bio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_bio.c 8.4 (Berkeley) 12/30/93 - * $Id: lfs_bio.c,v 1.8 1995/12/17 21:09:46 phk Exp $ + * $Id: lfs_bio.c,v 1.9 1996/07/12 04:12:19 bde Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/lfs/lfs_cksum.c b/sys/ufs/lfs/lfs_cksum.c index 997094986caec..5a44c4b9dfd0a 100644 --- a/sys/ufs/lfs/lfs_cksum.c +++ b/sys/ufs/lfs/lfs_cksum.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_cksum.c 8.1 (Berkeley) 6/11/93 - * $Id: lfs_cksum.c,v 1.4 1995/12/03 11:16:39 bde Exp $ + * $Id: lfs_cksum.c,v 1.5 1995/12/06 19:46:36 bde Exp $ */ #ifdef KERNEL diff --git a/sys/ufs/lfs/lfs_debug.c b/sys/ufs/lfs/lfs_debug.c index 67914abff6b9e..2814bacf4cb23 100644 --- a/sys/ufs/lfs/lfs_debug.c +++ b/sys/ufs/lfs/lfs_debug.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_debug.c 8.1 (Berkeley) 6/11/93 - * $Id: lfs_debug.c,v 1.3 1995/05/30 08:15:16 rgrimes Exp $ + * $Id: lfs_debug.c,v 1.4 1995/12/22 17:56:36 bde Exp $ */ #ifdef DEBUG diff --git a/sys/ufs/lfs/lfs_extern.h b/sys/ufs/lfs/lfs_extern.h index 0f106aa0dc2a3..7d54287992f53 100644 --- a/sys/ufs/lfs/lfs_extern.h +++ b/sys/ufs/lfs/lfs_extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_extern.h 8.2 (Berkeley) 4/16/94 - * $Id: lfs_extern.h,v 1.11 1995/12/22 17:56:37 bde Exp $ + * $Id: lfs_extern.h,v 1.12 1996/05/01 02:16:00 bde Exp $ */ #ifndef _UFS_LFS_LFS_EXTERN_H_ diff --git a/sys/ufs/lfs/lfs_inode.c b/sys/ufs/lfs/lfs_inode.c index b7e055c55aa43..e993ec9048a48 100644 --- a/sys/ufs/lfs/lfs_inode.c +++ b/sys/ufs/lfs/lfs_inode.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_inode.c 8.5 (Berkeley) 12/30/93 - * $Id: lfs_inode.c,v 1.12 1996/01/05 18:31:52 wollman Exp $ + * $Id: lfs_inode.c,v 1.13 1996/09/20 05:53:36 nate Exp $ */ #include "opt_quota.h" diff --git a/sys/ufs/lfs/lfs_segment.c b/sys/ufs/lfs/lfs_segment.c index da4e5e002d989..fa8fe16529292 100644 --- a/sys/ufs/lfs/lfs_segment.c +++ b/sys/ufs/lfs/lfs_segment.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_segment.c 8.5 (Berkeley) 1/4/94 - * $Id: lfs_segment.c,v 1.17 1996/06/12 05:11:41 gpalmer Exp $ + * $Id: lfs_segment.c,v 1.18 1996/08/31 14:48:13 bde Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/lfs/lfs_subr.c b/sys/ufs/lfs/lfs_subr.c index f911c3fc93a51..d2a640ffff48e 100644 --- a/sys/ufs/lfs/lfs_subr.c +++ b/sys/ufs/lfs/lfs_subr.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_subr.c 8.2 (Berkeley) 9/21/93 - * $Id: lfs_subr.c,v 1.6 1995/01/09 16:05:23 davidg Exp $ + * $Id: lfs_subr.c,v 1.7 1995/05/30 08:15:24 rgrimes Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/lfs/lfs_syscalls.c b/sys/ufs/lfs/lfs_syscalls.c index 09ec9bba99f37..e6c905019c895 100644 --- a/sys/ufs/lfs/lfs_syscalls.c +++ b/sys/ufs/lfs/lfs_syscalls.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_syscalls.c 8.5 (Berkeley) 4/20/94 - * $Id: lfs_syscalls.c,v 1.13 1995/11/12 06:43:17 bde Exp $ + * $Id: lfs_syscalls.c,v 1.14 1995/12/17 21:09:51 phk Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/lfs/lfs_vfsops.c b/sys/ufs/lfs/lfs_vfsops.c index c85f3c0dad81a..6dc27b210b56e 100644 --- a/sys/ufs/lfs/lfs_vfsops.c +++ b/sys/ufs/lfs/lfs_vfsops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_vfsops.c 8.7 (Berkeley) 4/16/94 - * $Id: lfs_vfsops.c,v 1.13 1995/12/17 21:09:53 phk Exp $ + * $Id: lfs_vfsops.c,v 1.14 1996/01/05 18:31:53 wollman Exp $ */ #include "opt_quota.h" diff --git a/sys/ufs/lfs/lfs_vnops.c b/sys/ufs/lfs/lfs_vnops.c index 49f6b1becda62..fd574902ab17d 100644 --- a/sys/ufs/lfs/lfs_vnops.c +++ b/sys/ufs/lfs/lfs_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_vnops.c 8.5 (Berkeley) 12/30/93 - * $Id: lfs_vnops.c,v 1.16 1995/12/07 12:47:56 davidg Exp $ + * $Id: lfs_vnops.c,v 1.17 1995/12/17 21:09:55 phk Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/mfs/mfs_extern.h b/sys/ufs/mfs/mfs_extern.h index e64a59d421080..1a1c05110ac24 100644 --- a/sys/ufs/mfs/mfs_extern.h +++ b/sys/ufs/mfs/mfs_extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mfs_extern.h 8.1 (Berkeley) 6/11/93 - * $Id: mfs_extern.h,v 1.5 1995/12/17 21:09:58 phk Exp $ + * $Id: mfs_extern.h,v 1.6 1996/05/01 02:16:10 bde Exp $ */ #ifndef _UFS_MFS_MFS_EXTERN_H_ diff --git a/sys/ufs/mfs/mfs_vfsops.c b/sys/ufs/mfs/mfs_vfsops.c index 885e20c8efe4e..cb9f9b4fda23d 100644 --- a/sys/ufs/mfs/mfs_vfsops.c +++ b/sys/ufs/mfs/mfs_vfsops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mfs_vfsops.c 8.4 (Berkeley) 4/16/94 - * $Id: mfs_vfsops.c,v 1.22.2.1 1997/03/07 09:21:36 joerg Exp $ + * $Id: mfs_vfsops.c,v 1.22.2.2 1997/03/22 16:05:06 davidg Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/mfs/mfs_vnops.c b/sys/ufs/mfs/mfs_vnops.c index d9e90173a4caf..294c98be609c3 100644 --- a/sys/ufs/mfs/mfs_vnops.c +++ b/sys/ufs/mfs/mfs_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mfs_vnops.c 8.3 (Berkeley) 9/21/93 - * $Id: mfs_vnops.c,v 1.13 1995/12/17 21:10:01 phk Exp $ + * $Id: mfs_vnops.c,v 1.14 1996/04/08 07:54:50 phk Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/mfs/mfsiom.h b/sys/ufs/mfs/mfsiom.h index 0c71c37262644..20bd9909337c7 100644 --- a/sys/ufs/mfs/mfsiom.h +++ b/sys/ufs/mfs/mfsiom.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mfsiom.h 8.1 (Berkeley) 6/11/93 - * $Id: mfsiom.h,v 1.3 1994/08/21 07:16:11 paul Exp $ + * $Id: mfsiom.h,v 1.4 1996/05/02 14:21:08 phk Exp $ */ #ifndef _UFS_MFS_MFSIOM_H_ diff --git a/sys/ufs/mfs/mfsnode.h b/sys/ufs/mfs/mfsnode.h index d53986a7e6422..06c7e6f256d07 100644 --- a/sys/ufs/mfs/mfsnode.h +++ b/sys/ufs/mfs/mfsnode.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mfsnode.h 8.2 (Berkeley) 8/11/93 - * $Id: mfsnode.h,v 1.4 1996/04/08 07:54:51 phk Exp $ + * $Id: mfsnode.h,v 1.4.2.1 1996/11/06 10:13:54 phk Exp $ */ #ifndef _UFS_MFS_MFSNODE_H_ diff --git a/sys/ufs/ufs/dinode.h b/sys/ufs/ufs/dinode.h index b91843b7a79ed..b72d18721f8b3 100644 --- a/sys/ufs/ufs/dinode.h +++ b/sys/ufs/ufs/dinode.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)dinode.h 8.3 (Berkeley) 1/21/94 - * $Id: dinode.h,v 1.2 1994/08/02 07:54:47 davidg Exp $ + * $Id: dinode.h,v 1.3 1994/08/21 07:16:13 paul Exp $ */ #ifndef _UFS_UFS_DINODE_H_ diff --git a/sys/ufs/ufs/dir.h b/sys/ufs/ufs/dir.h index 3eae47a405117..c1848118495ac 100644 --- a/sys/ufs/ufs/dir.h +++ b/sys/ufs/ufs/dir.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)dir.h 8.2 (Berkeley) 1/21/94 - * $Id: dir.h,v 1.3 1994/08/21 07:16:14 paul Exp $ + * $Id: dir.h,v 1.4 1995/08/28 09:19:15 julian Exp $ */ #ifndef _UFS_UFS_DIR_H_ diff --git a/sys/ufs/ufs/inode.h b/sys/ufs/ufs/inode.h index 75055a3cd405b..80740739401d0 100644 --- a/sys/ufs/ufs/inode.h +++ b/sys/ufs/ufs/inode.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)inode.h 8.4 (Berkeley) 1/21/94 - * $Id: inode.h,v 1.8 1996/01/30 23:02:15 mpp Exp $ + * $Id: inode.h,v 1.9 1996/09/19 18:21:30 nate Exp $ */ #ifndef _UFS_UFS_INODE_H_ diff --git a/sys/ufs/ufs/quota.h b/sys/ufs/ufs/quota.h index e703a68f9cbe3..533a40ff1e947 100644 --- a/sys/ufs/ufs/quota.h +++ b/sys/ufs/ufs/quota.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)quota.h 8.1 (Berkeley) 6/11/93 - * $Id: quota.h,v 1.5 1996/02/27 07:57:57 mpp Exp $ + * $Id: quota.h,v 1.6 1996/05/01 02:16:17 bde Exp $ */ #ifndef _UFS_UFS_QUOTA_H_ diff --git a/sys/ufs/ufs/ufs_bmap.c b/sys/ufs/ufs/ufs_bmap.c index 2b2531da06dd2..5dbec6e77b2ba 100644 --- a/sys/ufs/ufs/ufs_bmap.c +++ b/sys/ufs/ufs/ufs_bmap.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_bmap.c 8.6 (Berkeley) 1/21/94 - * $Id: ufs_bmap.c,v 1.10 1995/11/05 23:07:37 dyson Exp $ + * $Id: ufs_bmap.c,v 1.11 1996/01/19 03:59:24 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/ufs/ufs_disksubr.c b/sys/ufs/ufs/ufs_disksubr.c index c5ae8a83c3080..bf7f579c8209d 100644 --- a/sys/ufs/ufs/ufs_disksubr.c +++ b/sys/ufs/ufs/ufs_disksubr.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_disksubr.c 8.5 (Berkeley) 1/21/94 - * $Id: ufs_disksubr.c,v 1.25 1996/05/08 04:29:08 gpalmer Exp $ + * $Id: ufs_disksubr.c,v 1.26 1996/09/20 17:39:44 bde Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/ufs/ufs_extern.h b/sys/ufs/ufs/ufs_extern.h index 96afc2b4b5f72..9f7ce4fdb3882 100644 --- a/sys/ufs/ufs/ufs_extern.h +++ b/sys/ufs/ufs/ufs_extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ufs_extern.h 8.3 (Berkeley) 4/16/94 - * $Id: ufs_extern.h,v 1.9 1995/11/21 12:55:21 bde Exp $ + * $Id: ufs_extern.h,v 1.10 1995/11/28 07:23:09 bde Exp $ */ #ifndef _UFS_UFS_EXTERN_H_ diff --git a/sys/ufs/ufs/ufs_ihash.c b/sys/ufs/ufs/ufs_ihash.c index 18ac11c406223..dd61b6b3f7261 100644 --- a/sys/ufs/ufs/ufs_ihash.c +++ b/sys/ufs/ufs/ufs_ihash.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ufs_ihash.c 8.4 (Berkeley) 12/30/93 - * $Id: ufs_ihash.c,v 1.4 1994/10/08 06:57:23 phk Exp $ + * $Id: ufs_ihash.c,v 1.5 1995/04/24 05:13:13 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/ufs/ufs_inode.c b/sys/ufs/ufs/ufs_inode.c index bbf0e7f50ea68..064c8a210b72a 100644 --- a/sys/ufs/ufs/ufs_inode.c +++ b/sys/ufs/ufs/ufs_inode.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_inode.c 8.4 (Berkeley) 1/21/94 - * $Id: ufs_inode.c,v 1.7 1995/11/05 23:35:57 dyson Exp $ + * $Id: ufs_inode.c,v 1.8 1996/01/05 18:31:55 wollman Exp $ */ #include "opt_quota.h" diff --git a/sys/ufs/ufs/ufs_lookup.c b/sys/ufs/ufs/ufs_lookup.c index c0b975310348f..df237039c25bb 100644 --- a/sys/ufs/ufs/ufs_lookup.c +++ b/sys/ufs/ufs/ufs_lookup.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_lookup.c 8.6 (Berkeley) 4/1/94 - * $Id: ufs_lookup.c,v 1.8 1995/11/06 03:21:41 dyson Exp $ + * $Id: ufs_lookup.c,v 1.9 1996/09/06 05:36:29 gibbs Exp $ */ #include <sys/param.h> diff --git a/sys/ufs/ufs/ufs_quota.c b/sys/ufs/ufs/ufs_quota.c index 25a371caeddf4..2d067e6a3a4ef 100644 --- a/sys/ufs/ufs/ufs_quota.c +++ b/sys/ufs/ufs/ufs_quota.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)ufs_quota.c 8.2 (Berkeley) 12/30/93 - * $Id: ufs_quota.c,v 1.7 1996/01/05 18:31:56 wollman Exp $ + * $Id: ufs_quota.c,v 1.8 1996/07/09 16:51:17 wollman Exp $ */ #include "opt_quota.h" /* not really necessary... */ diff --git a/sys/ufs/ufs/ufs_readwrite.c b/sys/ufs/ufs/ufs_readwrite.c index 415e7c6a70e23..fa1e79492baf9 100644 --- a/sys/ufs/ufs/ufs_readwrite.c +++ b/sys/ufs/ufs/ufs_readwrite.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ufs_readwrite.c 8.7 (Berkeley) 1/21/94 - * $Id: ufs_readwrite.c,v 1.21 1996/06/25 03:00:44 davidg Exp $ + * $Id: ufs_readwrite.c,v 1.22 1996/09/03 07:09:11 davidg Exp $ */ #ifdef LFS_READWRITE diff --git a/sys/ufs/ufs/ufs_vfsops.c b/sys/ufs/ufs/ufs_vfsops.c index 41f50d422755b..8eb3cb58b7d86 100644 --- a/sys/ufs/ufs/ufs_vfsops.c +++ b/sys/ufs/ufs/ufs_vfsops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_vfsops.c 8.4 (Berkeley) 4/16/94 - * $Id: ufs_vfsops.c,v 1.4 1995/03/10 22:06:39 davidg Exp $ + * $Id: ufs_vfsops.c,v 1.5 1996/01/05 18:31:56 wollman Exp $ */ #include "opt_quota.h" diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 91d763163e2bf..867e2ade7cf22 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_vnops.c 8.10 (Berkeley) 4/1/94 - * $Id: ufs_vnops.c,v 1.41 1996/09/19 18:21:32 nate Exp $ + * $Id: ufs_vnops.c,v 1.41.2.1 1996/11/06 10:14:01 phk Exp $ */ #include "opt_quota.h" diff --git a/sys/ufs/ufs/ufsmount.h b/sys/ufs/ufs/ufsmount.h index e085b8babe599..7b718d61e38fc 100644 --- a/sys/ufs/ufs/ufsmount.h +++ b/sys/ufs/ufs/ufsmount.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ufsmount.h 8.2 (Berkeley) 1/12/94 - * $Id: ufsmount.h,v 1.3 1994/08/21 07:16:18 paul Exp $ + * $Id: ufsmount.h,v 1.4 1995/11/05 23:35:59 dyson Exp $ */ #ifndef _UFS_UFS_UFSMOUNT_H_ diff --git a/sys/vm/default_pager.c b/sys/vm/default_pager.c index ee477eb8d37b4..7e5cead266c43 100644 --- a/sys/vm/default_pager.c +++ b/sys/vm/default_pager.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: default_pager.c,v 1.8 1996/05/29 05:12:23 dyson Exp $ + * $Id: default_pager.c,v 1.9 1996/06/16 20:37:22 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/vm/default_pager.h b/sys/vm/default_pager.h index 317abcd483aec..9bc8ab3b1ee2c 100644 --- a/sys/vm/default_pager.h +++ b/sys/vm/default_pager.h @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: default_pager.h,v 1.4 1996/05/31 00:37:55 dyson Exp $ + * $Id: default_pager.h,v 1.5 1996/06/16 20:37:24 dyson Exp $ */ #ifndef _DEFAULT_PAGER_H_ diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index 514b4716a652e..04df6237533d1 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)device_pager.c 8.1 (Berkeley) 6/11/93 - * $Id: device_pager.c,v 1.22 1996/05/03 21:01:45 phk Exp $ + * $Id: device_pager.c,v 1.23 1996/05/18 03:37:30 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/vm/device_pager.h b/sys/vm/device_pager.h index ac242bd2c860e..55bb2289187b0 100644 --- a/sys/vm/device_pager.h +++ b/sys/vm/device_pager.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)device_pager.h 8.3 (Berkeley) 12/13/93 - * $Id: device_pager.h,v 1.5 1995/12/11 04:58:00 dyson Exp $ + * $Id: device_pager.h,v 1.6 1995/12/14 09:54:50 phk Exp $ */ #ifndef _DEVICE_PAGER_ diff --git a/sys/vm/kern_lock.c b/sys/vm/kern_lock.c index 2e984b0f1ff40..9ea9111dc2409 100644 --- a/sys/vm/kern_lock.c +++ b/sys/vm/kern_lock.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: kern_lock.c,v 1.9 1995/11/20 12:20:02 phk Exp $ + * $Id: kern_lock.c,v 1.10 1995/12/07 12:48:02 davidg Exp $ */ /* diff --git a/sys/vm/lock.h b/sys/vm/lock.h index 47d8b37b1c9cb..d3ea3044a49b6 100644 --- a/sys/vm/lock.h +++ b/sys/vm/lock.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: lock.h,v 1.4 1995/07/13 08:48:14 davidg Exp $ + * $Id: lock.h,v 1.5 1995/10/05 01:11:47 bde Exp $ */ /* diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h index 2144280a8d065..65300d8a0e618 100644 --- a/sys/vm/pmap.h +++ b/sys/vm/pmap.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: pmap.h,v 1.15 1996/09/08 20:44:31 dyson Exp $ + * $Id: pmap.h,v 1.16 1996/10/15 03:16:43 dyson Exp $ */ /* diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index c21217878b113..1d756f06ee90d 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -39,7 +39,7 @@ * from: Utah $Hdr: swap_pager.c 1.4 91/04/30$ * * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94 - * $Id: swap_pager.c,v 1.71 1996/09/08 20:44:33 dyson Exp $ + * $Id: swap_pager.c,v 1.72 1996/10/12 20:09:44 bde Exp $ */ /* diff --git a/sys/vm/swap_pager.h b/sys/vm/swap_pager.h index 5240eb5e6bdd8..2c5672e0ed5e8 100644 --- a/sys/vm/swap_pager.h +++ b/sys/vm/swap_pager.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)swap_pager.h 7.1 (Berkeley) 12/5/90 - * $Id: swap_pager.h,v 1.15 1996/03/03 21:11:06 dyson Exp $ + * $Id: swap_pager.h,v 1.16 1996/05/23 00:45:52 dyson Exp $ */ /* diff --git a/sys/vm/vm.h b/sys/vm/vm.h index eba8b3ee44d45..3428116c00748 100644 --- a/sys/vm/vm.h +++ b/sys/vm/vm.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vm.h 8.2 (Berkeley) 12/13/93 - * $Id: vm.h,v 1.8 1995/12/07 12:48:07 davidg Exp $ + * $Id: vm.h,v 1.9 1995/12/10 02:34:26 bde Exp $ */ #ifndef VM_H diff --git a/sys/vm/vm_extern.h b/sys/vm/vm_extern.h index 3d5a335278528..9082e9521720c 100644 --- a/sys/vm/vm_extern.h +++ b/sys/vm/vm_extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vm_extern.h 8.2 (Berkeley) 1/12/94 - * $Id: vm_extern.h,v 1.27 1996/09/15 11:24:21 bde Exp $ + * $Id: vm_extern.h,v 1.27.2.1 1997/03/25 04:54:22 dyson Exp $ */ #ifndef _VM_EXTERN_H_ diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 561b496b4ffcd..7fbc515977571 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -66,7 +66,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_fault.c,v 1.57.2.1 1996/12/15 09:57:11 davidg Exp $ + * $Id: vm_fault.c,v 1.57.2.2 1997/03/25 04:54:23 dyson Exp $ */ /* diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index 71bcb7c67c4b4..cfa25ccdf0b97 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -59,7 +59,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_glue.c,v 1.55.2.2 1997/02/13 08:17:31 bde Exp $ + * $Id: vm_glue.c,v 1.55.2.3 1997/03/25 04:54:24 dyson Exp $ */ #include "opt_rlimit.h" diff --git a/sys/vm/vm_inherit.h b/sys/vm/vm_inherit.h index 29a213bb3f471..58041c75a730a 100644 --- a/sys/vm/vm_inherit.h +++ b/sys/vm/vm_inherit.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_inherit.h,v 1.3 1995/01/09 16:05:41 davidg Exp $ + * $Id: vm_inherit.h,v 1.4 1995/07/13 08:48:23 davidg Exp $ */ /* diff --git a/sys/vm/vm_init.c b/sys/vm/vm_init.c index 89554cb35a482..17873e807fced 100644 --- a/sys/vm/vm_init.c +++ b/sys/vm/vm_init.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_init.c,v 1.11 1995/12/07 12:48:12 davidg Exp $ + * $Id: vm_init.c,v 1.12 1995/12/11 04:58:07 dyson Exp $ */ /* diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index c5096cb5c93c8..0d1dd13dfd3a0 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_kern.c,v 1.27.2.1 1997/01/17 19:28:38 davidg Exp $ + * $Id: vm_kern.c,v 1.27.2.2 1997/03/25 04:54:25 dyson Exp $ */ /* diff --git a/sys/vm/vm_kern.h b/sys/vm/vm_kern.h index e23ca590512f8..acdf5f0808ea7 100644 --- a/sys/vm/vm_kern.h +++ b/sys/vm/vm_kern.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_kern.h,v 1.8 1996/05/18 03:52:13 dyson Exp $ + * $Id: vm_kern.h,v 1.8.2.1 1997/01/17 19:28:39 davidg Exp $ */ #ifndef _VM_VM_KERN_H_ diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 2ec6926b5baf8..9ac95bff39fe1 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_map.c,v 1.57.2.3 1997/01/31 04:17:20 dyson Exp $ + * $Id: vm_map.c,v 1.57.2.4 1997/03/25 04:54:26 dyson Exp $ */ /* diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h index 5c745e7c4459a..6167db1c9318a 100644 --- a/sys/vm/vm_map.h +++ b/sys/vm/vm_map.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_map.h,v 1.15.2.1 1996/12/15 09:57:14 davidg Exp $ + * $Id: vm_map.h,v 1.15.2.2 1997/03/25 04:54:27 dyson Exp $ */ /* diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c index 54d66789c4180..4668b29588646 100644 --- a/sys/vm/vm_meter.c +++ b/sys/vm/vm_meter.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vm_meter.c 8.4 (Berkeley) 1/4/94 - * $Id: vm_meter.c,v 1.16 1996/09/08 20:44:39 dyson Exp $ + * $Id: vm_meter.c,v 1.16.2.1 1997/03/25 04:54:28 dyson Exp $ */ #include <sys/param.h> diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 6d2b9a6a65a50..d94efb02e2da5 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -38,7 +38,7 @@ * from: Utah $Hdr: vm_mmap.c 1.6 91/10/21$ * * @(#)vm_mmap.c 8.4 (Berkeley) 1/12/94 - * $Id: vm_mmap.c,v 1.53.2.1 1996/12/22 23:21:26 joerg Exp $ + * $Id: vm_mmap.c,v 1.53.2.2 1997/03/25 04:54:29 dyson Exp $ */ /* diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 133d0edcba11e..4b3e160ea377d 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_object.c,v 1.82 1996/09/28 03:33:26 dyson Exp $ + * $Id: vm_object.c,v 1.82.2.1 1997/03/25 04:54:30 dyson Exp $ */ /* diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 4a19888ab62c2..e49b80e0d6ffb 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_object.h,v 1.32 1996/10/15 18:23:38 bde Exp $ + * $Id: vm_object.h,v 1.33 1996/10/17 02:49:33 dyson Exp $ */ /* diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 0c4a001390cd0..c4a034315aa76 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)vm_page.c 7.4 (Berkeley) 5/7/91 - * $Id: vm_page.c,v 1.69.2.2 1996/11/12 09:10:16 phk Exp $ + * $Id: vm_page.c,v 1.69.2.3 1997/03/25 04:54:35 dyson Exp $ */ /* diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index cfb2b68a7341c..04a7243c76d8d 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_page.h,v 1.32 1996/09/08 20:44:46 dyson Exp $ + * $Id: vm_page.h,v 1.33 1996/10/06 22:26:13 dyson Exp $ */ /* diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index 9a0b87f9680c5..477b8633b89af 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -65,7 +65,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_pageout.c,v 1.86.2.1 1997/02/13 08:17:32 bde Exp $ + * $Id: vm_pageout.c,v 1.86.2.2 1997/03/25 04:54:36 dyson Exp $ */ /* diff --git a/sys/vm/vm_pageout.h b/sys/vm/vm_pageout.h index 469482910baa7..885c720ec2de3 100644 --- a/sys/vm/vm_pageout.h +++ b/sys/vm/vm_pageout.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_pageout.h,v 1.17 1995/11/21 12:55:26 bde Exp $ + * $Id: vm_pageout.h,v 1.17.4.1 1997/03/25 04:54:37 dyson Exp $ */ #ifndef _VM_VM_PAGEOUT_H_ diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c index de81090bd6c06..7824c425d84cc 100644 --- a/sys/vm/vm_pager.c +++ b/sys/vm/vm_pager.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_pager.c,v 1.24 1996/09/08 20:44:49 dyson Exp $ + * $Id: vm_pager.c,v 1.24.2.1 1996/12/15 09:57:15 davidg Exp $ */ /* diff --git a/sys/vm/vm_pager.h b/sys/vm/vm_pager.h index acd41662a39e6..976877cb6e42b 100644 --- a/sys/vm/vm_pager.h +++ b/sys/vm/vm_pager.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vm_pager.h 8.4 (Berkeley) 1/12/94 - * $Id: vm_pager.h,v 1.10 1995/11/20 12:19:16 phk Exp $ + * $Id: vm_pager.h,v 1.11 1995/12/11 04:58:31 dyson Exp $ */ /* diff --git a/sys/vm/vm_param.h b/sys/vm/vm_param.h index 118ea665b80fc..03eeb9fda64f5 100644 --- a/sys/vm/vm_param.h +++ b/sys/vm/vm_param.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_param.h,v 1.5 1995/12/10 02:34:29 bde Exp $ + * $Id: vm_param.h,v 1.6 1996/06/26 05:39:27 dyson Exp $ */ /* diff --git a/sys/vm/vm_prot.h b/sys/vm/vm_prot.h index c6d55d568a0ba..fbea014c6a88f 100644 --- a/sys/vm/vm_prot.h +++ b/sys/vm/vm_prot.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_prot.h,v 1.4 1995/01/09 16:05:57 davidg Exp $ + * $Id: vm_prot.h,v 1.5 1995/12/07 12:48:27 davidg Exp $ */ /* diff --git a/sys/vm/vm_swap.c b/sys/vm/vm_swap.c index 1bc3e90922f87..071a848de2721 100644 --- a/sys/vm/vm_swap.c +++ b/sys/vm/vm_swap.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vm_swap.c 8.5 (Berkeley) 2/17/94 - * $Id: vm_swap.c,v 1.39 1996/07/12 04:12:25 bde Exp $ + * $Id: vm_swap.c,v 1.40 1996/10/27 22:31:00 phk Exp $ */ #include <sys/param.h> diff --git a/sys/vm/vm_unix.c b/sys/vm/vm_unix.c index 1f7f77f91c1f0..a18c1f18da634 100644 --- a/sys/vm/vm_unix.c +++ b/sys/vm/vm_unix.c @@ -38,7 +38,7 @@ * from: Utah $Hdr: vm_unix.c 1.1 89/11/07$ * * @(#)vm_unix.c 8.1 (Berkeley) 6/11/93 - * $Id: vm_unix.c,v 1.10 1996/01/19 04:00:27 dyson Exp $ + * $Id: vm_unix.c,v 1.11 1996/06/25 00:36:46 dyson Exp $ */ /* diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index 3badd6ee8e3b4..c2dcc776bd69d 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -38,7 +38,7 @@ * SUCH DAMAGE. * * from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91 - * $Id: vnode_pager.c,v 1.65 1996/10/17 02:49:35 dyson Exp $ + * $Id: vnode_pager.c,v 1.65.2.1 1997/03/25 04:54:38 dyson Exp $ */ /* diff --git a/sys/vm/vnode_pager.h b/sys/vm/vnode_pager.h index d0834b93c9824..ea480911cbd77 100644 --- a/sys/vm/vnode_pager.h +++ b/sys/vm/vnode_pager.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vnode_pager.h 8.1 (Berkeley) 6/11/93 - * $Id: vnode_pager.h,v 1.7 1995/12/11 04:58:34 dyson Exp $ + * $Id: vnode_pager.h,v 1.8 1995/12/14 09:55:16 phk Exp $ */ #ifndef _VNODE_PAGER_ diff --git a/tools/LibraryReport/LibraryReport.tcl b/tools/LibraryReport/LibraryReport.tcl index 37b4379bf6c77..75309ad534e8a 100755 --- a/tools/LibraryReport/LibraryReport.tcl +++ b/tools/LibraryReport/LibraryReport.tcl @@ -50,7 +50,7 @@ exec tclsh $0 $* # ################################################################################ # -# $Id$ +# $Id: LibraryReport.tcl,v 1.4 1997/02/22 14:08:05 peter Exp $ # ######################################################################################### diff --git a/tools/test/devrandom/hammer.random b/tools/test/devrandom/hammer.random index a619816f2db5e..a3d439471ee82 100644 --- a/tools/test/devrandom/hammer.random +++ b/tools/test/devrandom/hammer.random @@ -5,7 +5,7 @@ # Read and display random numbers. # Try tapping shift/alt/ctrl to get more randomness. # -# $Id$ +# $Id: hammer.random,v 1.1 1995/11/04 09:50:41 markm Exp $ # for (;;) { diff --git a/tools/test/devrandom/hammer.urandom b/tools/test/devrandom/hammer.urandom index 4e434fae54764..80a47fc23d4aa 100644 --- a/tools/test/devrandom/hammer.urandom +++ b/tools/test/devrandom/hammer.urandom @@ -5,7 +5,7 @@ # Read and display random numbers. # This also reads /dev/zero to make sure there is no brokenness there. # -# $Id$ +# $Id: hammer.urandom,v 1.1 1995/11/04 09:50:43 markm Exp $ # open(ZERO, "/dev/zero") || die "Cannot open /dev/zero - $!\n"; diff --git a/tools/test/devrandom/stat.16bit b/tools/test/devrandom/stat.16bit index 83398d5d273a0..ca78c1173d7e6 100644 --- a/tools/test/devrandom/stat.16bit +++ b/tools/test/devrandom/stat.16bit @@ -8,7 +8,7 @@ # Redirect the output from this to a file - and go to the movies while # it runs. This program is a CPU Hog! # -# $Id$ +# $Id: stat.16bit,v 1.1 1995/11/04 09:50:45 markm Exp $ # for ($i = 0; $i < (1024*64); $i++) { diff --git a/tools/test/devrandom/stat.8bit b/tools/test/devrandom/stat.8bit index 5c304cb2e68ef..9eae04a2cd59e 100644 --- a/tools/test/devrandom/stat.8bit +++ b/tools/test/devrandom/stat.8bit @@ -8,7 +8,7 @@ # Redirect the output from this to a file - and make a cup of coffee while # it runs. This program is a CPU Hog! # -# $Id$ +# $Id: stat.8bit,v 1.1 1995/11/04 09:50:48 markm Exp $ # for ($i = 0; $i < (1024*32); $i++) { diff --git a/tools/tools/epfe/epfe.pl b/tools/tools/epfe/epfe.pl index 4afd824d47914..34a6165d02445 100644 --- a/tools/tools/epfe/epfe.pl +++ b/tools/tools/epfe/epfe.pl @@ -7,7 +7,7 @@ # $ cd /usr/share/examples/printing # $ epfe < ../../doc/handbook/printing.sgml # -# $Id$ +# $Id: epfe.pl,v 1.3 1997/02/22 14:08:19 peter Exp $ $in = 0; @a = (); sub Print { s/\&\;/&/g; push(@a,$_); } diff --git a/tools/tools/ifinfo/Makefile b/tools/tools/ifinfo/Makefile index 740a553e275b2..88bea07919b80 100644 --- a/tools/tools/ifinfo/Makefile +++ b/tools/tools/ifinfo/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/10/11 15:56:35 wollman Exp $ PROG= ifinfo SRCS= ifinfo.c rfc1650.c diff --git a/tools/tools/ifinfo/ifinfo.c b/tools/tools/ifinfo/ifinfo.c index 14023fa558a4d..b872b9c6e048f 100644 --- a/tools/tools/ifinfo/ifinfo.c +++ b/tools/tools/ifinfo/ifinfo.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: ifinfo.c,v 1.1 1996/10/11 15:56:36 wollman Exp $ */ #include <sys/types.h> #include <sys/socket.h> /* for PF_LINK */ diff --git a/tools/tools/ifinfo/ifinfo.h b/tools/tools/ifinfo/ifinfo.h index 24bd4761a2a89..483d72ac3c37c 100644 --- a/tools/tools/ifinfo/ifinfo.h +++ b/tools/tools/ifinfo/ifinfo.h @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: ifinfo.h,v 1.1 1996/10/11 15:56:38 wollman Exp $ */ #ifndef ifinfo_h #define ifinfo_h 1 diff --git a/tools/tools/kdrv/KernelDriver b/tools/tools/kdrv/KernelDriver index 06fc76be31a22..794afd293afe6 100755 --- a/tools/tools/kdrv/KernelDriver +++ b/tools/tools/kdrv/KernelDriver @@ -68,7 +68,7 @@ exec tclsh $0 $* # ################################################################################ # -# $Id: KernelDriver,v 1.3 1997/01/21 08:23:31 msmith Exp $ +# $Id: KernelDriver,v 1.1.1.1 1997/01/21 08:34:14 msmith Exp $ # ################################################################################ diff --git a/tools/tools/kdrv/sample.drvinfo b/tools/tools/kdrv/sample.drvinfo index e79d31febe53d..1220c5b2da91e 100644 --- a/tools/tools/kdrv/sample.drvinfo +++ b/tools/tools/kdrv/sample.drvinfo @@ -2,7 +2,7 @@ # Sample driver information file for KernelDriver. See the top of # the KernelDriver script for a more exact definition of the syntax. # -# $Id: sample.drvinfo,v 1.1 1997/01/21 08:23:32 msmith Exp $ +# $Id: sample.drvinfo,v 1.1.1.1 1997/01/21 08:34:14 msmith Exp $ # Device driver name # diff --git a/tools/tools/kernxref/kernxref.sh b/tools/tools/kernxref/kernxref.sh index c7e08b6b7a672..401bd80cb27a5 100644 --- a/tools/tools/kernxref/kernxref.sh +++ b/tools/tools/kernxref/kernxref.sh @@ -7,7 +7,7 @@ # this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp # ---------------------------------------------------------------------------- # -# $Id: kernxref.sh,v 1.5 1995/12/15 23:54:27 bde Exp $ +# $Id: kernxref.sh,v 1.6 1995/12/29 01:51:23 bde Exp $ # # This shellscript will make a cross reference of the symbols of the LINT # kernel. diff --git a/tools/tools/scsi-defects/scsi-defects.pl b/tools/tools/scsi-defects/scsi-defects.pl index 5f48ec01c5a56..e7cf9fdeae46e 100755 --- a/tools/tools/scsi-defects/scsi-defects.pl +++ b/tools/tools/scsi-defects/scsi-defects.pl @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id$ +# $Id: scsi-defects.pl,v 1.2 1997/02/22 14:08:36 peter Exp $ # # diff --git a/tools/tools/tcl_bmake/mkMakefile.sh b/tools/tools/tcl_bmake/mkMakefile.sh index 5c4854d0796ad..8054c8786b902 100644 --- a/tools/tools/tcl_bmake/mkMakefile.sh +++ b/tools/tools/tcl_bmake/mkMakefile.sh @@ -1,5 +1,5 @@ #! /bin/sh -# $Id: mkMakefile.sh,v 1.16 1996/10/31 15:57:25 peter Exp $ +# $Id: mkMakefile.sh,v 1.16.2.1 1996/12/22 15:17:59 joerg Exp $ # # This script generates a bmake Makefile for src/lib/libtcl # @@ -45,7 +45,7 @@ echo '# # Please change src/tools/tools/tcl_bmake/mkMakefile.sh instead # # Generated by src/tools/tools/tcl_bmake/mkMakefile.sh version: -# $Id: mkMakefile.sh,v 1.16 1996/10/31 15:57:25 peter Exp $ +# $Id: mkMakefile.sh,v 1.16.2.1 1996/12/22 15:17:59 joerg Exp $ # ' | tr -d '$' >> ${LIBTCL}Makefile diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 10459bad3770b..d4c86f5185542 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.3 (Berkeley) 1/7/94 -# $Id: Makefile,v 1.73.2.1 1996/11/13 20:25:46 phk Exp $ +# $Id: Makefile,v 1.73.2.2 1997/01/08 23:35:09 jdp Exp $ # XXX MISSING: deroff diction graph learn plot # spell spline struct units xsend diff --git a/usr.bin/ar/ar.1 b/usr.bin/ar/ar.1 index 4edd02e412648..64db232520e86 100644 --- a/usr.bin/ar/ar.1 +++ b/usr.bin/ar/ar.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ar.1 8.1 (Berkeley) 6/29/93 -.\" $Id$ +.\" $Id: ar.1,v 1.2 1996/08/29 18:05:38 wosch Exp $ .\" .TH AR 1 "June 29, 1993" .AT 3 diff --git a/usr.bin/at/Makefile b/usr.bin/at/Makefile index 2a4ba4f0de4c3..dfebd20750c65 100644 --- a/usr.bin/at/Makefile +++ b/usr.bin/at/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/02/06 23:47:32 wosch Exp $ +# $Id: Makefile,v 1.4 1996/02/25 20:25:05 bde Exp $ .include "${.CURDIR}/Makefile.inc" diff --git a/usr.bin/at/at.c b/usr.bin/at/at.c index 80158bbc63cba..21d82f407f734 100644 --- a/usr.bin/at/at.c +++ b/usr.bin/at/at.c @@ -84,7 +84,7 @@ enum { ATQ, ATRM, AT, BATCH, CAT }; /* what program we want to run */ /* File scope variables */ -static char rcsid[] = "$Id: at.c,v 1.6 1995/08/21 12:32:45 ache Exp $"; +static char rcsid[] = "$Id: at.c,v 1.7 1995/10/24 05:09:54 ache Exp $"; char *no_export[] = { "TERM", "TERMCAP", "DISPLAY", "_" diff --git a/usr.bin/at/at.man b/usr.bin/at/at.man index 8edd8c91939f6..d6abf2b96921d 100644 --- a/usr.bin/at/at.man +++ b/usr.bin/at/at.man @@ -1,4 +1,4 @@ -.\" $Id: at.man,v 1.3 1995/08/21 12:32:47 ache Exp $ +.\" $Id: at.man,v 1.4 1995/10/05 06:18:48 joerg Exp $ .Dd April 12, 1995 .Dt "AT" 1 .Os "FreeBSD 2.1" diff --git a/usr.bin/at/panic.c b/usr.bin/at/panic.c index c171b5de399ea..dd9bea46a42c0 100644 --- a/usr.bin/at/panic.c +++ b/usr.bin/at/panic.c @@ -37,7 +37,7 @@ /* File scope variables */ -static char rcsid[] = "$Id: panic.c,v 1.1 1995/05/24 15:07:32 ig25 Exp $"; +static char rcsid[] = "$Id: panic.c,v 1.4 1995/08/21 12:32:47 ache Exp $"; /* External variables */ diff --git a/usr.bin/at/parsetime.c b/usr.bin/at/parsetime.c index 50c7137803d85..27f7a52f591fb 100644 --- a/usr.bin/at/parsetime.c +++ b/usr.bin/at/parsetime.c @@ -130,7 +130,7 @@ static size_t sc_len; /* scanner - lenght of token buffer */ static int sc_tokid; /* scanner - token id */ static int sc_tokplur; /* scanner - is token plural? */ -static char rcsid[] = "$Id: parsetime.c,v 1.6 1995/08/21 12:32:50 ache Exp $"; +static char rcsid[] = "$Id: parsetime.c,v 1.7 1996/07/19 00:44:55 jdp Exp $"; /* Local functions */ diff --git a/usr.bin/at/perm.c b/usr.bin/at/perm.c index 7577ac0d8f55f..0da4def85f0bc 100644 --- a/usr.bin/at/perm.c +++ b/usr.bin/at/perm.c @@ -48,7 +48,7 @@ /* File scope variables */ -static char rcsid[] = "$Id: perm.c,v 1.1 1995/05/24 15:07:32 ig25 Exp $"; +static char rcsid[] = "$Id: perm.c,v 1.3 1995/08/21 12:32:51 ache Exp $"; /* Function declarations */ diff --git a/usr.bin/basename/basename.1 b/usr.bin/basename/basename.1 index 796bb6b239167..fe4bc902951d9 100644 --- a/usr.bin/basename/basename.1 +++ b/usr.bin/basename/basename.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)basename.1 8.2 (Berkeley) 4/18/94 -.\" $Id$ +.\" $Id: basename.1,v 1.2 1996/09/23 22:24:09 wosch Exp $ .\" .Dd April 18, 1994 .Dt BASENAME 1 diff --git a/usr.bin/biff/biff.1 b/usr.bin/biff/biff.1 index c850bf6063671..2b705fc00ceae 100644 --- a/usr.bin/biff/biff.1 +++ b/usr.bin/biff/biff.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)biff.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: biff.1,v 1.2 1996/08/03 14:25:02 wosch Exp $ .\" .Dd June 6, 1993 .Dt BIFF 1 diff --git a/usr.bin/brandelf/brandelf.c b/usr.bin/brandelf/brandelf.c index b170c3ea4c271..326f8309d6dc9 100644 --- a/usr.bin/brandelf/brandelf.c +++ b/usr.bin/brandelf/brandelf.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: brandelf.c,v 1.1 1996/10/16 18:16:22 sos Exp $ + * $Id: brandelf.c,v 1.1.2.1 1997/02/09 20:38:03 joerg Exp $ */ #include <stdlib.h> diff --git a/usr.bin/calendar/calendars/calendar.all b/usr.bin/calendar/calendars/calendar.all index 085b6b55c5ae4..b3960c2ecdf94 100644 --- a/usr.bin/calendar/calendars/calendar.all +++ b/usr.bin/calendar/calendars/calendar.all @@ -1,7 +1,7 @@ /* * International and national calendar files * - * $Id: calendar.all,v 1.5 1997/02/22 19:28:16 peter Exp $ + * $Id: calendar.all,v 1.3.4.1 1997/02/25 01:57:37 mpp Exp $ */ #ifndef _calendar_all_ diff --git a/usr.bin/calendar/calendars/calendar.birthday b/usr.bin/calendar/calendars/calendar.birthday index a1b6702a48d83..516489e9cb8e4 100644 --- a/usr.bin/calendar/calendars/calendar.birthday +++ b/usr.bin/calendar/calendars/calendar.birthday @@ -1,7 +1,7 @@ /* * Birthday * - * $Id: calendar.birthday,v 1.6 1997/02/25 01:20:23 mpp Exp $ + * $Id: calendar.birthday,v 1.2.2.1 1997/02/25 01:57:38 mpp Exp $ */ #ifndef _calendar_birthday_ diff --git a/usr.bin/calendar/calendars/calendar.christian b/usr.bin/calendar/calendars/calendar.christian index b8adc24534842..fa1f7d7e07c3e 100644 --- a/usr.bin/calendar/calendars/calendar.christian +++ b/usr.bin/calendar/calendars/calendar.christian @@ -1,7 +1,7 @@ /* * Christian * - * $Id: calendar.christian,v 1.7 1997/02/22 19:28:19 peter Exp $ + * $Id: calendar.christian,v 1.4.2.1 1997/02/25 01:57:39 mpp Exp $ */ #ifndef _calendar_christian_ diff --git a/usr.bin/calendar/calendars/calendar.computer b/usr.bin/calendar/calendars/calendar.computer index a490e84e4ce61..d05dd2b09c478 100644 --- a/usr.bin/calendar/calendars/calendar.computer +++ b/usr.bin/calendar/calendars/calendar.computer @@ -1,7 +1,7 @@ /* * Computer * - * $Id: calendar.computer,v 1.4 1997/02/22 19:28:19 peter Exp $ + * $Id: calendar.computer,v 1.2.2.1 1997/02/25 01:57:39 mpp Exp $ */ #ifndef _calendar_computer_ diff --git a/usr.bin/calendar/calendars/calendar.croatian b/usr.bin/calendar/calendars/calendar.croatian index b15dde5b2f76d..e77e4e3d2a4b2 100644 --- a/usr.bin/calendar/calendars/calendar.croatian +++ b/usr.bin/calendar/calendars/calendar.croatian @@ -1,7 +1,7 @@ /* * Croatian calendar files * - * $Id: calendar.croatian,v 1.3 1997/02/22 19:28:20 peter Exp $ + * $Id: calendar.croatian,v 1.1.4.1 1997/02/25 01:57:40 mpp Exp $ */ #ifndef _calendar_croatian_ diff --git a/usr.bin/calendar/calendars/calendar.german b/usr.bin/calendar/calendars/calendar.german index 9b7f31b1b634f..5812209afb591 100644 --- a/usr.bin/calendar/calendars/calendar.german +++ b/usr.bin/calendar/calendars/calendar.german @@ -1,7 +1,7 @@ /* * German calendar file(s) * - * $Id: calendar.german,v 1.4 1997/02/22 19:28:20 peter Exp $ + * $Id: calendar.german,v 1.2.4.1 1997/02/25 01:57:40 mpp Exp $ */ #ifndef _calendar_german_ diff --git a/usr.bin/calendar/calendars/calendar.history b/usr.bin/calendar/calendars/calendar.history index 4701a9b640fd7..3ceda9a6ab242 100644 --- a/usr.bin/calendar/calendars/calendar.history +++ b/usr.bin/calendar/calendars/calendar.history @@ -1,7 +1,7 @@ /* * History * - * $Id: calendar.history,v 1.7 1997/02/25 01:20:25 mpp Exp $ + * $Id: calendar.history,v 1.3.2.2 1997/02/25 01:57:41 mpp Exp $ */ #ifndef _calendar_history_ diff --git a/usr.bin/calendar/calendars/calendar.holiday b/usr.bin/calendar/calendars/calendar.holiday index 1a45fc1d3c985..852fd0bbc6832 100644 --- a/usr.bin/calendar/calendars/calendar.holiday +++ b/usr.bin/calendar/calendars/calendar.holiday @@ -1,7 +1,7 @@ /* * Holiday * - * $Id: calendar.holiday,v 1.7 1997/02/25 01:20:26 mpp Exp $ + * $Id: calendar.holiday,v 1.4.2.1 1997/02/25 01:57:42 mpp Exp $ */ #ifndef _calendar_holiday_ diff --git a/usr.bin/calendar/calendars/calendar.judaic b/usr.bin/calendar/calendars/calendar.judaic index cdc119911962b..048daaa27b363 100644 --- a/usr.bin/calendar/calendars/calendar.judaic +++ b/usr.bin/calendar/calendars/calendar.judaic @@ -1,7 +1,7 @@ /* * Judaic * - * $Id: calendar.judaic,v 1.4 1997/02/22 19:28:22 peter Exp $ + * $Id: calendar.judaic,v 1.2.2.1 1997/02/25 01:57:43 mpp Exp $ */ #ifndef _calendar_judaic_ diff --git a/usr.bin/calendar/calendars/calendar.music b/usr.bin/calendar/calendars/calendar.music index 46e4ea5038de3..324342917e76f 100644 --- a/usr.bin/calendar/calendars/calendar.music +++ b/usr.bin/calendar/calendars/calendar.music @@ -1,7 +1,7 @@ /* * Music * - * $Id: calendar.music,v 1.7 1997/02/25 01:20:28 mpp Exp $ + * $Id: calendar.music,v 1.4.2.1 1997/02/25 01:57:44 mpp Exp $ */ #ifndef _calendar_music_ diff --git a/usr.bin/calendar/calendars/calendar.russian b/usr.bin/calendar/calendars/calendar.russian index bbb57f3590280..a0874b861c470 100644 --- a/usr.bin/calendar/calendars/calendar.russian +++ b/usr.bin/calendar/calendars/calendar.russian @@ -1,7 +1,7 @@ /* * Russian calendar files * - * $Id: calendar.russian,v 1.3 1997/02/22 19:28:23 peter Exp $ + * $Id: calendar.russian,v 1.1.4.1 1997/02/25 01:57:44 mpp Exp $ */ #ifndef _calendar_russian_ diff --git a/usr.bin/calendar/calendars/calendar.usholiday b/usr.bin/calendar/calendars/calendar.usholiday index ceb20208f29d0..eae4a76ebf0f4 100644 --- a/usr.bin/calendar/calendars/calendar.usholiday +++ b/usr.bin/calendar/calendars/calendar.usholiday @@ -1,7 +1,7 @@ /* * USA holiday * - * $Id: calendar.usholiday,v 1.6 1997/02/22 19:28:24 peter Exp $ + * $Id: calendar.usholiday,v 1.4.2.1 1997/02/25 01:57:45 mpp Exp $ */ #ifndef _calendar_usholiday_ diff --git a/usr.bin/calendar/calendars/calendar.world b/usr.bin/calendar/calendars/calendar.world index 31637d4bc1352..51996574d1926 100644 --- a/usr.bin/calendar/calendars/calendar.world +++ b/usr.bin/calendar/calendars/calendar.world @@ -1,7 +1,7 @@ /* * World wide calendar files, except national calendars * - * $Id: calendar.world,v 1.3 1997/02/22 19:28:25 peter Exp $ + * $Id: calendar.world,v 1.1.4.1 1997/02/25 01:57:46 mpp Exp $ */ #ifndef _calendar_world_ diff --git a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.all b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.all index 96474e5e2f51c..7ef8995013935 100644 --- a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.all +++ b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.all @@ -1,7 +1,7 @@ /* * deutscher Kalender * - * $Id: calendar.all,v 1.4 1997/02/22 19:28:29 peter Exp $ + * $Id: calendar.all,v 1.2.4.1 1997/02/25 01:58:01 mpp Exp $ */ #ifndef _de_DE_ISO_8859_1_all_ diff --git a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.feiertag b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.feiertag index 919d92458d488..e1a098f99812a 100644 --- a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.feiertag +++ b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.feiertag @@ -1,7 +1,7 @@ /* * Feiertage * - * $Id: calendar.feiertag,v 1.5 1997/02/22 19:28:29 peter Exp $ + * $Id: calendar.feiertag,v 1.3.4.1 1997/02/25 01:58:02 mpp Exp $ */ #ifndef _de_DE_ISO_8859_1_feiertag_ diff --git a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.geschichte b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.geschichte index 6c74fc1e70302..7219801b618e4 100644 --- a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.geschichte +++ b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.geschichte @@ -13,7 +13,7 @@ * * ISBN 3-924521-59-X * - * $Id: calendar.geschichte,v 1.5 1997/02/22 19:28:30 peter Exp $ + * $Id: calendar.geschichte,v 1.3.4.1 1997/02/25 01:58:03 mpp Exp $ */ #ifndef _de_DE_ISO_8859_1_geschichte_ diff --git a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.kirche b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.kirche index 0e25ffdcd90ae..8b0c6034f3d68 100644 --- a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.kirche +++ b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.kirche @@ -1,7 +1,7 @@ /* * Kirche in Deutschland * - * $Id: calendar.kirche,v 1.5 1997/02/22 19:28:30 peter Exp $ + * $Id: calendar.kirche,v 1.3.4.1 1997/02/25 01:58:03 mpp Exp $ */ #ifndef _de_DE_ISO_8859_1_kirche_ diff --git a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.literatur b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.literatur index cfc1439a43358..82d30ea3f8bf6 100644 --- a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.literatur +++ b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.literatur @@ -1,7 +1,7 @@ /* * Literatur * - * $Id: calendar.literatur,v 1.5 1997/02/22 19:28:30 peter Exp $ + * $Id: calendar.literatur,v 1.3.4.1 1997/02/25 01:58:04 mpp Exp $ */ #ifndef _de_DE_ISO_8859_1_literatur_ diff --git a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.musik b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.musik index 4aefa1cefa827..435b461dfd685 100644 --- a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.musik +++ b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.musik @@ -1,7 +1,7 @@ /* * Musik * - * $Id: calendar.musik,v 1.5 1997/02/22 19:28:31 peter Exp $ + * $Id: calendar.musik,v 1.3.4.1 1997/02/25 01:58:04 mpp Exp $ */ #ifndef _de_DE_ISO_8859_1_musik_ diff --git a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.wissenschaft b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.wissenschaft index 6b1d328d2e11e..0b220b9478f2d 100644 --- a/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.wissenschaft +++ b/usr.bin/calendar/calendars/de_DE.ISO_8859-1/calendar.wissenschaft @@ -1,7 +1,7 @@ /* * Wissenschaft * - * $Id: calendar.wissenschaft,v 1.5 1997/02/22 19:28:31 peter Exp $ + * $Id: calendar.wissenschaft,v 1.3.4.1 1997/02/25 01:58:05 mpp Exp $ */ #ifndef _de_DE_ISO_8859_1_wissenschaft_ diff --git a/usr.bin/calendar/calendars/hr_HR.ISO_8859-2/calendar.all b/usr.bin/calendar/calendars/hr_HR.ISO_8859-2/calendar.all index ba0e671c35004..8a57807d4d723 100644 --- a/usr.bin/calendar/calendars/hr_HR.ISO_8859-2/calendar.all +++ b/usr.bin/calendar/calendars/hr_HR.ISO_8859-2/calendar.all @@ -1,7 +1,7 @@ /* * hrvatski calendar * - * $Id: calendar.all,v 1.3 1997/02/22 19:28:33 peter Exp $ + * $Id: calendar.all,v 1.1.4.1 1997/02/25 01:58:07 mpp Exp $ */ #ifndef _hr_HR_ISO_8859_2_all diff --git a/usr.bin/calendar/calendars/hr_HR.ISO_8859-2/calendar.praznici b/usr.bin/calendar/calendars/hr_HR.ISO_8859-2/calendar.praznici index 54a4bd889d426..ca7f640d7f9f1 100644 --- a/usr.bin/calendar/calendars/hr_HR.ISO_8859-2/calendar.praznici +++ b/usr.bin/calendar/calendars/hr_HR.ISO_8859-2/calendar.praznici @@ -1,7 +1,7 @@ /* * hrvatski praznici * - * $Id: calendar.praznici,v 1.4 1997/02/22 19:28:33 peter Exp $ + * $Id: calendar.praznici,v 1.2.4.1 1997/02/25 01:58:07 mpp Exp $ */ #ifndef _hr_HR_ISO_8859_2_praznici diff --git a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.all b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.all index 3fbfe6230dedf..0da5e11d43adf 100644 --- a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.all +++ b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.all @@ -1,7 +1,7 @@ /* * òÕÓÓËÉÊ ËÁÌÅÎÄÁÒØ * - * $Id: calendar.all,v 1.3 1997/02/22 19:28:34 peter Exp $ + * $Id: calendar.all,v 1.1.4.1 1997/02/25 01:58:09 mpp Exp $ */ #ifndef _ru_SU_KOI8_R_all diff --git a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.common b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.common index 751addefa3d93..521c47afb448d 100644 --- a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.common +++ b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.common @@ -1,7 +1,7 @@ /* * òÕÓÓËÉÅ ÐÒÁÚÄÎÉËÉ * - * $Id: calendar.common,v 1.5 1997/02/24 22:52:52 ache Exp $ + * $Id: calendar.common,v 1.2.2.1 1997/02/25 01:58:09 mpp Exp $ */ #ifndef _ru_SU_KOI8_R_common_ diff --git a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.msk b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.msk index 2ff1e5dbf6320..1778a0de926b5 100644 --- a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.msk +++ b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.msk @@ -1,7 +1,7 @@ /* * ðÅÒÅ×ÏÄ ÞÁÓÏ× ÄÌÑ ÍÏÓËÏ×ÓËÏÊ ×ÒÅÍÅÎÎÏÊ ÚÏÎÙ * - * $Id: calendar.msk,v 1.4 1997/02/22 19:28:35 peter Exp $ + * $Id: calendar.msk,v 1.2.2.1 1997/02/25 01:58:10 mpp Exp $ */ #ifndef _ru_SU_KOI8_R_msk_ diff --git a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.orthodox b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.orthodox index 078ac8fa354a2..d7da2e234d439 100644 --- a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.orthodox +++ b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.orthodox @@ -1,7 +1,7 @@ /* * ðÒÁ×ÏÓÌÁ×ÎÙÅ ÐÒÁÚÄÎÉËÉ * - * $Id: calendar.orthodox,v 1.3 1997/02/22 19:28:36 peter Exp $ + * $Id: calendar.orthodox,v 1.1.4.1 1997/02/25 01:58:10 mpp Exp $ */ #ifndef _ru_SU_KOI8_R_orthodox_ diff --git a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.pagan b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.pagan index 667d3b1b1cef3..92fb7161d5263 100644 --- a/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.pagan +++ b/usr.bin/calendar/calendars/ru_SU.KOI8-R/calendar.pagan @@ -1,7 +1,7 @@ /* * ñÚÙÞÅÓËÉÅ ÐÒÁÚÄÎÉËÉ * - * $Id: calendar.pagan,v 1.3 1997/02/22 19:28:36 peter Exp $ + * $Id: calendar.pagan,v 1.1.4.1 1997/02/25 01:58:11 mpp Exp $ */ #ifndef _ru_SU_KOI8_R_pagan_ diff --git a/usr.bin/calendar/ostern.c b/usr.bin/calendar/ostern.c index 599d2c6a6fba2..eaf9499da025b 100644 --- a/usr.bin/calendar/ostern.c +++ b/usr.bin/calendar/ostern.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ostern.c,v 1.4 1996/05/11 20:44:20 ache Exp $ + * $Id: ostern.c,v 1.5 1996/08/27 20:04:15 wosch Exp $ */ #include <stdio.h> diff --git a/usr.bin/cap_mkdb/cap_mkdb.1 b/usr.bin/cap_mkdb/cap_mkdb.1 index a98e25a4ed881..f06413c9d422b 100644 --- a/usr.bin/cap_mkdb/cap_mkdb.1 +++ b/usr.bin/cap_mkdb/cap_mkdb.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)cap_mkdb.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: cap_mkdb.1,v 1.2 1996/10/05 22:27:07 wosch Exp $ .\" .Dd "June 6, 1993" .Dt CAP_MKDB 1 diff --git a/usr.bin/chat/Makefile b/usr.bin/chat/Makefile index 4f4b6449a220a..eeedb33ae2562 100644 --- a/usr.bin/chat/Makefile +++ b/usr.bin/chat/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.2 1995/10/31 23:07:13 peter Exp $ +# $Id: Makefile,v 1.2 1995/10/31 23:28:20 peter Exp $ PROG= chat SRCS= chat.c diff --git a/usr.bin/chat/chat.8 b/usr.bin/chat/chat.8 index a09da659e0649..53195f2edb0f4 100644 --- a/usr.bin/chat/chat.8 +++ b/usr.bin/chat/chat.8 @@ -1,6 +1,6 @@ .\" -*- nroff -*- .\" manual page [] for chat 1.8 -.\" $Id: chat.8,v 1.8 1997/02/22 19:54:22 peter Exp $ +.\" $Id: chat.8,v 1.4.2.1 1997/03/06 07:44:12 mpp Exp $ .\" SH section heading .\" SS subsection heading .\" LP paragraph diff --git a/usr.bin/chat/chat.c b/usr.bin/chat/chat.c index ab2546b871b44..702f746d54b21 100644 --- a/usr.bin/chat/chat.c +++ b/usr.bin/chat/chat.c @@ -31,7 +31,7 @@ * */ -static char rcsid[] = "$Id: chat.c,v 1.1.1.1 1994/11/12 05:25:32 lars Exp $"; +static char rcsid[] = "$Id: chat.c,v 1.4 1995/10/31 23:28:29 peter Exp $"; #include <stdio.h> #include <time.h> diff --git a/usr.bin/chpass/chpass.c b/usr.bin/chpass/chpass.c index 2c5e79d22e9e5..4cb68a1a881b2 100644 --- a/usr.bin/chpass/chpass.c +++ b/usr.bin/chpass/chpass.c @@ -40,7 +40,7 @@ static char copyright[] = #ifndef lint static char sccsid[] = "From: @(#)chpass.c 8.4 (Berkeley) 4/2/94"; static char rcsid[] = - "$Id: chpass.c,v 1.10 1996/07/14 16:42:33 guido Exp $"; + "$Id: chpass.c,v 1.11 1996/08/12 14:45:22 peter Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.bin/chpass/pw_yp.c b/usr.bin/chpass/pw_yp.c index a02327de7a512..01257a97980a6 100644 --- a/usr.bin/chpass/pw_yp.c +++ b/usr.bin/chpass/pw_yp.c @@ -35,7 +35,7 @@ * Center for Telecommunications Research * Columbia University, New York City * - * $Id: pw_yp.c,v 1.5 1996/05/07 21:05:12 wpaul Exp $ + * $Id: pw_yp.c,v 1.7 1996/10/23 14:43:36 wpaul Exp $ */ #ifdef YP diff --git a/usr.bin/chpass/pw_yp.h b/usr.bin/chpass/pw_yp.h index 2bda1ec1a3da3..686305e09e257 100644 --- a/usr.bin/chpass/pw_yp.h +++ b/usr.bin/chpass/pw_yp.h @@ -35,7 +35,7 @@ * Center for Telecommunications Research * Columbia University, New York City * - * $Id: pw_yp.h,v 1.3 1996/02/23 16:08:59 wpaul Exp $ + * $Id: pw_yp.h,v 1.4 1996/10/23 14:43:39 wpaul Exp $ */ #ifdef YP diff --git a/usr.bin/cmp/cmp.1 b/usr.bin/cmp/cmp.1 index 75339a8047377..94ff2fb802aef 100644 --- a/usr.bin/cmp/cmp.1 +++ b/usr.bin/cmp/cmp.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)cmp.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: cmp.1,v 1.2 1996/08/29 18:05:43 wosch Exp $ .\" .Dd June 6, 1993 .Dt CMP 1 diff --git a/usr.bin/colldef/Makefile b/usr.bin/colldef/Makefile index c138d1ef16f6c..2eedac764e6ec 100644 --- a/usr.bin/colldef/Makefile +++ b/usr.bin/colldef/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.8 1996/06/02 17:18:18 phk Exp $ +# $Id: Makefile,v 1.9 1996/10/23 14:59:53 ache Exp $ PROG = colldef LFLAGS = -8 -i diff --git a/usr.bin/colldef/data/Makefile b/usr.bin/colldef/data/Makefile index f275896e3a17d..ce91dc6d27fbf 100644 --- a/usr.bin/colldef/data/Makefile +++ b/usr.bin/colldef/data/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.8 1997/03/01 00:28:05 wosch Exp $ +# $Id: Makefile,v 1.3.2.2 1997/03/01 01:19:30 adam Exp $ NOMAN=YES CLEANFILES+= ${LOCALES:S/$/.out/g} diff --git a/usr.bin/colldef/data/de_DE.ISO_8859-1.src b/usr.bin/colldef/data/de_DE.ISO_8859-1.src index ab12d6f46aa93..78471ca134ed2 100644 --- a/usr.bin/colldef/data/de_DE.ISO_8859-1.src +++ b/usr.bin/colldef/data/de_DE.ISO_8859-1.src @@ -1,6 +1,6 @@ # German/ISO 8859-1 (backward compatible with ASCII) # -# $Id: de_DE.ISO_8859-1.src,v 1.2.2.1 1997/02/21 02:48:25 adam Exp $ +# $Id: de_DE.ISO_8859-1.src,v 1.2.2.2 1997/03/11 11:13:54 joerg Exp $ # charmap map.ISO_8859-1 order \ diff --git a/usr.bin/colldef/data/es_ES.ISO_8859-1.src b/usr.bin/colldef/data/es_ES.ISO_8859-1.src index e088e21b5c467..3c194fae2c6ca 100644 --- a/usr.bin/colldef/data/es_ES.ISO_8859-1.src +++ b/usr.bin/colldef/data/es_ES.ISO_8859-1.src @@ -1,6 +1,6 @@ # Espan~ol (backward compatible with ASCII) # -# $Id$ +# $Id: es_ES.ISO_8859-1.src,v 1.2.2.1 1997/02/21 02:48:29 adam Exp $ # charmap map.ISO_8859-1 order \ diff --git a/usr.bin/colldef/data/is_IS.ISO_8859-1.src b/usr.bin/colldef/data/is_IS.ISO_8859-1.src index 288459c0b3fd8..0f1cd827437ec 100644 --- a/usr.bin/colldef/data/is_IS.ISO_8859-1.src +++ b/usr.bin/colldef/data/is_IS.ISO_8859-1.src @@ -1,6 +1,6 @@ # icelandic (backward compatible with ASCII) # -# $Id$ +# $Id: is_IS.ISO_8859-1.src,v 1.3.2.1 1997/02/21 02:48:30 adam Exp $ # charmap map.ISO_8859-1 order \ diff --git a/usr.bin/colldef/data/lt_LN.ISO_8859-1.src b/usr.bin/colldef/data/lt_LN.ISO_8859-1.src index 93a2da01484a5..b5a94d171792f 100644 --- a/usr.bin/colldef/data/lt_LN.ISO_8859-1.src +++ b/usr.bin/colldef/data/lt_LN.ISO_8859-1.src @@ -1,6 +1,6 @@ # latin1 (backward compatible with ASCII) # -# $Id$ +# $Id: lt_LN.ISO_8859-1.src,v 1.6 1996/10/23 15:00:15 ache Exp $ # charmap map.ISO_8859-1 order \ diff --git a/usr.bin/colldef/data/lt_LN.ISO_8859-2.src b/usr.bin/colldef/data/lt_LN.ISO_8859-2.src index 772fe32203855..4bcf823543dc5 100644 --- a/usr.bin/colldef/data/lt_LN.ISO_8859-2.src +++ b/usr.bin/colldef/data/lt_LN.ISO_8859-2.src @@ -1,6 +1,6 @@ # latin2 (backward compatible with ASCII) # -# $Id$ +# $Id: lt_LN.ISO_8859-2.src,v 1.1 1997/03/01 00:28:06 wosch Exp $ # charmap map.ISO_8859-2 order \ diff --git a/usr.bin/colldef/data/ru_SU.CP866.src b/usr.bin/colldef/data/ru_SU.CP866.src index 88ca377082a78..fa61cd36569b9 100644 --- a/usr.bin/colldef/data/ru_SU.CP866.src +++ b/usr.bin/colldef/data/ru_SU.CP866.src @@ -1,6 +1,6 @@ # CP866 (backward compatible with ASCII) # -# $Id$ +# $Id: ru_SU.CP866.src,v 1.5 1996/10/23 15:00:17 ache Exp $ # charmap map.CP866 order \ diff --git a/usr.bin/colldef/data/ru_SU.KOI8-R.src b/usr.bin/colldef/data/ru_SU.KOI8-R.src index f6b0a1877befb..fce0f4931031e 100644 --- a/usr.bin/colldef/data/ru_SU.KOI8-R.src +++ b/usr.bin/colldef/data/ru_SU.KOI8-R.src @@ -1,6 +1,6 @@ # koi8-r (backward compatible with ASCII) # -# $Id$ +# $Id: ru_SU.KOI8-R.src,v 1.5 1996/10/23 15:00:18 ache Exp $ # charmap map.KOI8-R order \ diff --git a/usr.bin/colldef/parse.y b/usr.bin/colldef/parse.y index a3cb60f4a4d23..0a501098ae6ce 100644 --- a/usr.bin/colldef/parse.y +++ b/usr.bin/colldef/parse.y @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: parse.y,v 1.4 1996/10/23 14:59:56 ache Exp $ + * $Id: parse.y,v 1.5 1996/10/25 00:13:14 ache Exp $ */ #include <err.h> diff --git a/usr.bin/colldef/scan.l b/usr.bin/colldef/scan.l index d8c111612a51f..8687c9db75a8b 100644 --- a/usr.bin/colldef/scan.l +++ b/usr.bin/colldef/scan.l @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scan.l,v 1.3 1996/06/02 17:18:18 phk Exp $ + * $Id: scan.l,v 1.5 1996/10/16 03:12:22 ache Exp $ */ #include <ctype.h> diff --git a/usr.bin/compile_et/Makefile b/usr.bin/compile_et/Makefile index b03ff7801b23e..f48381b9a14bd 100644 --- a/usr.bin/compile_et/Makefile +++ b/usr.bin/compile_et/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1995/01/14 22:30:32 wollman Exp $ +# $Id: Makefile,v 1.5 1995/02/09 00:24:00 jkh Exp $ PROG= compile_et SRCS= compile_et.c error_table.y diff --git a/usr.bin/compile_et/compile_et.1 b/usr.bin/compile_et/compile_et.1 index f17a278bdc714..55e37cdf96798 100644 --- a/usr.bin/compile_et/compile_et.1 +++ b/usr.bin/compile_et/compile_et.1 @@ -1,7 +1,7 @@ .\" Copyright (c) 1988 Massachusetts Institute of Technology, .\" Student Information Processing Board. All rights reserved. .\" -.\" $Header$ +.\" $Header: /home/ncvs/src/usr.bin/compile_et/compile_et.1,v 1.1 1995/01/14 22:29:30 wollman Exp $ .\" .TH COMPILE_ET 1 "22 Nov 1988" SIPB .SH NAME diff --git a/usr.bin/compile_et/compile_et.c b/usr.bin/compile_et/compile_et.c index fcedb8fca7dd1..7a2b2943cf9ee 100644 --- a/usr.bin/compile_et/compile_et.c +++ b/usr.bin/compile_et/compile_et.c @@ -25,7 +25,7 @@ static const char copyright[] = "Copyright 1987,1988 by MIT Student Information Processing Board"; static const char rcsid_compile_et_c[] = - "$Header: /home/ncvs/src/usr.bin/compile_et/compile_et.c,v 1.2 1995/01/14 22:29:31 wollman Exp $"; + "$Header: /home/ncvs/src/usr.bin/compile_et/compile_et.c,v 1.3 1996/07/12 19:05:17 jkh Exp $"; #endif extern char *gensym(); diff --git a/usr.bin/compile_et/error_table.y b/usr.bin/compile_et/error_table.y index c29db1366e774..85b9b962d2f3b 100644 --- a/usr.bin/compile_et/error_table.y +++ b/usr.bin/compile_et/error_table.y @@ -74,7 +74,7 @@ description : QUOTED_STRING #ifndef lint static char const rcsid_error_table_y[] = - "$Header: /home/ncvs/src/usr.bin/compile_et/error_table.y,v 1.3 1995/03/15 19:05:28 wpaul Exp $"; + "$Header: /home/ncvs/src/usr.bin/compile_et/error_table.y,v 1.4 1996/07/12 19:05:19 jkh Exp $"; #endif void *malloc(), *realloc(); diff --git a/usr.bin/compile_et/et_lex.lex.l b/usr.bin/compile_et/et_lex.lex.l index 48d1b8981b778..468a5cc16b411 100644 --- a/usr.bin/compile_et/et_lex.lex.l +++ b/usr.bin/compile_et/et_lex.lex.l @@ -22,5 +22,5 @@ end return END; . { return (*yytext); } %% #ifndef lint -static char rcsid_et_lex_lex_l[] = "$Header: /home/ncvs/src/usr.bin/compile_et/et_lex.lex.l,v 1.2 1995/01/14 22:29:33 wollman Exp $"; +static char rcsid_et_lex_lex_l[] = "$Header: /home/ncvs/src/usr.bin/compile_et/et_lex.lex.l,v 1.3 1996/07/12 19:05:19 jkh Exp $"; #endif diff --git a/usr.bin/compress/doc/revision.log b/usr.bin/compress/doc/revision.log index b1d8b24cc4f0b..73aadf1290dfa 100644 --- a/usr.bin/compress/doc/revision.log +++ b/usr.bin/compress/doc/revision.log @@ -1,6 +1,9 @@ /* - * $Header: compress.c,v 4.0 85/07/30 12:50:00 joe Release $ - * $Log: compress.c,v $ + * $Header: /home/ncvs/src/usr.bin/compress/doc/revision.log,v 1.1.1.1 1994/05/27 12:30:59 rgrimes Exp $ + * $Log: revision.log,v $ + * Revision 1.1.1.1 1994/05/27 12:30:59 rgrimes + * BSD 4.4 Lite Usr.bin Sources + * * Revision 4.0 85/07/30 12:50:00 joe * Removed ferror() calls in output routine on every output except first. * Prepared for release to the world. @@ -113,4 +116,4 @@ */ static char rcs_ident[] = - "$Header: compress.c,v 4.0 85/07/30 12:50:00 joe Release $"; + "$Header: /home/ncvs/src/usr.bin/compress/doc/revision.log,v 1.1.1.1 1994/05/27 12:30:59 rgrimes Exp $"; diff --git a/usr.bin/compress/zopen.h b/usr.bin/compress/zopen.h index 322fd2de9a23e..fe70c0df12247 100644 --- a/usr.bin/compress/zopen.h +++ b/usr.bin/compress/zopen.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: zopen.h,v 1.1 1996/08/20 20:49:31 wosch Exp $ */ #ifndef _ZOPEN_H_ diff --git a/usr.bin/cpp/cpp.sh b/usr.bin/cpp/cpp.sh index 34aa29eb883a0..e593d45c2fbd3 100644 --- a/usr.bin/cpp/cpp.sh +++ b/usr.bin/cpp/cpp.sh @@ -36,7 +36,7 @@ # SUCH DAMAGE. # # From: @(#)cpp.sh 8.1 (Berkeley) 6/6/93 -# $Id: cpp.sh,v 1.3 1994/08/23 03:52:40 jkh Exp $ +# $Id: cpp.sh,v 1.4 1994/09/05 13:58:58 bde Exp $ # # Transitional front end to CCCP to make it behave like (Reiser) CCP: # specifies -traditional diff --git a/usr.bin/dig/Makefile b/usr.bin/dig/Makefile index 4ff062e06ade5..b5eeee184f61f 100644 --- a/usr.bin/dig/Makefile +++ b/usr.bin/dig/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.2 1996/08/29 21:51:37 peter Exp $ .include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" diff --git a/usr.bin/dnsquery/Makefile b/usr.bin/dnsquery/Makefile index 1be409a5e4df6..c0a9d63a14c85 100644 --- a/usr.bin/dnsquery/Makefile +++ b/usr.bin/dnsquery/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.2 1996/08/29 21:54:34 peter Exp $ .include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" diff --git a/usr.bin/du/du.1 b/usr.bin/du/du.1 index 59e97118db309..ba5de18eb34e0 100644 --- a/usr.bin/du/du.1 +++ b/usr.bin/du/du.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)du.1 8.2 (Berkeley) 4/1/94 -.\" $Id: du.1,v 1.5 1996/08/29 18:05:49 wosch Exp $ +.\" $Id: du.1,v 1.6 1996/10/23 06:53:55 scrappy Exp $ .\" .Dd April 1, 1994 .Dt DU 1 diff --git a/usr.bin/ee/doc/new_curse.c b/usr.bin/ee/doc/new_curse.c index 0e6cd54831cfe..bef94984422a5 100644 --- a/usr.bin/ee/doc/new_curse.c +++ b/usr.bin/ee/doc/new_curse.c @@ -37,14 +37,14 @@ | Copyright (c) 1986, 1987, 1988, 1991, 1992, 1993, 1994, 1995 Hugh Mahon | All are rights reserved. | - | $Header: /home/hugh/sources/old_ae/RCS/new_curse.c,v 1.37 1995/08/28 23:49:26 hugh Exp $ + | $Header: /home/ncvs/src/usr.bin/ee/doc/Attic/new_curse.c,v 1.1.1.1 1995/08/30 07:28:06 jkh Exp $ | */ char *copyright_message[] = { "Copyright (c) 1986, 1987, 1988, 1991, 1992, 1993, 1994, 1995 Hugh Mahon", "All rights are reserved."}; -char * new_curse_name= "@(#) new_curse.c $Revision: 1.37 $"; +char * new_curse_name= "@(#) new_curse.c $Revision: 1.1.1.1 $"; #include "new_curse.h" #include <signal.h> diff --git a/usr.bin/ee/ee.1 b/usr.bin/ee/ee.1 index b51d9d7949dbe..e01b92cff6b3c 100644 --- a/usr.bin/ee/ee.1 +++ b/usr.bin/ee/ee.1 @@ -4,7 +4,7 @@ .\" .\" nroff -man ee.1 .\" -.\" $Header: /home/ncvs/src/usr.bin/ee/ee.1,v 1.2 1996/01/30 13:48:39 mpp Exp $ +.\" $Header: /home/ncvs/src/usr.bin/ee/ee.1,v 1.3 1996/02/02 00:25:36 mpp Exp $ .\" .\" .TH ee 1 "" "" "" "" diff --git a/usr.bin/ee/ee.c b/usr.bin/ee/ee.c index a5f609acfe0e8..2643fb9049835 100644 --- a/usr.bin/ee/ee.c +++ b/usr.bin/ee/ee.c @@ -49,7 +49,7 @@ | proprietary information which is protected by | copyright. All rights are reserved. | - | $Header: /home/ncvs/src/usr.bin/ee/ee.c,v 1.5 1995/11/08 09:54:19 ache Exp $ + | $Header: /home/ncvs/src/usr.bin/ee/ee.c,v 1.6 1996/05/27 20:59:36 joerg Exp $ | */ @@ -62,7 +62,7 @@ char *ee_long_notice[] = { "copyright. All rights are reserved." }; -char *version = "@(#) ee, version 1.2.4 $Revision: 1.5 $"; +char *version = "@(#) ee, version 1.2.4 $Revision: 1.6 $"; #ifdef NCURSE #include "new_curse.h" diff --git a/usr.bin/ee/nls/de_DE.ISO_8859-1/ee.msg b/usr.bin/ee/nls/de_DE.ISO_8859-1/ee.msg index 9f62c500881e8..bdb222440b0df 100644 --- a/usr.bin/ee/nls/de_DE.ISO_8859-1/ee.msg +++ b/usr.bin/ee/nls/de_DE.ISO_8859-1/ee.msg @@ -3,7 +3,7 @@ $ ee.i18n.guide for more information $ $ For ee patchlevel 3 $ -$ $Header: /home/ncvs/src/usr.bin/ee/nls/de_DE.ISO_8859-1/ee.msg,v 1.1 1995/10/21 23:47:40 joerg Exp $ +$ $Header: /home/ncvs/src/usr.bin/ee/nls/de_DE.ISO_8859-1/ee.msg,v 1.2 1996/05/27 20:59:53 joerg Exp $ $ $set 1 $quote " diff --git a/usr.bin/ee/nls/en_US.ISO_8859-1/ee.msg b/usr.bin/ee/nls/en_US.ISO_8859-1/ee.msg index 1d4fe8c0e03f4..c0129e87c79d3 100644 --- a/usr.bin/ee/nls/en_US.ISO_8859-1/ee.msg +++ b/usr.bin/ee/nls/en_US.ISO_8859-1/ee.msg @@ -3,7 +3,7 @@ $ ee.i18n.guide for more information $ $ For ee patchlevel 3 $ -$ $Header: /home/ncvs/src/usr.bin/ee/nls/en_US.ISO_8859-1/ee.msg,v 1.1 1995/08/30 13:25:55 jkh Exp $ +$ $Header: /home/ncvs/src/usr.bin/ee/nls/en_US.ISO_8859-1/ee.msg,v 1.2 1996/05/27 21:00:00 joerg Exp $ $ $set 1 $quote " diff --git a/usr.bin/ee/nls/fr_FR.ISO_8859-1/ee.msg b/usr.bin/ee/nls/fr_FR.ISO_8859-1/ee.msg index f98bf5c64e0a5..1713cff53aa9a 100644 --- a/usr.bin/ee/nls/fr_FR.ISO_8859-1/ee.msg +++ b/usr.bin/ee/nls/fr_FR.ISO_8859-1/ee.msg @@ -3,7 +3,7 @@ $ ee.i18n.guide for more information $ $ For ee patchlevel 3 $ -$ $Id: ee.msg,v 1.1 1995/09/09 15:06:08 jmz Exp $ +$ $Id: ee.msg,v 1.2 1996/05/27 21:00:06 joerg Exp $ $ $set 1 $quote " diff --git a/usr.bin/fetch/fetch.1 b/usr.bin/fetch/fetch.1 index 1e88778c3f4ac..875e1d745b101 100644 --- a/usr.bin/fetch/fetch.1 +++ b/usr.bin/fetch/fetch.1 @@ -1,4 +1,4 @@ -.\" $Id: fetch.1,v 1.9.2.3 1997/03/06 07:21:40 mpp Exp $ +.\" $Id: fetch.1,v 1.9.2.4 1997/03/10 07:12:48 fenner Exp $ .Dd July 2, 1996 .Dt FETCH 1 .Os FreeBSD 2.2 diff --git a/usr.bin/fetch/fetch.h b/usr.bin/fetch/fetch.h index 321af11f671bc..273177c990740 100644 --- a/usr.bin/fetch/fetch.h +++ b/usr.bin/fetch/fetch.h @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: fetch.h,v 1.2 1997/01/31 19:55:49 wollman Exp $ + * $Id: fetch.h,v 1.3 1997/02/05 19:59:10 wollman Exp $ */ #ifndef fetch_h diff --git a/usr.bin/fetch/file.c b/usr.bin/fetch/file.c index 091639c9a18ba..59ca3979e8024 100644 --- a/usr.bin/fetch/file.c +++ b/usr.bin/fetch/file.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: file.c,v 1.1 1997/01/30 21:43:39 wollman Exp $ */ #include <sys/types.h> diff --git a/usr.bin/fetch/ftp.c b/usr.bin/fetch/ftp.c index b02b503d1f780..7255b1ce12ca7 100644 --- a/usr.bin/fetch/ftp.c +++ b/usr.bin/fetch/ftp.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ftp.c,v 1.3.2.1 1997/03/10 07:12:49 fenner Exp $ + * $Id: ftp.c,v 1.3.2.2 1997/03/11 20:09:49 joerg Exp $ */ #include <sys/types.h> diff --git a/usr.bin/fetch/http.c b/usr.bin/fetch/http.c index 2b50fc5d63650..28cf473971eec 100644 --- a/usr.bin/fetch/http.c +++ b/usr.bin/fetch/http.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: http.c,v 1.4 1997/02/11 20:46:05 wollman Exp $ + * $Id: http.c,v 1.4.2.1 1997/03/10 07:12:51 fenner Exp $ */ #include <sys/types.h> diff --git a/usr.bin/fetch/main.c b/usr.bin/fetch/main.c index 5655c3387e9c3..550729b3a8df4 100644 --- a/usr.bin/fetch/main.c +++ b/usr.bin/fetch/main.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. */ -/* $Id$ */ +/* $Id: main.c,v 1.26.2.4 1997/03/06 07:21:40 mpp Exp $ */ #include <sys/types.h> diff --git a/usr.bin/fetch/uri.c b/usr.bin/fetch/uri.c index 95d4c91898bf9..8caf3bf34f328 100644 --- a/usr.bin/fetch/uri.c +++ b/usr.bin/fetch/uri.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: uri.c,v 1.1 1997/01/30 21:43:43 wollman Exp $ */ #include <sys/types.h> diff --git a/usr.bin/fetch/util.c b/usr.bin/fetch/util.c index 49c11084cc79f..d9a20f3d26169 100644 --- a/usr.bin/fetch/util.c +++ b/usr.bin/fetch/util.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: util.c,v 1.4 1997/02/07 17:55:01 wollman Exp $ + * $Id: util.c,v 1.5 1997/02/11 20:46:06 wollman Exp $ */ #include <sys/types.h> diff --git a/usr.bin/file/LEGAL.NOTICE b/usr.bin/file/LEGAL.NOTICE index 87c3176beb782..5b000ea1a6e92 100644 --- a/usr.bin/file/LEGAL.NOTICE +++ b/usr.bin/file/LEGAL.NOTICE @@ -1,6 +1,6 @@ Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. Software written by Ian F. Darwin and others; maintained by Christos Zoulas. -$Id: LEGAL.NOTICE,v 1.9 1995/10/27 23:14:20 christos Exp $ +$Id: LEGAL.NOTICE,v 1.1.1.2 1996/01/23 12:26:21 mpp Exp $ This software (or derivative software) may not be made subject to any license which denies anyone permission to alter it and redistribute it diff --git a/usr.bin/file/MAINT b/usr.bin/file/MAINT index 7fc5e3637f3bd..63d41b783b620 100644 --- a/usr.bin/file/MAINT +++ b/usr.bin/file/MAINT @@ -1,4 +1,4 @@ -$Id: MAINT,v 1.2 1993/09/23 21:47:01 christos Exp $ +$Id: MAINT,v 1.1.1.1 1994/09/03 19:16:22 csgr Exp $ Maintenance notes: diff --git a/usr.bin/file/Magdir/Localstuff b/usr.bin/file/Magdir/Localstuff index 3c2fa0ef777f3..05f16af9eef7e 100644 --- a/usr.bin/file/Magdir/Localstuff +++ b/usr.bin/file/Magdir/Localstuff @@ -2,6 +2,6 @@ #------------------------------------------------------------------------------ # Localstuff: file(1) magic for locally observed files # -# $Id: Localstuff,v 1.3 1995/01/21 21:09:00 christos Exp $ +# $Id: Localstuff,v 1.1.1.2 1996/01/23 12:26:56 mpp Exp $ # Add any locally observed files here. Remember: # text if readable, executable if runnable binary, data if unreadable. diff --git a/usr.bin/file/Magdir/softquad b/usr.bin/file/Magdir/softquad index ffad996caa6ea..875f7a4295799 100644 --- a/usr.bin/file/Magdir/softquad +++ b/usr.bin/file/Magdir/softquad @@ -2,7 +2,7 @@ #------------------------------------------------------------------------------ # softquad: file(1) magic for SoftQuad Publishing Software # -# $Id: softquad,v 1.9 1995/01/21 21:09:00 christos Exp $ +# $Id: softquad,v 1.1.1.2 1996/01/23 12:28:46 mpp Exp $ # Author/Editor and RulesBuilder # # XXX - byte order? diff --git a/usr.bin/file/Makefile b/usr.bin/file/Makefile index ca198f498c90f..a6809ab532f94 100644 --- a/usr.bin/file/Makefile +++ b/usr.bin/file/Makefile @@ -1,6 +1,6 @@ # Makefile for file(1) cmd. # Copyright (c) Ian F. Darwin 86/09/01 - see LEGAL.NOTICE. -# @(#)$Id: Makefile,v 1.5 1996/08/17 22:27:08 wosch Exp $ +# @(#)$Id: Makefile,v 1.5.2.1 1996/12/14 10:10:42 joerg Exp $ # # This software is not subject to any license of the American Telephone # and Telegraph Company or of the Regents of the University of California. diff --git a/usr.bin/file/PORTING b/usr.bin/file/PORTING index 06790e6ace038..6f62a3ef35be7 100644 --- a/usr.bin/file/PORTING +++ b/usr.bin/file/PORTING @@ -1,5 +1,5 @@ Portability of the new file(1) command. -@(#) $Id: PORTING,v 1.11 1993/09/23 21:47:23 christos Exp $ +@(#) $Id: PORTING,v 1.1.1.1 1994/09/03 19:16:22 csgr Exp $ Read this file only if the program doesn't compile on your system. diff --git a/usr.bin/file/README b/usr.bin/file/README index 2ee8e6777a40d..ff11bdd2d35ee 100644 --- a/usr.bin/file/README +++ b/usr.bin/file/README @@ -1,5 +1,5 @@ ** README for file(1) Command ** -@(#) $Id: README,v 1.20 1993/09/23 21:47:01 christos Exp $ +@(#) $Id: README,v 1.1.1.1 1994/09/03 19:16:22 csgr Exp $ This is Release 3.x of Ian Darwin's (copyright but distributable) file(1) command. Release 3.x is scheduled for inclusion in the diff --git a/usr.bin/file/apprentice.c b/usr.bin/file/apprentice.c index 0eb1983daffbe..4ae3de0d8b6f8 100644 --- a/usr.bin/file/apprentice.c +++ b/usr.bin/file/apprentice.c @@ -34,7 +34,7 @@ #ifndef lint static char *moduleid = - "@(#)$Id: apprentice.c,v 1.2 1995/05/30 06:29:58 rgrimes Exp $"; + "@(#)$Id: apprentice.c,v 1.3 1996/01/23 12:40:04 mpp Exp $"; #endif /* lint */ #define EATAB {while (isascii((unsigned char) *l) && \ diff --git a/usr.bin/file/ascmagic.c b/usr.bin/file/ascmagic.c index a7e9437abd296..0efb6a5d65b07 100644 --- a/usr.bin/file/ascmagic.c +++ b/usr.bin/file/ascmagic.c @@ -36,7 +36,7 @@ #ifndef lint static char *moduleid = - "@(#)$Id$"; + "@(#)$Id: ascmagic.c,v 1.3.2.1 1996/12/20 22:28:54 joerg Exp $"; #endif /* lint */ /* an optimisation over plain strcmp() */ diff --git a/usr.bin/file/compress.c b/usr.bin/file/compress.c index a648429873fdd..d5253d9b0d786 100644 --- a/usr.bin/file/compress.c +++ b/usr.bin/file/compress.c @@ -4,7 +4,7 @@ * information if recognized * uncompress(method, old, n, newch) - uncompress old into new, * using method, return sizeof new - * $Id: compress.c,v 1.2 1995/05/30 06:30:00 rgrimes Exp $ + * $Id: compress.c,v 1.3 1996/01/23 12:40:08 mpp Exp $ */ #include <stdio.h> #include <stdlib.h> diff --git a/usr.bin/file/cvsimport.sh b/usr.bin/file/cvsimport.sh index 6112e9655fcfe..b801525935aa4 100644 --- a/usr.bin/file/cvsimport.sh +++ b/usr.bin/file/cvsimport.sh @@ -3,7 +3,7 @@ # This shell script can be used in order to handle future imports # of newer versions of file(1) # -# $Id$ +# $Id: cvsimport.sh,v 1.1 1994/09/03 23:08:40 csgr Exp $ if [ $# -ne 2 ] ; then echo "usage: $0 <major> <minor>" 1>&2 exit 1 diff --git a/usr.bin/file/file.1 b/usr.bin/file/file.1 index ca51db5dbd4b5..92c1b444ce06c 100644 --- a/usr.bin/file/file.1 +++ b/usr.bin/file/file.1 @@ -1,5 +1,5 @@ .TH FILE 1 "Copyright but distributable" -.\# $Id: file.1,v 1.5 1996/02/02 00:25:40 mpp Exp $ +.\# $Id: file.1,v 1.6 1996/02/12 01:20:19 mpp Exp $ .SH NAME file \- determine file type .SH SYNOPSIS diff --git a/usr.bin/file/file.c b/usr.bin/file/file.c index 54000830e5a44..dc8772a5beeec 100644 --- a/usr.bin/file/file.c +++ b/usr.bin/file/file.c @@ -26,7 +26,7 @@ */ #ifndef lint static char *moduleid = - "@(#)$Id: file.c,v 1.3 1996/01/23 12:40:11 mpp Exp $"; + "@(#)$Id: file.c,v 1.3.2.1 1996/12/14 10:10:44 joerg Exp $"; #endif /* lint */ #include <stdio.h> diff --git a/usr.bin/file/file.h b/usr.bin/file/file.h index 1ed6772641738..ad3e8e00d57ee 100644 --- a/usr.bin/file/file.h +++ b/usr.bin/file/file.h @@ -1,6 +1,6 @@ /* * file.h - definitions for file(1) program - * @(#)$Id: file.h,v 1.3 1996/01/23 12:40:13 mpp Exp $ + * @(#)$Id: file.h,v 1.3.2.1 1996/12/14 10:10:45 joerg Exp $ * * Copyright (c) Ian F. Darwin, 1987. * Written by Ian F. Darwin. diff --git a/usr.bin/file/fsmagic.c b/usr.bin/file/fsmagic.c index ae020a040feda..8c112c964ef96 100644 --- a/usr.bin/file/fsmagic.c +++ b/usr.bin/file/fsmagic.c @@ -46,7 +46,7 @@ #ifndef lint static char *moduleid = - "@(#)$Id: fsmagic.c,v 1.2 1995/05/30 06:30:03 rgrimes Exp $"; + "@(#)$Id: fsmagic.c,v 1.3 1996/01/23 12:40:14 mpp Exp $"; #endif /* lint */ int diff --git a/usr.bin/file/is_tar.c b/usr.bin/file/is_tar.c index fc9cce2782b6f..fff57b68c0c3a 100644 --- a/usr.bin/file/is_tar.c +++ b/usr.bin/file/is_tar.c @@ -5,7 +5,7 @@ * Pubic Domain version written 26 Aug 1985 John Gilmore (ihnp4!hoptoad!gnu). * * @(#)list.c 1.18 9/23/86 Public Domain - gnu - * $Id: is_tar.c,v 1.1.1.1 1994/09/03 19:16:22 csgr Exp $ + * $Id: is_tar.c,v 1.2 1995/05/30 06:30:04 rgrimes Exp $ * * Comments changed and some code/comments reformatted * for file command by Ian Darwin. diff --git a/usr.bin/file/magic.5 b/usr.bin/file/magic.5 index 4f5f7d233b087..49c946f14e8f9 100644 --- a/usr.bin/file/magic.5 +++ b/usr.bin/file/magic.5 @@ -191,4 +191,4 @@ indirect offsets. .\" the changes I posted to the S5R2 version. .\" .\" Modified for Ian Darwin's version of the file command. -.\" @(#)$Id: magic.5,v 1.3 1996/01/23 12:40:17 mpp Exp $ +.\" @(#)$Id: magic.5,v 1.4 1996/04/18 18:17:14 jdp Exp $ diff --git a/usr.bin/file/names.h b/usr.bin/file/names.h index eba0b51154d7f..fa4953fb3226f 100644 --- a/usr.bin/file/names.h +++ b/usr.bin/file/names.h @@ -10,7 +10,7 @@ * * See LEGAL.NOTICE * - * $Id: names.h,v 1.1.1.2 1996/01/22 22:31:42 mpp Exp $ + * $Id: names.h,v 1.2 1996/01/23 12:40:19 mpp Exp $ */ /* these types are used to index the table 'types': keep em in sync! */ diff --git a/usr.bin/file/patchlevel.h b/usr.bin/file/patchlevel.h index 15241ebe8e525..1f5ddbc1b18d7 100644 --- a/usr.bin/file/patchlevel.h +++ b/usr.bin/file/patchlevel.h @@ -3,9 +3,12 @@ /* * Patchlevel file for Ian Darwin's MAGIC command. - * $Id: patchlevel.h,v 1.2 1995/05/30 06:30:06 rgrimes Exp $ + * $Id: patchlevel.h,v 1.3 1996/01/23 12:40:20 mpp Exp $ * * $Log: patchlevel.h,v $ + * Revision 1.3 1996/01/23 12:40:20 mpp + * Merged changes to resolve conflicts with file 3.19 import. + * * Revision 1.2 1995/05/30 06:30:06 rgrimes * Remove trailing whitespace. * diff --git a/usr.bin/file/print.c b/usr.bin/file/print.c index c65d97fa957d4..87c17d8a41d23 100644 --- a/usr.bin/file/print.c +++ b/usr.bin/file/print.c @@ -40,7 +40,7 @@ #ifndef lint static char *moduleid = - "@(#)$Id: print.c,v 1.2 1995/05/30 06:30:08 rgrimes Exp $"; + "@(#)$Id: print.c,v 1.3 1996/01/23 12:40:22 mpp Exp $"; #endif /* lint */ #define SZOF(a) (sizeof(a) / sizeof(a[0])) diff --git a/usr.bin/file/softmagic.c b/usr.bin/file/softmagic.c index 489f13b4aafef..0f1832f3c0ba8 100644 --- a/usr.bin/file/softmagic.c +++ b/usr.bin/file/softmagic.c @@ -34,7 +34,7 @@ #ifndef lint static char *moduleid = - "@(#)$Id: softmagic.c,v 1.3 1995/05/30 06:30:09 rgrimes Exp $"; + "@(#)$Id: softmagic.c,v 1.4 1996/01/23 12:40:24 mpp Exp $"; #endif /* lint */ static int match __P((unsigned char *, int)); diff --git a/usr.bin/file/tar.h b/usr.bin/file/tar.h index fd6f0c94f744f..cca00fe3117ed 100644 --- a/usr.bin/file/tar.h +++ b/usr.bin/file/tar.h @@ -5,7 +5,7 @@ * * Created 25 August 1985 by John Gilmore, ihnp4!hoptoad!gnu. * - * $Id: tar.h,v 1.3 1992/09/08 15:32:41 ian Exp $ # checkin only + * $Id: tar.h,v 1.1.1.1 1994/09/03 19:16:23 csgr Exp $ # checkin only */ /* diff --git a/usr.bin/file2c/Makefile b/usr.bin/file2c/Makefile index f19c125af3d45..f753741641351 100644 --- a/usr.bin/file2c/Makefile +++ b/usr.bin/file2c/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1994/09/24 02:55:45 davidg Exp $ +# $Id: Makefile,v 1.1 1995/01/29 00:49:42 phk Exp $ PROG= file2c MAN1= file2c.1 diff --git a/usr.bin/file2c/file2c.1 b/usr.bin/file2c/file2c.1 index c2dda08198ecd..3143cd2adff66 100644 --- a/usr.bin/file2c/file2c.1 +++ b/usr.bin/file2c/file2c.1 @@ -5,7 +5,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" --------------------------------------------------------------------------- .\" -.\" $Id$ +.\" $Id: file2c.1,v 1.1 1995/01/29 00:49:49 phk Exp $ .\" .Dd Jan 28, 1995 .Dt FILE2C 1 diff --git a/usr.bin/file2c/file2c.c b/usr.bin/file2c/file2c.c index 0bad9045fcb33..904fdc0a95ae9 100644 --- a/usr.bin/file2c/file2c.c +++ b/usr.bin/file2c/file2c.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id$ + * $Id: file2c.c,v 1.1 1995/01/29 00:49:57 phk Exp $ * */ diff --git a/usr.bin/find/find.1 b/usr.bin/find/find.1 index 42ec96f95741b..895d1bc1d18e7 100644 --- a/usr.bin/find/find.1 +++ b/usr.bin/find/find.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)find.1 8.4 (Berkeley) 4/1/94 -.\" $Id: find.1,v 1.3 1996/08/29 18:05:51 wosch Exp $ +.\" $Id: find.1,v 1.4 1996/10/04 12:54:04 peter Exp $ .\" .Dd April 1, 1994 .Dt FIND 1 diff --git a/usr.bin/gencat/Makefile b/usr.bin/gencat/Makefile index b738deb5e4a76..97f6f87f83ce3 100644 --- a/usr.bin/gencat/Makefile +++ b/usr.bin/gencat/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1995/03/30 12:49:06 jkh Exp $ PROG= gencat SRCS= gencat.c genlib.c diff --git a/usr.bin/getopt/Makefile b/usr.bin/getopt/Makefile index 21dde959afa26..d1f9008b784b5 100644 --- a/usr.bin/getopt/Makefile +++ b/usr.bin/getopt/Makefile @@ -1,4 +1,4 @@ -# $Header: /b/source/CVS/src/usr.bin/getopt/Makefile,v 1.1 1993/06/21 12:43:58 brezak Exp $ +# $Header: /home/ncvs/src/usr.bin/getopt/Makefile,v 1.1 1993/07/26 22:22:35 nate Exp $ # PROG = getopt diff --git a/usr.bin/hexdump/hexdump.1 b/usr.bin/hexdump/hexdump.1 index 1fd6d07c14c19..fcb5166f53abc 100644 --- a/usr.bin/hexdump/hexdump.1 +++ b/usr.bin/hexdump/hexdump.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)hexdump.1 8.2 (Berkeley) 4/18/94 -.\" $Id$ +.\" $Id: hexdump.1,v 1.5 1996/10/05 22:27:09 wosch Exp $ .\" .Dd April 18, 1994 .Dt HEXDUMP 1 diff --git a/usr.bin/hexdump/od.1 b/usr.bin/hexdump/od.1 index 3fed7e3bc6361..fc09ce48b1c6f 100644 --- a/usr.bin/hexdump/od.1 +++ b/usr.bin/hexdump/od.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)od.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: od.1,v 1.3 1996/08/29 18:05:53 wosch Exp $ .\" .Dd %Q .Os diff --git a/usr.bin/host/Makefile b/usr.bin/host/Makefile index ebccefa2aa19b..cd62a219e1bda 100644 --- a/usr.bin/host/Makefile +++ b/usr.bin/host/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.2 1996/08/29 21:53:32 peter Exp $ .include "${.CURDIR}/../../usr.sbin/named/Makefile.inc" diff --git a/usr.bin/id/groups.sh b/usr.bin/id/groups.sh index 463546514a514..1137e205156a5 100644 --- a/usr.bin/id/groups.sh +++ b/usr.bin/id/groups.sh @@ -32,7 +32,7 @@ # SUCH DAMAGE. # # @(#)groups.sh 8.1 (Berkeley) 6/6/93 -# $Id: groups.sh,v 1.3 1996/11/05 07:22:47 wosch Exp $ +# $Id: groups.sh,v 1.2.8.1 1996/11/06 09:33:14 phk Exp $ PATH=/bin:/usr/bin; export PATH diff --git a/usr.bin/id/whoami.sh b/usr.bin/id/whoami.sh index 8917d2a7b192c..eccfc8594882e 100644 --- a/usr.bin/id/whoami.sh +++ b/usr.bin/id/whoami.sh @@ -32,7 +32,7 @@ # SUCH DAMAGE. # # @(#)whoami.sh 8.1 (Berkeley) 6/6/93 -# $Id: whoami.sh,v 1.3 1996/11/05 07:24:48 wosch Exp $ +# $Id: whoami.sh,v 1.2.8.1 1996/11/06 09:33:18 phk Exp $ PATH=/bin:/usr/bin; export PATH diff --git a/usr.bin/ipcrm/Makefile b/usr.bin/ipcrm/Makefile index 98fd8f84f0477..29ecd7b539d0e 100644 --- a/usr.bin/ipcrm/Makefile +++ b/usr.bin/ipcrm/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3.2.1 1994/08/09 13:47:15 mycroft Exp $ +# $Id: Makefile,v 1.1 1994/09/13 16:52:09 dfr Exp $ PROG= ipcrm diff --git a/usr.bin/ipcrm/ipcrm.1 b/usr.bin/ipcrm/ipcrm.1 index 19bb6e622e376..32217adf3d043 100644 --- a/usr.bin/ipcrm/ipcrm.1 +++ b/usr.bin/ipcrm/ipcrm.1 @@ -21,7 +21,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ipcrm.1,v 1.1 1994/08/09 02:26:30 glass Exp $ +.\" $Id: ipcrm.1,v 1.1 1994/09/13 16:52:10 dfr Exp $ .\"" .Dd August 8th, 1994 .Dt ipcrm 1 diff --git a/usr.bin/ipcrm/ipcrm.c b/usr.bin/ipcrm/ipcrm.c index ff8a99ecc6c8c..14eb9333db6a8 100644 --- a/usr.bin/ipcrm/ipcrm.c +++ b/usr.bin/ipcrm/ipcrm.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ipcrm.c,v 1.1 1994/09/13 16:52:12 dfr Exp $ + * $Id: ipcrm.c,v 1.2 1995/05/30 06:30:56 rgrimes Exp $ */ #include <stdio.h> diff --git a/usr.bin/ipcs/Makefile b/usr.bin/ipcs/Makefile index eab410030ad45..0359e020742a9 100644 --- a/usr.bin/ipcs/Makefile +++ b/usr.bin/ipcs/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.6 1994/06/18 21:09:40 cgd Exp $ +# $Id: Makefile,v 1.2 1994/09/13 16:59:27 dfr Exp $ PROG= ipcs BINGRP= kmem diff --git a/usr.bin/ipcs/ipcs.1 b/usr.bin/ipcs/ipcs.1 index cdc6b4aa276a4..4376fadf9e48a 100644 --- a/usr.bin/ipcs/ipcs.1 +++ b/usr.bin/ipcs/ipcs.1 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ipcs.1,v 1.2 1994/11/19 18:19:27 nate Exp $ +.\" $Id: ipcs.1,v 1.3 1996/10/05 22:27:11 wosch Exp $ .\" .Dd June 18, 1994 .Dt "IPCS" 1 diff --git a/usr.bin/ipcs/ipcs.c b/usr.bin/ipcs/ipcs.c index fcdaa68e06162..e8752b3941c23 100644 --- a/usr.bin/ipcs/ipcs.c +++ b/usr.bin/ipcs/ipcs.c @@ -24,7 +24,7 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: ipcs.c,v 1.5 1996/05/30 02:18:44 pst Exp $ + * $Id: ipcs.c,v 1.6 1996/07/18 20:42:48 joerg Exp $ */ #include <stdio.h> diff --git a/usr.bin/keyinfo/keyinfo.1 b/usr.bin/keyinfo/keyinfo.1 index 9ddea83432e5a..cc98a92ea63e8 100644 --- a/usr.bin/keyinfo/keyinfo.1 +++ b/usr.bin/keyinfo/keyinfo.1 @@ -1,7 +1,7 @@ .ll 6i .pl 10.5i .\" from: @(#)keyinfo.1 1.1 (Bellcore) 7/20/93 -.\" $Id$ +.\" $Id: keyinfo.1,v 1.2 1996/04/26 21:35:07 joerg Exp $ .\" .lt 6.0i .TH KEYINFO 1 "26 April 1996" diff --git a/usr.bin/keyinfo/keyinfo.pl b/usr.bin/keyinfo/keyinfo.pl index 260a72479f987..10ab9d2d3bae3 100644 --- a/usr.bin/keyinfo/keyinfo.pl +++ b/usr.bin/keyinfo/keyinfo.pl @@ -3,7 +3,7 @@ # Search /etc/skeykeys for the skey string for this user OR user specified # in 1st parameter. # -# $Id$ +# $Id: keyinfo.pl,v 1.1 1996/04/26 21:35:10 joerg Exp $ # die "usage: keyinfo [user]\n" unless $#ARGV < 1; diff --git a/usr.bin/killall/killall.1 b/usr.bin/killall/killall.1 index 5d255ba0eab8e..f579afde14c43 100644 --- a/usr.bin/killall/killall.1 +++ b/usr.bin/killall/killall.1 @@ -22,7 +22,7 @@ .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: killall.1,v 1.5 1996/08/23 00:56:12 mpp Exp $ +.\" $Id: killall.1,v 1.6 1996/08/27 20:04:19 wosch Exp $ .\" .Dd June 25, 1995 .Os FreeBSD 2.2 diff --git a/usr.bin/killall/killall.pl b/usr.bin/killall/killall.pl index 8641a5c9f78d5..0315a0d3e2cc5 100755 --- a/usr.bin/killall/killall.pl +++ b/usr.bin/killall/killall.pl @@ -26,7 +26,7 @@ # # killall - kill processes by name # -# $Id: killall.pl,v 1.5 1996/05/30 22:04:09 smpatel Exp $ +# $Id: killall.pl,v 1.6 1996/08/27 20:04:20 wosch Exp $ $ENV{'PATH'} = '/bin:/usr/bin'; # security diff --git a/usr.bin/ktrace/ktrace.c b/usr.bin/ktrace/ktrace.c index c315f7f33742f..4b826e0406011 100644 --- a/usr.bin/ktrace/ktrace.c +++ b/usr.bin/ktrace/ktrace.c @@ -42,7 +42,7 @@ static char copyright[] = static char sccsid[] = "@(#)ktrace.c 8.1 (Berkeley) 6/6/93"; #endif static const char rcsid[] = - "$Id: ktrace.c,v 1.6 1996/09/19 19:50:13 phk Exp $"; + "$Id: ktrace.c,v 1.6.2.1 1997/03/15 10:40:15 joerg Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.bin/ktrace/subr.c b/usr.bin/ktrace/subr.c index a7d05075f6f1b..0e177840df65a 100644 --- a/usr.bin/ktrace/subr.c +++ b/usr.bin/ktrace/subr.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)subr.c 8.1 (Berkeley) 6/6/93"; #endif static const char rcsid[] = - "$Id: subr.c,v 1.2 1996/06/19 09:56:30 jraynard Exp $"; + "$Id: subr.c,v 1.3 1996/09/19 19:50:17 phk Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.bin/kzip/Makefile b/usr.bin/kzip/Makefile index cefc3904f85e3..a847ab451f5ed 100644 --- a/usr.bin/kzip/Makefile +++ b/usr.bin/kzip/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1995/10/06 02:42:11 peter Exp $ +# $Id: Makefile,v 1.3 1996/08/21 19:07:21 mpp Exp $ PROG= kzip MAN8= kzip.8 diff --git a/usr.bin/kzip/kzip.8 b/usr.bin/kzip/kzip.8 index 9989f1e846e60..44aaefae394cc 100644 --- a/usr.bin/kzip/kzip.8 +++ b/usr.bin/kzip/kzip.8 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: kzip.8,v 1.1 1996/08/21 19:07:22 mpp Exp $ .\" .Dd August 15, 1996 .Os diff --git a/usr.bin/kzip/kzip.c b/usr.bin/kzip/kzip.c index f1cb572f120c1..1118fecc468b7 100644 --- a/usr.bin/kzip/kzip.c +++ b/usr.bin/kzip/kzip.c @@ -9,7 +9,7 @@ * Copyright (C) 1993 Hannu Savolainen * Ported to 386bsd by Serge Vakulenko * based on tools/build.c by Linus Torvalds - * $Id: kzip.c,v 1.4 1995/10/06 02:42:15 peter Exp $ + * $Id: kzip.c,v 1.5 1996/08/16 15:22:25 nate Exp $ * */ diff --git a/usr.bin/lastcomm/lastcomm.1 b/usr.bin/lastcomm/lastcomm.1 index 2f498f78a9d51..ee890d2c0da79 100644 --- a/usr.bin/lastcomm/lastcomm.1 +++ b/usr.bin/lastcomm/lastcomm.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)lastcomm.1 8.1 (Berkeley) 6/6/93 -.\" $Id: lastcomm.1,v 1.2 1996/06/30 11:58:19 wosch Exp $ +.\" $Id: lastcomm.1,v 1.3 1996/09/18 16:48:54 wollman Exp $ .\" .Dd September 18, 1996 .Dt LASTCOMM 1 diff --git a/usr.bin/lastcomm/lastcomm.c b/usr.bin/lastcomm/lastcomm.c index 267216ae0c71c..3936973033d82 100644 --- a/usr.bin/lastcomm/lastcomm.c +++ b/usr.bin/lastcomm/lastcomm.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: $ + * $Id: lastcomm.c,v 1.4 1996/06/30 11:58:20 wosch Exp $ */ #ifndef lint diff --git a/usr.bin/lex/FlexLexer.h b/usr.bin/lex/FlexLexer.h index 6c9a950008e2b..21ad8ef1f851c 100644 --- a/usr.bin/lex/FlexLexer.h +++ b/usr.bin/lex/FlexLexer.h @@ -1,4 +1,4 @@ -// $Header: /home/daffy/u0/vern/flex/RCS/FlexLexer.h,v 1.19 96/05/25 20:43:02 vern Exp $ +// $Header: /home/ncvs/src/usr.bin/lex/FlexLexer.h,v 1.1.1.2 1996/06/19 20:25:59 nate Exp $ // FlexLexer.h -- define interfaces for lexical analyzer classes generated // by flex diff --git a/usr.bin/lex/Makefile b/usr.bin/lex/Makefile index 192bdfbf14809..1f84a454ae4e1 100644 --- a/usr.bin/lex/Makefile +++ b/usr.bin/lex/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.7 1996/09/19 05:21:07 peter Exp $ +# $Id: Makefile,v 1.8 1996/10/29 05:08:21 peter Exp $ # # By default, flex will be configured to generate 8-bit scanners only if the # -8 flag is given. If you want it to always generate 8-bit scanners, add diff --git a/usr.bin/lex/ccl.c b/usr.bin/lex/ccl.c index fe28463923e08..d608b61b4118a 100644 --- a/usr.bin/lex/ccl.c +++ b/usr.bin/lex/ccl.c @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/daffy/u0/vern/flex/RCS/ccl.c,v 2.9 93/09/16 20:32:14 vern Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/ccl.c,v 1.3 1996/06/19 20:47:00 nate Exp $ */ #include "flexdef.h" diff --git a/usr.bin/lex/config.h b/usr.bin/lex/config.h index dc4481c4a0508..94fa6cb4df0f1 100644 --- a/usr.bin/lex/config.h +++ b/usr.bin/lex/config.h @@ -1,5 +1,5 @@ /* config.h. Generated automatically by configure. */ -/* $Header: /home/daffy/u0/vern/flex/RCS/conf.in,v 1.2 95/01/09 12:11:51 vern Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/config.h,v 1.2 1996/06/19 20:47:02 nate Exp $ */ /* Define to empty if the keyword does not work. */ /* #undef const */ diff --git a/usr.bin/lex/dfa.c b/usr.bin/lex/dfa.c index 3647c2c23f59e..1ee1f5579998b 100644 --- a/usr.bin/lex/dfa.c +++ b/usr.bin/lex/dfa.c @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/ncvs/src/usr.bin/lex/dfa.c,v 1.1.1.2 1996/06/19 20:26:04 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/dfa.c,v 1.3 1996/06/19 20:47:04 nate Exp $ */ #include "flexdef.h" diff --git a/usr.bin/lex/ecs.c b/usr.bin/lex/ecs.c index 10b167c5898c3..4c16e470b059f 100644 --- a/usr.bin/lex/ecs.c +++ b/usr.bin/lex/ecs.c @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/daffy/u0/vern/flex/RCS/ecs.c,v 2.9 93/12/07 10:18:20 vern Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/ecs.c,v 1.3 1996/06/19 20:47:05 nate Exp $ */ #include "flexdef.h" diff --git a/usr.bin/lex/flex.skl b/usr.bin/lex/flex.skl index 8dee386e266bd..70e61fe65281b 100644 --- a/usr.bin/lex/flex.skl +++ b/usr.bin/lex/flex.skl @@ -1,7 +1,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /home/ncvs/src/usr.bin/lex/flex.skl,v 1.1.1.2 1996/06/19 20:26:06 nate Exp $ + * $Header: /home/ncvs/src/usr.bin/lex/flex.skl,v 1.1.1.2.2.1 1997/02/23 01:36:55 joerg Exp $ */ #define FLEX_SCANNER diff --git a/usr.bin/lex/flexdef.h b/usr.bin/lex/flexdef.h index 3969fdfbb763e..85f5f0419db0b 100644 --- a/usr.bin/lex/flexdef.h +++ b/usr.bin/lex/flexdef.h @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* @(#) $Header: /home/ncvs/src/usr.bin/lex/flexdef.h,v 1.1.1.2 1996/06/19 20:26:08 nate Exp $ (LBL) */ +/* @(#) $Header: /home/ncvs/src/usr.bin/lex/flexdef.h,v 1.3 1996/06/19 20:47:07 nate Exp $ (LBL) */ #include <stdio.h> #include <ctype.h> diff --git a/usr.bin/lex/gen.c b/usr.bin/lex/gen.c index 08f400abbe161..a6254c369dcfa 100644 --- a/usr.bin/lex/gen.c +++ b/usr.bin/lex/gen.c @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/ncvs/src/usr.bin/lex/gen.c,v 1.1.1.2 1996/06/19 20:26:10 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/gen.c,v 1.3 1996/06/19 20:47:10 nate Exp $ */ #include "flexdef.h" diff --git a/usr.bin/lex/initscan.c b/usr.bin/lex/initscan.c index f5e9dd13baf56..f7f5351c0faed 100644 --- a/usr.bin/lex/initscan.c +++ b/usr.bin/lex/initscan.c @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /home/ncvs/src/usr.bin/lex/initscan.c,v 1.3 1996/06/19 20:47:13 nate Exp $ + * $Header: /home/ncvs/src/usr.bin/lex/initscan.c,v 1.3.2.1 1997/02/23 01:36:57 joerg Exp $ */ #define FLEX_SCANNER @@ -1270,7 +1270,7 @@ char *yytext; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/ncvs/src/usr.bin/lex/initscan.c,v 1.3 1996/06/19 20:47:13 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/initscan.c,v 1.3.2.1 1997/02/23 01:36:57 joerg Exp $ */ #include "flexdef.h" #include "parse.h" diff --git a/usr.bin/lex/lib/Makefile b/usr.bin/lex/lib/Makefile index 8ceb8b527e7c7..61cb3d309f587 100644 --- a/usr.bin/lex/lib/Makefile +++ b/usr.bin/lex/lib/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1994/08/25 23:11:07 wollman Exp $ +# $Id: Makefile,v 1.3 1996/02/24 16:31:31 joerg Exp $ LIB= ln SRCS= libmain.c libyywrap.c diff --git a/usr.bin/lex/lib/libmain.c b/usr.bin/lex/lib/libmain.c index 6c43b085fb643..aa4591fe49524 100644 --- a/usr.bin/lex/lib/libmain.c +++ b/usr.bin/lex/lib/libmain.c @@ -1,6 +1,6 @@ /* libmain - flex run-time support library "main" function */ -/* $Header: /home/daffy/u0/vern/flex/RCS/libmain.c,v 1.4 95/09/27 12:47:55 vern Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/lib/libmain.c,v 1.1.1.2 1996/06/19 20:26:48 nate Exp $ */ extern int yylex(); diff --git a/usr.bin/lex/lib/libyywrap.c b/usr.bin/lex/lib/libyywrap.c index b18f54e6e8f9b..8c347542cd830 100644 --- a/usr.bin/lex/lib/libyywrap.c +++ b/usr.bin/lex/lib/libyywrap.c @@ -1,6 +1,6 @@ /* libyywrap - flex run-time support library "yywrap" function */ -/* $Header: /home/daffy/u0/vern/flex/RCS/libyywrap.c,v 1.1 93/10/02 15:23:09 vern Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/lib/libyywrap.c,v 1.2 1996/06/19 20:48:06 nate Exp $ */ int yywrap() { diff --git a/usr.bin/lex/main.c b/usr.bin/lex/main.c index bc1e8c9c3bd11..a7e9d582b6fa7 100644 --- a/usr.bin/lex/main.c +++ b/usr.bin/lex/main.c @@ -32,7 +32,7 @@ char copyright[] = All rights reserved.\n"; #endif /* not lint */ -/* $Header: /home/ncvs/src/usr.bin/lex/main.c,v 1.1.1.2 1996/06/19 20:26:16 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/main.c,v 1.3 1996/06/19 20:47:29 nate Exp $ */ #include "flexdef.h" diff --git a/usr.bin/lex/misc.c b/usr.bin/lex/misc.c index 34c67c5edd711..bdf6f00f262da 100644 --- a/usr.bin/lex/misc.c +++ b/usr.bin/lex/misc.c @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/ncvs/src/usr.bin/lex/misc.c,v 1.1.1.2 1996/06/19 20:26:19 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/misc.c,v 1.3 1996/06/19 20:47:33 nate Exp $ */ #include "flexdef.h" diff --git a/usr.bin/lex/nfa.c b/usr.bin/lex/nfa.c index 5fbec9aeefea4..b40041d9300e7 100644 --- a/usr.bin/lex/nfa.c +++ b/usr.bin/lex/nfa.c @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/ncvs/src/usr.bin/lex/nfa.c,v 1.1.1.2 1996/06/19 20:26:24 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/nfa.c,v 1.3 1996/06/19 20:47:36 nate Exp $ */ #include "flexdef.h" diff --git a/usr.bin/lex/parse.y b/usr.bin/lex/parse.y index 8dbd12581eee8..74b00b4ae3d10 100644 --- a/usr.bin/lex/parse.y +++ b/usr.bin/lex/parse.y @@ -33,7 +33,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/daffy/u0/vern/flex/RCS/parse.y,v 2.28 95/04/21 11:51:51 vern Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/parse.y,v 1.1.1.2 1996/06/19 20:26:27 nate Exp $ */ /* Some versions of bison are broken in that they use alloca() but don't diff --git a/usr.bin/lex/scan.l b/usr.bin/lex/scan.l index 2db8d78559c74..fdae6019eef3a 100644 --- a/usr.bin/lex/scan.l +++ b/usr.bin/lex/scan.l @@ -27,7 +27,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/ncvs/src/usr.bin/lex/scan.l,v 1.2 1996/06/19 22:25:32 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/scan.l,v 1.2.2.1 1997/02/23 01:37:04 joerg Exp $ */ #include "flexdef.h" #include "parse.h" diff --git a/usr.bin/lex/skel.c b/usr.bin/lex/skel.c index 962c830e03f44..422b8d8e584ef 100644 --- a/usr.bin/lex/skel.c +++ b/usr.bin/lex/skel.c @@ -6,7 +6,7 @@ const char *skel[] = { "/* A lexical scanner generated by flex */", "", "/* Scanner skeleton version:", - " * $Header: /home/ncvs/src/usr.bin/lex/skel.c,v 1.1.1.2 1996/06/19 20:26:34 nate Exp $", + " * $Header: /home/ncvs/src/usr.bin/lex/skel.c,v 1.1.1.2.2.1 1997/02/23 01:37:10 joerg Exp $", " */", "", "#define FLEX_SCANNER", diff --git a/usr.bin/lex/sym.c b/usr.bin/lex/sym.c index 7e29aca66319d..d001056f5968e 100644 --- a/usr.bin/lex/sym.c +++ b/usr.bin/lex/sym.c @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/ncvs/src/usr.bin/lex/sym.c,v 1.1.1.2 1996/06/19 20:26:39 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/sym.c,v 1.3 1996/06/19 20:47:39 nate Exp $ */ #include "flexdef.h" diff --git a/usr.bin/lex/tblcmp.c b/usr.bin/lex/tblcmp.c index 738b76d1c72c8..228c70451c4e6 100644 --- a/usr.bin/lex/tblcmp.c +++ b/usr.bin/lex/tblcmp.c @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/ncvs/src/usr.bin/lex/tblcmp.c,v 1.1.1.2 1996/06/19 20:26:43 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/tblcmp.c,v 1.3 1996/06/19 20:47:42 nate Exp $ */ #include "flexdef.h" diff --git a/usr.bin/lex/yylex.c b/usr.bin/lex/yylex.c index 918d46867d348..0fca24089f3d0 100644 --- a/usr.bin/lex/yylex.c +++ b/usr.bin/lex/yylex.c @@ -26,7 +26,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -/* $Header: /home/ncvs/src/usr.bin/lex/yylex.c,v 1.1.1.2 1996/06/19 20:26:46 nate Exp $ */ +/* $Header: /home/ncvs/src/usr.bin/lex/yylex.c,v 1.3 1996/06/19 20:47:46 nate Exp $ */ #include <ctype.h> #include "flexdef.h" diff --git a/usr.bin/locate/Makefile b/usr.bin/locate/Makefile index 45f82b93f8f89..6d7a7efab2ef5 100644 --- a/usr.bin/locate/Makefile +++ b/usr.bin/locate/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 -# $Id$ +# $Id: Makefile,v 1.2 1996/08/14 00:22:23 wosch Exp $ SUBDIR= bigram code locate diff --git a/usr.bin/locate/Makefile.inc b/usr.bin/locate/Makefile.inc index 0f80876250b23..348c2dac3c592 100644 --- a/usr.bin/locate/Makefile.inc +++ b/usr.bin/locate/Makefile.inc @@ -1,3 +1,3 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1996/08/14 00:22:24 wosch Exp $ LIBEXECDIR?= /usr/libexec diff --git a/usr.bin/locate/bigram/locate.bigram.c b/usr.bin/locate/bigram/locate.bigram.c index 2196957970351..eb50451c642dc 100644 --- a/usr.bin/locate/bigram/locate.bigram.c +++ b/usr.bin/locate/bigram/locate.bigram.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: locate.bigram.c,v 1.7 1996/09/14 20:15:49 wosch Exp $ + * $Id: locate.bigram.c,v 1.8 1996/10/13 01:44:11 wosch Exp $ */ #ifndef lint diff --git a/usr.bin/locate/code/locate.code.c b/usr.bin/locate/code/locate.code.c index c28119f5de6bb..8a73e8ead78e7 100644 --- a/usr.bin/locate/code/locate.code.c +++ b/usr.bin/locate/code/locate.code.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: locate.code.c,v 1.6 1996/10/13 01:44:28 wosch Exp $ + * $Id: locate.code.c,v 1.7 1996/10/27 19:04:27 wosch Exp $ */ #ifndef lint diff --git a/usr.bin/locate/locate/Makefile b/usr.bin/locate/locate/Makefile index b752bbbf17f94..4d1572dc4d6dc 100644 --- a/usr.bin/locate/locate/Makefile +++ b/usr.bin/locate/locate/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 -# $Id: Makefile,v 1.6 1996/08/31 23:14:51 wosch Exp $ +# $Id: Makefile,v 1.7 1996/09/01 16:03:28 wosch Exp $ PROG= locate SRCS= util.c locate.c diff --git a/usr.bin/locate/locate/concatdb.sh b/usr.bin/locate/locate/concatdb.sh index 1314ac8300c05..e479486bc0566 100644 --- a/usr.bin/locate/locate/concatdb.sh +++ b/usr.bin/locate/locate/concatdb.sh @@ -30,7 +30,7 @@ # # Sequence of databases is important. # -# $Id: concatdb.sh,v 1.2 1996/08/27 20:04:24 wosch Exp $ +# $Id: concatdb.sh,v 1.3 1996/10/31 22:46:52 wosch Exp $ # The directory containing locate subprograms : ${LIBEXECDIR=/usr/libexec}; export LIBEXECDIR diff --git a/usr.bin/locate/locate/fastfind.c b/usr.bin/locate/locate/fastfind.c index 79dabfe12819e..ac2704f5a132e 100644 --- a/usr.bin/locate/locate/fastfind.c +++ b/usr.bin/locate/locate/fastfind.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: fastfind.c,v 1.5 1996/10/23 16:46:47 ache Exp $ + * $Id: fastfind.c,v 1.6 1996/10/27 19:18:06 alex Exp $ */ diff --git a/usr.bin/locate/locate/locate.1 b/usr.bin/locate/locate/locate.1 index 5e63002dc51cd..317194444334d 100644 --- a/usr.bin/locate/locate/locate.1 +++ b/usr.bin/locate/locate/locate.1 @@ -31,7 +31,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)locate.1 8.1 (Berkeley) 6/6/93 -.\" $Id: locate.1,v 1.8 1997/03/06 05:11:55 jmg Exp $ +.\" $Id: locate.1,v 1.5.2.1 1997/03/06 05:22:24 mpp Exp $ .\" .Dd June 6, 1993 .Dt LOCATE 1 diff --git a/usr.bin/locate/locate/locate.c b/usr.bin/locate/locate/locate.c index 0de5df0e3000f..abcb2952acfc9 100644 --- a/usr.bin/locate/locate/locate.c +++ b/usr.bin/locate/locate/locate.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: locate.c,v 1.5 1996/09/16 01:17:25 wosch Exp $ + * $Id: locate.c,v 1.6 1996/10/13 01:44:41 wosch Exp $ */ #ifndef lint diff --git a/usr.bin/locate/locate/locate.h b/usr.bin/locate/locate/locate.h index 9e997d4472314..32ddefbd7e6cd 100644 --- a/usr.bin/locate/locate/locate.h +++ b/usr.bin/locate/locate/locate.h @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)locate.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: locate.h,v 1.4 1996/10/13 01:44:43 wosch Exp $ */ /* Symbolic constants shared by locate.c and code.c */ diff --git a/usr.bin/locate/locate/locate.rc b/usr.bin/locate/locate/locate.rc index 6c0a973ed3ade..807616c0daded 100644 --- a/usr.bin/locate/locate/locate.rc +++ b/usr.bin/locate/locate/locate.rc @@ -1,7 +1,7 @@ # # /etc/locate.rc - command script for updatedb(8) # -# $Id: locate.rc,v 1.1 1996/08/14 00:22:30 wosch Exp $ +# $Id: locate.rc,v 1.2 1996/09/05 20:18:14 guido Exp $ # # All commented values are the defaults diff --git a/usr.bin/locate/locate/mklocatedb.sh b/usr.bin/locate/locate/mklocatedb.sh index 9b538336dfc0b..f4c31e7f7a925 100644 --- a/usr.bin/locate/locate/mklocatedb.sh +++ b/usr.bin/locate/locate/mklocatedb.sh @@ -28,7 +28,7 @@ # # usage: mklocatedb [-presort] < filelist > database # -# $Id: mklocatedb.sh,v 1.1 1996/08/14 00:22:31 wosch Exp $ +# $Id: mklocatedb.sh,v 1.2 1996/08/27 20:04:25 wosch Exp $ # The directory containing locate subprograms diff --git a/usr.bin/locate/locate/updatedb.sh b/usr.bin/locate/locate/updatedb.sh index f0717e072ab48..31b5abb39c5f7 100644 --- a/usr.bin/locate/locate/updatedb.sh +++ b/usr.bin/locate/locate/updatedb.sh @@ -26,7 +26,7 @@ # # updatedb - update locate database for local mounted filesystems # -# $Id: updatedb.sh,v 1.4 1996/08/27 20:04:28 wosch Exp $ +# $Id: updatedb.sh,v 1.5 1996/10/12 20:29:25 wosch Exp $ LOCATE_CONFIG="/etc/locate.rc" if [ -f "$LOCATE_CONFIG" -a -r "$LOCATE_CONFIG" ]; then diff --git a/usr.bin/locate/locate/util.c b/usr.bin/locate/locate/util.c index 84dc12ae78067..166882e5c49b1 100644 --- a/usr.bin/locate/locate/util.c +++ b/usr.bin/locate/locate/util.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: util.c,v 1.1 1996/08/31 23:14:54 wosch Exp $ + * $Id: util.c,v 1.2 1996/10/09 00:33:34 wosch Exp $ */ diff --git a/usr.bin/lockf/Makefile b/usr.bin/lockf/Makefile index 47fb6ab863e1b..fd56328ba4b12 100644 --- a/usr.bin/lockf/Makefile +++ b/usr.bin/lockf/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.1.1 1997/01/08 20:12:59 jdp Exp $ PROG= lockf CFLAGS+=-Wall diff --git a/usr.bin/lockf/lockf.1 b/usr.bin/lockf/lockf.1 index c55135e702900..d9ffd06d94fa3 100644 --- a/usr.bin/lockf/lockf.1 +++ b/usr.bin/lockf/lockf.1 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: lockf.1,v 1.1.1.1 1997/01/08 20:12:59 jdp Exp $ +.\" $Id: lockf.1,v 1.1.1.1.2.1 1997/01/09 20:01:46 jdp Exp $ .\" .Dd January 8, 1997 .Os FreeBSD diff --git a/usr.bin/lockf/lockf.c b/usr.bin/lockf/lockf.c index 1058138b89b13..f1863de369dfe 100644 --- a/usr.bin/lockf/lockf.c +++ b/usr.bin/lockf/lockf.c @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: lockf.c,v 1.1.1.1 1997/01/08 20:12:59 jdp Exp $ + * $Id: lockf.c,v 1.1.1.1.2.1 1997/01/09 20:01:47 jdp Exp $ */ #include <sys/types.h> diff --git a/usr.bin/login/Makefile b/usr.bin/login/Makefile index 9b9a7edae6100..a456258a1f02b 100644 --- a/usr.bin/login/Makefile +++ b/usr.bin/login/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 7/19/93 -# $Id: Makefile,v 1.12 1995/03/18 17:18:15 nate Exp $ +# $Id: Makefile,v 1.13 1995/05/30 06:31:25 rgrimes Exp $ PROG= login MAN1= login.1 diff --git a/usr.bin/login/login.1 b/usr.bin/login/login.1 index 852a0cd5bd907..a97301426bde3 100644 --- a/usr.bin/login/login.1 +++ b/usr.bin/login/login.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)login.1 8.1 (Berkeley) 6/9/93 -.\" $Id: login.1,v 1.5 1996/12/23 23:09:47 wosch Exp $ +.\" $Id: login.1,v 1.4.2.1 1997/01/02 17:48:02 mpp Exp $ .\" .Dd June 9, 1993 .Dt LOGIN 1 diff --git a/usr.bin/login/login.c b/usr.bin/login/login.c index f2f572bc000b8..030d877d81de5 100644 --- a/usr.bin/login/login.c +++ b/usr.bin/login/login.c @@ -268,7 +268,7 @@ main(argc, argv) /* already authenticated */ break; } else if (pwd->pw_passwd[0] == '\0') { - if (rootlogin && !rootok) { + if (!rootlogin || rootok) { /* pretend password okay */ rval = 0; goto ttycheck; diff --git a/usr.bin/lsvfs/Makefile b/usr.bin/lsvfs/Makefile index 3b25443ca3a2d..b41f380b4c453 100644 --- a/usr.bin/lsvfs/Makefile +++ b/usr.bin/lsvfs/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1994/09/22 01:25:55 wollman Exp $ PROG= lsvfs .include <bsd.prog.mk> diff --git a/usr.bin/lsvfs/lsvfs.1 b/usr.bin/lsvfs/lsvfs.1 index 703a620f517c2..d6adf1014d337 100644 --- a/usr.bin/lsvfs/lsvfs.1 +++ b/usr.bin/lsvfs/lsvfs.1 @@ -1,4 +1,4 @@ -.\" $Id: lsvfs.1,v 1.2 1995/03/16 18:37:46 wollman Exp $ +.\" $Id: lsvfs.1,v 1.3 1996/01/30 13:49:39 mpp Exp $ .\" Garrett A. Wollman, September 1994 .\" This file is in the public domain. .\" diff --git a/usr.bin/lsvfs/lsvfs.c b/usr.bin/lsvfs/lsvfs.c index ccfc03877b7ac..afa7ce77bc73e 100644 --- a/usr.bin/lsvfs/lsvfs.c +++ b/usr.bin/lsvfs/lsvfs.c @@ -3,7 +3,7 @@ * Garrett A. Wollman, September 1994 * This file is in the public domain. * - * $Id: lsvfs.c,v 1.4 1995/03/16 20:29:11 wollman Exp $ + * $Id: lsvfs.c,v 1.5 1995/03/16 21:43:03 wollman Exp $ */ #include <sys/types.h> diff --git a/usr.bin/m4/m4.1 b/usr.bin/m4/m4.1 index ef2e65839d3e2..793e828ff2327 100644 --- a/usr.bin/m4/m4.1 +++ b/usr.bin/m4/m4.1 @@ -1,5 +1,5 @@ .\" -.\" @(#) $Id$ +.\" @(#) $Id: m4.1,v 1.1.8.2 1997/03/15 21:22:16 bde Exp $ .\" .Dd January 26, 1993 .Dt m4 1 diff --git a/usr.bin/mail/mail.1 b/usr.bin/mail/mail.1 index a69cfba110b44..57f8965548327 100644 --- a/usr.bin/mail/mail.1 +++ b/usr.bin/mail/mail.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mail.1 8.2 (Berkeley) 12/30/93 -.\" $Id: mail.1,v 1.8 1996/10/06 01:55:31 jkh Exp $ +.\" $Id: mail.1,v 1.8.2.1 1997/01/15 04:47:23 mpp Exp $ .\" .Dd December 30, 1993 .Dt MAIL 1 diff --git a/usr.bin/make/Makefile b/usr.bin/make/Makefile index f9d830257308f..a084d12ad6cc9 100644 --- a/usr.bin/make/Makefile +++ b/usr.bin/make/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 5.2 (Berkeley) 12/28/90 -# $Id: Makefile,v 1.7 1996/10/06 12:43:14 jkh Exp $ +# $Id: Makefile,v 1.8 1996/10/06 13:02:43 steve Exp $ PROG= make CFLAGS+= -I${.CURDIR} diff --git a/usr.bin/make/PSD.doc/Makefile b/usr.bin/make/PSD.doc/Makefile index 432ff314964e5..9cc68b665e36c 100644 --- a/usr.bin/make/PSD.doc/Makefile +++ b/usr.bin/make/PSD.doc/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 8/14/93 -# $Id$ +# $Id: Makefile,v 1.2 1996/10/08 04:06:50 steve Exp $ DIR= psd/12.make SRCS= tutorial.ms diff --git a/usr.bin/make/PSD.doc/tutorial.ms b/usr.bin/make/PSD.doc/tutorial.ms index 4d478c31f509a..c25a7763938ab 100644 --- a/usr.bin/make/PSD.doc/tutorial.ms +++ b/usr.bin/make/PSD.doc/tutorial.ms @@ -35,7 +35,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)tutorial.ms 8.1 (Berkeley) 8/18/93 -.\" $Id: tutorial.ms,v 1.3 1996/10/08 04:06:54 steve Exp $ +.\" $Id: tutorial.ms,v 1.4 1996/10/11 04:15:57 steve Exp $ .\" .EH 'PSD:12-%''PMake \*- A Tutorial' .OH 'PMake \*- A Tutorial''PSD:12-%' diff --git a/usr.bin/make/arch.c b/usr.bin/make/arch.c index 769e6aebdd468..da49c931ac3fc 100644 --- a/usr.bin/make/arch.c +++ b/usr.bin/make/arch.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: arch.c,v 1.6 1996/10/08 04:05:33 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/buf.c b/usr.bin/make/buf.c index 462cbeff0713a..af2224250c66c 100644 --- a/usr.bin/make/buf.c +++ b/usr.bin/make/buf.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: buf.c,v 1.6 1996/10/08 04:05:36 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/buf.h b/usr.bin/make/buf.h index 562739d55765e..46689d410363e 100644 --- a/usr.bin/make/buf.h +++ b/usr.bin/make/buf.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)buf.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: buf.h,v 1.5 1996/10/08 04:05:38 steve Exp $ */ /*- diff --git a/usr.bin/make/compat.c b/usr.bin/make/compat.c index a64610303dbed..3be9ef9b2dfb9 100644 --- a/usr.bin/make/compat.c +++ b/usr.bin/make/compat.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: compat.c,v 1.6 1996/10/08 04:05:40 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/cond.c b/usr.bin/make/cond.c index d5c1fc2dc6caa..0fa1209ce26c1 100644 --- a/usr.bin/make/cond.c +++ b/usr.bin/make/cond.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: cond.c,v 1.5 1996/10/08 04:05:43 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/config.h b/usr.bin/make/config.h index d72e6543b0450..ee43fb30e9be4 100644 --- a/usr.bin/make/config.h +++ b/usr.bin/make/config.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)config.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: config.h,v 1.4 1996/10/08 04:05:45 steve Exp $ */ #define DEFSHELL 1 /* Bourne shell */ diff --git a/usr.bin/make/dir.c b/usr.bin/make/dir.c index 9fcf94f91ca31..3a832254fc310 100644 --- a/usr.bin/make/dir.c +++ b/usr.bin/make/dir.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: dir.c,v 1.5 1996/10/08 04:05:47 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/dir.h b/usr.bin/make/dir.h index 62687c5e57e3a..8f1c1f9bccbe6 100644 --- a/usr.bin/make/dir.h +++ b/usr.bin/make/dir.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)dir.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: dir.h,v 1.4 1996/10/08 04:05:49 steve Exp $ */ /* dir.h -- diff --git a/usr.bin/make/for.c b/usr.bin/make/for.c index 3d8617f1420f3..d43fd9ed72683 100644 --- a/usr.bin/make/for.c +++ b/usr.bin/make/for.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: for.c,v 1.5 1996/10/08 04:05:50 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/hash.c b/usr.bin/make/hash.c index a8250a41402e2..86b42fc32cdc3 100644 --- a/usr.bin/make/hash.c +++ b/usr.bin/make/hash.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: hash.c,v 1.4 1996/10/08 04:05:51 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/hash.h b/usr.bin/make/hash.h index 6e88ed8f44d92..4b82d327fd759 100644 --- a/usr.bin/make/hash.h +++ b/usr.bin/make/hash.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)hash.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: hash.h,v 1.5 1996/10/08 04:05:52 steve Exp $ */ /* hash.h -- diff --git a/usr.bin/make/job.c b/usr.bin/make/job.c index 01e493f7464e4..52c3602f78787 100644 --- a/usr.bin/make/job.c +++ b/usr.bin/make/job.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: job.c,v 1.5 1996/10/08 04:05:54 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/job.h b/usr.bin/make/job.h index 2c088b65ac529..641fff41da038 100644 --- a/usr.bin/make/job.h +++ b/usr.bin/make/job.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)job.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: job.h,v 1.5 1996/10/08 04:05:56 steve Exp $ */ /*- diff --git a/usr.bin/make/list.h b/usr.bin/make/list.h index fef9642505869..9ba9bebe854b6 100644 --- a/usr.bin/make/list.h +++ b/usr.bin/make/list.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)list.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: list.h,v 1.5 1996/10/08 04:05:57 steve Exp $ */ /* diff --git a/usr.bin/make/lst.h b/usr.bin/make/lst.h index 2d1d8674bc410..2e911e4a8d57b 100644 --- a/usr.bin/make/lst.h +++ b/usr.bin/make/lst.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)lst.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: lst.h,v 1.5 1996/10/08 04:05:58 steve Exp $ */ /*- diff --git a/usr.bin/make/lst.lib/lstAppend.c b/usr.bin/make/lst.lib/lstAppend.c index e936f730826b3..64066446d9ff3 100644 --- a/usr.bin/make/lst.lib/lstAppend.c +++ b/usr.bin/make/lst.lib/lstAppend.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstAppend.c,v 1.3 1996/10/08 04:07:10 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstAtEnd.c b/usr.bin/make/lst.lib/lstAtEnd.c index c4f7480963df6..37890744e1437 100644 --- a/usr.bin/make/lst.lib/lstAtEnd.c +++ b/usr.bin/make/lst.lib/lstAtEnd.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstAtEnd.c,v 1.3 1996/10/08 04:07:12 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstAtFront.c b/usr.bin/make/lst.lib/lstAtFront.c index 720e6635e17a9..6dfe7102b49c4 100644 --- a/usr.bin/make/lst.lib/lstAtFront.c +++ b/usr.bin/make/lst.lib/lstAtFront.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstAtFront.c,v 1.3 1996/10/08 04:07:13 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstClose.c b/usr.bin/make/lst.lib/lstClose.c index f28119f056d14..722c72a152513 100644 --- a/usr.bin/make/lst.lib/lstClose.c +++ b/usr.bin/make/lst.lib/lstClose.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstClose.c,v 1.3 1996/10/08 04:07:15 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstConcat.c b/usr.bin/make/lst.lib/lstConcat.c index 5cb8a67f63bbb..d7b3e83bccc33 100644 --- a/usr.bin/make/lst.lib/lstConcat.c +++ b/usr.bin/make/lst.lib/lstConcat.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstConcat.c,v 1.4 1996/10/08 04:07:17 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstDatum.c b/usr.bin/make/lst.lib/lstDatum.c index ec7d11c91e68c..1494423e91ba0 100644 --- a/usr.bin/make/lst.lib/lstDatum.c +++ b/usr.bin/make/lst.lib/lstDatum.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstDatum.c,v 1.2 1996/10/08 04:07:20 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstDeQueue.c b/usr.bin/make/lst.lib/lstDeQueue.c index 62335022c8386..85c7479fe0c2b 100644 --- a/usr.bin/make/lst.lib/lstDeQueue.c +++ b/usr.bin/make/lst.lib/lstDeQueue.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstDeQueue.c,v 1.3 1996/10/08 04:07:21 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstDestroy.c b/usr.bin/make/lst.lib/lstDestroy.c index e2414522ac61e..817dfbaafe70e 100644 --- a/usr.bin/make/lst.lib/lstDestroy.c +++ b/usr.bin/make/lst.lib/lstDestroy.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstDestroy.c,v 1.4 1996/10/08 04:07:23 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstDupl.c b/usr.bin/make/lst.lib/lstDupl.c index cc5e75e1ebb11..d8395badf15ca 100644 --- a/usr.bin/make/lst.lib/lstDupl.c +++ b/usr.bin/make/lst.lib/lstDupl.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstDupl.c,v 1.4 1996/10/08 04:07:25 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstEnQueue.c b/usr.bin/make/lst.lib/lstEnQueue.c index d7627f33b3e5c..20f725b5cb751 100644 --- a/usr.bin/make/lst.lib/lstEnQueue.c +++ b/usr.bin/make/lst.lib/lstEnQueue.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstEnQueue.c,v 1.3 1996/10/08 04:07:27 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstFind.c b/usr.bin/make/lst.lib/lstFind.c index fbbae66894102..f970784d2e8a5 100644 --- a/usr.bin/make/lst.lib/lstFind.c +++ b/usr.bin/make/lst.lib/lstFind.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstFind.c,v 1.3 1996/10/08 04:07:29 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstFindFrom.c b/usr.bin/make/lst.lib/lstFindFrom.c index 6c64cf1483fea..d9345fd0f0a08 100644 --- a/usr.bin/make/lst.lib/lstFindFrom.c +++ b/usr.bin/make/lst.lib/lstFindFrom.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstFindFrom.c,v 1.4 1996/10/08 04:07:31 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstFirst.c b/usr.bin/make/lst.lib/lstFirst.c index e7a30397d5555..554b5c1ec90c0 100644 --- a/usr.bin/make/lst.lib/lstFirst.c +++ b/usr.bin/make/lst.lib/lstFirst.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstFirst.c,v 1.2 1996/10/08 04:07:32 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstForEach.c b/usr.bin/make/lst.lib/lstForEach.c index 1688e9d36d7c2..c5437afb4f9bf 100644 --- a/usr.bin/make/lst.lib/lstForEach.c +++ b/usr.bin/make/lst.lib/lstForEach.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstForEach.c,v 1.3 1996/10/08 04:07:33 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstForEachFrom.c b/usr.bin/make/lst.lib/lstForEachFrom.c index 7692c57e78067..43bb9f201980d 100644 --- a/usr.bin/make/lst.lib/lstForEachFrom.c +++ b/usr.bin/make/lst.lib/lstForEachFrom.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstForEachFrom.c,v 1.4 1996/10/08 04:07:35 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstInit.c b/usr.bin/make/lst.lib/lstInit.c index a16fca27c4582..74841853c77c2 100644 --- a/usr.bin/make/lst.lib/lstInit.c +++ b/usr.bin/make/lst.lib/lstInit.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstInit.c,v 1.3 1996/10/08 04:07:36 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstInsert.c b/usr.bin/make/lst.lib/lstInsert.c index 8c4ebcb30b046..1f0929972e5bb 100644 --- a/usr.bin/make/lst.lib/lstInsert.c +++ b/usr.bin/make/lst.lib/lstInsert.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstInsert.c,v 1.3 1996/10/08 04:07:39 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstInt.h b/usr.bin/make/lst.lib/lstInt.h index 4260940680997..20bf137112706 100644 --- a/usr.bin/make/lst.lib/lstInt.h +++ b/usr.bin/make/lst.lib/lstInt.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)lstInt.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: lstInt.h,v 1.3 1996/10/08 04:07:40 steve Exp $ */ /*- diff --git a/usr.bin/make/lst.lib/lstIsAtEnd.c b/usr.bin/make/lst.lib/lstIsAtEnd.c index 2c480197c1e08..d7224c1474059 100644 --- a/usr.bin/make/lst.lib/lstIsAtEnd.c +++ b/usr.bin/make/lst.lib/lstIsAtEnd.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstIsAtEnd.c,v 1.2 1996/10/08 04:07:42 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstIsEmpty.c b/usr.bin/make/lst.lib/lstIsEmpty.c index 6a9a7bdb5a298..7280df76f0250 100644 --- a/usr.bin/make/lst.lib/lstIsEmpty.c +++ b/usr.bin/make/lst.lib/lstIsEmpty.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstIsEmpty.c,v 1.2 1996/10/08 04:07:44 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstLast.c b/usr.bin/make/lst.lib/lstLast.c index 49b2f8e39adcf..538743cd8c257 100644 --- a/usr.bin/make/lst.lib/lstLast.c +++ b/usr.bin/make/lst.lib/lstLast.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstLast.c,v 1.2 1996/10/08 04:07:46 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstMember.c b/usr.bin/make/lst.lib/lstMember.c index cc5cb4f416d40..d299da65721de 100644 --- a/usr.bin/make/lst.lib/lstMember.c +++ b/usr.bin/make/lst.lib/lstMember.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstMember.c,v 1.3 1996/10/08 04:07:50 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstNext.c b/usr.bin/make/lst.lib/lstNext.c index f6e2656e89ef4..8298c9aa699f0 100644 --- a/usr.bin/make/lst.lib/lstNext.c +++ b/usr.bin/make/lst.lib/lstNext.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstNext.c,v 1.3 1996/10/08 04:07:52 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstOpen.c b/usr.bin/make/lst.lib/lstOpen.c index fbb7d0e7b2985..1f836d4575131 100644 --- a/usr.bin/make/lst.lib/lstOpen.c +++ b/usr.bin/make/lst.lib/lstOpen.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstOpen.c,v 1.2 1996/10/08 04:07:53 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstRemove.c b/usr.bin/make/lst.lib/lstRemove.c index e84d301ec6267..0b6a86dbb7c89 100644 --- a/usr.bin/make/lst.lib/lstRemove.c +++ b/usr.bin/make/lst.lib/lstRemove.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstRemove.c,v 1.3 1996/10/08 04:07:57 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstReplace.c b/usr.bin/make/lst.lib/lstReplace.c index a2dcb459da2d2..bf34de2224409 100644 --- a/usr.bin/make/lst.lib/lstReplace.c +++ b/usr.bin/make/lst.lib/lstReplace.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstReplace.c,v 1.2 1996/10/08 04:07:58 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/lst.lib/lstSucc.c b/usr.bin/make/lst.lib/lstSucc.c index b43a00cb4dc0d..bf06f5139fe7a 100644 --- a/usr.bin/make/lst.lib/lstSucc.c +++ b/usr.bin/make/lst.lib/lstSucc.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: lstSucc.c,v 1.2 1996/10/08 04:07:59 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c index a358a0e1d8656..cec028a406409 100644 --- a/usr.bin/make/main.c +++ b/usr.bin/make/main.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: main.c,v 1.13 1996/10/11 03:55:29 steve Exp $ + * $Id: main.c,v 1.14 1996/10/12 02:15:30 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/make.1 b/usr.bin/make/make.1 index 0f5b0dd58f471..3a5f46a2b39df 100644 --- a/usr.bin/make/make.1 +++ b/usr.bin/make/make.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 -.\" $Id: make.1,v 1.9 1997/03/03 00:57:48 wosch Exp $ +.\" $Id: make.1,v 1.6.2.1 1997/03/06 07:44:39 mpp Exp $ .\" .Dd March 19, 1994 .Dt MAKE 1 diff --git a/usr.bin/make/make.c b/usr.bin/make/make.c index c9c4b611126b1..805f730b05767 100644 --- a/usr.bin/make/make.c +++ b/usr.bin/make/make.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: make.c,v 1.6 1996/10/08 04:06:01 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/make.h b/usr.bin/make/make.h index 91e2d3aed7e8a..a7026a8b4d5db 100644 --- a/usr.bin/make/make.h +++ b/usr.bin/make/make.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)make.h 8.3 (Berkeley) 6/13/95 - * $Id$ + * $Id: make.h,v 1.5 1996/10/08 04:06:02 steve Exp $ */ /*- diff --git a/usr.bin/make/nonints.h b/usr.bin/make/nonints.h index 1c56450dbc72a..706a3dbf540b0 100644 --- a/usr.bin/make/nonints.h +++ b/usr.bin/make/nonints.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)nonints.h 8.3 (Berkeley) 3/19/94 - * $Id$ + * $Id: nonints.h,v 1.4 1996/10/08 04:06:04 steve Exp $ */ /* arch.c */ diff --git a/usr.bin/make/parse.c b/usr.bin/make/parse.c index 21e8a1efd2938..f6b81b8c58b70 100644 --- a/usr.bin/make/parse.c +++ b/usr.bin/make/parse.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: parse.c,v 1.14 1996/10/08 04:06:05 steve Exp $ + * $Id: parse.c,v 1.14.2.1 1996/11/06 09:34:41 phk Exp $ */ #ifndef lint diff --git a/usr.bin/make/pathnames.h b/usr.bin/make/pathnames.h index fa1d76e94ab72..a98387a321b86 100644 --- a/usr.bin/make/pathnames.h +++ b/usr.bin/make/pathnames.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)pathnames.h 5.2 (Berkeley) 6/1/90 - * $Id: pathnames.h,v 1.4 1996/09/18 06:06:39 swallace Exp $ + * $Id: pathnames.h,v 1.5 1996/10/06 02:34:36 steve Exp $ */ #define _PATH_OBJDIR "obj" diff --git a/usr.bin/make/sprite.h b/usr.bin/make/sprite.h index d2646f4ba4fa3..867d3d0e9165f 100644 --- a/usr.bin/make/sprite.h +++ b/usr.bin/make/sprite.h @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * from: @(#)sprite.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: sprite.h,v 1.5 1996/10/08 04:06:07 steve Exp $ */ /* diff --git a/usr.bin/make/str.c b/usr.bin/make/str.c index 03ea87a5d4733..7b766792d7930 100644 --- a/usr.bin/make/str.c +++ b/usr.bin/make/str.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: str.c,v 1.7 1996/10/08 04:06:08 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/suff.c b/usr.bin/make/suff.c index 5d3cf9aa88a07..6a444ca09a588 100644 --- a/usr.bin/make/suff.c +++ b/usr.bin/make/suff.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: suff.c,v 1.6 1996/10/08 04:06:10 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/targ.c b/usr.bin/make/targ.c index 3fdc65b2ed184..5a3ba50b2727c 100644 --- a/usr.bin/make/targ.c +++ b/usr.bin/make/targ.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: targ.c,v 1.5 1996/10/08 04:06:13 steve Exp $ */ #ifndef lint diff --git a/usr.bin/make/util.c b/usr.bin/make/util.c index 62b0e79dab608..e8b7e8667a431 100644 --- a/usr.bin/make/util.c +++ b/usr.bin/make/util.c @@ -3,7 +3,7 @@ */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: util.c,v 1.2 1996/10/08 04:06:15 steve Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/make/var.c b/usr.bin/make/var.c index f0d741cb0e0cb..76a5eab13f835 100644 --- a/usr.bin/make/var.c +++ b/usr.bin/make/var.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: var.c,v 1.7 1996/10/08 04:06:17 steve Exp $ */ #ifndef lint diff --git a/usr.bin/mesg/mesg.1 b/usr.bin/mesg/mesg.1 index 8f29ec8fd219b..fcc16af452b0b 100644 --- a/usr.bin/mesg/mesg.1 +++ b/usr.bin/mesg/mesg.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mesg.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: mesg.1,v 1.2 1996/08/29 18:06:00 wosch Exp $ .\" .Dd June 6, 1993 .Dt MESG 1 diff --git a/usr.bin/mk_cmds/Makefile b/usr.bin/mk_cmds/Makefile index ef9a00e688a82..6a4b0cb64d77d 100644 --- a/usr.bin/mk_cmds/Makefile +++ b/usr.bin/mk_cmds/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1995/01/19 22:27:57 wollman Exp $ +# $Id: Makefile,v 1.3 1996/06/02 17:18:24 phk Exp $ PROG= mk_cmds # diff --git a/usr.bin/mkdep/mkdep.gcc.sh b/usr.bin/mkdep/mkdep.gcc.sh index 857691e3e3523..9cacfe214abe7 100644 --- a/usr.bin/mkdep/mkdep.gcc.sh +++ b/usr.bin/mkdep/mkdep.gcc.sh @@ -32,7 +32,7 @@ # SUCH DAMAGE. # # @(#)mkdep.gcc.sh 8.1 (Berkeley) 6/6/93 -# $Id$ +# $Id: mkdep.gcc.sh,v 1.8 1996/10/27 15:53:18 wosch Exp $ PATH=/bin:/usr/bin; export PATH diff --git a/usr.bin/mklocale/data/Makefile b/usr.bin/mklocale/data/Makefile index 2b18f1e027bcb..19a9a937c0a41 100644 --- a/usr.bin/mklocale/data/Makefile +++ b/usr.bin/mklocale/data/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.7 1997/02/28 19:51:39 wosch Exp $ +# $Id: Makefile,v 1.3.2.1 1997/02/28 22:54:47 adam Exp $ NOMAN=YES CLEANFILES+= ${LOCALES:S/$/.out/g} diff --git a/usr.bin/mklocale/data/lt_LN.ISO_8859-2.src b/usr.bin/mklocale/data/lt_LN.ISO_8859-2.src index 3f9ad913e06a9..980775948957c 100644 --- a/usr.bin/mklocale/data/lt_LN.ISO_8859-2.src +++ b/usr.bin/mklocale/data/lt_LN.ISO_8859-2.src @@ -1,7 +1,7 @@ /* * LOCALE_CTYPE for the iso_8859_2 Locale * - * $Id$ + * $Id: lt_LN.ISO_8859-2.src,v 1.1 1997/02/28 19:51:39 wosch Exp $ */ ENCODING "NONE" diff --git a/usr.bin/modstat/Makefile b/usr.bin/modstat/Makefile index c7f18f1cbf4a5..bf523d7301c02 100644 --- a/usr.bin/modstat/Makefile +++ b/usr.bin/modstat/Makefile @@ -33,7 +33,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id: Makefile,v 1.1 1994/08/19 12:14:02 davidg Exp $ +# $Id: Makefile,v 1.2 1996/05/30 02:19:03 pst Exp $ # PROG= modstat diff --git a/usr.bin/modstat/modstat.8 b/usr.bin/modstat/modstat.8 index 7a209b47f3a39..25870e2511530 100644 --- a/usr.bin/modstat/modstat.8 +++ b/usr.bin/modstat/modstat.8 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: modstat.8,v 1.2 1994/08/19 13:38:29 davidg Exp $ +.\" $Id: modstat.8,v 1.2.8.1 1996/12/04 16:08:27 phk Exp $ .\" .Dd June 7, 1993 .Dt MODSTAT 8 diff --git a/usr.bin/modstat/modstat.c b/usr.bin/modstat/modstat.c index 7184223d48449..f0742e06fa13c 100644 --- a/usr.bin/modstat/modstat.c +++ b/usr.bin/modstat/modstat.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: modstat.c,v 1.3 1995/04/20 05:08:53 wpaul Exp $ + * $Id: modstat.c,v 1.4 1996/08/08 07:58:07 joerg Exp $ */ #include <stdio.h> diff --git a/usr.bin/more/Makefile b/usr.bin/more/Makefile index aaccab077b4d9..1e89528f1ef49 100644 --- a/usr.bin/more/Makefile +++ b/usr.bin/more/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/6/93 -# $Id: Makefile,v 1.3 1995/02/21 03:46:45 wollman Exp $ +# $Id: Makefile,v 1.4 1995/07/25 00:36:40 bde Exp $ PROG= more CFLAGS+=-I${.CURDIR} -DTERMIOS diff --git a/usr.bin/msgs/Makefile b/usr.bin/msgs/Makefile index 8613f79cb5eab..922893f5d2e5c 100644 --- a/usr.bin/msgs/Makefile +++ b/usr.bin/msgs/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/6/93 -# $Id$ +# $Id: Makefile,v 1.3 1995/02/21 04:15:13 wollman Exp $ PROG= msgs DPADD= ${LIBTERMCAP} diff --git a/usr.bin/netstat/atalk.c b/usr.bin/netstat/atalk.c index 3087426d0f329..204b6d129a008 100644 --- a/usr.bin/netstat/atalk.c +++ b/usr.bin/netstat/atalk.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)atalk.c 1.1 (Whistle) 6/6/96"; */ static const char rcsid[] = - "$Id$"; + "$Id: atalk.c,v 1.6 1996/10/28 18:56:31 wollman Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c index 84ba041348753..c7d45808cd364 100644 --- a/usr.bin/netstat/inet.c +++ b/usr.bin/netstat/inet.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)inet.c 8.5 (Berkeley) 5/24/95"; */ static const char rcsid[] = - "$Id$"; + "$Id: inet.c,v 1.21 1996/10/28 18:56:34 wollman Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.bin/netstat/ipx.c b/usr.bin/netstat/ipx.c index fb55788be5043..b6eb71563c40f 100644 --- a/usr.bin/netstat/ipx.c +++ b/usr.bin/netstat/ipx.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)ns.c 8.1 (Berkeley) 6/6/93"; */ static const char rcsid[] = - "$Id$"; + "$Id: ipx.c,v 1.4 1996/10/28 18:56:39 wollman Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.bin/netstat/iso.c b/usr.bin/netstat/iso.c index ade41449ce7c8..937bf1ababfc1 100644 --- a/usr.bin/netstat/iso.c +++ b/usr.bin/netstat/iso.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)iso.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ /* - * $Header: /home/ncvs/src/usr.bin/netstat/iso.c,v 1.1.1.1 1994/05/27 12:32:25 rgrimes Exp $ + * $Header: /home/ncvs/src/usr.bin/netstat/iso.c,v 1.2 1995/04/09 05:33:17 davidg Exp $ * $Source: /home/ncvs/src/usr.bin/netstat/iso.c,v $ */ /******************************************************************************* diff --git a/usr.bin/netstat/route.c b/usr.bin/netstat/route.c index 74bbddedfd785..6c46ce1a33201 100644 --- a/usr.bin/netstat/route.c +++ b/usr.bin/netstat/route.c @@ -36,7 +36,7 @@ static char sccsid[] = "From: @(#)route.c 8.6 (Berkeley) 4/28/95"; #endif static const char rcsid[] = - "$Id: route.c,v 1.20 1996/10/09 18:19:07 wollman Exp $"; + "$Id: route.c,v 1.21 1996/10/28 18:56:44 wollman Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.bin/nfsstat/nfsstat.1 b/usr.bin/nfsstat/nfsstat.1 index 5e798b7289ed4..71625c1140fc0 100644 --- a/usr.bin/nfsstat/nfsstat.1 +++ b/usr.bin/nfsstat/nfsstat.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)nfsstat.1 8.1 (Berkeley) 6/6/93 -.\" $Id: nfsstat.1,v 1.3 1994/10/23 23:25:42 wollman Exp $ +.\" $Id: nfsstat.1,v 1.4 1996/01/20 07:28:51 mpp Exp $ .\" .Dd June 6, 1993 .Dt NFSSTAT 1 diff --git a/usr.bin/nfsstat/nfsstat.c b/usr.bin/nfsstat/nfsstat.c index bb677fba21ce6..6b069b30f3aec 100644 --- a/usr.bin/nfsstat/nfsstat.c +++ b/usr.bin/nfsstat/nfsstat.c @@ -43,7 +43,7 @@ static char copyright[] = #ifndef lint /*static char sccsid[] = "From: @(#)nfsstat.c 8.1 (Berkeley) 6/6/93";*/ static const char rcsid[] = - "$Id: nfsstat.c,v 1.5 1995/10/30 15:44:44 phk Exp $"; + "$Id: nfsstat.c,v 1.6 1996/03/11 03:03:12 hsu Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.bin/nice/nice.1 b/usr.bin/nice/nice.1 index 92720b87ac27b..1bbf6ee7de615 100644 --- a/usr.bin/nice/nice.1 +++ b/usr.bin/nice/nice.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)nice.1 8.1 (Berkeley) 6/6/93 -.\" $Id: nice.1,v 1.5 1997/02/22 19:56:26 peter Exp $ +.\" $Id: nice.1,v 1.1.1.1.8.2 1997/03/06 07:44:50 mpp Exp $ .\" .Dd June 6, 1993 .Dt NICE 1 diff --git a/usr.bin/nm/nm.1 b/usr.bin/nm/nm.1 index 053aa0c9ee23c..29d9c5c8983ff 100644 --- a/usr.bin/nm/nm.1 +++ b/usr.bin/nm/nm.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)nm.1 8.1 (Berkeley) 6/6/93 -.\" $Id: nm.1,v 1.7 1997/02/22 19:56:28 peter Exp $ +.\" $Id: nm.1,v 1.4.2.1 1997/03/06 07:44:53 mpp Exp $ .\" .Dd June 6, 1993 .Dt NM 1 diff --git a/usr.bin/opieinfo/Makefile b/usr.bin/opieinfo/Makefile index 1e3f9778feb3e..c17edba79096e 100644 --- a/usr.bin/opieinfo/Makefile +++ b/usr.bin/opieinfo/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.1.1.2.1 1997/02/22 04:59:30 nate Exp $ # OPIE_DIST?= ${.CURDIR}/../../contrib/opie diff --git a/usr.bin/opiekey/Makefile b/usr.bin/opiekey/Makefile index de04e8daa6e06..4f0d3c72aedc3 100644 --- a/usr.bin/opiekey/Makefile +++ b/usr.bin/opiekey/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.1.1.2.1 1997/02/22 05:00:19 nate Exp $ # OPIE_DIST?= ${.CURDIR}/../../contrib/opie diff --git a/usr.bin/opiepasswd/Makefile b/usr.bin/opiepasswd/Makefile index bb52c8229bcd7..a00c96a861507 100644 --- a/usr.bin/opiepasswd/Makefile +++ b/usr.bin/opiepasswd/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.1.1.2.1 1997/02/22 04:58:12 nate Exp $ # OPIE_DIST?= ${.CURDIR}/../../contrib/opie diff --git a/usr.bin/pagesize/pagesize.sh b/usr.bin/pagesize/pagesize.sh index 950ec81afc687..9e13026600462 100644 --- a/usr.bin/pagesize/pagesize.sh +++ b/usr.bin/pagesize/pagesize.sh @@ -32,7 +32,7 @@ # SUCH DAMAGE. # # @(#)pagesize.sh 8.1 (Berkeley) 4/3/94 -# $Id: pagesize.sh,v 1.2 1996/11/05 07:17:33 wosch Exp $ +# $Id: pagesize.sh,v 1.1.1.1.8.1 1996/11/06 09:35:20 phk Exp $ # PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH diff --git a/usr.bin/passwd/Makefile b/usr.bin/passwd/Makefile index 2c6566d48ee8c..d9557c262e758 100644 --- a/usr.bin/passwd/Makefile +++ b/usr.bin/passwd/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.3 (Berkeley) 4/2/94 -# $Id: Makefile,v 1.20 1996/11/03 03:11:54 jkh Exp $ +# $Id: Makefile,v 1.19.2.1 1996/11/05 20:13:30 phk Exp $ PROG= passwd SRCS= local_passwd.c yppasswd_private_xdr.c yppasswd_comm.c yp_passwd.c \ diff --git a/usr.bin/passwd/extern.h b/usr.bin/passwd/extern.h index 7a4bd127c98d6..43c2d8e6ab26c 100644 --- a/usr.bin/passwd/extern.h +++ b/usr.bin/passwd/extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * From: @(#)extern.h 8.1 (Berkeley) 4/2/94 - * $Id$ + * $Id: extern.h,v 1.2 1995/01/20 22:03:36 wollman Exp $ */ int krb_passwd __P((char *, char *, char *, char *)); diff --git a/usr.bin/passwd/local_passwd.c b/usr.bin/passwd/local_passwd.c index 471ce90bd5c9d..2e165ea3ba3cb 100644 --- a/usr.bin/passwd/local_passwd.c +++ b/usr.bin/passwd/local_passwd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: local_passwd.c,v 1.10 1996/11/03 03:11:57 jkh Exp $ + * $Id: local_passwd.c,v 1.9.2.1 1996/11/05 20:13:31 phk Exp $ */ #ifndef lint diff --git a/usr.bin/passwd/passwd.c b/usr.bin/passwd/passwd.c index 13113c0b39545..db8659dce0356 100644 --- a/usr.bin/passwd/passwd.c +++ b/usr.bin/passwd/passwd.c @@ -43,7 +43,7 @@ static const char copyright[] = #ifndef lint static const char sccsid[] = "From: @(#)passwd.c 8.3 (Berkeley) 4/2/94"; static const char rcsid[] = - "$Id: passwd.c,v 1.8 1996/02/23 16:08:26 wpaul Exp $"; + "$Id: passwd.c,v 1.9 1996/10/23 14:50:30 wpaul Exp $"; #endif /* not lint */ #include <err.h> diff --git a/usr.bin/pr/pr.1 b/usr.bin/pr/pr.1 index 88eeeed339d32..9cde85ad26121 100644 --- a/usr.bin/pr/pr.1 +++ b/usr.bin/pr/pr.1 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pr.1 8.3 (Berkeley) 4/18/94 -.\" $Id$ +.\" $Id: pr.1,v 1.2 1996/08/29 18:06:06 wosch Exp $ .\" .Dd April 18, 1994 .Dt PR 1 diff --git a/usr.bin/quota/quota.1 b/usr.bin/quota/quota.1 index 8279d93e26e15..d36031db1d1a4 100644 --- a/usr.bin/quota/quota.1 +++ b/usr.bin/quota/quota.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)quota.1 8.1 (Berkeley) 6/6/93 -.\" $Id: quota.1,v 1.2 1996/01/05 08:37:28 graichen Exp $ +.\" $Id: quota.1,v 1.3 1996/10/05 22:27:14 wosch Exp $ .\" .Dd June 6, 1993 .Dt QUOTA 1 diff --git a/usr.bin/ranlib/ranlib.1 b/usr.bin/ranlib/ranlib.1 index bb419d6c5d9dd..f02e79abb5ced 100644 --- a/usr.bin/ranlib/ranlib.1 +++ b/usr.bin/ranlib/ranlib.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ranlib.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: ranlib.1,v 1.3 1996/10/05 22:27:16 wosch Exp $ .\" .Dd June 6, 1993 .Dt RANLIB 1 diff --git a/usr.bin/rdist/docmd.c b/usr.bin/rdist/docmd.c index fc937ae8c6a2e..c7697b6000471 100644 --- a/usr.bin/rdist/docmd.c +++ b/usr.bin/rdist/docmd.c @@ -34,7 +34,7 @@ #ifndef lint /*static char sccsid[] = "From: @(#)docmd.c 8.1 (Berkeley) 6/9/93";*/ static const char rcsid[] = - "$Id: docmd.c,v 1.6 1996/09/24 08:06:21 bde Exp $"; + "$Id: docmd.c,v 1.6.2.1 1997/02/23 23:44:00 joerg Exp $"; #endif /* not lint */ #include "defs.h" diff --git a/usr.bin/rdist/rshrcmd.c b/usr.bin/rdist/rshrcmd.c index 0a81b414e7c0d..98e977f784586 100644 --- a/usr.bin/rdist/rshrcmd.c +++ b/usr.bin/rdist/rshrcmd.c @@ -6,7 +6,7 @@ #ifndef lint static char RCSid[] = -"$Id: rshrcmd.c,v 1.1 1996/08/10 07:54:17 peter Exp $"; +"$Id: rshrcmd.c,v 1.1.2.1 1996/12/14 14:04:52 joerg Exp $"; #endif #include "defs.h" diff --git a/usr.bin/rpcinfo/Makefile b/usr.bin/rpcinfo/Makefile index 1605846fbea1e..4b2f3ee88fa73 100644 --- a/usr.bin/rpcinfo/Makefile +++ b/usr.bin/rpcinfo/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.2 (Berkeley) 5/11/90 -# $Id: Makefile,v 1.2 1993/11/10 03:46:45 smace Exp $ +# $Id: Makefile,v 1.1 1994/08/07 18:23:23 wollman Exp $ PROG= rpcinfo MAN8 = rpcinfo.8 diff --git a/usr.bin/rpcinfo/rpcinfo.8 b/usr.bin/rpcinfo/rpcinfo.8 index c2c556decc81d..e52253b99b701 100644 --- a/usr.bin/rpcinfo/rpcinfo.8 +++ b/usr.bin/rpcinfo/rpcinfo.8 @@ -1,5 +1,5 @@ .\" from: @(#)rpcinfo.8c 2.2 88/08/03 4.0 RPCSRC; from 1.24 88/02/25 SMI -.\" $Id: rpcinfo.8,v 1.1 1993/09/13 23:22:41 jtc Exp $ +.\" $Id: rpcinfo.8,v 1.1 1994/08/07 18:23:24 wollman Exp $ .\" .Dd December 17, 1987 .Dt RPCINFO 8 diff --git a/usr.bin/rpcinfo/rpcinfo.c b/usr.bin/rpcinfo/rpcinfo.c index 0258461202be4..aa203368f085c 100644 --- a/usr.bin/rpcinfo/rpcinfo.c +++ b/usr.bin/rpcinfo/rpcinfo.c @@ -1,7 +1,7 @@ #ifndef lint /*static char sccsid[] = "from: @(#)rpcinfo.c 1.22 87/08/12 SMI";*/ /*static char sccsid[] = "from: @(#)rpcinfo.c 2.2 88/08/11 4.0 RPCSRC";*/ -static char rcsid[] = "$Id: rpcinfo.c,v 1.1 1994/08/07 18:23:25 wollman Exp $"; +static char rcsid[] = "$Id: rpcinfo.c,v 1.2 1995/05/30 06:33:23 rgrimes Exp $"; #endif /* diff --git a/usr.bin/rsh/rsh.c b/usr.bin/rsh/rsh.c index 6d2034368c19e..f5835bb2f9aac 100644 --- a/usr.bin/rsh/rsh.c +++ b/usr.bin/rsh/rsh.c @@ -40,7 +40,7 @@ static char copyright[] = #ifndef lint static char sccsid[] = "From: @(#)rsh.c 8.3 (Berkeley) 4/6/94"; static char rcsid[] = - "$Id: rsh.c,v 1.7 1996/02/11 09:14:12 markm Exp $"; + "$Id: rsh.c,v 1.8 1996/09/06 05:24:05 jkh Exp $"; #endif /* not lint */ #include <sys/types.h> diff --git a/usr.bin/rup/Makefile b/usr.bin/rup/Makefile index 1d53109f824f4..4882354332bcd 100644 --- a/usr.bin/rup/Makefile +++ b/usr.bin/rup/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1993/11/10 03:47:06 smace Exp $ +# $Id: Makefile,v 1.1.1.1 1994/08/28 15:01:31 csgr Exp $ PROG= rup MAN1= rup.1 diff --git a/usr.bin/rup/rup.1 b/usr.bin/rup/rup.1 index c228e44403137..fc47433deb0c8 100644 --- a/usr.bin/rup/rup.1 +++ b/usr.bin/rup/rup.1 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rup.1,v 1.2 1994/11/18 21:37:40 ats Exp $ +.\" $Id: rup.1,v 1.3 1996/01/30 13:50:33 mpp Exp $ .\" .Dd June 7, 1993 .Dt RUP 1 diff --git a/usr.bin/rup/rup.c b/usr.bin/rup/rup.c index 8b34618e0619d..0634166ac2a99 100644 --- a/usr.bin/rup/rup.c +++ b/usr.bin/rup/rup.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: rup.c,v 1.4 1995/11/21 05:43:27 wpaul Exp $"; #endif /* not lint */ #include <stdio.h> diff --git a/usr.bin/ruptime/ruptime.1 b/usr.bin/ruptime/ruptime.1 index 3e48bce413eab..9b38019a13e3a 100644 --- a/usr.bin/ruptime/ruptime.1 +++ b/usr.bin/ruptime/ruptime.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ruptime.1 8.2 (Berkeley) 4/5/94 -.\" $Id$ +.\" $Id: ruptime.1,v 1.2 1996/09/23 22:24:20 wosch Exp $ .\" .Dd April 5, 1994 .Dt RUPTIME 1 diff --git a/usr.bin/ruptime/ruptime.c b/usr.bin/ruptime/ruptime.c index 1fa0641098d84..f929f7a186a7e 100644 --- a/usr.bin/ruptime/ruptime.c +++ b/usr.bin/ruptime/ruptime.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. */ -/* $Id: ruptime.c,v 1.6 1995/09/08 20:33:21 jkh Exp $ */ +/* $Id: ruptime.c,v 1.7 1996/10/23 04:23:36 scrappy Exp $ */ #ifndef lint static char copyright[] = diff --git a/usr.bin/rusers/Makefile b/usr.bin/rusers/Makefile index 6e2fd6ab2fc61..eeb303266378a 100644 --- a/usr.bin/rusers/Makefile +++ b/usr.bin/rusers/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1993/11/10 03:47:23 smace Exp $ +# $Id: Makefile,v 1.1.1.1 1994/08/28 15:06:02 csgr Exp $ PROG = rusers MAN1 = rusers.1 diff --git a/usr.bin/rusers/rusers.1 b/usr.bin/rusers/rusers.1 index 79a5b29c61cb5..4093b2f91f909 100644 --- a/usr.bin/rusers/rusers.1 +++ b/usr.bin/rusers/rusers.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)rusers.1 6.7 (Berkeley) 4/23/91 -.\" $Id: rusers.1,v 1.5 1997/02/22 19:56:52 peter Exp $ +.\" $Id: rusers.1,v 1.2.2.1 1997/03/06 07:45:03 mpp Exp $ .\" .Dd April 23, 1991 .Dt RUSERS 1 diff --git a/usr.bin/rusers/rusers.c b/usr.bin/rusers/rusers.c index 9c7234239698b..6f6b365517726 100644 --- a/usr.bin/rusers/rusers.c +++ b/usr.bin/rusers/rusers.c @@ -32,7 +32,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: rusers.c,v 1.1.1.1 1994/08/28 15:06:02 csgr Exp $"; +static char rcsid[] = "$Id: rusers.c,v 1.2 1995/05/30 06:33:28 rgrimes Exp $"; #endif /* not lint */ #include <sys/types.h> diff --git a/usr.bin/rwall/Makefile b/usr.bin/rwall/Makefile index 07bb67880ebd6..e78348bc308f2 100644 --- a/usr.bin/rwall/Makefile +++ b/usr.bin/rwall/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1993/11/10 03:47:37 smace Exp $ +# $Id: Makefile,v 1.1.1.1 1994/08/28 15:11:02 csgr Exp $ PROG = rwall MAN1 = rwall.1 diff --git a/usr.bin/rwall/rwall.1 b/usr.bin/rwall/rwall.1 index 323d9e6801666..241085d9705f5 100644 --- a/usr.bin/rwall/rwall.1 +++ b/usr.bin/rwall/rwall.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)rwall.1 6.7 (Berkeley) 4/23/91 -.\" $Id: rwall.1,v 1.4 1997/02/22 19:56:55 peter Exp $ +.\" $Id: rwall.1,v 1.1.1.1.8.1 1997/03/06 07:45:05 mpp Exp $ .\" .Dd April 23, 1991 .Dt RWALL 1 diff --git a/usr.bin/rwall/rwall.c b/usr.bin/rwall/rwall.c index 8a2e2b3fa2a58..a1d85e2007503 100644 --- a/usr.bin/rwall/rwall.c +++ b/usr.bin/rwall/rwall.c @@ -40,7 +40,7 @@ char copyright[] = #ifndef lint /*static char sccsid[] = "from: @(#)wall.c 5.14 (Berkeley) 3/2/91";*/ -static char rcsid[] = "$Id: rwall.c,v 1.1.1.1 1994/08/28 15:11:02 csgr Exp $"; +static char rcsid[] = "$Id: rwall.c,v 1.2 1995/05/30 06:33:30 rgrimes Exp $"; #endif /* not lint */ /* diff --git a/usr.bin/sasc/sasc.1 b/usr.bin/sasc/sasc.1 index 5c67984aa17b6..d5874dad393d7 100644 --- a/usr.bin/sasc/sasc.1 +++ b/usr.bin/sasc/sasc.1 @@ -28,7 +28,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: sasc.1,v 1.2 1995/09/08 18:42:44 julian Exp $ +.\" $Id: sasc.1,v 1.3 1996/01/30 13:50:40 mpp Exp $ .\" .TH SASC 1 "January 6, 1995" FreeBSD "FreeBSD Reference Manual" .SH NAME diff --git a/usr.bin/sasc/sasc.c b/usr.bin/sasc/sasc.c index 2e1c74fa12a45..b76fb9ff4a7c7 100644 --- a/usr.bin/sasc/sasc.c +++ b/usr.bin/sasc/sasc.c @@ -29,7 +29,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* - * $Id:$ + * $Id: sasc.c,v 1.2 1995/09/08 18:42:46 julian Exp $ */ #include <stdlib.h> diff --git a/usr.bin/sgmlfmt/Makefile b/usr.bin/sgmlfmt/Makefile index 8d761b4192c56..a97bf58d47193 100644 --- a/usr.bin/sgmlfmt/Makefile +++ b/usr.bin/sgmlfmt/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1995/05/09 23:58:06 jfieber Exp $ +# $Id: Makefile,v 1.2 1995/07/25 00:36:45 bde Exp $ MAN1= sgmlfmt.1 diff --git a/usr.bin/sgmlfmt/sgmlfmt.pl b/usr.bin/sgmlfmt/sgmlfmt.pl index ed3b757b425bc..00261d1014099 100755 --- a/usr.bin/sgmlfmt/sgmlfmt.pl +++ b/usr.bin/sgmlfmt/sgmlfmt.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Id$ +# $Id: sgmlfmt.pl,v 1.17.2.2 1997/02/07 02:47:27 jfieber Exp $ # Copyright (C) 1996 # John R. Fieber. All rights reserved. diff --git a/usr.bin/sgmls/Makefile b/usr.bin/sgmls/Makefile index 8986502e5a3f0..ca3543002db60 100644 --- a/usr.bin/sgmls/Makefile +++ b/usr.bin/sgmls/Makefile @@ -1,6 +1,6 @@ # # Bmake file for sgmls -# $Id: Makefile,v 1.2 1996/09/08 02:00:37 jfieber Exp $ +# $Id: Makefile,v 1.3 1996/09/08 20:44:29 jfieber Exp $ # SUBDIR= libsgmls sgmls instant diff --git a/usr.bin/sgmls/Makefile.inc b/usr.bin/sgmls/Makefile.inc index e1ed57f18531b..6c083b6c7f06c 100644 --- a/usr.bin/sgmls/Makefile.inc +++ b/usr.bin/sgmls/Makefile.inc @@ -1,7 +1,7 @@ # # Bmakefile for rast # -# $Id: Makefile.inc,v 1.3 1996/06/19 20:36:35 jkh Exp $ +# $Id: Makefile.inc,v 1.4 1996/06/24 04:24:39 jkh Exp $ # .if exists(${.CURDIR}/../../Makefile.inc) diff --git a/usr.bin/sgmls/README b/usr.bin/sgmls/README index dd6e2578f8c25..10916316bd280 100644 --- a/usr.bin/sgmls/README +++ b/usr.bin/sgmls/README @@ -1,4 +1,4 @@ -$Id:$ +$Id: README,v 1.1.1.1 1995/04/27 16:03:39 jfieber Exp $ This the sgmls release 1.1 SGML parser written by James Clark jjc@jclark.com, repackaged for FreeBSD. The original source may be diff --git a/usr.bin/sgmls/instant/Makefile b/usr.bin/sgmls/instant/Makefile index cefd268620bee..cfc7184e9d9ce 100644 --- a/usr.bin/sgmls/instant/Makefile +++ b/usr.bin/sgmls/instant/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1996/01/16 05:14:09 jfieber Exp $ +# $Id: Makefile,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $ PROG= instant SRCS= browse.c info.c main.c tables.c traninit.c translate.c diff --git a/usr.bin/sgmls/instant/browse.c b/usr.bin/sgmls/instant/browse.c index c904476d96e77..946c2f35e53c5 100644 --- a/usr.bin/sgmls/instant/browse.c +++ b/usr.bin/sgmls/instant/browse.c @@ -56,7 +56,7 @@ #ifndef lint static char *RCSid = - "$Header: /usr/src/docbook-to-man/Instant/RCS/browse.c,v 1.2 1996/06/02 21:46:10 fld Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/browse.c,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/sgmls/instant/general.h b/usr.bin/sgmls/instant/general.h index f6e6ea00da9fe..614824eaf0832 100644 --- a/usr.bin/sgmls/instant/general.h +++ b/usr.bin/sgmls/instant/general.h @@ -53,7 +53,7 @@ #ifdef STORAGE #ifndef lint static char *gen_h_RCSid = - "$Header: /usr/src/docbook-to-man/Instant/RCS/general.h,v 1.5 1996/06/11 20:25:03 fld Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/general.h,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #endif diff --git a/usr.bin/sgmls/instant/hyper.c b/usr.bin/sgmls/instant/hyper.c index 4f50b97bb0d7a..4ce2d520c67a7 100644 --- a/usr.bin/sgmls/instant/hyper.c +++ b/usr.bin/sgmls/instant/hyper.c @@ -56,7 +56,7 @@ #ifndef lint static char *RCSid = - "$Header: /usr/src/docbook-to-man/Instant/RCS/hyper.c,v 1.2 1996/06/02 21:46:10 fld Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/hyper.c,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/sgmls/instant/info.c b/usr.bin/sgmls/instant/info.c index 27ab1c7311829..a6015fcc78348 100644 --- a/usr.bin/sgmls/instant/info.c +++ b/usr.bin/sgmls/instant/info.c @@ -61,7 +61,7 @@ #ifndef lint static char *RCSid = - "$Header: /usr/src/docbook-to-man/Instant/RCS/info.c,v 1.2 1996/06/02 21:46:10 fld Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/info.c,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/sgmls/instant/main.c b/usr.bin/sgmls/instant/main.c index 511fedfef8dfb..cc5a04dfd3b96 100644 --- a/usr.bin/sgmls/instant/main.c +++ b/usr.bin/sgmls/instant/main.c @@ -66,7 +66,7 @@ #ifndef lint static char *RCSid = - "$Header: /usr/src/docbook-to-man/Instant/RCS/main.c,v 1.8 1996/06/12 03:32:48 fld Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/main.c,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/sgmls/instant/tables.c b/usr.bin/sgmls/instant/tables.c index 54fd2110946b3..3b3e9f7085989 100644 --- a/usr.bin/sgmls/instant/tables.c +++ b/usr.bin/sgmls/instant/tables.c @@ -73,7 +73,7 @@ #ifndef lint static char *RCSid = - "$Header: /usr/src/docbook-to-man/Instant/RCS/tables.c,v 1.11 1996/06/15 03:45:02 fld Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/tables.c,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/sgmls/instant/traninit.c b/usr.bin/sgmls/instant/traninit.c index d3df959c784bb..b2e90beb57953 100644 --- a/usr.bin/sgmls/instant/traninit.c +++ b/usr.bin/sgmls/instant/traninit.c @@ -59,7 +59,7 @@ #ifndef lint static char *RCSid = - "$Header: /usr/local/home/jfieber/src/cvsroot/nsgmlfmt/traninit.c,v 1.1.1.1 1996/01/16 05:14:10 jfieber Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/traninit.c,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/sgmls/instant/translate.c b/usr.bin/sgmls/instant/translate.c index cc96b253247f1..29b611798fa6e 100644 --- a/usr.bin/sgmls/instant/translate.c +++ b/usr.bin/sgmls/instant/translate.c @@ -59,7 +59,7 @@ #ifndef lint static char *RCSid = - "$Header: /usr/src/docbook-to-man/Instant/RCS/translate.c,v 1.11 1996/06/15 22:49:00 fld Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/translate.c,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/sgmls/instant/translate.h b/usr.bin/sgmls/instant/translate.h index 777d591175851..f2d2719ce141d 100644 --- a/usr.bin/sgmls/instant/translate.h +++ b/usr.bin/sgmls/instant/translate.h @@ -56,7 +56,7 @@ #ifdef STORAGE #ifndef lint static char *tr_h_RCSid = - "$Header: /usr/src/docbook-to-man/Instant/RCS/translate.h,v 1.3 1996/06/02 21:47:32 fld Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/translate.h,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #endif diff --git a/usr.bin/sgmls/instant/tranvar.c b/usr.bin/sgmls/instant/tranvar.c index 2432556efccb0..86006bc0339b2 100644 --- a/usr.bin/sgmls/instant/tranvar.c +++ b/usr.bin/sgmls/instant/tranvar.c @@ -55,7 +55,7 @@ #ifndef lint static char *RCSid = - "$Header: /home/ncvs/src/usr.bin/sgmls/instant/tranvar.c,v 1.2 1997/01/08 01:40:52 jfieber Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/tranvar.c,v 1.1.1.1.2.1 1997/02/07 02:40:45 jfieber Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/sgmls/instant/util.c b/usr.bin/sgmls/instant/util.c index eb6015d7f253c..0fe6143e3e0bc 100644 --- a/usr.bin/sgmls/instant/util.c +++ b/usr.bin/sgmls/instant/util.c @@ -73,7 +73,7 @@ #ifndef lint static char *RCSid = - "$Header: /usr/src/docbook-to-man/Instant/RCS/util.c,v 1.4 1996/06/02 21:47:32 fld Exp $"; + "$Header: /home/ncvs/src/usr.bin/sgmls/instant/util.c,v 1.1.1.1 1996/09/08 01:55:10 jfieber Exp $"; #endif #include <stdio.h> diff --git a/usr.bin/sgmls/libsgmls/Makefile b/usr.bin/sgmls/libsgmls/Makefile index 0d058f36546ad..59ec0557bbe50 100644 --- a/usr.bin/sgmls/libsgmls/Makefile +++ b/usr.bin/sgmls/libsgmls/Makefile @@ -1,7 +1,7 @@ # # Bmakefile for libsgmls # -# $Id$ +# $Id: Makefile,v 1.2 1996/06/04 19:08:21 jfieber Exp $ # LIB= sgmls diff --git a/usr.bin/sgmls/sgmls/Makefile b/usr.bin/sgmls/sgmls/Makefile index b46e9f6f56e69..b525675aefe19 100644 --- a/usr.bin/sgmls/sgmls/Makefile +++ b/usr.bin/sgmls/sgmls/Makefile @@ -1,7 +1,7 @@ # # Bmakefile for sgmls # -# $Id$ +# $Id: Makefile,v 1.2 1996/06/04 19:08:26 jfieber Exp $ # PROG= sgmls diff --git a/usr.bin/sgmls/sgmls/sgmls.1 b/usr.bin/sgmls/sgmls/sgmls.1 index bd92c92e28ff5..50a6826a5dca0 100644 --- a/usr.bin/sgmls/sgmls/sgmls.1 +++ b/usr.bin/sgmls/sgmls/sgmls.1 @@ -1,4 +1,4 @@ -'\" $Id$ +'\" $Id: sgmls.1,v 1.3 1996/10/05 22:27:18 wosch Exp $ '\" t .\" Uncomment the next line to get a man page accurate for MS-DOS .\"nr Os 1 diff --git a/usr.bin/strip/strip.1 b/usr.bin/strip/strip.1 index d9252ac6e910d..0cb3244cf0154 100644 --- a/usr.bin/strip/strip.1 +++ b/usr.bin/strip/strip.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)strip.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: strip.1,v 1.3 1996/08/29 18:06:12 wosch Exp $ .\" .Dd June 6, 1993 .Dt STRIP 1 diff --git a/usr.bin/strip/strip.c b/usr.bin/strip/strip.c index 354213ab7fd49..238d0912f0ea3 100644 --- a/usr.bin/strip/strip.c +++ b/usr.bin/strip/strip.c @@ -39,7 +39,7 @@ static char copyright[] = #ifndef lint /*static char sccsid[] = "@(#)strip.c 8.1 (Berkeley) 6/6/93";*/ -static char RCSid[] = "$Id: strip.c,v 1.5 1995/05/30 06:34:16 rgrimes Exp $"; +static char RCSid[] = "$Id: strip.c,v 1.6 1996/03/11 03:36:10 mpp Exp $"; #endif /* not lint */ #include <sys/types.h> diff --git a/usr.bin/su/su.1 b/usr.bin/su/su.1 index b9511cdc1bfbf..4c6fc4132ba40 100644 --- a/usr.bin/su/su.1 +++ b/usr.bin/su/su.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)su.1 8.2 (Berkeley) 4/18/94 -.\" $Id: su.1,v 1.3.2.1 1997/03/06 07:45:09 mpp Exp $ +.\" $Id: su.1,v 1.3.2.2 1997/03/07 09:01:22 joerg Exp $ .\" .\" this is for hilit19's braindeadness: " .Dd April 18, 1994 diff --git a/usr.bin/su/su.c b/usr.bin/su/su.c index 039452d423e0c..58ad27e359173 100644 --- a/usr.bin/su/su.c +++ b/usr.bin/su/su.c @@ -42,7 +42,7 @@ static const char copyright[] = static char sccsid[] = "@(#)su.c 8.3 (Berkeley) 4/2/94"; */ static const char rcsid[] = - "$Id: su.c,v 1.14 1996/10/07 10:00:58 joerg Exp $"; + "$Id: su.c,v 1.14.2.1 1997/03/07 09:01:23 joerg Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.bin/systat/netcmds.c b/usr.bin/systat/netcmds.c index 94dc3ca381e55..42d0ac12cb9d3 100644 --- a/usr.bin/systat/netcmds.c +++ b/usr.bin/systat/netcmds.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)netcmds.c 8.1 (Berkeley) 6/6/93"; */ static const char rcsid[] = - "$Id$"; + "$Id: netcmds.c,v 1.4 1996/10/28 19:08:10 wollman Exp $"; #endif /* not lint */ /* diff --git a/usr.bin/systat/netstat.c b/usr.bin/systat/netstat.c index 511d10f53511d..04d4c65fdf585 100644 --- a/usr.bin/systat/netstat.c +++ b/usr.bin/systat/netstat.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)netstat.c 8.1 (Berkeley) 6/6/93"; */ static const char rcsid[] = - "$Id: netstat.c,v 1.5 1996/10/28 19:08:13 wollman Exp $"; + "$Id: netstat.c,v 1.5.2.1 1996/11/02 20:35:53 phk Exp $"; #endif /* not lint */ /* diff --git a/usr.bin/talk/Makefile b/usr.bin/talk/Makefile index c676d5db19bd9..047b347c2d463 100644 --- a/usr.bin/talk/Makefile +++ b/usr.bin/talk/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/6/93 -# $Id: Makefile,v 1.3 1995/02/21 04:35:43 wollman Exp $ +# $Id: Makefile,v 1.4 1996/03/09 19:22:49 joerg Exp $ PROG= talk DPADD= ${LIBCURSES} ${LIBTERMCAP} diff --git a/usr.bin/talk/get_iface.c b/usr.bin/talk/get_iface.c index 741392e3db7e8..03448055f4a42 100644 --- a/usr.bin/talk/get_iface.c +++ b/usr.bin/talk/get_iface.c @@ -29,7 +29,7 @@ * From: * Id: find_interface.c,v 1.1 1995/08/14 16:08:39 wollman Exp * - * $Id: get_iface.c,v 1.1 1996/03/09 19:22:52 joerg Exp $ + * $Id: get_iface.c,v 1.2 1996/03/12 10:23:30 ache Exp $ */ #include <unistd.h> diff --git a/usr.bin/tclsh/Makefile b/usr.bin/tclsh/Makefile index db56a03f0f258..8f702411d1d89 100644 --- a/usr.bin/tclsh/Makefile +++ b/usr.bin/tclsh/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/06/26 17:52:19 phk Exp $ PROG= tclsh SRCS= tclAppInit.c diff --git a/usr.bin/tconv/Makefile b/usr.bin/tconv/Makefile index 11b45dba3a66d..b86086acc1184 100644 --- a/usr.bin/tconv/Makefile +++ b/usr.bin/tconv/Makefile @@ -1,5 +1,5 @@ # Makefile for tconv -# $Id: Makefile,v 1.1.1.1 1994/10/09 17:40:30 ache Exp $ +# $Id: Makefile,v 1.2 1995/01/15 06:19:01 jkh Exp $ PROG= tconv SRCS= tconv.c quit.c diff --git a/usr.bin/tconv/tconv.1 b/usr.bin/tconv/tconv.1 index d7e1224399734..a6760fa868882 100644 --- a/usr.bin/tconv/tconv.1 +++ b/usr.bin/tconv/tconv.1 @@ -1,5 +1,5 @@ .\" @(#) mytinfo tconv.1 3.2 92/02/01 public domain, By Ross Ridge -.\" $Id$ +.\" $Id: tconv.1,v 1.5 1996/10/05 22:27:20 wosch Exp $ .\" .TH TCONV 1 "92/02/01" "mytinfo" .SH NAME diff --git a/usr.bin/telnet/telnet.1 b/usr.bin/telnet/telnet.1 index fdb92da6de5ee..cb177979eea03 100644 --- a/usr.bin/telnet/telnet.1 +++ b/usr.bin/telnet/telnet.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)telnet.1 8.5 (Berkeley) 3/1/94 -.\" $Id: telnet.1,v 1.3 1996/10/05 22:27:22 wosch Exp $ +.\" $Id: telnet.1,v 1.3.2.1 1997/02/05 06:01:04 pst Exp $ .\" .Dd March 1, 1994 .Dt TELNET 1 diff --git a/usr.bin/tsort/tsort.c b/usr.bin/tsort/tsort.c index 37ce8565afc11..c94a5e4291d46 100644 --- a/usr.bin/tsort/tsort.c +++ b/usr.bin/tsort/tsort.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: tsort.c,v 1.3 1996/06/10 16:12:43 phk Exp $ + * $Id: tsort.c,v 1.4 1996/08/02 04:50:44 jkh Exp $ */ #ifndef lint diff --git a/usr.bin/tty/tty.1 b/usr.bin/tty/tty.1 index 9c47b705885a8..0eb2958ec17a9 100644 --- a/usr.bin/tty/tty.1 +++ b/usr.bin/tty/tty.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)tty.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: tty.1,v 1.2 1996/08/29 18:06:15 wosch Exp $ .\" .Dd June 6, 1993 .Dt TTY 1 diff --git a/usr.bin/units/Makefile b/usr.bin/units/Makefile index 15679b5a7ce04..1101e650012e5 100644 --- a/usr.bin/units/Makefile +++ b/usr.bin/units/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1996/04/06 06:00:58 thorpej Exp $ +# $Id: Makefile,v 1.1.1.1 1996/06/08 03:43:43 alex Exp $ PROG= units diff --git a/usr.bin/units/README b/usr.bin/units/README index ffb88a993165b..c29e5df208493 100644 --- a/usr.bin/units/README +++ b/usr.bin/units/README @@ -1,4 +1,4 @@ -# $Id: README,v 1.2 1996/04/06 06:00:59 thorpej Exp $ +# $Id: README,v 1.1.1.1 1996/06/08 03:43:43 alex Exp $ This is a program which I wrote as a clone of the UNIX 'units' command. I threw it together in a couple days, but it seems to work, diff --git a/usr.bin/units/pathnames.h b/usr.bin/units/pathnames.h index b315c5b5823b8..74735239ba5fb 100644 --- a/usr.bin/units/pathnames.h +++ b/usr.bin/units/pathnames.h @@ -1,4 +1,4 @@ -/* $Id: pathnames.h,v 1.3 1996/04/06 06:01:00 thorpej Exp $ */ +/* $Id: pathnames.h,v 1.1.1.1 1996/06/08 03:43:43 alex Exp $ */ /* * Copyright (c) 1993 Christopher G. Demetriou diff --git a/usr.bin/units/units.1 b/usr.bin/units/units.1 index eecd742316efd..1f0f06583e4bf 100644 --- a/usr.bin/units/units.1 +++ b/usr.bin/units/units.1 @@ -1,4 +1,4 @@ -.\" $Id: units.1,v 1.1.1.1 1996/06/08 03:43:43 alex Exp $ +.\" $Id: units.1,v 1.2 1996/06/10 00:43:42 alex Exp $ .TH UNITS 1 "14 July 1993" .SH NAME units - conversion program diff --git a/usr.bin/units/units.c b/usr.bin/units/units.c index cb8402f7174ab..e8981708c1c62 100644 --- a/usr.bin/units/units.c +++ b/usr.bin/units/units.c @@ -1,4 +1,4 @@ -/* $Id: units.c,v 1.1.1.1 1996/06/08 03:43:43 alex Exp $ */ +/* $Id: units.c,v 1.2 1996/06/08 04:30:06 alex Exp $ */ /* * units.c Copyright (c) 1993 by Adrian Mariano (adrian@cam.cornell.edu) diff --git a/usr.bin/units/units.lib b/usr.bin/units/units.lib index ef4e8d7a9a25e..9aa93d087c88e 100644 --- a/usr.bin/units/units.lib +++ b/usr.bin/units/units.lib @@ -1,4 +1,4 @@ -/ $Id: units.lib,v 1.3 1996/04/06 06:01:04 thorpej Exp $ +/ $Id: units.lib,v 1.1.1.1 1996/06/08 03:43:43 alex Exp $ / primitive units diff --git a/usr.bin/uuencode/uuencode.1 b/usr.bin/uuencode/uuencode.1 index 3dd1e680b65cb..35390362c2853 100644 --- a/usr.bin/uuencode/uuencode.1 +++ b/usr.bin/uuencode/uuencode.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)uuencode.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: uuencode.1,v 1.3 1996/10/21 22:02:30 wosch Exp $ .\" .Dd June 6, 1993 .Dt UUENCODE 1 diff --git a/usr.bin/vacation/vacation.1 b/usr.bin/vacation/vacation.1 index 8ce05e04ba135..b08d8b5ed320f 100644 --- a/usr.bin/vacation/vacation.1 +++ b/usr.bin/vacation/vacation.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)vacation.1 8.1 (Berkeley) 6/16/93 -.\" $Id$ +.\" $Id: vacation.1,v 1.4 1996/09/28 13:37:36 joerg Exp $ .\" .Dd June 16, 1993 .Dt VACATION 1 diff --git a/usr.bin/vacation/vacation.c b/usr.bin/vacation/vacation.c index 5be04dae64869..983294f81e292 100644 --- a/usr.bin/vacation/vacation.c +++ b/usr.bin/vacation/vacation.c @@ -40,7 +40,7 @@ static char copyright[] = #ifndef lint static char sccsid[] = "From: @(#)vacation.c 8.2 (Berkeley) 1/26/94"; static char rcsid[] = - "$Id$"; + "$Id: vacation.c,v 1.3 1996/09/28 13:37:38 joerg Exp $"; #endif /* not lint */ /* diff --git a/usr.bin/vi/Makefile b/usr.bin/vi/Makefile index 7a7c23d347835..b83a4ba952ae0 100644 --- a/usr.bin/vi/Makefile +++ b/usr.bin/vi/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.3.2.4 1996/11/23 08:33:18 phk Exp $ +# $Id: Makefile,v 1.3.2.5 1996/12/08 14:10:46 ache Exp $ # # This has most of the glue needed to compile tknvi and the perl hooks, # but not all. diff --git a/usr.bin/w/w.1 b/usr.bin/w/w.1 index 5399161a76149..990d5975c4979 100644 --- a/usr.bin/w/w.1 +++ b/usr.bin/w/w.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)w.1 8.1 (Berkeley) 6/6/93 -.\" $Id: w.1,v 1.6 1997/02/22 19:57:41 peter Exp $ +.\" $Id: w.1,v 1.2.8.2 1997/03/06 07:45:28 mpp Exp $ .\" .Dd June 6, 1993 .Dt W 1 diff --git a/usr.bin/wc/wc.1 b/usr.bin/wc/wc.1 index f081b6b97ea6b..41ab71773a4d8 100644 --- a/usr.bin/wc/wc.1 +++ b/usr.bin/wc/wc.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)wc.1 8.2 (Berkeley) 4/19/94 -.\" $Id$ +.\" $Id: wc.1,v 1.2 1996/08/29 18:06:16 wosch Exp $ .\" .Dd April 19, 1994 .Dt WC 1 diff --git a/usr.bin/wc/wc.c b/usr.bin/wc/wc.c index 43bbe4b2b8fed..ac5307d48160d 100644 --- a/usr.bin/wc/wc.c +++ b/usr.bin/wc/wc.c @@ -42,7 +42,7 @@ static const char copyright[] = static const char sccsid[] = "@(#)wc.c 8.1 (Berkeley) 6/6/93"; #else static const char rcsid[] = - "$Id$"; + "$Id: wc.c,v 1.4 1996/04/13 11:35:54 bde Exp $"; #endif #endif /* not lint */ diff --git a/usr.bin/what/what.1 b/usr.bin/what/what.1 index dd18a4c602014..ee102d073c37c 100644 --- a/usr.bin/what/what.1 +++ b/usr.bin/what/what.1 @@ -31,7 +31,7 @@ .\" .\" @(#)what.1 8.1 (Berkeley) 6/6/93 .\" -.\" $Id: $ +.\" $Id: what.1,v 1.2 1996/06/30 16:06:44 wosch Exp $ .\" .Dd June 6, 1993 .Dt WHAT 1 diff --git a/usr.bin/whereis/whereis.1 b/usr.bin/whereis/whereis.1 index 6c5a4f74f2a12..67456392f78b9 100644 --- a/usr.bin/whereis/whereis.1 +++ b/usr.bin/whereis/whereis.1 @@ -31,7 +31,7 @@ .\" .\" @(#)whereis.1 8.2 (Berkeley) 12/30/93 .\" -.\" $Id$ +.\" $Id: whereis.1,v 1.2 1996/06/15 12:29:47 joerg Exp $ .\" .Dd June 15, 1996 .Dt WHEREIS 1 diff --git a/usr.bin/whereis/whereis.pl b/usr.bin/whereis/whereis.pl index 520c3d4aa6df2..74c55259a289a 100644 --- a/usr.bin/whereis/whereis.pl +++ b/usr.bin/whereis/whereis.pl @@ -28,7 +28,7 @@ # # Rewritten from scratch for FreeBSD after the 4.3BSD manual page. # -# $Id: whereis.pl,v 1.1 1996/06/15 12:29:48 joerg Exp $ +# $Id: whereis.pl,v 1.1.2.1 1996/12/23 18:56:53 joerg Exp $ # sub usage diff --git a/usr.bin/which/which.1 b/usr.bin/which/which.1 index 8524228969c80..28077c0824afe 100644 --- a/usr.bin/which/which.1 +++ b/usr.bin/which/which.1 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE .\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: which.1,v 1.5 1996/08/23 00:57:04 mpp Exp $ +.\" $Id: which.1,v 1.6 1996/08/27 20:04:31 wosch Exp $ .Dd January 26, 1995 .Dt WHICH 1 .Os FreeBSD diff --git a/usr.bin/which/which.pl b/usr.bin/which/which.pl index 28c7af0173a09..c60b4b6a746a6 100755 --- a/usr.bin/which/which.pl +++ b/usr.bin/which/which.pl @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id: which.pl,v 1.7 1996/08/27 20:04:32 wosch Exp $ +# $Id: which.pl,v 1.8 1996/10/27 15:50:40 wosch Exp $ $all = $silent = $found = 0; @path = split(/:/, $ENV{'PATH'}); diff --git a/usr.bin/who/who.1 b/usr.bin/who/who.1 index 27dc5cd03feef..06853c985532d 100644 --- a/usr.bin/who/who.1 +++ b/usr.bin/who/who.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)who.1 8.2 (Berkeley) 12/30/93 -.\" $Id$ +.\" $Id: who.1,v 1.2 1996/08/29 18:06:18 wosch Exp $ .\" .Dd December 30, 1993 .Dt WHO 1 diff --git a/usr.bin/write/write.1 b/usr.bin/write/write.1 index 374ae87370f91..cbedc1afc2c18 100644 --- a/usr.bin/write/write.1 +++ b/usr.bin/write/write.1 @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)write.1 8.1 (Berkeley) 6/6/93 -.\" $Id: write.1,v 1.5 1997/03/22 17:19:32 mpp Exp $ +.\" $Id: write.1,v 1.2.2.1 1997/03/22 17:20:33 mpp Exp $ .\" .Dd June 6, 1993 .Dt WRITE 1 diff --git a/usr.bin/xinstall/install.1 b/usr.bin/xinstall/install.1 index 2cd528cb91419..c8c5b51a88e47 100644 --- a/usr.bin/xinstall/install.1 +++ b/usr.bin/xinstall/install.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)install.1 8.1 (Berkeley) 6/6/93 -.\" $Id: install.1,v 1.6 1996/09/24 04:14:58 imp Exp $ +.\" $Id: install.1,v 1.7 1996/09/29 06:29:53 imp Exp $ .\" .Dd September 22, 1996 .Dt INSTALL 1 diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index 0f2715bf1ed93..cc2540cf9a4bb 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -40,7 +40,7 @@ static const char copyright[] = #ifndef lint /*static char sccsid[] = "From: @(#)xinstall.c 8.1 (Berkeley) 7/21/93";*/ static const char rcsid[] = - "$Id: xinstall.c,v 1.17 1996/09/29 23:09:51 imp Exp $"; + "$Id: xinstall.c,v 1.18 1996/10/01 03:59:57 imp Exp $"; #endif /* not lint */ /*- diff --git a/usr.bin/ypcat/Makefile b/usr.bin/ypcat/Makefile index c133eb52a80ef..132817542ac60 100644 --- a/usr.bin/ypcat/Makefile +++ b/usr.bin/ypcat/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.8 (Berkeley) 7/28/90 -# $Id: Makefile,v 1.3 1994/02/17 07:06:10 rgrimes Exp $ +# $Id: Makefile,v 1.1 1994/08/08 01:13:28 wollman Exp $ PROG= ypcat diff --git a/usr.bin/ypcat/ypcat.1 b/usr.bin/ypcat/ypcat.1 index f22c9f824575c..cdf7e6c4624f0 100644 --- a/usr.bin/ypcat/ypcat.1 +++ b/usr.bin/ypcat/ypcat.1 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ypcat.1,v 1.2 1996/01/30 13:52:38 mpp Exp $ +.\" $Id: ypcat.1,v 1.3 1996/02/11 22:37:53 mpp Exp $ .\" .Dd December 3, 1993 .Dt YPCAT 1 diff --git a/usr.bin/ypmatch/Makefile b/usr.bin/ypmatch/Makefile index cf79ca74de20d..94491c43bf3cc 100644 --- a/usr.bin/ypmatch/Makefile +++ b/usr.bin/ypmatch/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.8 (Berkeley) 7/28/90 -# $Id: Makefile,v 1.3 1994/02/17 07:06:13 rgrimes Exp $ +# $Id: Makefile,v 1.1 1994/08/08 01:13:31 wollman Exp $ PROG= ypmatch diff --git a/usr.bin/ypmatch/ypmatch.1 b/usr.bin/ypmatch/ypmatch.1 index 83d11ce9e9673..f56019ea4437d 100644 --- a/usr.bin/ypmatch/ypmatch.1 +++ b/usr.bin/ypmatch/ypmatch.1 @@ -26,7 +26,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ypmatch.1,v 1.2 1996/01/30 13:52:43 mpp Exp $ +.\" $Id: ypmatch.1,v 1.3 1996/02/11 22:37:57 mpp Exp $ .\" .Dd December 3, 1993 .Dt YPMATCH 1 diff --git a/usr.bin/ypwhich/Makefile b/usr.bin/ypwhich/Makefile index 1c964b2e8df53..45b81e525ba62 100644 --- a/usr.bin/ypwhich/Makefile +++ b/usr.bin/ypwhich/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.8 (Berkeley) 7/28/90 -# $Id: Makefile,v 1.2 1994/02/17 07:06:22 rgrimes Exp $ +# $Id: Makefile,v 1.1 1994/08/08 01:13:34 wollman Exp $ PROG= ypwhich NOMAN= diff --git a/usr.sbin/IPXrouted/Makefile b/usr.sbin/IPXrouted/Makefile index 7d4e41c1ac635..615b03d50804c 100644 --- a/usr.sbin/IPXrouted/Makefile +++ b/usr.sbin/IPXrouted/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $Id: Makefile,v 1.4 1995/03/15 08:44:14 jhay Exp $ +# $Id: Makefile,v 1.1 1995/10/26 21:28:12 julian Exp $ PROG= IPXrouted MAN8= IPXrouted.8 diff --git a/usr.sbin/IPXrouted/af.c b/usr.sbin/IPXrouted/af.c index e7d6d9b30abf1..7160ead0d8acf 100644 --- a/usr.sbin/IPXrouted/af.c +++ b/usr.sbin/IPXrouted/af.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: af.c,v 1.1 1995/10/26 21:28:13 julian Exp $ + * $Id: af.c,v 1.2 1995/12/04 10:35:53 julian Exp $ */ #ifndef lint diff --git a/usr.sbin/IPXrouted/af.h b/usr.sbin/IPXrouted/af.h index 2781cef60fd43..ed50a94ed70e3 100644 --- a/usr.sbin/IPXrouted/af.h +++ b/usr.sbin/IPXrouted/af.h @@ -36,7 +36,7 @@ * * @(#)af.h 8.1 (Berkeley) 6/5/93 * - * $Id: af.h,v 1.3 1995/10/11 18:57:09 jhay Exp $ + * $Id: af.h,v 1.1 1995/10/26 21:28:13 julian Exp $ */ /* diff --git a/usr.sbin/IPXrouted/defs.h b/usr.sbin/IPXrouted/defs.h index e26dbac7a8721..686150577c125 100644 --- a/usr.sbin/IPXrouted/defs.h +++ b/usr.sbin/IPXrouted/defs.h @@ -34,7 +34,7 @@ * * @(#)defs.h 8.1 (Berkeley) 6/5/93 * - * $Id: defs.h,v 1.2 1995/10/27 10:48:25 julian Exp $ + * $Id: defs.h,v 1.3 1996/04/13 15:13:17 jhay Exp $ */ #include <sys/types.h> diff --git a/usr.sbin/IPXrouted/if.c b/usr.sbin/IPXrouted/if.c index 3ea0d51085051..47059fe43dfc4 100644 --- a/usr.sbin/IPXrouted/if.c +++ b/usr.sbin/IPXrouted/if.c @@ -34,7 +34,7 @@ * * static char sccsid[] = "@(#)if.c 5.1 (Berkeley) 6/4/85"; (routed/if.c) * - * $Id: if.c,v 1.2 1995/10/11 18:57:14 jhay Exp $ + * $Id: if.c,v 1.1 1995/10/26 21:28:16 julian Exp $ */ #ifndef lint diff --git a/usr.sbin/IPXrouted/input.c b/usr.sbin/IPXrouted/input.c index 02dcfe9c2ff42..68a7e28798915 100644 --- a/usr.sbin/IPXrouted/input.c +++ b/usr.sbin/IPXrouted/input.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: input.c,v 1.2 1995/11/13 21:01:30 julian Exp $ + * $Id: input.c,v 1.3 1995/12/04 10:35:58 julian Exp $ */ #ifndef lint diff --git a/usr.sbin/IPXrouted/interface.h b/usr.sbin/IPXrouted/interface.h index f80ced829dcb3..415dcfd5539d6 100644 --- a/usr.sbin/IPXrouted/interface.h +++ b/usr.sbin/IPXrouted/interface.h @@ -34,7 +34,7 @@ * * @(#)interface.h 8.1 (Berkeley) 6/5/93 * - * $Id: interface.h,v 1.3 1995/10/11 18:57:19 jhay Exp $ + * $Id: interface.h,v 1.1 1995/10/26 21:28:18 julian Exp $ */ /* diff --git a/usr.sbin/IPXrouted/main.c b/usr.sbin/IPXrouted/main.c index 40e5e7a40ef57..081e30a4ae88d 100644 --- a/usr.sbin/IPXrouted/main.c +++ b/usr.sbin/IPXrouted/main.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: main.c,v 1.3 1995/12/09 09:42:03 julian Exp $ + * $Id: main.c,v 1.4 1996/04/13 15:13:18 jhay Exp $ */ #ifndef lint diff --git a/usr.sbin/IPXrouted/output.c b/usr.sbin/IPXrouted/output.c index 27d55dd114ea4..f575da8dfc00d 100644 --- a/usr.sbin/IPXrouted/output.c +++ b/usr.sbin/IPXrouted/output.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: output.c,v 1.3 1996/04/13 15:13:20 jhay Exp $ + * $Id: output.c,v 1.3.2.1 1996/11/28 08:26:35 phk Exp $ */ #ifndef lint diff --git a/usr.sbin/IPXrouted/protocol.h b/usr.sbin/IPXrouted/protocol.h index 4a7ab8567365c..5df02e1dfd2fa 100644 --- a/usr.sbin/IPXrouted/protocol.h +++ b/usr.sbin/IPXrouted/protocol.h @@ -37,7 +37,7 @@ * * @(#)protocol.h 8.1 (Berkeley) 6/5/93 * - * $Id: protocol.h,v 1.1 1995/10/26 21:28:21 julian Exp $ + * $Id: protocol.h,v 1.2 1996/04/13 15:13:22 jhay Exp $ */ /* diff --git a/usr.sbin/IPXrouted/sap.h b/usr.sbin/IPXrouted/sap.h index 1c74e3f082864..962b1db7944ba 100644 --- a/usr.sbin/IPXrouted/sap.h +++ b/usr.sbin/IPXrouted/sap.h @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sap.h,v 1.2 1995/10/27 10:48:31 julian Exp $ + * $Id: sap.h,v 1.3 1996/04/13 15:13:23 jhay Exp $ */ #ifndef _SAP_H_ #define _SAP_H_ diff --git a/usr.sbin/IPXrouted/sap_input.c b/usr.sbin/IPXrouted/sap_input.c index 2ca15e8107b41..d981a898a2dac 100644 --- a/usr.sbin/IPXrouted/sap_input.c +++ b/usr.sbin/IPXrouted/sap_input.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sap_input.c,v 1.1 1995/10/26 21:28:23 julian Exp $ + * $Id: sap_input.c,v 1.2 1995/12/04 10:36:02 julian Exp $ */ /* diff --git a/usr.sbin/IPXrouted/sap_output.c b/usr.sbin/IPXrouted/sap_output.c index 1de02598512be..05d5b7693a85b 100644 --- a/usr.sbin/IPXrouted/sap_output.c +++ b/usr.sbin/IPXrouted/sap_output.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sap_output.c,v 1.4 1996/04/13 15:13:24 jhay Exp $ + * $Id: sap_output.c,v 1.4.2.1 1996/11/28 08:26:36 phk Exp $ */ /* diff --git a/usr.sbin/IPXrouted/sap_tables.c b/usr.sbin/IPXrouted/sap_tables.c index 4f64a4cdee999..8d108796b8cce 100644 --- a/usr.sbin/IPXrouted/sap_tables.c +++ b/usr.sbin/IPXrouted/sap_tables.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sap_tables.c,v 1.9 1995/10/11 18:57:29 jhay Exp $ + * $Id: sap_tables.c,v 1.1 1995/10/26 21:28:25 julian Exp $ */ #include "defs.h" diff --git a/usr.sbin/IPXrouted/startup.c b/usr.sbin/IPXrouted/startup.c index 66f61137a9b77..420f9b89208c5 100644 --- a/usr.sbin/IPXrouted/startup.c +++ b/usr.sbin/IPXrouted/startup.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: startup.c,v 1.2 1995/11/13 21:01:36 julian Exp $ + * $Id: startup.c,v 1.3 1996/02/20 23:11:24 julian Exp $ */ #ifndef lint diff --git a/usr.sbin/IPXrouted/table.h b/usr.sbin/IPXrouted/table.h index 496e2e41827ac..5ffa60e7fee08 100644 --- a/usr.sbin/IPXrouted/table.h +++ b/usr.sbin/IPXrouted/table.h @@ -36,7 +36,7 @@ * * @(#)table.h 8.1 (Berkeley) 6/5/93 * - * $Id: table.h,v 1.1 1995/10/26 21:28:26 julian Exp $ + * $Id: table.h,v 1.2 1996/04/13 15:13:25 jhay Exp $ */ /* diff --git a/usr.sbin/IPXrouted/tables.c b/usr.sbin/IPXrouted/tables.c index 15c439822366f..1b1aedd1de6f2 100644 --- a/usr.sbin/IPXrouted/tables.c +++ b/usr.sbin/IPXrouted/tables.c @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: tables.c,v 1.1 1995/10/26 21:28:27 julian Exp $ + * $Id: tables.c,v 1.2 1996/04/13 15:13:27 jhay Exp $ */ #ifndef lint diff --git a/usr.sbin/IPXrouted/timer.c b/usr.sbin/IPXrouted/timer.c index d7e8124a719d9..4a39315c36a78 100644 --- a/usr.sbin/IPXrouted/timer.c +++ b/usr.sbin/IPXrouted/timer.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: timer.c,v 1.8 1995/10/11 18:57:32 jhay Exp $ + * $Id: timer.c,v 1.1 1995/10/26 21:28:28 julian Exp $ */ #ifndef lint diff --git a/usr.sbin/IPXrouted/trace.c b/usr.sbin/IPXrouted/trace.c index e703d213cbc05..bece92d6dcde8 100644 --- a/usr.sbin/IPXrouted/trace.c +++ b/usr.sbin/IPXrouted/trace.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: trace.c,v 1.1 1995/10/26 21:28:29 julian Exp $ + * $Id: trace.c,v 1.2 1996/04/13 15:13:29 jhay Exp $ */ #ifndef lint diff --git a/usr.sbin/IPXrouted/trace.h b/usr.sbin/IPXrouted/trace.h index 9de782676a99d..c12d946934cff 100644 --- a/usr.sbin/IPXrouted/trace.h +++ b/usr.sbin/IPXrouted/trace.h @@ -37,7 +37,7 @@ * * @(#)trace.h 8.1 (Berkeley) 6/5/93 * - * $Id: trace.h,v 1.2 1995/10/27 10:48:31 julian Exp $ + * $Id: trace.h,v 1.3 1996/04/13 15:13:30 jhay Exp $ */ /* diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile index 284d040b5d542..21e2e5c5f7210 100644 --- a/usr.sbin/Makefile +++ b/usr.sbin/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 5.20 (Berkeley) 6/12/93 -# $Id: Makefile,v 1.98.2.1 1996/12/09 15:18:50 jkh Exp $ +# $Id: Makefile,v 1.98.2.2 1997/02/24 04:43:26 fenner Exp $ # XXX MISSING: mkproto SUBDIR= ac accton adduser amd arp bootparamd cdcontrol chown chroot \ diff --git a/usr.sbin/ac/Makefile b/usr.sbin/ac/Makefile index 349e9ce83e784..d746bd2401bc0 100644 --- a/usr.sbin/ac/Makefile +++ b/usr.sbin/ac/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1994/05/18 08:00:44 csgr Exp $ +# $Id: Makefile,v 1.1 1994/09/26 22:12:24 davidg Exp $ PROG= ac MAN8= ac.8 diff --git a/usr.sbin/ac/ac.8 b/usr.sbin/ac/ac.8 index afdc37350e62f..553b64b26f321 100644 --- a/usr.sbin/ac/ac.8 +++ b/usr.sbin/ac/ac.8 @@ -28,7 +28,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ac.8,v 1.9 1997/02/22 16:01:10 peter Exp $ +.\" $Id: ac.8,v 1.6.2.1 1997/03/06 07:59:09 mpp Exp $ .\" .Dd March 15, 1994 .Dt AC 8 diff --git a/usr.sbin/ac/ac.c b/usr.sbin/ac/ac.c index d754dd687ba21..436bf68f73ebe 100644 --- a/usr.sbin/ac/ac.c +++ b/usr.sbin/ac/ac.c @@ -14,7 +14,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: ac.c,v 1.3 1995/05/30 03:45:34 rgrimes Exp $"; +static char rcsid[] = "$Id: ac.c,v 1.4 1995/10/26 23:10:10 ache Exp $"; #endif #include <sys/types.h> diff --git a/usr.sbin/adduser/Makefile b/usr.sbin/adduser/Makefile index ddb7347d5592f..b5a99256b33c1 100644 --- a/usr.sbin/adduser/Makefile +++ b/usr.sbin/adduser/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.9 1996/11/17 03:51:26 wosch Exp $ +# $Id: Makefile,v 1.7.6.2 1996/11/28 22:02:33 phk Exp $ SCRIPTS= adduser.perl rmuser.perl addgroup.tcl rmgroup.sh MAN8= adduser.8 rmuser.8 addgroup.8 rmgroup.8 diff --git a/usr.sbin/adduser/addgroup.8 b/usr.sbin/adduser/addgroup.8 index 8107160b8e45a..8a8c505b1dda9 100644 --- a/usr.sbin/adduser/addgroup.8 +++ b/usr.sbin/adduser/addgroup.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: addgroup.8,v 1.5 1997/02/22 16:01:15 peter Exp $ +.\" $Id: addgroup.8,v 1.1.2.2 1997/03/06 07:59:13 mpp Exp $ .Dd Oct, 30, 1996 .Dt ADDGROUP 8 diff --git a/usr.sbin/adduser/addgroup.tcl b/usr.sbin/adduser/addgroup.tcl index 82ed4a095d6c6..55f8a8a61ca20 100644 --- a/usr.sbin/adduser/addgroup.tcl +++ b/usr.sbin/adduser/addgroup.tcl @@ -29,7 +29,7 @@ # signal handling # add only users who exist # -# $Id: addgroup.tcl,v 1.5 1996/10/29 19:11:50 wosch Exp wosch $ +# $Id: addgroup.tcl,v 1.1 1996/10/29 20:31:43 wosch Exp $ # set global variables set etc_group "/etc/group"; #set etc_group "/usr/tmp/group" diff --git a/usr.sbin/adduser/adduser.8 b/usr.sbin/adduser/adduser.8 index bddbfa13deaa2..bd5e0aa9ab205 100644 --- a/usr.sbin/adduser/adduser.8 +++ b/usr.sbin/adduser/adduser.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: adduser.8,v 1.19 1997/02/22 16:01:17 peter Exp $ +.\" $Id: adduser.8,v 1.12.2.3 1997/03/06 07:59:14 mpp Exp $ .Dd Jan, 9, 1995 .Dt ADDUSER 8 .Os FreeBSD 2.1 diff --git a/usr.sbin/adduser/adduser.perl b/usr.sbin/adduser/adduser.perl index c79526e15cbe8..27d31ce750ccc 100644 --- a/usr.sbin/adduser/adduser.perl +++ b/usr.sbin/adduser/adduser.perl @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id: adduser.perl,v 1.19.2.2 1996/12/23 02:09:37 mpp Exp $ +# $Id: adduser.perl,v 1.19.2.3 1997/03/07 06:23:00 mpp Exp $ # read variables diff --git a/usr.sbin/adduser/rmgroup.8 b/usr.sbin/adduser/rmgroup.8 index aee0a70bdedc4..2efa94f394223 100644 --- a/usr.sbin/adduser/rmgroup.8 +++ b/usr.sbin/adduser/rmgroup.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rmgroup.8,v 1.5 1997/02/22 16:01:19 peter Exp $ +.\" $Id: rmgroup.8,v 1.1.2.2 1997/03/06 07:59:15 mpp Exp $ .Dd Oct, 30, 1996 .Dt RMGROUP 8 diff --git a/usr.sbin/adduser/rmgroup.sh b/usr.sbin/adduser/rmgroup.sh index ad0afa4dfe366..8f064d0c82975 100644 --- a/usr.sbin/adduser/rmgroup.sh +++ b/usr.sbin/adduser/rmgroup.sh @@ -4,7 +4,7 @@ # # rmgroup - delete a Unix group # -# $Id: rmgroup.sh,v 1.1 1996/10/30 20:41:17 wosch Exp wosch $ +# $Id: rmgroup.sh,v 1.1 1996/10/30 20:58:47 wosch Exp $ PATH=/bin:/usr/bin; export PATH db=/etc/group diff --git a/usr.sbin/adduser/rmuser.8 b/usr.sbin/adduser/rmuser.8 index 5e93a2681c491..b8cc976f7b6c1 100644 --- a/usr.sbin/adduser/rmuser.8 +++ b/usr.sbin/adduser/rmuser.8 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: rmuser.8,v 1.5 1997/02/22 16:01:20 peter Exp $ +.\" $Id: rmuser.8,v 1.1.2.2 1997/03/06 07:59:15 mpp Exp $ .\" .Dd July 16, 1996 .Dt RMUSER 8 diff --git a/usr.sbin/adduser/rmuser.perl b/usr.sbin/adduser/rmuser.perl index d556eff2e35b9..f96a4817b624f 100644 --- a/usr.sbin/adduser/rmuser.perl +++ b/usr.sbin/adduser/rmuser.perl @@ -30,7 +30,7 @@ # # Guy Helmer <ghelmer@alpha.dsu.edu>, 07/17/96 # -# $Id: removeuser.perl,v 1.2 1996/08/11 13:03:25 wosch Exp $ +# $Id: rmuser.perl,v 1.1 1996/11/17 03:51:33 wosch Exp $ sub LOCK_SH {0x01;} sub LOCK_EX {0x02;} diff --git a/usr.sbin/amd/amd/afs_ops.c b/usr.sbin/amd/amd/afs_ops.c index bbb53bc9ab82b..8628e9af2295a 100644 --- a/usr.sbin/amd/amd/afs_ops.c +++ b/usr.sbin/amd/amd/afs_ops.c @@ -37,7 +37,7 @@ * * @(#)afs_ops.c 8.1 (Berkeley) 6/6/93 * - * $Id: afs_ops.c,v 1.3 1995/06/27 11:07:23 dfr Exp $ + * $Id: afs_ops.c,v 1.3.2.1 1996/11/28 08:26:58 phk Exp $ * */ diff --git a/usr.sbin/amd/amd/am_ops.c b/usr.sbin/amd/amd/am_ops.c index 436011010fef4..881eea934f0c1 100644 --- a/usr.sbin/amd/amd/am_ops.c +++ b/usr.sbin/amd/amd/am_ops.c @@ -37,7 +37,7 @@ * * @(#)am_ops.c 8.1 (Berkeley) 6/6/93 * - * $Id: am_ops.c,v 5.2.2.1 1992/02/09 15:08:17 jsp beta $ + * $Id: am_ops.c,v 1.1.1.1 1994/05/26 05:22:03 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/amd.8 b/usr.sbin/amd/amd/amd.8 index b82169c2f1f1a..58667ceeab514 100644 --- a/usr.sbin/amd/amd/amd.8 +++ b/usr.sbin/amd/amd/amd.8 @@ -37,7 +37,7 @@ .\" .\" @(#)amd.8 5.10 (Berkeley) 4/19/94 .\" -.\" $Id: amd.8,v 1.5 1997/02/22 16:01:26 peter Exp $ +.\" $Id: amd.8,v 1.2.2.1 1997/03/06 07:59:18 mpp Exp $ .\" .Dd "April 19, 1994" .Dt AMD 8 diff --git a/usr.sbin/amd/amd/amd.c b/usr.sbin/amd/amd/amd.c index 5d2b082a802e6..af222ab7f5f9b 100644 --- a/usr.sbin/amd/amd/amd.c +++ b/usr.sbin/amd/amd/amd.c @@ -37,7 +37,7 @@ * * @(#)amd.c 8.1 (Berkeley) 6/6/93 * - * $Id: amd.c,v 1.2 1995/08/24 10:22:06 dfr Exp $ + * $Id: amd.c,v 1.3 1996/08/13 09:21:28 peter Exp $ * */ diff --git a/usr.sbin/amd/amd/amq_subr.c b/usr.sbin/amd/amd/amq_subr.c index cf04d9d4160bf..76ac6cdd748c6 100644 --- a/usr.sbin/amd/amd/amq_subr.c +++ b/usr.sbin/amd/amd/amq_subr.c @@ -37,7 +37,7 @@ * * @(#)amq_subr.c 8.1 (Berkeley) 6/6/93 * - * $Id: amq_subr.c,v 5.2.2.1 1992/02/09 15:08:18 jsp beta $ + * $Id: amq_subr.c,v 1.1.1.1 1994/05/26 05:22:00 rgrimes Exp $ * */ /* diff --git a/usr.sbin/amd/amd/clock.c b/usr.sbin/amd/amd/clock.c index 91e11eec49625..d1d519b9cc7e1 100644 --- a/usr.sbin/amd/amd/clock.c +++ b/usr.sbin/amd/amd/clock.c @@ -37,7 +37,7 @@ * * @(#)clock.c 8.1 (Berkeley) 6/6/93 * - * $Id: clock.c,v 5.2.2.1 1992/02/09 15:08:20 jsp beta $ + * $Id: clock.c,v 1.1.1.1 1994/05/26 05:22:00 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/efs_ops.c b/usr.sbin/amd/amd/efs_ops.c index 6630277eab4c0..d06790351c864 100644 --- a/usr.sbin/amd/amd/efs_ops.c +++ b/usr.sbin/amd/amd/efs_ops.c @@ -37,7 +37,7 @@ * * @(#)efs_ops.c 8.1 (Berkeley) 6/6/93 * - * $Id: efs_ops.c,v 5.2.2.1 1992/02/09 15:08:21 jsp beta $ + * $Id: efs_ops.c,v 1.1.1.1 1994/05/26 05:22:00 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/get_args.c b/usr.sbin/amd/amd/get_args.c index 0567d5dd5ea3b..540d869e3c4b6 100644 --- a/usr.sbin/amd/amd/get_args.c +++ b/usr.sbin/amd/amd/get_args.c @@ -37,7 +37,7 @@ * * @(#)get_args.c 8.1 (Berkeley) 6/6/93 * - * $Id: get_args.c,v 5.2.2.1 1992/02/09 15:08:23 jsp beta $ + * $Id: get_args.c,v 1.1.1.1 1994/05/26 05:22:01 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/host_ops.c b/usr.sbin/amd/amd/host_ops.c index d290fb62377bd..97616bfa3ccfb 100644 --- a/usr.sbin/amd/amd/host_ops.c +++ b/usr.sbin/amd/amd/host_ops.c @@ -37,7 +37,7 @@ * * @(#)host_ops.c 8.1 (Berkeley) 6/6/93 * - * $Id: host_ops.c,v 1.1.1.1 1994/05/26 05:22:00 rgrimes Exp $ + * $Id: host_ops.c,v 1.2 1995/05/30 03:45:45 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/ifs_ops.c b/usr.sbin/amd/amd/ifs_ops.c index 14df832b24c63..a7108ed786fed 100644 --- a/usr.sbin/amd/amd/ifs_ops.c +++ b/usr.sbin/amd/amd/ifs_ops.c @@ -37,7 +37,7 @@ * * @(#)ifs_ops.c 8.1 (Berkeley) 6/6/93 * - * $Id: ifs_ops.c,v 5.2.2.1 1992/02/09 15:08:26 jsp beta $ + * $Id: ifs_ops.c,v 1.1.1.1 1994/05/26 05:22:00 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/info_file.c b/usr.sbin/amd/amd/info_file.c index c43b2a7b07c24..d5fdfdeb9a6f6 100644 --- a/usr.sbin/amd/amd/info_file.c +++ b/usr.sbin/amd/amd/info_file.c @@ -37,7 +37,7 @@ * * @(#)info_file.c 8.1 (Berkeley) 6/6/93 * - * $Id: info_file.c,v 5.2.2.1 1992/02/09 15:08:28 jsp beta $ + * $Id: info_file.c,v 1.1.1.1 1994/05/26 05:22:01 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/info_hes.c b/usr.sbin/amd/amd/info_hes.c index 513eda7a4622f..893ea3e4f73ce 100644 --- a/usr.sbin/amd/amd/info_hes.c +++ b/usr.sbin/amd/amd/info_hes.c @@ -37,7 +37,7 @@ * * @(#)info_hes.c 8.1 (Berkeley) 6/6/93 * - * $Id: info_hes.c,v 1.1.1.1 1994/05/26 05:22:01 rgrimes Exp $ + * $Id: info_hes.c,v 1.2 1995/05/30 03:45:47 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/info_ndbm.c b/usr.sbin/amd/amd/info_ndbm.c index d3deaa187f9fb..435cafa9e8ff6 100644 --- a/usr.sbin/amd/amd/info_ndbm.c +++ b/usr.sbin/amd/amd/info_ndbm.c @@ -37,7 +37,7 @@ * * @(#)info_ndbm.c 8.1 (Berkeley) 6/6/93 * - * $Id: info_ndbm.c,v 5.2.2.1 1992/02/09 15:08:31 jsp beta $ + * $Id: info_ndbm.c,v 1.1.1.1 1994/05/26 05:22:01 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/info_nis.c b/usr.sbin/amd/amd/info_nis.c index ac80f5f975dd7..f478dec83bfbb 100644 --- a/usr.sbin/amd/amd/info_nis.c +++ b/usr.sbin/amd/amd/info_nis.c @@ -37,7 +37,7 @@ * * @(#)info_nis.c 8.1 (Berkeley) 6/6/93 * - * $Id: info_nis.c,v 5.2.2.1 1992/02/09 15:08:32 jsp beta $ + * $Id: info_nis.c,v 1.1.1.1 1994/05/26 05:22:01 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/info_passwd.c b/usr.sbin/amd/amd/info_passwd.c index 694dd53294b1c..ac509381e237f 100644 --- a/usr.sbin/amd/amd/info_passwd.c +++ b/usr.sbin/amd/amd/info_passwd.c @@ -37,7 +37,7 @@ * * @(#)info_passwd.c 8.1 (Berkeley) 6/6/93 * - * $Id: info_passwd.c,v 1.1.1.1 1994/05/26 05:22:01 rgrimes Exp $ + * $Id: info_passwd.c,v 1.2 1995/05/30 03:45:48 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/info_union.c b/usr.sbin/amd/amd/info_union.c index 07e44a158422e..a3c0fc524b93d 100644 --- a/usr.sbin/amd/amd/info_union.c +++ b/usr.sbin/amd/amd/info_union.c @@ -37,7 +37,7 @@ * * @(#)info_union.c 8.1 (Berkeley) 6/6/93 * - * $Id: info_union.c,v 1.1.1.1 1994/05/26 05:22:03 rgrimes Exp $ + * $Id: info_union.c,v 1.2 1996/09/24 08:07:21 bde Exp $ * */ diff --git a/usr.sbin/amd/amd/map.c b/usr.sbin/amd/amd/map.c index 21c8d3187eff9..d819e83cf913f 100644 --- a/usr.sbin/amd/amd/map.c +++ b/usr.sbin/amd/amd/map.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: map.c,v 1.1.1.1 1994/05/26 05:22:00 rgrimes Exp $ + * $Id: map.c,v 1.2 1995/05/30 03:45:49 rgrimes Exp $ */ #ifndef lint diff --git a/usr.sbin/amd/amd/mapc.c b/usr.sbin/amd/amd/mapc.c index 1004644eff0c2..0f37ba9d540fd 100644 --- a/usr.sbin/amd/amd/mapc.c +++ b/usr.sbin/amd/amd/mapc.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mapc.c,v 1.1.1.1 1994/05/26 05:22:01 rgrimes Exp $ + * $Id: mapc.c,v 1.2 1995/05/30 03:45:50 rgrimes Exp $ */ #ifndef lint diff --git a/usr.sbin/amd/amd/misc_rpc.c b/usr.sbin/amd/amd/misc_rpc.c index e7c9f396424fa..2944f2d8a384f 100644 --- a/usr.sbin/amd/amd/misc_rpc.c +++ b/usr.sbin/amd/amd/misc_rpc.c @@ -37,7 +37,7 @@ * * @(#)misc_rpc.c 8.1 (Berkeley) 6/6/93 * - * $Id: misc_rpc.c,v 1.2 1995/05/30 03:45:51 rgrimes Exp $ + * $Id: misc_rpc.c,v 1.3 1996/08/13 09:21:32 peter Exp $ * */ diff --git a/usr.sbin/amd/amd/mntfs.c b/usr.sbin/amd/amd/mntfs.c index ef8f17f2cbf1e..108f676904f3a 100644 --- a/usr.sbin/amd/amd/mntfs.c +++ b/usr.sbin/amd/amd/mntfs.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mntfs.c,v 5.2.2.1 1992/02/09 15:08:42 jsp beta $ + * $Id: mntfs.c,v 1.1.1.1 1994/05/26 05:22:01 rgrimes Exp $ */ #ifndef lint diff --git a/usr.sbin/amd/amd/mount_fs.c b/usr.sbin/amd/amd/mount_fs.c index e923ae7a7d012..452271696a58a 100644 --- a/usr.sbin/amd/amd/mount_fs.c +++ b/usr.sbin/amd/amd/mount_fs.c @@ -37,7 +37,7 @@ * * @(#)mount_fs.c 8.1 (Berkeley) 6/6/93 * - * $Id: mount_fs.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ + * $Id: mount_fs.c,v 1.1.1.1.8.1 1997/02/09 04:53:14 imp Exp $ * */ diff --git a/usr.sbin/amd/amd/mtab.c b/usr.sbin/amd/amd/mtab.c index 43b3a26e9a7f1..359687620845b 100644 --- a/usr.sbin/amd/amd/mtab.c +++ b/usr.sbin/amd/amd/mtab.c @@ -37,7 +37,7 @@ * * @(#)mtab.c 8.1 (Berkeley) 6/6/93 * - * $Id: mtab.c,v 5.2.2.1 1992/02/09 15:08:45 jsp beta $ + * $Id: mtab.c,v 1.1.1.1 1994/05/26 05:22:01 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/nfs_ops.c b/usr.sbin/amd/amd/nfs_ops.c index eed5b71de19de..f5bb72d39819e 100644 --- a/usr.sbin/amd/amd/nfs_ops.c +++ b/usr.sbin/amd/amd/nfs_ops.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: nfs_ops.c,v 1.3 1995/05/30 03:45:52 rgrimes Exp $ + * $Id: nfs_ops.c,v 1.4 1995/06/27 11:07:24 dfr Exp $ */ #ifndef lint diff --git a/usr.sbin/amd/amd/nfs_start.c b/usr.sbin/amd/amd/nfs_start.c index fca61fbc7f417..c8d25f9acd36d 100644 --- a/usr.sbin/amd/amd/nfs_start.c +++ b/usr.sbin/amd/amd/nfs_start.c @@ -37,7 +37,7 @@ * * @(#)nfs_start.c 8.1 (Berkeley) 6/6/93 * - * $Id$ + * $Id: nfs_start.c,v 1.2.6.1 1997/03/23 19:12:57 joerg Exp $ * */ diff --git a/usr.sbin/amd/amd/nfs_subr.c b/usr.sbin/amd/amd/nfs_subr.c index e79f668f1b7bc..93a1b30d249f3 100644 --- a/usr.sbin/amd/amd/nfs_subr.c +++ b/usr.sbin/amd/amd/nfs_subr.c @@ -37,7 +37,7 @@ * * @(#)nfs_subr.c 8.1 (Berkeley) 6/6/93 * - * $Id: nfs_subr.c,v 1.2 1995/05/30 03:45:54 rgrimes Exp $ + * $Id: nfs_subr.c,v 1.3 1995/08/24 10:22:08 dfr Exp $ * */ diff --git a/usr.sbin/amd/amd/nfsx_ops.c b/usr.sbin/amd/amd/nfsx_ops.c index ba18cdcfebe82..75975d136f04e 100644 --- a/usr.sbin/amd/amd/nfsx_ops.c +++ b/usr.sbin/amd/amd/nfsx_ops.c @@ -37,7 +37,7 @@ * * @(#)nfsx_ops.c 8.1 (Berkeley) 6/6/93 * - * $Id: nfsx_ops.c,v 5.2.2.3 1992/05/31 16:13:07 jsp Exp $ + * $Id: nfsx_ops.c,v 1.1.1.1 1994/05/26 05:22:03 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/opts.c b/usr.sbin/amd/amd/opts.c index 54c967528c440..d3cc5760dca45 100644 --- a/usr.sbin/amd/amd/opts.c +++ b/usr.sbin/amd/amd/opts.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: opts.c,v 5.2.2.3 1992/05/31 16:34:13 jsp Exp $ + * $Id: opts.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ */ #ifndef lint diff --git a/usr.sbin/amd/amd/pfs_ops.c b/usr.sbin/amd/amd/pfs_ops.c index 314f62bdf66f1..78606b3017894 100644 --- a/usr.sbin/amd/amd/pfs_ops.c +++ b/usr.sbin/amd/amd/pfs_ops.c @@ -37,7 +37,7 @@ * * @(#)pfs_ops.c 8.1 (Berkeley) 6/6/93 * - * $Id: pfs_ops.c,v 5.2.2.1 1992/02/09 15:08:56 jsp beta $ + * $Id: pfs_ops.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/restart.c b/usr.sbin/amd/amd/restart.c index 421c2a1fe3ecf..dc8d0c4888c23 100644 --- a/usr.sbin/amd/amd/restart.c +++ b/usr.sbin/amd/amd/restart.c @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: restart.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ + * $Id: restart.c,v 1.2 1995/05/30 03:45:55 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/rpc_fwd.c b/usr.sbin/amd/amd/rpc_fwd.c index a2e49ef99406f..d093bc7c22505 100644 --- a/usr.sbin/amd/amd/rpc_fwd.c +++ b/usr.sbin/amd/amd/rpc_fwd.c @@ -37,7 +37,7 @@ * * @(#)rpc_fwd.c 8.1 (Berkeley) 6/6/93 * - * $Id: rpc_fwd.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ + * $Id: rpc_fwd.c,v 1.2 1995/05/30 03:45:56 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/sched.c b/usr.sbin/amd/amd/sched.c index cd12e3bf4b702..905ca5b092ff2 100644 --- a/usr.sbin/amd/amd/sched.c +++ b/usr.sbin/amd/amd/sched.c @@ -37,7 +37,7 @@ * * @(#)sched.c 8.1 (Berkeley) 6/6/93 * - * $Id: sched.c,v 5.2.2.1 1992/02/09 15:09:02 jsp beta $ + * $Id: sched.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/sfs_ops.c b/usr.sbin/amd/amd/sfs_ops.c index c1b1ebae840ca..190c9cf0fb67d 100644 --- a/usr.sbin/amd/amd/sfs_ops.c +++ b/usr.sbin/amd/amd/sfs_ops.c @@ -37,7 +37,7 @@ * * @(#)sfs_ops.c 8.1 (Berkeley) 6/6/93 * - * $Id: sfs_ops.c,v 5.2.2.1 1992/02/09 15:09:04 jsp beta $ + * $Id: sfs_ops.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/srvr_afs.c b/usr.sbin/amd/amd/srvr_afs.c index 044077758a854..67bae8a441900 100644 --- a/usr.sbin/amd/amd/srvr_afs.c +++ b/usr.sbin/amd/amd/srvr_afs.c @@ -37,7 +37,7 @@ * * @(#)srvr_afs.c 8.1 (Berkeley) 6/6/93 * - * $Id: srvr_afs.c,v 5.2.2.1 1992/02/09 15:09:05 jsp beta $ + * $Id: srvr_afs.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/srvr_nfs.c b/usr.sbin/amd/amd/srvr_nfs.c index a025640827d45..4efb5fb70a797 100644 --- a/usr.sbin/amd/amd/srvr_nfs.c +++ b/usr.sbin/amd/amd/srvr_nfs.c @@ -37,7 +37,7 @@ * * @(#)srvr_nfs.c 8.1 (Berkeley) 6/6/93 * - * $Id: srvr_nfs.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ + * $Id: srvr_nfs.c,v 1.2 1995/05/30 03:45:58 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/ufs_ops.c b/usr.sbin/amd/amd/ufs_ops.c index fd81c37155f04..5242958fa6ded 100644 --- a/usr.sbin/amd/amd/ufs_ops.c +++ b/usr.sbin/amd/amd/ufs_ops.c @@ -37,7 +37,7 @@ * * @(#)ufs_ops.c 8.1 (Berkeley) 6/6/93 * - * $Id: ufs_ops.c,v 5.2.2.1 1992/02/09 15:09:08 jsp beta $ + * $Id: ufs_ops.c,v 1.1.1.1 1994/05/26 05:22:02 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/umount_fs.c b/usr.sbin/amd/amd/umount_fs.c index 66b413bddc4a8..1027f12134c0c 100644 --- a/usr.sbin/amd/amd/umount_fs.c +++ b/usr.sbin/amd/amd/umount_fs.c @@ -37,7 +37,7 @@ * * @(#)umount_fs.c 8.1 (Berkeley) 6/6/93 * - * $Id: umount_fs.c,v 1.1.1.1 1994/05/26 05:22:03 rgrimes Exp $ + * $Id: umount_fs.c,v 1.2 1995/05/30 03:45:59 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/util.c b/usr.sbin/amd/amd/util.c index 8503cc828bfb7..b682daba84d4d 100644 --- a/usr.sbin/amd/amd/util.c +++ b/usr.sbin/amd/amd/util.c @@ -37,7 +37,7 @@ * * @(#)util.c 8.1 (Berkeley) 6/6/93 * - * $Id: util.c,v 5.2.2.2 1992/03/07 17:52:06 jsp Exp $ + * $Id: util.c,v 1.1.1.1 1994/05/26 05:22:03 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/wire.c b/usr.sbin/amd/amd/wire.c index f1103e8f360c2..cd5d86498b571 100644 --- a/usr.sbin/amd/amd/wire.c +++ b/usr.sbin/amd/amd/wire.c @@ -37,7 +37,7 @@ * * @(#)wire.c 8.1 (Berkeley) 6/6/93 * - * $Id: wire.c,v 1.1.1.1 1994/05/26 05:22:03 rgrimes Exp $ + * $Id: wire.c,v 1.2 1995/05/30 03:46:01 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amd/xutil.c b/usr.sbin/amd/amd/xutil.c index 8af6951d0b90f..d916bcecd3582 100644 --- a/usr.sbin/amd/amd/xutil.c +++ b/usr.sbin/amd/amd/xutil.c @@ -37,7 +37,7 @@ * * @(#)xutil.c 8.1 (Berkeley) 6/6/93 * - * $Id: xutil.c,v 5.2.2.3 1992/03/07 10:36:09 jsp Exp $ + * $Id: xutil.c,v 1.1.1.1 1994/05/26 05:22:03 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/amq/amq.8 b/usr.sbin/amd/amq/amq.8 index edbdaca9300c5..0dc86909690ae 100644 --- a/usr.sbin/amd/amq/amq.8 +++ b/usr.sbin/amd/amq/amq.8 @@ -37,7 +37,7 @@ .\" .\" @(#)amq.8 8.3 (Berkeley) 4/18/94 .\" -.\" $Id: amq.8,v 1.2 1996/01/20 07:28:37 mpp Exp $ +.\" $Id: amq.8,v 1.3 1996/04/08 04:17:22 mpp Exp $ .\" .Dd March 16, 1991 .Dt AMQ 8 diff --git a/usr.sbin/amd/amq/amq.c b/usr.sbin/amd/amq/amq.c index e7af53604fed6..ef417280c4c79 100644 --- a/usr.sbin/amd/amq/amq.c +++ b/usr.sbin/amd/amq/amq.c @@ -37,7 +37,7 @@ * * @(#)amq.c 8.1 (Berkeley) 6/7/93 * - * $Id$ + * $Id: amq.c,v 1.2.6.1 1997/03/23 19:13:03 joerg Exp $ * */ @@ -54,7 +54,7 @@ char copyright[] = "\ #endif /* not lint */ #ifndef lint -static char rcsid[] = "$Id$"; +static char rcsid[] = "$Id: amq.c,v 1.2.6.1 1997/03/23 19:13:03 joerg Exp $"; static char sccsid[] = "@(#)amq.c 8.1 (Berkeley) 6/7/93"; #endif /* not lint */ diff --git a/usr.sbin/amd/config/Configure b/usr.sbin/amd/config/Configure index 2851786f5032c..602b9a725bae0 100644 --- a/usr.sbin/amd/config/Configure +++ b/usr.sbin/amd/config/Configure @@ -38,7 +38,7 @@ # # @(#)Configure 8.1 (Berkeley) 6/6/93 # -# $Id: Configure,v 5.2.1.2 91/05/07 22:20:26 jsp Alpha $ +# $Id: Configure,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ # echo "Making ./arch and ./os-type executable ..." until chmod +x ./arch ./os-type; do echo "Error: chmod command failed" >&2; exit 1; done diff --git a/usr.sbin/amd/config/Makefile.aix3 b/usr.sbin/amd/config/Makefile.aix3 index c4bdd3afc85c3..b11728f3305d1 100644 --- a/usr.sbin/amd/config/Makefile.aix3 +++ b/usr.sbin/amd/config/Makefile.aix3 @@ -1,5 +1,5 @@ # @(#)Makefile.aix3 8.1 (Berkeley) 6/6/93 # -# $Id: Makefile.aix3,v 5.2.2.1 1992/02/09 15:10:06 jsp beta $ +# $Id: Makefile.aix3,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ # SYSLIB = -lbsd diff --git a/usr.sbin/amd/config/Makefile.bsd44 b/usr.sbin/amd/config/Makefile.bsd44 index a41ff2dba0d48..bca7b94b24e24 100644 --- a/usr.sbin/amd/config/Makefile.bsd44 +++ b/usr.sbin/amd/config/Makefile.bsd44 @@ -1,6 +1,6 @@ # @(#)Makefile.bsd44 8.1 (Berkeley) 6/6/93 # -# $Id: Makefile.bsd44,v 5.2.2.1 1992/02/09 15:10:12 jsp beta $ +# $Id: Makefile.bsd44,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ # # Extra Makefile definitions for 4.4 BSD # diff --git a/usr.sbin/amd/config/Makefile.config b/usr.sbin/amd/config/Makefile.config index 596299b4c4032..c2c64c04ab5f1 100644 --- a/usr.sbin/amd/config/Makefile.config +++ b/usr.sbin/amd/config/Makefile.config @@ -1,6 +1,6 @@ # @(#)Makefile.config 8.1 (Berkeley) 6/6/93 # -# $Id: Makefile.config,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ +# $Id: Makefile.config,v 1.2 1995/08/24 10:22:25 dfr Exp $ # # diff --git a/usr.sbin/amd/config/Makefile.hpux b/usr.sbin/amd/config/Makefile.hpux index dd92f9eb4b967..67e0f42e232a6 100644 --- a/usr.sbin/amd/config/Makefile.hpux +++ b/usr.sbin/amd/config/Makefile.hpux @@ -1,6 +1,6 @@ # @(#)Makefile.hpux 8.1 (Berkeley) 6/6/93 # -# $Id: Makefile.hpux,v 5.2.2.1 1992/02/09 15:10:26 jsp beta $ +# $Id: Makefile.hpux,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ # # Extra Makefile definitions for HP-UX # diff --git a/usr.sbin/amd/config/Makefile.irix b/usr.sbin/amd/config/Makefile.irix index e936b4540bdb1..d077b5b472efd 100644 --- a/usr.sbin/amd/config/Makefile.irix +++ b/usr.sbin/amd/config/Makefile.irix @@ -1,6 +1,6 @@ # @(#)Makefile.irix 8.1 (Berkeley) 6/6/93 # -# $Id: Makefile.irix,v 5.2.2.1 1992/02/09 15:10:31 jsp beta $ +# $Id: Makefile.irix,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ # # Extra Makefile definitions for IRIX # diff --git a/usr.sbin/amd/config/Makefile.irix3 b/usr.sbin/amd/config/Makefile.irix3 index 9f208bb205df1..74879d49290bc 100644 --- a/usr.sbin/amd/config/Makefile.irix3 +++ b/usr.sbin/amd/config/Makefile.irix3 @@ -1,6 +1,6 @@ # @(#)Makefile.irix3 8.1 (Berkeley) 6/6/93 # -# $Id: Makefile.irix3,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ +# $Id: Makefile.irix3,v 1.2 1995/05/30 03:46:04 rgrimes Exp $ # # Extra Makefile definitions for IRIX # diff --git a/usr.sbin/amd/config/Makefile.irix4 b/usr.sbin/amd/config/Makefile.irix4 index 4480e932a5a91..fd73ca8bde6d0 100644 --- a/usr.sbin/amd/config/Makefile.irix4 +++ b/usr.sbin/amd/config/Makefile.irix4 @@ -1,6 +1,6 @@ # @(#)Makefile.irix4 8.1 (Berkeley) 6/6/93 # -# $Id: Makefile.irix4,v 5.2 1992/05/31 16:40:22 jsp Exp $ +# $Id: Makefile.irix4,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ # # Extra Makefile definitions for IRIX # diff --git a/usr.sbin/amd/config/Makefile.stellix b/usr.sbin/amd/config/Makefile.stellix index 0bcfff6895c25..27957ef0805ff 100644 --- a/usr.sbin/amd/config/Makefile.stellix +++ b/usr.sbin/amd/config/Makefile.stellix @@ -1,6 +1,6 @@ # @(#)Makefile.stellix 8.1 (Berkeley) 6/6/93 # -# $Id: Makefile.stellix,v 5.2.2.1 1992/02/09 15:10:45 jsp beta $ +# $Id: Makefile.stellix,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ # # Extra Makefile definitions for STELLIX # diff --git a/usr.sbin/amd/config/RELEASE b/usr.sbin/amd/config/RELEASE index 36f8f1f978b8c..43be6c3c0f4af 100644 --- a/usr.sbin/amd/config/RELEASE +++ b/usr.sbin/amd/config/RELEASE @@ -1 +1 @@ -$Revision: 5.2.3.1 $ of $Date: 1993/06/01 11:43:31 $ bsd44 +$Revision: 1.1.1.1 $ of $Date: 1994/05/26 05:22:08 $ bsd44 diff --git a/usr.sbin/amd/config/arch b/usr.sbin/amd/config/arch index 191c0c1ca79f5..d5803037864a0 100644 --- a/usr.sbin/amd/config/arch +++ b/usr.sbin/amd/config/arch @@ -38,7 +38,7 @@ # # @(#)arch 8.1 (Berkeley) 6/6/93 # -# $Id: arch,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ +# $Id: arch,v 1.2 1995/02/02 03:36:51 jkh Exp $ # # Figure out machine architecture # diff --git a/usr.sbin/amd/config/misc-aix3.h b/usr.sbin/amd/config/misc-aix3.h index 2c97d816cd108..35feea432d8ba 100644 --- a/usr.sbin/amd/config/misc-aix3.h +++ b/usr.sbin/amd/config/misc-aix3.h @@ -37,7 +37,7 @@ * * @(#)misc-aix3.h 8.1 (Berkeley) 6/6/93 * - * $Id: misc-aix3.h,v 5.2.2.1 1992/02/09 15:10:05 jsp beta $ + * $Id: misc-aix3.h,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/misc-hpux.h b/usr.sbin/amd/config/misc-hpux.h index d808627dac25d..386b5b9949f60 100644 --- a/usr.sbin/amd/config/misc-hpux.h +++ b/usr.sbin/amd/config/misc-hpux.h @@ -37,7 +37,7 @@ * * @(#)misc-hpux.h 8.1 (Berkeley) 6/6/93 * - * $Id: misc-hpux.h,v 5.2.2.1 1992/02/09 15:10:24 jsp beta $ + * $Id: misc-hpux.h,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/misc-irix.h b/usr.sbin/amd/config/misc-irix.h index f7d6682063077..997911947993f 100644 --- a/usr.sbin/amd/config/misc-irix.h +++ b/usr.sbin/amd/config/misc-irix.h @@ -37,7 +37,7 @@ * * @(#)misc-irix.h 8.1 (Berkeley) 6/6/93 * - * $Id: misc-irix.h,v 5.2.2.1 1992/02/09 15:10:30 jsp beta $ + * $Id: misc-irix.h,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/misc-next.h b/usr.sbin/amd/config/misc-next.h index 46a498e51215a..542d69c24bea6 100644 --- a/usr.sbin/amd/config/misc-next.h +++ b/usr.sbin/amd/config/misc-next.h @@ -37,7 +37,7 @@ * * @(#)misc-next.h 8.1 (Berkeley) 6/6/93 * - * $Id: misc-next.h,v 5.2.2.1 1992/02/09 15:10:34 jsp beta $ + * $Id: misc-next.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/misc-ultrix.h b/usr.sbin/amd/config/misc-ultrix.h index 640c5a784a723..d43caa8ec5a24 100644 --- a/usr.sbin/amd/config/misc-ultrix.h +++ b/usr.sbin/amd/config/misc-ultrix.h @@ -37,7 +37,7 @@ * * @(#)misc-ultrix.h 8.1 (Berkeley) 6/6/93 * - * $Id: misc-ultrix.h,v 5.2.2.1 1992/02/09 15:10:49 jsp beta $ + * $Id: misc-ultrix.h,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/mount_aix.c b/usr.sbin/amd/config/mount_aix.c index 07d9e803a673b..34d7735b850d8 100644 --- a/usr.sbin/amd/config/mount_aix.c +++ b/usr.sbin/amd/config/mount_aix.c @@ -37,7 +37,7 @@ * * @(#)mount_aix.c 8.1 (Berkeley) 6/6/93 * - * $Id: mount_aix.c,v 5.2.2.1 1992/02/09 15:10:08 jsp beta $ + * $Id: mount_aix.c,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/mount_irix.c b/usr.sbin/amd/config/mount_irix.c index 992696009d81a..6b5fa2ccb15ca 100644 --- a/usr.sbin/amd/config/mount_irix.c +++ b/usr.sbin/amd/config/mount_irix.c @@ -37,7 +37,7 @@ * * @(#)mount_irix.c 8.1 (Berkeley) 6/6/93 * - * $Id: mount_irix.c,v 5.2.2.1 1992/02/09 15:10:32 jsp beta $ + * $Id: mount_irix.c,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/mtab_aix.c b/usr.sbin/amd/config/mtab_aix.c index 78bf941fc6a99..9008936e4223f 100644 --- a/usr.sbin/amd/config/mtab_aix.c +++ b/usr.sbin/amd/config/mtab_aix.c @@ -37,7 +37,7 @@ * * @(#)mtab_aix.c 8.1 (Berkeley) 6/6/93 * - * $Id: mtab_aix.c,v 5.2.2.1 1992/02/09 15:10:07 jsp beta $ + * $Id: mtab_aix.c,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/mtab_bsd.c b/usr.sbin/amd/config/mtab_bsd.c index 1d81127a29a77..21a8676ad886a 100644 --- a/usr.sbin/amd/config/mtab_bsd.c +++ b/usr.sbin/amd/config/mtab_bsd.c @@ -37,7 +37,7 @@ * * @(#)mtab_bsd.c 8.1 (Berkeley) 6/6/93 * - * $Id: mtab_bsd.c,v 5.2.2.1 1992/02/09 15:10:13 jsp beta $ + * $Id: mtab_bsd.c,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/mtab_file.c b/usr.sbin/amd/config/mtab_file.c index 5a82cd7eb6271..a97ae765dfc02 100644 --- a/usr.sbin/amd/config/mtab_file.c +++ b/usr.sbin/amd/config/mtab_file.c @@ -37,7 +37,7 @@ * * @(#)mtab_file.c 8.1 (Berkeley) 6/6/93 * - * $Id: mtab_file.c,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ + * $Id: mtab_file.c,v 1.2 1995/05/30 03:46:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/mtab_ultrix.c b/usr.sbin/amd/config/mtab_ultrix.c index 241ea883f6cf0..0e43fc6d93dab 100644 --- a/usr.sbin/amd/config/mtab_ultrix.c +++ b/usr.sbin/amd/config/mtab_ultrix.c @@ -37,7 +37,7 @@ * * @(#)mtab_ultrix.c 8.1 (Berkeley) 6/6/93 * - * $Id: mtab_ultrix.c,v 5.2.2.1 1992/02/09 15:10:50 jsp beta $ + * $Id: mtab_ultrix.c,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/config/newvers.sh b/usr.sbin/amd/config/newvers.sh index ab761473dee40..b617bd2f31cac 100644 --- a/usr.sbin/amd/config/newvers.sh +++ b/usr.sbin/amd/config/newvers.sh @@ -38,7 +38,7 @@ # # @(#)newvers.sh 8.1 (Berkeley) 6/6/93 # -# $Id: newvers.sh,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ +# $Id: newvers.sh,v 1.1.1.1.8.1 1996/11/28 22:04:22 phk Exp $ # PATH=/usr/ucb:/bin:/usr/bin:$PATH if [ $# -ne 3 ]; then echo "Usage: newvers program arch os" >&2; exit 1; fi diff --git a/usr.sbin/amd/config/os-acis43.h b/usr.sbin/amd/config/os-acis43.h index bcc44d54a6004..01bd85f022730 100644 --- a/usr.sbin/amd/config/os-acis43.h +++ b/usr.sbin/amd/config/os-acis43.h @@ -37,7 +37,7 @@ * * @(#)os-acis43.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-acis43.h,v 5.2.2.1 1992/02/09 15:10:02 jsp beta $ + * $Id: os-acis43.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * * IBM RT ACIS4.3 definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-aix3.h b/usr.sbin/amd/config/os-aix3.h index c70b15919fb57..5669ef39ebd07 100644 --- a/usr.sbin/amd/config/os-aix3.h +++ b/usr.sbin/amd/config/os-aix3.h @@ -37,7 +37,7 @@ * * @(#)os-aix3.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-aix3.h,v 5.2.2.2 1992/05/31 16:38:49 jsp Exp $ + * $Id: os-aix3.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * * AIX 3.1 definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-aux.h b/usr.sbin/amd/config/os-aux.h index edd85a47e7647..fe88223dc4525 100644 --- a/usr.sbin/amd/config/os-aux.h +++ b/usr.sbin/amd/config/os-aux.h @@ -37,7 +37,7 @@ * * @(#)os-aux.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-aux.h,v 5.2.2.1 1992/02/09 15:10:10 jsp beta $ + * $Id: os-aux.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * * A/UX macII definitions for Amd (automounter) * Contributed by Julian Onions <jpo@cs.nott.ac.uk> diff --git a/usr.sbin/amd/config/os-bsd44.h b/usr.sbin/amd/config/os-bsd44.h index 060f7d7efde86..95585854f2c8f 100644 --- a/usr.sbin/amd/config/os-bsd44.h +++ b/usr.sbin/amd/config/os-bsd44.h @@ -37,7 +37,7 @@ * * @(#)os-bsd44.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-bsd44.h,v 1.4 1996/01/09 08:49:21 graichen Exp $ + * $Id: os-bsd44.h,v 1.5 1996/08/13 09:21:38 peter Exp $ * * 4.4 BSD definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-concentrix.h b/usr.sbin/amd/config/os-concentrix.h index 4a130e00a10de..8bed52a3607eb 100644 --- a/usr.sbin/amd/config/os-concentrix.h +++ b/usr.sbin/amd/config/os-concentrix.h @@ -37,7 +37,7 @@ * * @(#)os-concentrix.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-concentrix.h,v 5.2.2.1 1992/02/09 15:10:14 jsp beta $ + * $Id: os-concentrix.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * * Alliant Concentrix 5.0.0 definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-convex.h b/usr.sbin/amd/config/os-convex.h index 224655530171d..b32ae88ca737c 100644 --- a/usr.sbin/amd/config/os-convex.h +++ b/usr.sbin/amd/config/os-convex.h @@ -37,7 +37,7 @@ * * @(#)os-convex.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-convex.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ + * $Id: os-convex.h,v 1.2 1995/05/30 03:46:06 rgrimes Exp $ * * Convex C220, version 7.1 definitions for Amd (automounter) * from Eitan Mizrotsky <eitan@shum.huji.ac.il> diff --git a/usr.sbin/amd/config/os-defaults.h b/usr.sbin/amd/config/os-defaults.h index ce10ae202f587..6190aef536fd6 100644 --- a/usr.sbin/amd/config/os-defaults.h +++ b/usr.sbin/amd/config/os-defaults.h @@ -37,7 +37,7 @@ * * @(#)os-defaults.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-defaults.h,v 5.2.2.1 1992/02/09 15:10:17 jsp beta $ + * $Id: os-defaults.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * * Common OS definitions. These may be overridden in * the OS specific files ("os-foo.h"). diff --git a/usr.sbin/amd/config/os-dgux.h b/usr.sbin/amd/config/os-dgux.h index 98c81bfb1d8dd..eb704604fe0ad 100644 --- a/usr.sbin/amd/config/os-dgux.h +++ b/usr.sbin/amd/config/os-dgux.h @@ -37,7 +37,7 @@ * * @(#)os-dgux.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-dgux.h,v 5.2.2.1 1992/02/09 15:10:18 jsp beta $ + * $Id: os-dgux.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * * dg/ux definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-fpx4.h b/usr.sbin/amd/config/os-fpx4.h index 8c6942118c982..b98d0fa6eb167 100644 --- a/usr.sbin/amd/config/os-fpx4.h +++ b/usr.sbin/amd/config/os-fpx4.h @@ -37,7 +37,7 @@ * * @(#)os-fpx4.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-fpx4.h,v 5.2.2.2 1992/05/31 16:39:34 jsp Exp $ + * $Id: os-fpx4.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * Celerity FPX 4.1/2 definitions for Amd (automounter) * from Stephen Pope <scp@grizzly.acl.lanl.gov> diff --git a/usr.sbin/amd/config/os-hcx.h b/usr.sbin/amd/config/os-hcx.h index 5b3fb3033e249..78cb27afde2b7 100644 --- a/usr.sbin/amd/config/os-hcx.h +++ b/usr.sbin/amd/config/os-hcx.h @@ -37,7 +37,7 @@ * * @(#)os-hcx.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-hcx.h,v 5.2.2.1 1992/02/09 15:10:20 jsp beta $ + * $Id: os-hcx.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * * Harris HCX/UX Release 3.0 definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-hlh42.h b/usr.sbin/amd/config/os-hlh42.h index 43d2d0b315c44..dda22918a1508 100644 --- a/usr.sbin/amd/config/os-hlh42.h +++ b/usr.sbin/amd/config/os-hlh42.h @@ -37,7 +37,7 @@ * * @(#)os-hlh42.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-hlh42.h,v 5.2.2.1 1992/02/09 15:10:22 jsp beta $ + * $Id: os-hlh42.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * HLH OTS definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-hpux.h b/usr.sbin/amd/config/os-hpux.h index 42b6b8b5b03c6..9d160485087ad 100644 --- a/usr.sbin/amd/config/os-hpux.h +++ b/usr.sbin/amd/config/os-hpux.h @@ -37,7 +37,7 @@ * * @(#)os-hpux.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-hpux.h,v 5.2.2.1 1992/02/09 15:10:23 jsp beta $ + * $Id: os-hpux.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * * HP/9000 HP-UX definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-irix.h b/usr.sbin/amd/config/os-irix.h index 1d854f7d7f218..0e45d573ab190 100644 --- a/usr.sbin/amd/config/os-irix.h +++ b/usr.sbin/amd/config/os-irix.h @@ -37,7 +37,7 @@ * * @(#)os-irix.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-irix.h,v 5.2.2.1 1992/02/09 15:10:28 jsp beta $ + * $Id: os-irix.h,v 1.1.1.1 1994/05/26 05:22:07 rgrimes Exp $ * * IRIX 3.3 definitions for Amd (automounter) * Contributed by Scott R. Presnell <srp@cgl.ucsf.edu> diff --git a/usr.sbin/amd/config/os-irix3.h b/usr.sbin/amd/config/os-irix3.h index 867097dbe7f94..7e9f956b0f64d 100644 --- a/usr.sbin/amd/config/os-irix3.h +++ b/usr.sbin/amd/config/os-irix3.h @@ -37,7 +37,7 @@ * * @(#)os-irix3.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-irix3.h,v 5.2 1992/05/31 16:40:22 jsp Exp $ + * $Id: os-irix3.h,v 1.1.1.1 1994/05/26 05:22:10 rgrimes Exp $ * * IRIX 3.3 definitions for Amd (automounter) * Contributed by Scott R. Presnell <srp@cgl.ucsf.edu> diff --git a/usr.sbin/amd/config/os-irix4.h b/usr.sbin/amd/config/os-irix4.h index 31cb6b1753271..d9c1785d0aad3 100644 --- a/usr.sbin/amd/config/os-irix4.h +++ b/usr.sbin/amd/config/os-irix4.h @@ -37,7 +37,7 @@ * * @(#)os-irix4.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-irix4.h,v 1.1.1.1 1994/05/26 05:22:10 rgrimes Exp $ + * $Id: os-irix4.h,v 1.2 1995/05/30 03:46:07 rgrimes Exp $ * * IRIX 4.0.X definitions for Amd (automounter) * Contributed by Scott R. Presnell <srp@cgl.ucsf.edu> diff --git a/usr.sbin/amd/config/os-next.h b/usr.sbin/amd/config/os-next.h index c9b1cc2e72551..a3af45ac8df1c 100644 --- a/usr.sbin/amd/config/os-next.h +++ b/usr.sbin/amd/config/os-next.h @@ -37,7 +37,7 @@ * * @(#)os-next.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-next.h,v 5.2.2.1 1992/02/09 15:10:33 jsp beta $ + * $Id: os-next.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * NeXT OS definitions for Amd (automounter) * By Bill Trost, Reed College diff --git a/usr.sbin/amd/config/os-pyrOSx.h b/usr.sbin/amd/config/os-pyrOSx.h index 21b5fdd91d45d..52c13e8fe1840 100644 --- a/usr.sbin/amd/config/os-pyrOSx.h +++ b/usr.sbin/amd/config/os-pyrOSx.h @@ -37,7 +37,7 @@ * * @(#)os-pyrOSx.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-pyrOSx.h,v 5.2.2.1 1992/02/09 15:10:37 jsp beta $ + * $Id: os-pyrOSx.h,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ * * Pyramid OSx definitions for Amd (automounter) * from Stefan Petri <petri@tubsibr.UUCP> diff --git a/usr.sbin/amd/config/os-riscix.h b/usr.sbin/amd/config/os-riscix.h index cff795160a784..fea086094dfb2 100644 --- a/usr.sbin/amd/config/os-riscix.h +++ b/usr.sbin/amd/config/os-riscix.h @@ -37,7 +37,7 @@ * * @(#)os-riscix.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-riscix.h,v 5.2.2.1 1992/02/09 15:10:38 jsp beta $ + * $Id: os-riscix.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * Acorn Archimedes RISC iX definitions for Amd (automounter) * Contributed by Piete Brooks. diff --git a/usr.sbin/amd/config/os-sos3.h b/usr.sbin/amd/config/os-sos3.h index 15c632cf31dda..311bbaab3acd9 100644 --- a/usr.sbin/amd/config/os-sos3.h +++ b/usr.sbin/amd/config/os-sos3.h @@ -37,7 +37,7 @@ * * @(#)os-sos3.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-sos3.h,v 5.2.2.1 1992/02/09 15:10:39 jsp beta $ + * $Id: os-sos3.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * SunOS 3.2 definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-sos4.h b/usr.sbin/amd/config/os-sos4.h index 3853a6c1b76f0..c73f96183c2f6 100644 --- a/usr.sbin/amd/config/os-sos4.h +++ b/usr.sbin/amd/config/os-sos4.h @@ -37,7 +37,7 @@ * * @(#)os-sos4.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-sos4.h,v 5.2.2.1 1992/02/09 15:10:41 jsp beta $ + * $Id: os-sos4.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * SunOS 4.0 definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-stellix.h b/usr.sbin/amd/config/os-stellix.h index 8c6290a5be2cd..377e22549fbec 100644 --- a/usr.sbin/amd/config/os-stellix.h +++ b/usr.sbin/amd/config/os-stellix.h @@ -40,7 +40,7 @@ * Amd (automounter) definitions for Stellix. * From Stephen C. Pope <scp@acl.lanl.gov> * - * $Id: os-stellix.h,v 5.2.2.1 1992/02/09 15:10:43 jsp beta $ + * $Id: os-stellix.h,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ */ #define RPC_3 diff --git a/usr.sbin/amd/config/os-type b/usr.sbin/amd/config/os-type index 4871d79d0aa5c..b741e98132ae0 100644 --- a/usr.sbin/amd/config/os-type +++ b/usr.sbin/amd/config/os-type @@ -38,7 +38,7 @@ # # @(#)os-type 8.1 (Berkeley) 6/6/93 # -# $Id: os-type,v 5.2.2.2 1992/05/31 16:45:46 jsp Exp $ +# $Id: os-type,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ # # diff --git a/usr.sbin/amd/config/os-u2_2.h b/usr.sbin/amd/config/os-u2_2.h index aece17110cf36..34e343bfdd3e5 100644 --- a/usr.sbin/amd/config/os-u2_2.h +++ b/usr.sbin/amd/config/os-u2_2.h @@ -37,7 +37,7 @@ * * @(#)os-u2_2.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-u2_2.h,v 5.2.2.1 1992/02/09 15:10:48 jsp beta $ + * $Id: os-u2_2.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * Ultrix 2.2 definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-u3_0.h b/usr.sbin/amd/config/os-u3_0.h index 08a4f36b20f16..b02f3343d0656 100644 --- a/usr.sbin/amd/config/os-u3_0.h +++ b/usr.sbin/amd/config/os-u3_0.h @@ -37,7 +37,7 @@ * * @(#)os-u3_0.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-u3_0.h,v 5.2.2.1 1992/02/09 15:10:52 jsp beta $ + * $Id: os-u3_0.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * Ultrix 3.0 definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-u4_0.h b/usr.sbin/amd/config/os-u4_0.h index 07c9833055052..7d37c97e21017 100644 --- a/usr.sbin/amd/config/os-u4_0.h +++ b/usr.sbin/amd/config/os-u4_0.h @@ -37,7 +37,7 @@ * * @(#)os-u4_0.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-u4_0.h,v 5.2.2.1 1992/02/09 15:10:53 jsp beta $ + * $Id: os-u4_0.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * Ultrix 4.0 definitions for Amd (automounter) * from Chris Lindblad <cjl@ai.mit.edu> diff --git a/usr.sbin/amd/config/os-u4_2.h b/usr.sbin/amd/config/os-u4_2.h index f8f039c679986..295a32d9e39df 100644 --- a/usr.sbin/amd/config/os-u4_2.h +++ b/usr.sbin/amd/config/os-u4_2.h @@ -37,7 +37,7 @@ * * @(#)os-u4_2.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-u4_2.h,v 5.2.2.1 1992/02/09 15:10:54 jsp beta $ + * $Id: os-u4_2.h,v 1.1.1.1 1994/05/26 05:22:10 rgrimes Exp $ * * Ultrix 4.2 definitions for Amd (automounter) * from Chris Lindblad <cjl@ai.mit.edu> diff --git a/usr.sbin/amd/config/os-umax43.h b/usr.sbin/amd/config/os-umax43.h index 3e80872f7edc8..5312775a34f4a 100644 --- a/usr.sbin/amd/config/os-umax43.h +++ b/usr.sbin/amd/config/os-umax43.h @@ -37,7 +37,7 @@ * * @(#)os-umax43.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-umax43.h,v 5.2.2.1 1992/02/09 15:10:55 jsp beta $ + * $Id: os-umax43.h,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ * * UMAX 4.3 definitions for Amd (automounter) */ diff --git a/usr.sbin/amd/config/os-utek.h b/usr.sbin/amd/config/os-utek.h index eb1be04d1f3d9..99e057e286c0c 100644 --- a/usr.sbin/amd/config/os-utek.h +++ b/usr.sbin/amd/config/os-utek.h @@ -37,7 +37,7 @@ * * @(#)os-utek.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-utek.h,v 5.2.2.1 1992/02/09 15:10:56 jsp beta $ + * $Id: os-utek.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * Utek 4.0 definitions for Amd (automounter) * from Bill Trost <trost%reed@cse.ogi.edu> diff --git a/usr.sbin/amd/config/os-utx32.h b/usr.sbin/amd/config/os-utx32.h index 29612c4bb2b83..29f28e0980dee 100644 --- a/usr.sbin/amd/config/os-utx32.h +++ b/usr.sbin/amd/config/os-utx32.h @@ -1,4 +1,4 @@ -/* $Id: os-utx32.h,v 5.2.1.1 90/10/21 22:31:11 jsp Exp $ */ +/* $Id: os-utx32.h,v 1.1.1.1 1994/05/26 05:22:09 rgrimes Exp $ */ /* * Gould UTX/32 definitions for Amd (automounter) diff --git a/usr.sbin/amd/config/os-xinu43.h b/usr.sbin/amd/config/os-xinu43.h index e85cea249eb7d..a44d67d23a8dd 100644 --- a/usr.sbin/amd/config/os-xinu43.h +++ b/usr.sbin/amd/config/os-xinu43.h @@ -37,7 +37,7 @@ * * @(#)os-xinu43.h 8.1 (Berkeley) 6/6/93 * - * $Id: os-xinu43.h,v 5.2.2.1 1992/02/09 15:10:58 jsp beta $ + * $Id: os-xinu43.h,v 1.1.1.1 1994/05/26 05:22:08 rgrimes Exp $ * * mt Xinu 4.3 (MORE/bsd) definitions for Amd (automounter) * Should work on both Vax and HP ... diff --git a/usr.sbin/amd/doc/Makefile b/usr.sbin/amd/doc/Makefile index eba12704fb3f8..3fe6e2ec875ec 100644 --- a/usr.sbin/amd/doc/Makefile +++ b/usr.sbin/amd/doc/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.1.1.1 1994/05/26 05:22:14 rgrimes Exp $ +# $Id: Makefile,v 1.2 1995/02/19 09:10:53 jkh Exp $ # # Copyright (c) 1990 Jan-Simon Pendry # Copyright (c) 1990 Imperial College of Science, Technology & Medicine diff --git a/usr.sbin/amd/doc/amdref.texinfo b/usr.sbin/amd/doc/amdref.texinfo index 89cd5e12c46af..310cf800a92ee 100644 --- a/usr.sbin/amd/doc/amdref.texinfo +++ b/usr.sbin/amd/doc/amdref.texinfo @@ -37,7 +37,7 @@ @c @c @(#)amdref.texinfo 8.1 (Berkeley) 6/6/93 @c -@c $Id: amdref.texinfo,v 1.1.1.1 1994/05/26 05:22:11 rgrimes Exp $ +@c $Id: amdref.texinfo,v 1.2 1995/02/19 09:11:07 jkh Exp $ @c @setfilename amdref.info @c @setfilename /usr/local/emacs/info/amd diff --git a/usr.sbin/amd/fsinfo/Makefile b/usr.sbin/amd/fsinfo/Makefile index 8a216f5ee3781..fd02b5187c44c 100644 --- a/usr.sbin/amd/fsinfo/Makefile +++ b/usr.sbin/amd/fsinfo/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/28/93 -# $Id: $ +# $Id: Makefile,v 1.3 1996/05/07 23:19:49 wosch Exp $ PROG= fsinfo MAN8= fsinfo.8 diff --git a/usr.sbin/amd/fsinfo/conf/csg_sun3 b/usr.sbin/amd/fsinfo/conf/csg_sun3 index 7d75db2e4e2a3..68f8dfa9044fa 100644 --- a/usr.sbin/amd/fsinfo/conf/csg_sun3 +++ b/usr.sbin/amd/fsinfo/conf/csg_sun3 @@ -1,4 +1,4 @@ -// $Id$ +// $Id: csg_sun3,v 1.1.1.1 1994/05/26 05:22:19 rgrimes Exp $ // standard setups for DoC tsuns. // note that no /var/spool/rwho is mounted as we now expect amd to do this as /vol/rwho diff --git a/usr.sbin/amd/fsinfo/conf/csg_vax b/usr.sbin/amd/fsinfo/conf/csg_vax index 356ff7b1c3e90..d3ec6ae0ff6ca 100644 --- a/usr.sbin/amd/fsinfo/conf/csg_vax +++ b/usr.sbin/amd/fsinfo/conf/csg_vax @@ -1,4 +1,4 @@ -// $Id: csg_vax,v 1.1.1.1 1994/05/26 05:22:19 rgrimes Exp $ +// $Id: csg_vax,v 1.2 1995/02/04 20:01:53 phk Exp $ // csg vax config - really just for {s,r}vax #define FSTYPE_UFS 4.2 diff --git a/usr.sbin/amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk index 31f1be024a2fa..94a96002ed142 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk @@ -1,5 +1,5 @@ // mkfsinfo for flamingo -// $Id$ +// $Id: flamingo.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:19 rgrimes Exp $ host flamingo.doc.ic.ac.uk diff --git a/usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk index 8804c8e24edae..7d83253328774 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk @@ -1,5 +1,5 @@ // mkfsinfo for gould -// $Id$ +// $Id: gould.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:19 rgrimes Exp $ host gould.doc.ic.ac.uk diff --git a/usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk index c8fcb5df88e3a..d97a25bc59cc3 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk @@ -1,4 +1,4 @@ -// $Id$ +// $Id: ivax.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:20 rgrimes Exp $ // ivax #define FSTYPE_UFS 4.2 diff --git a/usr.sbin/amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk index dd9f0f7c67e98..1335827d9d10d 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk @@ -1,4 +1,4 @@ -// $Id$ +// $Id: obsidian.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:20 rgrimes Exp $ // conf for obsidian #define FSTYPE_UFS hfs diff --git a/usr.sbin/amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk index 1ffd8d7c78c22..d1f212750e0c2 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk @@ -1,5 +1,5 @@ // mkfsinfo for pelican -// $Id$ +// $Id: pelican.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:20 rgrimes Exp $ host pelican.doc.ic.ac.uk diff --git a/usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk index 05038ba532e05..2d33e06d06c29 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk @@ -1,4 +1,4 @@ -// $Id: rvax.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:20 rgrimes Exp $ +// $Id: rvax.doc.ic.ac.uk,v 1.2 1995/02/04 20:01:59 phk Exp $ // rvax #define FSTYPE_UFS 4.2 diff --git a/usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk index c0ed79aae586f..c1d65bf203904 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk @@ -1,4 +1,4 @@ -// $Id: sky.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:20 rgrimes Exp $ +// $Id: sky.doc.ic.ac.uk,v 1.2 1995/02/04 20:02:00 phk Exp $ // sky #define FSTYPE_UFS 4.2 diff --git a/usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk index 795ef54cf315e..4cf8cf3ba53e2 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk @@ -1,4 +1,4 @@ -// $Id: svax.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:20 rgrimes Exp $ +// $Id: svax.doc.ic.ac.uk,v 1.2 1995/02/04 20:02:01 phk Exp $ // svax #define FSTYPE_UFS 4.2 diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk index b09db9dc898c1..56200df599893 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk @@ -1,5 +1,5 @@ // mkfsinfo for tsunfs -// $Id$ +// $Id: tsunfs.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:22 rgrimes Exp $ host tsunfs.doc.ic.ac.uk diff --git a/usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk index 831053bd48541..b073044b55836 100644 --- a/usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk +++ b/usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk @@ -1,4 +1,4 @@ -// $Id$ +// $Id: whoops.doc.ic.ac.uk,v 1.1.1.1 1994/05/26 05:22:22 rgrimes Exp $ // sm's bastardised csg_sun3 // note that no /var/spool/rwho is mounted as we now expect amd to do this as /vol/rwho diff --git a/usr.sbin/amd/fsinfo/fsi_analyze.c b/usr.sbin/amd/fsinfo/fsi_analyze.c index d436a49ca4b60..4d495baeeb9f2 100644 --- a/usr.sbin/amd/fsinfo/fsi_analyze.c +++ b/usr.sbin/amd/fsinfo/fsi_analyze.c @@ -37,7 +37,7 @@ * * @(#)fsi_analyze.c 8.1 (Berkeley) 6/6/93 * - * $Id: fsi_analyze.c,v 5.2.2.1 1992/02/09 15:09:41 jsp beta $ + * $Id: fsi_analyze.c,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/fsi_data.h b/usr.sbin/amd/fsinfo/fsi_data.h index 5ee39c20d38b5..c56136275f331 100644 --- a/usr.sbin/amd/fsinfo/fsi_data.h +++ b/usr.sbin/amd/fsinfo/fsi_data.h @@ -37,7 +37,7 @@ * * @(#)fsi_data.h 8.1 (Berkeley) 6/6/93 * - * $Id: fsi_data.h,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ + * $Id: fsi_data.h,v 1.2 1995/05/30 03:46:09 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/fsi_dict.c b/usr.sbin/amd/fsinfo/fsi_dict.c index 3aced3da76771..83663dd55b8f0 100644 --- a/usr.sbin/amd/fsinfo/fsi_dict.c +++ b/usr.sbin/amd/fsinfo/fsi_dict.c @@ -37,7 +37,7 @@ * * @(#)fsi_dict.c 8.1 (Berkeley) 6/6/93 * - * $Id: fsi_dict.c,v 1.1.1.1 1994/05/26 05:22:17 rgrimes Exp $ + * $Id: fsi_dict.c,v 1.2 1995/05/30 03:46:10 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/fsi_gram.y b/usr.sbin/amd/fsinfo/fsi_gram.y index b4aa2459e69dd..285fbc0dd3e21 100644 --- a/usr.sbin/amd/fsinfo/fsi_gram.y +++ b/usr.sbin/amd/fsinfo/fsi_gram.y @@ -37,7 +37,7 @@ * * @(#)fsi_gram.y 8.1 (Berkeley) 6/6/93 * - * $Id: fsi_gram.y,v 5.2.2.1 1992/02/09 15:09:35 jsp beta $ + * $Id: fsi_gram.y,v 1.1.1.1 1994/05/26 05:22:17 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/fsi_lex.l b/usr.sbin/amd/fsinfo/fsi_lex.l index f7dcbbc818531..573555fae5c27 100644 --- a/usr.sbin/amd/fsinfo/fsi_lex.l +++ b/usr.sbin/amd/fsinfo/fsi_lex.l @@ -38,7 +38,7 @@ * * @(#)fsi_lex.l 8.2 (Berkeley) 2/17/94 * - * $Id: fsi_lex.l,v 1.1.1.1 1994/05/26 05:22:17 rgrimes Exp $ + * $Id: fsi_lex.l,v 1.2 1995/05/08 16:50:19 gpalmer Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/fsi_util.c b/usr.sbin/amd/fsinfo/fsi_util.c index f6371ca0b09d0..41c1870c888e4 100644 --- a/usr.sbin/amd/fsinfo/fsi_util.c +++ b/usr.sbin/amd/fsinfo/fsi_util.c @@ -34,7 +34,7 @@ * * @(#)fsi_util.c 8.1 (Berkeley) 6/6/93 * - * $Id: fsi_util.c,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ + * $Id: fsi_util.c,v 1.2 1995/05/30 03:46:11 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/fsinfo.c b/usr.sbin/amd/fsinfo/fsinfo.c index a4b867b926343..46b531c3da487 100644 --- a/usr.sbin/amd/fsinfo/fsinfo.c +++ b/usr.sbin/amd/fsinfo/fsinfo.c @@ -37,7 +37,7 @@ * * @(#)fsinfo.c 8.1 (Berkeley) 6/6/93 * - * $Id: fsinfo.c,v 5.2.2.1 1992/02/09 15:09:33 jsp beta $ + * $Id: fsinfo.c,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/fsinfo.h b/usr.sbin/amd/fsinfo/fsinfo.h index 0d07e21b0f87d..d45baafc348a6 100644 --- a/usr.sbin/amd/fsinfo/fsinfo.h +++ b/usr.sbin/amd/fsinfo/fsinfo.h @@ -37,7 +37,7 @@ * * @(#)fsinfo.h 8.1 (Berkeley) 6/6/93 * - * $Id: fsinfo.h,v 5.2.2.1 1992/02/09 15:09:51 jsp beta $ + * $Id: fsinfo.h,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/wr_atab.c b/usr.sbin/amd/fsinfo/wr_atab.c index 95e942644bb71..987cf9ea0123b 100644 --- a/usr.sbin/amd/fsinfo/wr_atab.c +++ b/usr.sbin/amd/fsinfo/wr_atab.c @@ -37,7 +37,7 @@ * * @(#)wr_atab.c 8.1 (Berkeley) 6/6/93 * - * $Id: wr_atab.c,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ + * $Id: wr_atab.c,v 1.2 1995/05/30 03:46:12 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/wr_bparam.c b/usr.sbin/amd/fsinfo/wr_bparam.c index 9ef0fcd8f0881..8d3dff1b0cb17 100644 --- a/usr.sbin/amd/fsinfo/wr_bparam.c +++ b/usr.sbin/amd/fsinfo/wr_bparam.c @@ -37,7 +37,7 @@ * * @(#)wr_bparam.c 8.1 (Berkeley) 6/6/93 * - * $Id: wr_bparam.c,v 5.2.2.1 1992/02/09 15:09:46 jsp beta $ + * $Id: wr_bparam.c,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/wr_dumpset.c b/usr.sbin/amd/fsinfo/wr_dumpset.c index d118feb83d392..8b6711c158976 100644 --- a/usr.sbin/amd/fsinfo/wr_dumpset.c +++ b/usr.sbin/amd/fsinfo/wr_dumpset.c @@ -37,7 +37,7 @@ * * @(#)wr_dumpset.c 8.1 (Berkeley) 6/6/93 * - * $Id: wr_dumpset.c,v 5.2.2.1 1992/02/09 15:09:47 jsp beta $ + * $Id: wr_dumpset.c,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/wr_exportfs.c b/usr.sbin/amd/fsinfo/wr_exportfs.c index 982b538fd850c..38bfdc597a77f 100644 --- a/usr.sbin/amd/fsinfo/wr_exportfs.c +++ b/usr.sbin/amd/fsinfo/wr_exportfs.c @@ -37,7 +37,7 @@ * * @(#)wr_exportfs.c 8.1 (Berkeley) 6/6/93 * - * $Id: wr_exportfs.c,v 5.2.2.1 1992/02/09 15:09:48 jsp beta $ + * $Id: wr_exportfs.c,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/fsinfo/wr_fstab.c b/usr.sbin/amd/fsinfo/wr_fstab.c index 85d36876c9e8f..1505ece626b2a 100644 --- a/usr.sbin/amd/fsinfo/wr_fstab.c +++ b/usr.sbin/amd/fsinfo/wr_fstab.c @@ -37,7 +37,7 @@ * * @(#)wr_fstab.c 8.1 (Berkeley) 6/6/93 * - * $Id: wr_fstab.c,v 5.2.2.1 1992/02/09 15:09:49 jsp beta $ + * $Id: wr_fstab.c,v 1.1.1.1 1994/05/26 05:22:18 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/include/am.h b/usr.sbin/amd/include/am.h index 14a728dbb7e93..fc2bfac71dca1 100644 --- a/usr.sbin/amd/include/am.h +++ b/usr.sbin/amd/include/am.h @@ -37,7 +37,7 @@ * * @(#)am.h 5.6 (Berkeley) 6/6/93 * - * $Id: am.h,v 5.2.2.1 1992/02/09 15:09:54 jsp beta $ + * $Id: am.h,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/include/config.h b/usr.sbin/amd/include/config.h index 09b77bf95f8e8..14af42295c5b5 100644 --- a/usr.sbin/amd/include/config.h +++ b/usr.sbin/amd/include/config.h @@ -37,7 +37,7 @@ * * @(#)config.h 8.1 (Berkeley) 6/6/93 * - * $Id: config.h,v 5.2.2.1 1992/02/09 15:09:56 jsp beta $ + * $Id: config.h,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/include/fstype.h b/usr.sbin/amd/include/fstype.h index 03493d25110f4..e939ce7afadbe 100644 --- a/usr.sbin/amd/include/fstype.h +++ b/usr.sbin/amd/include/fstype.h @@ -37,7 +37,7 @@ * * @(#)fstype.h 8.1 (Berkeley) 6/6/93 * - * $Id: fstype.h,v 5.2.2.1 1992/02/09 15:09:57 jsp beta $ + * $Id: fstype.h,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/include/uwait.h b/usr.sbin/amd/include/uwait.h index c3f8cbefb149d..e34f16b349c75 100644 --- a/usr.sbin/amd/include/uwait.h +++ b/usr.sbin/amd/include/uwait.h @@ -37,7 +37,7 @@ * * @(#)uwait.h 8.1 (Berkeley) 6/6/93 * - * $Id: uwait.h,v 5.2.2.1 1992/02/09 15:10:01 jsp beta $ + * $Id: uwait.h,v 1.1.1.1 1994/05/26 05:22:06 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/mk-amd-map/mk-amd-map.c b/usr.sbin/amd/mk-amd-map/mk-amd-map.c index c2dfb71b12c67..79fe749fa6f91 100644 --- a/usr.sbin/amd/mk-amd-map/mk-amd-map.c +++ b/usr.sbin/amd/mk-amd-map/mk-amd-map.c @@ -37,7 +37,7 @@ * * @(#)mk-amd-map.c 8.1 (Berkeley) 6/28/93 * - * $Id: mk-amd-map.c,v 5.2.2.1 1992/02/09 15:09:18 jsp beta $ + * $Id: mk-amd-map.c,v 1.1.1.1 1994/05/26 05:22:04 rgrimes Exp $ */ /* @@ -53,7 +53,7 @@ char copyright[] = "\ #endif /* not lint */ #ifndef lint -static char rcsid[] = "$Id: mk-amd-map.c,v 5.2.2.1 1992/02/09 15:09:18 jsp beta $"; +static char rcsid[] = "$Id: mk-amd-map.c,v 1.1.1.1 1994/05/26 05:22:04 rgrimes Exp $"; static char sccsid[] = "@(#)mk-amd-map.c 8.1 (Berkeley) 6/28/93"; #endif /* not lint */ diff --git a/usr.sbin/amd/rpcx/amq.h b/usr.sbin/amd/rpcx/amq.h index ea75871a6c02b..dcb243717a658 100644 --- a/usr.sbin/amd/rpcx/amq.h +++ b/usr.sbin/amd/rpcx/amq.h @@ -37,7 +37,7 @@ * * @(#)amq.h 8.1 (Berkeley) 6/6/93 * - * $Id: amq.h,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ + * $Id: amq.h,v 1.2 1995/12/07 14:33:33 bde Exp $ * */ diff --git a/usr.sbin/amd/rpcx/amq.x b/usr.sbin/amd/rpcx/amq.x index d75805dc21d55..59e5322f1eca5 100644 --- a/usr.sbin/amd/rpcx/amq.x +++ b/usr.sbin/amd/rpcx/amq.x @@ -37,7 +37,7 @@ * * @(#)amq.x 8.1 (Berkeley) 6/6/93 * - * $Id: amq.x,v 5.2.2.1 1992/02/09 15:09:20 jsp beta $ + * $Id: amq.x,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/rpcx/amq_clnt.c b/usr.sbin/amd/rpcx/amq_clnt.c index 5b70d1171cffc..8ce237281392c 100644 --- a/usr.sbin/amd/rpcx/amq_clnt.c +++ b/usr.sbin/amd/rpcx/amq_clnt.c @@ -37,7 +37,7 @@ * * @(#)amq_clnt.c 8.1 (Berkeley) 6/6/93 * - * $Id: amq_clnt.c,v 5.2.2.1 1992/02/09 15:09:24 jsp beta $ + * $Id: amq_clnt.c,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/rpcx/amq_svc.c b/usr.sbin/amd/rpcx/amq_svc.c index 0d3599f07ce20..3dd2433404591 100644 --- a/usr.sbin/amd/rpcx/amq_svc.c +++ b/usr.sbin/amd/rpcx/amq_svc.c @@ -37,7 +37,7 @@ * * @(#)amq_svc.c 8.1 (Berkeley) 6/6/93 * - * $Id: amq_svc.c,v 5.2.2.1 1992/02/09 15:09:26 jsp beta $ + * $Id: amq_svc.c,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/rpcx/amq_xdr.c b/usr.sbin/amd/rpcx/amq_xdr.c index 8a123a711a6a6..832de80be1831 100644 --- a/usr.sbin/amd/rpcx/amq_xdr.c +++ b/usr.sbin/amd/rpcx/amq_xdr.c @@ -37,7 +37,7 @@ * * @(#)amq_xdr.c 8.1 (Berkeley) 6/6/93 * - * $Id: amq_xdr.c,v 5.2.2.1 1992/02/09 15:09:23 jsp beta $ + * $Id: amq_xdr.c,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/rpcx/mount.h b/usr.sbin/amd/rpcx/mount.h index d30b0c3809dd8..0281fb730e431 100644 --- a/usr.sbin/amd/rpcx/mount.h +++ b/usr.sbin/amd/rpcx/mount.h @@ -37,7 +37,7 @@ * * @(#)mount.h 8.1 (Berkeley) 6/6/93 * - * $Id: mount.h,v 5.2.2.1 1992/02/09 15:09:27 jsp beta $ + * $Id: mount.h,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/rpcx/mount_xdr.c b/usr.sbin/amd/rpcx/mount_xdr.c index f8d8f57f0fca3..25ea5fef8f31f 100644 --- a/usr.sbin/amd/rpcx/mount_xdr.c +++ b/usr.sbin/amd/rpcx/mount_xdr.c @@ -37,7 +37,7 @@ * * @(#)mount_xdr.c 8.1 (Berkeley) 6/6/93 * - * $Id: mount_xdr.c,v 5.2.2.1 1992/02/09 15:09:28 jsp beta $ + * $Id: mount_xdr.c,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/rpcx/nfs_prot.h b/usr.sbin/amd/rpcx/nfs_prot.h index 62a75f7993fab..da660d0a5261d 100644 --- a/usr.sbin/amd/rpcx/nfs_prot.h +++ b/usr.sbin/amd/rpcx/nfs_prot.h @@ -37,7 +37,7 @@ * * @(#)nfs_prot.h 8.1 (Berkeley) 6/6/93 * - * $Id: nfs_prot.h,v 5.2.2.1 1992/02/09 15:09:29 jsp beta $ + * $Id: nfs_prot.h,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/rpcx/nfs_prot_svc.c b/usr.sbin/amd/rpcx/nfs_prot_svc.c index 21e47e3399623..ab68f7b13809c 100644 --- a/usr.sbin/amd/rpcx/nfs_prot_svc.c +++ b/usr.sbin/amd/rpcx/nfs_prot_svc.c @@ -37,7 +37,7 @@ * * @(#)nfs_prot_svc.c 8.1 (Berkeley) 6/6/93 * - * $Id: nfs_prot_svc.c,v 5.2.2.1 1992/02/09 15:09:30 jsp beta $ + * $Id: nfs_prot_svc.c,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/rpcx/nfs_prot_xdr.c b/usr.sbin/amd/rpcx/nfs_prot_xdr.c index 1786d01bd642c..91458be0428fd 100644 --- a/usr.sbin/amd/rpcx/nfs_prot_xdr.c +++ b/usr.sbin/amd/rpcx/nfs_prot_xdr.c @@ -37,7 +37,7 @@ * * @(#)nfs_prot_xdr.c 8.1 (Berkeley) 6/6/93 * - * $Id: nfs_prot_xdr.c,v 5.2.2.1 1992/02/09 15:09:32 jsp beta $ + * $Id: nfs_prot_xdr.c,v 1.1.1.1 1994/05/26 05:22:05 rgrimes Exp $ * */ diff --git a/usr.sbin/amd/text/INSTALL b/usr.sbin/amd/text/INSTALL index d35aaaabaae12..df9b2bb547af6 100644 --- a/usr.sbin/amd/text/INSTALL +++ b/usr.sbin/amd/text/INSTALL @@ -191,4 +191,4 @@ mapping root to nobody. If anything interesting happened, eg it didn't work, please report it to me -- Jan-Simon Pendry <jsp@doc.ic.ac.uk> -- as detailed in the README file. -$Id: INSTALL,v 5.2.2.2 1992/05/31 16:49:22 jsp Exp $ +$Id: INSTALL,v 1.1.1.1 1994/05/26 05:22:16 rgrimes Exp $ diff --git a/usr.sbin/amd/text/README b/usr.sbin/amd/text/README index 01d3a8b11ff70..298f80fa33319 100644 --- a/usr.sbin/amd/text/README +++ b/usr.sbin/amd/text/README @@ -34,4 +34,4 @@ being used. Thanks. The manual page (amd/amd.8) only lists the command line options. See the texinfo document doc/amdref.texinfo for a more detailed discussion. -$Id: README,v 5.2.2.1 1992/02/09 15:11:35 jsp beta $ +$Id: README,v 1.1.1.1 1994/05/26 05:22:16 rgrimes Exp $ diff --git a/usr.sbin/amd/text/amd.start.ex b/usr.sbin/amd/text/amd.start.ex index d7cdc1f7ddae2..28bf7ee965b8a 100644 --- a/usr.sbin/amd/text/amd.start.ex +++ b/usr.sbin/amd/text/amd.start.ex @@ -40,7 +40,7 @@ # # Start amd # -# $Id: amd.start.ex,v 5.2.2.1 1992/02/09 15:11:32 jsp beta $ +# $Id: amd.start.ex,v 1.1.1.1 1994/05/26 05:22:16 rgrimes Exp $ # PATH=/usr/sbin:/bin:/usr/bin:$PATH export PATH diff --git a/usr.sbin/apm/Makefile b/usr.sbin/apm/Makefile index e47e2ba08265c..28ca6b3e4de35 100644 --- a/usr.sbin/apm/Makefile +++ b/usr.sbin/apm/Makefile @@ -1,4 +1,4 @@ -# $Id: $ +# $Id: Makefile,v 1.5 1996/05/21 18:09:11 wosch Exp $ PROG= apm LINKS= ${BINDIR}/apm ${BINDIR}/zzz diff --git a/usr.sbin/arp/arp.c b/usr.sbin/arp/arp.c index 218f43aac6fba..f3bf6a68bb30d 100644 --- a/usr.sbin/arp/arp.c +++ b/usr.sbin/arp/arp.c @@ -42,7 +42,7 @@ static char const copyright[] = #ifndef lint static char const sccsid[] = "@(#)from: arp.c 8.2 (Berkeley) 1/2/94"; -static char const freebsdid[] = "$Id$"; +static char const freebsdid[] = "$Id: arp.c,v 1.4 1996/02/08 21:05:52 phk Exp $"; #endif /* not lint */ /* diff --git a/usr.sbin/bootparamd/bootparamd/Makefile b/usr.sbin/bootparamd/bootparamd/Makefile index deeb4eb23db83..8ef2a9024a9af 100644 --- a/usr.sbin/bootparamd/bootparamd/Makefile +++ b/usr.sbin/bootparamd/bootparamd/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.8 (Berkeley) 7/28/90 -# $Id: Makefile,v 1.6 1995/07/04 08:38:54 bde Exp $ +# $Id: Makefile,v 1.7 1996/03/28 20:49:29 joerg Exp $ PROG= bootparamd SRCS= bootparam_prot_xdr.c bootparam_prot_svc.c bootparamd.c main.c diff --git a/usr.sbin/bootparamd/bootparamd/bootparamd.c b/usr.sbin/bootparamd/bootparamd/bootparamd.c index 02c2f67ae4a90..acb0347aa305a 100644 --- a/usr.sbin/bootparamd/bootparamd/bootparamd.c +++ b/usr.sbin/bootparamd/bootparamd/bootparamd.c @@ -5,7 +5,7 @@ use and modify. Please send modifications and/or suggestions + bug fixes to Klas Heggemann <klas@nada.kth.se> - $Id: bootparamd.c,v 1.2 1995/05/30 03:46:27 rgrimes Exp $ + $Id: bootparamd.c,v 1.3 1995/07/25 22:44:13 wpaul Exp $ */ diff --git a/usr.sbin/bootparamd/bootparamd/bootparams.5 b/usr.sbin/bootparamd/bootparamd/bootparams.5 index 97ed383cfc7d8..2866bf22be541 100644 --- a/usr.sbin/bootparamd/bootparamd/bootparams.5 +++ b/usr.sbin/bootparamd/bootparamd/bootparams.5 @@ -25,7 +25,7 @@ .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" from: Id: bootparams.5,v 1.2 1994/10/03 19:26:13 gwr Exp -.\" $Id: bootparams.5,v 1.6 1997/02/22 16:04:23 peter Exp $ +.\" $Id: bootparams.5,v 1.2.2.3 1997/03/06 07:59:21 mpp Exp $ .\" .Dd October 2, 1994 .Dt BOOTPARAMS 5 diff --git a/usr.sbin/bootparamd/bootparamd/main.c b/usr.sbin/bootparamd/bootparamd/main.c index b8d8629b8d058..0a3618a064dd1 100644 --- a/usr.sbin/bootparamd/bootparamd/main.c +++ b/usr.sbin/bootparamd/bootparamd/main.c @@ -6,7 +6,7 @@ use and modify. Please send modifications and/or suggestions + bug fixes to Klas Heggemann <klas@nada.kth.se> - $Id: main.c,v 1.2 1995/05/30 03:46:28 rgrimes Exp $ + $Id: main.c,v 1.3 1995/07/25 22:44:14 wpaul Exp $ */ diff --git a/usr.sbin/bootparamd/callbootd/Makefile b/usr.sbin/bootparamd/callbootd/Makefile index 82d8f88895880..f9123e6b1c182 100644 --- a/usr.sbin/bootparamd/callbootd/Makefile +++ b/usr.sbin/bootparamd/callbootd/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.8 (Berkeley) 7/28/90 -# $Id: Makefile,v 1.5 1995/05/30 03:46:29 rgrimes Exp $ +# $Id: Makefile,v 1.6 1995/07/04 08:39:07 bde Exp $ PROG= callbootd SRCS= bootparam_prot_xdr.c bootparam_prot_clnt.c callbootd.c diff --git a/usr.sbin/bootparamd/callbootd/callbootd.c b/usr.sbin/bootparamd/callbootd/callbootd.c index 18cfac355e1f9..bcb1eb3bdabf1 100644 --- a/usr.sbin/bootparamd/callbootd/callbootd.c +++ b/usr.sbin/bootparamd/callbootd/callbootd.c @@ -5,7 +5,7 @@ use and modify. Please send modifications and/or suggestions + bug fixes to Klas Heggemann <klas@nada.kth.se> - $Id: callbootd.c,v 1.2 1995/03/26 03:15:39 wpaul Exp $ + $Id: callbootd.c,v 1.3 1995/05/30 03:46:30 rgrimes Exp $ */ diff --git a/usr.sbin/cdcontrol/cdcontrol.1 b/usr.sbin/cdcontrol/cdcontrol.1 index 29c63cbee5b7f..9e294f2612500 100644 --- a/usr.sbin/cdcontrol/cdcontrol.1 +++ b/usr.sbin/cdcontrol/cdcontrol.1 @@ -1,4 +1,4 @@ -.\" $Id$ +.\" $Id: cdcontrol.1,v 1.8 1996/10/05 22:27:24 wosch Exp $ .\" .Dd July 3, 1995 .Dt CDCONTROL 1 diff --git a/usr.sbin/cdcontrol/cdcontrol.c b/usr.sbin/cdcontrol/cdcontrol.c index e60445cd6da77..ec9dea61c12b7 100644 --- a/usr.sbin/cdcontrol/cdcontrol.c +++ b/usr.sbin/cdcontrol/cdcontrol.c @@ -17,7 +17,7 @@ * New eject algorithm. * Some code style reformatting. * - * $Id: cdcontrol.c,v 1.12 1996/02/09 01:16:23 ache Exp $ + * $Id: cdcontrol.c,v 1.13 1996/06/25 21:01:27 ache Exp $ */ #include <ctype.h> diff --git a/usr.sbin/chown/chown.8 b/usr.sbin/chown/chown.8 index a2cb5c21d3f30..047f7f45b2a7b 100644 --- a/usr.sbin/chown/chown.8 +++ b/usr.sbin/chown/chown.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)chown.8 8.3 (Berkeley) 3/31/94 -.\" $Id$ +.\" $Id: chown.8,v 1.2 1996/08/29 18:05:42 wosch Exp $ .\" .Dd March 31, 1994 .Dt CHOWN 8 diff --git a/usr.sbin/cron/cron/compat.h b/usr.sbin/cron/cron/compat.h index ca851d17e64bb..549b2e9fcac96 100644 --- a/usr.sbin/cron/cron/compat.h +++ b/usr.sbin/cron/cron/compat.h @@ -16,7 +16,7 @@ */ /* - * $Id: compat.h,v 1.1.1.1 1994/08/27 13:43:04 jkh Exp $ + * $Id: compat.h,v 1.2 1995/04/29 15:16:41 ache Exp $ */ #ifndef __P diff --git a/usr.sbin/cron/cron/config.h b/usr.sbin/cron/cron/config.h index 44f2ccea0b7be..7ac098a3fb417 100644 --- a/usr.sbin/cron/cron/config.h +++ b/usr.sbin/cron/cron/config.h @@ -17,7 +17,7 @@ /* config.h - configurables for Vixie Cron * - * $Id: config.h,v 1.4 1995/05/09 12:48:05 rgrimes Exp $ + * $Id: config.h,v 1.4.6.1 1996/11/12 09:11:22 phk Exp $ */ #if !defined(_PATH_SENDMAIL) diff --git a/usr.sbin/cron/cron/cron.8 b/usr.sbin/cron/cron/cron.8 index 10586abcc83b6..fedd76551cd5f 100644 --- a/usr.sbin/cron/cron/cron.8 +++ b/usr.sbin/cron/cron/cron.8 @@ -15,7 +15,7 @@ .\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul .\" */ .\" -.\" $Id: cron.8,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $ +.\" $Id: cron.8,v 1.2 1996/06/30 22:11:50 wosch Exp $ .\" .TH CRON 8 "20 December 1993" .UC 4 diff --git a/usr.sbin/cron/cron/cron.c b/usr.sbin/cron/cron/cron.c index 961bb1830d28e..0f5c474a896be 100644 --- a/usr.sbin/cron/cron/cron.c +++ b/usr.sbin/cron/cron/cron.c @@ -16,7 +16,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: cron.c,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $"; +static char rcsid[] = "$Id: cron.c,v 1.2 1996/06/30 22:11:51 wosch Exp $"; #endif diff --git a/usr.sbin/cron/cron/cron.h b/usr.sbin/cron/cron/cron.h index 457392f3f4e57..c50ab90803ee9 100644 --- a/usr.sbin/cron/cron/cron.h +++ b/usr.sbin/cron/cron/cron.h @@ -17,7 +17,7 @@ /* cron.h - header for vixie's cron * - * $Id: cron.h,v 1.2 1995/05/30 03:46:59 rgrimes Exp $ + * $Id: cron.h,v 1.3 1996/08/05 00:31:24 pst Exp $ * * vix 14nov88 [rest of log is in RCS] * vix 14jan87 [0 or 7 can be sunday; thanks, mwm@berkeley] diff --git a/usr.sbin/cron/cron/database.c b/usr.sbin/cron/cron/database.c index 58d545dfa48c5..400b0205c30a2 100644 --- a/usr.sbin/cron/cron/database.c +++ b/usr.sbin/cron/cron/database.c @@ -16,7 +16,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: database.c,v 1.2 1996/09/08 23:50:23 pst Exp $"; +static char rcsid[] = "$Id: database.c,v 1.3 1996/09/10 03:38:20 peter Exp $"; #endif /* vix 26jan87 [RCS has the log] diff --git a/usr.sbin/cron/cron/do_command.c b/usr.sbin/cron/cron/do_command.c index 51e6fee9f6fce..b646d12789103 100644 --- a/usr.sbin/cron/cron/do_command.c +++ b/usr.sbin/cron/cron/do_command.c @@ -16,7 +16,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: do_command.c,v 1.5 1995/05/30 03:47:00 rgrimes Exp $"; +static char rcsid[] = "$Id: do_command.c,v 1.6 1995/09/10 13:02:56 joerg Exp $"; #endif diff --git a/usr.sbin/cron/cron/job.c b/usr.sbin/cron/cron/job.c index adaa072fd48a1..f63db47700849 100644 --- a/usr.sbin/cron/cron/job.c +++ b/usr.sbin/cron/cron/job.c @@ -16,7 +16,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: job.c,v 1.6 1994/01/15 20:43:43 vixie Exp $"; +static char rcsid[] = "$Id: job.c,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $"; #endif diff --git a/usr.sbin/cron/cron/pathnames.h b/usr.sbin/cron/cron/pathnames.h index 5ed9a9feba131..04d559d185724 100644 --- a/usr.sbin/cron/cron/pathnames.h +++ b/usr.sbin/cron/cron/pathnames.h @@ -16,7 +16,7 @@ */ /* - * $Id: pathnames.h,v 1.1.1.1 1994/08/27 13:43:04 jkh Exp $ + * $Id: pathnames.h,v 1.2 1995/07/06 22:47:30 ache Exp $ */ #if (defined(BSD)) && (BSD >= 199103) || defined(__linux) || defined(AIX) diff --git a/usr.sbin/cron/cron/popen.c b/usr.sbin/cron/cron/popen.c index 55708bb2400e3..179f470a5a197 100644 --- a/usr.sbin/cron/cron/popen.c +++ b/usr.sbin/cron/cron/popen.c @@ -24,7 +24,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: popen.c,v 1.5 1994/01/15 20:43:43 vixie Exp $"; +static char rcsid[] = "$Id: popen.c,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $"; static char sccsid[] = "@(#)popen.c 5.7 (Berkeley) 2/14/89"; #endif /* not lint */ diff --git a/usr.sbin/cron/cron/user.c b/usr.sbin/cron/cron/user.c index 5f7ab137761d0..b6ac48ae0bb18 100644 --- a/usr.sbin/cron/cron/user.c +++ b/usr.sbin/cron/cron/user.c @@ -16,7 +16,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: user.c,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $"; +static char rcsid[] = "$Id: user.c,v 1.2 1995/05/30 03:47:01 rgrimes Exp $"; #endif /* vix 26jan87 [log is in RCS file] diff --git a/usr.sbin/cron/crontab/crontab.1 b/usr.sbin/cron/crontab/crontab.1 index c3c39431f7aed..b87a68ff1107a 100644 --- a/usr.sbin/cron/crontab/crontab.1 +++ b/usr.sbin/cron/crontab/crontab.1 @@ -15,7 +15,7 @@ .\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul .\" */ .\" -.\" $Id: crontab.1,v 2.4 1993/12/31 10:47:33 vixie Exp $ +.\" $Id: crontab.1,v 1.1.1.1 1994/08/27 13:43:04 jkh Exp $ .\" .TH CRONTAB 1 "29 December 1993" .UC 4 diff --git a/usr.sbin/cron/crontab/crontab.5 b/usr.sbin/cron/crontab/crontab.5 index 7aa5940bf3027..eb92b892b9d4a 100644 --- a/usr.sbin/cron/crontab/crontab.5 +++ b/usr.sbin/cron/crontab/crontab.5 @@ -15,7 +15,7 @@ .\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul .\" */ .\" -.\" $Id$ +.\" $Id: crontab.5,v 1.1.1.1.8.1 1997/02/13 07:18:39 mpp Exp $ .\" .TH CRONTAB 5 "24 January 1994" .UC 4 diff --git a/usr.sbin/cron/crontab/crontab.c b/usr.sbin/cron/crontab/crontab.c index 12e7b93736236..49d0e3c168a89 100644 --- a/usr.sbin/cron/crontab/crontab.c +++ b/usr.sbin/cron/crontab/crontab.c @@ -17,7 +17,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: crontab.c,v 1.5 1996/08/05 00:31:27 pst Exp $"; +static char rcsid[] = "$Id: crontab.c,v 1.6 1996/08/05 00:50:02 pst Exp $"; #endif /* crontab - install and manage per-user crontab files diff --git a/usr.sbin/cron/doc/CONVERSION b/usr.sbin/cron/doc/CONVERSION index b86427d72cc8d..e8c2846b2fffd 100644 --- a/usr.sbin/cron/doc/CONVERSION +++ b/usr.sbin/cron/doc/CONVERSION @@ -1,4 +1,4 @@ -$Id: CONVERSION,v 2.2 1993/12/28 08:34:43 vixie Exp $ +$Id: CONVERSION,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $ Conversion of BSD 4.[23] crontab files: diff --git a/usr.sbin/cron/doc/FEATURES b/usr.sbin/cron/doc/FEATURES index 209b1e99a96c7..88255eeda807f 100644 --- a/usr.sbin/cron/doc/FEATURES +++ b/usr.sbin/cron/doc/FEATURES @@ -1,4 +1,4 @@ -$Id: FEATURES,v 2.1 1993/12/28 08:34:43 vixie Exp $ +$Id: FEATURES,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $ Features of Vixie's cron relative to BSD 4.[23] and SysV crons: diff --git a/usr.sbin/cron/doc/INSTALL b/usr.sbin/cron/doc/INSTALL index cc660ffdaa696..9b128611a908d 100644 --- a/usr.sbin/cron/doc/INSTALL +++ b/usr.sbin/cron/doc/INSTALL @@ -15,7 +15,7 @@ * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul */ -$Id: INSTALL,v 2.5 1994/01/15 20:43:43 vixie Exp $ +$Id: INSTALL,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $ Read the comments at the top of the Makefile, then edit the area marked 'configurable stuff'. diff --git a/usr.sbin/cron/doc/MAIL b/usr.sbin/cron/doc/MAIL index b066e7e8e39d0..76d200ee9d612 100644 --- a/usr.sbin/cron/doc/MAIL +++ b/usr.sbin/cron/doc/MAIL @@ -3,7 +3,7 @@ version of cron. it is presented here for its entertainment value. --vix ] -$Id: MAIL,v 1.1 1993/12/28 08:30:36 vixie Exp $ +$Id: MAIL,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $ From ptsfa!lll-crg!ames!acornrc!bob Wed Dec 31 10:07:08 1986 Date: Wed, 31 Dec 86 08:59:31 pst diff --git a/usr.sbin/cron/doc/Makefile.vixie b/usr.sbin/cron/doc/Makefile.vixie index 2ce05b94c47c9..825eac9c9249c 100644 --- a/usr.sbin/cron/doc/Makefile.vixie +++ b/usr.sbin/cron/doc/Makefile.vixie @@ -17,7 +17,7 @@ # Makefile for vixie's cron # -# $Id: Makefile.vixie,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $ +# $Id: Makefile.vixie,v 1.2 1995/05/30 03:47:08 rgrimes Exp $ # # vix 03mar88 [moved to RCS, rest of log is in there] # vix 30mar87 [goodbye, time.c; hello, getopt] diff --git a/usr.sbin/cron/doc/README b/usr.sbin/cron/doc/README index 751f04f646fc4..c42622b83d0ae 100644 --- a/usr.sbin/cron/doc/README +++ b/usr.sbin/cron/doc/README @@ -69,4 +69,4 @@ have to go edit a couple of files... So, here's the checklist: if you like it, change your /etc/{rc,rc.local} to use it instead of the old one. -$Id: README,v 2.3 1993/12/28 08:34:43 vixie Exp $ +$Id: README,v 1.1.1.1 1994/08/27 13:43:03 jkh Exp $ diff --git a/usr.sbin/cron/lib/compat.c b/usr.sbin/cron/lib/compat.c index 87eeacce1936d..ef9a38f4172a8 100644 --- a/usr.sbin/cron/lib/compat.c +++ b/usr.sbin/cron/lib/compat.c @@ -16,7 +16,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: compat.c,v 1.1.1.1 1994/08/27 13:43:02 jkh Exp $"; +static char rcsid[] = "$Id: compat.c,v 1.2 1995/05/30 03:47:09 rgrimes Exp $"; #endif /* vix 30dec93 [broke this out of misc.c - see RCS log for history] diff --git a/usr.sbin/cron/lib/entry.c b/usr.sbin/cron/lib/entry.c index efec41255d0c1..58ecf4ee7fbc0 100644 --- a/usr.sbin/cron/lib/entry.c +++ b/usr.sbin/cron/lib/entry.c @@ -16,7 +16,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: entry.c,v 1.3 1995/05/30 03:47:10 rgrimes Exp $"; +static char rcsid[] = "$Id: entry.c,v 1.4 1995/08/28 21:30:46 mpp Exp $"; #endif /* vix 26jan87 [RCS'd; rest of log is in RCS file] diff --git a/usr.sbin/cron/lib/env.c b/usr.sbin/cron/lib/env.c index f370601b223e7..d8e0e3edccf2e 100644 --- a/usr.sbin/cron/lib/env.c +++ b/usr.sbin/cron/lib/env.c @@ -16,7 +16,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: env.c,v 1.1.1.1 1994/08/27 13:43:02 jkh Exp $"; +static char rcsid[] = "$Id: env.c,v 1.1.1.1.8.1 1996/12/22 15:28:04 joerg Exp $"; #endif diff --git a/usr.sbin/cron/lib/misc.c b/usr.sbin/cron/lib/misc.c index b6313b8b52b42..561f498031d20 100644 --- a/usr.sbin/cron/lib/misc.c +++ b/usr.sbin/cron/lib/misc.c @@ -16,7 +16,7 @@ */ #if !defined(lint) && !defined(LINT) -static char rcsid[] = "$Id: misc.c,v 1.2 1995/04/29 13:25:13 ache Exp $"; +static char rcsid[] = "$Id: misc.c,v 1.3 1995/05/30 03:47:11 rgrimes Exp $"; #endif /* vix 26jan87 [RCS has the rest of the log] diff --git a/usr.sbin/crunch/examples/filesystem.conf b/usr.sbin/crunch/examples/filesystem.conf index 96feb5376263a..fdca85d7c2342 100644 --- a/usr.sbin/crunch/examples/filesystem.conf +++ b/usr.sbin/crunch/examples/filesystem.conf @@ -1,4 +1,4 @@ -# $Id: filesystem.conf,v 1.4 1994/10/04 14:06:13 ache Exp $ +# $Id: filesystem.conf,v 1.5 1995/03/10 08:36:19 rgrimes Exp $ srcdirs /usr/src/bin /usr/src/sbin /usr/src/gnu/usr.bin /usr/src/usr.sbin srcdirs /usr/src/sbin/i386 diff --git a/usr.sbin/crunch/examples/kcopy.conf b/usr.sbin/crunch/examples/kcopy.conf index 5a3476d23522a..67ababf3c9b2b 100644 --- a/usr.sbin/crunch/examples/kcopy.conf +++ b/usr.sbin/crunch/examples/kcopy.conf @@ -1,4 +1,4 @@ -# $Id: kcopy.conf,v 1.3 1994/06/24 16:39:30 jkh Exp $ +# $Id: kcopy.conf,v 1.4 1994/09/09 16:02:04 rgrimes Exp $ srcdirs /usr/src/bin /usr/src/sbin diff --git a/usr.sbin/ctm/Makefile b/usr.sbin/ctm/Makefile index 39cc21b7d8189..498269b0a6510 100644 --- a/usr.sbin/ctm/Makefile +++ b/usr.sbin/ctm/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.3 1996/07/01 21:59:22 gpalmer Exp $ SUBDIR= ctm ctm_scan ctm_rmail ctm_smail ctm_dequeue diff --git a/usr.sbin/ctm/Makefile.inc b/usr.sbin/ctm/Makefile.inc index 2ecf884239342..1ec0270afb370 100644 --- a/usr.sbin/ctm/Makefile.inc +++ b/usr.sbin/ctm/Makefile.inc @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1995/01/31 19:09:38 phk Exp $ .if exists(${.CURDIR}/../../Makefile.inc) .include "${.CURDIR}/../../Makefile.inc" diff --git a/usr.sbin/ctm/README b/usr.sbin/ctm/README index d887912492bec..d2d18608399a1 100644 --- a/usr.sbin/ctm/README +++ b/usr.sbin/ctm/README @@ -5,7 +5,7 @@ # this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp # ---------------------------------------------------------------------------- # -# $Id$ +# $Id: README,v 1.4 1994/09/22 02:49:07 phk Exp $ # What will I not find in this file ? diff --git a/usr.sbin/ctm/ctm/Makefile b/usr.sbin/ctm/ctm/Makefile index 0d1e044d2ecf5..27bb0d6febd75 100644 --- a/usr.sbin/ctm/ctm/Makefile +++ b/usr.sbin/ctm/ctm/Makefile @@ -6,7 +6,7 @@ # this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp # ---------------------------------------------------------------------------- # -# $Id: Makefile,v 1.9 1995/07/12 18:35:22 bde Exp $ +# $Id: Makefile,v 1.10 1996/08/30 10:20:47 phk Exp $ # PROG= ctm diff --git a/usr.sbin/ctm/ctm/ctm.1 b/usr.sbin/ctm/ctm/ctm.1 index d0bc788f5f6fb..51c7a6ab50ad8 100644 --- a/usr.sbin/ctm/ctm/ctm.1 +++ b/usr.sbin/ctm/ctm/ctm.1 @@ -10,7 +10,7 @@ .\" .\" CTM and ctm(1) by <phk@login.dknet.dk> .\" -.\" $Id: ctm.1,v 1.12 1997/02/22 16:05:19 peter Exp $ +.\" $Id: ctm.1,v 1.9.2.1 1997/03/06 07:59:25 mpp Exp $ .\" .Dd Mar 25, 1995 .Os diff --git a/usr.sbin/ctm/ctm/ctm.5 b/usr.sbin/ctm/ctm/ctm.5 index 0829de39bc5ba..3fcea4240980b 100644 --- a/usr.sbin/ctm/ctm/ctm.5 +++ b/usr.sbin/ctm/ctm/ctm.5 @@ -10,7 +10,7 @@ .\" .\" CTM and ctm(1) by <phk@login.dknet.dk> .\" -.\" $Id: ctm.5,v 1.2 1995/03/26 20:09:48 phk Exp $ +.\" $Id: ctm.5,v 1.3 1996/05/27 22:46:22 wosch Exp $ .\" .Dd March 25, 1995 .Os diff --git a/usr.sbin/ctm/ctm/ctm.c b/usr.sbin/ctm/ctm/ctm.c index c0553ed45b8e8..87af84f62db93 100644 --- a/usr.sbin/ctm/ctm/ctm.c +++ b/usr.sbin/ctm/ctm/ctm.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: ctm.c,v 1.13 1996/04/29 21:02:28 phk Exp $ + * $Id: ctm.c,v 1.14 1996/08/30 10:20:52 phk Exp $ * * This is the client program of 'CTM'. It will apply a CTM-patch to a * collection of files. diff --git a/usr.sbin/ctm/ctm/ctm.h b/usr.sbin/ctm/ctm/ctm.h index 93498b56c3ded..730b0c0c1f304 100644 --- a/usr.sbin/ctm/ctm/ctm.h +++ b/usr.sbin/ctm/ctm/ctm.h @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: ctm.h,v 1.9 1996/04/29 21:02:29 phk Exp $ + * $Id: ctm.h,v 1.10 1996/08/30 10:20:53 phk Exp $ * */ diff --git a/usr.sbin/ctm/ctm/ctm_ed.c b/usr.sbin/ctm/ctm/ctm_ed.c index a78be73cd0a59..29dd25a19d073 100644 --- a/usr.sbin/ctm/ctm/ctm_ed.c +++ b/usr.sbin/ctm/ctm/ctm_ed.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: ctm_ed.c,v 1.5 1995/04/16 22:40:49 bde Exp $ + * $Id: ctm_ed.c,v 1.6 1995/05/30 03:47:22 rgrimes Exp $ * */ diff --git a/usr.sbin/ctm/ctm/ctm_input.c b/usr.sbin/ctm/ctm/ctm_input.c index 284272d939109..9d40f6f055d27 100644 --- a/usr.sbin/ctm/ctm/ctm_input.c +++ b/usr.sbin/ctm/ctm/ctm_input.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: ctm_input.c,v 1.4 1994/09/22 02:49:18 phk Exp $ + * $Id: ctm_input.c,v 1.5 1996/02/05 16:06:49 phk Exp $ * */ diff --git a/usr.sbin/ctm/ctm/ctm_pass1.c b/usr.sbin/ctm/ctm/ctm_pass1.c index 563d4d9930f86..d7da49f3aab51 100644 --- a/usr.sbin/ctm/ctm/ctm_pass1.c +++ b/usr.sbin/ctm/ctm/ctm_pass1.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: ctm_pass1.c,v 1.12 1996/02/05 16:06:50 phk Exp $ + * $Id: ctm_pass1.c,v 1.13 1996/08/30 10:20:55 phk Exp $ * */ diff --git a/usr.sbin/ctm/ctm/ctm_pass2.c b/usr.sbin/ctm/ctm/ctm_pass2.c index 3261d8b6b74a7..2a4f71580e45a 100644 --- a/usr.sbin/ctm/ctm/ctm_pass2.c +++ b/usr.sbin/ctm/ctm/ctm_pass2.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: ctm_pass2.c,v 1.12 1996/04/29 21:02:30 phk Exp $ + * $Id: ctm_pass2.c,v 1.13 1996/08/30 10:20:56 phk Exp $ * */ diff --git a/usr.sbin/ctm/ctm/ctm_pass3.c b/usr.sbin/ctm/ctm/ctm_pass3.c index 2b69c162b8d95..b9d868eed7e54 100644 --- a/usr.sbin/ctm/ctm/ctm_pass3.c +++ b/usr.sbin/ctm/ctm/ctm_pass3.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: ctm_pass3.c,v 1.13 1996/04/29 21:02:32 phk Exp $ + * $Id: ctm_pass3.c,v 1.14 1996/08/30 10:20:58 phk Exp $ * */ diff --git a/usr.sbin/ctm/ctm/ctm_passb.c b/usr.sbin/ctm/ctm/ctm_passb.c index 0fce0774d0936..c81e8743ab47b 100644 --- a/usr.sbin/ctm/ctm/ctm_passb.c +++ b/usr.sbin/ctm/ctm/ctm_passb.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Joseph Koshy * ---------------------------------------------------------------------------- * - * $Id$ + * $Id: ctm_passb.c,v 1.1 1996/08/30 10:21:00 phk Exp $ * */ diff --git a/usr.sbin/ctm/ctm/ctm_syntax.c b/usr.sbin/ctm/ctm/ctm_syntax.c index 014207fae3024..c7abfe51f5550 100644 --- a/usr.sbin/ctm/ctm/ctm_syntax.c +++ b/usr.sbin/ctm/ctm/ctm_syntax.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: ctm_syntax.c,v 1.6 1996/02/05 16:06:55 phk Exp $ + * $Id: ctm_syntax.c,v 1.7 1996/08/30 10:21:00 phk Exp $ * */ diff --git a/usr.sbin/ctm/ctm_dequeue/ctm_dequeue.c b/usr.sbin/ctm/ctm_dequeue/ctm_dequeue.c index 0e72b1f5e71b2..dbc536ed22706 100644 --- a/usr.sbin/ctm/ctm_dequeue/ctm_dequeue.c +++ b/usr.sbin/ctm/ctm_dequeue/ctm_dequeue.c @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ctm_dequeue.c,v 1.6 1996/11/27 13:06:51 mckay Exp $ + * $Id: ctm_dequeue.c,v 1.5.2.1 1996/12/14 11:26:09 joerg Exp $ */ /* diff --git a/usr.sbin/ctm/ctm_rmail/ctm_rmail.1 b/usr.sbin/ctm/ctm_rmail/ctm_rmail.1 index 513aae1561994..876886b76c058 100644 --- a/usr.sbin/ctm/ctm_rmail/ctm_rmail.1 +++ b/usr.sbin/ctm/ctm_rmail/ctm_rmail.1 @@ -476,4 +476,4 @@ Stephen McKay <mckay@FreeBSD.org> .\" Gosh! No bugs here! .\" This message brought to you by the Coalition for More Humour in Man Pages. .\" -.\" $Id: ctm_rmail.1,v 1.8 1996/12/15 15:10:11 mckay Exp $ +.\" $Id: ctm_rmail.1,v 1.7.2.1 1996/12/17 14:07:51 mckay Exp $ diff --git a/usr.sbin/ctm/ctm_scan/Makefile b/usr.sbin/ctm/ctm_scan/Makefile index f009338aa9856..312b59b66434b 100644 --- a/usr.sbin/ctm/ctm_scan/Makefile +++ b/usr.sbin/ctm/ctm_scan/Makefile @@ -6,7 +6,7 @@ # this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp # ---------------------------------------------------------------------------- # -# $Id: Makefile,v 1.5 1994/09/22 02:49:22 phk Exp $ +# $Id: Makefile,v 1.6 1994/10/24 20:09:27 phk Exp $ # PROG= ctm_scan LDADD+= -lmd diff --git a/usr.sbin/ctm/ctm_scan/ctm_scan.c b/usr.sbin/ctm/ctm_scan/ctm_scan.c index c9937b473d72d..c7c02851ca29d 100644 --- a/usr.sbin/ctm/ctm_scan/ctm_scan.c +++ b/usr.sbin/ctm/ctm_scan/ctm_scan.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: ctm_scan.c,v 1.12 1995/07/13 15:33:42 phk Exp $ + * $Id: ctm_scan.c,v 1.13 1996/03/19 15:17:34 bde Exp $ * */ #include <stdio.h> diff --git a/usr.sbin/ctm/ctm_smail/ctm_smail.c b/usr.sbin/ctm/ctm_smail/ctm_smail.c index 56379ebe996f4..2e289937b722a 100644 --- a/usr.sbin/ctm/ctm_smail/ctm_smail.c +++ b/usr.sbin/ctm/ctm_smail/ctm_smail.c @@ -11,7 +11,7 @@ * In return you should think about all the nice people who give away software. * Maybe you should write some free software too. * - * $Id: ctm_smail.c,v 1.8 1996/09/07 21:06:19 peter Exp $ + * $Id: ctm_smail.c,v 1.8.2.1 1996/12/14 11:26:10 joerg Exp $ */ #include <stdio.h> diff --git a/usr.sbin/ctm/mkCTM/dequeue b/usr.sbin/ctm/mkCTM/dequeue index c8fe67df24f0c..b3235d6579d0f 100755 --- a/usr.sbin/ctm/mkCTM/dequeue +++ b/usr.sbin/ctm/mkCTM/dequeue @@ -1,5 +1,5 @@ #! /bin/sh -# $Id$ +# $Id: dequeue,v 1.1 1996/09/07 21:09:41 peter Exp $ L=/home/ctm/log.dequeue /usr/sbin/ctm_dequeue -n 1 -l $L /home/ctm/queue/ctm-cvs-cur diff --git a/usr.sbin/diskpart/diskpart.c b/usr.sbin/diskpart/diskpart.c index c9505fde8e61b..32efd5e3dc506 100644 --- a/usr.sbin/diskpart/diskpart.c +++ b/usr.sbin/diskpart/diskpart.c @@ -42,7 +42,7 @@ static char copyright[] = static char sccsid[] = "@(#)diskpart.c 8.3 (Berkeley) 11/30/94"; #endif static const char rcsid[] = - "$Id$"; + "$Id: diskpart.c,v 1.6 1996/03/19 15:38:44 bde Exp $"; #endif /* not lint */ /* diff --git a/usr.sbin/fdwrite/Makefile b/usr.sbin/fdwrite/Makefile index a860090a9e806..21061b8317fbc 100644 --- a/usr.sbin/fdwrite/Makefile +++ b/usr.sbin/fdwrite/Makefile @@ -6,7 +6,7 @@ # this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp # ---------------------------------------------------------------------------- # -# $Id: Makefile,v 1.1.1.1 1994/09/18 07:39:19 phk Exp $ +# $Id: Makefile,v 1.2 1994/10/14 16:03:32 joerg Exp $ # # diff --git a/usr.sbin/fdwrite/fdwrite.1 b/usr.sbin/fdwrite/fdwrite.1 index f41c117f8da74..cf04e57dad13e 100644 --- a/usr.sbin/fdwrite/fdwrite.1 +++ b/usr.sbin/fdwrite/fdwrite.1 @@ -6,7 +6,7 @@ .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: fdwrite.1,v 1.1.1.1 1994/09/18 07:39:19 phk Exp $ +.\" $Id: fdwrite.1,v 1.2 1996/01/30 13:48:55 mpp Exp $ .\" .\" .Dd September 16, 1993 diff --git a/usr.sbin/fdwrite/fdwrite.c b/usr.sbin/fdwrite/fdwrite.c index 17af3404ab297..7273df11321bb 100644 --- a/usr.sbin/fdwrite/fdwrite.c +++ b/usr.sbin/fdwrite/fdwrite.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: fdwrite.c,v 1.3 1995/05/30 03:47:40 rgrimes Exp $ + * $Id: fdwrite.c,v 1.4 1996/09/30 03:10:30 jkh Exp $ * */ diff --git a/usr.sbin/inetd/inetd.8 b/usr.sbin/inetd/inetd.8 index bcfd87f56283c..50a9bc0ba198e 100644 --- a/usr.sbin/inetd/inetd.8 +++ b/usr.sbin/inetd/inetd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)inetd.8 8.3 (Berkeley) 4/13/94 -.\" $Id: inetd.8,v 1.13 1997/02/22 16:05:51 peter Exp $ +.\" $Id: inetd.8,v 1.9.2.2 1997/03/06 07:59:33 mpp Exp $ .\" .Dd February 7, 1996 .Dt INETD 8 diff --git a/usr.sbin/inetd/inetd.c b/usr.sbin/inetd/inetd.c index af0101e8f6d8c..d4ee3d2e0329b 100644 --- a/usr.sbin/inetd/inetd.c +++ b/usr.sbin/inetd/inetd.c @@ -40,7 +40,7 @@ static char copyright[] __attribute__ ((unused)) = #ifndef lint /* from: @(#)inetd.c 8.4 (Berkeley) 4/13/94"; */ static char inetd_c_rcsid[] __attribute__ ((unused)) = - "$Id: inetd.c,v 1.15.2.1 1996/11/11 23:42:30 phk Exp $"; + "$Id: inetd.c,v 1.15.2.2 1997/02/05 23:25:10 joerg Exp $"; #endif /* not lint */ /* diff --git a/usr.sbin/inetd/pathnames.h b/usr.sbin/inetd/pathnames.h index 503cd212a2c51..1382a468edfc3 100644 --- a/usr.sbin/inetd/pathnames.h +++ b/usr.sbin/inetd/pathnames.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)pathnames.h 8.1 (Berkeley) 6/6/93 - * $Id$ + * $Id: pathnames.h,v 1.3 1996/05/07 03:16:43 gpalmer Exp $ */ #include <paths.h> diff --git a/usr.sbin/kbdcontrol/kbdcontrol.c b/usr.sbin/kbdcontrol/kbdcontrol.c index c2fc1b698b0d1..89d30fb26aa30 100644 --- a/usr.sbin/kbdcontrol/kbdcontrol.c +++ b/usr.sbin/kbdcontrol/kbdcontrol.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: kbdcontrol.c,v 1.7 1995/06/11 19:32:41 rgrimes Exp $ + * $Id: kbdcontrol.c,v 1.7.4.1 1996/11/09 16:17:48 joerg Exp $ */ #include <ctype.h> diff --git a/usr.sbin/kbdcontrol/lex.h b/usr.sbin/kbdcontrol/lex.h index 9d9033de953f9..c3c91aac8df67 100644 --- a/usr.sbin/kbdcontrol/lex.h +++ b/usr.sbin/kbdcontrol/lex.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: lex.h,v 1.1 1994/08/17 08:59:35 sos Exp $ + * $Id: lex.h,v 1.2 1995/01/28 22:17:21 sos Exp $ */ #define TNOP 256 diff --git a/usr.sbin/kbdcontrol/lex.l b/usr.sbin/kbdcontrol/lex.l index d738a712a4194..47b3d5fce039f 100644 --- a/usr.sbin/kbdcontrol/lex.l +++ b/usr.sbin/kbdcontrol/lex.l @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: lex.l,v 1.2 1995/01/28 22:17:22 sos Exp $ + * $Id: lex.l,v 1.3 1995/01/30 21:41:14 sos Exp $ */ %{ diff --git a/usr.sbin/kbdmap/Makefile b/usr.sbin/kbdmap/Makefile index 1bf5c1e57013e..58a1e6954c052 100644 --- a/usr.sbin/kbdmap/Makefile +++ b/usr.sbin/kbdmap/Makefile @@ -1,5 +1,5 @@ # Makefile for kbdmap / vidfont -# $Id: Makefile,v 1.4 1995/07/17 14:43:06 jkh Exp $ +# $Id: Makefile,v 1.5 1995/07/25 00:37:15 bde Exp $ SCRIPT= ${.CURDIR}/kbdmap.pl LINKS= ${BINDIR}/kbdmap ${BINDIR}/vidfont diff --git a/usr.sbin/kbdmap/kbdmap.1 b/usr.sbin/kbdmap/kbdmap.1 index e783aba5812b2..d61ceff01e19c 100644 --- a/usr.sbin/kbdmap/kbdmap.1 +++ b/usr.sbin/kbdmap/kbdmap.1 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: kbdmap.1,v 1.10 1997/02/22 16:06:01 peter Exp $ +.\" $Id: kbdmap.1,v 1.6.2.2 1997/03/06 07:59:34 mpp Exp $ .Dd Mar 25, 1995 .Dt KBDMAP 1 diff --git a/usr.sbin/kbdmap/kbdmap.pl b/usr.sbin/kbdmap/kbdmap.pl index c7d3b960c930c..296433bc0eb41 100644 --- a/usr.sbin/kbdmap/kbdmap.pl +++ b/usr.sbin/kbdmap/kbdmap.pl @@ -26,7 +26,7 @@ # # kbdmap/vidfont - front end for syscons # -# $Id: kbdmap.pl,v 1.3 1996/08/16 13:26:44 wosch Exp $ +# $Id: kbdmap.pl,v 1.4 1996/08/27 20:04:37 wosch Exp $ # simple test if syscons works diff --git a/usr.sbin/kernbb/Makefile b/usr.sbin/kernbb/Makefile index ad5f6aae4cd32..6a424c9426b24 100644 --- a/usr.sbin/kernbb/Makefile +++ b/usr.sbin/kernbb/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1995/03/10 08:53:54 phk Exp $ +# $Id: Makefile,v 1.2 1995/04/28 04:52:33 phk Exp $ PROG= kernbb MAN8= kernbb.8 diff --git a/usr.sbin/kernbb/kernbb.8 b/usr.sbin/kernbb/kernbb.8 index 84d9e959c085d..114e8017d90d0 100644 --- a/usr.sbin/kernbb/kernbb.8 +++ b/usr.sbin/kernbb/kernbb.8 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: kernbb.8,v 1.2 1996/12/23 23:09:50 wosch Exp $ +.\" $Id: kernbb.8,v 1.1.6.1 1997/01/02 17:47:36 mpp Exp $ .\" .Dd May 22, 1995 .Dt KERNBB 8 diff --git a/usr.sbin/kernbb/kernbb.c b/usr.sbin/kernbb/kernbb.c index 6acb844e0e148..34456c2f877c2 100644 --- a/usr.sbin/kernbb/kernbb.c +++ b/usr.sbin/kernbb/kernbb.c @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $Id: kernbb.c,v 1.3 1995/10/22 19:45:28 phk Exp $ + * $Id: kernbb.c,v 1.3.2.1 1997/01/14 10:35:10 bde Exp $ * */ diff --git a/usr.sbin/lpr/filters/lpf.c b/usr.sbin/lpr/filters/lpf.c index 59b3cbf5e567d..4076536bd81e1 100644 --- a/usr.sbin/lpr/filters/lpf.c +++ b/usr.sbin/lpr/filters/lpf.c @@ -39,7 +39,7 @@ static char copyright[] = #ifndef lint static char sccsid[] = "From: @(#)lpf.c 8.1 (Berkeley) 6/6/93"; -static char id[] = "$Id$"; +static char id[] = "$Id: lpf.c,v 1.3 1996/07/17 20:14:42 joerg Exp $"; #endif /* not lint */ /* diff --git a/usr.sbin/lpr/lp/lp.1 b/usr.sbin/lpr/lp/lp.1 index 4d7acffb782ec..45a43d2e0a103 100644 --- a/usr.sbin/lpr/lp/lp.1 +++ b/usr.sbin/lpr/lp/lp.1 @@ -31,7 +31,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: lp.1,v 1.1 1995/01/23 19:22:37 joerg Exp $ +.\" $Id: lp.1,v 1.2 1996/05/11 18:56:09 joerg Exp $ .\" .Dd January 22, 1995 .Dt LP 1 diff --git a/usr.sbin/lpr/lp/lp.sh b/usr.sbin/lpr/lp/lp.sh index 11adf20136781..788518d499f77 100644 --- a/usr.sbin/lpr/lp/lp.sh +++ b/usr.sbin/lpr/lp/lp.sh @@ -36,7 +36,7 @@ # # Posix 1003.2 compliant print spooler interface. # -# $Id: lp.sh,v 1.2 1995/08/06 19:39:38 joerg Exp $ +# $Id: lp.sh,v 1.3 1996/05/11 18:56:11 joerg Exp $ # ncopies="" diff --git a/usr.sbin/lpr/lpd/modes.c b/usr.sbin/lpr/lpd/modes.c index c6fb92922cdaa..aaef4753ff12a 100644 --- a/usr.sbin/lpr/lpd/modes.c +++ b/usr.sbin/lpr/lpd/modes.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: modes.c,v 1.3 1995/04/29 15:17:17 bde Exp $ + * $Id: modes.c,v 1.1 1996/04/03 22:49:15 sef Exp $ */ #ifndef lint diff --git a/usr.sbin/lpr/lpr/lpr.1 b/usr.sbin/lpr/lpr/lpr.1 index a1d34e56d0d01..4a01255f8f0a7 100644 --- a/usr.sbin/lpr/lpr/lpr.1 +++ b/usr.sbin/lpr/lpr/lpr.1 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From @(#)lpr.1 8.1 (Berkeley) 6/6/93 -.\" $Id$ +.\" $Id: lpr.1,v 1.5 1996/05/11 19:00:54 joerg Exp $ .\" " .Dd June 6, 1993 .Dt LPR 1 diff --git a/usr.sbin/lpr/lpr/lpr.c b/usr.sbin/lpr/lpr/lpr.c index 8f49b00ce3d7e..7bd46de5bec51 100644 --- a/usr.sbin/lpr/lpr/lpr.c +++ b/usr.sbin/lpr/lpr/lpr.c @@ -45,7 +45,7 @@ static char copyright[] = #ifndef lint static char sccsid[] = "From: @(#)lpr.c 8.4 (Berkeley) 4/28/95" - "\n$Id: lpr.c,v 1.10 1996/10/27 03:06:46 imp Exp $\n"; + "\n$Id: lpr.c,v 1.10.2.1 1997/02/26 02:31:53 mpp Exp $\n"; #endif /* not lint */ /* diff --git a/usr.sbin/lptcontrol/lptcontrol.8 b/usr.sbin/lptcontrol/lptcontrol.8 index f94c0d602bfa7..633779ce594d3 100644 --- a/usr.sbin/lptcontrol/lptcontrol.8 +++ b/usr.sbin/lptcontrol/lptcontrol.8 @@ -11,7 +11,7 @@ .\" documentation and/or other materials provided with the distribution. .\" .\" -.\" $Id: lptcontrol.8,v 1.5 1997/02/22 16:06:24 peter Exp $ +.\" $Id: lptcontrol.8,v 1.3.2.1 1997/03/06 07:59:41 mpp Exp $ .Dd September 3, 1994 .Dt LPTCONTROL 8 .Os FreeBSD 2 diff --git a/usr.sbin/lptcontrol/lptcontrol.c b/usr.sbin/lptcontrol/lptcontrol.c index f297b330d5ec4..4f7fc1006a443 100644 --- a/usr.sbin/lptcontrol/lptcontrol.c +++ b/usr.sbin/lptcontrol/lptcontrol.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: lptcontrol.c,v 1.2 1994/09/03 22:46:50 csgr Exp $ + * $Id: lptcontrol.c,v 1.3 1995/05/30 03:48:07 rgrimes Exp $ */ #include <ctype.h> diff --git a/usr.sbin/manctl/Makefile b/usr.sbin/manctl/Makefile index 1ba12acf36c0b..c3bf191080003 100644 --- a/usr.sbin/manctl/Makefile +++ b/usr.sbin/manctl/Makefile @@ -1,5 +1,5 @@ # Makefile -# $Id: Makefile,v 1.6 1995/07/25 00:37:23 bde Exp $ +# $Id: Makefile,v 1.7 1996/01/23 23:59:34 wosch Exp $ MAN8= manctl.8 diff --git a/usr.sbin/manctl/manctl.8 b/usr.sbin/manctl/manctl.8 index 77204ed9e6f96..a885ba3a0f300 100644 --- a/usr.sbin/manctl/manctl.8 +++ b/usr.sbin/manctl/manctl.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: manctl.8,v 1.6 1997/02/22 16:06:28 peter Exp $ +.\" $Id: manctl.8,v 1.3.2.1 1997/03/06 07:59:43 mpp Exp $ .Dd Jan 1996 .Dt manctl 8 diff --git a/usr.sbin/manctl/manctl.sh b/usr.sbin/manctl/manctl.sh index 6fd1bde0c7a80..de3cb2bfd548d 100644 --- a/usr.sbin/manctl/manctl.sh +++ b/usr.sbin/manctl/manctl.sh @@ -30,7 +30,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Id: manctl.sh,v 1.6 1996/01/23 23:59:36 wosch Exp $ +# $Id: manctl.sh,v 1.6.2.1 1996/11/06 09:39:45 phk Exp $ # # manctl: # a utility for manipulating manual pages diff --git a/usr.sbin/mixer/Makefile b/usr.sbin/mixer/Makefile index 2343589ae47d7..c47790c273495 100644 --- a/usr.sbin/mixer/Makefile +++ b/usr.sbin/mixer/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1997/01/10 06:33:12 mpp Exp $ +# $Id: Makefile,v 1.1.1.1.6.1 1997/01/10 06:34:46 mpp Exp $ PROG = mixer MAN8= mixer.8 diff --git a/usr.sbin/mkdosfs/Makefile b/usr.sbin/mkdosfs/Makefile index 1d8ff5d249e38..acc951eb480fc 100644 --- a/usr.sbin/mkdosfs/Makefile +++ b/usr.sbin/mkdosfs/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.1.1 1995/11/05 16:02:04 joerg Exp $ # PROG= mkdosfs diff --git a/usr.sbin/mkdosfs/bootcode.asm b/usr.sbin/mkdosfs/bootcode.asm index 9213cbaad0775..626dae22f4512 100644 --- a/usr.sbin/mkdosfs/bootcode.asm +++ b/usr.sbin/mkdosfs/bootcode.asm @@ -11,7 +11,7 @@ ;;; (This is written in as86 syntax. as86 is part of Bruce Evans' ;;; bcc package.) ;;; -;;; $Id$ +;;; $Id: bootcode.asm,v 1.1.1.1 1995/11/05 16:02:04 joerg Exp $ ;;; ;;; This code must be linked to address 0x7c00 in order to function ;;; correctly (the BIOS boot address). diff --git a/usr.sbin/mkdosfs/dosfs.h b/usr.sbin/mkdosfs/dosfs.h index 08afd4c764854..543815db70a9e 100644 --- a/usr.sbin/mkdosfs/dosfs.h +++ b/usr.sbin/mkdosfs/dosfs.h @@ -29,7 +29,7 @@ /* * MS-DOS (FAT) file system structure definitions. * - * $Id$ + * $Id: dosfs.h,v 1.1.1.1 1995/11/05 16:02:04 joerg Exp $ */ #ifndef DOSFS_H diff --git a/usr.sbin/mkdosfs/mkdosfs.1 b/usr.sbin/mkdosfs/mkdosfs.1 index 14e9813dfabf2..2a58ed0465734 100644 --- a/usr.sbin/mkdosfs/mkdosfs.1 +++ b/usr.sbin/mkdosfs/mkdosfs.1 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: mkdosfs.1,v 1.2 1996/01/30 02:35:04 joerg Exp $ +.\" $Id: mkdosfs.1,v 1.3 1996/08/23 00:56:16 mpp Exp $ .\" .Dd November 5, 1995 .Os diff --git a/usr.sbin/mkdosfs/mkdosfs.c b/usr.sbin/mkdosfs/mkdosfs.c index 23a6dfe21ab15..bb2df33d4ad5c 100644 --- a/usr.sbin/mkdosfs/mkdosfs.c +++ b/usr.sbin/mkdosfs/mkdosfs.c @@ -29,7 +29,7 @@ /* * Create an MS-DOS (FAT) file system. * - * $Id: mkdosfs.c,v 1.1.1.1 1995/11/05 16:02:04 joerg Exp $ + * $Id: mkdosfs.c,v 1.2 1996/01/30 02:35:08 joerg Exp $ */ #include <sys/types.h> diff --git a/usr.sbin/moused/moused.c b/usr.sbin/moused/moused.c index d590e1ac7b83e..c614abbd708df 100644 --- a/usr.sbin/moused/moused.c +++ b/usr.sbin/moused/moused.c @@ -30,7 +30,7 @@ ** EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ** ** - ** $Id: moused.c,v 1.4 1996/09/10 18:20:46 peter Exp $ + ** $Id: moused.c,v 1.4.2.1 1997/01/20 08:12:07 sos Exp $ **/ /** diff --git a/usr.sbin/mrouted/Makefile b/usr.sbin/mrouted/Makefile index 68f553d5b2fc0..64d370442c40e 100644 --- a/usr.sbin/mrouted/Makefile +++ b/usr.sbin/mrouted/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/08 02:51:09 wollman Exp $ +# $Id: Makefile,v 1.2 1995/06/15 19:23:02 wollman Exp $ SUBDIR= common mrouted mrinfo map-mbone mtrace testrsrr diff --git a/usr.sbin/mrouted/callout.c b/usr.sbin/mrouted/callout.c index 358c7ae86a210..54d60470bec58 100644 --- a/usr.sbin/mrouted/callout.c +++ b/usr.sbin/mrouted/callout.c @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: callout.c,v 3.8 1995/11/29 22:36:57 fenner Rel $ + * $Id: callout.c,v 1.7 1996/01/06 21:09:34 peter Exp $ */ #include "defs.h" diff --git a/usr.sbin/mrouted/cfparse.y b/usr.sbin/mrouted/cfparse.y index d9dfb018e6ab7..7bd702a644d7b 100644 --- a/usr.sbin/mrouted/cfparse.y +++ b/usr.sbin/mrouted/cfparse.y @@ -4,7 +4,7 @@ * * Written by Bill Fenner, NRL, 1994 * - * $Id: cfparse.y,v 1.3.2.1 1996/11/11 23:37:29 phk Exp $ + * $Id: cfparse.y,v 1.3.2.2 1997/02/10 06:44:59 fenner Exp $ */ #include <stdio.h> #ifdef __STDC__ diff --git a/usr.sbin/mrouted/common/Makefile b/usr.sbin/mrouted/common/Makefile index 9bcfb27462bc7..fcc9b32e85bb1 100644 --- a/usr.sbin/mrouted/common/Makefile +++ b/usr.sbin/mrouted/common/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1994/09/08 02:51:32 wollman Exp $ LIB= mrouted NOPROFILE= diff --git a/usr.sbin/mrouted/config.c b/usr.sbin/mrouted/config.c index c911ad131b85a..f23f7a7cc1f45 100644 --- a/usr.sbin/mrouted/config.c +++ b/usr.sbin/mrouted/config.c @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: config.c,v 1.7 1996/01/06 21:09:39 peter Exp $ + * $Id: config.c,v 1.7.2.1 1996/11/11 23:37:32 phk Exp $ */ diff --git a/usr.sbin/mrouted/defs.h b/usr.sbin/mrouted/defs.h index 9b00af6ae94b7..a36763ff20553 100644 --- a/usr.sbin/mrouted/defs.h +++ b/usr.sbin/mrouted/defs.h @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: defs.h,v 1.6.2.1 1996/11/11 23:37:34 phk Exp $ + * $Id: defs.h,v 1.6.2.2 1997/02/23 16:53:27 joerg Exp $ */ diff --git a/usr.sbin/mrouted/dvmrp.h b/usr.sbin/mrouted/dvmrp.h index e471800588dc4..b24989552839d 100644 --- a/usr.sbin/mrouted/dvmrp.h +++ b/usr.sbin/mrouted/dvmrp.h @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: dvmrp.h,v 3.8 1995/11/29 22:36:57 fenner Rel $ + * $Id: dvmrp.h,v 1.5 1996/01/06 21:09:43 peter Exp $ */ /* diff --git a/usr.sbin/mrouted/igmp.c b/usr.sbin/mrouted/igmp.c index 7b54dec679238..adc10d953dd5a 100644 --- a/usr.sbin/mrouted/igmp.c +++ b/usr.sbin/mrouted/igmp.c @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: igmp.c,v 1.10 1996/01/29 16:04:20 peter Exp $ + * $Id: igmp.c,v 1.10.2.1 1996/11/11 23:37:37 phk Exp $ */ diff --git a/usr.sbin/mrouted/inet.c b/usr.sbin/mrouted/inet.c index 5f7fb4038e4b4..69d01d9eef31f 100644 --- a/usr.sbin/mrouted/inet.c +++ b/usr.sbin/mrouted/inet.c @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: inet.c,v 1.5 1996/01/06 21:09:45 peter Exp $ + * $Id: inet.c,v 1.5.2.1 1996/11/11 23:37:40 phk Exp $ */ diff --git a/usr.sbin/mrouted/kern.c b/usr.sbin/mrouted/kern.c index 059866ecbdbc5..471ace963122d 100644 --- a/usr.sbin/mrouted/kern.c +++ b/usr.sbin/mrouted/kern.c @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: kern.c,v 1.6 1996/01/06 21:09:50 peter Exp $ + * $Id: kern.c,v 1.6.2.1 1996/11/11 23:37:44 phk Exp $ */ diff --git a/usr.sbin/mrouted/main.c b/usr.sbin/mrouted/main.c index 10325e6060d05..7857ad4e31437 100644 --- a/usr.sbin/mrouted/main.c +++ b/usr.sbin/mrouted/main.c @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: main.c,v 1.8 1996/10/01 23:14:33 fenner Exp $ + * $Id: main.c,v 1.8.2.1 1996/11/11 23:37:46 phk Exp $ */ /* @@ -34,7 +34,7 @@ #ifndef lint static char rcsid[] = - "@(#) $Id: main.c,v 1.8 1996/10/01 23:14:33 fenner Exp $"; + "@(#) $Id: main.c,v 1.8.2.1 1996/11/11 23:37:46 phk Exp $"; #endif extern char *configfilename; diff --git a/usr.sbin/mrouted/map-mbone/Makefile b/usr.sbin/mrouted/map-mbone/Makefile index 2110b320cf797..878c452c6a824 100644 --- a/usr.sbin/mrouted/map-mbone/Makefile +++ b/usr.sbin/mrouted/map-mbone/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1995/03/31 21:16:56 wollman Exp $ +# $Id: Makefile,v 1.3 1996/06/24 04:25:11 jkh Exp $ PROG= map-mbone diff --git a/usr.sbin/mrouted/mapper.c b/usr.sbin/mrouted/mapper.c index 91a2d47fd3a55..d37eb192713ea 100644 --- a/usr.sbin/mrouted/mapper.c +++ b/usr.sbin/mrouted/mapper.c @@ -1,7 +1,7 @@ /* Mapper for connections between MRouteD multicast routers. * Written by Pavel Curtis <Pavel@PARC.Xerox.Com> * - * $Id: mapper.c,v 1.7 1996/10/01 23:14:34 fenner Exp $ + * $Id: mapper.c,v 1.7.2.1 1997/02/10 00:56:36 fenner Exp $ */ /* diff --git a/usr.sbin/mrouted/mrinfo.c b/usr.sbin/mrouted/mrinfo.c index d2f43da125a02..872a216264d5a 100644 --- a/usr.sbin/mrouted/mrinfo.c +++ b/usr.sbin/mrouted/mrinfo.c @@ -61,7 +61,7 @@ #ifndef lint static char rcsid[] = - "@(#) $Id: mrinfo.c,v 1.9 1996/10/01 23:14:35 fenner Exp $"; + "@(#) $Id: mrinfo.c,v 1.9.2.1 1997/02/10 00:56:37 fenner Exp $"; /* original rcsid: "@(#) Header: mrinfo.c,v 1.6 93/04/08 15:14:16 van Exp (LBL)"; */ diff --git a/usr.sbin/mrouted/mrinfo/Makefile b/usr.sbin/mrouted/mrinfo/Makefile index 34d51cd2ef928..414dba8f8e1de 100644 --- a/usr.sbin/mrouted/mrinfo/Makefile +++ b/usr.sbin/mrouted/mrinfo/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1996/05/20 16:42:30 pst Exp $ +# $Id: Makefile,v 1.5 1996/06/24 04:25:17 jkh Exp $ PROG= mrinfo diff --git a/usr.sbin/mrouted/mrouted.8 b/usr.sbin/mrouted/mrouted.8 index 81224430fe07c..cb3c36f570a7a 100644 --- a/usr.sbin/mrouted/mrouted.8 +++ b/usr.sbin/mrouted/mrouted.8 @@ -1,5 +1,5 @@ '\"COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University. -'\"$Id: mrouted.8,v 1.5.2.1 1996/11/11 23:37:56 phk Exp $ +'\"$Id: mrouted.8,v 1.5.2.2 1997/02/02 01:01:50 mpp Exp $ .TH MROUTED 8 .UC 5 .SH NAME diff --git a/usr.sbin/mrouted/mrouted.conf b/usr.sbin/mrouted/mrouted.conf index eb3bad3f4995e..eb29baafd9bd3 100644 --- a/usr.sbin/mrouted/mrouted.conf +++ b/usr.sbin/mrouted/mrouted.conf @@ -1,4 +1,4 @@ -# $Id: mrouted.conf,v 3.8 1995/11/29 22:40:47 fenner Rel $ +# $Id: mrouted.conf,v 1.5 1996/01/06 21:10:02 peter Exp $ # # This is the configuration file for "mrouted", an IP multicast router. # mrouted looks for it in "/etc/mrouted.conf". diff --git a/usr.sbin/mrouted/mrouted/Makefile b/usr.sbin/mrouted/mrouted/Makefile index 1c5dcc5207fdb..1e3c61222fae3 100644 --- a/usr.sbin/mrouted/mrouted/Makefile +++ b/usr.sbin/mrouted/mrouted/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1995/07/08 22:36:06 ats Exp $ +# $Id: Makefile,v 1.4 1996/06/24 04:25:19 jkh Exp $ PROG= mrouted diff --git a/usr.sbin/mrouted/mtrace/Makefile b/usr.sbin/mrouted/mtrace/Makefile index 6e79dea88f4b8..7c92ff026f3c7 100644 --- a/usr.sbin/mrouted/mtrace/Makefile +++ b/usr.sbin/mrouted/mtrace/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/05/20 16:42:32 pst Exp $ +# $Id: Makefile,v 1.4 1996/06/24 04:25:22 jkh Exp $ PROG= mtrace diff --git a/usr.sbin/mrouted/pathnames.h b/usr.sbin/mrouted/pathnames.h index b3e3c88f89884..5c33776334303 100644 --- a/usr.sbin/mrouted/pathnames.h +++ b/usr.sbin/mrouted/pathnames.h @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: pathnames.h,v 3.8 1995/11/29 22:36:57 fenner Rel $ + * $Id: pathnames.h,v 1.3 1996/01/06 21:10:09 peter Exp $ */ #define _PATH_MROUTED_CONF "/etc/mrouted.conf" diff --git a/usr.sbin/mrouted/prune.c b/usr.sbin/mrouted/prune.c index a8634d4570ed5..7adc50688d641 100644 --- a/usr.sbin/mrouted/prune.c +++ b/usr.sbin/mrouted/prune.c @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: prune.c,v 1.10 1996/01/06 21:10:11 peter Exp $ + * $Id: prune.c,v 1.10.2.1 1996/11/11 23:38:04 phk Exp $ */ diff --git a/usr.sbin/mrouted/prune.h b/usr.sbin/mrouted/prune.h index 57ae067ce74fc..9ed209d77cc2c 100644 --- a/usr.sbin/mrouted/prune.h +++ b/usr.sbin/mrouted/prune.h @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: prune.h,v 3.8 1995/11/29 22:36:57 fenner Rel $ + * $Id: prune.h,v 1.6 1996/01/06 21:10:15 peter Exp $ */ /* diff --git a/usr.sbin/mrouted/route.c b/usr.sbin/mrouted/route.c index 89efc60826823..61e830cf855f7 100644 --- a/usr.sbin/mrouted/route.c +++ b/usr.sbin/mrouted/route.c @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: route.c,v 1.6 1996/01/06 21:10:21 peter Exp $ + * $Id: route.c,v 1.6.2.1 1996/11/11 23:38:06 phk Exp $ */ diff --git a/usr.sbin/mrouted/route.h b/usr.sbin/mrouted/route.h index 73159d50261e3..2e31e9d8e3462 100644 --- a/usr.sbin/mrouted/route.h +++ b/usr.sbin/mrouted/route.h @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: route.h,v 3.8 1995/11/29 22:36:57 fenner Rel $ + * $Id: route.h,v 1.5 1996/01/06 21:10:23 peter Exp $ */ /* diff --git a/usr.sbin/mrouted/testrsrr/Makefile b/usr.sbin/mrouted/testrsrr/Makefile index 9e710ff3a55e6..2a08981e63c58 100644 --- a/usr.sbin/mrouted/testrsrr/Makefile +++ b/usr.sbin/mrouted/testrsrr/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/08 02:51:37 wollman Exp $ +# $Id: Makefile,v 1.1 1995/06/15 19:23:08 wollman Exp $ PROG= testrsrr diff --git a/usr.sbin/mrouted/testrsrr/testrsrr.c b/usr.sbin/mrouted/testrsrr/testrsrr.c index b99b593284f2c..54287631574df 100644 --- a/usr.sbin/mrouted/testrsrr/testrsrr.c +++ b/usr.sbin/mrouted/testrsrr/testrsrr.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: testrsrr.c,v 1.1 1995/06/15 19:23:08 wollman Exp $ */ #include <stddef.h> #include <stdlib.h> diff --git a/usr.sbin/mrouted/vif.c b/usr.sbin/mrouted/vif.c index d7535904e1b4f..e06c2d0f921f0 100644 --- a/usr.sbin/mrouted/vif.c +++ b/usr.sbin/mrouted/vif.c @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: vif.c,v 1.8 1996/01/06 21:10:26 peter Exp $ + * $Id: vif.c,v 1.8.2.1 1996/11/11 23:38:12 phk Exp $ */ diff --git a/usr.sbin/mrouted/vif.h b/usr.sbin/mrouted/vif.h index 4274adb7a7b7b..b4eeaac9b809e 100644 --- a/usr.sbin/mrouted/vif.h +++ b/usr.sbin/mrouted/vif.h @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: vif.h,v 1.5 1996/01/06 21:10:30 peter Exp $ + * $Id: vif.h,v 1.5.2.1 1996/11/11 23:38:16 phk Exp $ */ /* diff --git a/usr.sbin/mtree/Makefile b/usr.sbin/mtree/Makefile index 9f78f8f71c29e..e1769f4f956c0 100644 --- a/usr.sbin/mtree/Makefile +++ b/usr.sbin/mtree/Makefile @@ -1,5 +1,5 @@ # From: @(#)Makefile 8.1 (Berkeley) 6/6/93 -# $Id$ +# $Id: Makefile,v 1.4 1995/02/10 03:12:03 wollman Exp $ PROG= mtree SRCS= compare.c crc.c create.c misc.c mtree.c spec.c verify.c diff --git a/usr.sbin/mtree/mtree.8 b/usr.sbin/mtree/mtree.8 index ad47eb28febe4..ab9a59263ab87 100644 --- a/usr.sbin/mtree/mtree.8 +++ b/usr.sbin/mtree/mtree.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)mtree.8 8.2 (Berkeley) 12/11/93 -.\" $Id: mtree.8,v 1.10 1997/02/22 16:07:52 peter Exp $ +.\" $Id: mtree.8,v 1.7.2.1 1997/03/06 07:59:45 mpp Exp $ .\" .Dd February 9, 1995 .Dt MTREE 8 diff --git a/usr.sbin/named.reload/Makefile b/usr.sbin/named.reload/Makefile index ec98433d55c5f..0185ce069ca77 100644 --- a/usr.sbin/named.reload/Makefile +++ b/usr.sbin/named.reload/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/08/29 21:47:33 peter Exp $ .include "${.CURDIR}/../named/Makefile.inc" diff --git a/usr.sbin/named.restart/Makefile b/usr.sbin/named.restart/Makefile index cf15a9f6e84c4..6ebc848423433 100644 --- a/usr.sbin/named.restart/Makefile +++ b/usr.sbin/named.restart/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/08/29 21:48:19 peter Exp $ .include "${.CURDIR}/../named/Makefile.inc" diff --git a/usr.sbin/named/Makefile b/usr.sbin/named/Makefile index 613dbc0ec560e..e1c26587fcae2 100644 --- a/usr.sbin/named/Makefile +++ b/usr.sbin/named/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.12 1996/09/01 00:48:29 ache Exp $ +# $Id: Makefile,v 1.12.2.1 1996/11/28 22:04:59 phk Exp $ .include "${.CURDIR}/Makefile.inc" diff --git a/usr.sbin/named/Makefile.inc b/usr.sbin/named/Makefile.inc index a5622bf2a311b..509679b87a0eb 100644 --- a/usr.sbin/named/Makefile.inc +++ b/usr.sbin/named/Makefile.inc @@ -1,5 +1,5 @@ # From: Id: Makefile.inc,v 8.4 1996/03/03 17:42:43 vixie Exp -# $Id: Makefile.inc,v 1.1 1996/08/29 21:36:53 peter Exp $ +# $Id: Makefile.inc,v 1.2 1996/09/04 22:25:21 bde Exp $ .ifndef (Mk.Inc) Mk.Inc?=defined diff --git a/usr.sbin/named/Makefile.maninc b/usr.sbin/named/Makefile.maninc index b7d2b7791c5a4..0b135625fa2ab 100644 --- a/usr.sbin/named/Makefile.maninc +++ b/usr.sbin/named/Makefile.maninc @@ -1,5 +1,5 @@ # From: Id: Makefile.maninc,v 8.1 1994/12/15 06:23:43 vixie Exp -# $Id: Makefile.maninc,v 1.1.1.1 1996/08/29 19:42:58 peter Exp $ +# $Id: Makefile.maninc,v 1.1 1996/08/29 21:36:54 peter Exp $ # (the BIND kit's man page Makefile has gotten bad and crazy over the years. # this file has to be included AFTER bsd.prog.mk (which includes bsd.man.mk)) diff --git a/usr.sbin/ncrcontrol/ncrcontrol.8 b/usr.sbin/ncrcontrol/ncrcontrol.8 index 94559fac1e5aa..31fd89e826c34 100644 --- a/usr.sbin/ncrcontrol/ncrcontrol.8 +++ b/usr.sbin/ncrcontrol/ncrcontrol.8 @@ -22,7 +22,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: ncrcontrol.8,v 1.3 1996/01/30 13:49:57 mpp Exp $ +.\" $Id: ncrcontrol.8,v 1.4 1996/02/11 22:35:54 mpp Exp $ .\" .Dd September 16, 1994 .Dt NCRCONTROL 8 diff --git a/usr.sbin/ncrcontrol/ncrcontrol.c b/usr.sbin/ncrcontrol/ncrcontrol.c index da7bea311b739..6d37cd1be097a 100644 --- a/usr.sbin/ncrcontrol/ncrcontrol.c +++ b/usr.sbin/ncrcontrol/ncrcontrol.c @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: ncrcontrol.c,v 1.13 1996/10/29 19:32:31 se Exp $ +** $Id: ncrcontrol.c,v 1.13.2.1 1996/12/21 12:13:40 se Exp $ ** ** Utility for NCR 53C810 device driver. ** diff --git a/usr.sbin/ndc/Makefile b/usr.sbin/ndc/Makefile index abb3e3d24c66a..c62151a6ff30a 100644 --- a/usr.sbin/ndc/Makefile +++ b/usr.sbin/ndc/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/08/29 21:46:45 peter Exp $ .include "${.CURDIR}/../named/Makefile.inc" diff --git a/usr.sbin/ndc/ndcedit.awk b/usr.sbin/ndc/ndcedit.awk index a055be10a4f88..1a4a7a3244a82 100644 --- a/usr.sbin/ndc/ndcedit.awk +++ b/usr.sbin/ndc/ndcedit.awk @@ -1,4 +1,4 @@ -# $Id: ndcedit.awk,v 1.1.2.1 1996/11/05 20:16:00 phk Exp $ +# $Id: ndcedit.awk,v 1.1.2.2 1996/11/12 09:11:33 phk Exp $ NR == 3 { print "#" print "# This file is generated automatically, do not edit it here!" diff --git a/usr.sbin/newsyslog/Makefile b/usr.sbin/newsyslog/Makefile index b0954d4590372..06026548888f7 100644 --- a/usr.sbin/newsyslog/Makefile +++ b/usr.sbin/newsyslog/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1996/01/05 09:28:11 graichen Exp $ +# $Id: Makefile,v 1.2 1996/01/16 10:32:01 graichen Exp $ PROG= newsyslog diff --git a/usr.sbin/newsyslog/newsyslog.8 b/usr.sbin/newsyslog/newsyslog.8 index 455bbbb1dbc33..f6e7a9d54235b 100644 --- a/usr.sbin/newsyslog/newsyslog.8 +++ b/usr.sbin/newsyslog/newsyslog.8 @@ -1,7 +1,7 @@ .\" This file contains changes from the Open Software Foundation. .\" .\" from: @(#)newsyslog.8 -.\" $Id: newsyslog.8,v 1.5 1997/02/28 07:33:37 mpp Exp $ +.\" $Id: newsyslog.8,v 1.1.1.1.2.2 1997/02/28 07:34:37 mpp Exp $ .\" .\" Copyright 1988, 1989 by the Massachusetts Institute of Technology .\" diff --git a/usr.sbin/newsyslog/newsyslog.c b/usr.sbin/newsyslog/newsyslog.c index 9873c70205cef..107dc96636837 100644 --- a/usr.sbin/newsyslog/newsyslog.c +++ b/usr.sbin/newsyslog/newsyslog.c @@ -29,7 +29,7 @@ provided "as is" without express or implied warranty. */ #ifndef lint -static char rcsid[] = "$Id: newsyslog.c,v 1.7 1996/09/09 15:32:26 jkh Exp $"; +static char rcsid[] = "$Id: newsyslog.c,v 1.7.2.1 1997/02/22 07:34:11 jkh Exp $"; #endif /* not lint */ #ifndef CONF diff --git a/usr.sbin/nslookup/Makefile b/usr.sbin/nslookup/Makefile index d65edfd1d8714..fa831b025a4f9 100644 --- a/usr.sbin/nslookup/Makefile +++ b/usr.sbin/nslookup/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.3 1996/08/29 21:39:42 peter Exp $ .include "${.CURDIR}/../named/Makefile.inc" diff --git a/usr.sbin/pccard/Makefile b/usr.sbin/pccard/Makefile index 7b64fb13fbbbf..e7e171649daf1 100644 --- a/usr.sbin/pccard/Makefile +++ b/usr.sbin/pccard/Makefile @@ -1,6 +1,6 @@ # # Makefile for xntpd. -# $Id: Makefile,v 1.4 1994/09/29 23:43:54 wollman Exp $ +# $Id: Makefile,v 1.1 1995/08/25 09:45:02 phk Exp $ # SUBDIR= pccardc pccardd diff --git a/usr.sbin/pccard/pccardc/Makefile b/usr.sbin/pccard/pccardc/Makefile index 75eed6bed4afe..81dc7af088615 100644 --- a/usr.sbin/pccard/pccardc/Makefile +++ b/usr.sbin/pccard/pccardc/Makefile @@ -1,7 +1,7 @@ # # pccardc Makefile # -# $Id: Makefile,v 1.2 1996/04/09 23:31:51 nate Exp $ +# $Id: Makefile,v 1.3 1996/09/04 22:25:28 bde Exp $ # PROG= pccardc NOMAN= noman diff --git a/usr.sbin/pccard/pccardc/dumpcis.c b/usr.sbin/pccard/pccardc/dumpcis.c index 4a1fb37cb87f4..daaf8cb0ae5ca 100644 --- a/usr.sbin/pccard/pccardc/dumpcis.c +++ b/usr.sbin/pccard/pccardc/dumpcis.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: dumpcis.c,v 1.4 1996/04/18 04:24:52 nate Exp $ + * $Id: dumpcis.c,v 1.5 1996/06/17 22:14:15 nate Exp $ */ #include <stdio.h> #include <unistd.h> diff --git a/usr.sbin/pccard/pccardc/enabler.c b/usr.sbin/pccard/pccardc/enabler.c index 3a0866933343f..8b0af2ecc433b 100644 --- a/usr.sbin/pccard/pccardc/enabler.c +++ b/usr.sbin/pccard/pccardc/enabler.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: enabler.c,v 1.4 1996/04/18 04:24:53 nate Exp $ + * $Id: enabler.c,v 1.5 1996/06/17 22:14:16 nate Exp $ */ #include <stdio.h> #include <unistd.h> diff --git a/usr.sbin/pccard/pccardc/pccardc.c b/usr.sbin/pccard/pccardc/pccardc.c index ca6e1974709fb..14b6d0cc6f2f2 100644 --- a/usr.sbin/pccard/pccardc/pccardc.c +++ b/usr.sbin/pccard/pccardc/pccardc.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id$ + * $Id: pccardc.c,v 1.3 1996/04/18 04:24:54 nate Exp $ */ #include <stdio.h> #include <stdlib.h> diff --git a/usr.sbin/pccard/pccardc/pccardmem.c b/usr.sbin/pccard/pccardc/pccardmem.c index e11e047798737..44704367768eb 100644 --- a/usr.sbin/pccard/pccardc/pccardmem.c +++ b/usr.sbin/pccard/pccardc/pccardmem.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pccardmem.c,v 1.4 1996/04/18 04:24:54 nate Exp $ + * $Id: pccardmem.c,v 1.5 1996/06/17 22:14:16 nate Exp $ */ #include <stdio.h> #include <fcntl.h> diff --git a/usr.sbin/pccard/pccardc/printcis.c b/usr.sbin/pccard/pccardc/printcis.c index 73ad8a898635b..366d3aa71d8ad 100644 --- a/usr.sbin/pccard/pccardc/printcis.c +++ b/usr.sbin/pccard/pccardc/printcis.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: printcis.c,v 1.4 1996/04/18 04:24:55 nate Exp $ + * $Id: printcis.c,v 1.5 1996/08/01 15:45:46 nate Exp $ */ #include <stdio.h> #include <unistd.h> diff --git a/usr.sbin/pccard/pccardc/rdmap.c b/usr.sbin/pccard/pccardc/rdmap.c index fa375f5a7e2ad..54c2d6dc649f5 100644 --- a/usr.sbin/pccard/pccardc/rdmap.c +++ b/usr.sbin/pccard/pccardc/rdmap.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: rdmap.c,v 1.4 1996/04/18 04:24:56 nate Exp $ + * $Id: rdmap.c,v 1.5 1996/06/17 22:14:17 nate Exp $ */ #include <stdio.h> #include <unistd.h> diff --git a/usr.sbin/pccard/pccardc/rdreg.c b/usr.sbin/pccard/pccardc/rdreg.c index 49285f43685a8..020f53e03206b 100644 --- a/usr.sbin/pccard/pccardc/rdreg.c +++ b/usr.sbin/pccard/pccardc/rdreg.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: rdreg.c,v 1.4 1996/04/18 04:24:56 nate Exp $ + * $Id: rdreg.c,v 1.5 1996/06/17 22:14:18 nate Exp $ */ #include <stdio.h> #include <stdlib.h> diff --git a/usr.sbin/pccard/pccardc/wrattr.c b/usr.sbin/pccard/pccardc/wrattr.c index 7577fdd5cb25a..78d4897f12861 100644 --- a/usr.sbin/pccard/pccardc/wrattr.c +++ b/usr.sbin/pccard/pccardc/wrattr.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: wrattr.c,v 1.5 1996/04/18 05:23:47 nate Exp $ + * $Id: wrattr.c,v 1.6 1996/06/17 22:14:18 nate Exp $ */ #include <stdio.h> #include <stdlib.h> diff --git a/usr.sbin/pccard/pccardc/wrreg.c b/usr.sbin/pccard/pccardc/wrreg.c index 4c0bc7e23d09f..46cdaa1784c7d 100644 --- a/usr.sbin/pccard/pccardc/wrreg.c +++ b/usr.sbin/pccard/pccardc/wrreg.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: wrreg.c,v 1.4 1996/04/18 04:24:58 nate Exp $ + * $Id: wrreg.c,v 1.5 1996/06/17 22:14:19 nate Exp $ */ #include <stdio.h> #include <stdlib.h> diff --git a/usr.sbin/pccard/pccardd/cardd.c b/usr.sbin/pccard/pccardd/cardd.c index 065ba7f140c7e..b59105b1c28c3 100644 --- a/usr.sbin/pccard/pccardd/cardd.c +++ b/usr.sbin/pccard/pccardd/cardd.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: cardd.c,v 1.12 1996/06/19 17:27:55 nate Exp $ + * $Id: cardd.c,v 1.13 1996/06/20 21:06:51 nate Exp $ */ #include <stdio.h> diff --git a/usr.sbin/pccard/pccardd/cardd.h b/usr.sbin/pccard/pccardd/cardd.h index aad1e7e804899..1158b3241901e 100644 --- a/usr.sbin/pccard/pccardd/cardd.h +++ b/usr.sbin/pccard/pccardd/cardd.h @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: cardd.h,v 1.4 1996/04/18 04:25:12 nate Exp $ + * $Id: cardd.h,v 1.5 1996/06/18 19:52:29 nate Exp $ * * Common include file for PCMCIA daemon */ diff --git a/usr.sbin/pccard/pccardd/file.c b/usr.sbin/pccard/pccardd/file.c index b8dc30bdb7b66..b4011a31b53ac 100644 --- a/usr.sbin/pccard/pccardd/file.c +++ b/usr.sbin/pccard/pccardd/file.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: file.c,v 1.7 1996/06/19 01:08:58 nate Exp $ + * $Id: file.c,v 1.8 1996/07/11 15:04:43 nate Exp $ */ #include <stdio.h> #include <stdlib.h> diff --git a/usr.sbin/pccard/pccardd/pccardd.8 b/usr.sbin/pccard/pccardd/pccardd.8 index 5488020dc8ba1..b908abed793dc 100644 --- a/usr.sbin/pccard/pccardd/pccardd.8 +++ b/usr.sbin/pccard/pccardd/pccardd.8 @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: pccardd.8,v 1.4 1996/09/23 22:24:28 wosch Exp $ +.\" $Id: pccardd.8,v 1.4.2.1 1997/02/09 20:40:46 joerg Exp $ .\" .Dd November 1, 1994 .Dt PCCARD 8 diff --git a/usr.sbin/pccard/pccardd/readcis.c b/usr.sbin/pccard/pccardd/readcis.c index ddded9915fb36..810bab1e35322 100644 --- a/usr.sbin/pccard/pccardd/readcis.c +++ b/usr.sbin/pccard/pccardd/readcis.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: readcis.c,v 1.5 1996/06/17 22:30:29 nate Exp $ + * $Id: readcis.c,v 1.6 1996/06/18 21:58:51 nate Exp $ */ #include <stdio.h> #include <unistd.h> diff --git a/usr.sbin/pccard/pccardd/readcis.h b/usr.sbin/pccard/pccardd/readcis.h index 307fa29594f58..b367c8266c4b5 100644 --- a/usr.sbin/pccard/pccardd/readcis.h +++ b/usr.sbin/pccard/pccardd/readcis.h @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: readcis.h,v 1.5 1996/06/18 19:52:30 nate Exp $ + * $Id: readcis.h,v 1.6 1996/06/18 21:58:55 nate Exp $ */ #define CIS_MAXSTR 20 diff --git a/usr.sbin/pccard/pccardd/util.c b/usr.sbin/pccard/pccardd/util.c index b7f0de36ccfaa..a002bc7e0ad98 100644 --- a/usr.sbin/pccard/pccardd/util.c +++ b/usr.sbin/pccard/pccardd/util.c @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: util.c,v 1.5 1996/04/18 04:25:17 nate Exp $ + * $Id: util.c,v 1.6 1996/06/20 21:06:53 nate Exp $ */ #include <stdio.h> #include <stdlib.h> diff --git a/usr.sbin/pcvt/kbdio/kbdio.y b/usr.sbin/pcvt/kbdio/kbdio.y index 5a8115768694d..ad603e8a681ff 100644 --- a/usr.sbin/pcvt/kbdio/kbdio.y +++ b/usr.sbin/pcvt/kbdio/kbdio.y @@ -34,10 +34,15 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ident "$Header: /home/ncvs/src/usr.sbin/pcvt/kbdio/kbdio.y,v 1.1.1.1 1995/02/05 13:49:24 jkh Exp $" +#ident "$Header: /home/ncvs/src/usr.sbin/pcvt/kbdio/kbdio.y,v 1.2 1995/04/01 17:16:26 joerg Exp $" /* * $Log: kbdio.y,v $ + * Revision 1.2 1995/04/01 17:16:26 joerg + * Update pcvt to 3.20b23 + * + * Submitted by: Hellmuth Michaelis <hm@altona.hamburg.com> + * * Revision 1.1.1.1 1995/02/05 13:49:24 jkh * PCVT userland utilities. * Submitted by: hm diff --git a/usr.sbin/pcvt/kbdio/lex.l b/usr.sbin/pcvt/kbdio/lex.l index a829dd2dd96b6..d2120fb2f22d1 100644 --- a/usr.sbin/pcvt/kbdio/lex.l +++ b/usr.sbin/pcvt/kbdio/lex.l @@ -33,10 +33,15 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ident "$Header: /home/ncvs/src/usr.sbin/pcvt/kbdio/lex.l,v 1.1.1.1 1995/02/05 13:49:24 jkh Exp $" +#ident "$Header: /home/ncvs/src/usr.sbin/pcvt/kbdio/lex.l,v 1.2 1995/04/01 17:16:27 joerg Exp $" /* * $Log: lex.l,v $ + * Revision 1.2 1995/04/01 17:16:27 joerg + * Update pcvt to 3.20b23 + * + * Submitted by: Hellmuth Michaelis <hm@altona.hamburg.com> + * * Revision 1.1.1.1 1995/02/05 13:49:24 jkh * PCVT userland utilities. * Submitted by: hm diff --git a/usr.sbin/pcvt/keycap/man5/keycap.5 b/usr.sbin/pcvt/keycap/man5/keycap.5 index 41509968c41ad..0214279a019e5 100644 --- a/usr.sbin/pcvt/keycap/man5/keycap.5 +++ b/usr.sbin/pcvt/keycap/man5/keycap.5 @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)keycap.5, 3.00, Last Edit-Date: [Sun Jan 2 13:45:59 1994] -.\" $Id: keycap.5,v 1.3 1996/12/23 23:09:53 wosch Exp $ +.\" $Id: keycap.5,v 1.2.2.1 1997/01/02 17:48:10 mpp Exp $ .\" .Dd January 3, 1993 .Dt KEYCAP 5 diff --git a/usr.sbin/pcvt/set2061/compiler.h b/usr.sbin/pcvt/set2061/compiler.h index 9fbdb56c9159d..d17ef01b7cc09 100644 --- a/usr.sbin/pcvt/set2061/compiler.h +++ b/usr.sbin/pcvt/set2061/compiler.h @@ -20,7 +20,7 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * - * $Header: /home/ncvs/src/usr.sbin/pcvt/set2061/compiler.h,v 1.1.1.1 1995/02/05 13:49:25 jkh Exp $ + * $Header: /home/ncvs/src/usr.sbin/pcvt/set2061/compiler.h,v 1.2 1995/05/30 03:49:45 rgrimes Exp $ */ diff --git a/usr.sbin/pcvt/vgaio/lex.l b/usr.sbin/pcvt/vgaio/lex.l index 5ff8622df2361..8c68a9d0ec6ab 100644 --- a/usr.sbin/pcvt/vgaio/lex.l +++ b/usr.sbin/pcvt/vgaio/lex.l @@ -33,10 +33,14 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ident "$Header: /b/source/CVS/src/sys/arch/i386/isa/pcvt/Util/vgaio/lex.l,v 1.1 1994/03/29 02:47:20 mycroft Exp $" +#ident "$Header: /home/ncvs/src/usr.sbin/pcvt/vgaio/lex.l,v 1.1.1.1 1995/02/05 13:49:23 jkh Exp $" /* * $Log: lex.l,v $ + * Revision 1.1.1.1 1995/02/05 13:49:23 jkh + * PCVT userland utilities. + * Submitted by: hm + * * Revision 1.1 1994/03/29 02:47:20 mycroft * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me. * diff --git a/usr.sbin/pcvt/vgaio/vgaio.8 b/usr.sbin/pcvt/vgaio/vgaio.8 index aa0c93c2b1923..0488160179daa 100644 --- a/usr.sbin/pcvt/vgaio/vgaio.8 +++ b/usr.sbin/pcvt/vgaio/vgaio.8 @@ -31,7 +31,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Header: /b/source/CVS/src/sys/arch/i386/isa/pcvt/Util/vgaio/vgaio.8,v 1.1 1994/03/29 02:47:23 mycroft Exp $ +.\" $Header: /home/ncvs/src/usr.sbin/pcvt/vgaio/vgaio.8,v 1.1.1.1 1995/02/05 13:49:23 jkh Exp $ .\" -hm updated 31.12.94 .\" .Dd December 31, 1994 diff --git a/usr.sbin/pcvt/vgaio/vgaio.h b/usr.sbin/pcvt/vgaio/vgaio.h index e313f861aa1ae..61b90641817f0 100644 --- a/usr.sbin/pcvt/vgaio/vgaio.h +++ b/usr.sbin/pcvt/vgaio/vgaio.h @@ -37,6 +37,9 @@ * The author may be reached unter <joerg_wunsch@uriah.sax.de> * * $Log: vgaio.h,v $ + * Revision 1.2 1995/03/05 22:46:27 joerg + * Upgrade to beta 3.20/b22 + * * Revision 1.1 1994/03/29 02:47:25 mycroft * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me. * diff --git a/usr.sbin/pcvt/vgaio/vgaio.y b/usr.sbin/pcvt/vgaio/vgaio.y index 0e7dd7924b4a3..9b273c5d22f9f 100644 --- a/usr.sbin/pcvt/vgaio/vgaio.y +++ b/usr.sbin/pcvt/vgaio/vgaio.y @@ -33,10 +33,14 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ident "$Header: /b/source/CVS/src/sys/arch/i386/isa/pcvt/Util/vgaio/vgaio.y,v 1.1 1994/03/29 02:47:27 mycroft Exp $" +#ident "$Header: /home/ncvs/src/usr.sbin/pcvt/vgaio/vgaio.y,v 1.1.1.1 1995/02/05 13:49:24 jkh Exp $" /* * $Log: vgaio.y,v $ + * Revision 1.1.1.1 1995/02/05 13:49:24 jkh + * PCVT userland utilities. + * Submitted by: hm + * * Revision 1.1 1994/03/29 02:47:27 mycroft * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me. * diff --git a/usr.sbin/pkg_install/add/add.h b/usr.sbin/pkg_install/add/add.h index d2d89702d4cd4..9b72abe342477 100644 --- a/usr.sbin/pkg_install/add/add.h +++ b/usr.sbin/pkg_install/add/add.h @@ -1,4 +1,4 @@ -/* $Id: add.h,v 1.5.4.2 1995/10/14 19:10:59 jkh Exp $ */ +/* $Id: add.h,v 1.6 1995/10/25 15:37:45 jkh Exp $ */ /* * FreeBSD install - a package for the installation and maintainance diff --git a/usr.sbin/pkg_install/add/extract.c b/usr.sbin/pkg_install/add/extract.c index 2b057fd46bba2..5f31dc9c2e973 100644 --- a/usr.sbin/pkg_install/add/extract.c +++ b/usr.sbin/pkg_install/add/extract.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: extract.c,v 1.7.6.2 1997/02/15 16:36:16 jkh Exp $"; +static const char *rcsid = "$Id: extract.c,v 1.7.6.3 1997/02/25 07:19:32 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/add/futil.c b/usr.sbin/pkg_install/add/futil.c index 7cf18e66ca1f7..f27e49678eb96 100644 --- a/usr.sbin/pkg_install/add/futil.c +++ b/usr.sbin/pkg_install/add/futil.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: futil.c,v 1.3 1994/12/06 00:51:32 jkh Exp $"; +static const char *rcsid = "$Id: futil.c,v 1.4 1995/05/30 03:49:52 rgrimes Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/add/main.c b/usr.sbin/pkg_install/add/main.c index 1d3099a51cb30..6d875ee9dbb98 100644 --- a/usr.sbin/pkg_install/add/main.c +++ b/usr.sbin/pkg_install/add/main.c @@ -1,5 +1,5 @@ #ifndef lint -static char *rcsid = "$Id: main.c,v 1.10 1996/03/12 06:12:36 jkh Exp $"; +static char *rcsid = "$Id: main.c,v 1.11 1996/07/30 10:48:09 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/add/perform.c b/usr.sbin/pkg_install/add/perform.c index 8cd8b5a875b66..85540afda9c15 100644 --- a/usr.sbin/pkg_install/add/perform.c +++ b/usr.sbin/pkg_install/add/perform.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: perform.c,v 1.37.2.1 1997/01/20 15:42:57 jkh Exp $"; +static const char *rcsid = "$Id: perform.c,v 1.37.2.2 1997/02/15 14:19:04 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/create/create.h b/usr.sbin/pkg_install/create/create.h index 60dd490b38359..49aa5ccff7734 100644 --- a/usr.sbin/pkg_install/create/create.h +++ b/usr.sbin/pkg_install/create/create.h @@ -1,4 +1,4 @@ -/* $Id: create.h,v 1.8.4.1 1995/10/09 11:16:23 jkh Exp $ */ +/* $Id: create.h,v 1.9 1995/10/25 15:37:58 jkh Exp $ */ /* * FreeBSD install - a package for the installation and maintainance diff --git a/usr.sbin/pkg_install/create/main.c b/usr.sbin/pkg_install/create/main.c index 757a0e23acd11..a965c7eebccc6 100644 --- a/usr.sbin/pkg_install/create/main.c +++ b/usr.sbin/pkg_install/create/main.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: main.c,v 1.11.4.1 1995/10/09 11:16:24 jkh Exp $"; +static const char *rcsid = "$Id: main.c,v 1.12 1995/10/25 15:37:59 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/create/perform.c b/usr.sbin/pkg_install/create/perform.c index ee89e1a3aabed..1843fcbdf22e1 100644 --- a/usr.sbin/pkg_install/create/perform.c +++ b/usr.sbin/pkg_install/create/perform.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: perform.c,v 1.31 1996/06/20 18:33:36 jkh Exp $"; +static const char *rcsid = "$Id: perform.c,v 1.32 1996/07/30 10:48:12 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/create/pkg_create.1 b/usr.sbin/pkg_install/create/pkg_create.1 index 112c02b631d44..1a104c0834e91 100644 --- a/usr.sbin/pkg_install/create/pkg_create.1 +++ b/usr.sbin/pkg_install/create/pkg_create.1 @@ -15,7 +15,7 @@ .\" .\" .\" @(#)pkg_create.1 -.\" $Id: pkg_create.1,v 1.15 1996/02/12 04:56:38 mpp Exp $ +.\" $Id: pkg_create.1,v 1.16 1996/04/08 04:17:54 mpp Exp $ .\" .\" hacked up by John Kohl for NetBSD--fixed a few bugs, extended keywords, .\" added dependency tracking, etc. diff --git a/usr.sbin/pkg_install/create/pl.c b/usr.sbin/pkg_install/create/pl.c index 80d8805ac12fc..3667648067ac7 100644 --- a/usr.sbin/pkg_install/create/pl.c +++ b/usr.sbin/pkg_install/create/pl.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: pl.c,v 1.7 1995/05/30 03:49:56 rgrimes Exp $"; +static const char *rcsid = "$Id: pl.c,v 1.8 1996/07/30 10:48:13 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/delete/delete.h b/usr.sbin/pkg_install/delete/delete.h index e618d182611ce..44ae0201159e2 100644 --- a/usr.sbin/pkg_install/delete/delete.h +++ b/usr.sbin/pkg_install/delete/delete.h @@ -1,4 +1,4 @@ -/* $Id: delete.h,v 1.1.1.1 1993/08/26 01:19:54 jkh Exp $ */ +/* $Id: delete.h,v 1.2 1994/12/06 00:51:39 jkh Exp $ */ /* * FreeBSD install - a package for the installation and maintainance diff --git a/usr.sbin/pkg_install/delete/main.c b/usr.sbin/pkg_install/delete/main.c index 646c42010ce12..9bc646cc4d32a 100644 --- a/usr.sbin/pkg_install/delete/main.c +++ b/usr.sbin/pkg_install/delete/main.c @@ -1,5 +1,5 @@ #ifndef lint -static char *rcsid = "$Id: main.c,v 1.5 1996/06/20 18:33:43 jkh Exp $"; +static char *rcsid = "$Id: main.c,v 1.6 1996/07/30 10:48:15 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/delete/perform.c b/usr.sbin/pkg_install/delete/perform.c index cfac60ccd0a75..3f2710bdd70d4 100644 --- a/usr.sbin/pkg_install/delete/perform.c +++ b/usr.sbin/pkg_install/delete/perform.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: perform.c,v 1.10 1996/07/30 10:48:16 jkh Exp $"; +static const char *rcsid = "$Id: perform.c,v 1.10.2.1 1997/03/06 10:23:02 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/info/info.h b/usr.sbin/pkg_install/info/info.h index 56ad7dbfaab06..07d9f438a4020 100644 --- a/usr.sbin/pkg_install/info/info.h +++ b/usr.sbin/pkg_install/info/info.h @@ -1,4 +1,4 @@ -/* $Id: info.h,v 1.7.4.1 1995/10/09 11:16:25 jkh Exp $ */ +/* $Id: info.h,v 1.8 1995/10/25 15:38:27 jkh Exp $ */ /* * FreeBSD install - a package for the installation and maintainance diff --git a/usr.sbin/pkg_install/info/main.c b/usr.sbin/pkg_install/info/main.c index bcd78d945537e..11e75d9a822b9 100644 --- a/usr.sbin/pkg_install/info/main.c +++ b/usr.sbin/pkg_install/info/main.c @@ -1,5 +1,5 @@ #ifndef lint -static char *rcsid = "$Id: main.c,v 1.9.4.1 1995/10/09 11:16:26 jkh Exp $"; +static char *rcsid = "$Id: main.c,v 1.10 1995/10/25 15:38:29 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/info/perform.c b/usr.sbin/pkg_install/info/perform.c index da142b9938417..f13cbab055f79 100644 --- a/usr.sbin/pkg_install/info/perform.c +++ b/usr.sbin/pkg_install/info/perform.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: perform.c,v 1.18 1995/10/25 15:38:31 jkh Exp $"; +static const char *rcsid = "$Id: perform.c,v 1.19 1996/06/16 16:33:34 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/info/show.c b/usr.sbin/pkg_install/info/show.c index f410a6aacca3c..dce6c8fc0bc27 100644 --- a/usr.sbin/pkg_install/info/show.c +++ b/usr.sbin/pkg_install/info/show.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: show.c,v 1.7 1995/07/30 01:08:34 ache Exp $"; +static const char *rcsid = "$Id: show.c,v 1.8 1996/06/20 18:33:47 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/lib/exec.c b/usr.sbin/pkg_install/lib/exec.c index dd6b184fffd89..1b6a7191eda39 100644 --- a/usr.sbin/pkg_install/lib/exec.c +++ b/usr.sbin/pkg_install/lib/exec.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: exec.c,v 1.2 1993/09/03 23:01:12 jkh Exp $"; +static const char *rcsid = "$Id: exec.c,v 1.3 1994/12/06 00:51:47 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/lib/file.c b/usr.sbin/pkg_install/lib/file.c index ea28c4752e9da..1b2891b24c5e7 100644 --- a/usr.sbin/pkg_install/lib/file.c +++ b/usr.sbin/pkg_install/lib/file.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: file.c,v 1.24 1996/10/14 19:41:44 jkh Exp $"; +static const char *rcsid = "$Id: file.c,v 1.24.2.1 1996/11/28 08:28:00 phk Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/lib/global.c b/usr.sbin/pkg_install/lib/global.c index 17d0026ca62a0..1e7120232afe7 100644 --- a/usr.sbin/pkg_install/lib/global.c +++ b/usr.sbin/pkg_install/lib/global.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: global.c,v 1.2 1994/04/05 14:08:45 jkh Exp $"; +static const char *rcsid = "$Id: global.c,v 1.3 1996/07/30 10:48:19 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/lib/lib.h b/usr.sbin/pkg_install/lib/lib.h index 6abf95f7f3927..53828a323ae2b 100644 --- a/usr.sbin/pkg_install/lib/lib.h +++ b/usr.sbin/pkg_install/lib/lib.h @@ -1,4 +1,4 @@ -/* $Id: lib.h,v 1.21 1996/06/20 18:33:53 jkh Exp $ */ +/* $Id: lib.h,v 1.22 1996/07/30 10:48:19 jkh Exp $ */ /* * FreeBSD install - a package for the installation and maintainance diff --git a/usr.sbin/pkg_install/lib/msg.c b/usr.sbin/pkg_install/lib/msg.c index d95e498637dd5..edbce5f86ab98 100644 --- a/usr.sbin/pkg_install/lib/msg.c +++ b/usr.sbin/pkg_install/lib/msg.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: msg.c,v 1.5 1995/05/30 03:50:06 rgrimes Exp $"; +static const char *rcsid = "$Id: msg.c,v 1.6 1995/08/26 10:15:15 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/lib/pen.c b/usr.sbin/pkg_install/lib/pen.c index 33ace5f23287a..46c48488521c1 100644 --- a/usr.sbin/pkg_install/lib/pen.c +++ b/usr.sbin/pkg_install/lib/pen.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: pen.c,v 1.21 1996/06/08 00:46:33 alex Exp $"; +static const char *rcsid = "$Id: pen.c,v 1.22 1996/06/20 18:33:54 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/lib/plist.c b/usr.sbin/pkg_install/lib/plist.c index b9f3e1673e57f..37da818214d9e 100644 --- a/usr.sbin/pkg_install/lib/plist.c +++ b/usr.sbin/pkg_install/lib/plist.c @@ -1,5 +1,5 @@ #ifndef lint -static const char *rcsid = "$Id: plist.c,v 1.16 1996/06/20 18:33:55 jkh Exp $"; +static const char *rcsid = "$Id: plist.c,v 1.17 1996/07/30 10:48:20 jkh Exp $"; #endif /* diff --git a/usr.sbin/pkg_install/tkpkg b/usr.sbin/pkg_install/tkpkg index b7dc70f60b70e..c6d35f1eaf0d4 100755 --- a/usr.sbin/pkg_install/tkpkg +++ b/usr.sbin/pkg_install/tkpkg @@ -1,7 +1,10 @@ #!/usr/local/bin/wish -f -#$Id: tkpkg,v 1.2 1994/12/06 00:51:21 jkh Exp $ +#$Id: tkpkg,v 1.2.6.1 1996/11/28 08:27:59 phk Exp $ # #$Log: tkpkg,v $ +#Revision 1.2.6.1 1996/11/28 08:27:59 phk +#YAMFC +# # Revision 1.2 1994/12/06 00:51:21 jkh # Many of John T. Kohl's patches from NetBSD. Thanks, John! # Submitted by: jkohl diff --git a/usr.sbin/ppp/Makefile b/usr.sbin/ppp/Makefile index 69cfa8e925974..2b5fd5c6e6f8e 100644 --- a/usr.sbin/ppp/Makefile +++ b/usr.sbin/ppp/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.9.2.2 1996/12/23 18:13:25 jkh Exp $ +# $Id: Makefile,v 1.9.2.3 1997/02/22 17:59:04 joerg Exp $ PROG= ppp SRCS= async.c auth.c ccp.c chap.c chat.c command.c filter.c fsm.c hdlc.c \ diff --git a/usr.sbin/ppp/arp.c b/usr.sbin/ppp/arp.c index 685b136c3d7ca..6f646fb46a18d 100644 --- a/usr.sbin/ppp/arp.c +++ b/usr.sbin/ppp/arp.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: arp.c,v 1.5 1996/05/11 20:48:09 phk Exp $ + * $Id: arp.c,v 1.5.2.1 1997/01/12 21:52:42 joerg Exp $ * */ diff --git a/usr.sbin/ppp/arp.h b/usr.sbin/ppp/arp.h index 95c10ba2e4da7..528c6abfa5628 100644 --- a/usr.sbin/ppp/arp.h +++ b/usr.sbin/ppp/arp.h @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: main.c,v 1.12 1996/01/10 21:27:53 phk Exp $ + * $Id: arp.h,v 1.1 1996/01/11 17:48:35 phk Exp $ * */ diff --git a/usr.sbin/ppp/async.c b/usr.sbin/ppp/async.c index ea091fff68f37..fd614f772e4af 100644 --- a/usr.sbin/ppp/async.c +++ b/usr.sbin/ppp/async.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: async.c,v 1.4 1995/05/30 03:50:24 rgrimes Exp $ + * $Id: async.c,v 1.5 1996/01/11 17:48:35 phk Exp $ * */ #include "fsm.h" diff --git a/usr.sbin/ppp/auth.c b/usr.sbin/ppp/auth.c index 55ad2c192b762..0227c876b18f4 100644 --- a/usr.sbin/ppp/auth.c +++ b/usr.sbin/ppp/auth.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: auth.c,v 1.7 1996/05/11 20:48:11 phk Exp $ + * $Id: auth.c,v 1.7.2.1 1997/01/12 21:52:43 joerg Exp $ * * TODO: * o Implement check against with registered IP addresses. diff --git a/usr.sbin/ppp/auth.h b/usr.sbin/ppp/auth.h index f3b9052606dab..01b2bb5526730 100644 --- a/usr.sbin/ppp/auth.h +++ b/usr.sbin/ppp/auth.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: auth.h,v 1.2 1995/05/30 03:50:26 rgrimes Exp $ + * $Id: auth.h,v 1.3 1996/01/11 17:48:37 phk Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/ccp.c b/usr.sbin/ppp/ccp.c index d44bb1fe9b195..80c6a3f00e5f7 100644 --- a/usr.sbin/ppp/ccp.c +++ b/usr.sbin/ppp/ccp.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: ccp.c,v 1.7 1996/05/11 20:48:14 phk Exp $ + * $Id: ccp.c,v 1.7.2.1 1997/01/12 21:52:43 joerg Exp $ * * TODO: * o Support other compression protocols diff --git a/usr.sbin/ppp/ccp.h b/usr.sbin/ppp/ccp.h index d19f39a3c6c2f..84aa1df4080e9 100644 --- a/usr.sbin/ppp/ccp.h +++ b/usr.sbin/ppp/ccp.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: ccp.h,v 1.2 1995/02/26 12:17:15 amurai Exp $ + * $Id: ccp.h,v 1.3 1996/01/11 17:48:38 phk Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/cdefs.h b/usr.sbin/ppp/cdefs.h index 85ba8a5b3cfcf..41205a43b9ffb 100644 --- a/usr.sbin/ppp/cdefs.h +++ b/usr.sbin/ppp/cdefs.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id:$ + * $Id: cdefs.h,v 1.1 1995/02/27 03:17:54 amurai Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/chap.c b/usr.sbin/ppp/chap.c index 13a98671ab81f..f66ebc2358d34 100644 --- a/usr.sbin/ppp/chap.c +++ b/usr.sbin/ppp/chap.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: chap.c,v 1.8 1996/11/19 11:08:27 phk Exp $ + * $Id: chap.c,v 1.7.2.2 1996/12/23 18:13:27 jkh Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/chap.h b/usr.sbin/ppp/chap.h index 642b2baa745b9..e169d114c1b4b 100644 --- a/usr.sbin/ppp/chap.h +++ b/usr.sbin/ppp/chap.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: chap.h,v 1.2 1995/02/26 12:17:19 amurai Exp $ + * $Id: chap.h,v 1.3 1996/01/30 20:04:26 phk Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/chat.c b/usr.sbin/ppp/chat.c index 8a27c39e9cff9..10e3acc0de92b 100644 --- a/usr.sbin/ppp/chat.c +++ b/usr.sbin/ppp/chat.c @@ -18,7 +18,7 @@ * Columbus, OH 43221 * (614)451-1883 * - * $Id: chat.c,v 1.11.2.4 1997/02/22 17:59:06 joerg Exp $ + * $Id: chat.c,v 1.11.2.5 1997/03/15 10:44:15 joerg Exp $ * * TODO: * o Support more UUCP compatible control sequences. diff --git a/usr.sbin/ppp/chat.h b/usr.sbin/ppp/chat.h index 5976129e123c4..b23abc5dfbee2 100644 --- a/usr.sbin/ppp/chat.h +++ b/usr.sbin/ppp/chat.h @@ -18,7 +18,7 @@ * Columbus, OH 43221 * (614)451-1883 * - * $Id: chat.h,v 1.1 1996/01/11 17:48:39 phk Exp $ + * $Id: chat.h,v 1.1.4.1 1997/01/12 21:52:45 joerg Exp $ * */ #ifndef _CHAT_H_ diff --git a/usr.sbin/ppp/command.c b/usr.sbin/ppp/command.c index 271dff2b3eea6..5306d54778b70 100644 --- a/usr.sbin/ppp/command.c +++ b/usr.sbin/ppp/command.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: command.c,v 1.24.2.3 1997/01/12 21:52:46 joerg Exp $ + * $Id: command.c,v 1.24.2.4 1997/02/02 19:14:08 joerg Exp $ * */ #include <sys/types.h> diff --git a/usr.sbin/ppp/command.h b/usr.sbin/ppp/command.h index e8beaed2e6b2f..eaaef4d60190b 100644 --- a/usr.sbin/ppp/command.h +++ b/usr.sbin/ppp/command.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id:$ + * $Id: command.h,v 1.2 1995/02/26 12:17:24 amurai Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/defs.h b/usr.sbin/ppp/defs.h index bd4e46f1d3d5a..093274149dc64 100644 --- a/usr.sbin/ppp/defs.h +++ b/usr.sbin/ppp/defs.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: defs.h,v 1.8 1996/12/22 17:29:31 jkh Exp $ + * $Id: defs.h,v 1.4.2.2 1996/12/23 18:13:31 jkh Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/filter.c b/usr.sbin/ppp/filter.c index 8c2ff001ca69c..2747c6be5fe1e 100644 --- a/usr.sbin/ppp/filter.c +++ b/usr.sbin/ppp/filter.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: filter.c,v 1.5 1995/09/17 16:14:45 amurai Exp $ + * $Id: filter.c,v 1.6 1996/01/10 21:27:43 phk Exp $ * * TODO: Shoud send ICMP error message when we discard packets. */ diff --git a/usr.sbin/ppp/filter.h b/usr.sbin/ppp/filter.h index ca87e7ee48178..500ae764b5d3f 100644 --- a/usr.sbin/ppp/filter.h +++ b/usr.sbin/ppp/filter.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: filter.h,v 1.3 1995/03/11 15:18:41 amurai Exp $ + * $Id: filter.h,v 1.4 1996/01/11 17:48:43 phk Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/fsm.c b/usr.sbin/ppp/fsm.c index 4febdc2eb7d54..00e2a60ccd397 100644 --- a/usr.sbin/ppp/fsm.c +++ b/usr.sbin/ppp/fsm.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: fsm.c,v 1.6 1996/01/30 11:08:29 dfr Exp $ + * $Id: fsm.c,v 1.7 1996/05/11 20:48:23 phk Exp $ * * TODO: * o Refer loglevel for log output diff --git a/usr.sbin/ppp/fsm.h b/usr.sbin/ppp/fsm.h index 1ba710a698639..5eec46f7f83e4 100644 --- a/usr.sbin/ppp/fsm.h +++ b/usr.sbin/ppp/fsm.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: fsm.h,v 1.4 1995/02/27 03:17:58 amurai Exp $ + * $Id: fsm.h,v 1.5 1996/01/11 17:48:45 phk Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/global.h b/usr.sbin/ppp/global.h index 6630a29149a9b..91560cf7847ca 100644 --- a/usr.sbin/ppp/global.h +++ b/usr.sbin/ppp/global.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id:$ + * $Id: global.h,v 1.2 1995/02/26 12:17:29 amurai Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/hdlc.c b/usr.sbin/ppp/hdlc.c index 15b536dfa64f9..7fe55f65e5ba1 100644 --- a/usr.sbin/ppp/hdlc.c +++ b/usr.sbin/ppp/hdlc.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: hdlc.c,v 1.8 1996/01/30 20:04:31 phk Exp $ + * $Id: hdlc.c,v 1.9 1996/05/11 20:48:24 phk Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/hdlc.h b/usr.sbin/ppp/hdlc.h index ca05b11dd8d80..cbf64260cf572 100644 --- a/usr.sbin/ppp/hdlc.h +++ b/usr.sbin/ppp/hdlc.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: hdlc.h,v 1.3 1996/01/11 17:48:48 phk Exp $ + * $Id: hdlc.h,v 1.4 1996/01/30 11:08:31 dfr Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/ip.c b/usr.sbin/ppp/ip.c index 4e88a0cb973a0..58b83c7d434e8 100644 --- a/usr.sbin/ppp/ip.c +++ b/usr.sbin/ppp/ip.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: ip.c,v 1.12 1996/12/19 00:41:41 nate Exp $ + * $Id: ip.c,v 1.9.2.3 1996/12/23 18:13:32 jkh Exp $ * * TODO: * o Return ICMP message for filterd packet diff --git a/usr.sbin/ppp/ip.h b/usr.sbin/ppp/ip.h index fcc461d469d25..f2c3103f27bde 100644 --- a/usr.sbin/ppp/ip.h +++ b/usr.sbin/ppp/ip.h @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: main.c,v 1.12 1996/01/10 21:27:53 phk Exp $ + * $Id: ip.h,v 1.1 1996/01/11 17:48:49 phk Exp $ * */ diff --git a/usr.sbin/ppp/ipcp.c b/usr.sbin/ppp/ipcp.c index 5f7ff3b1876d2..db2208f00e089 100644 --- a/usr.sbin/ppp/ipcp.c +++ b/usr.sbin/ppp/ipcp.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: ipcp.c,v 1.9.2.2 1996/12/23 18:13:33 jkh Exp $ + * $Id: ipcp.c,v 1.9.2.3 1997/01/12 21:52:47 joerg Exp $ * * TODO: * o More RFC1772 backwoard compatibility diff --git a/usr.sbin/ppp/ipcp.h b/usr.sbin/ppp/ipcp.h index 053ca57aca63d..506024fec6506 100644 --- a/usr.sbin/ppp/ipcp.h +++ b/usr.sbin/ppp/ipcp.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: ipcp.h,v 1.3 1995/07/08 08:28:10 amurai Exp $ + * $Id: ipcp.h,v 1.4 1996/10/06 13:32:29 jkh Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/lcp.c b/usr.sbin/ppp/lcp.c index edfc4dbb134e8..e9d7cf2613de3 100644 --- a/usr.sbin/ppp/lcp.c +++ b/usr.sbin/ppp/lcp.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: lcp.c,v 1.10 1996/10/12 16:20:31 jkh Exp $ + * $Id: lcp.c,v 1.10.2.1 1997/03/15 10:44:17 joerg Exp $ * * TODO: * o Validate magic number received from peer. diff --git a/usr.sbin/ppp/lcp.h b/usr.sbin/ppp/lcp.h index 33f0df10bd0bb..d61c444ab3ffe 100644 --- a/usr.sbin/ppp/lcp.h +++ b/usr.sbin/ppp/lcp.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: lcp.h,v 1.2 1995/02/26 12:17:36 amurai Exp $ + * $Id: lcp.h,v 1.4 1995/02/27 03:18:03 amurai Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/lcpproto.h b/usr.sbin/ppp/lcpproto.h index 306aee6d2b932..982d64330dfda 100644 --- a/usr.sbin/ppp/lcpproto.h +++ b/usr.sbin/ppp/lcpproto.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: lcpproto.h,v 1.2 1995/02/26 12:17:37 amurai Exp $ + * $Id: lcpproto.h,v 1.4 1995/02/27 03:18:11 amurai Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/log.c b/usr.sbin/ppp/log.c index 2c86c5479c05f..a64a9afdde93f 100644 --- a/usr.sbin/ppp/log.c +++ b/usr.sbin/ppp/log.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: log.c,v 1.4.2.1 1997/01/12 21:52:48 joerg Exp $ + * $Id: log.c,v 1.4.2.2 1997/03/15 10:44:18 joerg Exp $ * */ #include "defs.h" diff --git a/usr.sbin/ppp/log.h b/usr.sbin/ppp/log.h index 3fbd63637aaee..03dab979320bd 100644 --- a/usr.sbin/ppp/log.h +++ b/usr.sbin/ppp/log.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: log.h,v 1.6 1996/05/11 20:48:32 phk Exp $ + * $Id: log.h,v 1.6.2.1 1997/03/15 10:44:20 joerg Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/lqr.c b/usr.sbin/ppp/lqr.c index f71f76e64f1e2..de4b328dc5247 100644 --- a/usr.sbin/ppp/lqr.c +++ b/usr.sbin/ppp/lqr.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: lqr.c,v 1.6 1996/01/30 11:08:37 dfr Exp $ + * $Id: lqr.c,v 1.7 1996/05/11 20:48:33 phk Exp $ * * o LQR based on RFC1333 * diff --git a/usr.sbin/ppp/lqr.h b/usr.sbin/ppp/lqr.h index 30fe971c6c620..9f4975035e327 100644 --- a/usr.sbin/ppp/lqr.h +++ b/usr.sbin/ppp/lqr.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: lqr.h,v 1.2 1995/02/26 12:17:40 amurai Exp $ + * $Id: lqr.h,v 1.3 1996/01/30 11:08:39 dfr Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/main.c b/usr.sbin/ppp/main.c index 4c13a6038b9fc..badfc051e6b0e 100644 --- a/usr.sbin/ppp/main.c +++ b/usr.sbin/ppp/main.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: main.c,v 1.22.2.6 1997/02/22 17:59:08 joerg Exp $ + * $Id: main.c,v 1.22.2.7 1997/03/15 10:44:22 joerg Exp $ * * TODO: * o Add commands for traffic summary, version display, etc. diff --git a/usr.sbin/ppp/main.h b/usr.sbin/ppp/main.h index 1f578821ea968..3bf6dfe39eac9 100644 --- a/usr.sbin/ppp/main.h +++ b/usr.sbin/ppp/main.h @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: main.c,v 1.12 1996/01/10 21:27:53 phk Exp $ + * $Id: main.h,v 1.1 1996/01/11 17:48:53 phk Exp $ * */ diff --git a/usr.sbin/ppp/mbuf.c b/usr.sbin/ppp/mbuf.c index c371a6478dcf0..24aed0ee9dcd9 100644 --- a/usr.sbin/ppp/mbuf.c +++ b/usr.sbin/ppp/mbuf.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: mbuf.c,v 1.2 1995/02/26 12:17:42 amurai Exp $ + * $Id: mbuf.c,v 1.3 1995/05/30 03:50:48 rgrimes Exp $ * */ #include "defs.h" diff --git a/usr.sbin/ppp/mbuf.h b/usr.sbin/ppp/mbuf.h index c4121f0fc6dca..cf8f313e3f537 100644 --- a/usr.sbin/ppp/mbuf.h +++ b/usr.sbin/ppp/mbuf.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id:$ + * $Id: mbuf.h,v 1.2 1995/02/26 12:17:43 amurai Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/modem.c b/usr.sbin/ppp/modem.c index dd636143ac335..41710833551d9 100644 --- a/usr.sbin/ppp/modem.c +++ b/usr.sbin/ppp/modem.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: modem.c,v 1.24.2.1 1996/12/23 18:13:37 jkh Exp $ + * $Id: modem.c,v 1.24.2.2 1997/01/12 21:52:49 joerg Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/modem.h b/usr.sbin/ppp/modem.h index 9cb6506f330e9..c129b870c4cb8 100644 --- a/usr.sbin/ppp/modem.h +++ b/usr.sbin/ppp/modem.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: modem.h,v 1.4 1995/02/27 03:18:22 amurai Exp $ + * $Id: modem.h,v 1.5 1996/01/11 17:48:54 phk Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/os.c b/usr.sbin/ppp/os.c index 548e6f4eb71d5..80f851da7b758 100644 --- a/usr.sbin/ppp/os.c +++ b/usr.sbin/ppp/os.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: os.c,v 1.7.2.2 1996/12/23 18:13:39 jkh Exp $ + * $Id: os.c,v 1.7.2.3 1997/01/12 21:52:50 joerg Exp $ * */ #include "fsm.h" diff --git a/usr.sbin/ppp/os.h b/usr.sbin/ppp/os.h index c518c5e4a7703..22742546a9cc8 100644 --- a/usr.sbin/ppp/os.h +++ b/usr.sbin/ppp/os.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: os.h,v 1.2 1995/02/26 12:17:49 amurai Exp $ + * $Id: os.h,v 1.3 1996/01/10 21:27:57 phk Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/pap.c b/usr.sbin/ppp/pap.c index b6871dc0978ea..938573701401f 100644 --- a/usr.sbin/ppp/pap.c +++ b/usr.sbin/ppp/pap.c @@ -18,7 +18,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: pap.c,v 1.6 1996/10/06 13:32:30 jkh Exp $ + * $Id: pap.c,v 1.7 1996/10/07 04:21:09 jkh Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/pap.h b/usr.sbin/ppp/pap.h index 14ca50c29cadc..9290e29db1c90 100644 --- a/usr.sbin/ppp/pap.h +++ b/usr.sbin/ppp/pap.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id:$ + * $Id: pap.h,v 1.1.1.1 1995/01/31 06:29:56 amurai Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/pathnames.h b/usr.sbin/ppp/pathnames.h index fbabf37743bf7..f8f80904e69a4 100644 --- a/usr.sbin/ppp/pathnames.h +++ b/usr.sbin/ppp/pathnames.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * - * $Id: pathnames.h,v 1.3 1995/02/26 12:17:52 amurai Exp $ + * $Id: pathnames.h,v 1.4 1995/05/30 03:50:54 rgrimes Exp $ * * @(#)pathnames.h 5.2 (Berkeley) 6/1/90 */ diff --git a/usr.sbin/ppp/phase.h b/usr.sbin/ppp/phase.h index 33650d6ae45f8..30c9671bfe8df 100644 --- a/usr.sbin/ppp/phase.h +++ b/usr.sbin/ppp/phase.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: phase.h,v 1.3 1996/12/22 17:29:33 jkh Exp $ + * $Id: phase.h,v 1.2.6.1 1996/12/23 18:13:40 jkh Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/ppp.8 b/usr.sbin/ppp/ppp.8 index a17fe624f9fb2..bd8fc121693f1 100644 --- a/usr.sbin/ppp/ppp.8 +++ b/usr.sbin/ppp/ppp.8 @@ -1,5 +1,5 @@ .\" manual page [] for ppp 0.94 beta2 + alpha -.\" $Id: ppp.8,v 1.19.2.2 1996/12/23 18:13:42 jkh Exp $ +.\" $Id: ppp.8,v 1.19.2.3 1997/03/15 10:44:25 joerg Exp $ .Dd 20 September 1995 .Os FreeBSD .Dt PPP 8 diff --git a/usr.sbin/ppp/pred.c b/usr.sbin/ppp/pred.c index 7e11d09da855c..14e2867d50118 100644 --- a/usr.sbin/ppp/pred.c +++ b/usr.sbin/ppp/pred.c @@ -5,7 +5,7 @@ /* * - * $Id: pred.c,v 1.6 1996/05/11 20:48:41 phk Exp $ + * $Id: pred.c,v 1.7 1996/07/21 13:01:27 phk Exp $ * * pred.c -- Test program for Dave Rand's rendition of the * predictor algorithm diff --git a/usr.sbin/ppp/pred.h b/usr.sbin/ppp/pred.h index e44a489b20552..cb3502739e13f 100644 --- a/usr.sbin/ppp/pred.h +++ b/usr.sbin/ppp/pred.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: ccp.h,v 1.2 1995/02/26 12:17:15 amurai Exp $ + * $Id: pred.h,v 1.1 1996/01/11 17:48:56 phk Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/route.c b/usr.sbin/ppp/route.c index c7c4b6fc8830a..e6b8b2c91fb01 100644 --- a/usr.sbin/ppp/route.c +++ b/usr.sbin/ppp/route.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: route.c,v 1.10 1996/12/10 17:00:39 wollman Exp $ + * $Id: route.c,v 1.9.2.2 1996/12/23 18:13:46 jkh Exp $ * */ #include <sys/types.h> diff --git a/usr.sbin/ppp/route.h b/usr.sbin/ppp/route.h index 4aba1af33d19e..bbc06119e4829 100644 --- a/usr.sbin/ppp/route.h +++ b/usr.sbin/ppp/route.h @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: main.c,v 1.12 1996/01/10 21:27:53 phk Exp $ + * $Id: route.h,v 1.1 1996/01/11 17:48:57 phk Exp $ * */ diff --git a/usr.sbin/ppp/sig.c b/usr.sbin/ppp/sig.c index dff39703f8e3a..a7a8f2db78cf2 100644 --- a/usr.sbin/ppp/sig.c +++ b/usr.sbin/ppp/sig.c @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sig.c,v 1.2 1997/02/22 16:10:51 peter Exp $ + * $Id: sig.c,v 1.2.2.1 1997/03/15 10:44:27 joerg Exp $ * * TODO: * diff --git a/usr.sbin/ppp/sig.h b/usr.sbin/ppp/sig.h index ba34ceb784372..0c8c9d230fc78 100644 --- a/usr.sbin/ppp/sig.h +++ b/usr.sbin/ppp/sig.h @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sig.h,v 1.2.2.1 1997/02/23 19:30:15 brian Exp $ + * $Id: sig.h,v 1.2.2.2 1997/03/15 10:44:30 joerg Exp $ * * TODO: * diff --git a/usr.sbin/ppp/slcompress.c b/usr.sbin/ppp/slcompress.c index f2536cb3e67a9..6e75660eae03a 100644 --- a/usr.sbin/ppp/slcompress.c +++ b/usr.sbin/ppp/slcompress.c @@ -17,13 +17,13 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: slcompress.c,v 1.5 1996/04/11 08:14:44 davidg Exp $ + * $Id: slcompress.c,v 1.6 1996/04/11 08:24:04 davidg Exp $ * * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989: * - Initial distribution. */ #ifndef lint -static char const rcsid[] = "$Id: slcompress.c,v 1.5 1996/04/11 08:14:44 davidg Exp $"; +static char const rcsid[] = "$Id: slcompress.c,v 1.6 1996/04/11 08:24:04 davidg Exp $"; #endif #include "defs.h" diff --git a/usr.sbin/ppp/slcompress.h b/usr.sbin/ppp/slcompress.h index 4e0b8badc1d62..37ee71f372324 100644 --- a/usr.sbin/ppp/slcompress.h +++ b/usr.sbin/ppp/slcompress.h @@ -1,7 +1,7 @@ /* * Definitions for tcp compression routines. * - * $Header: /home/ncvs/src/usr.sbin/ppp/slcompress.h,v 1.2 1995/02/26 12:17:58 amurai Exp $ + * $Header: /home/ncvs/src/usr.sbin/ppp/slcompress.h,v 1.3 1995/05/30 03:50:58 rgrimes Exp $ * * Copyright (c) 1989 Regents of the University of California. * All rights reserved. @@ -18,7 +18,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: slcompress.h,v 1.2 1995/02/26 12:17:58 amurai Exp $ + * $Id: slcompress.h,v 1.3 1995/05/30 03:50:58 rgrimes Exp $ * * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989: * - Initial distribution. diff --git a/usr.sbin/ppp/systems.c b/usr.sbin/ppp/systems.c index b8b517e83d47b..53c544b3aff4a 100644 --- a/usr.sbin/ppp/systems.c +++ b/usr.sbin/ppp/systems.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: systems.c,v 1.7 1996/12/15 20:39:30 pst Exp $ + * $Id: systems.c,v 1.6.2.2 1996/12/23 18:13:48 jkh Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/systems.h b/usr.sbin/ppp/systems.h index b1953a4969eb4..737efda5b7a7e 100644 --- a/usr.sbin/ppp/systems.h +++ b/usr.sbin/ppp/systems.h @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: main.c,v 1.12 1996/01/10 21:27:53 phk Exp $ + * $Id: systems.h,v 1.1 1996/01/11 17:48:58 phk Exp $ * */ diff --git a/usr.sbin/ppp/timeout.h b/usr.sbin/ppp/timeout.h index f309eaf1b1b32..5cf3cba57f063 100644 --- a/usr.sbin/ppp/timeout.h +++ b/usr.sbin/ppp/timeout.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: timeout.h,v 1.5.6.1 1997/02/02 19:06:20 joerg Exp $ + * $Id: timeout.h,v 1.5.6.2 1997/02/22 17:59:10 joerg Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/timer.c b/usr.sbin/ppp/timer.c index e79746c3323b2..5eaf9b4388cb1 100644 --- a/usr.sbin/ppp/timer.c +++ b/usr.sbin/ppp/timer.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: timer.c,v 1.5.2.1 1997/02/02 19:06:21 joerg Exp $ + * $Id: timer.c,v 1.5.2.2 1997/02/22 17:59:11 joerg Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/vars.c b/usr.sbin/ppp/vars.c index 18076e7c932b9..047bb575576de 100644 --- a/usr.sbin/ppp/vars.c +++ b/usr.sbin/ppp/vars.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: vars.c,v 1.10 1996/12/22 17:09:16 jkh Exp $ + * $Id: vars.c,v 1.9.2.1 1996/12/23 18:13:49 jkh Exp $ * */ #include "fsm.h" @@ -29,7 +29,7 @@ #include "defs.h" char VarVersion[] = "Version 0.94"; -char VarLocalVersion[] = "$Date: 1996/12/22 17:09:16 $"; +char VarLocalVersion[] = "$Date: 1996/12/23 18:13:49 $"; /* * Order of conf option is important. See vars.h. diff --git a/usr.sbin/ppp/vars.h b/usr.sbin/ppp/vars.h index bddaebed1234b..18aa9d3ec56cb 100644 --- a/usr.sbin/ppp/vars.h +++ b/usr.sbin/ppp/vars.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: vars.h,v 1.8 1996/12/22 17:09:17 jkh Exp $ + * $Id: vars.h,v 1.7.2.1 1996/12/23 18:13:50 jkh Exp $ * * TODO: */ diff --git a/usr.sbin/ppp/vjcomp.c b/usr.sbin/ppp/vjcomp.c index c0718fea66e30..1b3c25cc2c72b 100644 --- a/usr.sbin/ppp/vjcomp.c +++ b/usr.sbin/ppp/vjcomp.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: vjcomp.c,v 1.3 1995/05/30 03:51:02 rgrimes Exp $ + * $Id: vjcomp.c,v 1.4 1996/01/30 11:08:50 dfr Exp $ * * TODO: */ diff --git a/usr.sbin/pppd/Makefile b/usr.sbin/pppd/Makefile index dc8b1f3e4a604..40c0c5bd06a20 100644 --- a/usr.sbin/pppd/Makefile +++ b/usr.sbin/pppd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.3 1996/03/01 19:29:34 phk Exp $ +# $Id: Makefile,v 1.4 1996/09/04 22:43:20 bde Exp $ CFLAGS+= -DHAVE_PATHS_H diff --git a/usr.sbin/pppd/args.h b/usr.sbin/pppd/args.h index e76721266cb50..e03919e2ad58c 100644 --- a/usr.sbin/pppd/args.h +++ b/usr.sbin/pppd/args.h @@ -1,6 +1,6 @@ /* * neat macro from ka9q to "do the right thing" with ansi prototypes - * $Id: args.h,v 1.2 1994/09/25 02:31:51 wollman Exp $ + * $Id: args.h,v 1.3 1996/03/01 19:29:34 phk Exp $ */ #ifndef __P diff --git a/usr.sbin/pppd/auth.c b/usr.sbin/pppd/auth.c index 459c3eb740887..14e45b410230f 100644 --- a/usr.sbin/pppd/auth.c +++ b/usr.sbin/pppd/auth.c @@ -33,7 +33,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: auth.c,v 1.7.2.1 1996/11/13 20:19:36 phk Exp $"; +static char rcsid[] = "$Id: auth.c,v 1.7.2.2 1997/01/12 22:06:13 joerg Exp $"; #endif #include <stdio.h> diff --git a/usr.sbin/pppd/callout.h b/usr.sbin/pppd/callout.h index 115d01c66653a..f9261d9e7076d 100644 --- a/usr.sbin/pppd/callout.h +++ b/usr.sbin/pppd/callout.h @@ -3,7 +3,7 @@ /* to a pointer to a function of type void (generic pointer) as per */ /* ANSI C */ -/* $Id: callout.h,v 1.1 1993/11/11 03:54:25 paulus Exp $ */ +/* $Id: callout.h,v 1.2 1994/09/25 02:31:53 wollman Exp $ */ #ifndef _ppp_callout_h #define _ppp_callout_h diff --git a/usr.sbin/pppd/ccp.c b/usr.sbin/pppd/ccp.c index 9c2fd55388359..c0a9617a7199c 100644 --- a/usr.sbin/pppd/ccp.c +++ b/usr.sbin/pppd/ccp.c @@ -26,7 +26,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: ccp.c,v 1.3 1995/10/31 21:29:19 peter Exp $"; +static char rcsid[] = "$Id: ccp.c,v 1.4 1996/03/08 01:21:53 joerg Exp $"; #endif #include <syslog.h> diff --git a/usr.sbin/pppd/ccp.h b/usr.sbin/pppd/ccp.h index e403e56ee6069..2ffb932c9018b 100644 --- a/usr.sbin/pppd/ccp.h +++ b/usr.sbin/pppd/ccp.h @@ -24,7 +24,7 @@ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, * OR MODIFICATIONS. * - * $Id: ccp.h,v 1.4 1995/04/24 06:00:54 paulus Exp $ + * $Id: ccp.h,v 1.2 1995/10/31 21:20:53 peter Exp $ */ typedef struct ccp_options { diff --git a/usr.sbin/pppd/chap.c b/usr.sbin/pppd/chap.c index 4b2c7336f6cbc..4beefb49713c1 100644 --- a/usr.sbin/pppd/chap.c +++ b/usr.sbin/pppd/chap.c @@ -19,7 +19,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: chap.c,v 1.4 1995/10/31 21:20:55 peter Exp $"; +static char rcsid[] = "$Id: chap.c,v 1.5 1996/03/01 19:29:37 phk Exp $"; #endif /* diff --git a/usr.sbin/pppd/chap.h b/usr.sbin/pppd/chap.h index 44b08f2e205f0..510d0d9eccb0b 100644 --- a/usr.sbin/pppd/chap.h +++ b/usr.sbin/pppd/chap.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: chap.h,v 1.3 1994/09/21 06:47:37 paulus Exp $ + * $Id: chap.h,v 1.3 1995/10/31 21:21:00 peter Exp $ */ #ifndef __CHAP_INCLUDE__ diff --git a/usr.sbin/pppd/fsm.c b/usr.sbin/pppd/fsm.c index 5d2eca6880ad5..55b6f1acef3a5 100644 --- a/usr.sbin/pppd/fsm.c +++ b/usr.sbin/pppd/fsm.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: fsm.c,v 1.8 1994/11/10 01:52:05 paulus Exp $"; +static char rcsid[] = "$Id: fsm.c,v 1.4 1995/10/31 21:21:02 peter Exp $"; #endif /* diff --git a/usr.sbin/pppd/fsm.h b/usr.sbin/pppd/fsm.h index efe18bf92f001..a9ddb5dfe622a 100644 --- a/usr.sbin/pppd/fsm.h +++ b/usr.sbin/pppd/fsm.h @@ -16,7 +16,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: fsm.h,v 1.5 1995/05/19 03:17:35 paulus Exp $ + * $Id: fsm.h,v 1.3 1995/10/31 21:21:04 peter Exp $ */ /* diff --git a/usr.sbin/pppd/ipcp.c b/usr.sbin/pppd/ipcp.c index e029e2d1bbf7d..632d087a806af 100644 --- a/usr.sbin/pppd/ipcp.c +++ b/usr.sbin/pppd/ipcp.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: ipcp.c,v 1.5 1995/11/03 19:06:45 peter Exp $"; +static char rcsid[] = "$Id: ipcp.c,v 1.6 1996/03/01 19:29:39 phk Exp $"; #endif /* diff --git a/usr.sbin/pppd/ipcp.h b/usr.sbin/pppd/ipcp.h index aba2500d3e7be..b9d4902a30078 100644 --- a/usr.sbin/pppd/ipcp.h +++ b/usr.sbin/pppd/ipcp.h @@ -16,7 +16,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: ipcp.h,v 1.4 1995/10/31 21:21:09 peter Exp $ + * $Id: ipcp.h,v 1.5 1996/03/01 19:29:39 phk Exp $ */ /* diff --git a/usr.sbin/pppd/lcp.c b/usr.sbin/pppd/lcp.c index f9d6c1cc9b9c2..c47fcaa3dbfbb 100644 --- a/usr.sbin/pppd/lcp.c +++ b/usr.sbin/pppd/lcp.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: lcp.c,v 1.21 1995/08/10 06:51:06 paulus Exp $"; +static char rcsid[] = "$Id: lcp.c,v 1.4 1995/10/31 21:21:12 peter Exp $"; #endif /* diff --git a/usr.sbin/pppd/lcp.h b/usr.sbin/pppd/lcp.h index 271ddc5ef3b62..a4e32f41cbc66 100644 --- a/usr.sbin/pppd/lcp.h +++ b/usr.sbin/pppd/lcp.h @@ -16,7 +16,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: lcp.h,v 1.8 1995/06/12 11:22:47 paulus Exp $ + * $Id: lcp.h,v 1.3 1995/10/31 21:21:16 peter Exp $ */ /* diff --git a/usr.sbin/pppd/lock.c b/usr.sbin/pppd/lock.c index 8cb7da7328453..5af8eb5d50d30 100644 --- a/usr.sbin/pppd/lock.c +++ b/usr.sbin/pppd/lock.c @@ -4,7 +4,7 @@ * This code is derived from chat.c. */ -static char rcsid[] = "$Id: lock.c,v 1.2 1994/09/25 02:32:04 wollman Exp $"; +static char rcsid[] = "$Id: lock.c,v 1.3 1994/10/22 14:40:48 dfr Exp $"; #include <stdio.h> #include <string.h> diff --git a/usr.sbin/pppd/magic.c b/usr.sbin/pppd/magic.c index 4797f0b19fd63..817c7353de25e 100644 --- a/usr.sbin/pppd/magic.c +++ b/usr.sbin/pppd/magic.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: magic.c,v 1.5 1995/06/06 01:52:25 paulus Exp $"; +static char rcsid[] = "$Id: magic.c,v 1.3 1995/10/31 21:21:20 peter Exp $"; #endif #include <stdio.h> diff --git a/usr.sbin/pppd/magic.h b/usr.sbin/pppd/magic.h index a118ca1afb9c8..7aed08d979b54 100644 --- a/usr.sbin/pppd/magic.h +++ b/usr.sbin/pppd/magic.h @@ -16,7 +16,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: magic.h,v 1.3 1994/09/21 06:47:37 paulus Exp $ + * $Id: magic.h,v 1.3 1995/10/31 21:21:23 peter Exp $ */ void magic_init __P((void)); /* Initialize the magic number generator */ diff --git a/usr.sbin/pppd/main.c b/usr.sbin/pppd/main.c index c60e91616cef7..099242bebad05 100644 --- a/usr.sbin/pppd/main.c +++ b/usr.sbin/pppd/main.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: main.c,v 1.6 1996/08/11 17:29:33 pst Exp $"; +static char rcsid[] = "$Id: main.c,v 1.7 1996/10/22 21:41:43 scrappy Exp $"; #endif #include <stdio.h> diff --git a/usr.sbin/pppd/options.c b/usr.sbin/pppd/options.c index fd0bc39269865..3c657eb0ae258 100644 --- a/usr.sbin/pppd/options.c +++ b/usr.sbin/pppd/options.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: options.c,v 1.9 1996/03/01 19:29:42 phk Exp $"; +static char rcsid[] = "$Id: options.c,v 1.10 1996/08/11 17:29:34 pst Exp $"; #endif #include <stdio.h> diff --git a/usr.sbin/pppd/patchlevel.h b/usr.sbin/pppd/patchlevel.h index c722443f029d8..ae9f091e312bc 100644 --- a/usr.sbin/pppd/patchlevel.h +++ b/usr.sbin/pppd/patchlevel.h @@ -1,4 +1,4 @@ -/* $Id: patchlevel.h,v 1.16 1995/07/11 06:41:07 paulus Exp $ */ +/* $Id: patchlevel.h,v 1.3 1995/10/31 21:21:33 peter Exp $ */ #define PATCHLEVEL 0 #define VERSION "2.2" diff --git a/usr.sbin/pppd/pathnames.h b/usr.sbin/pppd/pathnames.h index 4562a967017bd..298b30fec2952 100644 --- a/usr.sbin/pppd/pathnames.h +++ b/usr.sbin/pppd/pathnames.h @@ -1,7 +1,7 @@ /* * define path names * - * $Id: pathnames.h,v 1.6 1995/06/12 11:22:53 paulus Exp $ + * $Id: pathnames.h,v 1.3 1995/10/31 21:21:36 peter Exp $ */ #ifdef HAVE_PATHS_H diff --git a/usr.sbin/pppd/ppp.h b/usr.sbin/pppd/ppp.h index 3d8f870bf2f3c..c0d373e3c761c 100644 --- a/usr.sbin/pppd/ppp.h +++ b/usr.sbin/pppd/ppp.h @@ -16,7 +16,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: ppp.h,v 1.1 1993/11/11 03:54:25 paulus Exp $ + * $Id: ppp.h,v 1.2 1994/09/25 02:32:11 wollman Exp $ */ #ifndef __PPP_H__ diff --git a/usr.sbin/pppd/pppd.8 b/usr.sbin/pppd/pppd.8 index 7f61ac7826c5f..73222a5a60f20 100644 --- a/usr.sbin/pppd/pppd.8 +++ b/usr.sbin/pppd/pppd.8 @@ -1,5 +1,5 @@ .\" manual page [] for pppd 2.0 -.\" $Id: pppd.8,v 1.6 1996/07/03 23:23:03 mpp Exp $ +.\" $Id: pppd.8,v 1.7 1996/08/11 17:29:35 pst Exp $ .\" SH section heading .\" SS subsection heading .\" LP paragraph diff --git a/usr.sbin/pppd/pppd.h b/usr.sbin/pppd/pppd.h index 7fe53f4484e15..be67dda9fc5a7 100644 --- a/usr.sbin/pppd/pppd.h +++ b/usr.sbin/pppd/pppd.h @@ -16,7 +16,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: pppd.h,v 1.5 1996/03/01 19:29:43 phk Exp $ + * $Id: pppd.h,v 1.6 1996/08/11 17:29:37 pst Exp $ */ /* diff --git a/usr.sbin/pppd/sys-bsd.c b/usr.sbin/pppd/sys-bsd.c index a07bb24a7c06e..a52f1e57f080e 100644 --- a/usr.sbin/pppd/sys-bsd.c +++ b/usr.sbin/pppd/sys-bsd.c @@ -19,7 +19,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: sys-bsd.c,v 1.6 1996/03/01 19:29:44 phk Exp $"; +static char rcsid[] = "$Id: sys-bsd.c,v 1.7 1996/08/13 09:16:49 peter Exp $"; #endif /* diff --git a/usr.sbin/pppd/upap.c b/usr.sbin/pppd/upap.c index aed4a7b0e1a56..d02cf1fdffe50 100644 --- a/usr.sbin/pppd/upap.c +++ b/usr.sbin/pppd/upap.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: upap.c,v 1.6 1995/06/12 12:02:24 paulus Exp $"; +static char rcsid[] = "$Id: upap.c,v 1.4 1995/10/31 21:21:48 peter Exp $"; #endif /* diff --git a/usr.sbin/pppd/upap.h b/usr.sbin/pppd/upap.h index 8b1501964ad29..3f507af429a3d 100644 --- a/usr.sbin/pppd/upap.h +++ b/usr.sbin/pppd/upap.h @@ -16,7 +16,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: upap.h,v 1.4 1995/06/12 12:02:25 paulus Exp $ + * $Id: upap.h,v 1.3 1995/10/31 21:21:51 peter Exp $ */ /* diff --git a/usr.sbin/pppstats/Makefile b/usr.sbin/pppstats/Makefile index b1e209ee7c416..9c9e9b4fb89c5 100644 --- a/usr.sbin/pppstats/Makefile +++ b/usr.sbin/pppstats/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile.bsd,v 1.4 1995/04/28 06:23:18 paulus Exp $ +# $Id: Makefile,v 1.3 1995/10/31 21:41:56 peter Exp $ PROG= pppstats SRCS= pppstats.c diff --git a/usr.sbin/pppstats/pppstats.8 b/usr.sbin/pppstats/pppstats.8 index 91ef2744663aa..b1100fccdc7ee 100644 --- a/usr.sbin/pppstats/pppstats.8 +++ b/usr.sbin/pppstats/pppstats.8 @@ -1,4 +1,4 @@ -.\" @(#) $Id$ +.\" @(#) $Id: pppstats.8,v 1.3.2.2 1997/03/15 21:23:40 bde Exp $ .Dd May 2, 1995 .Dt PPPSTATS 8 .Sh NAME diff --git a/usr.sbin/pppstats/pppstats.c b/usr.sbin/pppstats/pppstats.c index 18bb7e6114e12..83063c0fb8ae3 100644 --- a/usr.sbin/pppstats/pppstats.c +++ b/usr.sbin/pppstats/pppstats.c @@ -37,7 +37,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: pppstats.c,v 1.11 1995/07/11 06:41:45 paulus Exp $"; +static char rcsid[] = "$Id: pppstats.c,v 1.6 1995/10/31 21:41:59 peter Exp $"; #endif #include <ctype.h> diff --git a/usr.sbin/pstat/pstat.8 b/usr.sbin/pstat/pstat.8 index 9120b31b88497..1e6cfe304877f 100644 --- a/usr.sbin/pstat/pstat.8 +++ b/usr.sbin/pstat/pstat.8 @@ -31,7 +31,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)pstat.8 8.4 (Berkeley) 4/19/94 -.\" $Id: pstat.8,v 1.9 1996/08/23 20:35:46 mpp Exp $ +.\" $Id: pstat.8,v 1.10 1996/10/27 23:12:48 alex Exp $ .\" .Dd October 7, 1995 .Dt PSTAT 8 diff --git a/usr.sbin/pw/Makefile b/usr.sbin/pw/Makefile index 8728c048c333c..39abe4c62d5d9 100644 --- a/usr.sbin/pw/Makefile +++ b/usr.sbin/pw/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1.2.1 1996/12/10 00:31:52 joerg Exp $ +# $Id: Makefile,v 1.1.1.1.2.2 1997/02/07 11:21:44 davidn Exp $ PROG= pw SRCS= pw.c pw_conf.c pw_user.c pw_group.c pw_log.c \ diff --git a/usr.sbin/pw/README b/usr.sbin/pw/README index 9302f6b5fec82..46d0461c390bc 100644 --- a/usr.sbin/pw/README +++ b/usr.sbin/pw/README @@ -18,5 +18,5 @@ other bsd4.4 variants. Author and maintainer: David L. Nugent, <davidn@blaze.net.au> -$Id$ +$Id: README,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ diff --git a/usr.sbin/pw/bitmap.c b/usr.sbin/pw/bitmap.c index 9d26464a17207..b21ad819dd561 100644 --- a/usr.sbin/pw/bitmap.c +++ b/usr.sbin/pw/bitmap.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: bitmap.c,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: bitmap.c,v 1.1.1.1.2.1 1996/12/11 00:14:06 joerg Exp $ */ #include <stdlib.h> diff --git a/usr.sbin/pw/bitmap.h b/usr.sbin/pw/bitmap.h index 712affd554a3d..62d8ecd5c30ac 100644 --- a/usr.sbin/pw/bitmap.h +++ b/usr.sbin/pw/bitmap.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: bitmap.h,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: bitmap.h,v 1.1.1.1.2.1 1996/12/11 00:14:07 joerg Exp $ */ #ifndef _BITMAP_H_ diff --git a/usr.sbin/pw/cpdir.c b/usr.sbin/pw/cpdir.c index 7a5899f38411c..7d135d91b59e9 100644 --- a/usr.sbin/pw/cpdir.c +++ b/usr.sbin/pw/cpdir.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: cpdir.c,v 1.1.1.1.2.1 1996/12/10 00:31:53 joerg Exp $ + * $Id: cpdir.c,v 1.1.1.1.2.2 1996/12/11 00:14:08 joerg Exp $ */ #include <stdio.h> diff --git a/usr.sbin/pw/edgroup.c b/usr.sbin/pw/edgroup.c index 34a22d1cddc6c..c9227d73802ff 100644 --- a/usr.sbin/pw/edgroup.c +++ b/usr.sbin/pw/edgroup.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: edgroup.c,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: edgroup.c,v 1.1.1.1.2.1 1996/12/11 00:14:08 joerg Exp $ */ #include <stdio.h> diff --git a/usr.sbin/pw/fileupd.c b/usr.sbin/pw/fileupd.c index 0abaac6d11f03..9db7f027b3da7 100644 --- a/usr.sbin/pw/fileupd.c +++ b/usr.sbin/pw/fileupd.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: fileupd.c,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: fileupd.c,v 1.1.1.1.2.1 1996/12/11 00:14:11 joerg Exp $ */ #include <stdio.h> diff --git a/usr.sbin/pw/grupd.c b/usr.sbin/pw/grupd.c index 784dbe58b0f85..e62899d9136e6 100644 --- a/usr.sbin/pw/grupd.c +++ b/usr.sbin/pw/grupd.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: grupd.c,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: grupd.c,v 1.1.1.1.2.1 1996/12/11 00:14:11 joerg Exp $ */ #include <stdio.h> diff --git a/usr.sbin/pw/psdate.c b/usr.sbin/pw/psdate.c index 9a131feb18399..8490ccf2ed8f3 100644 --- a/usr.sbin/pw/psdate.c +++ b/usr.sbin/pw/psdate.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: psdate.c,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: psdate.c,v 1.1.1.1.2.1 1996/12/11 00:14:12 joerg Exp $ */ #include <stdio.h> diff --git a/usr.sbin/pw/psdate.h b/usr.sbin/pw/psdate.h index b607087fd6007..7dacb4c0bbd64 100644 --- a/usr.sbin/pw/psdate.h +++ b/usr.sbin/pw/psdate.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: psdate.h,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: psdate.h,v 1.1.1.1.2.1 1996/12/11 00:14:12 joerg Exp $ */ #ifndef _PSDATE_H_ diff --git a/usr.sbin/pw/pw.8 b/usr.sbin/pw/pw.8 index b7621e7c4b14d..e395a73c677f8 100644 --- a/usr.sbin/pw/pw.8 +++ b/usr.sbin/pw/pw.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: pw.8,v 1.1.1.1.2.2 1996/12/11 00:14:13 joerg Exp $ +.\" $Id: pw.8,v 1.1.1.1.2.3 1997/03/06 05:34:43 mpp Exp $ .\" .Dd December 9, 1996 .Dt PW 8 diff --git a/usr.sbin/pw/pw.c b/usr.sbin/pw/pw.c index 34a37691c7c7b..8784592a9deca 100644 --- a/usr.sbin/pw/pw.c +++ b/usr.sbin/pw/pw.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pw.c,v 1.1.1.1.2.2 1996/12/11 00:14:14 joerg Exp $ + * $Id: pw.c,v 1.1.1.1.2.3 1997/02/07 11:21:45 davidn Exp $ */ #include "pw.h" diff --git a/usr.sbin/pw/pw.conf.5 b/usr.sbin/pw/pw.conf.5 index bcc297aa27854..058d6d74e2d85 100644 --- a/usr.sbin/pw/pw.conf.5 +++ b/usr.sbin/pw/pw.conf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: pw.conf.5,v 1.1.1.1.2.2 1996/12/11 00:14:14 joerg Exp $ +.\" $Id: pw.conf.5,v 1.1.1.1.2.3 1997/01/05 04:06:43 davidn Exp $ .\" .Dd December 9, 1996 .Dt PW.CONF 5 diff --git a/usr.sbin/pw/pw.h b/usr.sbin/pw/pw.h index 1dc3e15ecfe2b..194e49e502a43 100644 --- a/usr.sbin/pw/pw.h +++ b/usr.sbin/pw/pw.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pw.h,v 1.1.1.1.2.1 1996/12/10 00:31:59 joerg Exp $ + * $Id: pw.h,v 1.1.1.1.2.2 1996/12/11 00:14:15 joerg Exp $ */ #include <stdio.h> diff --git a/usr.sbin/pw/pw_conf.c b/usr.sbin/pw/pw_conf.c index 77778f31af0a0..3657c70a3a806 100644 --- a/usr.sbin/pw/pw_conf.c +++ b/usr.sbin/pw/pw_conf.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pw_conf.c,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: pw_conf.c,v 1.1.1.1.2.1 1996/12/11 00:14:15 joerg Exp $ */ #include <string.h> diff --git a/usr.sbin/pw/pw_group.c b/usr.sbin/pw/pw_group.c index e809ca81ebce7..b3e4420b12cb3 100644 --- a/usr.sbin/pw/pw_group.c +++ b/usr.sbin/pw/pw_group.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pw_group.c,v 1.1.1.1.2.2 1996/12/11 00:14:16 joerg Exp $ + * $Id: pw_group.c,v 1.1.1.1.2.3 1997/02/07 11:24:51 davidn Exp $ */ #include <unistd.h> diff --git a/usr.sbin/pw/pw_log.c b/usr.sbin/pw/pw_log.c index 753ca8ea9c5b7..008e53026dfb6 100644 --- a/usr.sbin/pw/pw_log.c +++ b/usr.sbin/pw/pw_log.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pw_log.c,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: pw_log.c,v 1.1.1.1.2.1 1996/12/11 00:14:16 joerg Exp $ */ #include <fcntl.h> diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index 51c2d615423d5..21c4b248bdef9 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pw_user.c,v 1.1.1.1.2.6 1997/01/03 06:33:15 davidn Exp $ + * $Id: pw_user.c,v 1.1.1.1.2.7 1997/02/07 11:21:46 davidn Exp $ */ #include <unistd.h> diff --git a/usr.sbin/pw/pwupd.c b/usr.sbin/pw/pwupd.c index 490c0700ab212..ad5905fc415ac 100644 --- a/usr.sbin/pw/pwupd.c +++ b/usr.sbin/pw/pwupd.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pwupd.c,v 1.1.1.1.2.2 1996/12/11 00:14:18 joerg Exp $ + * $Id: pwupd.c,v 1.1.1.1.2.3 1997/01/05 04:55:32 davidn Exp $ */ #include <stdio.h> diff --git a/usr.sbin/pw/pwupd.h b/usr.sbin/pw/pwupd.h index 54324f89dfd67..64db796fb7ab3 100644 --- a/usr.sbin/pw/pwupd.h +++ b/usr.sbin/pw/pwupd.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pwupd.h,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: pwupd.h,v 1.1.1.1.2.1 1996/12/11 00:14:19 joerg Exp $ */ #ifndef _PWUPD_H_ diff --git a/usr.sbin/pw/rm_r.c b/usr.sbin/pw/rm_r.c index 49cd5530eecaf..512386a3e0b44 100644 --- a/usr.sbin/pw/rm_r.c +++ b/usr.sbin/pw/rm_r.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rm_r.c,v 1.1.1.1 1996/12/09 14:05:35 joerg Exp $ + * $Id: rm_r.c,v 1.1.1.1.2.1 1996/12/11 00:14:19 joerg Exp $ */ #include <stdio.h> diff --git a/usr.sbin/quot/Makefile b/usr.sbin/quot/Makefile index 273a4b1302cce..64dd4ce469416 100644 --- a/usr.sbin/quot/Makefile +++ b/usr.sbin/quot/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1995/11/03 15:06:01 peter Exp $ +# $Id: Makefile,v 1.2 1995/11/03 15:20:59 peter Exp $ PROG= quot MAN8= quot.8 diff --git a/usr.sbin/quot/quot.8 b/usr.sbin/quot/quot.8 index ec5acccecc015..f3e14ab1c4dd2 100644 --- a/usr.sbin/quot/quot.8 +++ b/usr.sbin/quot/quot.8 @@ -27,7 +27,7 @@ .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: quot.8,v 1.4 1996/12/23 23:09:55 wosch Exp $ +.\" $Id: quot.8,v 1.3.4.1 1997/01/02 17:48:12 mpp Exp $ .\" .Dd February 8, 1994 .Dt QUOT 8 diff --git a/usr.sbin/quot/quot.c b/usr.sbin/quot/quot.c index db2ece7232496..4f172d84fe622 100644 --- a/usr.sbin/quot/quot.c +++ b/usr.sbin/quot/quot.c @@ -30,7 +30,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: quot.c,v 1.2 1995/11/03 15:21:04 peter Exp $"; +static char rcsid[] = "$Id: quot.c,v 1.3 1995/11/03 17:04:02 peter Exp $"; #endif /* not lint */ #include <sys/param.h> diff --git a/usr.sbin/rarpd/Makefile b/usr.sbin/rarpd/Makefile index 09605f6f6a7ea..e290aa6149124 100644 --- a/usr.sbin/rarpd/Makefile +++ b/usr.sbin/rarpd/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.8 (Berkeley) 7/28/90 -# $Id: Makefile,v 1.3 1995/04/02 01:35:53 wpaul Exp $ +# $Id: Makefile,v 1.3.6.1 1996/11/23 08:34:54 phk Exp $ PROG= rarpd MAN8= rarpd.8 diff --git a/usr.sbin/rarpd/rarpd.8 b/usr.sbin/rarpd/rarpd.8 index 7e1d858d94892..fcecabd0288a6 100644 --- a/usr.sbin/rarpd/rarpd.8 +++ b/usr.sbin/rarpd/rarpd.8 @@ -1,4 +1,4 @@ -.\" @(#) $Header: /home/ncvs/src/usr.sbin/rarpd/rarpd.8,v 1.3.2.1 1996/11/23 08:34:55 phk Exp $ (LBL) +.\" @(#) $Header: /home/ncvs/src/usr.sbin/rarpd/rarpd.8,v 1.3.2.2 1996/11/28 08:28:13 phk Exp $ (LBL) .\" .\" Copyright (c) 1990, 1991, 1993 The Regents of the University of .\" California. All rights reserved. diff --git a/usr.sbin/rarpd/rarpd.c b/usr.sbin/rarpd/rarpd.c index 99e096b4509dd..cc7b6771ab28e 100644 --- a/usr.sbin/rarpd/rarpd.c +++ b/usr.sbin/rarpd/rarpd.c @@ -26,7 +26,7 @@ The Regents of the University of California. All rights reserved.\n"; #ifndef lint static const char rcsid[] = - "@(#) $Header: /home/ncvs/src/usr.sbin/rarpd/rarpd.c,v 1.7.2.1 1996/11/23 08:34:58 phk Exp $ (LBL)"; + "@(#) $Header: /home/ncvs/src/usr.sbin/rarpd/rarpd.c,v 1.7.2.2 1996/11/28 08:28:15 phk Exp $ (LBL)"; #endif /* diff --git a/usr.sbin/rndcontrol/random.4 b/usr.sbin/rndcontrol/random.4 index eb7538399c707..4d3adae28f6c2 100644 --- a/usr.sbin/rndcontrol/random.4 +++ b/usr.sbin/rndcontrol/random.4 @@ -36,7 +36,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED .\" OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: random.4,v 1.3 1997/01/04 16:12:06 mckay Exp $ +.\" $Id: random.4,v 1.2.2.1 1997/01/08 06:38:49 mpp Exp $ .\" .Dd October 21, 1995 .Dt RANDOM 4 i386 diff --git a/usr.sbin/rndcontrol/rndcontrol.8 b/usr.sbin/rndcontrol/rndcontrol.8 index af80ef644a66f..c2f3c59179a2a 100644 --- a/usr.sbin/rndcontrol/rndcontrol.8 +++ b/usr.sbin/rndcontrol/rndcontrol.8 @@ -30,7 +30,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rndcontrol.8,v 1.3 1996/06/26 17:11:04 markm Exp $ +.\" $Id: rndcontrol.8,v 1.4 1996/08/23 00:56:36 mpp Exp $ .\" .Dd October 20, 1995 .Dt RNDCONTROL 8 diff --git a/usr.sbin/rndcontrol/rndcontrol.c b/usr.sbin/rndcontrol/rndcontrol.c index f6312b055fcbc..08f720ea7cb47 100644 --- a/usr.sbin/rndcontrol/rndcontrol.c +++ b/usr.sbin/rndcontrol/rndcontrol.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: rndcontrol.c,v 1.3 1995/12/27 11:40:47 markm Exp $ + * $Id: rndcontrol.c,v 1.4 1996/06/25 18:56:19 markm Exp $ * */ diff --git a/usr.sbin/rpc.lockd/Makefile b/usr.sbin/rpc.lockd/Makefile index e734f58437d5f..5e376d8b1fc15 100644 --- a/usr.sbin/rpc.lockd/Makefile +++ b/usr.sbin/rpc.lockd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1996/02/17 15:11:28 peter Exp $ +# $Id: Makefile,v 1.2 1996/04/01 05:29:57 peter Exp $ PROG = rpc.lockd SRCS = nlm_prot_svc.c lockd.c procs.c diff --git a/usr.sbin/rpc.statd/Makefile b/usr.sbin/rpc.statd/Makefile index 69ceb7ff46ce8..68f906d4c2192 100644 --- a/usr.sbin/rpc.statd/Makefile +++ b/usr.sbin/rpc.statd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1996/04/01 05:36:03 peter Exp $ +# $Id: Makefile,v 1.3 1996/07/09 22:40:39 nate Exp $ PROG = rpc.statd SRCS = file.c sm_inter_svc.c statd.c procs.c diff --git a/usr.sbin/rpc.yppasswdd/Makefile b/usr.sbin/rpc.yppasswdd/Makefile index 5da11cab4a264..b145cb8fb51d0 100644 --- a/usr.sbin/rpc.yppasswdd/Makefile +++ b/usr.sbin/rpc.yppasswdd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1996/06/06 20:47:53 wpaul Exp $ +# $Id: Makefile,v 1.5 1996/09/05 17:15:27 bde Exp $ PROG= rpc.yppasswdd SRCS= pw_copy.c pw_util.c util.c yppasswd_svc.c yp_error.c ypxfr_misc.c \ diff --git a/usr.sbin/rpc.yppasswdd/rpc.yppasswdd.8 b/usr.sbin/rpc.yppasswdd/rpc.yppasswdd.8 index 0d343c04a5e4f..85654d1f63d72 100644 --- a/usr.sbin/rpc.yppasswdd/rpc.yppasswdd.8 +++ b/usr.sbin/rpc.yppasswdd/rpc.yppasswdd.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rpc.yppasswdd.8,v 1.7 1997/02/22 16:12:53 peter Exp $ +.\" $Id: rpc.yppasswdd.8,v 1.4.2.1 1997/03/06 08:00:02 mpp Exp $ .\" .Dd February 8, 1996 .Dt RPC.YPPASSWDD 8 diff --git a/usr.sbin/rpc.yppasswdd/yppasswd_comm.c b/usr.sbin/rpc.yppasswdd/yppasswd_comm.c index be1b8c57e6f8d..a048496ae611b 100644 --- a/usr.sbin/rpc.yppasswdd/yppasswd_comm.c +++ b/usr.sbin/rpc.yppasswdd/yppasswd_comm.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yppasswd_comm.c,v 1.1.1.1 1996/02/12 15:09:01 wpaul Exp $ + * $Id: yppasswd_comm.c,v 1.1.1.1.2.1 1996/11/15 18:25:51 peter Exp $ */ /* @@ -73,7 +73,7 @@ #include "ypxfr_extern.h" #ifndef lint -static const char rcsid[] = "$Id: yppasswd_comm.c,v 1.1.1.1 1996/02/12 15:09:01 wpaul Exp $"; +static const char rcsid[] = "$Id: yppasswd_comm.c,v 1.1.1.1.2.1 1996/11/15 18:25:51 peter Exp $"; #endif char *sockname = "/var/run/ypsock"; diff --git a/usr.sbin/rpc.yppasswdd/yppasswd_comm.h b/usr.sbin/rpc.yppasswdd/yppasswd_comm.h index 36d0b45611512..7037f0299802d 100644 --- a/usr.sbin/rpc.yppasswdd/yppasswd_comm.h +++ b/usr.sbin/rpc.yppasswdd/yppasswd_comm.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yppasswd_comm.h,v 1.2 1996/01/27 20:42:38 wpaul Exp $ + * $Id: yppasswd_comm.h,v 1.1.1.1 1996/02/12 15:09:01 wpaul Exp $ */ #include "yppasswd_private.h" diff --git a/usr.sbin/rpc.yppasswdd/yppasswd_private.x b/usr.sbin/rpc.yppasswdd/yppasswd_private.x index 2f5e1b5aefbcb..7c89cd05e71e2 100644 --- a/usr.sbin/rpc.yppasswdd/yppasswd_private.x +++ b/usr.sbin/rpc.yppasswdd/yppasswd_private.x @@ -29,12 +29,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yppasswd_private.x,v 1.2 1996/01/25 16:14:48 wpaul Exp $ + * $Id: yppasswd_private.x,v 1.1.1.1 1996/02/12 15:09:01 wpaul Exp $ */ #ifndef RPC_HDR %#ifndef lint -%static const char rcsid[] = "$Id: yppasswd_private.x,v 1.2 1996/01/25 16:14:48 wpaul Exp $"; +%static const char rcsid[] = "$Id: yppasswd_private.x,v 1.1.1.1 1996/02/12 15:09:01 wpaul Exp $"; %#endif /* not lint */ #endif diff --git a/usr.sbin/rpc.yppasswdd/yppasswdd_extern.h b/usr.sbin/rpc.yppasswdd/yppasswdd_extern.h index 405bb5c099085..b70509baab9e3 100644 --- a/usr.sbin/rpc.yppasswdd/yppasswdd_extern.h +++ b/usr.sbin/rpc.yppasswdd/yppasswdd_extern.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yppasswdd_extern.h,v 1.4 1996/06/23 22:44:03 wpaul Exp $ + * $Id: yppasswdd_extern.h,v 1.5 1996/07/01 19:38:35 guido Exp $ */ #include <sys/types.h> diff --git a/usr.sbin/rpc.yppasswdd/yppasswdd_main.c b/usr.sbin/rpc.yppasswdd/yppasswdd_main.c index 817c53864d770..4609db6e200ac 100644 --- a/usr.sbin/rpc.yppasswdd/yppasswdd_main.c +++ b/usr.sbin/rpc.yppasswdd/yppasswdd_main.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yppasswdd_main.c,v 1.6 1996/10/23 15:42:37 wpaul Exp $ + * $Id: yppasswdd_main.c,v 1.6.2.1 1996/11/16 21:20:40 phk Exp $ */ #include "yppasswd.h" @@ -72,7 +72,7 @@ struct dom_binding {}; #define _RPCSVC_CLOSEDOWN 120 #ifndef lint -static const char rcsid[] = "$Id: yppasswdd_main.c,v 1.6 1996/10/23 15:42:37 wpaul Exp $"; +static const char rcsid[] = "$Id: yppasswdd_main.c,v 1.6.2.1 1996/11/16 21:20:40 phk Exp $"; #endif /* not lint */ int _rpcpmstart = 0; /* Started by a port monitor ? */ static int _rpcfdtype; diff --git a/usr.sbin/rpc.yppasswdd/yppasswdd_server.c b/usr.sbin/rpc.yppasswdd/yppasswdd_server.c index 2841eb77c2031..dda71a17a9be0 100644 --- a/usr.sbin/rpc.yppasswdd/yppasswdd_server.c +++ b/usr.sbin/rpc.yppasswdd/yppasswdd_server.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yppasswdd_server.c,v 1.9 1996/10/23 21:46:17 wpaul Exp $ + * $Id: yppasswdd_server.c,v 1.9.2.1 1996/11/16 21:20:42 phk Exp $ */ #include <stdio.h> @@ -61,7 +61,7 @@ struct dom_binding {}; #include "yppasswd_comm.h" #ifndef lint -static const char rcsid[] = "$Id: yppasswdd_server.c,v 1.9 1996/10/23 21:46:17 wpaul Exp $"; +static const char rcsid[] = "$Id: yppasswdd_server.c,v 1.9.2.1 1996/11/16 21:20:42 phk Exp $"; #endif /* not lint */ char *tempname; diff --git a/usr.sbin/rpc.yppasswdd/yppwupdate b/usr.sbin/rpc.yppasswdd/yppwupdate index a2352ee13a845..5c71aedb65a5d 100644 --- a/usr.sbin/rpc.yppasswdd/yppwupdate +++ b/usr.sbin/rpc.yppasswdd/yppwupdate @@ -8,7 +8,7 @@ # # Comment out the LOG=yes line to disable logging. # -# $Id: yppwupdate,v 1.4 1996/11/04 23:54:01 wosch Exp $ +# $Id: yppwupdate,v 1.3.2.1 1996/11/05 20:17:01 phk Exp $ # PATH=/bin:/usr/bin; export PATH diff --git a/usr.sbin/rpc.ypxfrd/Makefile b/usr.sbin/rpc.ypxfrd/Makefile index 7a56a82fb3ed7..3693f3aaa3657 100644 --- a/usr.sbin/rpc.ypxfrd/Makefile +++ b/usr.sbin/rpc.ypxfrd/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1996/06/06 03:59:22 wpaul Exp $ +# $Id: Makefile,v 1.3 1996/09/05 17:15:32 bde Exp $ PROG= rpc.ypxfrd SRCS= ypxfrd_svc.c ypxfrd_server.c yp_error.c \ diff --git a/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8 b/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8 index c7c1ea5ed40c5..39dfe3a0fb6c2 100644 --- a/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8 +++ b/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rpc.ypxfrd.8,v 1.1.1.1 1996/06/05 04:36:54 wpaul Exp $ +.\" $Id: rpc.ypxfrd.8,v 1.1.1.1.2.1 1997/02/05 07:39:50 tg Exp $ .\" .Dd June 2, 1996 .Dt RPC.YPXFRD 8 diff --git a/usr.sbin/rpc.ypxfrd/ypxfrd_extern.h b/usr.sbin/rpc.ypxfrd/ypxfrd_extern.h index 6c7aeae8f1610..af4eade3eb799 100644 --- a/usr.sbin/rpc.ypxfrd/ypxfrd_extern.h +++ b/usr.sbin/rpc.ypxfrd/ypxfrd_extern.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypxfrd_extern.h,v 1.3 1996/06/02 17:24:20 wpaul Exp $ + * $Id: ypxfrd_extern.h,v 1.1.1.1 1996/06/05 04:36:54 wpaul Exp $ */ #ifndef MAX_CHILDREN diff --git a/usr.sbin/rpc.ypxfrd/ypxfrd_main.c b/usr.sbin/rpc.ypxfrd/ypxfrd_main.c index 09f2520206b24..1d2a55f167c4c 100644 --- a/usr.sbin/rpc.ypxfrd/ypxfrd_main.c +++ b/usr.sbin/rpc.ypxfrd/ypxfrd_main.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypxfrd_main.c,v 1.4 1996/06/04 04:27:47 wpaul Exp $ + * $Id: ypxfrd_main.c,v 1.1.1.1 1996/06/05 04:36:54 wpaul Exp $ */ #include "ypxfrd.h" @@ -60,7 +60,7 @@ #define _RPCSVC_CLOSEDOWN 120 #ifndef lint -static const char rcsid[] = "$Id: ypxfrd_main.c,v 1.4 1996/06/04 04:27:47 wpaul Exp $"; +static const char rcsid[] = "$Id: ypxfrd_main.c,v 1.1.1.1 1996/06/05 04:36:54 wpaul Exp $"; #endif /* not lint */ int _rpcpmstart; /* Started by a port monitor ? */ static int _rpcfdtype; diff --git a/usr.sbin/rpc.ypxfrd/ypxfrd_server.c b/usr.sbin/rpc.ypxfrd/ypxfrd_server.c index d1f5e66af0e29..2cb5bc22908bb 100644 --- a/usr.sbin/rpc.ypxfrd/ypxfrd_server.c +++ b/usr.sbin/rpc.ypxfrd/ypxfrd_server.c @@ -29,12 +29,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ypxfrd_server.c,v 1.6 1996/07/04 02:23:11 wpaul Exp $ + * $Id: ypxfrd_server.c,v 1.2 1996/07/04 02:29:54 wpaul Exp $ */ #include "ypxfrd.h" #ifndef lint -static const char rcsid[] = "$Id: ypxfrd_server.c,v 1.6 1996/07/04 02:23:11 wpaul Exp $"; +static const char rcsid[] = "$Id: ypxfrd_server.c,v 1.2 1996/07/04 02:29:54 wpaul Exp $"; #endif /* not lint */ #include <stdio.h> diff --git a/usr.sbin/rtprio/Makefile b/usr.sbin/rtprio/Makefile index 0b41ac9a726db..a79db7cc47d97 100644 --- a/usr.sbin/rtprio/Makefile +++ b/usr.sbin/rtprio/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.5 (Berkeley) 5/11/90 -# $Id: Makefile,v 1.2 1994/10/02 04:48:18 davidg Exp $ +# $Id: Makefile,v 1.3 1995/08/06 00:58:52 bde Exp $ BINDIR=/usr/sbin PROG= rtprio diff --git a/usr.sbin/rtprio/rtprio.1 b/usr.sbin/rtprio/rtprio.1 index 4aedc99be6845..4994db20d8d69 100644 --- a/usr.sbin/rtprio/rtprio.1 +++ b/usr.sbin/rtprio/rtprio.1 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: rtprio.1,v 1.11 1997/03/07 07:45:17 mpp Exp $ +.\" $Id: rtprio.1,v 1.6.2.2 1997/03/07 07:45:39 mpp Exp $ .\" .Dd July 23, 1994 .Dt RTPRIO 1 diff --git a/usr.sbin/rtprio/rtprio.c b/usr.sbin/rtprio/rtprio.c index ab4d08513fb83..28e86259cb8df 100644 --- a/usr.sbin/rtprio/rtprio.c +++ b/usr.sbin/rtprio/rtprio.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: rtprio.c,v 1.2 1994/10/02 04:48:21 davidg Exp $ */ #include <sys/param.h> diff --git a/usr.sbin/sa/Makefile b/usr.sbin/sa/Makefile index 76670e5ad93af..cb9a16395b920 100644 --- a/usr.sbin/sa/Makefile +++ b/usr.sbin/sa/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1994/09/26 21:22:55 davidg Exp $ +# $Id: Makefile,v 1.2 1994/09/26 21:41:05 davidg Exp $ PROG= sa MAN8= sa.8 diff --git a/usr.sbin/sa/extern.h b/usr.sbin/sa/extern.h index 6d5291458d9df..d27c6ab64b9f0 100644 --- a/usr.sbin/sa/extern.h +++ b/usr.sbin/sa/extern.h @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: extern.h,v 1.1 1994/03/24 18:41:50 cgd Exp $ + * $Id: extern.h,v 1.1.1.1 1994/09/26 21:22:56 davidg Exp $ */ #include <sys/types.h> diff --git a/usr.sbin/sa/main.c b/usr.sbin/sa/main.c index ebe491eea1036..54a196e7d8a13 100644 --- a/usr.sbin/sa/main.c +++ b/usr.sbin/sa/main.c @@ -33,7 +33,7 @@ static char copright[] = "@(#) Copyright (c) 1994 Christopher G. Demetriou\n\ All rights reserved.\n"; -static char rcsid[] = "$Id: main.c,v 1.2 1995/05/30 03:51:39 rgrimes Exp $"; +static char rcsid[] = "$Id: main.c,v 1.3 1996/01/22 09:02:01 mpp Exp $"; #endif /* diff --git a/usr.sbin/sa/pathnames.h b/usr.sbin/sa/pathnames.h index 31721c25fcd2d..9124399ce56e4 100644 --- a/usr.sbin/sa/pathnames.h +++ b/usr.sbin/sa/pathnames.h @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pathnames.h,v 1.1 1994/03/24 18:41:53 cgd Exp $ + * $Id: pathnames.h,v 1.1.1.1 1994/09/26 21:22:56 davidg Exp $ */ #define _PATH_ACCT "/var/account/acct" diff --git a/usr.sbin/sa/pdb.c b/usr.sbin/sa/pdb.c index 8a41591cfd7e5..797f0f734f3b5 100644 --- a/usr.sbin/sa/pdb.c +++ b/usr.sbin/sa/pdb.c @@ -29,7 +29,7 @@ */ #ifndef LINT -static char rcsid[] = "$Id: pdb.c,v 1.2 1995/05/30 03:51:41 rgrimes Exp $"; +static char rcsid[] = "$Id: pdb.c,v 1.3 1996/01/22 09:02:06 mpp Exp $"; #endif #include <sys/types.h> diff --git a/usr.sbin/sa/sa.8 b/usr.sbin/sa/sa.8 index 034f77eda2faf..6f99d4d6a6f32 100644 --- a/usr.sbin/sa/sa.8 +++ b/usr.sbin/sa/sa.8 @@ -27,7 +27,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id: sa.8,v 1.7 1997/02/22 16:13:12 peter Exp $ +.\" $Id: sa.8,v 1.4.2.1 1997/03/06 08:00:10 mpp Exp $ .\" .Dd February 25, 1994 .Dt SA 8 diff --git a/usr.sbin/sa/usrdb.c b/usr.sbin/sa/usrdb.c index 1d19c45c5c007..f920b3434b377 100644 --- a/usr.sbin/sa/usrdb.c +++ b/usr.sbin/sa/usrdb.c @@ -29,7 +29,7 @@ */ #ifndef LINT -static char rcsid[] = "$Id: usrdb.c,v 1.2 1995/05/30 03:51:42 rgrimes Exp $"; +static char rcsid[] = "$Id: usrdb.c,v 1.3 1996/01/22 09:02:08 mpp Exp $"; #endif #include <sys/types.h> diff --git a/usr.sbin/sendmail/cf/README b/usr.sbin/sendmail/cf/README index 66c5917f83732..25ef8dab6249c 100644 --- a/usr.sbin/sendmail/cf/README +++ b/usr.sbin/sendmail/cf/README @@ -1278,7 +1278,7 @@ Sam Leffler's FlexFAX software is still in beta test -- but he expects a public version out "later this week" [as of 3/1/93]. The following blurb is direct from Sam: - $Header: /home/ncvs/src/usr.sbin/sendmail/cf/README,v 1.1.1.6 1997/01/27 07:36:30 peter Exp $ + $Header: /home/ncvs/src/usr.sbin/sendmail/cf/README,v 1.1.1.4.2.2 1997/02/05 07:28:49 peter Exp $ How To Obtain This Software (in case all you get is this file) -------------------------------------------------------------- diff --git a/usr.sbin/sendmail/cf/cf/freebsd.mc b/usr.sbin/sendmail/cf/cf/freebsd.mc index b608878a8f0ee..f686cb9c005fd 100644 --- a/usr.sbin/sendmail/cf/cf/freebsd.mc +++ b/usr.sbin/sendmail/cf/cf/freebsd.mc @@ -42,7 +42,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`@(#)freebsd.mc $Revision: 1.3 $') +VERSIONID(`@(#)freebsd.mc $Revision: 1.1.4.3 $') OSTYPE(bsd4.4)dnl DOMAIN(generic)dnl MAILER(local)dnl diff --git a/usr.sbin/sendmail/cf/cf/freefall.mc b/usr.sbin/sendmail/cf/cf/freefall.mc index bc3684de65fe6..456416bceb191 100644 --- a/usr.sbin/sendmail/cf/cf/freefall.mc +++ b/usr.sbin/sendmail/cf/cf/freefall.mc @@ -34,7 +34,7 @@ divert(-1) # divert(0)dnl -VERSIONID(`@(#)freefall.mc $Revision: 1.8.2.3 $') +VERSIONID(`@(#)freefall.mc $Revision: 1.8.2.4 $') OSTYPE(bsd4.4)dnl DOMAIN(generic)dnl MAILER(local)dnl diff --git a/usr.sbin/sendmail/contrib/bsdi.mc b/usr.sbin/sendmail/contrib/bsdi.mc index 231a7bc77ac67..9a3b44efa0ab2 100644 --- a/usr.sbin/sendmail/contrib/bsdi.mc +++ b/usr.sbin/sendmail/contrib/bsdi.mc @@ -35,7 +35,7 @@ and examples describing most of the common things people need to setup. # See /usr/share/sendmail/README for help in building a configuration file. # include(`../m4/cf.m4') -VERSIONID(`@(#)$Id$') +VERSIONID(`@(#)$Id: bsdi.mc,v 1.1.1.1.4.2 1997/03/06 07:54:09 mpp Exp $') dnl # Specify your OS type below OSTYPE(`bsd4.4') diff --git a/usr.sbin/sendmail/contrib/expn.pl b/usr.sbin/sendmail/contrib/expn.pl index 270f483bc6f33..243729853866a 100755 --- a/usr.sbin/sendmail/contrib/expn.pl +++ b/usr.sbin/sendmail/contrib/expn.pl @@ -13,7 +13,7 @@ $sockaddr = 'S n a4 x8'; # system requirements: # must have 'nslookup' and 'hostname' programs. -# $Header: /home/muir/bin/RCS/expn,v 3.9 1995/10/02 17:51:35 muir Exp muir $ +# $Header: /home/ncvs/src/usr.sbin/sendmail/contrib/expn.pl,v 1.1.1.2 1995/12/02 17:30:09 peter Exp $ # TODO: # less magic should apply to command-line addresses diff --git a/usr.sbin/sendmail/contrib/re-mqueue.pl b/usr.sbin/sendmail/contrib/re-mqueue.pl index 9a8f8b467f139..0aaf2b23128d9 100644 --- a/usr.sbin/sendmail/contrib/re-mqueue.pl +++ b/usr.sbin/sendmail/contrib/re-mqueue.pl @@ -84,7 +84,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# @(#)$Id$ +# @(#)$Id: re-mqueue.pl,v 1.1.1.1.2.2 1997/03/06 07:54:10 mpp Exp $ require "syslog.pl"; diff --git a/usr.sbin/sendmail/mail.local/mail.local.8 b/usr.sbin/sendmail/mail.local/mail.local.8 index d92ba00431f70..713320ba7341a 100644 --- a/usr.sbin/sendmail/mail.local/mail.local.8 +++ b/usr.sbin/sendmail/mail.local/mail.local.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mail.local.8 8.2 (Berkeley) 12/11/93 -.\" $Id$ +.\" $Id: mail.local.8,v 1.3.2.2 1997/03/06 07:54:15 mpp Exp $ .\" .Dd December 11, 1993 .Dt MAIL.LOCAL 8 diff --git a/usr.sbin/sendmail/mail.local/mail.local.c b/usr.sbin/sendmail/mail.local/mail.local.c index 9c5300ad7eb91..307f8c43157ba 100644 --- a/usr.sbin/sendmail/mail.local/mail.local.c +++ b/usr.sbin/sendmail/mail.local/mail.local.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: mail.local.c,v 1.3.2.4 1997/03/06 07:54:15 mpp Exp $ */ #ifndef lint diff --git a/usr.sbin/sendmail/mailstats/mailstats.8 b/usr.sbin/sendmail/mailstats/mailstats.8 index 9da1b5dc1b707..69ccce81eb97f 100644 --- a/usr.sbin/sendmail/mailstats/mailstats.8 +++ b/usr.sbin/sendmail/mailstats/mailstats.8 @@ -29,7 +29,7 @@ .\" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" * SUCH DAMAGE. .\" */ -.\" $Id$ +.\" $Id: mailstats.8,v 1.2.2.2 1997/03/06 07:54:17 mpp Exp $ .Dd August 13, 1996 .Dt MAILSTATS 8 .Os diff --git a/usr.sbin/sendmail/rmail/Makefile b/usr.sbin/sendmail/rmail/Makefile index 731e81c985f6e..9305aef0cd5b8 100644 --- a/usr.sbin/sendmail/rmail/Makefile +++ b/usr.sbin/sendmail/rmail/Makefile @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $Id$ +# $Id: Makefile,v 1.2.2.2 1997/03/06 07:54:18 mpp Exp $ PROG= rmail MAN8= rmail.8 diff --git a/usr.sbin/sendmail/rmail/rmail.c b/usr.sbin/sendmail/rmail/rmail.c index 7a33f5473c3bf..8f48bee5b9545 100644 --- a/usr.sbin/sendmail/rmail/rmail.c +++ b/usr.sbin/sendmail/rmail/rmail.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: rmail.c,v 1.2.2.2 1997/03/06 07:54:19 mpp Exp $ */ #ifndef lint diff --git a/usr.sbin/sgsc/Makefile b/usr.sbin/sgsc/Makefile index a25675dfb88a2..5152824d42296 100644 --- a/usr.sbin/sgsc/Makefile +++ b/usr.sbin/sgsc/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1.1.1 1995/01/07 14:17:22 jkh Exp $ PROG= sgsc diff --git a/usr.sbin/sicontrol/sicontrol.8 b/usr.sbin/sicontrol/sicontrol.8 index 14e87181711ff..1ab16180b5869 100644 --- a/usr.sbin/sicontrol/sicontrol.8 +++ b/usr.sbin/sicontrol/sicontrol.8 @@ -1,4 +1,4 @@ -.\" $Id: sicontrol.8,v 1.6 1997/02/22 16:13:30 peter Exp $ +.\" $Id: sicontrol.8,v 1.3.2.1 1997/03/06 08:00:16 mpp Exp $ .\" The following requests are required for all man pages. .Dd September 26,1995 .Dt SICONTROL 8 diff --git a/usr.sbin/sicontrol/sicontrol.c b/usr.sbin/sicontrol/sicontrol.c index 4044f2d299190..1db88459d7560 100644 --- a/usr.sbin/sicontrol/sicontrol.c +++ b/usr.sbin/sicontrol/sicontrol.c @@ -30,7 +30,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN * NO EVENT SHALL THE AUTHORS BE LIABLE. * - * $Id: sicontrol.c,v 1.3 1995/08/22 00:41:05 peter Exp $ + * $Id: sicontrol.c,v 1.4 1995/10/01 03:13:33 peter Exp $ */ #include <stdio.h> diff --git a/usr.sbin/slstat/Makefile b/usr.sbin/slstat/Makefile index cd9436baa8a79..7edf887bf58e5 100644 --- a/usr.sbin/slstat/Makefile +++ b/usr.sbin/slstat/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.6 (Berkeley) 4/23/91 -# $Id: Makefile,v 1.3 1996/09/05 17:15:39 bde Exp $ +# $Id: Makefile,v 1.4 1996/10/11 18:47:08 wollman Exp $ PROG= slstat MAN8= slstat.8 diff --git a/usr.sbin/slstat/slstat.8 b/usr.sbin/slstat/slstat.8 index 3f6d88b1dace6..9d6a0159c845a 100644 --- a/usr.sbin/slstat/slstat.8 +++ b/usr.sbin/slstat/slstat.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)slstat.8 6.8 (Berkeley) 6/20/91 -.\" $Id: slstat.8,v 1.10 1997/02/22 16:13:33 peter Exp $ +.\" $Id: slstat.8,v 1.6.2.2 1997/03/06 08:00:20 mpp Exp $ .\" .Dd October 11, 1996 .Dt SLSTAT 8 diff --git a/usr.sbin/slstat/slstat.c b/usr.sbin/slstat/slstat.c index 53e1bac634971..0f9f2b3476885 100644 --- a/usr.sbin/slstat/slstat.c +++ b/usr.sbin/slstat/slstat.c @@ -23,7 +23,7 @@ #ifndef lint static const char rcsid[] = - "$Id: slstat.c,v 1.6.2.1 1996/11/05 20:17:27 phk Exp $"; + "$Id: slstat.c,v 1.6.2.2 1996/11/12 09:11:51 phk Exp $"; #endif #include <sys/param.h> diff --git a/usr.sbin/spkrtest/spkrtest.8 b/usr.sbin/spkrtest/spkrtest.8 index 9981d2d5c7fe6..5a12a9c25587c 100644 --- a/usr.sbin/spkrtest/spkrtest.8 +++ b/usr.sbin/spkrtest/spkrtest.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: spkrtest.8,v 1.5 1997/02/22 16:13:36 peter Exp $ +.\" $Id: spkrtest.8,v 1.2.2.1 1997/03/06 08:00:22 mpp Exp $ .Dd May, 1995 .Dt SPKRTEST 8 diff --git a/usr.sbin/spkrtest/spkrtest.pl b/usr.sbin/spkrtest/spkrtest.pl index 37a8578d0c84c..d4acba400c2f2 100644 --- a/usr.sbin/spkrtest/spkrtest.pl +++ b/usr.sbin/spkrtest/spkrtest.pl @@ -32,7 +32,7 @@ # # NOTE for iso-* (latin1) fonts: use TERM=cons25-iso8859-1 # -# $Id: spkrtest.pl,v 1.2 1996/07/02 23:35:21 wosch Exp $ +# $Id: spkrtest.pl,v 1.3 1996/08/27 20:04:42 wosch Exp $ $title = qq{ reveille -- Reveille diff --git a/usr.sbin/spray/Makefile b/usr.sbin/spray/Makefile index a46a58af4484c..5b9f1f449e280 100644 --- a/usr.sbin/spray/Makefile +++ b/usr.sbin/spray/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1996/01/05 09:09:30 graichen Exp $ +# $Id: Makefile,v 1.2 1996/09/05 17:15:44 bde Exp $ PROG= spray MAN8= spray.8 diff --git a/usr.sbin/spray/spray.c b/usr.sbin/spray/spray.c index 607abc15b3fa8..20c8678cd48c0 100644 --- a/usr.sbin/spray/spray.c +++ b/usr.sbin/spray/spray.c @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: spray.c,v 1.3 1994/12/23 16:42:47 cgd Exp $ + * $Id: spray.c,v 1.1.1.1 1996/01/05 09:09:30 graichen Exp $ */ #include <stdio.h> diff --git a/usr.sbin/stallion/Makefile b/usr.sbin/stallion/Makefile index 44c3b639d6762..b77c7eac9b729 100644 --- a/usr.sbin/stallion/Makefile +++ b/usr.sbin/stallion/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/05/04 08:02:00 peter Exp $ SUBDIR= bootcode stlload stlstats diff --git a/usr.sbin/stallion/Makefile.inc b/usr.sbin/stallion/Makefile.inc index 53b9b3e6a00bb..645a9772db419 100644 --- a/usr.sbin/stallion/Makefile.inc +++ b/usr.sbin/stallion/Makefile.inc @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1996/05/04 08:02:01 peter Exp $ BOOTDIR= /usr/libdata/stallion diff --git a/usr.sbin/stallion/bootcode/Makefile b/usr.sbin/stallion/bootcode/Makefile index 35f3c8fdc1a7e..2ffe8005c5c19 100644 --- a/usr.sbin/stallion/bootcode/Makefile +++ b/usr.sbin/stallion/bootcode/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1996/05/04 08:02:10 peter Exp $ +# $Id: Makefile,v 1.2 1996/05/05 07:40:46 peter Exp $ FILES = 2681.sys cdk.sys diff --git a/usr.sbin/stallion/stlload/Makefile b/usr.sbin/stallion/stlload/Makefile index 99142f234a49b..42e15a15d1bcb 100644 --- a/usr.sbin/stallion/stlload/Makefile +++ b/usr.sbin/stallion/stlload/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/05/04 08:02:21 peter Exp $ PROG= stlload NOMAN= #oops diff --git a/usr.sbin/stallion/stlload/stlload.c b/usr.sbin/stallion/stlload/stlload.c index 7f62779612967..c2876d81cec72 100644 --- a/usr.sbin/stallion/stlload/stlload.c +++ b/usr.sbin/stallion/stlload/stlload.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: stlload.c,v 1.2 1996/05/04 08:02:23 peter Exp $ */ /*****************************************************************************/ diff --git a/usr.sbin/stallion/stlstats/Makefile b/usr.sbin/stallion/stlstats/Makefile index 347b4e99f3116..3c200e52325e2 100644 --- a/usr.sbin/stallion/stlstats/Makefile +++ b/usr.sbin/stallion/stlstats/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1996/05/04 08:02:28 peter Exp $ PROG= stlstats NOMAN= #oops diff --git a/usr.sbin/stallion/stlstats/stlstats.c b/usr.sbin/stallion/stlstats/stlstats.c index e6e304f97f26f..0a767bf61bb57 100644 --- a/usr.sbin/stallion/stlstats/stlstats.c +++ b/usr.sbin/stallion/stlstats/stlstats.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: stlstats.c,v 1.2 1996/05/04 08:02:31 peter Exp $ */ /*****************************************************************************/ diff --git a/usr.sbin/sup/Makefile b/usr.sbin/sup/Makefile index e8c32f5339872..a353cf69ac59f 100644 --- a/usr.sbin/sup/Makefile +++ b/usr.sbin/sup/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.3 1995/12/26 05:15:12 peter Exp $ SUBDIR= lib sup supscan supfilesrv diff --git a/usr.sbin/sup/Makefile.inc b/usr.sbin/sup/Makefile.inc index 2ecf884239342..aaf8a1ffb6a72 100644 --- a/usr.sbin/sup/Makefile.inc +++ b/usr.sbin/sup/Makefile.inc @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1995/12/26 05:15:12 peter Exp $ .if exists(${.CURDIR}/../../Makefile.inc) .include "${.CURDIR}/../../Makefile.inc" diff --git a/usr.sbin/sup/lib/Makefile b/usr.sbin/sup/lib/Makefile index f6b7326f64843..90eeb474568f7 100644 --- a/usr.sbin/sup/lib/Makefile +++ b/usr.sbin/sup/lib/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1995/12/26 22:32:21 peter Exp $ +# $Id: Makefile,v 1.3 1996/01/04 16:10:36 peter Exp $ LIB= sup SRCS= scm.c scmio.c stree.c log.c supmsg.c netcrypt.c atoo.c errmsg.c \ diff --git a/usr.sbin/sup/lib/libc.h b/usr.sbin/sup/lib/libc.h index 0e59542a4e680..03ec69d28d6cb 100644 --- a/usr.sbin/sup/lib/libc.h +++ b/usr.sbin/sup/lib/libc.h @@ -26,6 +26,9 @@ ********************************************************************** * HISTORY * $Log: libc.h,v $ + * Revision 1.3 1995/12/26 22:32:22 peter + * get rid of non-applicable files... + * * Revision 1.2 1995/12/26 05:02:45 peter * Apply ports/net/sup/patches/patch-aa... * diff --git a/usr.sbin/sup/lib/log.c b/usr.sbin/sup/lib/log.c index 2974b4aab1311..280ad91bb12b8 100644 --- a/usr.sbin/sup/lib/log.c +++ b/usr.sbin/sup/lib/log.c @@ -27,6 +27,9 @@ ********************************************************************** * HISTORY * $Log: log.c,v $ + * Revision 1.2 1995/12/26 05:02:46 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:47 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/lib/netcryptvoid.c b/usr.sbin/sup/lib/netcryptvoid.c index 9dd3c78724866..c56ac721e10cc 100644 --- a/usr.sbin/sup/lib/netcryptvoid.c +++ b/usr.sbin/sup/lib/netcryptvoid.c @@ -25,6 +25,11 @@ /********************************************************************** * HISTORY * $Log: netcryptvoid.c,v $ + * Revision 1.1.1.1 1995/12/26 04:54:47 peter + * Import the unmodified version of the sup that we are using. + * The heritage of this version is not clear. It appears to be NetBSD + * derived from some time ago. + * * Revision 1.1.1.1 1993/08/21 00:46:33 jkh * Current sup with compression support. * diff --git a/usr.sbin/sup/lib/quit.c b/usr.sbin/sup/lib/quit.c index 23b4cb7a5e760..d403a636a6ea8 100644 --- a/usr.sbin/sup/lib/quit.c +++ b/usr.sbin/sup/lib/quit.c @@ -36,6 +36,11 @@ ********************************************************************** * HISTORY * $Log: quit.c,v $ + * Revision 1.1.1.1 1995/12/26 04:54:47 peter + * Import the unmodified version of the sup that we are using. + * The heritage of this version is not clear. It appears to be NetBSD + * derived from some time ago. + * * Revision 1.1.1.1 1993/08/21 00:46:33 jkh * Current sup with compression support. * diff --git a/usr.sbin/sup/lib/run.c b/usr.sbin/sup/lib/run.c index 0e9a581beeb57..2e53c94243875 100644 --- a/usr.sbin/sup/lib/run.c +++ b/usr.sbin/sup/lib/run.c @@ -47,6 +47,9 @@ ********************************************************************** * HISTORY * $Log: run.c,v $ + * Revision 1.2 1995/12/26 05:02:47 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:47 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/lib/scan.c b/usr.sbin/sup/lib/scan.c index 0823e4d1e45ee..cdd5ab90dec78 100644 --- a/usr.sbin/sup/lib/scan.c +++ b/usr.sbin/sup/lib/scan.c @@ -28,6 +28,12 @@ ********************************************************************** * HISTORY * $Log: scan.c,v $ + * Revision 1.4 1996/09/24 08:08:11 bde + * Eliminated includes of the "temporary" backwards compatibility header + * <sys/dir.h> in applications. Maintained existing (inadequate) ifdefs + * for dir.h vs dirent.h in libdialog, amd and rarpd, but didn't add any + * new ones. + * * Revision 1.3 1995/12/26 05:10:59 peter * Apply ports/net/sup/patches/patch-ab * diff --git a/usr.sbin/sup/lib/scm.c b/usr.sbin/sup/lib/scm.c index bbfe943365a46..204103b5e7400 100644 --- a/usr.sbin/sup/lib/scm.c +++ b/usr.sbin/sup/lib/scm.c @@ -69,6 +69,15 @@ * since Tahoe version of <netinet/in.h> does not define them. * * $Log: scm.c,v $ + * Revision 1.3 1996/09/06 16:08:32 peter + * Turn on SO_KEEPALIVE on network connections. Since we limit the number + * of connections, we cannot afford to allow "disappeared" client to cause + * us to leave one of the 14 connections open and hanging in a read() forever. + * + * (SO_KEEPALIVE causes probe packets to be sent after a few hours of IDLE + * time where no data has been transferred. Sup should NEVER do this, so the + * only time it will have an effect is if it looses the remote machine) + * * Revision 1.2 1995/12/26 05:02:49 peter * Apply ports/net/sup/patches/patch-aa... * diff --git a/usr.sbin/sup/lib/scmio.c b/usr.sbin/sup/lib/scmio.c index 713ceefabcb25..85f6efa834ce9 100644 --- a/usr.sbin/sup/lib/scmio.c +++ b/usr.sbin/sup/lib/scmio.c @@ -109,6 +109,9 @@ ********************************************************************** * HISTORY * $Log: scmio.c,v $ + * Revision 1.2 1995/12/26 05:02:50 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:47 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/lib/stree.c b/usr.sbin/sup/lib/stree.c index 5b094308ae5be..c64ea14a87881 100644 --- a/usr.sbin/sup/lib/stree.c +++ b/usr.sbin/sup/lib/stree.c @@ -28,6 +28,9 @@ ********************************************************************** * HISTORY * $Log: stree.c,v $ + * Revision 1.2 1995/12/26 05:02:51 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:47 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/lib/sup.h b/usr.sbin/sup/lib/sup.h index 12f03c3da9013..972d3226b28fe 100644 --- a/usr.sbin/sup/lib/sup.h +++ b/usr.sbin/sup/lib/sup.h @@ -39,6 +39,9 @@ * across the network to save BandWidth * * $Log: sup.h,v $ + * Revision 1.2 1995/12/26 05:02:52 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:47 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/lib/supmsg.c b/usr.sbin/sup/lib/supmsg.c index b12c945462f57..1877689ea79d6 100644 --- a/usr.sbin/sup/lib/supmsg.c +++ b/usr.sbin/sup/lib/supmsg.c @@ -31,6 +31,9 @@ * across the network to save BandWidth * * $Log: supmsg.c,v $ + * Revision 1.2 1995/12/26 05:02:53 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:47 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/lib/supmsg.h b/usr.sbin/sup/lib/supmsg.h index e6185c486ba01..986c9755c2b73 100644 --- a/usr.sbin/sup/lib/supmsg.h +++ b/usr.sbin/sup/lib/supmsg.h @@ -33,6 +33,9 @@ * across the network to save BandWidth * * $Log: supmsg.h,v $ + * Revision 1.2 1995/12/26 05:02:54 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:47 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/sup/Makefile b/usr.sbin/sup/sup/Makefile index 4a372ce75e010..92e3fc032c9f0 100644 --- a/usr.sbin/sup/sup/Makefile +++ b/usr.sbin/sup/sup/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1996/06/24 04:25:57 jkh Exp $ +# $Id: Makefile,v 1.5 1996/09/05 17:15:48 bde Exp $ PROG= sup SRCS= supcmain.c supcvers.c supcparse.c supcname.c supcmisc.c supcmeat.c diff --git a/usr.sbin/sup/sup/sup.1 b/usr.sbin/sup/sup/sup.1 index b464a7cd24871..c3ab6a7ec058e 100644 --- a/usr.sbin/sup/sup/sup.1 +++ b/usr.sbin/sup/sup/sup.1 @@ -23,6 +23,15 @@ .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" HISTORY .\" $Log: sup.1,v $ +.\" Revision 1.4 1996/01/04 16:10:42 peter +.\" Restore the changes I made after my last brain hiccup... +.\" +.\" Document /var/log/sup.rename instead of the old name +.\" Couple of lib build cleanups (like, not installing the library, and clean +.\" all files) +.\" +.\" It should be safe now.. :-) +.\" .\" Revision 1.3 1995/12/26 05:11:04 peter .\" Apply ports/net/sup/patches/patch-ab .\" diff --git a/usr.sbin/sup/sup/supcdefs.h b/usr.sbin/sup/sup/supcdefs.h index dface51f6d138..a9a3cacdc4691 100644 --- a/usr.sbin/sup/sup/supcdefs.h +++ b/usr.sbin/sup/sup/supcdefs.h @@ -33,6 +33,9 @@ * across the network to save BandWidth * * $Log: supcdefs.h,v $ + * Revision 1.2 1995/12/26 05:03:03 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:46 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/sup/supcmain.c b/usr.sbin/sup/sup/supcmain.c index 47fb9b5478a63..f75682c0fabb4 100644 --- a/usr.sbin/sup/sup/supcmain.c +++ b/usr.sbin/sup/sup/supcmain.c @@ -174,6 +174,9 @@ * across the network to save BandWidth * * $Log: supcmain.c,v $ + * Revision 1.2 1995/12/26 05:03:04 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:46 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/sup/supcmeat.c b/usr.sbin/sup/sup/supcmeat.c index 27d987629c265..aaf7b3a636586 100644 --- a/usr.sbin/sup/sup/supcmeat.c +++ b/usr.sbin/sup/sup/supcmeat.c @@ -32,6 +32,12 @@ * across the network to save BandWidth * * $Log: supcmeat.c,v $ + * Revision 1.3 1996/10/30 23:58:07 ache + * 1) print only errors if -v not given, it allows non-verbose + * crontab runnig + * 2) use full path /usr/bin/mail for security reasons + * 3) Use time_t instead of long for time (in one place) + * * Revision 1.2 1995/12/26 05:03:05 peter * Apply ports/net/sup/patches/patch-aa... * diff --git a/usr.sbin/sup/sup/supcmisc.c b/usr.sbin/sup/sup/supcmisc.c index 5c3f69af88201..57de2107d50e9 100644 --- a/usr.sbin/sup/sup/supcmisc.c +++ b/usr.sbin/sup/sup/supcmisc.c @@ -27,6 +27,10 @@ ********************************************************************** * HISTORY * $Log: supcmisc.c,v $ + * Revision 1.3 1996/10/31 00:03:14 ache + * Oops, don't suppress initial output header (from previous commit), + * it is superfluous + * * Revision 1.2 1996/10/30 23:58:08 ache * 1) print only errors if -v not given, it allows non-verbose * crontab runnig diff --git a/usr.sbin/sup/sup/supcname.c b/usr.sbin/sup/sup/supcname.c index 6e645bad17f46..aebcd88844d8a 100644 --- a/usr.sbin/sup/sup/supcname.c +++ b/usr.sbin/sup/sup/supcname.c @@ -27,6 +27,11 @@ ********************************************************************** * HISTORY * $Log: supcname.c,v $ + * Revision 1.1.1.1 1995/12/26 04:54:46 peter + * Import the unmodified version of the sup that we are using. + * The heritage of this version is not clear. It appears to be NetBSD + * derived from some time ago. + * * Revision 1.1.1.1 1993/08/21 00:46:34 jkh * Current sup with compression support. * diff --git a/usr.sbin/sup/sup/supcparse.c b/usr.sbin/sup/sup/supcparse.c index 82aefd9038a88..5308fba853b78 100644 --- a/usr.sbin/sup/sup/supcparse.c +++ b/usr.sbin/sup/sup/supcparse.c @@ -32,6 +32,9 @@ * across the network to save BandWidth * * $Log: supcparse.c,v $ + * Revision 1.2 1995/12/26 05:03:06 peter + * Apply ports/net/sup/patches/patch-aa... + * * Revision 1.1.1.1 1995/12/26 04:54:46 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/sup/supcvers.c b/usr.sbin/sup/sup/supcvers.c index 5e47f4a092ee4..7415e02ea4fd9 100644 --- a/usr.sbin/sup/sup/supcvers.c +++ b/usr.sbin/sup/sup/supcvers.c @@ -26,6 +26,11 @@ ********************************************************************** * HISTORY * $Log: supcvers.c,v $ + * Revision 1.1.1.1 1995/12/26 04:54:46 peter + * Import the unmodified version of the sup that we are using. + * The heritage of this version is not clear. It appears to be NetBSD + * derived from some time ago. + * * Revision 1.1.1.1 1993/08/21 00:46:34 jkh * Current sup with compression support. * diff --git a/usr.sbin/sup/supfilesrv/Makefile b/usr.sbin/sup/supfilesrv/Makefile index 52ac4bda8cf34..ac50a684354dd 100644 --- a/usr.sbin/sup/supfilesrv/Makefile +++ b/usr.sbin/sup/supfilesrv/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1996/06/24 04:25:59 jkh Exp $ +# $Id: Makefile,v 1.5 1996/09/05 17:15:54 bde Exp $ PROG= supfilesrv SRCS= supfilesrv.c diff --git a/usr.sbin/sup/supfilesrv/supfilesrv.c b/usr.sbin/sup/supfilesrv/supfilesrv.c index e348c3bd9ed24..830828861340a 100644 --- a/usr.sbin/sup/supfilesrv/supfilesrv.c +++ b/usr.sbin/sup/supfilesrv/supfilesrv.c @@ -42,6 +42,11 @@ * across the network to save BandWidth * * $Log: supfilesrv.c,v $ + * Revision 1.6 1996/09/24 08:43:04 bde + * Really eliminated includes of the "temporary" backwards compatibility + * header <sys/dir.h> in applications. My previous sweep didn't find the + * places that included it without needing it. + * * Revision 1.5 1996/09/06 15:40:08 peter * Rewrite part of the compression support so that it does not leave * files in /var/tmp. Sup needs to send the file size, so that diff --git a/usr.sbin/sup/supfilesrv/supservers.8 b/usr.sbin/sup/supfilesrv/supservers.8 index c0f848854a94f..5a4f0b6314b8e 100644 --- a/usr.sbin/sup/supfilesrv/supservers.8 +++ b/usr.sbin/sup/supfilesrv/supservers.8 @@ -23,6 +23,9 @@ .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" HISTORY .\" $Log: supservers.8,v $ +.\" Revision 1.2 1995/12/26 05:11:05 peter +.\" Apply ports/net/sup/patches/patch-ab +.\" .\" Revision 1.1.1.1 1995/12/26 04:54:48 peter .\" Import the unmodified version of the sup that we are using. .\" The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sup/supscan/Makefile b/usr.sbin/sup/supscan/Makefile index 7c2a6aaba087b..9002ed053614c 100644 --- a/usr.sbin/sup/supscan/Makefile +++ b/usr.sbin/sup/supscan/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.2 1996/06/24 04:26:03 jkh Exp $ +# $Id: Makefile,v 1.3 1996/09/05 17:16:06 bde Exp $ PROG= supscan SRCS= supscan.c diff --git a/usr.sbin/sup/supscan/supscan.c b/usr.sbin/sup/supscan/supscan.c index fb7a0b969d3ba..2a3121720e9f2 100644 --- a/usr.sbin/sup/supscan/supscan.c +++ b/usr.sbin/sup/supscan/supscan.c @@ -41,6 +41,9 @@ ********************************************************************** * HISTORY * $Log: supscan.c,v $ + * Revision 1.2 1995/12/26 05:11:06 peter + * Apply ports/net/sup/patches/patch-ab + * * Revision 1.1.1.1 1995/12/26 04:54:48 peter * Import the unmodified version of the sup that we are using. * The heritage of this version is not clear. It appears to be NetBSD diff --git a/usr.sbin/sysctl/sysctl.8 b/usr.sbin/sysctl/sysctl.8 index 3c20dd81db420..3c9c5f39f720c 100644 --- a/usr.sbin/sysctl/sysctl.8 +++ b/usr.sbin/sysctl/sysctl.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 -.\" $Id: sysctl.8,v 1.9 1996/08/23 00:56:57 mpp Exp $ +.\" $Id: sysctl.8,v 1.10 1996/09/28 14:43:03 bde Exp $ .\" .Dd September 23, 1994 .Dt SYSCTL 8 diff --git a/usr.sbin/sysctl/sysctl.c b/usr.sbin/sysctl/sysctl.c index 373d42e36640b..acbb60b5bab3e 100644 --- a/usr.sbin/sysctl/sysctl.c +++ b/usr.sbin/sysctl/sysctl.c @@ -40,7 +40,7 @@ static char copyright[] = #ifndef lint /*static char sccsid[] = "From: @(#)sysctl.c 8.1 (Berkeley) 6/6/93"; */ static const char rcsid[] = - "$Id: sysctl.c,v 1.9 1995/12/21 12:39:25 phk Exp $"; + "$Id: sysctl.c,v 1.10 1996/04/10 00:53:22 smpatel Exp $"; #endif /* not lint */ #include <sys/types.h> diff --git a/usr.sbin/syslogd/syslogd.8 b/usr.sbin/syslogd/syslogd.8 index 6714512a4241d..94fbbfc3ea802 100644 --- a/usr.sbin/syslogd/syslogd.8 +++ b/usr.sbin/syslogd/syslogd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)syslogd.8 8.1 (Berkeley) 6/6/93 -.\" $Id: syslogd.8,v 1.8 1997/02/22 16:14:00 peter Exp $ +.\" $Id: syslogd.8,v 1.6.2.1 1997/03/06 08:00:27 mpp Exp $ .\" .Dd October 12, 1995 .Dt SYSLOGD 8 diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index a40e0e493df2e..df3f967af3e0f 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -39,7 +39,7 @@ static const char copyright[] = static char sccsid[] = "@(#)syslogd.c 8.3 (Berkeley) 4/4/94"; */ static const char rcsid[] = - "$Id: syslogd.c,v 1.12.2.4 1997/03/02 14:59:49 joerg Exp $"; + "$Id: syslogd.c,v 1.12.2.5 1997/03/14 01:35:16 joerg Exp $"; #endif /* not lint */ /* diff --git a/usr.sbin/tcpdump/tcpdump/Makefile b/usr.sbin/tcpdump/tcpdump/Makefile index 6eab4041ec50d..121ca862972d1 100644 --- a/usr.sbin/tcpdump/tcpdump/Makefile +++ b/usr.sbin/tcpdump/tcpdump/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.13 1996/08/20 05:44:01 pst Exp $ +# $Id: Makefile,v 1.14 1996/08/21 16:50:15 pst Exp $ PROG= tcpdump CFLAGS+=-DHAVE_FCNTL_H=1 -DHAVE_NET_SLIP_H=1 -DTIME_WITH_SYS_TIME=1 \ diff --git a/usr.sbin/tcpdump/tcpslice/gwtm2secs.c b/usr.sbin/tcpdump/tcpslice/gwtm2secs.c index 51ea19427dfaa..d2fcec772efc1 100644 --- a/usr.sbin/tcpdump/tcpslice/gwtm2secs.c +++ b/usr.sbin/tcpdump/tcpslice/gwtm2secs.c @@ -20,7 +20,7 @@ */ #if !defined(lint) && !defined(__GNUC__) static char rcsid[] = - "@(#)$Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/gwtm2secs.c,v 1.2 1995/03/08 12:53:38 olah Exp $ (LBL)"; + "@(#)$Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/gwtm2secs.c,v 1.3 1995/08/23 05:18:56 pst Exp $ (LBL)"; #endif /* diff --git a/usr.sbin/tcpdump/tcpslice/search.c b/usr.sbin/tcpdump/tcpslice/search.c index b54615883b52a..db74797c1156e 100644 --- a/usr.sbin/tcpdump/tcpslice/search.c +++ b/usr.sbin/tcpdump/tcpslice/search.c @@ -20,7 +20,7 @@ */ #if !defined(lint) && !defined(__GNUC__) static char rcsid[] = - "@(#)$Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/search.c,v 1.2 1995/03/08 12:53:39 olah Exp $ (LBL)"; + "@(#)$Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/search.c,v 1.3 1995/08/23 05:18:57 pst Exp $ (LBL)"; #endif /* diff --git a/usr.sbin/tcpdump/tcpslice/tcpslice.1 b/usr.sbin/tcpdump/tcpslice/tcpslice.1 index 184e8e5b3b005..c9370fbe6b317 100644 --- a/usr.sbin/tcpdump/tcpslice/tcpslice.1 +++ b/usr.sbin/tcpdump/tcpslice/tcpslice.1 @@ -1,4 +1,4 @@ -.\" @(#) $Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/tcpslice.1,v 1.3 1995/03/08 12:53:39 olah Exp $ (LBL) +.\" @(#) $Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/tcpslice.1,v 1.4 1995/05/14 15:21:36 gpalmer Exp $ (LBL) .\" .\" Copyright (c) 1988-1990 The Regents of the University of California. .\" All rights reserved. diff --git a/usr.sbin/tcpdump/tcpslice/tcpslice.c b/usr.sbin/tcpdump/tcpslice/tcpslice.c index 2c807f677d26a..2c75bea46a522 100644 --- a/usr.sbin/tcpdump/tcpslice/tcpslice.c +++ b/usr.sbin/tcpdump/tcpslice/tcpslice.c @@ -22,7 +22,7 @@ char copyright[] = "@(#) Copyright (c) 1987-1990 The Regents of the University of California.\nAll rights reserved.\n"; static char rcsid[] = - "@(#)$Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/tcpslice.c,v 1.2 1995/03/08 12:53:40 olah Exp $ (LBL)"; + "@(#)$Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/tcpslice.c,v 1.3 1995/08/23 05:18:59 pst Exp $ (LBL)"; #endif /* diff --git a/usr.sbin/tcpdump/tcpslice/util.c b/usr.sbin/tcpdump/tcpslice/util.c index 6596f6ec843d7..f53c97953ed31 100644 --- a/usr.sbin/tcpdump/tcpslice/util.c +++ b/usr.sbin/tcpdump/tcpslice/util.c @@ -21,7 +21,7 @@ #if !defined(lint) && !defined(__GNUC__) static char rcsid[] = - "@(#) $Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/util.c,v 1.1 1995/03/08 12:53:42 olah Exp $ (LBL)"; + "@(#) $Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/util.c,v 1.2 1995/08/23 05:19:00 pst Exp $ (LBL)"; #endif #include "tcpslice.h" diff --git a/usr.sbin/timed/timed/acksend.c b/usr.sbin/timed/timed/acksend.c index c84f52de46d07..fda2ed78ce11d 100644 --- a/usr.sbin/timed/timed/acksend.c +++ b/usr.sbin/timed/timed/acksend.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)acksend.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.6 $" +#ident "$Revision: 1.1.1.1 $" #endif #include "globals.h" diff --git a/usr.sbin/timed/timed/byteorder.c b/usr.sbin/timed/timed/byteorder.c index deb4d0eb035c6..68cec290405a1 100644 --- a/usr.sbin/timed/timed/byteorder.c +++ b/usr.sbin/timed/timed/byteorder.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)byteorder.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.1.1.1 $" +#ident "$Revision: 1.2 $" #endif #include "globals.h" diff --git a/usr.sbin/timed/timed/candidate.c b/usr.sbin/timed/timed/candidate.c index 38700bc45d870..c4ccd0ffa347b 100644 --- a/usr.sbin/timed/timed/candidate.c +++ b/usr.sbin/timed/timed/candidate.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)candidate.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.1.1.1 $" +#ident "$Revision: 1.2 $" #endif #include "globals.h" diff --git a/usr.sbin/timed/timed/cksum.c b/usr.sbin/timed/timed/cksum.c index 3d15af3cf1a01..6abd45dee1147 100644 --- a/usr.sbin/timed/timed/cksum.c +++ b/usr.sbin/timed/timed/cksum.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)cksum.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.3 $" +#ident "$Revision: 1.1.1.1 $" #endif #include <sys/types.h> diff --git a/usr.sbin/timed/timed/correct.c b/usr.sbin/timed/timed/correct.c index 569d2e1ddac37..a280ed3c5aa4d 100644 --- a/usr.sbin/timed/timed/correct.c +++ b/usr.sbin/timed/timed/correct.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)correct.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.16 $" +#ident "$Revision: 1.1.1.1 $" #endif #include "globals.h" diff --git a/usr.sbin/timed/timed/globals.h b/usr.sbin/timed/timed/globals.h index 92aed3ee7c781..4c6df62554757 100644 --- a/usr.sbin/timed/timed/globals.h +++ b/usr.sbin/timed/timed/globals.h @@ -34,7 +34,7 @@ */ #ifdef sgi -#ident "$Revision: 1.15 $" +#ident "$Revision: 1.1.1.1 $" #endif #include <sys/param.h> diff --git a/usr.sbin/timed/timed/master.c b/usr.sbin/timed/timed/master.c index 1de737da8d3bd..777e37749f1f3 100644 --- a/usr.sbin/timed/timed/master.c +++ b/usr.sbin/timed/timed/master.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)master.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.1.1.1 $" +#ident "$Revision: 1.2 $" #endif #include "globals.h" diff --git a/usr.sbin/timed/timed/measure.c b/usr.sbin/timed/timed/measure.c index 2b49eaa4ed8d3..3fe2bfec736f2 100644 --- a/usr.sbin/timed/timed/measure.c +++ b/usr.sbin/timed/timed/measure.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)measure.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.2 $" +#ident "$Revision: 1.3 $" #endif #include "globals.h" diff --git a/usr.sbin/timed/timed/networkdelta.c b/usr.sbin/timed/timed/networkdelta.c index d64640ae02e29..fc18d4a39497d 100644 --- a/usr.sbin/timed/timed/networkdelta.c +++ b/usr.sbin/timed/timed/networkdelta.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)networkdelta.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.4 $" +#ident "$Revision: 1.1.1.1 $" #endif #include "globals.h" diff --git a/usr.sbin/timed/timed/readmsg.c b/usr.sbin/timed/timed/readmsg.c index 3e8f4d255a61a..e0a1315c2b8b3 100644 --- a/usr.sbin/timed/timed/readmsg.c +++ b/usr.sbin/timed/timed/readmsg.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)readmsg.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.17 $" +#ident "$Revision: 1.1.1.1 $" #endif #include "globals.h" diff --git a/usr.sbin/timed/timed/slave.c b/usr.sbin/timed/timed/slave.c index 7c71d7ab4985c..adedb35eef5f3 100644 --- a/usr.sbin/timed/timed/slave.c +++ b/usr.sbin/timed/timed/slave.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)slave.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.1.1.1 $" +#ident "$Revision: 1.2 $" #endif #include "globals.h" diff --git a/usr.sbin/timed/timed/timed.c b/usr.sbin/timed/timed/timed.c index e134a27b472e9..ce66b5db77afd 100644 --- a/usr.sbin/timed/timed/timed.c +++ b/usr.sbin/timed/timed/timed.c @@ -42,7 +42,7 @@ static char sccsid[] = "@(#)timed.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.1.1.1 $" +#ident "$Revision: 1.2 $" #endif /* sgi */ #define TSPTYPES diff --git a/usr.sbin/timed/timedc/cmds.c b/usr.sbin/timed/timedc/cmds.c index 9e0aa21288e11..acaf8d24428e9 100644 --- a/usr.sbin/timed/timedc/cmds.c +++ b/usr.sbin/timed/timedc/cmds.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)cmds.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.10 $" +#ident "$Revision: 1.2 $" #endif #include "timedc.h" diff --git a/usr.sbin/timed/timedc/timedc.c b/usr.sbin/timed/timedc/timedc.c index 02d086a8ad8b1..14c5a5024fed5 100644 --- a/usr.sbin/timed/timedc/timedc.c +++ b/usr.sbin/timed/timedc/timedc.c @@ -42,7 +42,7 @@ static char sccsid[] = "@(#)timedc.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ #ifdef sgi -#ident "$Revision: 1.6 $" +#ident "$Revision: 1.1.1.1 $" #endif #include "timedc.h" diff --git a/usr.sbin/traceroute/Makefile b/usr.sbin/traceroute/Makefile index 6d6bba365d14e..93f08f73dadd5 100644 --- a/usr.sbin/traceroute/Makefile +++ b/usr.sbin/traceroute/Makefile @@ -1,4 +1,4 @@ -# $Id: $ +# $Id: Makefile,v 1.5 1996/09/30 19:49:14 fenner Exp $ PROG= traceroute MAN8= traceroute.8 diff --git a/usr.sbin/tzsetup/Makefile b/usr.sbin/tzsetup/Makefile index 25ca3ffae2409..90060339b4359 100644 --- a/usr.sbin/tzsetup/Makefile +++ b/usr.sbin/tzsetup/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.4 1996/09/04 22:25:35 bde Exp $ +# $Id: Makefile,v 1.4.2.1 1996/11/28 22:07:05 phk Exp $ PROG= tzsetup MAN8= tzsetup.8 diff --git a/usr.sbin/tzsetup/tzsetup.8 b/usr.sbin/tzsetup/tzsetup.8 index f7ca949d84a81..643cb99930e69 100644 --- a/usr.sbin/tzsetup/tzsetup.8 +++ b/usr.sbin/tzsetup/tzsetup.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: tzsetup.8,v 1.6 1997/02/22 16:14:05 peter Exp $ +.\" $Id: tzsetup.8,v 1.3.2.1 1997/03/06 08:00:38 mpp Exp $ .Dd Jan 1996 .Dt TZSETUP 8 diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index 558932bae18d9..19b5455cea698 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: tzsetup.c,v 1.2.2.2 1997/02/16 23:51:21 jkh Exp $ + * $Id: tzsetup.c,v 1.2.2.3 1997/03/10 20:35:46 jkh Exp $ */ /* diff --git a/usr.sbin/vidcontrol/decode.c b/usr.sbin/vidcontrol/decode.c index d1046c5956c9c..c6f0c34a2484f 100644 --- a/usr.sbin/vidcontrol/decode.c +++ b/usr.sbin/vidcontrol/decode.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: decode.c,v 1.2 1995/01/28 22:18:02 sos Exp $ + * $Id: decode.c,v 1.3 1995/05/30 03:52:52 rgrimes Exp $ */ #include <stdio.h> diff --git a/usr.sbin/vidcontrol/vidcontrol.c b/usr.sbin/vidcontrol/vidcontrol.c index 294cb0c7d8335..c1258bc2a13d9 100644 --- a/usr.sbin/vidcontrol/vidcontrol.c +++ b/usr.sbin/vidcontrol/vidcontrol.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: vidcontrol.c,v 1.12 1996/06/21 07:20:13 sos Exp $ + * $Id: vidcontrol.c,v 1.13 1996/07/03 22:06:12 gpalmer Exp $ */ #include <ctype.h> diff --git a/usr.sbin/vnconfig/Makefile b/usr.sbin/vnconfig/Makefile index 2d73db99fbcf9..56ef7925e9776 100644 --- a/usr.sbin/vnconfig/Makefile +++ b/usr.sbin/vnconfig/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/12/04 20:12:24 phk Exp $ +# $Id: Makefile,v 1.2 1996/02/02 06:14:09 wosch Exp $ PROG= vnconfig MAN8= vnconfig.8 diff --git a/usr.sbin/watch/Makefile b/usr.sbin/watch/Makefile index 12e44fcfb2824..b70843f8c9ee8 100644 --- a/usr.sbin/watch/Makefile +++ b/usr.sbin/watch/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.5 1996/09/02 23:38:58 peter Exp $ PROG= watch MAN8= watch.8 diff --git a/usr.sbin/wormcontrol/wormcontrol.8 b/usr.sbin/wormcontrol/wormcontrol.8 index 6706b1a2905ed..68eb618d4e757 100644 --- a/usr.sbin/wormcontrol/wormcontrol.8 +++ b/usr.sbin/wormcontrol/wormcontrol.8 @@ -32,7 +32,7 @@ .\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $Id: wormcontrol.8,v 1.7 1997/02/22 16:14:11 peter Exp $ +.\" $Id: wormcontrol.8,v 1.3.2.2 1997/03/06 08:00:45 mpp Exp $ .\" .\" arrgh, hilit19 needs this" :-( .Dd Jan 27, 1996 diff --git a/usr.sbin/wormcontrol/wormcontrol.c b/usr.sbin/wormcontrol/wormcontrol.c index a29a797f916d4..da781f3c726b9 100644 --- a/usr.sbin/wormcontrol/wormcontrol.c +++ b/usr.sbin/wormcontrol/wormcontrol.c @@ -32,7 +32,7 @@ * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. * - * $Id$ + * $Id: wormcontrol.c,v 1.1.1.1.2.1 1997/03/10 20:56:34 joerg Exp $ * */ diff --git a/usr.sbin/xntpd/Makefile b/usr.sbin/xntpd/Makefile index 962e64a41bf0e..33c2234d6e06b 100644 --- a/usr.sbin/xntpd/Makefile +++ b/usr.sbin/xntpd/Makefile @@ -1,6 +1,6 @@ # # Makefile for xntpd. -# $Id: Makefile,v 1.3 1994/02/03 22:30:30 wollman Exp $ +# $Id: Makefile,v 1.4 1994/09/29 23:43:54 wollman Exp $ # SUBDIR= lib parse xntpd xntpdc ntpq ntpdate ntptrace authstuff util diff --git a/usr.sbin/xntpd/README.FreeBSD b/usr.sbin/xntpd/README.FreeBSD index 798a685f77404..773a1f334d602 100644 --- a/usr.sbin/xntpd/README.FreeBSD +++ b/usr.sbin/xntpd/README.FreeBSD @@ -1,4 +1,4 @@ - $Id: README.FreeBSD,v 1.7 1994/04/21 21:10:20 wollman Exp $ + $Id: README.FreeBSD,v 1.8 1994/09/29 23:43:55 wollman Exp $ This version of NTP was converted to the BSD-style Makefile system by Garrett Wollman (wollman@FreeBSD.org); it is based on version diff --git a/usr.sbin/xntpd/authstuff/Makefile b/usr.sbin/xntpd/authstuff/Makefile index 902848f375df1..6719ce557be78 100644 --- a/usr.sbin/xntpd/authstuff/Makefile +++ b/usr.sbin/xntpd/authstuff/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.2 1993/12/22 11:32:10 rgrimes Exp $ +# $Id: Makefile,v 1.3 1996/06/24 04:26:10 jkh Exp $ # # Most of the programs in this directory are completely useless for the # NTP configuration that we provide by default. diff --git a/usr.sbin/xntpd/clockstuff/Makefile b/usr.sbin/xntpd/clockstuff/Makefile index 425d79d1ddaae..91084f1ade429 100644 --- a/usr.sbin/xntpd/clockstuff/Makefile +++ b/usr.sbin/xntpd/clockstuff/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.1 1993/12/21 21:06:24 wollman Exp $ +# $Id: Makefile,v 1.2 1994/09/15 20:55:44 bde Exp $ # PROG= propdelay diff --git a/usr.sbin/xntpd/doc/tickadj.8 b/usr.sbin/xntpd/doc/tickadj.8 index 4ee458f74131b..2aa95399ad288 100644 --- a/usr.sbin/xntpd/doc/tickadj.8 +++ b/usr.sbin/xntpd/doc/tickadj.8 @@ -1,4 +1,4 @@ -''' $Id$ +''' $Id: tickadj.8,v 1.2 1996/10/05 22:27:28 wosch Exp $ ''' .de Sh .br diff --git a/usr.sbin/xntpd/kernel/chuinit.c b/usr.sbin/xntpd/kernel/chuinit.c index 80b36a9a6e107..e1b7cb0513560 100644 --- a/usr.sbin/xntpd/kernel/chuinit.c +++ b/usr.sbin/xntpd/kernel/chuinit.c @@ -1,7 +1,7 @@ /* ** dynamically loadable chu driver ** -** $Header: /home/ncvs/src/usr.sbin/xntpd/kernel/chuinit.c,v 1.1.1.1 1994/09/29 23:02:42 wollman Exp $ +** $Header: /home/ncvs/src/usr.sbin/xntpd/kernel/chuinit.c,v 1.2 1995/05/30 03:53:30 rgrimes Exp $ ** ** william robertson <rob@agate.berkeley.edu> */ diff --git a/usr.sbin/xntpd/kernel/clkinit.c b/usr.sbin/xntpd/kernel/clkinit.c index b8fe4563bf0f2..3e3df50c38fa0 100644 --- a/usr.sbin/xntpd/kernel/clkinit.c +++ b/usr.sbin/xntpd/kernel/clkinit.c @@ -1,7 +1,7 @@ /* ** dynamically loadable clk driver ** -** $Header: /home/ncvs/src/usr.sbin/xntpd/kernel/clkinit.c,v 1.1.1.1 1994/09/29 23:02:47 wollman Exp $ +** $Header: /home/ncvs/src/usr.sbin/xntpd/kernel/clkinit.c,v 1.2 1995/05/30 03:53:31 rgrimes Exp $ ** ** william robertson <rob@agate.berkeley.edu> */ diff --git a/usr.sbin/xntpd/lib/Makefile b/usr.sbin/xntpd/lib/Makefile index 32c6a4a964cc0..0d90c6b2d762b 100644 --- a/usr.sbin/xntpd/lib/Makefile +++ b/usr.sbin/xntpd/lib/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.5 1994/04/03 20:37:05 wollman Exp $ +# $Id: Makefile,v 1.6 1995/03/23 19:13:04 wollman Exp $ # CFLAGS+= -I${.CURDIR}/../include diff --git a/usr.sbin/xntpd/lib/machines.c b/usr.sbin/xntpd/lib/machines.c index 1d1cbc92faa43..4996081020b5f 100644 --- a/usr.sbin/xntpd/lib/machines.c +++ b/usr.sbin/xntpd/lib/machines.c @@ -2,7 +2,7 @@ * * Real bummers unite ! * - * $Id:$ + * $Id: machines.c,v 1.1.1.3 1994/09/29 23:03:36 wollman Exp $ */ #include "ntp_stdlib.h" diff --git a/usr.sbin/xntpd/ntpdate/Makefile b/usr.sbin/xntpd/ntpdate/Makefile index d1a9dd96e5587..6babbd3c44c6e 100644 --- a/usr.sbin/xntpd/ntpdate/Makefile +++ b/usr.sbin/xntpd/ntpdate/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.4 1994/10/03 23:51:17 phk Exp $ +# $Id: Makefile,v 1.5 1996/06/24 04:26:11 jkh Exp $ # CFLAGS+= -I${.CURDIR}/../include diff --git a/usr.sbin/xntpd/ntpq/Makefile b/usr.sbin/xntpd/ntpq/Makefile index 4ba9f07fb7033..c2bcf3259e112 100644 --- a/usr.sbin/xntpd/ntpq/Makefile +++ b/usr.sbin/xntpd/ntpq/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.4 1994/10/03 23:51:22 phk Exp $ +# $Id: Makefile,v 1.5 1996/06/24 04:26:13 jkh Exp $ # CFLAGS+= -I${.CURDIR}/../include diff --git a/usr.sbin/xntpd/ntptrace/Makefile b/usr.sbin/xntpd/ntptrace/Makefile index 1334dfd5b6817..ee5219e40047e 100644 --- a/usr.sbin/xntpd/ntptrace/Makefile +++ b/usr.sbin/xntpd/ntptrace/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.3 1994/10/03 23:51:26 phk Exp $ +# $Id: Makefile,v 1.4 1996/06/24 04:26:14 jkh Exp $ # CFLAGS+= -I${.CURDIR}/../include diff --git a/usr.sbin/xntpd/parse/Makefile b/usr.sbin/xntpd/parse/Makefile index 1a46fbe2bdb4e..69983c7cfff00 100644 --- a/usr.sbin/xntpd/parse/Makefile +++ b/usr.sbin/xntpd/parse/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.1 1993/12/21 19:42:18 wollman Exp $ +# $Id: Makefile,v 1.1 1993/12/21 20:04:14 wollman Exp $ # PARSEFLAGS= -DCLOCK_SCHMID -DCLOCK_DCF7000 -DCLOCK_MEINBERG \ diff --git a/usr.sbin/xntpd/parse/clk_trimtaip.c b/usr.sbin/xntpd/parse/clk_trimtaip.c index 87538f1eb8a1a..96fccba452ab0 100644 --- a/usr.sbin/xntpd/parse/clk_trimtaip.c +++ b/usr.sbin/xntpd/parse/clk_trimtaip.c @@ -1,6 +1,6 @@ #if defined(REFCLOCK) && (defined(PARSE) || defined(PARSEPPS)) && defined(CLOCK_TRIMTAIP) /* - * $Header: /src/NTP/REPOSITORY/v3/parse/clk_trimble.c,v 3.9 1994/02/02 17:45:27 kardel Exp $ + * $Header: /home/ncvs/src/usr.sbin/xntpd/parse/clk_trimtaip.c,v 1.1.1.1 1994/09/29 23:01:31 wollman Exp $ * * Trimble SV6 clock support */ @@ -108,7 +108,10 @@ cvt_trimtaip(buffer, size, format, clock) /* * History: * - * $Log: clk_trimble.c,v $ + * $Log: clk_trimtaip.c,v $ + * Revision 1.1.1.1 1994/09/29 23:01:31 wollman + * xntp 3.4e from Dave Mills @ UDel + * * Revision 3.9 1994/02/02 17:45:27 kardel * rcs ids fixed * diff --git a/usr.sbin/xntpd/parse/clk_trimtsip.c b/usr.sbin/xntpd/parse/clk_trimtsip.c index 422fac1412ecf..789b3412fe281 100644 --- a/usr.sbin/xntpd/parse/clk_trimtsip.c +++ b/usr.sbin/xntpd/parse/clk_trimtsip.c @@ -1,6 +1,6 @@ #if defined(REFCLOCK) && (defined(PARSE) || defined(PARSEPPS)) && defined(CLOCK_TRIMTSIP) /* - * $Header: /home/ncvs/src/usr.sbin/xntpd/parse/clk_trimtsip.c,v 1.1.1.1 1994/09/29 23:01:31 wollman Exp $ + * $Header: /home/ncvs/src/usr.sbin/xntpd/parse/clk_trimtsip.c,v 1.2 1995/05/30 03:54:13 rgrimes Exp $ * * Trimble TSIP support - CURRENTLY VERY MUCH UNDER CONSTRUCTION */ @@ -468,6 +468,9 @@ getint(bp) * History: * * $Log: clk_trimtsip.c,v $ + * Revision 1.2 1995/05/30 03:54:13 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.1 1994/09/29 23:01:31 wollman * xntp 3.4e from Dave Mills @ UDel * diff --git a/usr.sbin/xntpd/parse/util/Makefile b/usr.sbin/xntpd/parse/util/Makefile index a05ca0838d50f..c7de68afe37d7 100644 --- a/usr.sbin/xntpd/parse/util/Makefile +++ b/usr.sbin/xntpd/parse/util/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.2 1995/04/04 17:48:02 rgrimes Exp $ +# $Id: Makefile,v 1.3 1996/06/24 04:26:16 jkh Exp $ # CFLAGS+= -I${.CURDIR}/../../include diff --git a/usr.sbin/xntpd/parse/util/parsetest.c b/usr.sbin/xntpd/parse/util/parsetest.c index 33f3d9ce1a6b6..66dc3daab5dc0 100644 --- a/usr.sbin/xntpd/parse/util/parsetest.c +++ b/usr.sbin/xntpd/parse/util/parsetest.c @@ -11,6 +11,9 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * $Log: parsetest.c,v $ + * Revision 1.2 1995/05/30 03:54:22 rgrimes + * Remove trailing whitespace. + * * Revision 1.1.1.4 1994/09/29 23:01:34 wollman * xntp 3.4e from Dave Mills @ UDel * diff --git a/usr.sbin/xntpd/util/Makefile b/usr.sbin/xntpd/util/Makefile index 04f35870e643a..781062292d9af 100644 --- a/usr.sbin/xntpd/util/Makefile +++ b/usr.sbin/xntpd/util/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.3 1994/10/03 23:51:29 phk Exp $ +# $Id: Makefile,v 1.4 1996/06/24 04:26:17 jkh Exp $ # CFLAGS+= -I${.CURDIR}/../include diff --git a/usr.sbin/xntpd/xntpd/Makefile b/usr.sbin/xntpd/xntpd/Makefile index cb62927fe0972..343750b031973 100644 --- a/usr.sbin/xntpd/xntpd/Makefile +++ b/usr.sbin/xntpd/xntpd/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.8 1996/06/24 04:26:19 jkh Exp $ +# $Id: Makefile,v 1.9 1996/09/05 17:16:10 bde Exp $ # CFLAGS+= -I${.CURDIR}/../include diff --git a/usr.sbin/xntpd/xntpdc/Makefile b/usr.sbin/xntpd/xntpdc/Makefile index 254307496296b..41559fbc20579 100644 --- a/usr.sbin/xntpd/xntpdc/Makefile +++ b/usr.sbin/xntpd/xntpdc/Makefile @@ -1,5 +1,5 @@ # -# $Id: Makefile,v 1.3 1994/10/03 23:51:34 phk Exp $ +# $Id: Makefile,v 1.4 1996/06/24 04:26:21 jkh Exp $ # CFLAGS+= -I${.CURDIR}/../include diff --git a/usr.sbin/xten/Makefile b/usr.sbin/xten/Makefile index 02d408d927a8a..ce1e90aeb6e81 100644 --- a/usr.sbin/xten/Makefile +++ b/usr.sbin/xten/Makefile @@ -1,5 +1,5 @@ # Makefile for xten (Stark) 10/30/93 -# $Id$ +# $Id: Makefile,v 1.5 1996/09/04 22:31:32 bde Exp $ PROG= xten CFLAGS+= -I${.CURDIR}/../../libexec/xtend diff --git a/usr.sbin/xten/xten.1 b/usr.sbin/xten/xten.1 index 979d92aa21dd7..2368344f99318 100644 --- a/usr.sbin/xten/xten.1 +++ b/usr.sbin/xten/xten.1 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: xten.1,v 1.5 1997/02/22 16:14:46 peter Exp $ +.\" $Id: xten.1,v 1.2.2.1 1997/03/06 08:00:52 mpp Exp $ .\" .Th XTEN 8 "30 Oct 1993" .Dd Oct 30, 1993 diff --git a/usr.sbin/yp_mkdb/Makefile b/usr.sbin/yp_mkdb/Makefile index 443f46ed53c9c..d717d0d93a8cd 100644 --- a/usr.sbin/yp_mkdb/Makefile +++ b/usr.sbin/yp_mkdb/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1.1.1 1996/04/28 04:16:05 wpaul Exp $ +# $Id: Makefile,v 1.2 1996/06/06 17:01:53 wpaul Exp $ PROG= yp_mkdb SRCS= yp_mkdb.c yp_dblookup.c yp_dbwrite.c diff --git a/usr.sbin/yp_mkdb/yp_mkdb.8 b/usr.sbin/yp_mkdb/yp_mkdb.8 index d59ac14932e3b..f751e8159573c 100644 --- a/usr.sbin/yp_mkdb/yp_mkdb.8 +++ b/usr.sbin/yp_mkdb/yp_mkdb.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: yp_mkdb.8,v 1.5 1997/02/22 16:14:49 peter Exp $ +.\" $Id: yp_mkdb.8,v 1.2.2.1 1997/03/06 08:00:57 mpp Exp $ .\" .Dd March 12, 1996 .Dt YP_MKDB 8 diff --git a/usr.sbin/yp_mkdb/yp_mkdb.c b/usr.sbin/yp_mkdb/yp_mkdb.c index ac494a5dba354..8d99f46c5dc5a 100644 --- a/usr.sbin/yp_mkdb/yp_mkdb.c +++ b/usr.sbin/yp_mkdb/yp_mkdb.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yp_mkdb.c,v 1.3 1996/10/24 14:52:50 wpaul Exp $ + * $Id: yp_mkdb.c,v 1.3.2.1 1997/02/15 04:37:16 wpaul Exp $ */ #include <stdio.h> @@ -50,7 +50,7 @@ #include "ypxfr_extern.h" #ifndef lint -static const char rcsid[] = "$Id: yp_mkdb.c,v 1.3 1996/10/24 14:52:50 wpaul Exp $"; +static const char rcsid[] = "$Id: yp_mkdb.c,v 1.3.2.1 1997/02/15 04:37:16 wpaul Exp $"; #endif char *yp_dir = ""; /* No particular default needed. */ diff --git a/usr.sbin/ypbind/Makefile b/usr.sbin/ypbind/Makefile index 2c9c1725d1c9e..1eca9432aea3f 100644 --- a/usr.sbin/ypbind/Makefile +++ b/usr.sbin/ypbind/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.8 (Berkeley) 7/28/90 -# $Id: Makefile,v 1.1 1994/08/08 01:03:57 wollman Exp $ +# $Id: Makefile,v 1.2 1995/04/09 21:58:59 wpaul Exp $ PROG= ypbind MAN8= ypbind.8 diff --git a/usr.sbin/ypbind/ypbind.8 b/usr.sbin/ypbind/ypbind.8 index 7e11a52466597..4879d5cfb2fd6 100644 --- a/usr.sbin/ypbind/ypbind.8 +++ b/usr.sbin/ypbind/ypbind.8 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ypbind.8,v 1.8 1997/02/22 16:14:54 peter Exp $ +.\" $Id: ypbind.8,v 1.5.2.1 1997/03/06 08:01:03 mpp Exp $ .\" .Dd April 9, 1995 .Dt YPBIND 8 diff --git a/usr.sbin/ypbind/ypbind.c b/usr.sbin/ypbind/ypbind.c index b542be966f667..87c733086d4b3 100644 --- a/usr.sbin/ypbind/ypbind.c +++ b/usr.sbin/ypbind/ypbind.c @@ -28,7 +28,7 @@ */ #ifndef LINT -static char rcsid[] = "$Id: ypbind.c,v 1.18 1995/12/15 03:39:25 wpaul Exp $"; +static char rcsid[] = "$Id: ypbind.c,v 1.18.2.1 1997/01/12 21:44:54 joerg Exp $"; #endif #include <sys/param.h> diff --git a/usr.sbin/yppoll/Makefile b/usr.sbin/yppoll/Makefile index 3108b83dde0a9..e119d9fe4f85b 100644 --- a/usr.sbin/yppoll/Makefile +++ b/usr.sbin/yppoll/Makefile @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.8 (Berkeley) 7/28/90 -# $Id: Makefile,v 1.2 1994/02/17 07:06:17 rgrimes Exp $ +# $Id: Makefile,v 1.1 1994/08/08 01:10:25 wollman Exp $ PROG= yppoll NOMAN= diff --git a/usr.sbin/yppush/Makefile b/usr.sbin/yppush/Makefile index 67a8116d44ea5..188a6d875fa22 100644 --- a/usr.sbin/yppush/Makefile +++ b/usr.sbin/yppush/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.6 1995/12/16 04:03:02 wpaul Exp $ +# $Id: Makefile,v 1.2 1996/04/03 03:23:57 wpaul Exp $ PROG= yppush SRCS= yp_clnt.c ypxfr_getmap.c yp_dblookup.c yppush_svc.c \ diff --git a/usr.sbin/yppush/yppush.8 b/usr.sbin/yppush/yppush.8 index 0551c7d9c750d..98b7eb21b5372 100644 --- a/usr.sbin/yppush/yppush.8 +++ b/usr.sbin/yppush/yppush.8 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: yppush.8,v 1.3 1996/02/11 22:38:02 mpp Exp $ +.\" $Id: yppush.8,v 1.4 1996/04/03 03:23:59 wpaul Exp $ .\" .Dd February 5, 1995 .Dt YPPUSH 8 diff --git a/usr.sbin/yppush/yppush_extern.h b/usr.sbin/yppush/yppush_extern.h index 3448b8466c172..0617cc57eae74 100644 --- a/usr.sbin/yppush/yppush_extern.h +++ b/usr.sbin/yppush/yppush_extern.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yppush_extern.h,v 1.5 1996/01/12 06:21:52 wpaul Exp $ + * $Id: yppush_extern.h,v 1.1.1.1 1996/01/12 07:03:33 wpaul Exp $ */ /* Privately defined error codes. */ diff --git a/usr.sbin/yppush/yppush_main.c b/usr.sbin/yppush/yppush_main.c index fb9e0783c263e..964cc543e44ad 100644 --- a/usr.sbin/yppush/yppush_main.c +++ b/usr.sbin/yppush/yppush_main.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yppush_main.c,v 1.4 1996/04/29 05:24:26 wpaul Exp $ + * $Id: yppush_main.c,v 1.5 1996/06/09 07:34:27 peter Exp $ */ #include <stdio.h> @@ -53,7 +53,7 @@ struct dom_binding {}; #include "yppush_extern.h" #ifndef lint -static const char rcsid[] = "$Id: yppush_main.c,v 1.4 1996/04/29 05:24:26 wpaul Exp $"; +static const char rcsid[] = "$Id: yppush_main.c,v 1.5 1996/06/09 07:34:27 peter Exp $"; #endif char *progname = "yppush"; diff --git a/usr.sbin/ypserv/Makefile b/usr.sbin/ypserv/Makefile index 3a4a47078535f..5135584a7971c 100644 --- a/usr.sbin/ypserv/Makefile +++ b/usr.sbin/ypserv/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.9 1996/12/22 22:30:51 wpaul Exp $ +# $Id: Makefile,v 1.6.2.1 1997/01/14 01:33:52 wpaul Exp $ PROG= ypserv SRCS= yp_svc.c yp_server.c yp_dblookup.c yp_dnslookup.c \ diff --git a/usr.sbin/ypserv/Makefile.yp b/usr.sbin/ypserv/Makefile.yp index 1eff8f3396925..f082ffa5430df 100644 --- a/usr.sbin/ypserv/Makefile.yp +++ b/usr.sbin/ypserv/Makefile.yp @@ -1,7 +1,7 @@ # # Makefile for the NIS databases # -# $Id: Makefile.yp,v 1.13.2.1 1996/11/16 21:22:23 phk Exp $ +# $Id: Makefile.yp,v 1.13.2.2 1997/02/15 04:34:30 wpaul Exp $ # # This Makefile should only be run on the NIS master server of a domain. # All updated maps will be pushed to all NIS slave servers listed in the diff --git a/usr.sbin/ypserv/yp_access.c b/usr.sbin/ypserv/yp_access.c index afca161a46ba9..f612e5678a2e2 100644 --- a/usr.sbin/ypserv/yp_access.c +++ b/usr.sbin/ypserv/yp_access.c @@ -53,7 +53,7 @@ #endif #ifndef lint -static const char rcsid[] = "$Id: yp_access.c,v 1.12 1997/01/06 06:27:55 wpaul Exp $"; +static const char rcsid[] = "$Id: yp_access.c,v 1.11.2.1 1997/01/14 01:33:53 wpaul Exp $"; #endif extern int debug; diff --git a/usr.sbin/ypserv/yp_dblookup.c b/usr.sbin/ypserv/yp_dblookup.c index 3a552683d2efe..aa5c109912f13 100644 --- a/usr.sbin/ypserv/yp_dblookup.c +++ b/usr.sbin/ypserv/yp_dblookup.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yp_dblookup.c,v 1.9.2.1 1997/01/14 01:33:55 wpaul Exp $ + * $Id: yp_dblookup.c,v 1.9.2.2 1997/01/20 03:34:55 wpaul Exp $ * */ #include <stdio.h> @@ -47,7 +47,7 @@ #include "yp_extern.h" #ifndef lint -static const char rcsid[] = "$Id: yp_dblookup.c,v 1.9.2.1 1997/01/14 01:33:55 wpaul Exp $"; +static const char rcsid[] = "$Id: yp_dblookup.c,v 1.9.2.2 1997/01/20 03:34:55 wpaul Exp $"; #endif int ypdb_debug = 0; diff --git a/usr.sbin/ypserv/yp_dnslookup.c b/usr.sbin/ypserv/yp_dnslookup.c index e308a9b142e95..5a61a9678a0e6 100644 --- a/usr.sbin/ypserv/yp_dnslookup.c +++ b/usr.sbin/ypserv/yp_dnslookup.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yp_dnslookup.c,v 1.8 1997/01/12 08:18:17 wpaul Exp $ + * $Id: yp_dnslookup.c,v 1.3.2.1 1997/01/14 01:33:55 wpaul Exp $ */ /* @@ -65,7 +65,7 @@ #include "yp_extern.h" #ifndef lint -static const char rcsid[] = "$Id: yp_dnslookup.c,v 1.8 1997/01/12 08:18:17 wpaul Exp $"; +static const char rcsid[] = "$Id: yp_dnslookup.c,v 1.3.2.1 1997/01/14 01:33:55 wpaul Exp $"; #endif static char *parse(hp) diff --git a/usr.sbin/ypserv/yp_error.c b/usr.sbin/ypserv/yp_error.c index 0dac2f5324f8e..3e4fcc1e06621 100644 --- a/usr.sbin/ypserv/yp_error.c +++ b/usr.sbin/ypserv/yp_error.c @@ -34,7 +34,7 @@ * error logging/reporting facilities * stolen from /usr/libexec/mail.local via ypserv * - * $Id: yp_error.c,v 1.3 1996/05/01 02:36:34 wpaul Exp $ + * $Id: yp_error.c,v 1.3 1996/05/31 16:01:50 wpaul Exp $ */ #include <stdio.h> @@ -42,7 +42,7 @@ #include <syslog.h> #ifndef lint -static const char rcsid[] = "$Id: yp_error.c,v 1.3 1996/05/01 02:36:34 wpaul Exp $"; +static const char rcsid[] = "$Id: yp_error.c,v 1.3 1996/05/31 16:01:50 wpaul Exp $"; #endif int debug; diff --git a/usr.sbin/ypserv/yp_extern.h b/usr.sbin/ypserv/yp_extern.h index 58be60b3652cd..0153783756b98 100644 --- a/usr.sbin/ypserv/yp_extern.h +++ b/usr.sbin/ypserv/yp_extern.h @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yp_extern.h,v 1.9 1996/12/25 18:10:33 wpaul Exp $ + * $Id: yp_extern.h,v 1.5.2.1 1997/01/14 01:33:56 wpaul Exp $ */ #include <stdio.h> #include <string.h> diff --git a/usr.sbin/ypserv/yp_main.c b/usr.sbin/ypserv/yp_main.c index 428a76859d04e..5b5cbb918b861 100644 --- a/usr.sbin/ypserv/yp_main.c +++ b/usr.sbin/ypserv/yp_main.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yp_main.c,v 1.12 1996/12/30 18:51:59 peter Exp $ + * $Id: yp_main.c,v 1.6.2.1 1997/01/14 01:33:57 wpaul Exp $ */ /* @@ -66,7 +66,7 @@ #define _RPCSVC_CLOSEDOWN 120 #ifndef lint -static const char rcsid[] = "$Id: yp_main.c,v 1.12 1996/12/30 18:51:59 peter Exp $"; +static const char rcsid[] = "$Id: yp_main.c,v 1.6.2.1 1997/01/14 01:33:57 wpaul Exp $"; #endif /* not lint */ int _rpcpmstart; /* Started by a port monitor ? */ static int _rpcfdtype; diff --git a/usr.sbin/ypserv/yp_server.c b/usr.sbin/ypserv/yp_server.c index 53ca2bfce1259..2e80d974df22b 100644 --- a/usr.sbin/ypserv/yp_server.c +++ b/usr.sbin/ypserv/yp_server.c @@ -45,7 +45,7 @@ #include <rpc/rpc.h> #ifndef lint -static const char rcsid[] = "$Id: yp_server.c,v 1.12.2.1 1997/01/14 01:33:57 wpaul Exp $"; +static const char rcsid[] = "$Id: yp_server.c,v 1.12.2.2 1997/02/06 05:31:10 wpaul Exp $"; #endif /* not lint */ int forked = 0; diff --git a/usr.sbin/ypserv/yp_svc_udp.c b/usr.sbin/ypserv/yp_svc_udp.c index 0652a2ebdc363..be3e88392d2b4 100644 --- a/usr.sbin/ypserv/yp_svc_udp.c +++ b/usr.sbin/ypserv/yp_svc_udp.c @@ -29,14 +29,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: yp_svc_udp.c,v 1.1 1996/12/22 15:44:09 wpaul Exp $ + * $Id: yp_svc_udp.c,v 1.1 1996/12/22 22:30:58 wpaul Exp $ */ #include <rpc/rpc.h> #include "yp_extern.h" #ifndef lint -static const char rcsid[] = "$Id: yp_svc_udp.c,v 1.1 1996/12/22 15:44:09 wpaul Exp $"; +static const char rcsid[] = "$Id: yp_svc_udp.c,v 1.1 1996/12/22 22:30:58 wpaul Exp $"; #endif /* diff --git a/usr.sbin/ypserv/ypserv.8 b/usr.sbin/ypserv/ypserv.8 index 5e46b66b6e927..5606b51f8a1ee 100644 --- a/usr.sbin/ypserv/ypserv.8 +++ b/usr.sbin/ypserv/ypserv.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ypserv.8,v 1.8 1996/08/23 00:57:08 mpp Exp $ +.\" $Id: ypserv.8,v 1.8.2.1 1997/02/04 07:08:44 tg Exp $ .\" .Dd February 4, 1995 .Dt YPSERV 8 diff --git a/usr.sbin/ypset/ypset.8 b/usr.sbin/ypset/ypset.8 index 65455304c4dd4..09bc324291646 100644 --- a/usr.sbin/ypset/ypset.8 +++ b/usr.sbin/ypset/ypset.8 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: ypset.8,v 1.4 1997/02/22 16:15:19 peter Exp $ +.\" $Id: ypset.8,v 1.1.2.1 1997/03/06 08:01:10 mpp Exp $ .\" .Dd October 25, 1994 .Dt YPSET 8 diff --git a/usr.sbin/zic/Makefile b/usr.sbin/zic/Makefile index 963a0ee8b43e6..116e9bc4dde4d 100644 --- a/usr.sbin/zic/Makefile +++ b/usr.sbin/zic/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1994/09/13 03:36:08 wollman Exp $ SUBDIR= zic zdump .include <bsd.subdir.mk> diff --git a/usr.sbin/zic/Makefile.inc b/usr.sbin/zic/Makefile.inc index c961f85683079..cde63901435a9 100644 --- a/usr.sbin/zic/Makefile.inc +++ b/usr.sbin/zic/Makefile.inc @@ -1,3 +1,3 @@ -# $Id$ +# $Id: Makefile.inc,v 1.1 1994/09/13 03:36:09 wollman Exp $ .include "${.CURDIR}/../../Makefile.inc" diff --git a/usr.sbin/zic/zdump/Makefile b/usr.sbin/zic/zdump/Makefile index 46af3cacca211..8f83ca9f5fb50 100644 --- a/usr.sbin/zic/zdump/Makefile +++ b/usr.sbin/zic/zdump/Makefile @@ -1,4 +1,4 @@ -# $Id$ +# $Id: Makefile,v 1.1 1994/09/13 03:36:15 wollman Exp $ .PATH: ${.CURDIR}/.. diff --git a/usr.sbin/zic/zic/Makefile b/usr.sbin/zic/zic/Makefile index 98dbbc1baf5c8..a0b41333d4525 100644 --- a/usr.sbin/zic/zic/Makefile +++ b/usr.sbin/zic/zic/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 1994/09/13 03:36:16 wollman Exp $ +# $Id: Makefile,v 1.2 1996/07/18 19:59:09 wollman Exp $ .PATH: ${.CURDIR}/.. |