Subject: Toolchain status list (18-Oct-2001)
To: None <tech-toolchain@netbsd.org>
From: Todd Vierling <tv@wasabisystems.com>
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.

==============================
=== IMPORTANT NEW FEATURES ===
=============================

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
doc/BUILDING.mdoc).

 - A new script, "build.sh", 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.

   build.sh builds a "bmake" binary in TOOLDIR/bin, and executes it with
   the proper target MACHINE and MACHINE_ARCH.  "./build.sh -h" gives
   command line option information.

=========================
=== CURRENTLY IN WORK ===
=========================

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

===============================
=== BROKEN TOOLCHAIN ISSUES ===
===============================

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

================================
=== NEW FUNCTIONALITY ISSUES ===
================================

 - 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,
   rafal@mediaone.net)

 - Integrate mipseb properly into config.guess and configure.in 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)

=================================
=== FURTHER DEVELOPMENT TASKS ===
=================================

These tasks are postponed until all tasks above are completed.

 - 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

 - 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 <tv@wasabisystems.com>  *  Wasabi NetBSD:  Run with it.
-- CDs, Integration, Embedding, Support -- http://www.wasabisystems.com/