public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Evgeny Karpov <Evgeny.Karpov@microsoft.com>
To: Evgeny Karpov <Evgeny.Karpov@microsoft.com>,
	"gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>
Cc: "richard.sandiford@arm.com" <richard.sandiford@arm.com>,
	"Richard Earnshaw (lists)" <Richard.Earnshaw@arm.com>,
	Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>,
	Radek Barton <radek.barton@microsoft.com>
Subject: [PATCH v3 04/12] Reuse MinGW from i386 for AArch64
Date: Thu, 11 Apr 2024 13:51:43 +0000	[thread overview]
Message-ID: <VI1PR83MB0431CB0B4DA407835834017BF8052@VI1PR83MB0431.EURPRD83.prod.outlook.com> (raw)
In-Reply-To: <VI1PR83MB0431D9D41D59FC495D4E7CA0F8052@VI1PR83MB0431.EURPRD83.prod.outlook.com>

From: Zac Walker <zacwalker@microsoft.com>
Date: Fri, 1 Mar 2024 02:41:50 +0100
Subject: [PATCH v3 04/12] 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.

gcc/ChangeLog:

	* config.gcc: Adjust targets after moving MinGW related files
	from i386 to mingw folder.
	* config/i386/cygming.opt: Move to...
	* config/mingw/cygming.opt: ...here.
	* config/i386/cygming.opt.urls: Move to...
	* config/mingw/cygming.opt.urls: ...here.
	* config/i386/cygwin-d.cc: Move to...
	* config/mingw/cygwin-d.cc: ...here.
	* config/i386/mingw-stdint.h: Move to...
	* config/mingw/mingw-stdint.h: ...here.
	* config/i386/mingw.opt: Move to...
	* config/mingw/mingw.opt: ...here.
	* config/i386/mingw.opt.urls: Move to...
	* config/mingw/mingw.opt.urls: ...here.
	* config/i386/mingw32.h: Move to...
	* config/mingw/mingw32.h: ...here.
	* config/i386/msformat-c.cc: Move to...
	* config/mingw/msformat-c.cc: ...here.
	* config/i386/t-cygming: Move to...
	* config/mingw/t-cygming: ...here and updated.
	* config/i386/winnt-cxx.cc: Move to...
	* config/mingw/winnt-cxx.cc: ...here.
	* config/i386/winnt-d.cc: Move to...
	* config/mingw/winnt-d.cc: ...here.
	* config/i386/winnt-stubs.cc: Move to...
	* config/mingw/winnt-stubs.cc: ...here.
	* config/i386/winnt.cc: Move to...
	* config/mingw/winnt.cc: ...here.
---
 gcc/config.gcc                              | 22 ++++++++++----------
 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, 24 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 dffc041cc18..1712441429c 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2168,9 +2168,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"
@@ -2186,9 +2186,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"
@@ -2224,7 +2224,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-*)
@@ -2253,8 +2253,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"
@@ -2264,8 +2264,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


  parent reply	other threads:[~2024-04-11 13:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-11 13:38 [PATCH v3 00/12] Add aarch64-w64-mingw32 target Evgeny Karpov
2024-04-11 13:45 ` [PATCH v3 01/12] Introduce " Evgeny Karpov
2024-04-11 13:48 ` [PATCH v3 02/12] aarch64: Mark x18 register as a fixed register for MS ABI Evgeny Karpov
2024-04-11 13:50 ` [PATCH v3 03/12] aarch64: Add aarch64-w64-mingw32 COFF Evgeny Karpov
2024-04-11 13:51 ` Evgeny Karpov [this message]
2024-04-11 13:53 ` [PATCH v3 05/12] Rename section and encoding functions from i386 which will be used in aarch64 Evgeny Karpov
2024-04-11 13:54 ` [PATCH v3 06/12] Exclude i386 functionality from aarch64 build Evgeny Karpov
2024-04-11 13:56 ` [PATCH v3 07/12] aarch64: Add Cygwin and MinGW environments for AArch64 Evgeny Karpov
2024-04-11 13:58 ` [PATCH v3 08/12] aarch64: Add SEH to machine_function Evgeny Karpov
2024-04-11 13:59 ` [PATCH v3 09/12] Rename "x86 Windows Options" to "Cygwin and MinGW Options" Evgeny Karpov
2024-04-11 14:00 ` [PATCH v3 10/12] aarch64: Build and add objects for Cygwin and MinGW for AArch64 Evgeny Karpov
2024-04-11 14:01 ` [PATCH v3 11/12] aarch64: Add aarch64-w64-mingw32 target to libatomic Evgeny Karpov
2024-04-11 14:03 ` [PATCH v3 12/12] Add aarch64-w64-mingw32 target to libgcc Evgeny Karpov
2024-05-07 16:05 ` [PATCH v3 00/12] Add aarch64-w64-mingw32 target Christophe Lyon
2024-05-07 16:31   ` [EXTERNAL] " Zac Walker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=VI1PR83MB0431CB0B4DA407835834017BF8052@VI1PR83MB0431.EURPRD83.prod.outlook.com \
    --to=evgeny.karpov@microsoft.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=maxim.kuvyrkov@linaro.org \
    --cc=radek.barton@microsoft.com \
    --cc=richard.sandiford@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).