diff options
author | Warner Losh <imp@FreeBSD.org> | 2016-03-15 04:42:37 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2016-03-15 04:42:37 +0000 |
commit | 486607d0b6c5d6f72143d6f55493f25d2e932eb2 (patch) | |
tree | cf8df1c782df55c5bd1123f20c0ae86b1c9d035a /usr.sbin/uathload | |
parent | dd923e0c4aa091bd67c863b4c4c51b37c163b1e2 (diff) | |
download | src-486607d0b6c5d6f72143d6f55493f25d2e932eb2.tar.gz src-486607d0b6c5d6f72143d6f55493f25d2e932eb2.zip |
Just install ar5523.bin into /usr/share/firmware and stop compiling it
in.
Differential Review: https://reviews.freebsd.org/D5639
Notes
Notes:
svn path=/head/; revision=296889
Diffstat (limited to 'usr.sbin/uathload')
-rw-r--r-- | usr.sbin/uathload/Makefile | 22 | ||||
-rw-r--r-- | usr.sbin/uathload/uathload.c | 28 |
2 files changed, 16 insertions, 34 deletions
diff --git a/usr.sbin/uathload/Makefile b/usr.sbin/uathload/Makefile index 949f800ee138..f8b26a43b439 100644 --- a/usr.sbin/uathload/Makefile +++ b/usr.sbin/uathload/Makefile @@ -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> diff --git a/usr.sbin/uathload/uathload.c b/usr.sbin/uathload/uathload.c index 64ae6618708a..ba2258f101b8 100644 --- a/usr.sbin/uathload/uathload.c +++ b/usr.sbin/uathload/uathload.c @@ -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"); |