This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
I wrote: > Jx Saarinen wrote: > > Actually I managed to do this OK. But when I tested the mingw32-h8300 > I think this being fixed in the current egcs-snapshots, i.e. these things > edited in the Makefile.in. The 'egcs' was a typo, should be binutils... Anyhow, the mingw32 host has some problems to be solved somehow. The h8300-hms target is one of those revealing these. Its specs has the following predefines, going through the MS library routines to cpp : %{!mh:%{!ms:-D__SIZE_TYPE__=unsigned\ int -D__PTRDIFF_TYPE__=int}} %{mh:-D__SIZE_TYPE__=unsigned\ long -D__PTRDIFF_TYPE__=long} %{ms:-D__SIZE_TYPE__=unsigned\ long -D__PTRDIFF_TYPE__=long} Of course this kind of 'spaces in the options' doesn't work with them. There is some kind of argument fixing in the 'pexecute.c' for mingw32, but it doesn't cure this case. So the simplest way would to remove these from specs and move them to some 'always included' header, or to a header which is included in this... Could <sys/types.h> be the proper one? I moved them somewhere, but cannot find where, perhaps I have written them over... In the h8300-hms case the '-mh' and '-ms' will cause the '-D__H8300H__' and '-D__H8300S__', so the info about '-mh' or '-ms' is available... The 'mips-ecoff' (and probably all the other 'mips-xxxx' targets) has just the same kind of things in the 'specs'... These can also be fixed by moving the definitions to headers... The 'newlib/targ-include' gathers these kind of 'target specific' headers, so looking at where the modified headers should be put, or if just using the same : #if !defined (__SIZE_TYPE__) && !defined (__PTRDIFF_TYPE__) #if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__) # ifdef __H8300__ # define __SIZE_TYPE__ unsigned int # define __PTRDIFF_TYPE__ int # else # define __SIZE_TYPE__ unsigned long # define __PTRDIFF_TYPE__ long # endif #endif <the equivalent lines for the MIPS cases> #endif /* not __SIZE_TYPE__ or __PTRDIFF_TYPE__ yet defined */ in the standard newlib headers would be the solution... Or one can struggle with the GCC mingw32 port to get these things to work with the mingw32 host... Cheers, Kai _______________________________________________ New CrossGCC FAQ: http://www.objsw.com/CrossGCC _______________________________________________ To remove yourself from the crossgcc list, send mail to crossgcc-request@cygnus.com with the text 'unsubscribe' (without the quotes) in the body of the message.