fenv_const error building glibc-2.6.1 on MPC8540 PowerPC

Clemens Koller clemens.koller@anagramm.de
Wed Sep 12 17:59:00 GMT 2007


Hi There!

I just tried to build the latest glibc-2.6.1 on my embedded MPC8540 e500 PowerPC platform,
running native binutils-2.18, gcc-4.2.1, kernel-headers-2.6.22-rc3:

binutils-2.18 were built with
     ../binutils-2.18/configure \
                 --prefix=/usr \
                 --enable-shared \
                 --disable-nls \
                 --disable-multilib \
                 --with-cpu=8540

$ gcc -v
Using built-in specs.
Target: powerpc-unknown-linux-gnu
Configured with: ../gcc-4.2.1/configure --prefix=/usr --libexecdir=/usr/lib --enable-languages=c,c++,objc --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-shared --disable-nls --with-x=no --with-cpu=8540 --with-tune=8540 --with-float=soft --with-long-double-128 --disable-multilib --enable-e500_double
Thread model: posix
gcc version 4.2.1 (ckcore)


When building glibc-2.6.1 like:

         cp -a $SRC/glibc-ports-2.6.1 $SRC/glibc-2.6.1/ports

         #install and build kernel headers
         mkdir -p $PKG/usr/include/asm
         cp -rv kernel-headers-2.6.22-rc3/include/{linux,asm-generic} $PKG/usr/include
         cp -rv kernel-headers-2.6.22-rc3/include/asm/* $PKG/usr/include/asm

         mkdir build
         cd build
         ../glibc-2.6.1/configure \
                 --prefix=/usr \
                 --libexecdir=/usr/lib \
                 --with-headers=$PKG/usr/include \
                 --enable-kernel=2.6.0 \
                 --enable-add-ons=ports,nptl \
                 --with-__thread \
                 --with-tls \
                 --enable-shared \
                 --disable-profile \
                 --without-gd \
                 --without-cvs \
                 --without-fp \
                 --without-selinux \
                 --with-glibc=$SRC/glibc-2.6.1 \
         make
#       make -k check
         make install_root=$PKG install
         make install_root=$PKG localedata/install-locales
         cp ../{hosts,resolv.conf,nsswitch.conf,host.conf,ld.so.conf} $PKG/etc
         ln -sf ../usr/share/zoneinfo/Europe/Berlin $PKG/etc/localtime
         rm -rf $PKG/usr/share/locale

It barks at fenv_const.c:

gcc ../ports/sysdeps/powerpc/nofpu/fenv_const.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -pipe -msoft-float -mnew-mnemonics -Wstrict-prototypes -mlong-double-128    -Wno-uninitialized -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -I../include -I/usr/ports/ckcore/glibc-2.6.1/work/src/build/math -I/usr/ports/ckcore/glibc-2.6.1/work/src/build -I../sysdeps/powerpc/powerpc32/elf -I../sysdeps/powerpc/elf -I../ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu -I../ports/sysdeps/powerpc/nofpu -I../ports/sysdeps/powerpc/soft-fp -I../sysdeps/powerpc/soft-fp -I../ports/sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../ports/sysdeps/unix/sysv/linux/powerpc -I../nptl/sysdeps/unix/sysv/linux/powerpc -I../sysdeps/unix/sysv/linux/powerpc -I../sysdeps/ieee754/ldbl-128ibm -I../sysdeps/ieee754/ldbl-opt -I../ports/sysdeps/unix/sysv/linux 
-I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/powerpc -I../ports/sysdeps/unix -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/powerpc/powerpc32 -I../sysdeps/wordsize-32 -I../ports/sysdeps/powerpc -I../nptl/sysdeps/powerpc -I../sysdeps/powerpc -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../ports -I../nptl  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/powerpc-unknown-linux-gnu/4.2.1/include -isystem /usr/ports/ckcore/glibc-2.6.1/work/pkg/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h   -DNOT_IN_libc=1 -DIS_IN_libm=1    -I../soft-fp/ -I../soft-fp/ -o /usr/ports/ckcore/glibc-2.6.1/work/src/build/math/fenv
_const.o 
-MD -MP -MF /usr/ports/ckcore/glibc-2.6.1/work/src/build/math/fenv_const.o.dt -MT /usr/ports/ckcore/glibc-2.6.1/work/src/build/math/fenv_const.o
make[2]: *** No rule to make target `/usr/ports/ckcore/glibc-2.6.1/work/src/build/math/fe_nomask.o', needed by `/usr/ports/ckcore/glibc-2.6.1/work/src/build/math/libm.a'.  Stop.
make[2]: Leaving directory `/usr/ports/ckcore/glibc-2.6.1/work/src/glibc-2.6.1/math'
make[1]: *** [math/others] Error 2
make[1]: Leaving directory `/usr/ports/ckcore/glibc-2.6.1/work/src/glibc-2.6.1'
make: *** [all] Error 2
=======> ERROR: Building '/usr/ports/ckcore/glibc-2.6.1/glibc#2.6.1-1.pkg.tar.gz' failed.


Any ideas of what math stuff it is missing here?

The latest eglibc-svn versions built just fine.
Is e500 PowerPC support being dropped by the official libc project?

Regards,
-- 
Clemens Koller
__________________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Straße 45/1
Linhof WerksgelÀnde
D-81379 MÃŒnchen
Tel.089-741518-50
Fax 089-741518-19
http://www.anagramm-technology.com



More information about the Libc-alpha mailing list