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
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 [email protected] https://lists.sourceforge.net/lists/listinfo/strace-devel
