qtbase/config.tests
Michał Łoś a295f4f913 Enable broken_threadlocal_dtors for VxWorks
Changes applied in commit 4fabde349f broke
VxWorks tests and examples, many of which crash with error:
```
pthreadLib: unable to create POSIX thread internal attributes.
```

This error appeared in multiple tests, but was tested on tst_QSignalSpy,
where it was 100% reproducible (I haven't check other tests for
reproducibility).

This above error is printed when VxWorks task starts and initializes its
pthread containers. Pthread starting procedure results in error
`S_objLib_OBJ_ID_ERROR`, on which documentation states that it means
"The <tid> parameter is an invalid task ID". This happens because
VxWorks pthread implementation clears its internal data, and only then
passes control to `taskExit` system procedure, which calls thread_local
destructors. Any calls to `pthread` routines which require current
thread internal data ends with error and termination.

While VxWorks uses clang internally, it implements `__cxa_thread_atexit`
and `__cxa_thread_atexit_impl`, which makes it pass `TEST_cxa_atexit` in
CMake, even thou their call order is different than on other platforms.

Enable QT_FEATURE_broken_threadlocal_dtors for VxWorks by failing
compilation of cxa_thread_atexit* tests, which fixes the crashes on
VxWorks.

Task-number: QTBUG-115777
Change-Id: I4109b66903333a94301afe7fe5634ac4365a70b4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-11-05 14:36:17 +01:00
..
arch Fix runtime CPU feature detection for ARM 2024-10-17 01:43:02 +02:00
armintrin Fix runtime CPU feature detection for ARM 2024-10-17 01:43:02 +02:00
binary_for_strip Correct license in config.test 2024-02-20 16:22:28 +01:00
cmake_zstd Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
cxa_thread_atexit Enable broken_threadlocal_dtors for VxWorks 2024-11-05 14:36:17 +01:00
loongarch_simd Add LSX and LASX configure detection 2024-10-22 18:12:15 +02:00
no_direct_extern_access Add copyright and licensing to build system files missing it 2024-05-21 17:23:21 +02:00
precompile_header Correct license in config.test 2024-02-20 16:22:28 +01:00
separate_debug_info Add copyright and licensing to .cpp and .h files missing them 2024-05-28 09:47:01 +02:00
static_link_order Correct license in config.test 2024-02-20 16:22:28 +01:00
verifyspec Add copyright and licensing to .cpp and .h files missing them 2024-05-28 09:47:01 +02:00
x86_simd Correct license in config.test 2024-02-20 16:22:28 +01:00
x86intrin Correct license in config.test 2024-02-20 16:22:28 +01:00
.gitignore
.qmake.conf make also configure tests not see %LIB% and %INCLUDE% under mingw 2016-10-17 13:44:43 +00:00