This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RFA: Issues to enable x86 defaulted multilib version
- From: Kai Tietz <ktietz70 at googlemail dot com>
- To: gcc Mailing List <gcc at gcc dot gnu dot org>
- Date: Wed, 22 Jul 2009 21:17:54 +0200
- Subject: RFA: Issues to enable x86 defaulted multilib version
Hello,
Possibly somebody could give me a hint what the issue here is. In the
patch I attached, I enable multilib for x86 default mingw target
(i686-w64-mingw32). The core compilers are translating nicely. But
when it tries to build libgcc by -m64 it throws always the same error
message for any array : "error: size of array "..." is too large". I
am curious as the configuration patch is pretty equal to linux
version, but something I seem to miss here.
Thanks in advance,
Kai
--
| (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination
Index: gcc/gcc/config/i386/mingw-w64.h
===================================================================
--- gcc.orig/gcc/config/i386/mingw-w64.h 2009-07-21 14:27:18.820073000 +0200
+++ gcc/gcc/config/i386/mingw-w64.h 2009-07-21 15:07:27.718073000 +0200
@@ -37,6 +37,10 @@
#undef STANDARD_INCLUDE_DIR
#define STANDARD_INCLUDE_DIR "/mingw/include"
+/* Adjust STANDARD_STARTFILE_PREFIX_1 pointing to lib. */
+#undef STANDARD_STARTFILE_PREFIX_1
+#define STANDARD_STARTFILE_PREFIX_1 "/mingw/lib/"
+
/* Enable multilib. */
#undef ASM_SPEC
@@ -67,3 +71,4 @@
%{static:-Bstatic} %{!static:-Bdynamic} \
%{shared|mdll: -e _DllMainCRTStartup@12 --enable-auto-image-base} \
%(shared_libgcc_undefs)"
+
Index: gcc/gcc/config.gcc
===================================================================
--- gcc.orig/gcc/config.gcc 2009-07-21 14:27:18.825073000 +0200
+++ gcc/gcc/config.gcc 2009-07-21 17:19:12.217073000 +0200
@@ -1294,9 +1294,28 @@
use_gcc_stdint=wrap
;;
i[34567]86-*-mingw* | x86_64-*-mingw*)
- tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h"
+ tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h"
xm_file=i386/xm-mingw32.h
# This makes the logic if mingw's or the w64 feature set has to be used
+ if test x$enable_targets = xall; then
+ tm_defines="${tm_defines} TARGET_BI_ARCH=1"
+ need_64bit_hwint=yes
+ case X"${with_cpu}" in
+ Xgeneric|Xatom|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
+ ;;
+ X)
+ if test x$with_cpu_64 = x; then
+ with_cpu_64=generic
+ fi
+ ;;
+ *)
+ echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
+ echo "generic atom core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
+ exit 1
+ ;;
+ esac
+ fi
+ tm_file="${tm_file} i386/cygming.h i386/mingw32.h"
case ${target} in
*-w64-*)
tm_file="${tm_file} i386/mingw-w64.h"