[Bug libc/34396] sparc64-unknown-linux-gnu , Gentoo: >200 test failures, SIGILL in many binaries
"adhemerval.zanella at linaro dot org via Glibc-bugs" <[email protected]> Tue, 14 Jul 2026 12:08:26 +0000
| Newsgroups | gmane.comp.lib.glibc.bugs |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://sourceware.org/bugzilla/show_bug.cgi?id=3D34396 --- Comment #4 from Adhemerval Zanella <adhemerval.zanella at linaro dot or= g> --- I figured out the issue and why I could not reproduce it. It seems I hit a= ld bug that disable IFUNC/multiarch on sparc (libc_cv_ld_gnu_indirect_function= =3Dno -> multi_arch=3Dno), and testing with some old toolchain I have I now see t= he problem: Toolchain ld version Configure outcome This bug gcc-12 2.38 ifunc OK multi_arch=3Dyes reproduces gcc-13 2.40 ifunc OK multi_arch=3Dyes reproduces gcc-14 2.44 link error multi_arch=3Dno hidden gcc-15 2.46.1 ld SEGFAULT multi_arch=3Dno hidden gcc-16 2.46.0 ld SEGFAULT multi_arch=3Dno hidden The issue after b75ad99d45b (TCB set up before static IFUNC resolvers),=20= =20=20=20 __libc_setup_tls -> _dl_allocate_tls_init copies the TLS init image with the IFUNC __mempcpy before ARCH_SETUP_IREL resolves it, so on a multi-arch sparcv9/sparc64 static build the call jumps through an unrelocated PLT slot= and the process dies with SIGILL. I will send a fix fo this. --=20 You are receiving this mail because: You are on the CC list for the bug.=