> Unless someone is going to make a concerted and dedicated development > effort to do the necessary full analysis and backport all of the > necessary changes, I would suggest to simply not enable TLS for the > sparc64 glibc build at this time so at least we have something which > works.
That works. Remove sparc64-tls.dpatch entirely and configure sparc64 with --without-tls. Working debian/sysdeps/sparc.mk attached.
GLIBC_PASSES += sparcv9 sparcv9b sparc64 DEB_ARCH_REGULAR_PACKAGES += libc6-sparc64 libc6-sparcv9 libc6-sparcv9b libc6-dev-sparc64 sparc64_MIN_KERNEL_SUPPORTED = 2.4.18 sparc64_configure_target=sparc64-linux sparc64_CC = $(BUILD_CC) -m64 sparc64_extra_cflags = -g1 -O3 sparc64_extra_config_options = $(extra_config_options) --disable-profile --without-tls sparc64_add-ons = linuxthreads $(add-ons) libc6-sparc64_shlib_dep = libc6-sparc64 (>= $(shlib_dep_ver)) sparc64_LIBDIR = 64 sparcv9_MIN_KERNEL_SUPPORTED = 2.4.18 sparcv9_configure_target=sparcv9-linux sparcv9_extra_cflags = -g1 -O3 sparcv9_extra_config_options = $(extra_config_options) --disable-profile sparcv9_add-ons = linuxthreads $(add-ons) sparcv9_LIBDIR = /v9 sparcv9b_MIN_KERNEL_SUPPORTED = 2.4.18 sparcv9b_configure_target=sparcv9b-linux sparcv9b_extra_cflags = -g1 -O3 sparcv9b_extra_config_options = $(extra_config_options) --disable-profile sparcv9b_add-ons = linuxthreads $(add-ons) sparcv9b_LIBDIR = /ultra3