Add a match quirk to prevent matching any interface on SiPEED FPGA
development boards (e.g. Tang Nano 9K). The FT2232s on these boards
are wired up only for JTAG.
vmem_init(): Ensure that the quantum is a power of 2, and that if private
tags are being used, they are added to the arena before the first span is
added.
makefs: Fix symlink permission bits
Permission bits for symlinks are taken straight from `lstat()`. However, the
actual bits presented to the user are filesystem/kernel specific. For example,
Linux with ext2/3/4 will use 0777 for symlinks, whereas NetBSD/FFS will
show 0755. As far as `makefs` is in the loop, the target filesystem will likely
be FFS, so use 0755.
makefs: Sort directory contents by name (Jan-Benedict Glaw)
`makefs` inserts nodes into its internal data structures in the order as
returned by `readdir()` calls. As this is unpredictable, sort entries by
name before creating the target filesystem.
This is done by first converting the (per-directory) linked list into
a plain array, sort it, finally re-link the list. Special case for the
sorting function: The "." directory entry seems to be ment to be always
at the front, so always check that first.
VAX boot.fs: Fix owner/group/permissions for VAX's boot.fs (Jan-Benedict Glaw)
(Initial patch from Christos Zoulas.) Don't create an archive based on local
permission bits and owner/group. Instead, feed a small manifest into `pax`
and let it to its work.
NB: Don't also feed in an entry for the current directory ".", as `pax` will
then archive all files in the current directory, in `readdir()` order.
`nm`: Generate a stable symbol table (Jan-Benedict Glaw)
Release artifacts may contain symbol lists. Binutils's `nm` sorts them by
symbol name, locale based. Inserting a plain `sort` (with `LC_ALL=C`) here
sorts them by address, and (with several symbols pointing to the same address)
sorting by name is also stable (think of embedded '_'.)