btxld(8): Convert to hostprog.
authorzrj <rimvydas.jasinskas@gmail.com>
Mon, 21 May 2018 16:52:20 +0000 (19:52 +0300)
committerzrj <zrj@dragonflybsd.org>
Wed, 23 May 2018 06:02:35 +0000 (09:02 +0300)
There is no point to provide this utility in base. We are not planing to
bring back i386 support. Move it into sys/boot/pc32/ for easier handling.

This way the AOUT_H_FORCE32 now is confined to the same pc32/ directory.
The <sys/imgact_aout.h> has override for it to create proper btx header.

For future we should make btxld endian neutral.

15 files changed:
Makefile.inc1
Makefile_upgrade.inc
sys/boot/pc32/Makefile
sys/boot/pc32/boot2/Makefile
sys/boot/pc32/btxld/Makefile [new file with mode: 0644]
sys/boot/pc32/btxld/btx.h [moved from usr.sbin/btxld/btx.h with 100% similarity]
sys/boot/pc32/btxld/btxld.8 [moved from usr.sbin/btxld/btxld.8 with 100% similarity]
sys/boot/pc32/btxld/btxld.c [moved from usr.sbin/btxld/btxld.c with 100% similarity]
sys/boot/pc32/btxld/elfh.c [moved from usr.sbin/btxld/elfh.c with 100% similarity]
sys/boot/pc32/btxld/elfh.h [moved from usr.sbin/btxld/elfh.h with 100% similarity]
sys/boot/pc32/loader/Makefile
sys/boot/pc32/loader_tftp/Makefile
sys/boot/pc32/pxeldr/Makefile
usr.sbin/Makefile
usr.sbin/btxld/Makefile [deleted file]

index decf27c..4c1c28e 100644 (file)
@@ -882,7 +882,7 @@ BSTRAPDIRS2= \
        usr.bin/cmp usr.bin/xargs usr.bin/id usr.bin/env usr.bin/dirname \
        usr.bin/tail usr.bin/unifdef \
        usr.sbin/chown usr.sbin/mtree usr.sbin/config \
-       usr.sbin/btxld usr.sbin/zic usr.sbin/makewhatis \
+       usr.sbin/zic usr.sbin/makewhatis \
        gnu/usr.bin/grep usr.bin/sort usr.bin/gzip \
        usr.bin/mkcsmapper usr.bin/mkesdb usr.bin/crunch
 
@@ -976,12 +976,10 @@ btools-${_tool}!
 #
 # cross-tools: Build cross-building tools
 #
-.if ${TARGET_ARCH} == "i386" && ${MACHINE_ARCH} != "i386"
-_btxld=        usr.sbin/btxld
-.endif
 
-CTOOLSDIRS= ${_btxld} ${_binutils} \
-               usr.bin/objformat usr.bin/crunch/crunchide \
+CTOOLSDIRS= usr.bin/objformat usr.bin/crunch/crunchide
+
+CTOOLSDIRS+=   ${_binutils} \
                ${_gcc_common_cross} \
                ${_altcompiler_cross} \
                ${_gcc50_cross} ${_custom_cross}
index fe31efd..2390513 100644 (file)
@@ -3419,6 +3419,8 @@ TO_REMOVE+=/usr/include/net/ipfw3/ip_fw3_table.h
 TO_REMOVE+=/usr/include/netinet6/esp_aesctr.h
 TO_REMOVE+=/usr/include/netinet6/esp_camellia.h
 TO_REMOVE+=/usr/include/netinet6/esp_rijndael.h
+TO_REMOVE+=/usr/sbin/btxld
+TO_REMOVE+=/usr/share/man/man8/btxld.8.gz
 
 .if !defined(WANT_INSTALLER)
 TO_REMOVE+=/usr/sbin/dfuibe_installer
index 41af200..9b3fe3e 100644 (file)
@@ -5,7 +5,7 @@
 .endif
 
 # must come before boot2
-SUBDIR=        asmdef btx
+SUBDIR=        asmdef btx btxld
 
 SUBDIR+=boot0 boot0sio boot2 cdboot libi386 loader loader_tftp mbr
 
index 70ed7f1..e040ea6 100644 (file)
@@ -130,8 +130,8 @@ boot2$s.h: boot1$s.out bootasm.h
                ORG1=${ORG1D} REL1=${REL1D} > boot2$s.h
 
 boot2$s: boot2$s.ldr boot2$s.bin ${BTX}/btx/btx
-       btxld -v -E ${ORG2} -f bin -b ${BTX}/btx/btx -l boot2$s.ldr \
-               -o boot2$s.ld -P 1 boot2$s.bin
+       ${.OBJDIR}/../btxld/btxld.nx -v -E ${ORG2} -f bin -b ${BTX}/btx/btx \
+               -l boot2$s.ldr -o boot2$s.ld -P 1 boot2$s.bin
        stat boot2$s.ld | awk '{ x = (${NSECT$s} - 1) * 512 - $$8; \
                print x " bytes available"; if (x < 0) exit 1 }'
        dd if=boot2$s.ld of=${.TARGET} obs=$$(( (${NSECT$s} - 1) * 512)) conv=osync 2>/dev/null
diff --git a/sys/boot/pc32/btxld/Makefile b/sys/boot/pc32/btxld/Makefile
new file mode 100644 (file)
index 0000000..01ada91
--- /dev/null
@@ -0,0 +1,17 @@
+# $FreeBSD: src/usr.sbin/btxld/Makefile,v 1.3.2.1 2001/04/25 12:09:21 ru Exp $
+
+PROG=  btxld
+SRCS=  btxld.c elfh.c
+#MAN=  btxld.8
+
+WARNS?=        3
+
+build-tools: btxld.nx
+
+# this btxld is used in place, it is not installed anywhere
+install:
+
+# hint for pc32/Makefile.inc
+__no_pc32_defines=
+
+.include <bsd.hostprog.mk>
index 062acb4..2db65b3 100644 (file)
@@ -85,8 +85,8 @@ vers.o: vers.c
        ${CC} ${CFLAGS} -c vers.c
 
 ${PROG}: ${PROG}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT}
-       btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
-               -b ${BTXKERN} ${PROG}.bin
+       ${.OBJDIR}/../btxld/btxld.nx -v -f aout -e ${LOADER_ADDRESS} \
+           -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} ${PROG}.bin
 
 ${PROG}.bin: ${PROG}.sym
        cp ${.ALLSRC} ${.TARGET}
index d511633..d293da7 100644 (file)
@@ -85,8 +85,8 @@ vers.o: vers.c
        ${CC} ${CFLAGS} -c vers.c
 
 ${PROG}: ${PROG}.bin ${BTXLDR} ${BTXKERN} ${BTXCRT}
-       btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
-               -b ${BTXKERN} ${PROG}.bin
+       ${.OBJDIR}/../btxld/btxld.nx -v -f aout -e ${LOADER_ADDRESS} \
+           -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} ${PROG}.bin
 
 ${PROG}.bin: ${PROG}.sym
        cp ${.ALLSRC} ${.TARGET}
index c248580..deb9049 100644 (file)
@@ -41,8 +41,8 @@ ${BOOT}: ${LDR} ${LOADER}
        rm ${.TARGET}.tmp
 
 ${LOADER}: ${LOADERBIN} ${BTXLDR} ${BTXKERN} ${BTXCRT}
-       btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
-           -b ${BTXKERN} ${LOADERBIN}
+       ${.OBJDIR}/../btxld/btxld.nx -v -f aout -e ${LOADER_ADDRESS} \
+           -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} ${LOADERBIN}
 
 ${LDR}: ${LDR}.o
        ${LD} ${LDFLAGS:N-Wl,*} -N -e start -Ttext ${ORG} -o ${LDR}.out ${LDR}.o
index 77b209e..97c0391 100644 (file)
@@ -155,7 +155,7 @@ SUBDIR+=nscd
 .endif
 
 .if ${MACHINE_ARCH} == "x86_64"
-SUBDIR+=btxld \
+SUBDIR+= \
        kgmon \
        lptcontrol \
        mptable \
diff --git a/usr.sbin/btxld/Makefile b/usr.sbin/btxld/Makefile
deleted file mode 100644 (file)
index 0952d5a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# $FreeBSD: src/usr.sbin/btxld/Makefile,v 1.3.2.1 2001/04/25 12:09:21 ru Exp $
-
-PROG=  btxld
-SRCS=  btxld.c elfh.c
-MAN=   btxld.8
-
-.include <bsd.prog.mk>