From 408ca45f7c5c6e58208a7b8004f764dc0c1afdd3 Mon Sep 17 00:00:00 2001
From: Zac Walker <zacwal...@microsoft.com>
Date: Tue, 20 Feb 2024 18:15:27 +0100
Subject: [PATCH v1 05/13] Reuse MinGW from i386 for AArch64

This patch creates a new config/mingw directory to share MinGW
related definitions, and moves there the corresponding existing files
from config/i386. It also makes uses of them on the new
aarch64-w64-mingw32 target.

gcc/ChangeLog:

        * config.gcc: Adjust targets after moving MinGW related files
        from i386 to mingw folder.
        * config/i386/cygming.opt: Moved to...
        * config/mingw/cygming.opt: ...here.
        * config/i386/cygming.opt.urls: Moved to...
        * config/mingw/cygming.opt.urls: ...here.
        * config/i386/cygwin-d.cc: Moved to...
        * config/mingw/cygwin-d.cc: ...here.
        * config/i386/mingw-stdint.h: Moved to...
        * config/mingw/mingw-stdint.h: ...here.
        * config/i386/mingw.opt: Moved to...
        * config/mingw/mingw.opt: ...here.
        * config/i386/mingw.opt.urls: Moved to...
        * config/mingw/mingw.opt.urls: ...here.
        * config/i386/mingw32.h: Moved to...
        * config/mingw/mingw32.h: ...here.
        * config/i386/msformat-c.cc: Moved to...
        * config/mingw/msformat-c.cc: ...here.
        * config/i386/t-cygming: Moved to...
        * config/mingw/t-cygming: ...here and updated.
        * config/i386/winnt-cxx.cc: Moved to...
        * config/mingw/winnt-cxx.cc: ...here.
        * config/i386/winnt-d.cc: Moved to...
        * config/mingw/winnt-d.cc: ...here.
        * config/i386/winnt-stubs.cc: Moved to...
        * config/mingw/winnt-stubs.cc: ...here.
        * config/i386/winnt.cc: Moved to...
        * config/mingw/winnt.cc: ...here.
---
 gcc/config.gcc                              | 25 ++++++++++++---------
 gcc/config/{i386 => mingw}/cygming.opt      |  0
 gcc/config/{i386 => mingw}/cygming.opt.urls |  0
 gcc/config/{i386 => mingw}/cygwin-d.cc      |  0
 gcc/config/{i386 => mingw}/mingw-stdint.h   |  0
 gcc/config/{i386 => mingw}/mingw.opt        |  0
 gcc/config/{i386 => mingw}/mingw.opt.urls   |  0
 gcc/config/{i386 => mingw}/mingw32.h        |  0
 gcc/config/{i386 => mingw}/msformat-c.cc    |  0
 gcc/config/{i386 => mingw}/t-cygming        | 23 ++++++++++---------
 gcc/config/{i386 => mingw}/winnt-cxx.cc     |  0
 gcc/config/{i386 => mingw}/winnt-d.cc       |  0
 gcc/config/{i386 => mingw}/winnt-stubs.cc   |  0
 gcc/config/{i386 => mingw}/winnt.cc         |  0
 14 files changed, 27 insertions(+), 21 deletions(-)
 rename gcc/config/{i386 => mingw}/cygming.opt (100%)
 rename gcc/config/{i386 => mingw}/cygming.opt.urls (100%)
 rename gcc/config/{i386 => mingw}/cygwin-d.cc (100%)
 rename gcc/config/{i386 => mingw}/mingw-stdint.h (100%)
 rename gcc/config/{i386 => mingw}/mingw.opt (100%)
 rename gcc/config/{i386 => mingw}/mingw.opt.urls (100%)
 rename gcc/config/{i386 => mingw}/mingw32.h (100%)
 rename gcc/config/{i386 => mingw}/msformat-c.cc (100%)
 rename gcc/config/{i386 => mingw}/t-cygming (73%)
 rename gcc/config/{i386 => mingw}/winnt-cxx.cc (100%)
 rename gcc/config/{i386 => mingw}/winnt-d.cc (100%)
 rename gcc/config/{i386 => mingw}/winnt-stubs.cc (100%)
 rename gcc/config/{i386 => mingw}/winnt.cc (100%)

diff --git a/gcc/config.gcc b/gcc/config.gcc
index 34c7be72fb6..498ee702607 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1265,7 +1265,10 @@ aarch64*-*-linux*)
        ;;
 aarch64*-*-mingw*)
        tm_file="${tm_file} aarch64/aarch64-coff.h"
+       tm_file="${tm_file} mingw/mingw32.h"
+       tm_file="${tm_file} mingw/mingw-stdint.h"
        tmake_file="${tmake_file} aarch64/t-aarch64"
+       target_gtfiles="$target_gtfiles \$(srcdir)/config/mingw/winnt.cc"
        case ${enable_threads} in
          "" | yes | win32)
            thread_file='win32'
@@ -2161,9 +2164,9 @@ i[4567]86-wrs-vxworks*|x86_64-wrs-vxworks7*)
 i[34567]86-*-cygwin*)
        tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/cygming.h 
i386/cygwin.h i386/cygwin-stdint.h"
        xm_file=i386/xm-cygwin.h
-       tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
-       target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
-       extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
+       tmake_file="${tmake_file} mingw/t-cygming t-slibgcc"
+       target_gtfiles="$target_gtfiles \$(srcdir)/config/mingw/winnt.cc"
+       extra_options="${extra_options} mingw/cygming.opt i386/cygwin.opt"
        extra_objs="${extra_objs} winnt.o winnt-stubs.o"
        c_target_objs="${c_target_objs} msformat-c.o"
        cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
@@ -2179,9 +2182,9 @@ x86_64-*-cygwin*)
        need_64bit_isa=yes
        tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/cygming.h 
i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
        xm_file=i386/xm-cygwin.h
-       tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
-       target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
-       extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
+       tmake_file="${tmake_file} mingw/t-cygming t-slibgcc"
+       target_gtfiles="$target_gtfiles \$(srcdir)/config/mingw/winnt.cc"
+       extra_options="${extra_options} mingw/cygming.opt i386/cygwin.opt"
        extra_objs="${extra_objs} winnt.o winnt-stubs.o"
        c_target_objs="${c_target_objs} msformat-c.o"
        cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
@@ -2217,7 +2220,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
        if test x$enable_threads = xmcf ; then
                tm_file="${tm_file} i386/mingw-mcfgthread.h"
        fi
-       tm_file="${tm_file} i386/mingw32.h"
+       tm_file="${tm_file} mingw/mingw32.h"
        # This makes the logic if mingw's or the w64 feature set has to be used
        case ${target} in
                *-w64-*)
@@ -2246,8 +2249,8 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
                *)
                        ;;
        esac
-       tm_file="${tm_file} i386/mingw-stdint.h"
-       tmake_file="${tmake_file} t-winnt i386/t-cygming t-slibgcc"
+       tm_file="${tm_file} mingw/mingw-stdint.h"
+       tmake_file="${tmake_file} t-winnt mingw/t-cygming t-slibgcc"
         case ${target} in
                x86_64-w64-*)
                                tmake_file="${tmake_file} i386/t-mingw-w64"
@@ -2257,8 +2260,8 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
                        ;;
        esac
         native_system_header_dir=/mingw/include
-       target_gtfiles="$target_gtfiles \$(srcdir)/config/i386/winnt.cc"
-       extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
+       target_gtfiles="$target_gtfiles \$(srcdir)/config/mingw/winnt.cc"
+       extra_options="${extra_options} mingw/cygming.opt mingw/mingw.opt"
        case ${target} in
                *-w64-*)
                        extra_options="${extra_options} i386/mingw-w64.opt"
diff --git a/gcc/config/i386/cygming.opt b/gcc/config/mingw/cygming.opt
similarity index 100%
rename from gcc/config/i386/cygming.opt
rename to gcc/config/mingw/cygming.opt
diff --git a/gcc/config/i386/cygming.opt.urls 
b/gcc/config/mingw/cygming.opt.urls
similarity index 100%
rename from gcc/config/i386/cygming.opt.urls
rename to gcc/config/mingw/cygming.opt.urls
diff --git a/gcc/config/i386/cygwin-d.cc b/gcc/config/mingw/cygwin-d.cc
similarity index 100%
rename from gcc/config/i386/cygwin-d.cc
rename to gcc/config/mingw/cygwin-d.cc
diff --git a/gcc/config/i386/mingw-stdint.h b/gcc/config/mingw/mingw-stdint.h
similarity index 100%
rename from gcc/config/i386/mingw-stdint.h
rename to gcc/config/mingw/mingw-stdint.h
diff --git a/gcc/config/i386/mingw.opt b/gcc/config/mingw/mingw.opt
similarity index 100%
rename from gcc/config/i386/mingw.opt
rename to gcc/config/mingw/mingw.opt
diff --git a/gcc/config/i386/mingw.opt.urls b/gcc/config/mingw/mingw.opt.urls
similarity index 100%
rename from gcc/config/i386/mingw.opt.urls
rename to gcc/config/mingw/mingw.opt.urls
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/mingw/mingw32.h
similarity index 100%
rename from gcc/config/i386/mingw32.h
rename to gcc/config/mingw/mingw32.h
diff --git a/gcc/config/i386/msformat-c.cc b/gcc/config/mingw/msformat-c.cc
similarity index 100%
rename from gcc/config/i386/msformat-c.cc
rename to gcc/config/mingw/msformat-c.cc
diff --git a/gcc/config/i386/t-cygming b/gcc/config/mingw/t-cygming
similarity index 73%
rename from gcc/config/i386/t-cygming
rename to gcc/config/mingw/t-cygming
index af01f69acd1..f5de941c8e5 100644
--- a/gcc/config/i386/t-cygming
+++ b/gcc/config/mingw/t-cygming
@@ -20,37 +20,40 @@
 # doing the build, it may not be installed yet.
 LIMITS_H_TEST = true
 
-winnt.o: $(srcdir)/config/i386/winnt.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+winnt.o: $(srcdir)/config/mingw/winnt.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) $(LTO_STREAMER_H)
        $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-       $(srcdir)/config/i386/winnt.cc
+       $(srcdir)/config/mingw/winnt.cc
 
-winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.cc $(CONFIG_H) $(SYSTEM_H) 
coretypes.h \
+winnt-cxx.o: $(srcdir)/config/mingw/winnt-cxx.cc $(CONFIG_H) $(SYSTEM_H) \
+  coretypes.h \
   $(TM_H) $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
        $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-       $(srcdir)/config/i386/winnt-cxx.cc
+       $(srcdir)/config/mingw/winnt-cxx.cc
 
 
-winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.cc $(CONFIG_H) $(SYSTEM_H) 
coretypes.h \
+winnt-stubs.o: $(srcdir)/config/mingw/winnt-stubs.cc $(CONFIG_H) $(SYSTEM_H) \
+  coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
        $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-       $(srcdir)/config/i386/winnt-stubs.cc
+       $(srcdir)/config/mingw/winnt-stubs.cc
 
-cygwin-d.o: $(srcdir)/config/i386/cygwin-d.cc
+cygwin-d.o: $(srcdir)/config/mingw/cygwin-d.cc
        $(COMPILE) $<
        $(POSTCOMPILE)
 
-winnt-d.o: $(srcdir)/config/i386/winnt-d.cc
+winnt-d.o: $(srcdir)/config/mingw/winnt-d.cc
        $(COMPILE) $<
        $(POSTCOMPILE)
 
-msformat-c.o: $(srcdir)/config/i386/msformat-c.cc $(CONFIG_H) $(SYSTEM_H) 
coretypes.h \
+msformat-c.o: $(srcdir)/config/mingw/msformat-c.cc $(CONFIG_H) $(SYSTEM_H) \
+  coretypes.h \
   $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
   $(TM_P_H) $(HASHTAB_H) $(GGC_H)
        $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-       $(srcdir)/config/i386/msformat-c.cc
+       $(srcdir)/config/mingw/msformat-c.cc
 
 STMP_FIXINC=stmp-fixinc
diff --git a/gcc/config/i386/winnt-cxx.cc b/gcc/config/mingw/winnt-cxx.cc
similarity index 100%
rename from gcc/config/i386/winnt-cxx.cc
rename to gcc/config/mingw/winnt-cxx.cc
diff --git a/gcc/config/i386/winnt-d.cc b/gcc/config/mingw/winnt-d.cc
similarity index 100%
rename from gcc/config/i386/winnt-d.cc
rename to gcc/config/mingw/winnt-d.cc
diff --git a/gcc/config/i386/winnt-stubs.cc b/gcc/config/mingw/winnt-stubs.cc
similarity index 100%
rename from gcc/config/i386/winnt-stubs.cc
rename to gcc/config/mingw/winnt-stubs.cc
diff --git a/gcc/config/i386/winnt.cc b/gcc/config/mingw/winnt.cc
similarity index 100%
rename from gcc/config/i386/winnt.cc
rename to gcc/config/mingw/winnt.cc
-- 
2.25.1

Reply via email to