在 2025-9-15 02:09, Kirill Makurin 写道:
This is the updated patch series.When I was running `make check` with 32-bit msvcrt.dll I noticed one more test failure, which was a bug in sem_timedwait32. The first patch in this series adds a fix. I pushed this patch series to by GitHub fork and noticed that all testcases-clang failed on aarch64[1]. The reason was pthread_misc/context1.c which was not prepared to handle arm platforms. I am not familiar with arm[64] and CONTEXT structure used in this test, so I simply added preprocessor conditions to skip this test for arm (patch 5). I took a quick look at definition of CONTEXT structure and wonder if `Pc` member is the proper one for this test?
Yes it looks so.
I omitted cosmetic (whitespace) changes which were caused by my editor's
settings; Instead, I wonder if we could add a .clang-format to mingw-w64 repo?
While reformatting all files would be an overkill, I think it would be nice to
have consistent code style for new files. What do you think?
Patch 12 adds GitHub CI integration. I added a new step "Build and test winpthreads" to
testcases-{gcc,clang} jobs. I also marked "Build mingw-w64-crt and run testcases" step with
"continue-on-error: true", I think it would nice to run winpthreads tests even if crt build/tests
failed. Feel free to remove it if you don't like it.
Some of the new tests are failing on ARM64EC: https://github.com/lhmouse/mingw-w64/actions/runs/18068952591/job/51416136679#step:6:1448 FAIL: pthread_barrier/barrier5 ==============================Assertion failed: (((barrier_t *)*barrier)->valid == LIFE_BARRIER) && (((barrier_t *)*barrier)->busy > 0), file ../src/barrier.c, line 47
FAIL pthread_barrier/barrier5.exe (exit status: 127) FAIL: pthread_misc/stress1 ==========================Assertion failed: (((barrier_t *)*barrier)->valid == LIFE_BARRIER) && (((barrier_t *)*barrier)->busy > 0), file ../src/barrier.c, line 47
FAIL pthread_misc/stress1.exe (exit status: 127) XFAIL: pthread_mutex/mutex4 =========================== *** 0==0 Assertion failed: (pthread_mutex_unlock(&mutex1) == EPERM), file ../../tests/pthread_mutex/mutex4.c, line 79 XFAIL pthread_mutex/mutex4.exe (exit status: 1) XFAIL: pthread_mutex/mutex6e ============================ Assertion failed: (pthread_mutex_unlock(&mutex) == EPERM), file ../../tests/pthread_mutex/mutex6e.c, line 68 XFAIL pthread_mutex/mutex6e.exe (exit status: 1) XFAIL: pthread_mutex/mutex6es ============================= Assertion failed: (pthread_mutex_unlock(&mutex) == EPERM), file ../../tests/pthread_mutex/mutex6es.c, line 67 XFAIL pthread_mutex/mutex6es.exe (exit status: 1) XFAIL: pthread_mutex/mutex7 =========================== Assertion failed: (pthread_mutex_unlock(&mutex) == EPERM), file ../../tests/pthread_mutex/mutex7.c, line 60 XFAIL pthread_mutex/mutex7.exe (exit status: 1) XFAIL: pthread_mutex/mutex7e ============================ Assertion failed: (pthread_mutex_unlock(&mutex) == EPERM), file ../../tests/pthread_mutex/mutex7e.c, line 68 XFAIL pthread_mutex/mutex7e.exe (exit status: 1) XFAIL: pthread_mutex/mutex7n ============================ Assertion failed: (pthread_mutex_unlock(&mutex) == EPERM), file ../../tests/pthread_mutex/mutex7n.c, line 64 XFAIL pthread_mutex/mutex7n.exe (exit status: 1) FAIL: pthread_rwlock/rwlock7 ============================....Assertion failed: (((rwlock_t *)*rwl)->valid == LIFE_RWLOCK) && (((rwlock_t *)*rwl)->busy > 0), file ../src/rwlock.c, line 50
FAIL pthread_rwlock/rwlock7.exe (exit status: 127) FAIL: pthread_rwlock/rwlock8 ============================.....Assertion failed: (((rwlock_t *)*rwl)->valid == LIFE_RWLOCK) && (((rwlock_t *)*rwl)->busy > 0), file ../src/rwlock.c, line 50
FAIL pthread_rwlock/rwlock8.exe (exit status: 127) XFAIL: pthread_spinlock/spin1 ============================= Assertion failed: (pthread_spin_lock(&lock) == EINVAL), file ../../tests/pthread_spinlock/spin1.c, line 56 XFAIL pthread_spinlock/spin1.exe (exit status: 1) XFAIL: pthread_spinlock/spin3 =============================Assertion failed: (pthread_spin_unlock(&spin) == (int) expectedResult), file ../../tests/pthread_spinlock/spin3.c, line 52
XFAIL pthread_spinlock/spin3.exe (exit status: 1) -- Best regards, LIU Hao
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
