summaryrefslogtreecommitdiff
path: root/scripts/build/libc/glibc.sh
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2016-03-15 19:39:03 (GMT)
committerAlexey Neyman <stilor@att.net>2016-04-02 01:15:39 (GMT)
commit712b617a744aa941b99d32d9ff6d9126c77382fb (patch)
tree3ea6540f9e9642e0acd23329281a66ed15b50928 /scripts/build/libc/glibc.sh
parent7ac327d6c33fa78f194e816beec0796901f5d002 (diff)
Unbreak sparc-unknown-linux-gnu.
GLIBC 2.23 dropped support for pre-v9 SPARC in pthreads. Pass host triplet with s/sparc/sparcv9/ replacement for 2.23. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts/build/libc/glibc.sh')
-rw-r--r--scripts/build/libc/glibc.sh19
1 files changed, 17 insertions, 2 deletions
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh
index 0a09cbd..013c6eb 100644
--- a/scripts/build/libc/glibc.sh
+++ b/scripts/build/libc/glibc.sh
@@ -73,6 +73,7 @@ do_libc_backend() {
local multi_dir
local multi_flags
local extra_dir
+ local target
local libc_headers libc_startfiles libc_full
local hdr
local arg
@@ -136,11 +137,24 @@ do_libc_backend() {
CT_mkdir_pushd "${CT_BUILD_DIR}/build-libc-${libc_mode}${extra_dir//\//_}"
+ target=${CT_TARGET}
+ case "${target}" in
+ # SPARC quirk: glibc 2.23 and newer dropped support for SPARCv8 and
+ # earlier (corresponding pthread barrier code is missing). Until this
+ # support is reintroduced, configure as sparcv9.
+ sparc-*)
+ if [ "${CT_LIBC_GLIBC_2_23_or_later}" = y ]; then
+ target=${target/#sparc-/sparcv9-}
+ fi
+ ;;
+ esac
+
do_libc_backend_once extra_dir="${extra_dir}" \
extra_flags="${extra_flags}" \
libc_headers="${libc_headers}" \
libc_startfiles="${libc_startfiles}" \
- libc_full="${libc_full}"
+ libc_full="${libc_full}" \
+ target="${target}"
CT_Popd
@@ -192,6 +206,7 @@ do_libc_backend_once() {
local glibc_cflags
local float_extra
local endian_extra
+ local target
local arg
for arg in "$@"; do
@@ -341,7 +356,7 @@ do_libc_backend_once() {
"${src_dir}/configure" \
--prefix=/usr \
--build=${CT_BUILD} \
- --host=${CT_TARGET} \
+ --host=${target} \
--cache-file="$(pwd)/config.cache" \
--without-cvs \
--disable-profile \