diff mbox

Fix include/bits/ipc.h for header conformance tests

Message ID alpine.DEB.2.10.1506182308430.13372@digraph.polyomino.org.uk
State New
Headers show

Commit Message

Joseph Myers June 18, 2015, 11:09 p.m. UTC
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 mbox

Patch

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