# remove lib32-* stuff pkgname=(${pkgname[@]/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') if [ "${CARCH}" = "i486" ]; then # disable testing for now, we run out of memory eval "$( declare -f check | \ sed ' /make -O check/d ' )" # disable CET (Control Flow instructions endbr32/enbr64) eval "$( declare -f build | \ sed ' s/--enable-cet/--disable-cet/ ' )" 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: math/test-float-clog10 #FAIL: math/test-float32-clog10 #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/ s/make -O check/make -O check || true/ ' )" # readd C.UTF-8 locale generate with the removed lib32 sed above eval "$( declare -f build | \ sed ' $ i \ locale/localedef -c -f ../glibc/localedata/charmaps/UTF-8 -i ../glibc/localedata/locales/C ../C.UTF-8/ ' )"