The ELF Toolchain Project maintains BSD licensed implementations of essential compilation tools and libraries for handling ELF based program images. This GitHub project is being used to experiment with integrating the Elftoolchain into the NetBSD build system.
$NETBSDSRC/external/bsd/elftoolchain/dist. Note: By convention, NetBSD build uses separate
lib/directories which "reach into" the
dist/directory for sources.
MKELFTOOLCHAINspecifies the ELFToolChain utilities that are to be built. This knob would contain a list of utilities to be built and installed, or "no". If "no", then the toolchain sources are ignored. Otherwise, the corresponding Elftoolchain utilities will be built in preference to the existing GNU ones. Note that the use of GNU binutils cannot be completely avoided at this time, since the Elftoolchain project is yet to release an
share/mk/bsd.own.mkneeds to handle the case where
gccis built with Elftoolchain utilities.
share/man5/mk.conf.5needs a documentation entry.
doc/BUILDING.mdocwould need a description of the MKELFTOOLCHAIN knob.
documentationdirectories need to be removed.
elftoolchain2netbsdscript needs to be added, to automate future imports.
external/bsd/libdwarfhave older versions of Elftoolchain code. Locally applied bug-fixes (if any) to these libraries would need to be integrated in the mainline Elftoolchain tree.
On some architectures, the dbsym utility is used to move kernel symbol information into a pre-allocated array in the kernel's data segment. This utility uses
-lbfd and would need to be ported to use
This utility copies a disk image into a kernel. It uses
distribneeds to be examined for toolchain-related dependencies.
Last edited by jkoshy,