about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-02-08 01:17:28 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-02-08 01:17:28 +0000
commit852fa2dd3aa1a687780e27300df9eb0bdc433863 (patch)
tree6be84f138325bf6e209a2166e59204ce0da0d0a2
parent464263cc00549d2597b6d25309d55b1e4a6b1aac (diff)
downloadglibc-852fa2dd3aa1a687780e27300df9eb0bdc433863.tar.gz
glibc-852fa2dd3aa1a687780e27300df9eb0bdc433863.tar.xz
glibc-852fa2dd3aa1a687780e27300df9eb0bdc433863.zip
Move shared sysdeps files from alpha to arm.
This patch prepares for moving arm from ports to libc (see overall
plan at <https://sourceware.org/ml/libc-alpha/2014-01/msg00373.html>
and discussion of ordering starting at
<https://sourceware.org/ml/libc-ports/2014-01/msg00071.html>) by
reversing the #include order between arm and alpha, so that arm can
move early as a test for the general pattern of moving architectures.
MicroBlaze files (that used the same alpha files) were made to include
the files directly from their new locations rather than indirecting.

Tested that disassembly of installed shared libraries for arm is the
same before and after this patch.

	* sysdeps/unix/sysv/linux/alpha/msgctl.c: Move to
	sysdeps/unix/sysv/linux/arm/msgctl.c and #include that file.
	* sysdeps/unix/sysv/linux/alpha/semctl.c: Move to
	sysdeps/unix/sysv/linux/arm/semctl.c and #include that file.
	* sysdeps/unix/sysv/linux/alpha/shmctl.c: Move to
	sysdeps/unix/sysv/linux/arm/shmctl.c and #include that file.

	* sysdeps/unix/sysv/linux/arm/msgctl.c: Move from
	sysdeps/unix/sysv/linux/alpha/msgctl.c instead of #include of that
	file.
	* sysdeps/unix/sysv/linux/arm/semctl.c: Move from
	sysdeps/unix/sysv/linux/alpha/semctl.c instead of #include of that
	file.
	* sysdeps/unix/sysv/linux/arm/shmctl.c: Move from
	sysdeps/unix/sysv/linux/alpha/shmctl.c instead of #include of that
	file.

	* sysdeps/unix/sysv/linux/microblaze/msgctl.c: Include
	sysdeps/unix/sysv/linux/arm/msgctl.c instead of
	sysdeps/unix/sysv/linux/alpha/msgctl.c.
	* sysdeps/unix/sysv/linux/microblaze/semctl.c: Include
	sysdeps/unix/sysv/linux/arm/semctl.c instead of
	sysdeps/unix/sysv/linux/alpha/semctl.c.
	* sysdeps/unix/sysv/linux/microblaze/shmctl.c: Include
	sysdeps/unix/sysv/linux/arm/shmctl.c instead of
	sysdeps/unix/sysv/linux/alpha/shmctl.c.
-rw-r--r--ports/ChangeLog.alpha9
-rw-r--r--ports/ChangeLog.arm12
-rw-r--r--ports/ChangeLog.microblaze12
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/msgctl.c34
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/semctl.c55
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/shmctl.c35
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/msgctl.c34
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/semctl.c55
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/shmctl.c35
-rw-r--r--ports/sysdeps/unix/sysv/linux/microblaze/msgctl.c2
-rw-r--r--ports/sysdeps/unix/sysv/linux/microblaze/semctl.c2
-rw-r--r--ports/sysdeps/unix/sysv/linux/microblaze/shmctl.c2
12 files changed, 160 insertions, 127 deletions
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
index 92be2924d2..5d79445655 100644
--- a/ports/ChangeLog.alpha
+++ b/ports/ChangeLog.alpha
@@ -1,3 +1,12 @@
+2014-02-08  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/alpha/msgctl.c: Move to
+	sysdeps/unix/sysv/linux/arm/msgctl.c and #include that file.
+	* sysdeps/unix/sysv/linux/alpha/semctl.c: Move to
+	sysdeps/unix/sysv/linux/arm/semctl.c and #include that file.
+	* sysdeps/unix/sysv/linux/alpha/shmctl.c: Move to
+	sysdeps/unix/sysv/linux/arm/shmctl.c and #include that file.
+
 2014-01-24  Richard Henderson <rth@redhat.com>
 
         * sysdeps/alpha/fpu/libm-test-ulps: Update.
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 51bb76b992..d23a6cca55 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,15 @@
+2014-02-08  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/arm/msgctl.c: Move from
+	sysdeps/unix/sysv/linux/alpha/msgctl.c instead of #include of that
+	file.
+	* sysdeps/unix/sysv/linux/arm/semctl.c: Move from
+	sysdeps/unix/sysv/linux/alpha/semctl.c instead of #include of that
+	file.
+	* sysdeps/unix/sysv/linux/arm/shmctl.c: Move from
+	sysdeps/unix/sysv/linux/alpha/shmctl.c instead of #include of that
+	file.
+
 2014-01-24  Will Newton  <will.newton@linaro.org>
 
 	[BZ #16499]
diff --git a/ports/ChangeLog.microblaze b/ports/ChangeLog.microblaze
index 1c5bc996b1..a2a35c6054 100644
--- a/ports/ChangeLog.microblaze
+++ b/ports/ChangeLog.microblaze
@@ -1,3 +1,15 @@
+2014-02-08  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/microblaze/msgctl.c: Include
+	sysdeps/unix/sysv/linux/arm/msgctl.c instead of
+	sysdeps/unix/sysv/linux/alpha/msgctl.c.
+	* sysdeps/unix/sysv/linux/microblaze/semctl.c: Include
+	sysdeps/unix/sysv/linux/arm/semctl.c instead of
+	sysdeps/unix/sysv/linux/alpha/semctl.c.
+	* sysdeps/unix/sysv/linux/microblaze/shmctl.c: Include
+	sysdeps/unix/sysv/linux/arm/shmctl.c instead of
+	sysdeps/unix/sysv/linux/alpha/shmctl.c.
+
 2014-02-04  David Holsgrove <david.holsgrove@xilinx.com>
 
 	* sysdeps/microblaze/libm-test-ulps: Update.
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c b/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c
index a0b6cb4372..d65a5b93d6 100644
--- a/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c
+++ b/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c
@@ -1,33 +1 @@
-/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <sys/msg.h>
-#include <ipc_priv.h>
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-
-int
-__new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
-{
-  return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, buf);
-}
-
-#include <shlib-compat.h>
-versioned_symbol (libc, __new_msgctl, msgctl, GLIBC_2_2);
+#include <sysdeps/unix/sysv/linux/arm/msgctl.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/semctl.c b/ports/sysdeps/unix/sysv/linux/alpha/semctl.c
index a45863bd82..4cb834ad97 100644
--- a/ports/sysdeps/unix/sysv/linux/alpha/semctl.c
+++ b/ports/sysdeps/unix/sysv/linux/alpha/semctl.c
@@ -1,54 +1 @@
-/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <stdarg.h>
-#include <sys/sem.h>
-#include <ipc_priv.h>
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-
-/* Define a `union semun' suitable for Linux here.  */
-union semun
-{
-  int val;			/* value for SETVAL */
-  struct semid_ds *buf;		/* buffer for IPC_STAT & IPC_SET */
-  unsigned short int *array;	/* array for GETALL & SETALL */
-  struct seminfo *__buf;	/* buffer for IPC_INFO */
-};
-
-int
-__new_semctl (int semid, int semnum, int cmd, ...)
-{
-  union semun arg;
-  va_list ap;
-
-  va_start (ap, cmd);
-
-  /* Get the argument.  */
-  arg = va_arg (ap, union semun);
-
-  va_end (ap);
-
-  return INLINE_SYSCALL (semctl, 4, semid, semnum, cmd | __IPC_64,
-			 arg.array);
-}
-
-#include <shlib-compat.h>
-versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2);
+#include <sysdeps/unix/sysv/linux/arm/semctl.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/shmctl.c b/ports/sysdeps/unix/sysv/linux/alpha/shmctl.c
index eed4c8dcef..f73ed6f246 100644
--- a/ports/sysdeps/unix/sysv/linux/alpha/shmctl.c
+++ b/ports/sysdeps/unix/sysv/linux/alpha/shmctl.c
@@ -1,34 +1 @@
-/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <errno.h>
-#include <sys/shm.h>
-#include <ipc_priv.h>
-#include <sysdep.h>
-#include <sys/syscall.h>
-#include <bits/wordsize.h>
-
-
-int
-__new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
-{
-  return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, buf);
-}
-
-#include <shlib-compat.h>
-versioned_symbol (libc, __new_shmctl, shmctl, GLIBC_2_2);
+#include <sysdeps/unix/sysv/linux/arm/shmctl.c>
diff --git a/ports/sysdeps/unix/sysv/linux/arm/msgctl.c b/ports/sysdeps/unix/sysv/linux/arm/msgctl.c
index 38aedadf49..a0b6cb4372 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/msgctl.c
+++ b/ports/sysdeps/unix/sysv/linux/arm/msgctl.c
@@ -1 +1,33 @@
-#include <sysdeps/unix/sysv/linux/alpha/msgctl.c>
+/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/msg.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+
+int
+__new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
+{
+  return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, buf);
+}
+
+#include <shlib-compat.h>
+versioned_symbol (libc, __new_msgctl, msgctl, GLIBC_2_2);
diff --git a/ports/sysdeps/unix/sysv/linux/arm/semctl.c b/ports/sysdeps/unix/sysv/linux/arm/semctl.c
index 145162909c..a45863bd82 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/semctl.c
+++ b/ports/sysdeps/unix/sysv/linux/arm/semctl.c
@@ -1 +1,54 @@
-#include <sysdeps/unix/sysv/linux/alpha/semctl.c>
+/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stdarg.h>
+#include <sys/sem.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+
+/* Define a `union semun' suitable for Linux here.  */
+union semun
+{
+  int val;			/* value for SETVAL */
+  struct semid_ds *buf;		/* buffer for IPC_STAT & IPC_SET */
+  unsigned short int *array;	/* array for GETALL & SETALL */
+  struct seminfo *__buf;	/* buffer for IPC_INFO */
+};
+
+int
+__new_semctl (int semid, int semnum, int cmd, ...)
+{
+  union semun arg;
+  va_list ap;
+
+  va_start (ap, cmd);
+
+  /* Get the argument.  */
+  arg = va_arg (ap, union semun);
+
+  va_end (ap);
+
+  return INLINE_SYSCALL (semctl, 4, semid, semnum, cmd | __IPC_64,
+			 arg.array);
+}
+
+#include <shlib-compat.h>
+versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2);
diff --git a/ports/sysdeps/unix/sysv/linux/arm/shmctl.c b/ports/sysdeps/unix/sysv/linux/arm/shmctl.c
index c121e99917..eed4c8dcef 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/shmctl.c
+++ b/ports/sysdeps/unix/sysv/linux/arm/shmctl.c
@@ -1 +1,34 @@
-#include <sysdeps/unix/sysv/linux/alpha/shmctl.c>
+/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/shm.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <bits/wordsize.h>
+
+
+int
+__new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
+{
+  return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, buf);
+}
+
+#include <shlib-compat.h>
+versioned_symbol (libc, __new_shmctl, shmctl, GLIBC_2_2);
diff --git a/ports/sysdeps/unix/sysv/linux/microblaze/msgctl.c b/ports/sysdeps/unix/sysv/linux/microblaze/msgctl.c
index 38aedadf49..d65a5b93d6 100644
--- a/ports/sysdeps/unix/sysv/linux/microblaze/msgctl.c
+++ b/ports/sysdeps/unix/sysv/linux/microblaze/msgctl.c
@@ -1 +1 @@
-#include <sysdeps/unix/sysv/linux/alpha/msgctl.c>
+#include <sysdeps/unix/sysv/linux/arm/msgctl.c>
diff --git a/ports/sysdeps/unix/sysv/linux/microblaze/semctl.c b/ports/sysdeps/unix/sysv/linux/microblaze/semctl.c
index 145162909c..4cb834ad97 100644
--- a/ports/sysdeps/unix/sysv/linux/microblaze/semctl.c
+++ b/ports/sysdeps/unix/sysv/linux/microblaze/semctl.c
@@ -1 +1 @@
-#include <sysdeps/unix/sysv/linux/alpha/semctl.c>
+#include <sysdeps/unix/sysv/linux/arm/semctl.c>
diff --git a/ports/sysdeps/unix/sysv/linux/microblaze/shmctl.c b/ports/sysdeps/unix/sysv/linux/microblaze/shmctl.c
index c121e99917..f73ed6f246 100644
--- a/ports/sysdeps/unix/sysv/linux/microblaze/shmctl.c
+++ b/ports/sysdeps/unix/sysv/linux/microblaze/shmctl.c
@@ -1 +1 @@
-#include <sysdeps/unix/sysv/linux/alpha/shmctl.c>
+#include <sysdeps/unix/sysv/linux/arm/shmctl.c>