https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119796
--- Comment #15 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-13 branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:7ac1a99ccffbb5449cca41668e40736f889bafd6 commit r13-9609-g7ac1a99ccffbb5449cca41668e40736f889bafd6 Author: Jakub Jelinek <ja...@redhat.com> Date: Wed Apr 16 17:22:49 2025 +0200 libatomic: Fix up libat_{,un}lock_n for mingw [PR119796] Here is just a port of the previously posted patch to mingw which clearly has the same problems. 2025-04-16 Jakub Jelinek <ja...@redhat.com> PR libgcc/101075 PR libgcc/119796 * config/mingw/lock.c (libat_lock_n, libat_unlock_n): Start with computing how many locks will be needed and take into account ((uintptr_t)ptr % WATCH_SIZE). If some locks from the end of the locks array and others from the start of it will be needed, first lock the ones from the start followed by ones from the end. (cherry picked from commit 34fe8e90007afbc87941df9b01ffcf8747c11497)