aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Shelton <stuart@shelton.me>2016-01-17 20:13:48 +0000
committerStuart Shelton <stuart@shelton.me>2016-01-17 20:13:48 +0000
commit338c0500ec5c15b8d7958e4fad77d6890317b28c (patch)
tree2f3110fafb5d2d88a8494de2d11baf0e242b85fa /sys-libs
parentUpdate sys-fs/fuse-2.9.4 (diff)
downloadsrcshelton-338c0500ec5c15b8d7958e4fad77d6890317b28c.tar.gz
srcshelton-338c0500ec5c15b8d7958e4fad77d6890317b28c.tar.bz2
srcshelton-338c0500ec5c15b8d7958e4fad77d6890317b28c.zip
Update eblits/common.eblit affecting sys-libs/glibc-2.17, sys-libs/glibc-2.19-r1, sys-libs/glibc-2.20, sys-libs/glibc-2.20-r2, sys-libs/glibc-2.21-r1
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/glibc/Manifest2
-rw-r--r--sys-libs/glibc/files/eblits/common.eblit128
2 files changed, 75 insertions, 55 deletions
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 08a422fe..4bf1d7c1 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -11,7 +11,7 @@ AUX 2.20/glibc-2.20-gentoo-chk_fail.c 8978 SHA256 f9cc426b0fb21de1dc11bb36e43bca
AUX 2.20/glibc-2.20-gentoo-stack_chk_fail.c 55 SHA256 ec73e74297b5eade591bfb3a2999989e2a7aa80752140048ffa67349635f05e7 SHA512 4dfec1bd17007b826110dcb73d09331a58b7a892c87de55b94480b14c28686442c567725b610082813411cf9911e180835a400a54ea704fe80f81cfba966a989 WHIRLPOOL b2b338a50f7895c530a71a19e4582bd0116a0b9d13b2e1505f0566924557493849f93cefb2c0ad1719ef684321e145129e0f72cfc9aa85a44ea7ebf910e7304c
AUX 2.20/glibc-2.20-hardened-inittls-nosysenter.patch 9951 SHA256 992fb70b9b62674d94ef8938297a3f2591b3121495987d927f5a44c1d8788658 SHA512 a8302ee2963bd791be859233223b17cd154afbf04c13c046956bb1140d748272d7bcb3a6167ce8b61573ebcffe906dff064308374d2910656b8fad18480fe422 WHIRLPOOL b8753d6f1301650b91b5cf4f342de22010d819deb2bf4da27aac33d7540e15a140b8a7a4c5e111faba320873ed5784b22f6add29181fbaef14c3e9504b1b838f
AUX 2.6/glibc-2.6-gentoo-stack_chk_fail.c 9545 SHA256 1410ded812be80d452eada5f9d6b9bd7bdb504c14f01cc27dce3e36b6f92b92a SHA512 360b77df2d19d14060e19e763878297bf042eccd5206ce4829a33c78c982b59b46144116d237a7cac73a22dd6cb4987c8dd50f1d16003baa22c2cb2942d2cbdf WHIRLPOOL 44e14dacdd258c46201a44c2c6aae4d975b960a914c24e49f2b39dae960636512049daa052d3cd8e8d93819d263327c28eac947efdb5d9e240d1bc6e9964016f
-AUX eblits/common.eblit 11609 SHA256 95f2f17e8602fafeeb48e027bd3c530996aba23db801f533b8f4b138fbd8a937 SHA512 3ffab0f279ed047b5d13bf7c6c29619cea9ab2d5524d47917fe27f72fe34c728676dc9397d0d900d11659795a9b52b0f110d82508491e98f8e7c4f60d8b0fe25 WHIRLPOOL 4a068f1b5aa8f92fe9e14ebc00c4f244b61ed5ca421c94a0f36518827e11bb56a1e47aa2c9e2933215f367a9f593a46764fcf140eaf344ae7fbc2ef8bd3594fc
+AUX eblits/common.eblit 10965 SHA256 3edfa120d44ce0969ee3bece6f3b7b1c3aa75ecc40ae16afcb3c5c516a70c369 SHA512 63845e255cf272fa4eeabc6e60e386428b679228a2d3640679cc1329cbe05f562f7b5d1613a2b70f780f1141ec88e227ea48901ff3dcfcfc8a00d656b30ae255 WHIRLPOOL 675cbe713377579d31367efba3f1b5b35356adaed715be06e309bf248418439214a8afa42b6f99c838f7710fedbcb7aea76bada2967d3262d2cd02e26703002f
AUX eblits/pkg_postinst.eblit 1010 SHA256 9c5f99f1a3b7f72c1ae650520f8fabdb5a61bded3e4d68d5013eadcc60dd2d53 SHA512 9e4565ab9c7e57373c6a53d98975443b9ccdd083c6287e45b5cb577a235cefeba7dd8309dd71739bd0d2f817ba09f121400b2ec54373ef51416e843473a50934 WHIRLPOOL eb6a9f91074da3b0ff5ea9ca83c75ca113f33186b264cc42496d9a09a7d245fe96d16784204e1ba93e07baa1513264d602960f2120da76205c91bf6b2419a381
AUX eblits/pkg_preinst.eblit 2117 SHA256 e7903458065dd070177be06756d7bdc63b564fb42424da13fe06ca7510ae41e4 SHA512 0aa2035cecd94836135c0730b8c70452b86ad7244da9757121456326ab25ab0cf84070ca7bdf7300925bf4dff78497fe036e4a547f635a053582b1a95910277f WHIRLPOOL 9e1f0f4372b079281f5d258b65db2bcbfc3b86b174caa7f9da2f579bac8d208b5d1e33da37897c0133d1766e519678a0c7403d6878c4ae6f96a921f820a957a8
AUX eblits/pkg_pretend.eblit 5033 SHA256 2bfff6a61e0baee5a2bb7c7812da90c149d84e13e2a4242f4ceaf9e2a444fbdf SHA512 82bf11077e6bbc108d5a9c0aec47aea23213d9a74a5e7a8c4d44cab1c6e1b506497607b4e8978425b029d6fa5d9ef33192391cc66e346959872f3005943faaeb WHIRLPOOL 4a6286880ead331d68c01e973abb8522013be36020a0729259d82e5e9b64dbed1f956a77433dbae56840e224b5e0e901a7bbf2addf877ca93966194e3d6382e7
diff --git a/sys-libs/glibc/files/eblits/common.eblit b/sys-libs/glibc/files/eblits/common.eblit
index 2f4ef50c..23556745 100644
--- a/sys-libs/glibc/files/eblits/common.eblit
+++ b/sys-libs/glibc/files/eblits/common.eblit
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: 51ba4a923997ea22a6b51c00dc3229a4a72a6a47 $
+# $Id: c0a989cd150b56d4f33db804616cd2b9f375cb92 $
alt_prefix() {
is_crosscompile && echo /usr/${CTARGET}
@@ -102,62 +102,82 @@ setup_target_flags() {
# Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
filter-flags "-fcall-used-g7"
append-flags "-fcall-used-g6"
- filter-flags "-mvis"
-
- GLIBCMAJOR=$(get_version_component_range 1 ${PV})
- GLIBCMINOR=$(get_version_component_range 2 ${PV})
-
- # set CTARGET_OPT so glibc can use cpu-specific .S files for better performance
- # - UltraSPARC T1 (niagara) support requires >= glibc 2.8
- # - UltraSPARC T2 (niagara2) support requires >= glibc 2.7
-
- if is_crosscompile || [[ ${PROFILE_ARCH} == "sparc64" ]] || { has_multilib_profile && ! tc-is-cross-compiler; } ; then
- case ${ABI}:${CTARGET} in
- sparc64:*|\
- default:sparc64*)
- filter-flags -Wa,-xarch -Wa,-A
-
- if is-flagq "-mcpu=niagara2" && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.7 ]] ; then
- CTARGET_OPT="sparc64v2-unknown-linux-gnu"
- append-flags "-Wa,-xarch=v9b"
- export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9b"
- elif { is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2" ; } && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.6 ]] ; then
- CTARGET_OPT="sparc64v-unknown-linux-gnu"
- append-flags "-Wa,-xarch=v9b"
- export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9b"
- elif is-flagq "-mcpu=ultrasparc3" || is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2"; then
- CTARGET_OPT="sparc64b-unknown-linux-gnu"
- append-flags "-Wa,-xarch=v9b"
- export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9b"
- else
- CTARGET_OPT="sparc64-unknown-linux-gnu"
- append-flags "-Wa,-xarch=v9a"
- export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9a"
- fi
+
+ # 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-*)
+ case $(get-flag mcpu) in
+ niagara[234])
+ if version_is_at_least 2.8 ; then
+ cpu="sparc64v2"
+ elif version_is_at_least 2.4 ; then
+ cpu="sparc64v"
+ elif version_is_at_least 2.2.3 ; then
+ cpu="sparc64b"
+ fi
+ ;;
+ niagara)
+ if version_is_at_least 2.4 ; then
+ cpu="sparc64v"
+ elif version_is_at_least 2.2.3 ; then
+ cpu="sparc64b"
+ fi
+ ;;
+ ultrasparc3)
+ cpu="sparc64b"
;;
- *)
- if is-flagq "-mcpu=niagara2" && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.7 ]] ; then
- CTARGET_OPT="sparcv9v2-unknown-linux-gnu"
- elif { is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2" ; } && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.6 ]] ; then
- CTARGET_OPT="sparcv9v-unknown-linux-gnu"
- elif is-flagq "-mcpu=ultrasparc3" || is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2"; then
- CTARGET_OPT="sparcv9b-unknown-linux-gnu"
- else
- CTARGET_OPT="sparcv9-unknown-linux-gnu"
- fi
+ *)
+ # 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"
;;
esac
- else
- if is-flagq "-mcpu=niagara2" && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.7 ]] ; then
- CTARGET_OPT="sparcv9v2-unknown-linux-gnu"
- elif { is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2" ; } && [[ ${GLIBCMAJOR}.${GLIBCMINOR} > 2.6 ]] ; then
- CTARGET_OPT="sparcv9v-unknown-linux-gnu"
- elif is-flagq "-mcpu=ultrasparc3" || is-flagq "-mcpu=niagara" || is-flagq "-mcpu=niagara2"; then
- CTARGET_OPT="sparcv9b-unknown-linux-gnu"
- elif { is_crosscompile && want_nptl; } || is-flagq "-mcpu=ultrasparc2" || is-flagq "-mcpu=ultrasparc"; then
- CTARGET_OPT="sparcv9-unknown-linux-gnu"
- fi
- fi
+ ;;
+ sparc-*)
+ case $(get-flag mcpu) in
+ niagara[234])
+ if version_is_at_least 2.8 ; then
+ cpu="sparcv9v2"
+ elif version_is_at_least 2.4 ; then
+ cpu="sparcv9v"
+ elif version_is_at_least 2.2.3 ; then
+ cpu="sparcv9b"
+ else
+ cpu="sparcv9"
+ fi
+ ;;
+ niagara)
+ if version_is_at_least 2.4 ; then
+ cpu="sparcv9v"
+ elif version_is_at_least 2.2.3 ; then
+ cpu="sparcv9b"
+ else
+ cpu="sparcv9"
+ fi
+ ;;
+ ultrasparc3)
+ cpu="sparcv9b"
+ ;;
+ v9|ultrasparc)
+ cpu="sparcv9"
+ ;;
+ v8|supersparc|hypersparc|leon|leon3)
+ cpu="sparcv8"
+ ;;
+ esac
+ ;;
+ esac
+ [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
;;
esac
}