aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ObsoleteFiles.inc4
-rw-r--r--usr.bin/Makefile1
-rw-r--r--usr.bin/elf2aout/Makefile7
-rw-r--r--usr.bin/elf2aout/Makefile.depend17
-rw-r--r--usr.bin/elf2aout/elf2aout.170
-rw-r--r--usr.bin/elf2aout/elf2aout.c164
6 files changed, 4 insertions, 259 deletions
diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
index 2d21d5770dae..747b52f6c07f 100644
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -36,6 +36,10 @@
# xargs -n1 | sort | uniq -d;
# done
+# 20200206: Remove elf2aout
+OLD_FILES+=usr/bin/elf2aout
+OLD_FILES+=usr/share/man/man1/elf2aout.1.gz
+
# 20200204: simple_httpd removed
OLD_FILES+=usr/sbin/simple_httpd
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index f4ca4d0c8968..b2e6b0c16a90 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -31,7 +31,6 @@ SUBDIR= alias \
diff \
dirname \
du \
- elf2aout \
elfdump \
enigma \
env \
diff --git a/usr.bin/elf2aout/Makefile b/usr.bin/elf2aout/Makefile
deleted file mode 100644
index 2959539add7d..000000000000
--- a/usr.bin/elf2aout/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# $FreeBSD$
-
-PROG= elf2aout
-
-NO_WERROR=
-
-.include <bsd.prog.mk>
diff --git a/usr.bin/elf2aout/Makefile.depend b/usr.bin/elf2aout/Makefile.depend
deleted file mode 100644
index 6cfaab1c3644..000000000000
--- a/usr.bin/elf2aout/Makefile.depend
+++ /dev/null
@@ -1,17 +0,0 @@
-# $FreeBSD$
-# Autogenerated - do NOT edit!
-
-DIRDEPS = \
- gnu/lib/csu \
- include \
- include/xlocale \
- lib/${CSU_DIR} \
- lib/libc \
- lib/libcompiler_rt \
-
-
-.include <dirdeps.mk>
-
-.if ${DEP_RELDIR} == ${_DEP_RELDIR}
-# local dependencies - needed for -jN in clean tree
-.endif
diff --git a/usr.bin/elf2aout/elf2aout.1 b/usr.bin/elf2aout/elf2aout.1
deleted file mode 100644
index 5c4045de2a78..000000000000
--- a/usr.bin/elf2aout/elf2aout.1
+++ /dev/null
@@ -1,70 +0,0 @@
-.\" Copyright (c) 2008 Tom Rhodes
-.\" 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.
-.\"
-.\" 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.
-.\"
-.\" $FreeBSD$
-.\"
-.Dd February 6, 2020
-.Dt ELF2AOUT 1
-.Os
-.Sh NAME
-.Nm elf2aout
-.Nd "Convert ELF binary to a.out format"
-.Sh SYNOPSIS
-.Nm
-.Op Fl o Ar outfile
-.Ar infile
-.Sh DESCRIPTION
-The
-.Nm
-utility is used to convert an ELF formatted binary,
-namely a kernel, to an a.out formatted one.
-Most
-.Tn OpenBoot
-firmware require an a.out format or FCode boot image
-and this utility is designed to accommodate.
-If
-.Ar infile
-is not in ELF format, an error message will be presented.
-.Sh DEPRECATION NOTICE
-The
-.Nm
-utility is not present in
-.Fx 13.0
-and later.
-.Sh SEE ALSO
-.Xr elf 3 ,
-.Xr a.out 5
-.Sh HISTORY
-The
-.Nm
-utility first appeared in
-.Fx 4.6 .
-.Sh AUTHORS
-.An -nosplit
-The
-.Nm
-utility was written by
-.An Jake Burkholder Aq Mt jake@FreeBSD.org .
-This manual page was written by
-.An Tom Rhodes Aq Mt trhodes@FreeBSD.org .
diff --git a/usr.bin/elf2aout/elf2aout.c b/usr.bin/elf2aout/elf2aout.c
deleted file mode 100644
index 2782d89362b6..000000000000
--- a/usr.bin/elf2aout/elf2aout.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
- *
- * Copyright (c) 2002 Jake Burkholder
- * 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.
- *
- * 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.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/types.h>
-#include <sys/elf64.h>
-#include <sys/endian.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-
-#include <err.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#define xe16toh(x) ((data == ELFDATA2MSB) ? be16toh(x) : le16toh(x))
-#define xe32toh(x) ((data == ELFDATA2MSB) ? be32toh(x) : le32toh(x))
-#define xe64toh(x) ((data == ELFDATA2MSB) ? be64toh(x) : le64toh(x))
-#define htoxe32(x) ((data == ELFDATA2MSB) ? htobe32(x) : htole32(x))
-
-struct exec {
- u_int32_t a_magic;
- u_int32_t a_text;
- u_int32_t a_data;
- u_int32_t a_bss;
- u_int32_t a_syms;
- u_int32_t a_entry;
- u_int32_t a_trsize;
- u_int32_t a_drsize;
-};
-#define A_MAGIC 0x01030107
-
-static void usage(void);
-
-/*
- * elf to a.out converter for freebsd/sparc64 bootblocks.
- */
-int
-main(int ac, char **av)
-{
- Elf64_Half phentsize;
- Elf64_Half machine;
- Elf64_Half phnum;
- Elf64_Xword filesz;
- Elf64_Xword memsz;
- Elf64_Addr entry;
- Elf64_Off offset;
- Elf64_Off phoff;
- Elf64_Word type;
- unsigned char data;
- struct stat sb;
- struct exec a;
- Elf64_Phdr *p;
- Elf64_Ehdr *e;
- void *v;
- int efd;
- int fd;
- int c;
- int i;
-
- fd = STDIN_FILENO;
- while ((c = getopt(ac, av, "o:")) != -1)
- switch (c) {
- case 'o':
- if ((fd = open(optarg, O_CREAT|O_RDWR, 0644)) < 0)
- err(1, "%s", optarg);
- break;
- case '?':
- default:
- usage();
- }
- ac -= optind;
- av += optind;
- if (ac == 0)
- usage();
-
- if ((efd = open(*av, O_RDONLY)) < 0 || fstat(efd, &sb) < 0)
- err(1, NULL);
- v = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, efd, 0);
- if ((e = v) == MAP_FAILED)
- err(1, NULL);
-
- if (!IS_ELF(*e))
- errx(1, "not an elf file");
- if (e->e_ident[EI_CLASS] != ELFCLASS64)
- errx(1, "wrong class");
- data = e->e_ident[EI_DATA];
- if (data != ELFDATA2MSB && data != ELFDATA2LSB)
- errx(1, "wrong data format");
- if (e->e_ident[EI_VERSION] != EV_CURRENT)
- errx(1, "wrong elf version");
- machine = xe16toh(e->e_machine);
- if (machine != EM_SPARCV9 && machine != EM_ALPHA)
- errx(1, "wrong machine type");
- phentsize = xe16toh(e->e_phentsize);
- if (phentsize != sizeof(*p))
- errx(1, "phdr size mismatch");
-
- entry = xe64toh(e->e_entry);
- phoff = xe64toh(e->e_phoff);
- phnum = xe16toh(e->e_phnum);
- p = (Elf64_Phdr *)((char *)e + phoff);
- bzero(&a, sizeof(a));
- for (i = 0; i < phnum; i++) {
- type = xe32toh(p[i].p_type);
- switch (type) {
- case PT_LOAD:
- if (a.a_magic != 0)
- errx(1, "too many loadable segments");
- filesz = xe64toh(p[i].p_filesz);
- memsz = xe64toh(p[i].p_memsz);
- offset = xe64toh(p[i].p_offset);
- a.a_magic = htoxe32(A_MAGIC);
- a.a_text = htoxe32(filesz);
- a.a_bss = htoxe32(memsz - filesz);
- a.a_entry = htoxe32(entry);
- if (write(fd, &a, sizeof(a)) != sizeof(a) ||
- write(fd, (char *)e + offset, filesz) != (ssize_t)filesz)
- err(1, NULL);
- break;
- default:
- break;
- }
- }
-
- return (0);
-}
-
-static void
-usage(void)
-{
-
- fprintf(stderr, "usage: elf2aout [-o outfile] infile\n");
- exit(1);
-}