This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]