FreeBSD needs a few groups that NetBSD doesn't provide by default. This
is annoying because it is the only thing that you need to do to a
NetBSD/Alpha system to bootstrap build FreeBSD/Alpha. Oh well, it
wouldn't be Unix without gratuitous differences, would it?
the FreeBSD one which isn't built during the bootstrap. This causes all
programs that normally use shared libraries to fail to exec with
"ELF: not found". Sub-optimal. So force the boot strapped programs
to be linked statically.
To install the FreeBSD header files requires both the include tools and the
lib tools. And the libraries require the FreeBSD headers, so the first
build of the tools compiles FreeBSD source against NetBSD headers and
libraries. These tools are then used to install the headers and build
the FreeBSD libraries. After doing that, go back and rebuild the tools
_again_ so that they are fully FreeBSD (src, headers, libs). And only
then go on to build the rest of the FreeBSD system with _only_ FreeBSD
tools.
crt objects built during that phase don't try to find FreeBSD specific
headers. This causes the rtld to be left out, but that's OK because
at this stage, the programs are linked statically anyway.
When the libraries are built, the crt objects will be built with
the FreeBSD tools and compiled against the FreeBSD headers, so that's
the time when the rtld support cuts in.
port is up to and that to do.
Change MACHINE to MACHINE_ARCH so that a symlink can be created to this
file and have the bootstrap work for other NetBSD ports.
Make the csu directory non-optional and build it immediately after
building gcc which *needs* the new csu files. The link spec for gcc
on FreeBSD/Alpha differs from the NetBSD/Alpha version. I decided that
since this is FreeBSD, it should have a FreeBSD flavour and it makes sense
to keep compatibility with other FreeBSD implementations - in this case
FreeBSD/i386-elf.
objdump all build out of the FreeBSD tree. At EDS we used to call this
a "significant emotional event".
Still using the lorder script from NetBSD until I can explain why the
is a difference in nm behaviour when the output looks the same.
NetBSD/Alpha 1.3 system. It currently skips things like libc, ld, gas
but correctly (I think) builds gcc, cpp, g++ and other FreeBSD build
tools that are needed to build the rest of the system.