# remove lib32-* stuff pkgname=(${pkgname[@]/lib32-*/}) makedepends=(${makedepends[@]/lib32-*/}) unset -f 'package_lib32-glibc' eval "$( declare -f build | \ sed ' 2 a export CFLAGS="$CFLAGS -mno-tls-direct-seg-refs" s,https://bugs.archlinux.org/,https://bugs.archlinux32.org/, \,cd .*/lib32-glibc-build,{ s/.*/}/ q } s@--enable-multi-arch@--disable-multi-arch@ ' declare -f package_glibc | \ sed ' s,usr/lib/libmvec-\*\.so,, s/\S*,mvec\S*// s,STRIP_BINARIES ,\0usr/bin/lddlibc4 , s,STRIP_STATIC ,\0usr/lib/libm.a , ' )" # 486-specific # no gd for memory profiles makedepends=(${makedepends[@]//gd/}) makedepends_i686+=('gd') # patching fails, tests are disabled lower anyway completely #if [ "${CARCH}" = "i486" ]; then # # disable testing for now, we run out of memory # eval "$( # declare -f check | \ # sed ' # /make -O check/d # ' # )" #fi # pentium4 specific makedepends_pentium4=("${makedepends_i686[@]}") # make Java segfaults go away if [ "${CARCH}" = "pentium4" ]; then eval "$( declare -f build | \ sed ' /.*glibc.*configure.*/ i \ CFLAGS=\"${CFLAGS} -mfpmath=sse -msse2 -mstackrealign\" \ CXXFLAGS=\"${CXXFLAGS} -mfpmath=sse -msse2 -mstackrealign\" ' )" fi # https://lwn.net/Articles/845329/, ISA-Level breakage in glibc 2.33 # disabling all ISA level guessing for now (see FS32#145) eval "$( declare -f build | \ sed ' s|--prefix=/usr|--prefix=/usr libc_cv_include_x86_isa_level=no|g ' )" # upstream test skipping breaks Makefiles in test, also glibc 2.25 currently fails # in the following tests: # FAIL: elf/tst-audit-tlsdesc # FAIL: elf/tst-audit-tlsdesc-dlopen # FAIL: elf/tst-gnu2-tls1 # FAIL: misc/tst-bz21269 # FAIL: misc/tst-ntp_gettime # FAIL: misc/tst-ntp_gettimex # FAIL: time/tst-adjtime # FAIL: time/tst-clock2 # the last once are exactly the once we had to patch, so we ignore this. eval "$( declare -f check | \ sed ' s/skip_test tst-ntp_gettimex/skip_test tst-ntp_gettimex-time64/ s/skip_test tst-ntp_gettime/skip_test tst-ntp_gettime-time64/ s/skip_test tst-adjtime/skip_test tst-adjtime-time64/ s/skip_test tst-clock2/skip_test tst-clock2-time64/ /make -O check/ i \ skip_test tst-audit-tlsdesc elf/Makefile \ skip_test tst-audit-tlsdesc-dlopen elf/Makefile \ skip_test tst-gnu2-tls1 elf/Makefile \ skip_test tst-bz21269 misc/Makefile s/make -O check/make -O check || true/ ' )" # TODO: redo if we get again hen-and-egg-problems # have to rebuild twice because generate localdef called in build uses wrong # ABI resulting in: # "locale/localedef: /usr/lib/libc.so.6: version `GLIBC_ABI_DT_RELR' not found (required by locale/localedef" # do not regenerate it and install the one from the chroot #eval "$( # declare -f build | \ # sed ' # /localedef/d # ' #)" #eval "$( # declare -f package_glibc | \ # sed ' # s|"${srcdir}"/C.UTF-8|/usr/lib/locale/C.UTF-8|g # ' #)" # readd locale generation removed by lib32 sed-fu above in build! # breaks again on glibc library mismatches #eval "$( # declare -f build | \ # sed ' # $ i locale/localedef -c -f ../glibc/localedata/charmaps/UTF-8 -i ../glibc/localedata/locales/C ../C.UTF-8/ # ' #)" # ignoring tests for now (they hang, checked manually, see skip_tests above) unset check # disable CET (Control Flow instructions endbr32/enbr64) eval "$( declare -f build | \ sed ' s/--enable-cet/--disable-cet/ ' )"