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/