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

[patches] eglibc builds and tests on mpc8540 (take II)



Hi there!

Okay, I am still on my way to an eglibc for the mpc8540/e500 using the latest
tools.

The current status is:

gcc-4.2.0 unpatched:

$ gcc -v
Using built-in specs.
Target: powerpc-unknown-linux-gnu
Configured with: ../gcc-4.2.0/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
Thread model: posix
gcc version 4.2.0 (ckcore)

eglibc is currently configured like:
       ../eglibc/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/eglibc \

NPTL builds only with the latest kernel headers (at least 2.6.22-rc3) due to
the latest patches from Ulrich Drepper and Eric Dumazet.
See: http://lkml.org/lkml/2007/4/26/227

If you have an older futex.h, you will propably run into:

gcc init.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-a
ll-constants -pipe -msoft-float -mnew-mnemonics -Wstrict-prototypes -mlong-double-12
8  -fexceptions -fasynchronous-unwind-tables   -I../include -I/usr/ports/ckcore/egli
bc-svn/work/src/build/nptl -I/usr/ports/ckcore/eglibc-svn/work/src/build -I../sysdep
s/powerpc/powerpc32/elf -I../sysdeps/powerpc/elf -I../nptl/sysdeps/unix/sysv/linux/p
owerpc/powerpc32 -I../sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../nptl/sysdeps/un
ix/sysv/linux/powerpc -I../sysdeps/unix/sysv/linux/powerpc -I../sysdeps/ieee754/ldbl
-128ibm -I../sysdeps/ieee754/ldbl-opt -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sy
sdeps/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../nptl/sysdep
s/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/powerpc -I../nptl/sysdeps/unix
-I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/powerpc/powerpc32 -I../sysdeps/wor
dsize-32 -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../sysde
ps/generic -I../nptl  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/powerpc-un
known-linux-gnu/4.2.0/include -isystem /usr/lib/gcc/powerpc-unknown-linux-gnu/4.2.0/
include-fixed -isystem /usr/ports/ckcore/eglibc-svn/work/pkg/usr/include -D_LIBC_REE
NTRANT -include ../include/libc-symbols.h   -DNOT_IN_libc=1 -DIS_IN_libpthread=1
-o /usr/ports/ckcore/eglibc-svn/work/src/build/nptl/init.o -MD -MP -MF /usr/ports/ck
core/eglibc-svn/work/src/build/nptl/init.o.dt -MT /usr/ports/ckcore/eglibc-svn/work/
src/build/nptl/init.o
init.c: In function '__pthread_initialize_minimal_internal':
init.c:284: error: 'FUTEX_PRIVATE_FLAG' undeclared (first use in this function)
init.c:284: error: (Each undeclared identifier is reported only once
init.c:284: error: for each function it appears in.)
init.c:287: error: 'struct <anonymous>' has no member named 'private_futex'
make[2]: *** [/usr/ports/ckcore/eglibc-svn/work/src/build/nptl/init.o] Error 1
make[2]: Leaving directory `/usr/ports/ckcore/eglibc-svn/work/src/eglibc/nptl'
make[1]: *** [nptl/subdir_lib] Error 2
make[1]: Leaving directory `/usr/ports/ckcore/eglibc-svn/work/src/eglibc'
make: *** [all] Error 2



Okay, using the latest headers, NPTL builds fine.

Currently, it breaks somewhere in ports/sysdeps/powerpc/nofpu

gcc ../ports/sysdeps/powerpc/nofpu/fenv_const.c -c -std=gnu99 -fgnu89-inline -O2 -Wa
ll -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/eglibc-svn/work/src/bui
ld/math -I/usr/ports/ckcore/eglibc-svn/work/src/build -I../sysdeps/powerpc/powerpc32
/elf -I../sysdeps/powerpc/elf -I../ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/n
ofpu -I../ports/sysdeps/powerpc/nofpu -I../ports/sysdeps/powerpc/soft-fp -I../sysdep
s/powerpc/soft-fp -I../ports/sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../nptl/sys
deps/unix/sysv/linux/powerpc/powerpc32 -I../sysdeps/unix/sysv/linux/powerpc/powerpc3
2 -I../ports/sysdeps/unix/sysv/linux/powerpc -I../nptl/sysdeps/unix/sysv/linux/power
pc -I../sysdeps/unix/sysv/linux/powerpc -I../sysdeps/ieee754/ldbl-128ibm -I../sysdep
s/ieee754/ldbl-opt -I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/li
nux -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/un
ix -I../sysdeps/posix -I../ports/sysdeps/powerpc/powerpc32 -I../sysdeps/powerpc/powe
rpc32 -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../sy
sdeps/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.0/in
clude -isystem /usr/lib/gcc/powerpc-unknown-linux-gnu/4.2.0/include-fixed -isystem /
usr/ports/ckcore/eglibc-svn/work/pkg/usr/include -D_LIBC_REENTRANT -include ../inclu
de/libc-symbols.h   -DNOT_IN_libc=1 -DIS_IN_libm=1    -I../soft-fp/ -I../soft-fp/ -o
/usr/ports/ckcore/eglibc-svn/work/src/build/math/fenv_const.o -MD -MP -MF /usr/port
s/ckcore/eglibc-svn/work/src/build/math/fenv_const.o.dt -MT /usr/ports/ckcore/eglibc
-svn/work/src/build/math/fenv_const.o
make[2]: *** No rule to make target `/usr/ports/ckcore/eglibc-svn/work/src/build/mat
h/fe_nomask.o', needed by `/usr/ports/ckcore/eglibc-svn/work/src/build/math/libm.a'.
 Stop.
make[2]: Leaving directory `/usr/ports/ckcore/eglibc-svn/work/src/eglibc/math'
make[1]: *** [math/others] Error 2
make[1]: Leaving directory `/usr/ports/ckcore/eglibc-svn/work/src/eglibc'
make: *** [all] Error 2


Any ideas of what's missing here?

Regards,
--
Clemens Koller
_______________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Str. 45/1
81379 Muenchen
Germany

http://www.anagramm-technology.com
Phone: +49-89-741518-50
Fax: +49-89-741518-19