Details on this package are located in Section 6.13.2, “Contents of Binutils.”
The Binutils package contains a linker, an assembler, and other tools for handling object files.
This package is known to have issues when its default optimization flags (including the -march and -mcpu options) are changed. If any environment variables that override default optimizations have been defined, such as CFLAGS and CXXFLAGS, unset them when building Binutils.
Create a separate build directory again:
mkdir ../binutils-build cd ../binutils-build
Prepare Binutils for compilation:
../binutils-2.15.94.0.2.2/configure --prefix=/tools \ --disable-nls --enable-shared --with-lib-path=/tools/lib
The meaning of the new configure options:
This tells the configure script to specify the library search path during the compilation of Binutils, resulting in /tools/lib being passed to the linker. This prevents the linker from searching through library directories on the host.
Compile the package:
make
Compilation is now complete. As discussed earlier, running the test suite is not mandatory for the temporary tools here in this chapter. To run the Binutils test suite anyway, issue the following command:
make check
Install the package:
make install
Now prepare the linker for the “Re-adjusting” phase in the next chapter:
make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib
Do not remove the Binutils source and build directories yet. These directories will be needed again in the next chapter in their current state.
Details on this package are located in Section 6.13.2, “Contents of Binutils.”