binutils
=====
../configure \
--enable-option-checking \
--prefix=${CX_DIR} \
--target=${T_TRIPLET} \
--disable-nls \
--enable-64-bit-bfd \
--enable-plugins \
--enable-threads \
--disable-multilib
assert_err $?
make -j12
assert_err $?
make install
assert_err $?
dirs -c
exit $?
=====
linux headers
=====
NAME="linux"
## stage
# TODO add check for success
cp -Rf ${SOURCES_DIR}/${NAME}-* ${BUILD_DIR}/${NAME}
assert_err $?
#apply_patches ${PATCH_DIR} ${BUILD_DIR}/${NAME}
# set cwd to current target
pushd ${BUILD_DIR}/${NAME}
# why is this pointing to the compiler space instead of the
# crosscompiler space?
# by other instructionals it looks like it should be
# INSTALL_HDR_PATH=${CX_DIR}
make mrproper
assert_err $?
make \
-j12 \
ARCH=$(uname -m) \
headers_check
assert_err $?
make \
ARCH=$(uname -m) \
INSTALL_HDR_PATH=${CX_DIR} \
headers_install
assert_err $?
dirs -c
exit $?
======
GCC
======
NAME="gcc"
## stage
# TODO add check for success
cp -Rf ${SOURCES_DIR}/${NAME}-* ${BUILD_DIR}/${NAME}
assert_err $?
#apply_patches ${PATCH_DIR} ${BUILD_DIR}/${NAME}
mkdir ${BUILD_DIR}/${NAME}-build
assert_err $?
pushd ${BUILD_DIR}/${NAME}
assert_err $?
contrib/download_prerequisites
assert_err $?
popd
assert_err $?
pushd ${BUILD_DIR}/${NAME}-build
assert_err $?
../${NAME}/configure \
--prefix="${CX_DIR}" \
--program-prefix="cx-" \
--with-local-prefix="${CX_DIR}" \
--with-native-system-header-dir="/include" \
--disable-shared \
--with-gnu-as \
--with-as="${CX_DIR}/${T_TRIPLET}/bin/as" \
--disable-nls \
--build="${H_TRIPLET}" \
--host="${H_TRIPLET}" \
--target="${T_TRIPLET}" \
--with-sysroot="${CX_DIR}" \
--with-build-sysroot="${CX_DIR}" \
--enable-languages=c,c++ \
--enable-checking=release
assert_err $?
make -j12 all-gcc
assert_err $?
make install all-gcc
assert_err $?
dirs -c
exit $?
=============================
OUTPUT when compiling GCC
==============================
g++ -fno-PIE -c -DIN_GCC_FRONTEND -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -Icp -I../../gcc/gcc -I../../gcc/gcc/cp -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -I/opt/foster/out/build/gcc-build/./gmp -I/opt/foster/out/build/gcc/gmp -I/opt/foster/out/build/gcc-build/./mpfr/src -I/opt/foster/out/build/gcc/mpfr/src -I/opt/foster/out/build/gcc/mpc/src -I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc/gcc/../libbacktrace -I/opt/foster/out/build/gcc-build/./isl/include -I/opt/foster/out/build/gcc/isl/include -o cp/vtable-class-hierarchy.o -MT cp/vtable-class-hierarchy.o -MMD -MP -MF cp/.deps/vtable-class-hierarchy.TPo ../../gcc/gcc/cp/vtable-class-hierarchy.c
*** This configuration is not supported in the following subdirectories:
gnattools gotools target-libada target-libhsail-rt target-libstdc++-v3 target-libphobos target-zlib target-libbacktrace target-libgfortran target-libgo target-libffi target-libobjc target-liboffloadmic target-libitm target-libsanitizer target-libvtv
(Any other directories should still work fine.)
*** removing build-x86_64-xhl-linux-gnu/libiberty/Makefile to force reconfigure
*** removing build-x86_64-xhl-linux-gnu/libcpp/Makefile to force reconfigure
*** removing build-x86_64-xhl-linux-gnu/fixincludes/Makefile to force reconfigure
*** removing intl/Makefile to force reconfigure
*** removing libiberty/Makefile to force reconfigure
*** removing zlib/Makefile to force reconfigure
*** removing libbacktrace/Makefile to force reconfigure
*** removing libcpp/Makefile to force reconfigure
*** removing libdecnumber/Makefile to force reconfigure
*** removing gmp/Makefile to force reconfigure
*** removing mpfr/Makefile to force reconfigure
*** removing mpc/Makefile to force reconfigure
*** removing isl/Makefile to force reconfigure
*** removing fixincludes/Makefile to force reconfigure
*** removing gcc/Makefile to force reconfigure
*** removing lto-plugin/Makefile to force reconfigure
configure: WARNING: the "none" host is obsolete, use --disable-assembly
configure: WARNING: cannot check for properly working vsnprintf when cross compiling, will assume it's ok
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
configure: WARNING: fixed-point is not supported for this target, ignored
Links are now set up to build a cross-compiler
from x86_64-xhl-linux-gnu to x86_64-xtl-linux-gnu.
tm_p.h is unchanged
config.h is unchanged
bconfig.h is unchanged
tm.h is unchanged
tm_d.h is unchanged
tconfig.h is unchanged
malloc(): mismatching next->prev_size (unsorted)
during RTL pass:
../../gcc/gcc/cp/name-lookup.c: In member function 'void name_lookup::restore_state()':
../../gcc/gcc/cp/name-lookup.c:326:1:
malloc(): mismatching next->prev_size (unsorted)
g++: internal compiler error:
name_lookup::restore_state ()
^~~~~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See
make[1]: ***
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/opt/foster/out/build/gcc-build/gcc'