Some systems (like Bionic) omit support for SysV related code. That means no C library headers for strace to include. Add configure tests to probe the headers from the kernel and use them when they are available. It might make more sense to never rely on the C library's headers as there is no guarantee or requirement that the structure layout between apps and the C library match that what is passed to the kernel. * configure.ac (AC_CHECK_HEADERS): Check for linux/ipc.h, linux/mqueue.h, linux/msg.h, linux/sem.h, linux/shm.h, sys/ipc.h, sys/msg.h, sys/sem.h, and sys/shm.h. * ipc_defs.h: Include <sys/ipc.h> or <linux/ipc.h> depending on what is available. * ipc_msg.c: Replace <sys/ipc.h> with "ipc_defs.h". Fallback to <linux/msg.h> when available. * ipc_msgctl.c: Include <sys/msg.h>, <asm/msgbuf.h>, or <linux/msg.h> based on what is available. Note missing support for old ipc structs. * ipc_sem.c: Include <sys/sem.h> or <linux/sem.h> depending on what is available. Only decode sembuf when available. * ipc_shm.c: Fallback to <linux/shm.h> when available. * ipc_shmctl.c: Include <sys/shm.h>, <asm/shmbuf.h>, or <linux/shm.h> based on what is available. Note missing support for old ipc structs. * print_mq_attr.c: Fallback to <linux/mqueue.h> when available.
This is strace, a system call tracer for Linux. strace is released under a Berkeley-style license at the request of Paul Kranenburg; see the file COPYING for details. See the file CREDITS for a list of authors and other contributors. See the file INSTALL for compilation and installation instructions. See the file NEWS for information on what has changed in recent versions. You can get the latest version of strace from its homepage at http://sourceforge.net/projects/strace/ . Please send bug reports and enhancements to the strace mailinglist at strace-devel@lists.sourceforge.net.
Description
Languages
C
92.2%
Shell
3.4%
M4
1.4%
Makefile
0.8%
Roff
0.7%
Other
1.5%