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
+.if (${MACHINE_ARCH} == "mips64eb") || (${MACHINE_ARCH} == "mips64el")
+# Turn off as(1) warnings on MIPS, since warnings are fatal with WARNS>0
+# and GCC configury passes -finhibit-size-directive which causes mips-gas
+# to barf. Don't know what the real fix for this is...
+#
+# XXX should be COPTS, but that's too early
+CPUFLAGS+=-Wa,--no-warn
XXX: powerpc and sh3eb files got WORDS_BIGENDIAN define wrong.
XXX: hand patched the correct for now, and will be investigating
XXX: why this is happening now.
doesn't provide that any more, and this Makefile uses the latter
in a non-standard fashion.
Fixes "make" in a clean directory when "make depend" has not been run.
Use DPSRCS rather than hand-crafted rules to achieve the same effect.
compile significant portions of the tree at -O1 instead of -O2, and
sometimes -Os/-O0 is required, and others none works. i'd guess that
some instructions in the .md file are generating more assembler than
they claim to be since all these errors are due too large offsets.
but fixing that is work for someone else, or at least another day :-)
XXX: re-running "make native-gcc" some times causes the
XXX: gcc/configure test for COMDAT groups to fail. a fresh
XXX: configure (ie, with no objdir/.native tree yet) seems to
XXX: fix this. right now mipsel and alpha have the wrong
XXX: definition in the checked in auto-host.h.
to kernels build now (this breaks due to current -current breakage.)
(i guess christos's csu fixes fixed the builds libgcc_s build, which was
missing symbols that i recall as being weak.)
the mips* binaries are as-yet untested.