This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] MIPS/Linux: Kernel vs libc struct siginfo discrepancy


On Wed, 10 Nov 2004, Thiemo Seufer wrote:

> >  Since the following change:
> > 
> > http://www.linux-mips.org/cvsweb/linux/include/asm-mips/siginfo.h.diff?r1=1.4&r2=1.5&only_with_tag=MAIN
> > 
> > dated back to Aug 1999 (!), the definitions of struct siginfo in Linux and 
> > GNU libc differ to each other.
> 
> Only 2.4 Kernels, 2.6 uses the normal definition again.

 Ah, it's been changed again for 2.6.9-rc3 without a word of a comment, 
grrr...

> > While it's the kernel that is at fault by 
> > changing its ABI, at this stage it may be more acceptable to update glibc 
> > as it's not the only program interfacing to Linux (uClibc?).  It doesn't 
> > seem to be a heavily used feature as otherwise someone else would have 
> > noticed the problem during these five years.  As I don't really have a 
> > preference, hereby I provide two patches to choose from and ask for 
> > voting.
> 
> I prefer to bring the 2.4 kernel in line with the rest of the system.

 OK for me.

> You surely meant to change the mips-specific siginfo.h here.

 Thanks for spotting it.  Here's an update just in case.

  Maciej

glibc-2.3.3-20041018-mips-siginfo_sigchld-2.patch
diff -up --recursive --new-file glibc-2.3.3-20041018.macro/sysdeps/unix/sysv/linux/mips/bits/siginfo.h glibc-2.3.3-20041018/sysdeps/unix/sysv/linux/mips/bits/siginfo.h
--- glibc-2.3.3-20041018.macro/sysdeps/unix/sysv/linux/mips/bits/siginfo.h	Fri May 23 02:26:20 2003
+++ glibc-2.3.3-20041018/sysdeps/unix/sysv/linux/mips/bits/siginfo.h	Wed Nov 10 18:06:51 2004
@@ -65,8 +65,8 @@ typedef struct siginfo
 	  {
 	    __pid_t si_pid;	/* Which child.  */
 	    __uid_t si_uid;	/* Real user ID of sending process.  */
-	    int si_status;	/* Exit value or signal.  */
 	    __clock_t si_utime;
+	    int si_status;	/* Exit value or signal.  */
 	    __clock_t si_stime;
 	  } _sigchld;
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]