Hi Rene & List,

Cross building for Mips64,
During the 2nd pass of glibc (after building gcc)
I got the following failure:

make[2]: *** [/opt/T2/t2-trunk/src.glibc.GW-Octeon-64.20100201.193115.9580.ubuntu1/glibc-2.11.1/objdir/math/s_copysign.o] Error 1
make[2]: *** Waiting for unfinished jobs....
../sysdeps/ieee754/dbl-64/s_scalbn.c: In function '__scalbn':
./math_private.h:214: warning: inlining failed in call to '__copysign': call is unlikely and code size would grow
../sysdeps/ieee754/dbl-64/s_scalbn.c:57: warning: called from here
./math_private.h:214: warning: inlining failed in call to '__copysign': call is unlikely and code size would grow
../sysdeps/ieee754/dbl-64/s_scalbn.c:61: warning: called from here
make[2]: Leaving directory `/opt/T2/t2-trunk/src.glibc.GW-Octeon-64.20100201.193115.9580.ubuntu1/glibc-2.11.1/math' make[1]: *** [math/subdir_lib] Error 2 ../sysdeps/ieee754/dbl-64/s_copysign.c:27: error: redefinition of '__copysign'
./math_private.h:214: note: previous definition of '__copysign' was here
make[2]: *** [/opt/T2/t2-trunk/src.glibc.GW-Octeon-64.20100201.193115.9580.ubuntu1/glibc-2.11.1/objdir/math/s_copysign.o] Error 1
make[2]: *** Waiting for unfinished jobs....
../sysdeps/ieee754/dbl-64/s_scalbn.c: In function '__scalbn':
./math_private.h:214: warning: inlining failed in call to '__copysign': call is unlikely and code size would grow
../sysdeps/ieee754/dbl-64/s_scalbn.c:57: warning: called from here
./math_private.h:214: warning: inlining failed in call to '__copysign': call is unlikely and code size would grow
../sysdeps/ieee754/dbl-64/s_scalbn.c:61: warning: called from here
make[2]: Leaving directory `/opt/T2/t2-trunk/src.glibc.GW-Octeon-64.20100201.193115.9580.ubuntu1/glibc-2.11.1/math'
make[1]: *** [math/subdir_lib] Error 2
make[1]: Leaving directory `/opt/T2/t2-trunk/src.glibc.GW-Octeon-64.20100201.193115.9580.ubuntu1/glibc-2.11.1'
make: *** [all] Error 2

Seems  like  it needs   the  -fgnu89-inline option to compile.

was not able to get it to work by stoking config.cache, but it did work when I added it directly to the gcc options:
Changes below:

Index: package/base/glibc/glibc.conf
===================================================================
--- package/base/glibc/glibc.conf       (revision 35446)
+++ package/base/glibc/glibc.conf       (working copy)
@@ -36,6 +36,14 @@
var_insert GCC_WRAPPER_INSERT ' ' '-O'
var_remove SYSGCC_WRAPPER_INSERT ' ' '-O0'

+# On Mips64 the following fails unless we build with: -fgnu89-inline
+# "sysdeps/ieee754/dbl-64/s_copysign.c:27: error: redefinition of '__copysign'"
+# Tweaking libc_cv_gnu89_inline in config.cache did not help,
+# so we will directly jam the -fgnu89-inline compiler option directly into gcc
+if [ $arch = mips64 ] ; then
+       var_insert GCC_WRAPPER_INSERT ' ' '-fgnu89-inline'
+fi
+
# does currently not inline all necessary with -Os
# glibc-2.7/objdir/libc_pic.os: In function `faccessat': (.text+0x7bfaf): undefined reference to `fstatat64'
GCC_WRAPPER_INSERT="${GCC_WRAPPER_INSERT//-Os/-O2}"



----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

Reply via email to