Command explanations
make BOOT_LDFLAGS=-static:
This is the equivalent to make LDFLAGS=-static as we use with other
packages to compile them statically.
--prefix=/static: This is NOT a typo. GCC hard
codes some paths while compiling and so we need to pass /static as the
prefix during ./configure. We pass the real install prefix during the
make install command later.
--enable-languages=c: This builds the C
compiler. The C++ compiler will be built in chapter 6, when we rebuild
GCC. Other compilers are available as well. If they are needed,
the --enable-languages parameter may be omitted.
--enable-threads=posix: This enables C++
exception handling for multithreaded code.
echo "#define HAVE_GAS_HIDDEN 1":
This defines the .hidden assembler directive so that we don't build
a faulty Glibc later on.
ln -s gcc $LFS/static/bin/cc: This
creates the $LFS/static/bin/gcc symlink which some packages need.