Hi,

On Sat, Oct 31, 2015 at 04:57:04PM +0300, Dmitry V. Levin wrote:
> On Sat, Oct 31, 2015 at 12:47:53AM -0400, Mike Frysinger wrote:
> > diff --git a/ipc_msg.c b/ipc_msg.c
> > index 55747cb..2fc7470 100644
> > --- a/ipc_msg.c
> > +++ b/ipc_msg.c
> > @@ -31,9 +31,7 @@
> >   */
> >  
> >  #include "defs.h"
> > -
> > -#include <sys/ipc.h>
> > -#include <sys/msg.h>
> > +#include "ipc_defs.h"
> >  
> >  #include "xlat/ipc_msg_flags.h"
> >  #include "xlat/resource_flags.h"
> 
> I suppose <sys/msg.h> is required for "xlat/ipc_msg_flags.h"
> 
> > diff --git a/ipc_shm.c b/ipc_shm.c
> > index 4a41690..03f38ab 100644
> > --- a/ipc_shm.c
> > +++ b/ipc_shm.c
> > @@ -32,8 +32,6 @@
> >  
> >  #include "defs.h"
> >  
> > -#include <sys/shm.h>
> > -
> >  #include "xlat/shm_resource_flags.h"
> >  #include "xlat/shm_flags.h"
> 
> Likewise, <sys/shm.h> is required for "xlat/shm_resource_flags.h"

I'm going to push your patch with the following editions, if you don't mind.

--- a/configure.ac
+++ b/configure.ac
@@ -259,10 +259,6 @@ AC_CHECK_FUNCS(m4_normalize([
 ]))
 AC_CHECK_HEADERS(m4_normalize([
        asm/cachectl.h
-       asm/ipcbuf.h
-       asm/msgbuf.h
-       asm/sembuf.h
-       asm/shmbuf.h
        asm/sysmips.h
        bluetooth/bluetooth.h
        elf.h
@@ -275,7 +271,6 @@ AC_CHECK_HEADERS(m4_normalize([
        linux/ip_vs.h
        linux/ipc.h
        linux/mmtimer.h
-       linux/mqueue.h
        linux/msg.h
        linux/perf_event.h
        linux/seccomp.h
@@ -301,6 +296,7 @@ AC_CHECK_HEADERS(m4_normalize([
        sys/vfs.h
        sys/xattr.h
 ]))
+AC_CHECK_HEADERS([linux/mqueue.h],,, [#include <linux/types.h>])
 AC_CHECK_HEADERS([linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h],
                  [], [], [#include <stddef.h>
 #include <sys/socket.h>
--- a/ipc_defs.h
+++ b/ipc_defs.h
@@ -27,7 +27,7 @@
 
 #ifdef HAVE_SYS_IPC_H
 # include <sys/ipc.h>
-#elif defined(HAVE_LINUX_IPC_H)
+#elif defined HAVE_LINUX_IPC_H
 # include <linux/ipc.h>
 /* While glibc uses __key, the kernel uses key. */
 # define __key key
--- a/ipc_msg.c
+++ b/ipc_msg.c
@@ -33,6 +33,12 @@
 #include "defs.h"
 #include "ipc_defs.h"
 
+#ifdef HAVE_SYS_MSG_H
+# include <sys/msg.h>
+#elif defined HAVE_LINUX_MSG_H
+# include <linux/msg.h>
+#endif
+
 #include "xlat/ipc_msg_flags.h"
 #include "xlat/resource_flags.h"
 
--- a/ipc_msgctl.c
+++ b/ipc_msgctl.c
@@ -31,22 +31,21 @@
  */
 
 #include "defs.h"
+
+#include DEF_MPERS_TYPE(msqid_ds_t)
+
 #include "ipc_defs.h"
 
 #ifdef HAVE_SYS_MSG_H
 /* The C library generally exports the struct the current kernel expects. */
 # include <sys/msg.h>
 typedef struct msqid_ds msqid_ds_t;
-#elif defined(HAVE_ASM_MSGBUF_H)
-/* The asm header provides the 64bit struct directly for us. */
-# include <asm/msgbuf.h>
-typedef struct msqid64_ds msqid_ds_t;
-#elif defined(HAVE_LINUX_MSG_H)
+#elif defined HAVE_LINUX_MSG_H
 /* The linux header might provide the right struct. */
 # include <linux/msg.h>
 typedef struct msqid64_ds msqid_ds_t;
 #endif
-#include DEF_MPERS_TYPE(msqid_ds_t)
+
 #include MPERS_DEFS
 
 #include "xlat/msgctl_flags.h"
--- a/ipc_sem.c
+++ b/ipc_sem.c
@@ -35,14 +35,14 @@
 
 #ifdef HAVE_SYS_SEM_H
 # include <sys/sem.h>
-#elif defined(HAVE_LINUX_SEM_H)
+#elif defined HAVE_LINUX_SEM_H
 # include <linux/sem.h>
 #endif
 
 #include "xlat/semctl_flags.h"
 #include "xlat/semop_flags.h"
 
-#if defined(HAVE_SYS_SHM_H) || defined(HAVE_LINUX_SEM_H)
+#if defined HAVE_SYS_SEM_H || defined HAVE_LINUX_SEM_H
 static void
 tprint_sembuf(const struct sembuf *sb)
 {
@@ -55,7 +55,7 @@ tprint_sembuf(const struct sembuf *sb)
 static void
 tprint_sembuf_array(struct tcb *tcp, const long addr, const unsigned long 
count)
 {
-#if defined(HAVE_SYS_SHM_H) || defined(HAVE_LINUX_SEM_H)
+#if defined HAVE_SYS_SEM_H || defined HAVE_LINUX_SEM_H
        unsigned long max_count;
        struct sembuf sb;
 
--- a/ipc_shm.c
+++ b/ipc_shm.c
@@ -32,6 +32,12 @@
 
 #include "defs.h"
 
+#ifdef HAVE_SYS_SHM_H
+# include <sys/shm.h>
+#elif defined HAVE_LINUX_SHM_H
+# include <linux/shm.h>
+#endif
+
 #include "xlat/shm_resource_flags.h"
 #include "xlat/shm_flags.h"
 
--- a/ipc_shmctl.c
+++ b/ipc_shmctl.c
@@ -31,22 +31,21 @@
  */
 
 #include "defs.h"
-#include "ipc_defs.h"
 
 #include DEF_MPERS_TYPE(shmid_ds_t)
+
+#include "ipc_defs.h"
+
 #ifdef HAVE_SYS_SHM_H
 /* The C library generally exports the struct the current kernel expects. */
 # include <sys/shm.h>
 typedef struct shmid_ds shmid_ds_t;
-#elif defined(HAVE_ASM_SHMBUF_H)
-/* The asm header provides the 64bit struct directly for us. */
-# include <asm/shmbuf.h>
-typedef struct shmid64_ds shmid_ds_t;
-#elif defined(HAVE_LINUX_SHM_H)
+#elif defined HAVE_LINUX_SHM_H
 /* The linux header might provide the right struct. */
 # include <linux/shm.h>
 typedef struct shmid64_ds shmid_ds_t;
 #endif
+
 #include MPERS_DEFS
 
 #include "xlat/shmctl_flags.h"
--- a/print_mq_attr.c
+++ b/print_mq_attr.c
@@ -29,20 +29,21 @@
 #include "defs.h"
 
 #include DEF_MPERS_TYPE(mq_attr_t)
+
 #ifdef HAVE_MQUEUE_H
 # include <mqueue.h>
 typedef struct mq_attr mq_attr_t;
-#elif defined(HAVE_LINUX_MQUEUE_H)
+#elif defined HAVE_LINUX_MQUEUE_H
+# include <linux/types.h>
 # include <linux/mqueue.h>
 typedef struct mq_attr mq_attr_t;
 #endif
+
 #include MPERS_DEFS
 
 MPERS_PRINTER_DECL(void, printmqattr)(struct tcb *tcp, const long addr)
 {
-# ifndef HAVE_MQUEUE_H
-       printaddr(addr);
-# else
+#if defined HAVE_MQUEUE_H || defined HAVE_LINUX_MQUEUE_H
        mq_attr_t attr;
        if (umove_or_printaddr(tcp, addr, &attr))
                return;
@@ -51,5 +52,7 @@ MPERS_PRINTER_DECL(void, printmqattr)(struct tcb *tcp, const 
long addr)
        tprintf(", mq_maxmsg=%ld, mq_msgsize=%ld, mq_curmsg=%ld}",
                (long) attr.mq_maxmsg, (long) attr.mq_msgsize,
                (long) attr.mq_curmsgs);
-# endif
+#else
+       printaddr(addr);
+#endif
 }

-- 
ldv

Attachment: pgpSvbjiJ3G7C.pgp
Description: PGP signature

------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to