Hello,
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. 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. The ChangeLog entry is for glibc, of course.
2004-11-10 Maciej W. Rozycki <macro@linux-mips.org>
* sysdeps/unix/sysv/linux/mips/bits/siginfo.h [struct siginfo]
(_sigchld): Update to match the kernel.
Maciej
glibc-2.3.3-20041018-mips-siginfo_sigchld-1.patch
diff -up --recursive --new-file
glibc-2.3.3-20041018.macro/sysdeps/unix/sysv/linux/bits/siginfo.h
glibc-2.3.3-20041018/sysdeps/unix/sysv/linux/bits/siginfo.h
--- glibc-2.3.3-20041018.macro/sysdeps/unix/sysv/linux/bits/siginfo.h Tue Apr
22 02:26:04 2003
+++ glibc-2.3.3-20041018/sysdeps/unix/sysv/linux/bits/siginfo.h Wed Nov 10
16:52:24 2004
@@ -1,5 +1,5 @@
/* siginfo_t, sigevent and constants. Linux version.
- Copyright (C) 1997-2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1997-2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -87,8 +87,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;
patch-malta-2.6.9-rc1-20041020-mips-siginfo_sigchld-0
diff -up --recursive --new-file
linux-malta-2.6.9-rc1-20041020.macro/include/asm-mips/siginfo.h
linux-malta-2.6.9-rc1-20041020/include/asm-mips/siginfo.h
--- linux-malta-2.6.9-rc1-20041020.macro/include/asm-mips/siginfo.h
2004-10-01 14:49:33.000000000 +0000
+++ linux-malta-2.6.9-rc1-20041020/include/asm-mips/siginfo.h 2004-11-10
16:53:42.000000000 +0000
@@ -47,8 +47,8 @@ typedef struct siginfo {
struct {
pid_t _pid; /* which child */
uid_t _uid; /* sender's uid */
- clock_t _utime;
int _status; /* exit code */
+ clock_t _utime;
clock_t _stime;
} _sigchld;
|