tc14_x86_64 (on CorePure64-13.x)

tce-load -i compiletc perl5 ncursesw-dev bash mpc-dev udev-lib-dev texinfo coreutils glibc_apps gettext python3.6

export TC=/mnt/tc [***]

sudo mkdir $TC
sudo mount /dev/sdc3 $TC [***]

sudo mkdir -pv $TC/usr
sudo mkdir -pv $TC/lib
sudo mkdir -pv $TC/var
sudo mkdir -pv $TC/etc
sudo mkdir -pv $TC/bin
sudo mkdir -pv $TC/sbin

sudo chown -v tc:staff $TC/usr
sudo chown -v tc:staff $TC/lib
sudo chown -v tc:staff $TC/var
sudo chown -v tc:staff $TC/etc
sudo chown -v tc:staff $TC/bin
sudo chown -v tc:staff $TC/sbin


sudo mkdir $TC/tools [***] 
sudo chown tc:staff $TC/tools [***]

sudo ln -s $TC/tools / [***]

sudo mkdir $TC/sources
sudo chown tc:staff $TC/sources

cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF

cat > ~/.bashrc << "EOF"
set +h
umask 022
TC=/mnt/tc
LC_ALL=POSIX
TC_TGT=x86_64-tc-linux-gnu
PATH=$TC/tools/bin:/usr/local/bin:/bin:/usr/bin
export TC LC_ALL TC_TGT PATH
EOF

source ~/.bash_profile

----------

cd binutils-2.39

mkdir build
cd build

../configure --prefix=$TC/tools --with-sysroot=$TC --target=$TC_TGT --disable-nls --enable-gprofng=no --disable-werror

make [2m52.205s]
make install


cd gcc-12.2.0

tar -xf ../mpfr-4.1.1.tar.xz
mv mpfr-4.1.1 mpfr
tar -xf ../gmp-6.2.1.tar.xz
mv gmp-6.2.1 gmp
tar -xf ../mpc-1.3.0.tar.gz
mv mpc-1.3.0 mpc

sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64

edit gcc/config/i386/linux64.h
#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"

mkdir build
cd build

../configure --target=$TC_TGT --prefix=$TC/tools --with-glibc-version=2.36 --with-sysroot=$TC --with-newlib --without-headers --enable-initfini-array --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libatomic --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libstdcxx --enable-languages=c,c++

make [35m42.954s]
make install

cd ..
cat gcc/limitx.h gcc/glimits.h gcc/limity.h > `dirname $($TC_TGT-gcc -print-libgcc-file-name)`/install-tools/include/limits.h


cd linux-6.1

make mrproper

make headers
find usr/include -name '.*h' -delete
rm usr/include/Makefile
cp -rv usr/include $TC/usr [need to save]


cd glibc-2.36

edit manual/libc.tcexinfo
remove @documentencoding UTF-8

sed '/MAKEFLAGS :=/s/)r/) -r/' -i Makerules

patch -Np1 -i ../glibc-2.36-fhs-1.patch

mkdir build
cd build

echo "rootsbindir=/usr/sbin" > configparms

../configure --prefix=/usr --host=$TC_TGT --build=$(../scripts/config.guess) --enable-kernel=5.4.3 --with-headers=$TC/usr/include libc_cv_slibdir=/lib

make [10m17.933s]
make DESTDIR=$TC install

sed '/RTLDLIST=/s@/usr@@g' -i $TC/usr/bin/ldd

echo 'int main(){}' > dummy.c
$TC_TGT-gcc dummy.c
readelf -l a.out | grep '/ld-linux'

[Requesting program interpreter: /lib/ld-linux-x86-64.so.2]

rm dummy.c a.out

$TC/tools/libexec/gcc/$TC_TGT/12.2.0/install-tools/mkheaders


cd gcc-12.2.0 (libstdc++)

mkdir build
cd build

../libstdc++-v3/configure --host=$TC_TGT --build=$(../config.guess) --prefix=/usr --disable-multilib --disable-nls --disable-libstdcxx-pch --with-gxx-include-dir=/tools/$TC_TGT/include/c++/12.2.0

make [0m46.085s]
make DESTDIR=$TC install

----

cd m4-1.4.19

./configure --prefix=/usr --host=$TC_TGT --build=$(build-aux/config.guess)

make [0m14.053s]
make DESTDIR=$TC install


cd ncurses-6.3

sed -i s/mawk// configure

mkdir build
cd build
  ../configure
  make -C include
  make -C progs tic
cd ..

./configure --prefix=/usr --host=$TC_TGT --build=$(./config.guess) --mandir=/usr/share/man --with-manpage-format=normal --with-shared --without-normal --with-cxx-shared --without-debug --without-ada --disable-stripping --enable-widec

make [0m43.214s]

make DESTDIR=$TC TIC_PATH=$(pwd)/build/progs/tic install
echo "INPUT(-lncursesw)" > $TC/usr/lib/libncurses.so


cd bash-5.2.15

./configure --prefix=/usr --build=$(support/config.guess) --host=$TC_TGT --without-bash-malloc

make [0m41.144s]
make DESTDIR=$TC install

ln -sv /usr/bin/bash $TC/bin/sh

cd coreutils-9.1

./configure --prefix=/usr --host=$TC_TGT --build=$(build-aux/config.guess) --enable-install-program=hostname --enable-no-install-program=kill,uptime

make [1m3.321s]
make DESTDIR=$TC install

mv -v $TC/usr/bin/chroot $TC/usr/sbin
mkdir -pv $TC/usr/share/man/man8
mv -v $TC/usr/share/man/man1/chroot.1 $TC/usr/share/man/man8/chroot.8
sed -i 's/"1"/"8"/' $TC/usr/share/man/man8/chroot.8


cd diffutils-3.8

./configure --prefix=/usr --host=$TC_TGT

make [0m12.309s]
make DESTDIR=$TC install


cd file-5.43

mkdir build
cd build
../configure --disable-bzlib --disable-libseccomp --disable-xzlib --disable-zlib
make
cd ..

./configure --prefix=/usr --host=$TC_TGT --build=$(./config.guess)

make FILE_COMPILE=$(pwd)/build/src/file [0m6.344s]
make DESTDIR=$TC install

rm -v $TC/usr/lib/libmagic.la


cd findutils-4.9.0

./configure --prefix=/usr -localstatedir=/var/lib/locate --host=$TC_TGT --build=$(build-aux/config.guess)

make [0m17.491s]
make DESTDIR=$TC install


cd gawk-5.2.1

sed -i 's/extras//' Makefile.in

./configure --prefix=/usr --host=$TC_TGT --build=$(./config.guess)

make [0m23.251s]
make DESTDIR=$TC install


cd grep-3.8

./configure --prefix=/usr --host=$TC_TGT

make [0m11.852s]
make DESTDIR=$TC install


cd gzip-1.12

./configure --prefix=/usr --host=$TC_TGT

make [0m4.998s]
make DESTDIR=$TC install


cd make-4.4

sed -e '/ifdef SIGPIPE/,+2 d' -e '/undef  FATAL_SIG/i FATAL_SIG (SIGPIPE);' -i src/main.c

./configure --prefix=/usr --without-guile --host=$TC_TGT --build=$(build-aux/config.guess)

make [0m6.779s]
make DESTDIR=$TC install


cd patch-2.7.6

./configure --prefix=/usr --host=$TC_TGT --build=$(build-aux/config.guess)

make [0m7.323s]
make DESTDIR=$TC install


cd sed-4.9

./configure --prefix=/usr --host=$TC_TGT

make [0m9.162s]
make DESTDIR=$TC install


cd tar-1.34

./configure --prefix=/usr --host=$TC_TGT --build=$(build-aux/config.guess)

make [0m19.885s]
make DESTDIR=$TC install


cd xz-5.4.0

./configure --prefix=/usr --host=$TC_TGT --build=$(build-aux/config.guess) --disable-static --docdir=/usr/share/doc/xz-5.4.0

make [0m15.138s]
make DESTDIR=$TC install

rm -v $TC/usr/lib/liblzma.la


cd binutils-2.39

sed '6009s/$add_dir//' -i ltmain.sh

mkdir build
cd build

../configure --prefix=/usr --build=$(../config.guess) --host=$TC_TGT --disable-nls --enable-shared --enable-gprofng=no --disable-werror --enable-64-bit-bfd

make [3m21.253s]
make DESTDIR=$TC install

rm -v $TC/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.{a,la}


cd gcc-12.2.0

tar -xf ../mpfr-4.1.1.tar.xz
mv -v mpfr-4.1.1 mpfr
tar -xf ../gmp-6.2.1.tar.xz
mv -v gmp-6.2.1 gmp
tar -xf ../mpc-1.3.0.tar.gz
mv -v mpc-1.3.0 mpc

sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64

edit gcc/config/i386/linux64.h
#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"

sed '/thread_header =/s/@.*@/gthr-posix.h/' -i libgcc/Makefile.in libstdc++-v3/include/Makefile.in

mkdir build
cd build

mkdir -pv $TC_TGT/libgcc
ln -s ../../../libgcc/gthr-posix.h $TC_TGT/libgcc/gthr-default.h

../configure --build=$(../config.guess) --host=$TC_TGT CC_FOR_TARGET=$TC_TGT-gcc --prefix=/usr --with-build-sysroot=$TC --enable-initfini-array --disable-nls --disable-multilib --disable-decimal-float --disable-libatomic --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libstdcxx --enable-languages=c,c++

make [38m12.141s]
make DESTDIR=$TC install

ln -sv gcc $TC/usr/bin/cc

----

sudo chown -R root:root $TC/{usr,lib,var,etc,bin,sbin,tools}

sudo mkdir -pv $TC/{dev,proc,sys,run}

sudo mknod -m 600 $TC/dev/console c 5 1
sudo mknod -m 666 $TC/dev/null c 1 3

sudo mount -v --bind /dev $TC/dev

sudo mount -v --bind /dev/pts $TC/dev/pts
sudo mount -vt proc proc $TC/proc
sudo mount -vt sysfs sysfs $TC/sys
sudo mount -vt tmpfs tmpfs $TC/run

sudo /usr/local/sbin/chroot "$TC" /usr/bin/env -i HOME=/root TERM="$TERM" PS1='(tc chroot) \u:\w\$ ' PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/sbin:/usr/sbin /usr/bin/bash --login +h

----

mkdir -pv /{boot,home,mnt,opt,srv}

mkdir -pv /etc/{opt,sysconfig}
mkdir -pv /lib/firmware
mkdir -pv /media/{floppy,cdrom}
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}
mkdir -pv /var/{cache,local,log,mail,opt,spool}
mkdir -pv /var/lib/{color,misc,locate}

ln -sfv /run /var/run
ln -sfv /run/lock /var/lock

install -dv -m 0750 /root
install -dv -m 1777 /tmp /var/tmp

ln -sv /proc/self/mounts /etc/mtab

cat > /etc/hosts << EOF
127.0.0.1  localhost $(hostname)
::1        localhost
EOF

[copy tc /etc/passwd and /etc/group files to $TC/etc]

exec /usr/bin/bash --login +h

touch /var/log/{btmp,lastlog,faillog,wtmp}

chmod -v 664  /var/log/lastlog
chmod -v 600  /var/log/btmp

----

cd gcc-12.2.0 (libstdc++)

ln -s gthr-posix.h libgcc/gthr-default.h

mkdir build
cd build

../libstdc++-v3/configure CXXFLAGS="-g -O2 -D_GNU_SOURCE" --prefix=/usr --disable-multilib --disable-nls --host=x86_64-tc-linux-gnu --disable-libstdcxx-pch

make [1m37.943s]
make install


cd gettext-0.21.1

./configure --disable-shared

make [2m42.593s]

cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin


cd bison-3.8.2

./configure --prefix=/usr --docdir=/usr/share/doc/bison-3.8.2

make [0m18.493s]
make install


cd perl-5.36.0

sh Configure -des -Dprefix=/usr -Dvendorprefix=/usr -Dprivlib=/usr/lib/perl5/5.36/core_perl -Darchlib=/usr/lib/perl5/5.36/core_perl -Dsitelib=/usr/lib/perl5/5.36/site_perl -Dsitearch=/usr/lib/perl5/5.36/site_perl -Dvendorlib=/usr/lib/perl5/5.36/vendor_perl -Dvendorarch=/usr/lib/perl5/5.36/vendor_perl

make [3m20.663s]
make install


cd Python-3.11.1

./configure --prefix=/usr --enable-shared --without-ensurepip

make [3m1.822s]
make install


cd texinfo-7.0.1

./configure --prefix=/usr

make [0m21.211s]
make install


cd util-linux-2.38.1

add tty:x:5: to /etc/group

mkdir -pv /var/lib/hwclock

./configure ADJTIME_PATH=/var/lib/hwclock/adjtime --libdir=/usr/lib --docdir=/usr/share/doc/util-linux-2.38.1 --disable-chfn-chsh --disable-login --disable-nologin --disable-su --disable-setpriv --disable-runuser --disable-pylibmount --disable-static --without-python runstatedir=/run

make [1m29.073s]
make install

----

find /usr/{lib,libexec} -name \*.la -delete
rm -rf /usr/share/{info,man,doc}/*

----

cd glibc-2.36

sed '/MAKEFLAGS :=/s/)r/) -r/' -i Makerules

patch -Np1 -i ../glibc-2.36-fhs-1.patch

patch -Np1 -i ../glibc-2.36-Os.patch
patch -Np1 -i ../glibc-uclibc-compat-ld-cache.patch

edit Makeconfig
remove -g -O

edit manual/libc.tcexinfo
remove @documentencoding UTF-8

mkdir build
cd build

echo "rootsbindir=/usr/sbin" > configparms

CC="gcc -mtune=generic -O2 -pipe" ../configure --prefix=/usr --disable-werror --enable-kernel=5.4.3 --enable-stack-protector=strong --with-headers=/usr/include libc_cv_slibdir=/lib --enable-obsolete-rpc --libexecdir=/usr/lib/glibc [still get libexec...]

find . -name config.make -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name config.status -type f -exec sed -i 's/-g -O2//g' {} \;
find ../ -name Makeconfig -type f -exec sed -i 's/-g -O2//g' {} \;

make [9m20.576s]

touch /etc/ld.so.conf

sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile

make install [install install_root=/tmp/pkg] [/usr/include/gnu/stubs64.h missing]

sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd

edit ldd
RTLDLIST="/lib/ld-linux.so.2 /lib/ld-linux-x86-64.so.2 /libx32/ld-linux-x32.so.2"

cp -v ../nscd/nscd.conf /etc/nscd.conf
mkdir -pv /var/cache/nscd

make localedata/install-locales [10m47.750s]

localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true
localedef -i ja_JP -f SHIFT_JIS ja_JP.SIJS 2> /dev/null || true

[copy tc /etc/nsswitch.conf and /etc/ld.so.conf files to $TC/etc]


cd zlib-1.2.13

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr

find . -name Makefile -type f -exec sed -i 's/-O3//g' {} \;

make [0m4.404s]
make install


cd bzip2-1.0.8

patch -Np1 -i ../bzip2-1.0.8-install_docs-1.patch

sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile
sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile

Edit Makefile-libbz2_so
CC=gcc -mtune=generic -Os -pipe
CFLAGS=-fpic -fPIC -Wall -Winline $(BIGFILES)

make -f Makefile-libbz2_so [0m1.897s]
make clean

Edit Makefile
CC=gcc -mtune=generic -Os -pipe
CFLAGS=-Wall -Winline $(BIGFILES)

make [0m2.169s]
make PREFIX=/usr/local install

cp bzip2-shared /usr/local/bin/bzip2
cp -a libbz2.so* /usr/local/lib
cd /usr/local/lib
ln -s libbz2.so.1.0 libbz2.so
cd ../bin
rm {bunzip2,bzcat}
ln -s bzip2 bunzip2
ln -s bzip2 bzcat

ldconfig


cd xz-5.4.0

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --disable-static --docdir=/usr/local/share/doc/xz-5.4.0

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m13.857s]
make install

ldconfig


cd zstd-1.5.2

patch -Np1 -i ../zstd-1.5.2-upstream_fixes-1.patch

find . -name Makefile -type f -exec sed -i 's/-O3//g' {} \;
find . -name libzstd.mk -type f -exec sed -i 's/-O3//g' {} \;

make CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" [1m33.862s]
make CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" prefix=/usr/local install

ldconfig


cd file-5.43

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m5.319s]
make install

ldconfig


cd readline-8.2

sed -i '/MV.*old/d' Makefile.in
sed -i '/{OLDSUFF}/c:' support/shlib-install

patch -Np1 -i ../readline-8.2-upstream_fix-1.patch

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --disable-static --with-curses --docdir=/usr/local/share/doc/readline-8.2

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make SHLIB_LIBS="-lncursesw" [0m5.571s]
make SHLIB_LIBS="-lncursesw" install


cd m4-1.4.19

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m11.524s]
make install


cd bc-6.1.1

CC="gcc -mtune=generic -Os -pipe" ./configure  --prefix=/usr/local -G -r

make [0m2.906s]
make install


cd flex-2.6.4

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --docdir=/usr/local/share/doc/flex-2.6.4

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m7.502s]
make install

ln -sv flex /usr/local/bin/lex

ldconfig


cd binutils-2.39

mkdir build
cd build

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe" ../configure --prefix=/usr --enable-gold --enable-ld=default --enable-plugins --enable-shared --disable-werror --enable-64-bit-bfd --with-system-zlib

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name Makefile -type f -exec sed -i 's/-O2 -g//g' {} \;

make tooldir=/usr [7m38.954s]
make tooldir=/usr install

rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a
rm -fv /usr/share/man/man1/gprofng.1


cd gmp-6.2.1

mv config{fsf,}.guess
mv config{fsf,}.sub

CFLAGS="-mtune=generic -Os -pipe" CXXFLAGS="-mtune=generic -Os -pipe" ./configure --prefix=/usr/local --enable-cxx --disable-static --docdir=/usr/local/share/doc/gmp-6.2.1

make [0m42.434s]
make install

ldconfig


cd mpfr-4.1.1

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe" ./configure --prefix=/usr/local --disable-static --enable-thread-safe --docdir=/usr/local/share/doc/mpfr-4.1.1

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m28.796s]
make install

ldconfig


cd mpc-1.3.0

sed -i '273{ h; d; }; 274,286 { H; d; }; 287 G' src/mpc.h

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe" ./configure --prefix=/usr/local --disable-static --docdir=/usr/local/share/doc/mpc-1.3.0

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m7.192s]
make install

ldconfig


cd isl-0.24 [https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.24.tar.bz2]

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe" ./configure --prefix=/usr/local --disable-static

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name Makefile -type f -exec sed -i 's/-O3//g' {} \;

make [0m44.665s]
make install

ldconfig


cd gcc-12.2.0

sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64

edit gcc/config/i386/linux64.h
#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"

mkdir build
cd build

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe" ../configure --prefix=/usr LD=ld --enable-languages=c,c++ --enable-default-pie --enable-default-ssp --disable-multilib --disable-bootstrap --with-system-zlib --libexecdir=/usr/lib

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name Makefile -type f -exec sed -i 's/-O2 -g//g' {} \;
find . -name config.status -type f -exec sed -i 's/-g -O2//g' {} \;
[-O2 still appears building libs]

make [26m13.931s]
make install

ln -svr /usr/bin/cpp /usr/lib

ln -sfv ../../lib/gcc/$(gcc -dumpmachine)/12.2.0/liblto_plugin.so /usr/lib/bfd-plugins/

mkdir -pv /usr/share/gdb/auto-load/usr/lib
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib

echo 'int main(){}' > dummy.c
cc dummy.c -v -Wl,--verbose &> dummy.log
readelf -l a.out | grep ': /lib'

      [Requesting program interpreter: /lib/ld-linux-x86-64.so.2]

grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
[grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log]

/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../lib/crti.o succeeded
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../lib/crtn.o succeeded

grep -B4 '^ /usr/include' dummy.log

#include <...> search starts here:
 /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include
 /usr/local/include
 /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include-fixed
 /usr/include

grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'

SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib64")
SEARCH_DIR("/usr/local/lib64")
SEARCH_DIR("/lib64")
SEARCH_DIR("/usr/lib64")
SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib")
SEARCH_DIR("/usr/local/lib")
SEARCH_DIR("/lib")
SEARCH_DIR("/usr/lib");

grep "/lib.*/libc.so.6 " dummy.log

attempt to open /lib/libc.so.6 succeeded

grep found dummy.log

found ld-linux-x86-64.so.2 at /lib/ld-linux-x86-64.so.2

rm -v dummy.c a.out dummy.log

----

cd binutils-2.39

mkdir build
cd build

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe" ../configure --prefix=/usr/local --enable-gold --enable-ld=default --enable-plugins --enable-shared --disable-werror --enable-64-bit-bfd --with-system-zlib

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name Makefile -type f -exec sed -i 's/-O2 -g//g' {} \;

make tooldir=/usr/local [9m14.277s]
make tooldir=/usr/local install

rm -fv /usr/local/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a
rm -fv /usr/local/share/man/man1/gprofng.1

[remove binutils from /usr]
ldconfig


cd gcc-12.2.0

sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64

edit gcc/config/i386/linux64.h
#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"

mkdir build
cd build

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe" ../configure --prefix=/usr/local --enable-languages=c,c++ --enable-default-pie --enable-default-ssp --disable-multilib --disable-bootstrap --with-system-zlib --libexecdir=/usr/local/lib

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name Makefile -type f -exec sed -i 's/-O2 -g//g' {} \;
find . -name config.status -type f -exec sed -i 's/-g -O2//g' {} \;

make [31m17.651s]
make install

ln -sv /usr/local/bin/gcc /usr/local/bin/cc [check]
ln -sv /usr/local/bin/cpp /usr/local/lib
install -v -dm755 /usr/local/lib/bfd-plugins
ln -sfv /usr/local/lib/gcc/$(gcc -dumpmachine)/12.2.0/liblto_plugin.so /usr/local/lib/bfd-plugins/

mkdir -pv /usr/local/share/gdb/auto-load/usr/local/lib
mv -v /usr/local/lib/*gdb.py /usr/local/share/gdb/auto-load/usr/local/lib

[remove gcc from /usr except libstdc++ and libgcc_s]

ldconfig

----

cd pkg-config-0.29.2

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --with-internal-glib --disable-host-tool --docdir=/usr/local/share/doc/pkg-config-0.29.2 --with-pc-path="/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/share/pkgconfig"

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name Makefile -type f -exec sed -i 's/-g -Wall -O2/-Wall/g' {} \;

make [0m15.100s]
make install


cd ncurses-6.3          

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --mandir=/usr/local/share/man --with-shared --without-debug --without-normal --with-cxx-shared --enable-pc-files --enable-widec --with-pkg-config-libdir=/usr/local/lib/pkgconfig

find . -name Makefile -type f -exec sed -i 's/-O2//g' {} \;

make [0m51.052s]
make install

[remove ncurses from /usr]
ldconfig

cd sed-4.9

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m5.768s]
make install

[rm /usr/bin/sed]


cd gettext-0.21.1

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --disable-static --docdir=/usr/local/share/doc/gettext-0.21.1

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [2m9.290s]
make install

chmod -v 0755 /usr/local/lib/preloadable_libintl.so

[rm /usr/bin/{msgfmt,msgmerge,xgettext}]

ldconfig


cd bison-3.8.2

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --docdir=/usr/local/share/doc/bison-3.8.2

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m18.907s]
make install

[remove bison files from /usr]


cd grep-3.8

sed -i "s/echo/#echo/" src/egrep.sh

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m7.409s]
make install

[remove grep from /bin]


cd bash-5.2.15

LIBS="-lncursesw" CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --docdir=/usr/local/share/doc/bash-5.2.15 --without-bash-malloc --with-installed-readline

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m34.300s]
make install

cd /bin
rm sh
ln -sv /usr/local/bin/bash ./
ln -sv /usr/local/bin/bash ./sh

exec /bin/bash --login +h


cd libtool-2.4.7

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --disable-static

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m1.554s]
make install


cd gperf-3.1

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --docdir=/usr/local/share/doc/gperf-3.1

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name config.status -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m2.487s]
make install


cd expat-2.5.0

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --disable-static --docdir=/usr/local/share/doc/expat-2.5.0

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m5.956s]
make install

ldconfig


cd perl-5.36.0

export BUILD_ZLIB=False
export BUILD_BZIP2=0

sh Configure -des -Dcc="gcc -flto -mtune=generic -Os -pipe" -Dprefix=/usr/local -Dvendorprefix=/usr/local -Dprivlib=/usr/local/lib/perl5/core_perl -Darchlib=/usr/local/lib/perl5/5.36/core_perl -Dsitelib=/usr/local/lib/perl5/site_perl -Dsitearch=/usr/local/lib/perl5/5.36/site_perl -Dvendorlib=/usr/local/lib/perl5/vendor_perl -Dvendorarch=/usr/local/lib/perl5/5.36/vendor_perl -Dman1dir=/usr/local/share/man/man1 -Dman3dir=/usr/local/share/man/man3 -Dpager="/usr/bin/less -isR" -Duseshrplib -Dusethreads

find . -name Makefile -type f -exec sed -i 's/-O2//g' {} \;

make [4m57.025s]
make install

unset BUILD_ZLIB BUILD_BZIP2

rm /usr/bin/perl


cd XML-Parser-2.46

perl Makefile.PL

find . -name Makefile -type f -exec sed -i 's/-O2//g' {} \;

make [0m2.140s]
make install


cd intltool-0.51.0

sed -i 's:\\\${:\\\$\\{:' intltool-update.in

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

make [0m0.032s]
make install


cd autoconf-2.71

sed -e 's/SECONDS|/&SHLVL|/' -e '/BASH_ARGV=/a\        /^SHLVL=/ d' -i.orig tests/local.at

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

make [0m0.827s]
make install


cd automake-1.16.5

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

make [0m0.683s]
make install


cd coreutils-9.1

patch -Np1 -i ../coreutils-9.1-i18n-1.patch

autoreconf -fiv

FORCE_UNSAFE_CONFIGURE=1 CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --enable-no-install-program=kill,uptime --libexecdir=/usr/local/lib

[flto fails]

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name config.status -type f -exec sed -i 's/-g -O2//g' {} \;

make [1m2.727s]
make install

mv -v /usr/local/bin/chroot /usr/local/sbin


cd diffutils-3.8

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m9.563s]
make install


cd gawk-5.2.1

sed -i 's/extras//' Makefile.in

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --libexecdir=/usr/local/lib/gawk

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m22.426s]
make install


cd findutils-4.9.0

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --localstatedir=/var/lib/locate --libexecdir=/usr/local/lib/findutils

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m12.526s]
make install

edit /usr/local/bin/updatedb
/usr/local/bin/sort -> /usr/bin/sort


cd groff-1.22.4

edit /usr/bin/texi2any
#! /usr/local/bin/perl

PAGE=A4 CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make -j1 [1m11.581s]
make install


cd gzip-1.12

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m4.211s]
make install


cd make-4.4

sed -e '/ifdef SIGPIPE/,+2 d' -e '/undef  FATAL_SIG/i FATAL_SIG (SIGPIPE);' -i src/main.c

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m6.032s]]
make install


cd patch-2.7.6

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m6.396s]
make install


cd tar-1.34

FORCE_UNSAFE_CONFIGURE=1 CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --libexecdir=/usr/local/lib/tar

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m19.495s]
make install


cd texinfo-7.0.1

edit configure
TERMLIB_VARIANTS="tinfo ncursesw curses termlib termcap terminfo"
#include <ncursesw/termcap.h

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [0m23.159s]
make install
make TEXMF=/usr/local/share/texmf install-tex


cd util-linux-2.38.1

mkdir -pv /var/lib/hwclock

ADJTIME_PATH=/var/lib/hwclock/adjtime CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --disable-chfn-chsh --disable-login --disable-nologin --disable-su --disable-setpriv --disable-runuser --disable-pylibmount --disable-static --without-python --without-systemd --without-systemdsystemunitdir --libexecdir=/lib runstatedir=/run --docdir=/usr/local/share/doc/util-linux-2.38.1

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [1m36.640s]
make install

ldconfig

Required for base
/lib/libblkid.so.1
/lib/libblkid.so.1.1.0
/lib/libuuid.so.1
/lib/libuuid.so.1.3.0
/sbin/blkid
/usr/bin/uuidgen



cd e2fsprogs-1.46.5

mkdir build
cd build

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ../configure --prefix=/usr --bindir=/bin --with-root-prefix="" --enable-elf-shlibs --disable-libblkid --disable-libuuid --disable-uuidd --disable-fsck

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name Makefile -type f -exec sed -i 's/-O2//g' {} \;

make [0m49.376s]
make install
make install-libs
chmod u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a

Required for base
/etc/mke2fs.conf
/lib/libcom_err.so.2
/lib/libcom_err.so.2.1
/lib/libe2p.so.2
/lib/libe2p.so.2.3
/lib/libext2fs.so.2
/lib/libext2fs.so.2.4
/sbin/e2fsck
/sbin/mke2fs
/sbin/tune2fs
/usr/sbin/mklost+found

----------

cd util-linux-2.38.1

ADJTIME_PATH=/var/lib/hwclock/adjtime CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --disable-chfn-chsh --disable-login --disable-nologin --disable-su --disable-setpriv --disable-runuser --disable-pylibmount --disable-static --without-python --without-systemd --without-systemdsystemunitdir --libexecdir=/usr/local/lib --localstatedir=/var runstatedir=/run --docdir=/usr/local/share/doc/util-linux-2.38.1

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;

make [1m36.801s]
make install


cd e2fsprogs-1.46.5

mkdir build
cd build

CC="gcc -mtune=generic -Os -pipe" CXX="g++ -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" ../configure --prefix=/usr/local --enable-elf-shlibs --disable-libblkid --disable-libuuid --disable-uuidd --disable-fsck

find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \;
find . -name Makefile -type f -exec sed -i 's/-O2//g' {} \;

make [0m49.489s]
make install
make install-libs
chmod u+w /usr/local/lib/{libcom_err,libe2p,libext2fs,libss}.a

[remove files to match base/extension setup]