mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
support/testing: TestZfsUclibc: use internal backend for uClibc-ng toolchain
As reported on the mailing list [1] while investigating the TestZfsUclibc Gitlab-CI failure, the python 3.13 interpreter itsef segfault at runtime: Fatal Python error: _PyThreadState_Attach: non-NULL old thread state Python runtime state: preinitialized Thread 0xSegmentation fault This issue is related to the python 3.13 version bump [2] were several internal changes were added [3] to support PEP 703 [4]. PEP 793 is about CPython’s global interpreter lock (“GIL”) removal for multi-threads support that requires a working C11 "thread_local" for thread-local storage [5]. The new uclibc-ng 1.0.55 release contains a fix for this issue [6]. This version is included in Buildroot commit [7]. Since the prebuilt Bootling aarch64 uclibc stable 2025.08-1 is based on previous uClibc-ng release (1.0.54) we have to use the internal toolchain backend to build a new uClibc-ng toolchain using uclibc-ng 1.0.55. Note: the toolchain config defined in this commit reflects the options enabled in the Bootling aarch64 uclibc external toolchains. Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/11271124859 (TestZfsUclibc) [1] https://lore.kernel.org/buildroot/7a4d245d-1556-43c9-8997-6b1f791afbfe@gmail.com/ (TestZfsUclibc) [2]d63e207eb8[3]6e97a9647a[4] https://peps.python.org/pep-0703/ [5] https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/Thread-Local.html [6]94c1297d52[7]5250bba8e5Cc: José Luis Salvador Rufo <salvador.joseluis@gmail.com> Tested-by: José Luis Salvador Rufo <salvador.joseluis@gmail.com> Cc: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Romain Naour <romain.naour@smile.fr> [Julien: - add link to buildroot commit updating uclibc-ng to 1.0.55 - add a note in the commit log about the toolchain config ] Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
committed by
Julien Olivain
parent
5d2abdc66c
commit
5208b7a1bd
@@ -74,9 +74,18 @@ class TestZfsGlibc(TestZfsBase):
|
||||
|
||||
|
||||
class TestZfsUclibc(TestZfsBase):
|
||||
config = TestZfsBase.config + \
|
||||
# The Bootling aarch64 uclibc stable 2025.08-1 needs to be
|
||||
# rebuild with uClibc-ng 1.0.55.
|
||||
# See: https://github.com/wbx-github/uclibc-ng/commit/94c1297d52263e20cd9715601afa37f49d008d93
|
||||
config = TestZfsBase.config.replace('BR2_TOOLCHAIN_EXTERNAL=y\n', '')
|
||||
config = config.replace('BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y\n', '') + \
|
||||
"""
|
||||
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y
|
||||
BR2_KERNEL_HEADERS_5_4=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
|
||||
BR2_PTHREAD_DEBUG=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
BR2_GCC_ENABLE_OPENMP=y
|
||||
"""
|
||||
|
||||
def test_run(self):
|
||||
|
||||
Reference in New Issue
Block a user