Set WITH_ELFTOOLCHAIN_TOOLS in src.conf to use the elftoolchain version
of the following tools:
* addr2line
* elfcopy (strip / mcs)
* nm
* size
* strings
Reviewed by: bapt (earlier version)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1224
Fixed the type of the string table size variable to match its use
(assuming that int32_t is 4 bytes and other unportable things).
bfd uses `unsigned char string_chars[BYTES_IN_WORD]', where
BYTES_IN_WORD can be 4, 8, or perhaps even 2 or 3, but it is
assumed to be precisely 4 bytes here.
Fixed printf format errors (don't assume that n_value in struct
n_list has type u_long, since it should have size BYTES_IN_WORD
and longs may be longer than words).
Move our old a.out utils to /usr/libexec/aout.
Enable binutils and put the utils in /usr/libexec/elf
Enable objformat, a little helper program that calls the right
utils based on /etc/objformat and $OBJFORMAT.
This will enable the ELF generating tools.
Remember that this is only step one, the system is still compiled
and run in a.out format ONLY.
Problem left to solve: The BSD manpages wins over the GNU equivalents
as the are installed last. We need to distinguish between the manpages
somehow...
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.