This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [PATCH] MIPS/Linux: Kernel vs libc struct siginfo discrepancy
- From: "Maciej W. Rozycki" <macro at mips dot com>
- To: Thiemo Seufer <ica2_ts at csv dot ica dot uni-stuttgart dot de>
- Cc: Ralf Baechle <ralf at linux-mips dot org>, linux-mips at linux-mips dot org, libc-alpha at sources dot redhat dot com, Nigel Stephens <nigel at mips dot com>, "Maciej W. Rozycki" <macro at linux-mips dot org>
- Date: Wed, 10 Nov 2004 18:19:14 +0000 (GMT)
- Subject: Re: [PATCH] MIPS/Linux: Kernel vs libc struct siginfo discrepancy
- References: <Pine.LNX.4.61.0411101657420.11408@perivale.mips.com><20041110180050.GK7235@rembrandt.csv.ica.uni-stuttgart.de>
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;