mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sys-libs/glibc: Drop SPARC CHOST mangling
Before "multiarch" support in glibc, picking a different CHOST would select which optimized paths were built. Multiarch support was added in glibc commit 3afd5a3b5556 (sparc: Add multiarch support for memset/bzero/memcpy.) in 2010 before glibc-2.12. Before glibc-2.30 glibc dropped support for SPARC v7 in commit 5d9b7b9fa734 (Remove 32 bit sparc v7 support) and in the process cleaned up some configuration logic that accepted a wide variety of (now unused CHOST values), thus causing the build to fail for us when we select a now unknown CHOST. Simply drop this logic, since it shouldn't be needed for any glibc since 2.11. Signed-off-by: Matt Turner <mattst88@gentoo.org>
This commit is contained in:
@@ -301,77 +301,27 @@ setup_target_flags() {
|
||||
filter-flags "-fcall-used-g7"
|
||||
append-flags "-fcall-used-g6"
|
||||
|
||||
# If the CHOST is the basic one (e.g. not sparcv9-xxx already),
|
||||
# try to pick a better one so glibc can use cpu-specific .S files.
|
||||
# We key off the CFLAGS to get a good value. Also need to handle
|
||||
# version skew.
|
||||
# We can't force users to set their CHOST to their exact machine
|
||||
# as many of these are not recognized by config.sub/gcc and such :(.
|
||||
# Note: If the mcpu values don't scale, we might try probing CPP defines.
|
||||
# Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ?
|
||||
|
||||
local cpu
|
||||
case ${CTARGET} in
|
||||
sparc64-*)
|
||||
cpu="sparc64"
|
||||
case $(get-flag mcpu) in
|
||||
niagara[234])
|
||||
if ver_test -ge 2.8 ; then
|
||||
cpu="sparc64v2"
|
||||
elif ver_test -ge 2.4 ; then
|
||||
cpu="sparc64v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparc64b"
|
||||
fi
|
||||
;;
|
||||
niagara)
|
||||
if ver_test -ge 2.4 ; then
|
||||
cpu="sparc64v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparc64b"
|
||||
fi
|
||||
;;
|
||||
ultrasparc3)
|
||||
cpu="sparc64b"
|
||||
;;
|
||||
*)
|
||||
v9)
|
||||
# We need to force at least v9a because the base build doesn't
|
||||
# work with just v9.
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=19477
|
||||
[[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a"
|
||||
append-flags "-Wa,-xarch=v9a"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sparc-*)
|
||||
case $(get-flag mcpu) in
|
||||
niagara[234])
|
||||
if ver_test -ge 2.8 ; then
|
||||
cpu="sparcv9v2"
|
||||
elif ver_test -ge 2.4 ; then
|
||||
cpu="sparcv9v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparcv9b"
|
||||
else
|
||||
cpu="sparcv9"
|
||||
fi
|
||||
;;
|
||||
niagara)
|
||||
if ver_test -ge 2.4 ; then
|
||||
cpu="sparcv9v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparcv9b"
|
||||
else
|
||||
cpu="sparcv9"
|
||||
fi
|
||||
;;
|
||||
ultrasparc3)
|
||||
cpu="sparcv9b"
|
||||
;;
|
||||
v9|ultrasparc)
|
||||
cpu="sparcv9"
|
||||
;;
|
||||
v8|supersparc|hypersparc|leon|leon3)
|
||||
cpu="sparcv8"
|
||||
;;
|
||||
*)
|
||||
cpu="sparcv9"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -292,77 +292,27 @@ setup_target_flags() {
|
||||
filter-flags "-fcall-used-g7"
|
||||
append-flags "-fcall-used-g6"
|
||||
|
||||
# If the CHOST is the basic one (e.g. not sparcv9-xxx already),
|
||||
# try to pick a better one so glibc can use cpu-specific .S files.
|
||||
# We key off the CFLAGS to get a good value. Also need to handle
|
||||
# version skew.
|
||||
# We can't force users to set their CHOST to their exact machine
|
||||
# as many of these are not recognized by config.sub/gcc and such :(.
|
||||
# Note: If the mcpu values don't scale, we might try probing CPP defines.
|
||||
# Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ?
|
||||
|
||||
local cpu
|
||||
case ${CTARGET} in
|
||||
sparc64-*)
|
||||
cpu="sparc64"
|
||||
case $(get-flag mcpu) in
|
||||
niagara[234])
|
||||
if ver_test -ge 2.8 ; then
|
||||
cpu="sparc64v2"
|
||||
elif ver_test -ge 2.4 ; then
|
||||
cpu="sparc64v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparc64b"
|
||||
fi
|
||||
;;
|
||||
niagara)
|
||||
if ver_test -ge 2.4 ; then
|
||||
cpu="sparc64v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparc64b"
|
||||
fi
|
||||
;;
|
||||
ultrasparc3)
|
||||
cpu="sparc64b"
|
||||
;;
|
||||
*)
|
||||
v9)
|
||||
# We need to force at least v9a because the base build doesn't
|
||||
# work with just v9.
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=19477
|
||||
[[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a"
|
||||
append-flags "-Wa,-xarch=v9a"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sparc-*)
|
||||
case $(get-flag mcpu) in
|
||||
niagara[234])
|
||||
if ver_test -ge 2.8 ; then
|
||||
cpu="sparcv9v2"
|
||||
elif ver_test -ge 2.4 ; then
|
||||
cpu="sparcv9v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparcv9b"
|
||||
else
|
||||
cpu="sparcv9"
|
||||
fi
|
||||
;;
|
||||
niagara)
|
||||
if ver_test -ge 2.4 ; then
|
||||
cpu="sparcv9v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparcv9b"
|
||||
else
|
||||
cpu="sparcv9"
|
||||
fi
|
||||
;;
|
||||
ultrasparc3)
|
||||
cpu="sparcv9b"
|
||||
;;
|
||||
v9|ultrasparc)
|
||||
cpu="sparcv9"
|
||||
;;
|
||||
v8|supersparc|hypersparc|leon|leon3)
|
||||
cpu="sparcv8"
|
||||
;;
|
||||
*)
|
||||
cpu="sparcv9"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -291,77 +291,27 @@ setup_target_flags() {
|
||||
filter-flags "-fcall-used-g7"
|
||||
append-flags "-fcall-used-g6"
|
||||
|
||||
# If the CHOST is the basic one (e.g. not sparcv9-xxx already),
|
||||
# try to pick a better one so glibc can use cpu-specific .S files.
|
||||
# We key off the CFLAGS to get a good value. Also need to handle
|
||||
# version skew.
|
||||
# We can't force users to set their CHOST to their exact machine
|
||||
# as many of these are not recognized by config.sub/gcc and such :(.
|
||||
# Note: If the mcpu values don't scale, we might try probing CPP defines.
|
||||
# Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ?
|
||||
|
||||
local cpu
|
||||
case ${CTARGET} in
|
||||
sparc64-*)
|
||||
cpu="sparc64"
|
||||
case $(get-flag mcpu) in
|
||||
niagara[234])
|
||||
if ver_test -ge 2.8 ; then
|
||||
cpu="sparc64v2"
|
||||
elif ver_test -ge 2.4 ; then
|
||||
cpu="sparc64v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparc64b"
|
||||
fi
|
||||
;;
|
||||
niagara)
|
||||
if ver_test -ge 2.4 ; then
|
||||
cpu="sparc64v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparc64b"
|
||||
fi
|
||||
;;
|
||||
ultrasparc3)
|
||||
cpu="sparc64b"
|
||||
;;
|
||||
*)
|
||||
v9)
|
||||
# We need to force at least v9a because the base build doesn't
|
||||
# work with just v9.
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=19477
|
||||
[[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a"
|
||||
append-flags "-Wa,-xarch=v9a"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sparc-*)
|
||||
case $(get-flag mcpu) in
|
||||
niagara[234])
|
||||
if ver_test -ge 2.8 ; then
|
||||
cpu="sparcv9v2"
|
||||
elif ver_test -ge 2.4 ; then
|
||||
cpu="sparcv9v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparcv9b"
|
||||
else
|
||||
cpu="sparcv9"
|
||||
fi
|
||||
;;
|
||||
niagara)
|
||||
if ver_test -ge 2.4 ; then
|
||||
cpu="sparcv9v"
|
||||
elif ver_test -ge 2.2.3 ; then
|
||||
cpu="sparcv9b"
|
||||
else
|
||||
cpu="sparcv9"
|
||||
fi
|
||||
;;
|
||||
ultrasparc3)
|
||||
cpu="sparcv9b"
|
||||
;;
|
||||
v9|ultrasparc)
|
||||
cpu="sparcv9"
|
||||
;;
|
||||
v8|supersparc|hypersparc|leon|leon3)
|
||||
cpu="sparcv8"
|
||||
;;
|
||||
*)
|
||||
cpu="sparcv9"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user