unistd.h in nptl/unwind.c

Nick <[email protected]>
Newsgroups gmane.comp.lib.phil
Message-ID <[email protected]>
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
unwind.o.dt (application/octet-stream, 6.1 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.