From 408ca45f7c5c6e58208a7b8004f764dc0c1afdd3 Mon Sep 17 00:00:00 2001 From: Zac Walker 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