Subject: cvs glibc bug?

From: Benjamin Menküc <[email-masked]>
Date: Fri, 16 May 2003 23:33:34 +0200

Hi,

is this a bug?

[benmen@linuxpc1 mipsel-glibc] LC_ALL=C LD_LIBRARY_PATH="" CFLAGS="-g 
-finline-limit=10000 -O2" CC="mipsel-linux-gcc" AS="mipsel-linux-as" 
../glibc-cvs/configure --build=i686-linux --host=mipsel-linux 
--enable-add-ons --prefix=/home/benmen/mipsel 
--with-headers=/home/benmen/mips/kernel/mips-2.4.20/include --disable-profile

....

[benmen@linuxpc1 mipsel-glibc] LC_ALL=C mak

...

mipsel-linux-gcc -mabi=32 ../sysdeps/unix/sysv/linux/sigtimedwait.c -c 
-std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings 
-finline-limit=10000 -g      -I../include -I. 
-I/home/benmen/mips/mipsel-glibc/signal -I.. -I../libio  
-I/home/benmen/mips/mipsel-glibc -I../sysdeps/mips/elf 
-I../linuxthreads/sysdeps/unix/sysv/linux/mips 
-I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread 
-I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv 
-I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/mips 
-I../sysdeps/unix/sysv/linux/mips/mips32 -I../sysdeps/unix/sysv/linux/mips 
-I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common 
-I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv 
-I../sysdeps/unix/mips/mips32 -I../sysdeps/unix/mips -I../sysdeps/unix 
-I../sysdeps/posix -I../sysdeps/mips/mips32 -I../sysdeps/mips 
-I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 
-I../sysdeps/wordsize-32 -I../sysdeps/mips/fpu -I../sysdeps/ieee754 
-I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem 
/home/benmen/mipsel/lib/gcc-lib/mipsel-linux/3.2.3/include -isystem 
/home/benmen/mips/kernel/mips-2.4.20/include -D_LIBC_REENTRANT -include 
../include/libc-symbols.h  -DPIC     -o 
/home/benmen/mips/mipsel-glibc/signal/sigtimedwait.o -MD -MP -MF 
/home/benmen/mips/mipsel-glibc/signal/sigtimedwait.o.dt
../sysdeps/unix/sysv/linux/sigtimedwait.c: In function `do_sigtimedwait':
../sysdeps/unix/sysv/linux/sigtimedwait.c:44: `SI_TKILL' undeclared (first use 
in this function)
../sysdeps/unix/sysv/linux/sigtimedwait.c:44: (Each undeclared identifier is 
reported only once
../sysdeps/unix/sysv/linux/sigtimedwait.c:44: for each function it appears 
in.)
make[2]: *** [/home/benmen/mips/mipsel-glibc/signal/sigtimedwait.o] Error 1
make[2]: Leaving directory `/home/benmen/mips/glibc-cvs/signal'
make[1]: *** [signal/subdir_lib] Error 2
make[1]: Leaving directory `/home/benmen/mips/glibc-cvs'
make: *** [all] Error 2

regards,

Ben

---

From: Thiemo Seufer <[email-masked]>
Date: Fri, 16 May 2003 23:51:47 +0200

> is this a bug?

You could argue so.

[snip]
> ../sysdeps/unix/sysv/linux/sigtimedwait.c:44: `SI_TKILL' undeclared (first use 

SI_TKILL is new in glibc and not yet ported to mips.

Thiemo

---

From: Benjamin Menküc <[email-masked]>
Date: Sat, 17 May 2003 10:25:37 +0200

can I disable SI_TKILL stuff somehow so that glibc compiles for mips?

regards,

Ben

---

From: Guido Guenther <[email-masked]>
Date: Tue, 20 May 2003 15:54:42 +0200

> SI_TKILL is new in glibc and not yet ported to mips.
Well, the kernel's include/asm-mips/siginfo.h defines SI_KILL as -6
while glibc defines SI_ASYNCNL as -6. Is there a reason for this or is
this just a typo, all other architectures define the later as -60. If
it's a typo i'd like to keep this in sync with other architectures:
 
Index: sysdeps/unix/sysv/linux/mips/bits/siginfo.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/bits/siginfo.h,v
retrieving revision 1.9
diff -u -p -u -r1.9 siginfo.h
--- sysdeps/unix/sysv/linux/mips/bits/siginfo.h	5 Dec 2002 00:23:59 -0000	1.9
+++ sysdeps/unix/sysv/linux/mips/bits/siginfo.h	20 May 2003 12:57:08 -0000
@@ -119,8 +119,10 @@ typedef struct siginfo
    signals.  */
 enum
 {
-  SI_ASYNCNL = -6,		/* Sent by asynch name lookup completion.  */
+  SI_ASYNCNL = -60,		/* Sent by asynch name lookup completion.  */
 # define SI_ASYNCNL	SI_ASYNCNL
+  SI_TKILL = -6,		/* Sent by tkill. */
+# define SI_TKILL	SI_TKILL
   SI_SIGIO,			/* Sent by queued SIGIO. */
 # define SI_SIGIO	SI_SIGIO
   SI_MESGQ,			/* Sent by real time mesq state change.  */

Regards,
 -- Guido