export LC_ALL=POSIX LANG=POSIX export PATH=$PATH:/cross/x86_64/tools/bin export CROSS_COMPILE=x86_64-slitaz-linux- export tools=/cross/x86_64/tools export sysroot=/cross/x86_64/sysroot export source=/cross/x86_64/source export TARGET=x86_64-slitaz-linux export BUILD_SYSTEM=i486-slitaz-linux mkdir -p $tools $sysroot $source cd /cross/x86_64/source # Binutils tar xf /home/slitaz/src/binutils-2.37.tar.bz2 cd binutils-2.37 ./configure --prefix=$tools --target=$TARGET --enable-plugins --enable-threads --enable-targets=$BUILD_SYSTEM --with-sysroot=$sysroot --disable-multilib --enable-64-bit-bfd make make install x86_64-slitaz-linux-ar -V # Kernel headers cd .. tar xf /home/slitaz/src/linux-4.19.294.tar.xz cd linux-4.19.294/ make CROSS_COMPILE="" mrproper make ARCH=x86_64 headers_check make ARCH=x86_64 headers_install INSTALL_HDR_PATH=$PWD/../linux-headers ls ../linux-headers/ mkdir -p $sysroot/usr cp -a ../linux-headers/* $sysroot/usr/ ls $sysroot/usr ls $sysroot/usr/include # Glibc headers cd .. tar xf /home/slitaz/src/glibc-2.23.tar.gz mkdir glibc-headers cd glibc-headers libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes ../glibc-2.23/configure --prefix=/usr --host=$TARGET --with-headers=$sysroot/usr/include --without-cvs --disable-sanity-checks --enable-kernel=4.19 make -k install-headers install_root=$sysroot touch $sysroot/usr/include/gnu/stubs.h # GCC static cd .. mkdir gcc-static tar xf /home/slitaz/src/gcc-6.3.0.tar.bz2 cd gcc-6.3.0/ tar xf /home/slitaz/src/mpfr-4.1.0.tar.xz tar xf /home/slitaz/src/gmp-6.2.1.tar.bz2 tar xf /home/slitaz/src/mpc-1.2.1.tar.gz mv mpfr-4.1.0 mpfr mv mpc-1.2.1 mpc mv gmp-6.2.1 gmp cd ../gcc-static ../gcc-6.3.0/configure --prefix=$tools --libexec=$tools/lib --target=$TARGET --disable-shared --disable-threads --disable-libgomp --disable-libmudflap --disable-libssp --without-headers --with-newlib --with-sysroot=$sysroot --enable-languages=c --disable-multilib make all-gcc all-target-libgcc make install-gcc install-target-libgcc x86_64-slitaz-linux-gcc -v # Glibc cd .. tar xf /home/slitaz/src/glibc-2.23.tar.gz cd glibc-2.23/ sed -i 's/3\.79/4.* | &/' configure* sed -i -e 's/"db1"/& \&\& $name ne "nss_test1"/' scripts/test-installation.pl sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in patch -Np1 < /home/slitaz/wok/glibc/stuff/glibc-2.21-gcc6_fix-1.patch patch -Np1 < /home/slitaz/wok/glibc/stuff/glibc-2.21-gcc6_fix-2.patch patch -Np1 < /home/slitaz/wok/glibc/stuff/glibc-2.21-gcc6_fix-3.patch patch -Np1 < /home/slitaz/wok/glibc/stuff/glibc-2.23-gcc.patch sed -i 's|obstack_compat;|obstack_compat __attribute__ ((nocommon));|' malloc/obstack.c sed -i 's|static const float one=1.0;|static const float __attribute__ ((unused)) one=1.0;|' sysdeps/ieee754/flt-32/s_cosf.c sed -i 's|static const char rcsid\[\] =|static const char __attribute__ ((unused)) rcsid\[\] =|' resolv/base64.c mkdir ../glibc-build cd ../glibc-build # thanks openembedded (https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-core/glibc/glibc.inc) # found ssp flag need to avoid issue with glibc 'undefined reference to __stack_chk_guard' CFLAGS="-march=nocona -O2 -pipe -fno-stack-protector" BUILD_CC="gcc" CC="${TARGET}-gcc -m64" AR="${TARGET}-ar" RANLIB="${TARGET}-ranlib" libc_cv_ssp_strong=no libc_cv_ssp_all=no libc_cv_ssp=no libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes ../glibc-2.23/configure --prefix=/usr --libexec=/usr/lib64/glibc --host=$TARGET --with-headers=$sysroot/usr/include --with-binutils=$tools/bin --enable-kernel=4.19 --enable-add-ons --enable-obsolete-rpc make make install_root=$sysroot install cd /cross/x86_64/sysroot ln -s lib64 lib cd usr/ ln -s lib64 lib cd /cross/x86_64/source # GCC final tar xf /home/slitaz/src/gcc-6.3.0.tar.bz2 cd gcc-6.3.0/ tar xf /home/slitaz/src/mpfr-4.1.0.tar.xz tar xf /home/slitaz/src/gmp-6.2.1.tar.bz2 tar xf /home/slitaz/src/mpc-1.2.1.tar.gz mv mpfr-4.1.0 mpfr mv mpc-1.2.1 mpc mv gmp-6.2.1 gmp mkdir ../gcc-final cd ../gcc-final AR=ar ../gcc-6.3.0/configure --prefix=$tools --libexec=$tools/lib --target=$TARGET --enable-shared --enable-c99 --enable-long-long --enable-__cxa_atexit --with-system-zlib --enable-plugin --disable-multilib --disable-libssp --disable-checking --disable-werror --with-pkgversion="SliTaz" --with-bugurl="http://bugs.slitaz.org/" --with-sysroot=$sysroot --enable-languages=c,c++ make AS_FOR_TARGET="${TARGET}-as" LD_FOR_TARGET="${TARGET}-ld" make install