glibc fails in tst-timer4, __SI_TIMER needs its own case
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Aug 18 15:03:01 EST 2004
On Mon, 2004-08-16 at 07:51, Olaf Hering wrote:
> Ben,
>
> can you have a look at this one? glibc make check fails since the
> tst-timer4 test was added in April this year. I think __ST_TIMER needs
> its own case. This patch against 2.6.8.1 fixes it for me.
Hi !
Can you try that one instead ?
===== arch/ppc64/kernel/signal32.c 1.54 vs edited =====
--- 1.54/arch/ppc64/kernel/signal32.c 2004-07-05 20:27:10 +10:00
+++ edited/arch/ppc64/kernel/signal32.c 2004-08-18 15:10:20 +10:00
@@ -472,9 +472,13 @@
&d->si_addr);
break;
case __SI_POLL >> 16:
- case __SI_TIMER >> 16:
err |= __put_user(s->si_band, &d->si_band);
err |= __put_user(s->si_fd, &d->si_fd);
+ break;
+ case __SI_TIMER >> 16:
+ err |= __put_user(s->si_tid, &d->si_tid);
+ err |= __put_user(s->si_overrun, &d->si_overrun);
+ err |= __put_user((u32)(u64)s->si_ptr, &d->si_ptr);
break;
case __SI_RT >> 16: /* This is not generated by the kernel as of now. */
case __SI_MESGQ >> 16:
===== include/asm-ppc64/ppc32.h 1.15 vs edited =====
--- 1.15/include/asm-ppc64/ppc32.h 2004-05-10 21:25:48 +10:00
+++ edited/include/asm-ppc64/ppc32.h 2004-08-18 15:09:51 +10:00
@@ -56,8 +56,10 @@
/* POSIX.1b timers */
struct {
- unsigned int _timer1;
- unsigned int _timer2;
+ timer_t _tid; /* timer id */
+ int _overrun; /* overrun count */
+ compat_sigval_t _sigval; /* same as below */
+ int _sys_private; /* not to be passed to user */
} _timer;
/* POSIX.1b signals */
** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc64-dev
mailing list