This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Fix include/bits/ipc.h for header conformance tests
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Roland McGrath <roland at hack dot frob dot com>
- Cc: <libc-alpha at sourceware dot org>
- Date: Thu, 18 Jun 2015 23:09:51 +0000
- Subject: Re: Fix include/bits/ipc.h for header conformance tests
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot DEB dot 2 dot 10 dot 1506182030060 dot 13372 at digraph dot polyomino dot org dot uk> <20150618223434 dot A47F22C3AB9 at topped-with-meat dot com>
On Thu, 18 Jun 2015, Roland McGrath wrote:
> None of that stuff belongs there at all. The IPCOP_* macros are already in
> sysdeps/unix/sysv/linux/ipc_priv.h and that's where they belong.
> __syscall_ipc does not seem to actually exist, so its declaration is dead.
>
> So I think the right fix should be just to remove include/bits/ipc.h
> altogether. Off hand I suspect that will just work as is. If it breaks
> anything, it should be nothing more than a missing #include <ipc_priv.h>.
> i?86 should be a sufficient build to test that change.
I've committed the patch below after testing.
> sysdeps/unix/sysv/linux/powerpc/bits/ipc.h (the installed header) also
> declares __ipc (which does not exist) and defines the IPCOP_* macros.
> Those should not be there either. Those probably won't cause any
> conformtest failures on powerpc since the macros are in #ifdef __USE_GNU
> and the declaration is an __ name. But they should go.
I've filed bug 18560 for this.
Remove include/bits/ipc.h.
Ten conformtest failures arise from the internal header
include/bits/ipc.h failing to condition internal declarations, outside
the public namespace of headers including bits/ipc.h, on [!_ISOMAC].
As discussed in
<https://sourceware.org/ml/libc-alpha/2015-06/msg00653.html>, the
internal declarations that are actually relevant are in ipc_priv.h and
so include/bits/ipc.h should not be needed at all; this patch removes
it. (Ten further conformtest failures for other headers including
bits/ipc.h remain because of other conformance issues in those
headers.)
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
2015-06-18 Joseph Myers <joseph@codesourcery.com>
* include/bits/ipc.h: Remove file.
* conform/Makefile (test-xfail-XPG3/sys/msg.h/conform): Remove
variable.
(test-xfail-XPG3/sys/shm.h/conform): Likewise.
(test-xfail-XPG4/sys/msg.h/conform): Likewise.
(test-xfail-XPG4/sys/shm.h/conform): Likewise.
(test-xfail-UNIX98/sys/msg.h/conform): Likewise.
(test-xfail-UNIX98/sys/shm.h/conform): Likewise.
(test-xfail-XOPEN2K/sys/msg.h/conform): Likewise.
(test-xfail-XOPEN2K/sys/shm.h/conform): Likewise.
(test-xfail-XOPEN2K8/sys/msg.h/conform): Likewise.
(test-xfail-XOPEN2K8/sys/shm.h/conform): Likewise.
diff --git a/conform/Makefile b/conform/Makefile
index 30eaa64..4acafa3 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -179,9 +179,7 @@ test-xfail-XPG3/stdio.h/conform = yes
test-xfail-XPG3/stdlib.h/conform = yes
test-xfail-XPG3/string.h/conform = yes
test-xfail-XPG3/sys/ipc.h/conform = yes
-test-xfail-XPG3/sys/msg.h/conform = yes
test-xfail-XPG3/sys/sem.h/conform = yes
-test-xfail-XPG3/sys/shm.h/conform = yes
test-xfail-XPG3/sys/stat.h/conform = yes
test-xfail-XPG3/sys/types.h/conform = yes
test-xfail-XPG3/sys/wait.h/conform = yes
@@ -198,9 +196,7 @@ test-xfail-XPG4/stdio.h/conform = yes
test-xfail-XPG4/stdlib.h/conform = yes
test-xfail-XPG4/stropts.h/conform = yes
test-xfail-XPG4/sys/ipc.h/conform = yes
-test-xfail-XPG4/sys/msg.h/conform = yes
test-xfail-XPG4/sys/sem.h/conform = yes
-test-xfail-XPG4/sys/shm.h/conform = yes
test-xfail-XPG4/sys/socket.h/conform = yes
test-xfail-XPG4/sys/stat.h/conform = yes
test-xfail-XPG4/sys/time.h/conform = yes
@@ -221,9 +217,7 @@ test-xfail-UNIX98/stdio.h/conform = yes
test-xfail-UNIX98/stdlib.h/conform = yes
test-xfail-UNIX98/stropts.h/conform = yes
test-xfail-UNIX98/sys/ipc.h/conform = yes
-test-xfail-UNIX98/sys/msg.h/conform = yes
test-xfail-UNIX98/sys/sem.h/conform = yes
-test-xfail-UNIX98/sys/shm.h/conform = yes
test-xfail-UNIX98/sys/socket.h/conform = yes
test-xfail-UNIX98/sys/time.h/conform = yes
test-xfail-UNIX98/sys/wait.h/conform = yes
@@ -241,9 +235,7 @@ test-xfail-XOPEN2K/stdarg.h/conform = yes
test-xfail-XOPEN2K/stdio.h/conform = yes
test-xfail-XOPEN2K/stropts.h/conform = yes
test-xfail-XOPEN2K/sys/ipc.h/conform = yes
-test-xfail-XOPEN2K/sys/msg.h/conform = yes
test-xfail-XOPEN2K/sys/sem.h/conform = yes
-test-xfail-XOPEN2K/sys/shm.h/conform = yes
test-xfail-XOPEN2K/sys/socket.h/conform = yes
test-xfail-XOPEN2K/sys/wait.h/conform = yes
test-xfail-XOPEN2K/termios.h/conform = yes
@@ -265,10 +257,8 @@ test-xfail-XOPEN2K8/signal.h/conform = yes
test-xfail-XOPEN2K8/stdio.h/conform = yes
test-xfail-XOPEN2K8/stropts.h/conform = yes
test-xfail-XOPEN2K8/sys/ipc.h/conform = yes
-test-xfail-XOPEN2K8/sys/msg.h/conform = yes
test-xfail-XOPEN2K8/sys/select.h/conform = yes
test-xfail-XOPEN2K8/sys/sem.h/conform = yes
-test-xfail-XOPEN2K8/sys/shm.h/conform = yes
test-xfail-XOPEN2K8/sys/socket.h/conform = yes
test-xfail-XOPEN2K8/sys/time.h/conform = yes
test-xfail-XOPEN2K8/sys/wait.h/conform = yes
diff --git a/include/bits/ipc.h b/include/bits/ipc.h
deleted file mode 100644
index 481fe91..0000000
--- a/include/bits/ipc.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#include_next <bits/ipc.h>
-
-__BEGIN_DECLS
-
-/* The actual system call: all functions are multiplexed by this. */
-extern int __syscall_ipc (int __call, int __first, int __second,
- int __third, void *__ptr);
-
-__END_DECLS
-
-
-/* The codes for the functions to use the multiplexer `__syscall_ipc'. */
-#define IPCOP_semop 1
-#define IPCOP_semget 2
-#define IPCOP_semctl 3
-#define IPCOP_msgsnd 11
-#define IPCOP_msgrcv 12
-#define IPCOP_msgget 13
-#define IPCOP_msgctl 14
-#define IPCOP_shmat 21
-#define IPCOP_shmdt 22
-#define IPCOP_shmget 23
-#define IPCOP_shmctl 24
--
Joseph S. Myers
joseph@codesourcery.com