Just install ar5523.bin into /usr/share/firmware and stop compiling it

in.

Differential Review: https://reviews.freebsd.org/D5639
This commit is contained in:
Warner Losh 2016-03-15 04:42:37 +00:00
parent dd923e0c4a
commit 486607d0b6
6 changed files with 22 additions and 37 deletions

View File

@ -428,6 +428,8 @@
uefisign
..
..
firmware
..
games
fortune
..

View File

@ -28,7 +28,7 @@
.\" @(#)hier.7 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
.Dd October 2, 2015
.Dd March 15, 2016
.Dt HIER 7
.Os
.Sh NAME
@ -545,6 +545,8 @@ Chinese translations of documents in /usr/share/doc
.Pp
.It Pa examples/
various examples for users and programmers
.It Pa firmware/
Firmware images loaded by user land programs
.It Pa games/
ASCII text files used by various games
.It Pa groff_font/

View File

@ -8024,6 +8024,7 @@ OLD_FILES+=usr/share/examples/libusb20/control.c
OLD_FILES+=usr/share/examples/libusb20/util.c
OLD_FILES+=usr/share/examples/libusb20/util.h
OLD_DIRS+=usr/share/examples/libusb20
OLD_FILES+=usr/share/firmware/ar5523.bin
OLD_FILES+=usr/share/man/man1/uhsoctl.1.gz
OLD_FILES+=usr/share/man/man1/usbhidaction.1.gz
OLD_FILES+=usr/share/man/man1/usbhidctl.1.gz

View File

@ -194,9 +194,7 @@ SUBDIR.${MK_TIMED}+= timed
SUBDIR.${MK_TOOLCHAIN}+= config
SUBDIR.${MK_TOOLCHAIN}+= crunch
SUBDIR.${MK_UNBOUND}+= unbound
.if !(${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 50200)
SUBDIR.${MK_USB}+= uathload
.endif
SUBDIR.${MK_USB}+= uhsoctl
SUBDIR.${MK_USB}+= usbconfig
SUBDIR.${MK_USB}+= usbdump

View File

@ -3,28 +3,14 @@
PROG= uathload
MAN= uathload.8
SRCS= uathload.c ar5523.bin
SRCS= uathload.c
FILES= ar5523.bin
FILESDIR= ${SHAREDIR}/firmware
FILESMODE= 444
CLEANFILES= ar5523.bin
# It's hard to tag ar5523.o with the proper gnu note saying that it has a
# non-executable stack, so ld doesn't properly mark his executable as
# not having an executable stack. Mark it explicitly, but only for those
# platforms that support his feature (otherwise signals don't work).
# Note: Newer versions of ld than is in the tree ignore -z.
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64"
LDFLAGS+= -Wl,-z,noexecstack
.endif
# The conversion from .bin to .o doesn't always produce a pedantically correct
# .o's. And it doesn't matter, so turn off the mismatch warnings since it is
# pure data. On mips64 here's no easy way to produce a proper .o.
LDFLAGS+= -Wl,--no-warn-mismatch
ar5523.bin: ${.CURDIR}/../../sys/contrib/dev/uath/ar5523.bin.uu
uudecode -p ${.CURDIR}/../../sys/contrib/dev/uath/ar5523.bin.uu > ${.TARGET}
ar5523.o: ar5523.bin
${LD} -b binary -d -warn-common -r -d -o ${.TARGET} ar5523.bin
.include <bsd.prog.mk>

View File

@ -140,23 +140,19 @@ main(int argc, char *argv[])
if (argc > 1)
usage();
if (argc == 1) {
if (argc == 1)
fwname = argv[0];
fw = open(fwname, O_RDONLY, 0);
if (fw < 0)
err(-1, "open(%s)", fwname);
if (fstat(fw, &sb) < 0)
err(-1, "fstat(%s)", fwname);
txdata = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fw, 0);
if (txdata == MAP_FAILED)
err(-1, "mmap(%s)", fwname);
len = sb.st_size;
} else {
fwname = "ar5523.bin (builtin)";
fw = -1;
txdata = &_binary_ar5523_bin_start;
len = &_binary_ar5523_bin_end - &_binary_ar5523_bin_start;
}
else
fwname = "/usr/share/firmware/ar5523.bin";
fw = open(fwname, O_RDONLY, 0);
if (fw < 0)
err(-1, "open(%s)", fwname);
if (fstat(fw, &sb) < 0)
err(-1, "fstat(%s)", fwname);
txdata = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fw, 0);
if (txdata == MAP_FAILED)
err(-1, "mmap(%s)", fwname);
len = sb.st_size;
/* XXX verify device is an AR5005 part */
if (getdevname(devname, msgdev, datadev))
err(-1, "getdevname error");