cat << 'EOF' > ~/lfs-builder/packages/004-glibc.sh #!/bin/bash set -e mkdir -pv $LFS/lib $LFS/lib64 case $(uname -m) in i?86) ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3 ;; x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64 ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3 ;; esac patch -Np1 -i ../glibc-2.39-fhs-1.patch mkdir -v build cd build # Специфические флаги для ультра-нового GCC в Ubuntu 26.10: # -O2: Обязательная базовая оптимизация для макросов Glibc # -U_FORTIFY_SOURCE: Полное отключение фортификации Ubuntu, ломающей syslog.o # -Wno-error: Глобальный запрет падать на предупреждениях (включая stringop-overflow) # -fno-strict-aliasing: Защита от агрессивных оптимизаций указателей нового GCC export CFLAGS="-O2 -U_FORTIFY_SOURCE -Wno-error -fno-strict-aliasing" export CXXFLAGS="-O2 -U_FORTIFY_SOURCE -Wno-error -fno-strict-aliasing" ../configure \ --prefix=/usr \ --host=$LFS_TGT \ --build=$(../scripts/config.guess) \ --enable-kernel=4.19 \ --with-headers=$LFS/usr/include \ --disable-werror \ libc_cv_slibdir=/usr/lib \ libc_cv_include_x86_isa_level=no make $MAKEFLAGS make DESTDIR=$LFS install sed '/RTLDLIST/s@/usr@@g' -i $LFS/usr/bin/ldd EOF chmod +x ~/lfs-builder/packages/004-glibc.sh