Subject: Toolchain Update (09-Nov-2001 Pt 1)
To: None <email@example.com>
From: Todd Vierling <firstname.lastname@example.org>
Date: 11/09/2001 14:22:08
First update. I have a LOT to commit today, so I will make a second posting
late this evening with plans for what's next and an updated feature list.
If you have items to add, please let me know so that I may update this list.
=== CURRENTLY IN WORK ===
The following items have been implemented and will appear in-tree within the
next 2-6 hours.
- Reimplement BSDSRCDIR/BSDOBJDIR via a <bsd.obj.mk> rewrite and .OBJDIR:
override. (Allows the top level to gain an objdir; the BSDSRCDIR
rewrite would not work with it as-is.)
- Change objdir names for src/tools to use a host*target tuple if
OBJMACHINE is set, rather than just the target. Use .OBJDIR: to override.
- Redo the way src/tools builds, so as to have tools install only as
properly needed. This will let dependencies work as they do elsewhere in
the tree. (pr 14392)
- Add a switch to make(1) to turn off objdir handling explicitly. (pr 3938)
- Re-enable PWD env logic in make, with the exception that MAKEOBJDIR
transforms (MAKEOBJDIR containing a '$') should also disable it.
(Similar problems as MAKEOBJDIRPREFIX, which also disabled PWD.)
- Fix dependencies in src/gnu/usr.bin/f771 for a UPDATE build (pr 14387).
- Use timestamp files at the top level to allow for automatic recognition
of restart points.
- Add src/tools/groff.
- Move source for BUILDING.* (BUILDING.mdoc) to be installed to
/usr/share/doc, keeping build structure for top-level readable copies.
- Fix make(1) bug causing xsrc/xfree/xc/lib/GL/GL build to fail (search
The following items are actively being worked on by me as of this writing,
and will be finished tomorrow (Saturday, 10 Nov):
- Check "distrib" Makefiles to ensure that standard null targets are
included where appropriate
=== IMPORTANT DEVELOPMENT TASKS ===
The following issues are considered important for the toolchain. I intend
to address all of these; if you wish to help out or take over a bulleted
item, please let me know in e-mail.
- Convert host tools using GCCisms to more standard code where possible
to make them usable on more host OS's
- Investigate newer, more lenient printf -Wformat checks and see if
stricter checks can be reenabled easily (pr 14314)
- Add -fPIC (and -fpic, where needed) versions of libgcc for compiling
complex C++ shared objects or runtime loaded program modules
- Fix lib/checkver to work even if shlib_version does not exist (by
extracting SHLIB_MAJOR, SHLIB_MINOR, and SHLIB_TEENY from "make -V")
- Integrate mipseb properly into config.guess and configure.in segments
=== FURTHER DEVELOPMENT TASKS ===
These tasks are lower priority, giving precedence where practical to the
tasks above, because of size or complexity (or because the platform involved
isn't completely working on the new toolchain). Volunteers to help with
these issues are welcome.
- Port forward changes to gcc 3.0.x and gcc-current
(may create cvs.netbsd.org CVS tree for collaborative merge work)
- Submit patches for all active gcc branches to FSF
- Add ability for mtree to look at custom passwd and group files
(should probably work with a flat text master.passwd, and pull these
right from src/etc, to provide the necessary gids)
- Investigate various MIPS reloc lossage on new toolchain (tech-toolchain,
- Fix gcc/bfd/ld on alpha to use our current (historic) PLT format and
nop/unop sequence properly
- Fix ld.elf_so to work with newer MP-safe PLT format on alpha
(and change gcc/bfd/ld to use it on systems that are capable)
- Investigate why the "new" nop/unop sequence on alpha gives us pipeline
caching issues (this has been an issue since binutils 2.9.x) - will
coordinate with thorpej for tech assistance
- Fix 128-bit FP emulation on sparc64 so the "-msoft-quad-float" hack
=== ISSUES BEING INVESTIGATED BY OTHERS ===
This list will be re-added in the second update, this evening.
-- Todd Vierling <email@example.com> * Wasabi NetBSD: Run with it.
-- CDs, Integration, Embedding, Support -- http://www.wasabisystems.com/