Subject: NetBSD/vax is now ELF; New snapshot available
To: None <firstname.lastname@example.org>
From: Matt Thomas <email@example.com>
Date: 04/01/2002 02:56:05
NetBSD/vax switched to using ELF as its object file format this
past weekend. For general information about why NetBSD is
switching to ELF, please read:
An ELF snapshot (which at the moment doesn't include the X sets) is
The upgrade instructions to ELF for mac68k can be used for VAX as
well (for the most part) though it is highly recommended you let
sysinst do the hard work:
NetBSD/vax 1.5.2 and later bootblocks support loading an ELF
version of /boot. /boot can load either a.out or ELF kernels.
Now that NetBSD/vax is ELF, a number of issues/problems have been
1) By default, all objects are PIC. Indeed, static and shared libraries
are generated from the same objects so builds take less time. The
linker is responsible for doing the magic to make dynamic references.
A side effect of being PIC, an ELF object have a smaller code size
than its corresponding a.out object.
2) Since this is a new ABI, the size of a jmp_buf could be extended so
that all callee-saved registers are saved in setjmp/_setjmp/sigsetjmp
so that GNU pth works.
3) RRS text relocation warnings that a.out linker emitted are a thing
of the past.
4) NetBSD/vax snapshots (modulo X) can be entirely cross-built (hopefully
on a fast machine) without needing to be root. The process is entirely
unprivileged. An example of the commands (with a 600MB MFS mounted
on /tmp) needed to do this are:
mkdir -p /tmp/vax/obj /tmp/vax/tools
sh build.sh -m vax -U -r -T /tmp/vax/tools -D /tmp/vax/root \
-R /tmp/vax/release -O /tmp/vax/obj
5) Support for making installable ISO images has been added. After the
above commands do:
Matt Thomas Internet: firstname.lastname@example.org
3am Software Foundry WWW URL: http://www.3am-software.com/bio/matt/
Cupertino, CA Disclaimer: I avow all knowledge of this message