With today's cvs glibc and nptl 0.39, I find that I have to #include <unistd.h> in nptl/unwind.c to avoid this error: gcc unwind.c -c -std=gnu99 -O3 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g -march=i686 -fexceptions -I../include -I. -I/usr/src/build-glibc/nptl -I.. -I../libio -I/usr/src/build-glibc -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../nptl/sysdeps/unix/sysv -I../nptl/sysdeps/unix -I../nptl/sysdeps/i386/i686 -I../nptl/sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386/i686 -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386/i686 -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /tmp/gcc/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3/include -isystem /lib/modules/2.5.69/build/include -D_LIBC_REENTRANT -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DNOT_IN_libc=1 -DIS_IN_libpthread=1 -o /usr/src/build-glibc/nptl/unwind.o -MD -MP -MF /usr/src/build-glibc/nptl/unwind.o.dt unwind.c: In function `unwind_cleanup': unwind.c:58: error: `STDERR_FILENO' undeclared (first use in this function) unwind.c:58: error: (Each undeclared identifier is reported only once unwind.c:58: error: for each function it appears in.) make[2]: *** [/usr/src/build-glibc/nptl/unwind.o] Error 1 make[2]: Leaving directory `/usr/src/libc-work/nptl' make[1]: *** [nptl/subdir_lib] Error 2 make[1]: Leaving directory `/usr/src/libc-work' make: *** [all] Error 2 (there were also some 'inlining failed' errors, but I can't find them right now) The includes map that is attached shows that no (non kernel) unistd.h is imported, so STDERR_FILENO goes undeclared. The error did not occur before I recently upgraded my system gcc to the 3.3 release. Previously I was using a 3.3 cvs from april. Is it possible that some changes to the fixedincludes in gcc have been made, resulting in unistd.h no longer being implicitly included in nptl/unwind.c ? Should I be using gcc 3.4 instead? Thanks Nick _______________________________________________________________________ Do You Yahoo!? Get your free @yahoo.com.hk address at http://mail.english.yahoo.com.hk
Attachment:
unwind.o.dt
Description: unwind.o.dt