Re: [Fwd: cross compile gcc 3 in cygwin for vxworks]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I don't fully understand what gcc is doing during its build process.  Is
the idea that it is trying to make the headers more compliant with itself
or with standards in general?  I had originaly put the headers into
sys-include because the build process was asking for libc headers.  Am I
missing an earlier step here?

These headers in question are used with a modified version of gcc 2.95
which is already configured for cross compiling so I would expect them to
be "good enough" the way they are.  What should I be doing differently
here?

Thanks,
Matt Harrington

> Matt Harrington wrote:
>
>> I am attempting to cross compile gcc 3 under cygwin for
>> powerpc-wrs-vxworks
>>
>> The binutils build is clean and easy; no problems.  The gcc build fails
>> after a good distance into the build.  The error is below, full
>> configure
>> and make outputs can be found at:
>>
>> http://underdogma.net/~matt/files/make.log
>> http://underdogma.net/~matt/files/conf.log
>>
>> I would be happy building any gcc 3 if one is known to work.  Building
>> it
>> on a different version of windows may also be an option as long as it
>> will
>> still work under 2000 and xp.
>
>   Ok, I would choose to use only Linux with Cygwin or MinGW targeted
> crosstools for any builds, but this because producing only one toolchain
> and this only once, never updating it, is not what I like to do... Just
> for a fun I have produced 50 or so MinGW-hosted toolchains for Windoze
> hosts...
>
>> /home/matt/gcc-build/gcc/include/types/vxCpu.h:370:2: #error CPU is not
>> defined correctly
>
>   What does this row 370 tell?  Maybe it does this :
>
> -------------------- clip -------------------------
> #if	(CPU==PPC403 || CPU==PPC505 || CPU==PPC601 || CPU==PPC603 || \
> 	 CPU==PPC604 || CPU==PPC860)
> #define CPU_FAMILY      PPC
> #endif  /* CPU_FAMILY==PPC */
>
> /*
>   * Check that CPU and CPU_FAMILY are now defined correctly.
>   * If CPU is defined to be one of the above valid values then
>   * the CPU_FAMILY will have been properly selected.
>   * This is required in order to select the right headers
>   * and definitions for that CPU in subsequent headers.
>   * If CPU or CPU_FAMILY is not defined at this point,
>   * we generate an error and abort the compilation.
>   */
>
> #if !defined(CPU) || !defined(CPU_FAMILY)
> #error CPU is not defined correctly
> #endif
> -------------------- clip -------------------------
>
> and fails because your build log told :
>
> Fixing directory /usr/local/powerpc-wrs-vxworks/sys-include into
> /home/matt/gcc-build/gcc/include
>
> and this fixing replaced all those 'PPC*' names into '__PPC*__' names
> because this would be more "POSIX" compatible...
>
> The lecture is: "Don't fix anything which you don't want being fixed!".
> Why you wanted the VxWorks headers to be fixed for GCC by putting them
> into the '.../sys-include' ?  Does VxWorks/PPC have a native-GCC and
> when doing the "native build" for the same GCC version, the GCC
> maintainer for VxWorks checked that also those VxWorks/PPC headers would
> be fixed correctly?
>
> Years ago I lost all my trust to the 'fixincludes' job which will be
> done during the GCC build when the target has no native-GCC...
>
>



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux