libgcc2.c help needed

Perry Smith pedz@easesoftware.net
Thu Jan 12 02:17:00 GMT 2006


I'm not sure how to present all this so bear with me:

The problem: In the particular build I am trying to do, when  
libgcc2.c is compled with -DL_floatdidf, instead of defining a  
routine called _floatdidf or __floatdidf, it creates a routine called  
__floattidf which references __floatdidf.

The call to compile as generated by configure is:
./xgcc -B./ -B/usr/local/powerpc-ibm-aix5.3.0.0/bin/ \
     -isystem /usr/local/powerpc-ibm-aix5.3.0.0/include \
     -isystem /usr/local/powerpc-ibm-aix5.3.0.0/sys-include \
     -L/usr/local/src/build-gcc-4.0.2/gcc/../ld -O2 -DIN_GCC \
     -W -Wall -Wwrite-strings -Wstrict-prototypes \
     -Wmissing-prototypes -Wold-style-definition -isystem \
     ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 \
     -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc-4.0.2/gcc \
     -I../../gcc-4.0.2/gcc/. \
     -I../../gcc-4.0.2/gcc/../include \
     -I../../gcc-4.0.2/gcc/../libcpp/include -DSHARED \
     -maix64 -msoft-float -DL_floatdidf -c \
     ../../gcc-4.0.2/gcc/libgcc2.c \
     -o libgcc/ppc64/soft-float/_floatdidf_s.o

(It compiles fine.)

This is on an RS/6000 AIX 5.3.  I'm trying to compile gcc 4.0.2.  I  
have mucked with t-aix52 to produce not only pthread and ppc64 but  
also libraries for soft-float.  This particular compile is when it is  
trying to produce the ppc64/soft-float shared (libgcc_s.a) library.

Of the eight different versions of libgcc_s.a, all of them link fine  
except for ppc64/soft-float and pthead/ppc64/soft-float.

The link fails with __floatdidf, __fixdfdi, and __fixsfdi as  
undefined.  I have not dug into the details of the other two but I  
assume they are all the same root cause.

I've noticed in libgcc2.h, a macro is created called __NDW that  
appears may be doing this substitution.  I'm currently looking into  
that part of the code but was hoping someone could help me out a bit.

BTW, when the link for libgcc_s.a fails, the make does not stop.  I  
just keeps going.  I did not notice this until install time when the  
libraries did not exist.

Thank you very much,
Perry Smith



More information about the Gcc mailing list