* LTP testing: msgctl/IPC_STAT
@ 2002-07-19 14:30 Johannes Stezenbach
2002-07-19 15:00 ` H. J. Lu
2002-07-22 6:31 ` Carsten Langgaard
0 siblings, 2 replies; 4+ messages in thread
From: Johannes Stezenbach @ 2002-07-19 14:30 UTC (permalink / raw)
To: linux-mips
I was investigating LTP test suite failures of the msgctl01,
msgctl02, msgsnd01 and msgsnd02 tests. It seems that they
are caused by a mismatch between /usr/include/bits/msq.h
and linux/include/asm-mips/msgbuf.h.
I suggest the following patch which makes mips' msgbuf.h
a copy of the one in include/asm-i386.
Johannes
Index: linux/include/asm-mips/msgbuf.h
===================================================================
RCS file: /cvs/linux/include/asm-mips/msgbuf.h,v
retrieving revision 1.1
diff -u -r1.1 msgbuf.h
--- linux/include/asm-mips/msgbuf.h 2000/02/16 01:07:48 1.1
+++ linux/include/asm-mips/msgbuf.h 2002/07/19 14:20:29
@@ -2,26 +2,30 @@
#define _ASM_MSGBUF_H
/*
- * The msqid64_ds structure for alpha architecture.
+ * The msqid64_ds structure for mips architecture.
* Note extra padding because this structure is passed back and forth
* between kernel and user space.
*
* Pad space is left for:
- * - 2 miscellaneous 64-bit values
+ * - 64-bit time_t to solve y2038 problem
+ * - 2 miscellaneous 32-bit values
*/
struct msqid64_ds {
struct ipc64_perm msg_perm;
__kernel_time_t msg_stime; /* last msgsnd time */
+ unsigned long __unused1;
__kernel_time_t msg_rtime; /* last msgrcv time */
+ unsigned long __unused2;
__kernel_time_t msg_ctime; /* last change time */
+ unsigned long __unused3;
unsigned long msg_cbytes; /* current number of bytes on queue */
unsigned long msg_qnum; /* number of messages in queue */
unsigned long msg_qbytes; /* max number of bytes on queue */
__kernel_pid_t msg_lspid; /* pid of last msgsnd */
__kernel_pid_t msg_lrpid; /* last receive pid */
- unsigned long __unused1;
- unsigned long __unused2;
+ unsigned long __unused4;
+ unsigned long __unused5;
};
#endif /* _ASM_MSGBUF_H */
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: LTP testing: msgctl/IPC_STAT
2002-07-19 14:30 LTP testing: msgctl/IPC_STAT Johannes Stezenbach
@ 2002-07-19 15:00 ` H. J. Lu
2002-07-22 6:41 ` Carsten Langgaard
2002-07-22 6:31 ` Carsten Langgaard
1 sibling, 1 reply; 4+ messages in thread
From: H. J. Lu @ 2002-07-19 15:00 UTC (permalink / raw)
To: Johannes Stezenbach; +Cc: linux-mips, GNU C Library
[-- Attachment #1: Type: text/plain, Size: 444 bytes --]
On Fri, Jul 19, 2002 at 04:30:34PM +0200, Johannes Stezenbach wrote:
> I was investigating LTP test suite failures of the msgctl01,
> msgctl02, msgsnd01 and msgsnd02 tests. It seems that they
> are caused by a mismatch between /usr/include/bits/msq.h
> and linux/include/asm-mips/msgbuf.h.
>
> I suggest the following patch which makes mips' msgbuf.h
> a copy of the one in include/asm-i386.
>
I prefer we fix glibc. Here is a patch.
H.J.
[-- Attachment #2: glibc-mips-msg.patch --]
[-- Type: text/plain, Size: 2716 bytes --]
2002-07-19 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/mips/bits/msq.h: New.
--- sysdeps/unix/sysv/linux/mips/bits/msq.h.mips Fri Jul 19 07:57:55 2002
+++ sysdeps/unix/sysv/linux/mips/bits/msq.h Fri Jul 19 07:57:15 2002
@@ -0,0 +1,74 @@
+/* Copyright (C) 2002 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef _SYS_MSG_H
+# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Define options for message queue functions. */
+#define MSG_NOERROR 010000 /* no error if message is too big */
+#ifdef __USE_GNU
+# define MSG_EXCEPT 020000 /* recv any msg except of specified type */
+#endif
+
+/* Types used in the structure definition. */
+typedef unsigned long int msgqnum_t;
+typedef unsigned long int msglen_t;
+
+
+/* Structure of record for one message inside the kernel.
+ The type `struct msg' is opaque. */
+struct msqid_ds
+{
+ struct ipc_perm msg_perm; /* structure describing operation permission */
+ __time_t msg_stime; /* time of last msgsnd command */
+ __time_t msg_rtime; /* time of last msgrcv command */
+ __time_t msg_ctime; /* time of last change */
+ unsigned long int __msg_cbytes; /* current number of bytes on queue */
+ msgqnum_t msg_qnum; /* number of messages currently on queue */
+ msglen_t msg_qbytes; /* max number of bytes allowed on queue */
+ __pid_t msg_lspid; /* pid of last msgsnd() */
+ __pid_t msg_lrpid; /* pid of last msgrcv() */
+ unsigned long int __unused1;
+ unsigned long int __unused2;
+};
+
+#ifdef __USE_MISC
+
+# define msg_cbytes __msg_cbytes
+
+/* ipcs ctl commands */
+# define MSG_STAT 11
+# define MSG_INFO 12
+
+/* buffer for msgctl calls IPC_INFO, MSG_INFO */
+struct msginfo
+ {
+ int msgpool;
+ int msgmap;
+ int msgmax;
+ int msgmnb;
+ int msgmni;
+ int msgssz;
+ int msgtql;
+ unsigned short int msgseg;
+ };
+
+#endif /* __USE_MISC */
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: LTP testing: msgctl/IPC_STAT
2002-07-19 14:30 LTP testing: msgctl/IPC_STAT Johannes Stezenbach
2002-07-19 15:00 ` H. J. Lu
@ 2002-07-22 6:31 ` Carsten Langgaard
1 sibling, 0 replies; 4+ messages in thread
From: Carsten Langgaard @ 2002-07-22 6:31 UTC (permalink / raw)
To: Johannes Stezenbach; +Cc: linux-mips, Ralf Baechle
I also send this patch a week ago. Ralf could you please applied it.
If there is any objection against changing this structure in the kernel, then we
need a glibc fix instead.
/Carsten
Johannes Stezenbach wrote:
> I was investigating LTP test suite failures of the msgctl01,
> msgctl02, msgsnd01 and msgsnd02 tests. It seems that they
> are caused by a mismatch between /usr/include/bits/msq.h
> and linux/include/asm-mips/msgbuf.h.
>
> I suggest the following patch which makes mips' msgbuf.h
> a copy of the one in include/asm-i386.
>
> Johannes
>
> Index: linux/include/asm-mips/msgbuf.h
> ===================================================================
> RCS file: /cvs/linux/include/asm-mips/msgbuf.h,v
> retrieving revision 1.1
> diff -u -r1.1 msgbuf.h
> --- linux/include/asm-mips/msgbuf.h 2000/02/16 01:07:48 1.1
> +++ linux/include/asm-mips/msgbuf.h 2002/07/19 14:20:29
> @@ -2,26 +2,30 @@
> #define _ASM_MSGBUF_H
>
> /*
> - * The msqid64_ds structure for alpha architecture.
> + * The msqid64_ds structure for mips architecture.
> * Note extra padding because this structure is passed back and forth
> * between kernel and user space.
> *
> * Pad space is left for:
> - * - 2 miscellaneous 64-bit values
> + * - 64-bit time_t to solve y2038 problem
> + * - 2 miscellaneous 32-bit values
> */
>
> struct msqid64_ds {
> struct ipc64_perm msg_perm;
> __kernel_time_t msg_stime; /* last msgsnd time */
> + unsigned long __unused1;
> __kernel_time_t msg_rtime; /* last msgrcv time */
> + unsigned long __unused2;
> __kernel_time_t msg_ctime; /* last change time */
> + unsigned long __unused3;
> unsigned long msg_cbytes; /* current number of bytes on queue */
> unsigned long msg_qnum; /* number of messages in queue */
> unsigned long msg_qbytes; /* max number of bytes on queue */
> __kernel_pid_t msg_lspid; /* pid of last msgsnd */
> __kernel_pid_t msg_lrpid; /* last receive pid */
> - unsigned long __unused1;
> - unsigned long __unused2;
> + unsigned long __unused4;
> + unsigned long __unused5;
> };
>
> #endif /* _ASM_MSGBUF_H */
--
_ _ ____ ___ Carsten Langgaard Mailto:carstenl@mips.com
|\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527
| \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555
TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556
Denmark http://www.mips.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: LTP testing: msgctl/IPC_STAT
2002-07-19 15:00 ` H. J. Lu
@ 2002-07-22 6:41 ` Carsten Langgaard
0 siblings, 0 replies; 4+ messages in thread
From: Carsten Langgaard @ 2002-07-22 6:41 UTC (permalink / raw)
To: H. J. Lu; +Cc: Johannes Stezenbach, linux-mips, Ralf Baechle
"H. J. Lu" wrote:
> On Fri, Jul 19, 2002 at 04:30:34PM +0200, Johannes Stezenbach wrote:
> > I was investigating LTP test suite failures of the msgctl01,
> > msgctl02, msgsnd01 and msgsnd02 tests. It seems that they
> > are caused by a mismatch between /usr/include/bits/msq.h
> > and linux/include/asm-mips/msgbuf.h.
> >
> > I suggest the following patch which makes mips' msgbuf.h
> > a copy of the one in include/asm-i386.
> >
>
> I prefer we fix glibc. Here is a patch.
>
Ok, so it's being fixed in glibc. Ralf please ignore my previous mail.
>
> H.J.
>
> ------------------------------------------------------------------------
>
> glibc-mips-msg.patchName: glibc-mips-msg.patch
> Type: Plain Text (text/plain)
--
_ _ ____ ___ Carsten Langgaard Mailto:carstenl@mips.com
|\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527
| \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555
TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556
Denmark http://www.mips.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-07-22 6:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-19 14:30 LTP testing: msgctl/IPC_STAT Johannes Stezenbach
2002-07-19 15:00 ` H. J. Lu
2002-07-22 6:41 ` Carsten Langgaard
2002-07-22 6:31 ` Carsten Langgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox