we're ELF now, and there are many missing checks against OBJECT_FMT.
if we ever consider switching, the we can figure out what new ones
we need but for now it's just clutter.
this doesn't remove any of the support for exec_aout or any actually
required-for-boot a.out support, only the ability to build a netbsd
release in a.out format. ie, most of this code has been dead for
over a decade.
i've tested builds on vax, amd64, i386, mac68k, macppc, sparc, atari,
amiga, shark, cats, dreamcast, landisk, mmeye and x68k. this covers
the 5 MACHINE_ARCH's affected, and all the other arch code touched.
it also includes some actual run-time testing of sparc, i386 and
shark, and i performed binary comparison upon amiga and x68k as well.
some minor details relevant:
- move shlib.[ch] from ld.aout_so into ldconfig proper, and cut them
down to only the parts ldconfig needs
- remove various unused source files
- switch amiga bootblocks to using elf2bb.h instead of aout2bb.h
these were sourced from:
- linux kernel sources, firmware/radeon/
- people.freedesktop.org/~agd5f/radeon_ucode/
LICENSE.radeon has the full license, which my simple reading sees as
being largely similar to other re-distributable licenses for firmware
(ie, does not include de-compliation or reverse engineering.)
some firmware sizes are the expected size. (XXX make all.)
based upon similar changes seen in the linux radeon drm driver.
this saves about 250KB in the kernel or module.
the API? Most likely; will revise it.
Fixes atf-run breaking when running t_psshfs. This does not resolve the
underlying issue though, which is atf-run getting confused trying to
unmount the temporary mount point by itself (I think). (I'm now wondering
if atf should be bothering about unmounting stuff at all. Maybe not. It is
a tricky and uncommon thing.)
Due to the nature of the feature under test, this one is a little
different, so let me explain how it works.
The test program forks and bootstraps a rump kernel in both processes.
It then configures shared memory interfaces in both. shmif is nice
in that it uses a mmaped file as the bus and does not require root
privileges for communication between two (or more) processes. The
child process then proceeds to increase icmp.returndatabytes as
indicated by the PR, while the parent process sets the global TTL
of the rump kernel to 1 (note: both values only affect the respective
rump kernels, not each other or more importantly the host kernel).
The parent then sends the bad packet which is supposed to be routed
by the child. If ip_icmp.c was too old, *boom* + fail; otherwise
nothing bad happens and the test exists with success after one
second.
Eventually this test can be extended into a framework for automated
testing of any networking code which requires (arbitrarily complex)
routing setups.
IEEE 802.11b/g WLAN device, ported from OpenBSD by FUKAUMI Naoki:
http://mail-index.NetBSD.org/current-users/2010/05/28/msg013570.html
Slightly modified by me to use recently added config_mountroot(9)
to defer some device initialization until mountroot for firmload(9).
Tested on Sharp W-ZERO3 WS003SH with internal WLAN.
Note currently we cannot redistribute firmware files for upgt(4) so
they have to be downloaded and copied into /libdata/firmware/upgt manually.
See upgt(4) man page about firmware details.
get tmpfs rename to "tstile".
Note1: triggering this on any non-SMP system is not as easy (because
one system call tends to run from start to finish in one go) and
therefore I've limited it to i386 and amd64. Incidentally, I'm
still waiting for the eternally elusive MI CPU_INFO_FOREACH (or at
least something else than a stupid macro) ...
Note2: this is a "race condition" test. I tested it on my development
host and in qemu and it triggers pretty instantly. But YMMV.