Subject: Toolchain status list (18-Oct-2001)
To: None <>
From: Todd Vierling <>
List: tech-toolchain
Date: 10/18/2001 23:40:18
Here's what is currently on my toolchain agenda.  If you have items to add,
please let me know so that I may update this list.


Everything in this section will be documented as part of a nroff-based
document that will be going in basesrc/BUILDING shortly (with source in

 - A new script, "", will allow building NetBSD on most systems with
   working C and C++ compilers.  Currently, some of the host tools are
   dependent on 4.4BSDisms or NetBSDisms, so this is mainly for NetBSD
   pre-current hosts at the moment. builds a "bmake" binary in TOOLDIR/bin, and executes it with
   the proper target MACHINE and MACHINE_ARCH.  "./ -h" gives
   command line option information.


The following items have been implemented and are being cleaned up for
committal; they should appear in-tree within 24 hours.

 - Document new toolchain system (src/BUILDING)

 - Allow lint to work properly in cross-compile mode by providing proper
   definitions to lint1/param.h (pr 14280)

 - Create defaults based on host machine and MAKEOBJDIRPREFIX for TOOLDIR
   and objdirs under src/tools, to distinguish host/target pairs and allow
   TOOLDIR to be left unset by the builder

 - Add cross-groff to src/tools


 - Investigate why parse.h is *sometimes* not built for compile_et in both
   tools and usr.bin (prs 14187 and 14239)

 - Investigate nonworking timestamp logic for src/tools in some environments
   (pr 14278)


 - Add proper conditionals to make use of USETOOLS=yes/no/never states
   (related to pr 14162)

 - Add -fPIC (and -fpic, where needed) versions of libgcc for compiling
   complex C++ shared objects or runtime loaded program modules

 - Migrate asn1_compile to src/tools

 - Investigate various MIPS reloc lossage on new toolchain (tech-toolchain,

 - Integrate mipseb properly into config.guess and segments

 - Fix lib/checkver to work even if shlib_version does not exist (by
   extracting SHLIB_MAJOR, SHLIB_MINOR, and SHLIB_TEENY from "make -V")

 - Fix gcc/bfd/ld on alpha to use our current (historic) PLT format and
   nop/unop sequence properly

 - Find workaround for double math issues on sparc64 (pr 14095)

 - Convert host tools using GCCisms to more standard code where possible,
   particularly packed struct attributes (i.e. mklocale)


The following tasks are important but are blocked because I'm focusing on
the issues above -- help would be appreciated:

 - Create cross capable mklocale (jchacon has done some work thus far on this)

 - 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)


These tasks are postponed until all tasks above are completed.

 - Port forward changes to gcc 3.0.x and gcc-current
   (may create CVS tree for collaborative merge work)

 - Submit patches for all active gcc branches to FSF

 - 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

 - General clean up of build system, particularly toolchain2netbsd

-- Todd Vierling <>  *  Wasabi NetBSD:  Run with it.
-- CDs, Integration, Embedding, Support --