The mcf part is untested and might be incomplete.
There might be other parts missing to make them work on aarch64.

Signed-off-by: Timo Rothenpieler <[email protected]>
---
 gcc/ChangeLog                                          |  9 +++++++++
 gcc/config.gcc                                         | 10 ++++++++--
 .../{i386/mingw-mcfgthread.h => mingw/mcfgthread.h}    |  0
 gcc/config/{i386/mingw-pthread.h => mingw/pthread.h}   |  0
 4 files changed, 17 insertions(+), 2 deletions(-)
 rename gcc/config/{i386/mingw-mcfgthread.h => mingw/mcfgthread.h} (100%)
 rename gcc/config/{i386/mingw-pthread.h => mingw/pthread.h} (100%)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a1e1e96f9e5..a8e4c43173d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2026-05-14  Timo Rothenpieler  <[email protected]>
+
+       * config/i386/mingw-pthread.h:
+       rename to generic config/mingw/pthread.h
+       * config/i386/mingw-mcfgthread.h:
+       rename to generic config/mingw/mcfgthread.h
+       * config.gcc [aarch64-*-mingw*]:
+       Fix support for posix/mcf threading on aarch64 mingw targets.
+
 2026-05-13  Zhongyao Chen  <[email protected]>
 
        PR target/125215
diff --git a/gcc/config.gcc b/gcc/config.gcc
index b1a1e955bda..f09038743a1 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1320,6 +1320,12 @@ aarch64-*-mingw*)
        tm_file="${tm_file} aarch64/aarch64-abi-ms.h"
        tm_file="${tm_file} aarch64/aarch64-coff.h"
        tm_file="${tm_file} aarch64/cygming.h"
+       if test x$enable_threads = xposix ; then
+               tm_file="${tm_file} mingw/pthread.h"
+       fi
+       if test x$enable_threads = xmcf ; then
+               tm_file="${tm_file} mingw/mcfgthread.h"
+       fi
        tm_file="${tm_file} mingw/mingw32.h"
        tm_file="${tm_file} mingw/mingw-stdint.h"
        tm_file="${tm_file} mingw/winnt.h"
@@ -2288,10 +2294,10 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
                        ;;
        esac
        if test x$enable_threads = xposix ; then
-               tm_file="${tm_file} i386/mingw-pthread.h"
+               tm_file="${tm_file} mingw/pthread.h"
        fi
        if test x$enable_threads = xmcf ; then
-               tm_file="${tm_file} i386/mingw-mcfgthread.h"
+               tm_file="${tm_file} mingw/mcfgthread.h"
        fi
        tm_file="${tm_file} mingw/mingw32.h"
        # This makes the logic if mingw's or the w64 feature set has to be used
diff --git a/gcc/config/i386/mingw-mcfgthread.h b/gcc/config/mingw/mcfgthread.h
similarity index 100%
rename from gcc/config/i386/mingw-mcfgthread.h
rename to gcc/config/mingw/mcfgthread.h
diff --git a/gcc/config/i386/mingw-pthread.h b/gcc/config/mingw/pthread.h
similarity index 100%
rename from gcc/config/i386/mingw-pthread.h
rename to gcc/config/mingw/pthread.h
-- 
2.52.0

Reply via email to