X-compiler problem with 3.3.3

Kai Ruottu karuottu@mbnet.fi
Fri Apr 16 08:17:00 GMT 2004


Dan Kegel wrote:

> Phil Prentice wrote:
> 
>>   I am using 3.3.3 configured as a sparc-sun-solaris2.6 target running 
>> on Linux.  I am trying to generate a C++ compiler. Unfortunately rthe 
>> build is failing with the following output: ...
>> /home/diag/X-compiler/gcc/gcc-3.3.3.g++/sparc-sun-solaris2.6/libstdc++-v3/include/cmath:107:  
>> error: `acosf' not declared
>> ...
>>   I copied the relavant libs & includes from the target machine.
> 
> Have you checked to make sure you can build that compiler on
> the target machine as a non-cross-compiler?  Maybe there's
> a problem with the target headers?

   That is not the case... The problem is that Solarises are not supported
yet as cross compiler targets in the FSF libstdc++ configuration. Suggestions
for fixing the gcc-3.[23] sources were presented on this list sometimes
but nobody who could move the suggestions to the FSF sources did anything
for this issue...

   Ok, I updated my Solaris2.7 targeted gcc-3.3 into 3.3.3 from 3.3.1 just
yesterday with my patched gcc-3.3.3 sources.  The patches I have now are
attached to this message, but I cannot give any quarantee that these patches
will give the same results as when building the same stuff natively... And
maybe you should install them manually, it seems that I had already sorted
alphabetically and combined the two 'case $target in' choices in the original
'configure.in'. And of course then reproduce the 'configure'...

  For some academic reasons I could think to struggle more with these patches
if they yet don't give the same results as the native build gives... As the
patches show, things which can be tested on the native host, must be told in
the cross case.

   Furhermore for everyone who builds a cross-GCC for Solaris2, there can be
10 times or more people who are building the same GCC version natively. So
getting the libiberty and libstdc++ stuff cross-built has only some academic
importance.  Building something is not the same as building it right so that
the result works... So if the http://www.sunfreeware.com has a prebuilt
gcc-3.3.3 for Solaris2.6/Sparc, one gets the natively built libiberty and
libstdc++ stuff from it.  It isn't in any way obligatory to rebuild this
library stuff, only the executables for the cross host... I would expect
the Sunfreeware libs being built "right", being somehow tested and them
even working somehow...

   So the question is about the goal, whether one only wants the toolchain for
real production work, or only wants to build it just for a fun, or then wants
to achieve these both goals... Anyway one HAVEN'T TO build any target libs if
they are already available as prebuilt and this is enough!

   If you (Phil) could download a prebuilt native gcc-3.3.3 for Solaris2.6 from
Sunfreeware, extract the libstdc++ stuff from it and compare it with the self-
built equivalents, doing binary comparisons etc., this could help getting it
more clear whether these patches really work or not...

Cheers, Kai


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: configure.target.patch
URL: <http://sourceware.org/pipermail/crossgcc/attachments/20040416/81492874/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: configure.in.patch
URL: <http://sourceware.org/pipermail/crossgcc/attachments/20040416/81492874/attachment-0001.ksh>
-------------- next part --------------
------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


More information about the crossgcc mailing list