summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2003-09-06 02:18:03 +0000
committerobrien <obrien@FreeBSD.org>2003-09-06 02:18:03 +0000
commitf2b101f4e8036660b8f280e141766ff604fd238f (patch)
tree59c158696cf86324e49a2c9fad20cb8c1c682eae
parent521fd6195a00e72208369f5622ff85e2d1cf0d88 (diff)
downloadFreeBSD-src-f2b101f4e8036660b8f280e141766ff604fd238f.zip
FreeBSD-src-f2b101f4e8036660b8f280e141766ff604fd238f.tar.gz
Finish the deorbital burn of the i386-only a.out toolchain.
-rw-r--r--usr.bin/ranlib/Makefile11
-rw-r--r--usr.bin/ranlib/build.c296
-rw-r--r--usr.bin/ranlib/extern.h47
-rw-r--r--usr.bin/ranlib/misc.c98
-rw-r--r--usr.bin/ranlib/pathnames.h36
-rw-r--r--usr.bin/ranlib/ranlib.192
-rw-r--r--usr.bin/ranlib/ranlib.1aout91
-rw-r--r--usr.bin/ranlib/ranlib.571
-rw-r--r--usr.bin/ranlib/ranlib.c100
-rw-r--r--usr.bin/ranlib/touch.c94
10 files changed, 0 insertions, 936 deletions
diff --git a/usr.bin/ranlib/Makefile b/usr.bin/ranlib/Makefile
deleted file mode 100644
index d923416..0000000
--- a/usr.bin/ranlib/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# @(#)Makefile 8.1 (Berkeley) 6/6/93
-# $FreeBSD$
-
-PROG= ranlib
-SRCS= archive.c build.c misc.c ranlib.c touch.c
-CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../ar
-MAN= ranlib.1aout ranlib.5
-BINDIR= /usr/libexec/aout
-VPATH= ${.CURDIR}/../ar
-
-.include <bsd.prog.mk>
diff --git a/usr.bin/ranlib/build.c b/usr.bin/ranlib/build.c
deleted file mode 100644
index f9e3664..0000000
--- a/usr.bin/ranlib/build.c
+++ /dev/null
@@ -1,296 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Hugh Smith at The University of Guelph.
- *
- * 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
-#if 0
-static char sccsid[] = "@(#)build.c 8.1 (Berkeley) 6/6/93";
-#endif
-#endif /* not lint */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include <arpa/inet.h>
-
-#include <a.out.h>
-#include <ar.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <ranlib.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "archive.h"
-#include "extern.h"
-
-typedef struct _rlib {
- struct _rlib *next; /* next structure */
- off_t pos; /* offset of defining archive file */
- char *sym; /* symbol */
- int symlen; /* strlen(sym) */
-} RLIB;
-RLIB *rhead, **pnext;
-
-FILE *fp;
-
-long symcnt; /* symbol count */
-long tsymlen; /* total string length */
-
-static void rexec(int, int);
-static void symobj(void);
-
-static char tname[] = "temporary file"; /* temporary file "name" */
-
-int
-build(void)
-{
- CF cf;
- int afd, tfd;
- off_t size;
-
- afd = open_archive(O_RDWR);
- fp = fdopen(afd, "r+");
- tfd = tmp();
-
- SETCF(afd, archive, tfd, tname, RPAD|WPAD);
-
- /* Read through the archive, creating list of symbols. */
- pnext = &rhead;
- symcnt = tsymlen = 0;
- while(get_arobj(afd)) {
- if (!strcmp(chdr.name, RANLIBMAG)) {
- skip_arobj(afd);
- continue;
- }
- rexec(afd, tfd);
- put_arobj(&cf, (struct stat *)NULL);
- }
- *pnext = NULL;
-
- /* Create the symbol table. */
- symobj();
-
- /* Copy the saved objects into the archive. */
- size = lseek(tfd, (off_t)0, SEEK_CUR);
- (void)lseek(tfd, (off_t)0, SEEK_SET);
- SETCF(tfd, tname, afd, archive, WPAD);
- copy_ar(&cf, size);
- (void)ftruncate(afd, lseek(afd, (off_t)0, SEEK_CUR));
- (void)close(tfd);
-
- /* Set the time. */
- settime(afd);
- close_archive(afd);
- return(0);
-}
-
-/*
- * rexec
- * Read the exec structure; ignore any files that don't look
- * exactly right.
- */
-static void
-rexec(int rfd, int wfd)
-{
- RLIB *rp;
- long nsyms;
- int nr, symlen;
- char *strtab = 0, *sym;
- struct exec ebuf;
- struct nlist nl;
- off_t r_off, w_off;
- long strsize;
-
- /* Get current offsets for original and tmp files. */
- r_off = lseek(rfd, (off_t)0, SEEK_CUR);
- w_off = lseek(wfd, (off_t)0, SEEK_CUR);
-
- /* Read in exec structure. */
- nr = read(rfd, &ebuf, sizeof(struct exec));
- if (nr != sizeof(struct exec))
- goto badread;
-
- /* Check magic number and symbol count. */
- if (N_BADMAG(ebuf) || ebuf.a_syms == 0)
- goto bad1;
-
- /* Seek to string table. */
- if (lseek(rfd, r_off + N_STROFF(ebuf), SEEK_SET) == (off_t)-1)
- error(archive);
-
- /* Read in size of the string table. */
- nr = read(rfd, &strsize, sizeof(strsize));
- if (nr != sizeof(strsize))
- goto badread;
-
- /* Read in the string table. */
- strsize -= sizeof(strsize);
- if ((strtab = malloc(strsize)) == NULL)
- error(archive);
- nr = read(rfd, strtab, strsize);
- if (nr != strsize) {
-badread: if (nr < 0)
- error(archive);
- goto bad2;
- }
-
- /* Seek to symbol table. */
- if (fseek(fp, (long)r_off + N_SYMOFF(ebuf), SEEK_SET))
- goto bad2;
-
- /* For each symbol read the nlist entry and save it as necessary. */
- nsyms = ebuf.a_syms / sizeof(struct nlist);
- while (nsyms--) {
- if (!fread(&nl, sizeof(struct nlist), 1, fp)) {
- if (feof(fp))
- badfmt();
- error(archive);
- }
-
- /* Ignore if no name or local. */
- if (!nl.n_un.n_strx || !(nl.n_type & N_EXT))
- continue;
-
- /*
- * If the symbol is an undefined external and the n_value
- * field is non-zero, keep it.
- */
- if ((nl.n_type & N_TYPE) == N_UNDF && !nl.n_value)
- continue;
-
- /* First four bytes are the table size. */
- sym = strtab + nl.n_un.n_strx - sizeof(long);
- symlen = strlen(sym) + 1;
-
- if ((rp = malloc(sizeof(RLIB))) == NULL)
- error(archive);
- if ((rp->sym = malloc(symlen)) == NULL)
- error(archive);
- bcopy(sym, rp->sym, symlen);
- rp->symlen = symlen;
- rp->pos = w_off;
-
- /* Build in forward order for "ar -m" command. */
- *pnext = rp;
- pnext = &rp->next;
-
- ++symcnt;
- tsymlen += symlen;
- }
-
-bad2: free(strtab);
-bad1: (void)lseek(rfd, r_off, SEEK_SET);
-}
-
-/*
- * symobj --
- * Write the symbol table into the archive, computing offsets as
- * writing.
- */
-static void
-symobj(void)
-{
- RLIB *rp, *rpnext;
- struct ranlib rn;
- off_t ransize;
- long size, stroff;
- char hb[sizeof(struct ar_hdr) + 1], pad;
-
- /* Rewind the archive, leaving the magic number. */
- if (fseek(fp, (long)SARMAG, SEEK_SET))
- error(archive);
-
- /* Size of the ranlib archive file, pad if necessary. */
- ransize = sizeof(long) +
- symcnt * sizeof(struct ranlib) + sizeof(long) + tsymlen;
- if (ransize & 01) {
- ++ransize;
- pad = '\n';
- } else
- pad = '\0';
-
- /* Put out the ranlib archive file header. */
-#define DEFMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
- (void)sprintf(hb, HDR2, RANLIBMAG, 0L, getuid(), getgid(),
- DEFMODE & ~umask(0), ransize, ARFMAG);
- if (!fwrite(hb, sizeof(struct ar_hdr), 1, fp))
- error(tname);
-
- /* First long is the size of the ranlib structure section. */
- size = symcnt * sizeof(struct ranlib);
- if (!fwrite(&size, sizeof(size), 1, fp))
- error(tname);
-
- /* Offset of the first archive file. */
- size = SARMAG + sizeof(struct ar_hdr) + ransize;
-
- /*
- * Write out the ranlib structures. The offset into the string
- * table is cumulative, the offset into the archive is the value
- * set in rexec() plus the offset to the first archive file.
- */
- for (rp = rhead, stroff = 0; rp; rp = rp->next) {
- rn.ran_un.ran_strx = stroff;
- stroff += rp->symlen;
- rn.ran_off = size + rp->pos;
- if (!fwrite(&rn, sizeof(struct ranlib), 1, fp))
- error(archive);
- }
-
- /* Second long is the size of the string table. */
- if (!fwrite(&tsymlen, sizeof(tsymlen), 1, fp))
- error(tname);
-
- /* Write out the string table. */
- for (rp = rhead; rp; rp = rpnext) {
- if (!fwrite(rp->sym, rp->symlen, 1, fp))
- error(tname);
- rpnext = rp->next;
- free(rp->sym);
- free(rp);
- }
- rhead = NULL;
-
- if (pad && !fwrite(&pad, sizeof(pad), 1, fp))
- error(tname);
-
- (void)fflush(fp);
-}
diff --git a/usr.bin/ranlib/extern.h b/usr.bin/ranlib/extern.h
deleted file mode 100644
index 6014f90..0000000
--- a/usr.bin/ranlib/extern.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Hugh Smith at The University of Guelph.
- *
- * 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.
- *
- * $FreeBSD$
- */
-
-extern int build(void);
-extern int touch(void);
-extern int tmp(void);
-extern void error(char *);
-extern void badfmt(void);
-extern void settime(int);
-
-extern CHDR chdr; /* converted header */
-extern char *archive; /* archive name */
diff --git a/usr.bin/ranlib/misc.c b/usr.bin/ranlib/misc.c
deleted file mode 100644
index f98120d..0000000
--- a/usr.bin/ranlib/misc.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Hugh Smith at The University of Guelph.
- *
- * 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
-#if 0
-static char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 6/6/93";
-#endif
-#endif /* not lint */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/param.h>
-#include <sys/signal.h>
-
-#include <dirent.h>
-#include <err.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "archive.h"
-#include "extern.h"
-#include "pathnames.h"
-
-extern char *archive; /* archive name */
-
-void error(char *);
-
-int
-tmp(void)
-{
- sigset_t set, oset;
- int fd;
- char *envtmp, path[MAXPATHLEN];
-
- if ((envtmp = getenv("TMPDIR")) != NULL)
- (void)sprintf(path, "%s%s", envtmp, strrchr(_PATH_RANTMP, '/'));
- else
- bcopy(_PATH_RANTMP, path, sizeof(_PATH_RANTMP));
-
- sigfillset(&set);
- (void)sigprocmask(SIG_BLOCK, &set, &oset);
- if ((fd = mkstemp(path)) == -1)
- error(path);
- (void)unlink(path);
- (void)sigprocmask(SIG_SETMASK, &oset, NULL);
- return(fd);
-}
-
-void
-badfmt(void)
-{
- errno = EFTYPE;
- error(archive);
-}
-
-void
-error(char *name)
-{
- err(1, "%s", name);
-}
diff --git a/usr.bin/ranlib/pathnames.h b/usr.bin/ranlib/pathnames.h
deleted file mode 100644
index c1df3f9..0000000
--- a/usr.bin/ranlib/pathnames.h
+++ /dev/null
@@ -1,36 +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.
- *
- * @(#)pathnames.h 8.1 (Berkeley) 6/6/93
- */
-
-#define _PATH_RANTMP "/tmp/ranlib.XXXXXX"
diff --git a/usr.bin/ranlib/ranlib.1 b/usr.bin/ranlib/ranlib.1
deleted file mode 100644
index cd33c00..0000000
--- a/usr.bin/ranlib/ranlib.1
+++ /dev/null
@@ -1,92 +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.
-.\"
-.\" @(#)ranlib.1 8.1 (Berkeley) 6/6/93
-.\" $FreeBSD$
-.\"
-.Dd June 6, 1993
-.Dt RANLIB 1
-.Os
-.Sh NAME
-.Nm ranlib
-.Nd table-of-contents for archive libraries
-.Sh SYNOPSIS
-.Nm
-.Op Fl t
-.Ar
-.Sh DESCRIPTION
-The
-.Nm
-utility creates a table of external references for archive libraries,
-normally used by the loader,
-.Xr ld 1 .
-This table is named ``__.SYMDEF'' and is prepended to the archive.
-Files in the archive which are not executable and symbols which are
-uninteresting to the loader are ignored.
-.Pp
-The options are as follows:
-.Bl -tag -width indent
-.It Fl t
-Set the modification time of the __.SYMDEF file.
-Some loaders (but not the
-.Fx
-one)
-compared this time with the modification time of the
-archive to verify that the table is up-to-date with respect to the
-archive.
-If the modification time has been changed without any change to the
-archive (for example, by a
-.Xr cp 1 ) ,
-the
-.Fl t
-option can be used to ``touch'' the modification time so that it
-appears that the table is up-to-date.
-This is also useful after using the
-.Fl t
-option of
-.Xr make 1 .
-.El
-.Sh FILES
-.Bl -tag -width /tmp/ranlib.XXXXXX -compact
-.It Pa /tmp/ranlib.XXXXXX
-Temporary file names.
-.El
-.Sh SEE ALSO
-.Xr ar 1 ,
-.Xr ld 1 ,
-.Xr lorder 1 ,
-.Xr nm 1 ,
-.Xr ranlib 5
-.Sh HISTORY
-A
-.Nm
-command appeared in
-.At v7 .
diff --git a/usr.bin/ranlib/ranlib.1aout b/usr.bin/ranlib/ranlib.1aout
deleted file mode 100644
index cac26f8..0000000
--- a/usr.bin/ranlib/ranlib.1aout
+++ /dev/null
@@ -1,91 +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.
-.\"
-.\" @(#)ranlib.1 8.1 (Berkeley) 6/6/93
-.\" $FreeBSD$
-.\"
-.Dd June 6, 1993
-.Dt RANLIB 1
-.Os
-.Sh NAME
-.Nm ranlib
-.Nd table-of-contents for archive libraries
-.Sh SYNOPSIS
-.Nm
-.Op Fl t
-.Ar
-.Sh DESCRIPTION
-.Nm Ranlib
-creates a table of external references for archive libraries,
-normally used by the loader,
-.Xr ld 1 .
-This table is named ``__.SYMDEF'' and is prepended to the archive.
-Files in the archive which are not executable and symbols which are
-uninteresting to the loader are ignored.
-.Pp
-The options are as follows:
-.Bl -tag -width indent
-.It Fl t
-Set the modification time of the __.SYMDEF file.
-Some loaders (but not the
-.Fx
-one)
-compared this time with the modification time of the
-archive to verify that the table is up-to-date with respect to the
-archive.
-If the modification time has been changed without any change to the
-archive (for example, by a
-.Xr cp 1 ) ,
-the
-.Fl t
-option can be used to ``touch'' the modification time so that it
-appears that the table is up-to-date.
-This is also useful after using the
-.Fl t
-option of
-.Xr make 1 .
-.El
-.Sh FILES
-.Bl -tag -width /tmp/ranlib.XXXXXX -compact
-.It Pa /tmp/ranlib.XXXXXX
-Temporary file names.
-.El
-.Sh SEE ALSO
-.Xr ar 1 ,
-.Xr ld 1 ,
-.Xr lorder 1 ,
-.Xr nm 1 ,
-.Xr ranlib 5
-.Sh HISTORY
-A
-.Nm
-command appeared in
-.At v7 .
diff --git a/usr.bin/ranlib/ranlib.5 b/usr.bin/ranlib/ranlib.5
deleted file mode 100644
index 3559a263..0000000
--- a/usr.bin/ranlib/ranlib.5
+++ /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.
-.\"
-.\" @(#)ranlib.5.5 8.1 (Berkeley) 6/6/93
-.\" $FreeBSD$
-.\"
-.Dd June 6, 1993
-.Dt RANLIB 5
-.Os
-.Sh NAME
-.Nm ranlib
-.Nd archive (library) table-of-contents format
-.Sh SYNOPSIS
-.In ranlib.h
-.Sh DESCRIPTION
-The archive table-of-contents command
-.Nm
-creates a table of contents for archives, containing object files, to
-be used by the link-editor
-.Xr ld 1 .
-It operates on archives created with the utility
-.Xr ar 1 .
-.Pp
-The
-.Nm
-function
-prepends a new file to the archive which has three separate parts.
-The first part is a standard archive header, which has a special name
-field, "__.SYMDEF".
-.Pp
-The second part is a ``long'' followed by a list of ranlib structures.
-The long is the size, in bytes, of the list of ranlib structures.
-Each of the ranlib structures consists of a zero based offset into the
-next section (a string table of symbols) and an offset from the beginning
-of the archive to the start of the archive file which defines the symbol.
-The actual number of ranlib structures is this number divided by the size
-of an individual ranlib structure.
-.Pp
-The third part is a ``long'' followed by a string table.
-The long is the size, in bytes of the string table.
-.Sh SEE ALSO
-.Xr ar 1 ,
-.Xr ranlib 1
diff --git a/usr.bin/ranlib/ranlib.c b/usr.bin/ranlib/ranlib.c
deleted file mode 100644
index 933a23a..0000000
--- a/usr.bin/ranlib/ranlib.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Hugh Smith at The University of Guelph.
- *
- * 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) 1990, 1993\n\
- The Regents of the University of California. All rights reserved.\n";
-#endif /* not lint */
-
-#ifndef lint
-#if 0
-static char sccsid[] = "@(#)ranlib.c 8.1 (Berkeley) 6/6/93";
-#endif
-#endif /* not lint */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/types.h>
-
-#include <dirent.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "archive.h"
-#include "extern.h"
-
-static void usage(void);
-
-CHDR chdr;
-u_int options; /* UNUSED -- keep open_archive happy */
-char *archive;
-
-int
-main(int argc, char *argv[])
-{
- int ch, eval, tflag;
-
- tflag = 0;
- while ((ch = getopt(argc, argv, "t")) != -1)
- switch(ch) {
- case 't':
- tflag = 1;
- break;
- case '?':
- default:
- usage();
- }
- argc -= optind;
- argv += optind;
-
- if (!*argv)
- usage();
-
- for (eval = 0; (archive = *argv++); )
- eval |= tflag ? touch() : build();
- exit(eval);
-}
-
-static void
-usage(void)
-{
- (void)fprintf(stderr, "usage: ranlib [-t] archive ...\n");
- exit(1);
-}
-
diff --git a/usr.bin/ranlib/touch.c b/usr.bin/ranlib/touch.c
deleted file mode 100644
index 0ede6b3..0000000
--- a/usr.bin/ranlib/touch.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*-
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Hugh Smith at The University of Guelph.
- *
- * 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
-#if 0
-static char sccsid[] = "@(#)touch.c 8.1 (Berkeley) 6/6/93";
-#endif
-#endif /* not lint */
-
-#include <sys/types.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/types.h>
-
-#include <ar.h>
-#include <dirent.h>
-#include <err.h>
-#include <fcntl.h>
-#include <ranlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-
-#include "archive.h"
-#include "extern.h"
-
-void settime( int );
-int touch( void );
-
-int
-touch(void)
-{
- int afd;
-
- afd = open_archive(O_RDWR);
-
- if (!get_arobj(afd) ||
- strncmp(RANLIBMAG, chdr.name, sizeof(RANLIBMAG) - 1)) {
- warnx("%s: no symbol table", archive);
- return(1);
- }
- settime(afd);
- close_archive(afd);
- return(0);
-}
-
-void
-settime(int afd)
-{
- struct ar_hdr *hdr;
- off_t size;
- char buf[50];
-
- size = SARMAG + sizeof(hdr->ar_name);
- if (lseek(afd, size, SEEK_SET) == (off_t)-1)
- error(archive);
- (void)sprintf(buf, "%-12ld", (long)time((time_t *)NULL) + RANLIBSKEW);
- if (write(afd, buf, sizeof(hdr->ar_date)) != sizeof(hdr->ar_date))
- error(archive);
-}
OpenPOWER on IntegriCloud