| 6 |
6 |
# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
|
| 7 |
7 |
# Please read & adapt the page as necessary if obsolete.
|
| 8 |
8 |
|
| 9 |
|
PYTHON_COMPAT=( python3_{10..14} )
|
|
9 |
PYTHON_COMPAT=( python3_{11..14} )
|
| 10 |
10 |
TMPFILES_OPTIONAL=1
|
| 11 |
11 |
|
| 12 |
12 |
EMULTILIB_PKG="true"
|
| 13 |
13 |
|
| 14 |
14 |
# Gentoo patchset (ignored for live ebuilds)
|
| 15 |
|
PATCH_VER=1
|
|
15 |
PATCH_VER=3
|
| 16 |
16 |
PATCH_DEV=dilfridge
|
| 17 |
17 |
|
| 18 |
18 |
# gcc mulitilib bootstrap files version
|
| ... | ... | |
| 43 |
43 |
if [[ ${PV} == *9999 ]]; then
|
| 44 |
44 |
inherit git-r3
|
| 45 |
45 |
else
|
| 46 |
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
|
46 |
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
|
| 47 |
47 |
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
|
|
48 |
SRC_URI+=" https://distfiles.gentoo.org/pub/proj/toolchain/glibc/patches/${P}-patches-${PATCH_VER}.tar.xz"
|
| 48 |
49 |
SRC_URI+=" verify-sig? ( mirror://gnu/glibc/${P}.tar.xz.sig )"
|
| 49 |
|
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
|
| 50 |
50 |
fi
|
| 51 |
51 |
|
| 52 |
52 |
SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
|
| ... | ... | |
| 223 |
223 |
tst-aarch64-pkey
|
| 224 |
224 |
tst-bz21269
|
| 225 |
225 |
tst-mlock2
|
|
226 |
tst-mseal-pkey
|
| 226 |
227 |
tst-ntp_gettime
|
| 227 |
228 |
tst-ntp_gettime-time64
|
| 228 |
229 |
tst-ntp_gettimex
|
| ... | ... | |
| 356 |
357 |
just_headers && return 0
|
| 357 |
358 |
|
| 358 |
359 |
case $(tc-arch) in
|
|
360 |
alpha)
|
|
361 |
# glibc selects its hand-written assembly mem*/str* routines by the
|
|
362 |
# host triplet's machine prefix (sysdeps/alpha/preconfigure does
|
|
363 |
# machine=alpha/$machine), NOT by the -mcpu codegen flag. With the
|
|
364 |
# bare alpha-*-* CHOST only the generic C is built. Map -mcpu to the
|
|
365 |
# most specific sysdeps/alpha/alphaev* dir that exists (Implies chain
|
|
366 |
# alphaev67 -> alphaev6 -> alphaev5) so the tuned asm is selected.
|
|
367 |
local cpu
|
|
368 |
case $(get-flag mcpu) in
|
|
369 |
21264a|ev67) cpu="alphaev67" ;;
|
|
370 |
21264|ev6) cpu="alphaev6" ;;
|
|
371 |
21164*|ev5|ev56|pca56) cpu="alphaev5" ;;
|
|
372 |
esac
|
|
373 |
[[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
|
|
374 |
;;
|
| 359 |
375 |
x86)
|
| 360 |
376 |
# -march needed for #185404 #199334
|
| 361 |
377 |
# TODO: When creating the first glibc cross-compile, this test will
|
| ... | ... | |
| 387 |
403 |
[[ ${t} == "x86_64" ]] && t="x86-64"
|
| 388 |
404 |
filter-flags '-march=*'
|
| 389 |
405 |
# ugly, ugly, ugly. ugly.
|
| 390 |
|
CFLAGS_x86=$(CFLAGS=${CFLAGS_x86}; filter-flags '-march=*'; echo "${CFLAGS}")
|
|
406 |
CFLAGS_x86=$(
|
|
407 |
CFLAGS=${CFLAGS_x86}
|
|
408 |
filter-flags '-march=*'
|
|
409 |
is-flagq '-mfpmath=sse' && append-cflags -msse
|
|
410 |
echo "${CFLAGS}"
|
|
411 |
)
|
| 391 |
412 |
export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
|
| 392 |
413 |
einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})"
|
| 393 |
414 |
fi
|
| ... | ... | |
| 846 |
867 |
[[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
|
| 847 |
868 |
fi
|
| 848 |
869 |
|
| 849 |
|
if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
|
|
870 |
if is_linux && ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
|
| 850 |
871 |
eerror "Your old kernel is broken. You need to update it to a newer"
|
| 851 |
872 |
eerror "version as syscall(<bignum>) will break. See bug 279260."
|
| 852 |
873 |
[[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Old and broken kernel."
|
| ... | ... | |
| 1028 |
1049 |
|
| 1029 |
1050 |
# Patches we should apply only for Hurd to be conservative
|
| 1030 |
1051 |
if is_hurd ; then
|
| 1031 |
|
eapply "${FILESDIR}"/glibc-2.43-hurd-link-helpers.patch
|
| 1032 |
1052 |
eapply "${FILESDIR}"/glibc-2.43-hurd-CLOCK_MONOTONIC.patch
|
| 1033 |
|
eapply "${FILESDIR}"/glibc-2.43-hurd-ldconfig.patch
|
| 1034 |
1053 |
fi
|
| 1035 |
1054 |
fi
|
| 1036 |
1055 |
|
| ... | ... | |
| 1368 |
1387 |
done
|
| 1369 |
1388 |
fi
|
| 1370 |
1389 |
|
|
1390 |
# https://inbox.sourceware.org/libc-alpha/lhuikb5ibey.fsf@oldenburg.str.redhat.com/
|
|
1391 |
local -x GAWK_GNU_MATCHERS=1
|
|
1392 |
|
| 1371 |
1393 |
# sandbox does not understand unshare() and prevents
|
| 1372 |
1394 |
# writes to /proc/, which makes many tests fail
|
| 1373 |
1395 |
|
| ... | ... | |
| 1595 |
1617 |
|
| 1596 |
1618 |
if is_hurd && has amd64 $(get_install_abis) ; then
|
| 1597 |
1619 |
# First, let's check for sanity
|
| 1598 |
|
if [[ -f "$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then
|
|
1620 |
if [[ -f "${D}$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then
|
| 1599 |
1621 |
die "Somehow your amd64 hurd glibc installed /lib/ld-x86-64.so.1 ... this should not happen."
|
| 1600 |
1622 |
fi
|
| 1601 |
1623 |
|
| ... | ... | |
| 1605 |
1627 |
|
| 1606 |
1628 |
if is_hurd && has x86 $(get_install_abis) ; then
|
| 1607 |
1629 |
# First, let's check for sanity
|
| 1608 |
|
if [[ -f "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then
|
|
1630 |
if [[ -f "${D}$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then
|
| 1609 |
1631 |
die "Somehow your x86 hurd glibc installed ld.so ... this should not happen."
|
| 1610 |
1632 |
fi
|
| 1611 |
1633 |
|