2010/7/28 Ozkan Sezer <seze...@gmail.com>: > On Wed, Jul 28, 2010 at 10:54 AM, Dongsheng Song > <dongsheng.s...@gmail.com> wrote: >> 于 2010-7-28 15:43, Kai Tietz 写道: >>> 2010/7/28 Dongsheng Song <dongsheng.s...@gmail.com>: >>>> Hi Kai, >>>> >>>> When we cross build gcc 4.5 for windows, I found we can build windows gcc >>>> binary one >>>> week ago, but now the build failed. >>>> >>>> After I do a binary search, I found the issue caused by r2945. >>>> >>>> r2950 | 2010-07-24 05:50:28 | FAILED >>>> r2945 | 2010-07-24 02:44:15 | FAILED >>>> r2944 | 2010-07-24 02:38:30 | SUCCESS >>>> r2939 | 2010-07-23 17:55:30 | SUCCESS >>>> r2928 | 2010-07-23 05:21:20 | SUCCESS >>>> r2924 | 2010-07-22 18:32:25 | SUCCESS >>>> >>>> r2945 remove some *IMPORTANT* macros from >>>> /trunk/mingw-w64-headers/crt/float.h, >>>> e.g. FLT/DBL/LDBL_MANT_DIG, FLT_EVAL_METHOD, *ALL* decimal macros >>>> (DEC32/64/128_*, ...) >>>> >>>> When I add FLT/DBL/LDBL_MANT_DIG and FLT_EVAL_METHOD back to >>>> /trunk/mingw-w64-headers/crt/float.h, >>>> then the gcc cross build success again. >>>> >>>> So I recommend you apply the attached patch at least. >>>> >>>> btw, I know FLT_EVAL_METHOD added by C99, but libgfortran/m4/nearest.m4 >>>> use it, >>>> is it mean we should use ISO C99 compiler to build gcc 4.5 or later, not >>>> ISO C90 as >>>> http://gcc.gnu.org/install/prerequisites.html ? >>>> >>>> Regards, >>>> Dongsheng >>> >>> Hello Dongsheng, >>> >>> the recent change to float.h was necessary to support the new >>> include_next patch of 4.6. So how are you exactly installing headers? >>> As usual you should just see gcc's internal float.h for older gcc's >>> then 4.6. So I am a bit puzzled. Are you removing gcc's float.h here? >>> >>> Regards, >>> Kai >>> >> >> Hi Kai, >> >> I use Debian 6.0 i686 with latest update, gcc 4.4.4 build a gcc 4.5 cross >> compiler for windows, >> then use the cross compiler to build a native gcc 4.5 compiler for windows. >> > > You cannot build 4.4/4.5 based compilers against the mingw-w64-headers > from the trunk unless you patch your gcc according to gcc PR/41943 > >> Without the patch, both i686-windows and x64-windows failed during build >> native >> compiler. >> >> It's strange since I can build cross compiler, it maybe a gcc bug. >> >> The related packages is: >> gcc 4.5 branch, mingw64 trunk, binutils trunk, gmp 5.0 branch, mpfr 3.0 >> branch, >> mpc 0.8.2, ppl 0.10.2, cloog-ppl 0.15.9. >> >> Regards, >> Dongsheng >> > > -- > Ozkan >
The problematic thing here is, that for cross-compiler and native different include dependencies are there. So it is absolutely unpredicatable (for now), if toolchain's header are used in native (so the float.h/stddef.h etc are seen first from system-headers), or if it is by a cross-toolchain, which has in front the gcc-internal header versions of those files. All in all it is simply a mess. Kai -- | (\_/) This is Bunny. Copy and paste | (='.'=) Bunny into your signature to help | (")_(") him gain world domination ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://ad.doubleclick.net/clk;226879339;13503038;l? http://clk.atdmt.com/CRS/go/247765532/direct/01/ _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public