mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-06 10:59:21 +00:00
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>
This commit is contained in:
parent
7ac327d6c3
commit
712b617a74
@ -74,7 +74,7 @@ choice
|
|||||||
config LIBC_GLIBC_V_2_23
|
config LIBC_GLIBC_V_2_23
|
||||||
bool
|
bool
|
||||||
prompt "2.23"
|
prompt "2.23"
|
||||||
select LIBC_GLIBC_2_20_or_later
|
select LIBC_GLIBC_2_23_or_later
|
||||||
|
|
||||||
config LIBC_GLIBC_V_2_22
|
config LIBC_GLIBC_V_2_22
|
||||||
bool
|
bool
|
||||||
@ -109,6 +109,11 @@ endchoice
|
|||||||
|
|
||||||
endif # ! LIBC_GLIBC_CUSTOM
|
endif # ! LIBC_GLIBC_CUSTOM
|
||||||
|
|
||||||
|
# Checked by SPARC build: SPARCv8 is dropped in 2.23.
|
||||||
|
config LIBC_GLIBC_2_23_or_later
|
||||||
|
select LIBC_GLIBC_2_20_or_later
|
||||||
|
bool
|
||||||
|
|
||||||
# DeMark 2.20 as no longer needs to set NPTL as an addon.
|
# DeMark 2.20 as no longer needs to set NPTL as an addon.
|
||||||
# It is no longer possible to build glibc without pthread!
|
# It is no longer possible to build glibc without pthread!
|
||||||
config LIBC_GLIBC_2_20_or_later
|
config LIBC_GLIBC_2_20_or_later
|
||||||
|
@ -73,6 +73,7 @@ do_libc_backend() {
|
|||||||
local multi_dir
|
local multi_dir
|
||||||
local multi_flags
|
local multi_flags
|
||||||
local extra_dir
|
local extra_dir
|
||||||
|
local target
|
||||||
local libc_headers libc_startfiles libc_full
|
local libc_headers libc_startfiles libc_full
|
||||||
local hdr
|
local hdr
|
||||||
local arg
|
local arg
|
||||||
@ -136,11 +137,24 @@ do_libc_backend() {
|
|||||||
|
|
||||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-libc-${libc_mode}${extra_dir//\//_}"
|
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}" \
|
do_libc_backend_once extra_dir="${extra_dir}" \
|
||||||
extra_flags="${extra_flags}" \
|
extra_flags="${extra_flags}" \
|
||||||
libc_headers="${libc_headers}" \
|
libc_headers="${libc_headers}" \
|
||||||
libc_startfiles="${libc_startfiles}" \
|
libc_startfiles="${libc_startfiles}" \
|
||||||
libc_full="${libc_full}"
|
libc_full="${libc_full}" \
|
||||||
|
target="${target}"
|
||||||
|
|
||||||
CT_Popd
|
CT_Popd
|
||||||
|
|
||||||
@ -192,6 +206,7 @@ do_libc_backend_once() {
|
|||||||
local glibc_cflags
|
local glibc_cflags
|
||||||
local float_extra
|
local float_extra
|
||||||
local endian_extra
|
local endian_extra
|
||||||
|
local target
|
||||||
local arg
|
local arg
|
||||||
|
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
@ -341,7 +356,7 @@ do_libc_backend_once() {
|
|||||||
"${src_dir}/configure" \
|
"${src_dir}/configure" \
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--build=${CT_BUILD} \
|
--build=${CT_BUILD} \
|
||||||
--host=${CT_TARGET} \
|
--host=${target} \
|
||||||
--cache-file="$(pwd)/config.cache" \
|
--cache-file="$(pwd)/config.cache" \
|
||||||
--without-cvs \
|
--without-cvs \
|
||||||
--disable-profile \
|
--disable-profile \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user