Move shared sysdeps files from alpha to arm

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Move shared sysdeps files from alpha to arm

Joseph Myers
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 and committed.

ports/ChangeLog.alpha:
2014-02-08  Joseph Myers  <[hidden email]>

        * 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.

ports/ChangeLog.arm:
2014-02-08  Joseph Myers  <[hidden email]>

        * 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.

ports/ChangeLog.microblaze:
2014-02-08  Joseph Myers  <[hidden email]>

        * 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.

diff --git a/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c b/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c
index a0b6cb4..d65a5b9 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 <[hidden email]>, 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 a45863b..4cb834a 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 <[hidden email]>, 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 eed4c8d..f73ed6f 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 <[hidden email]>, 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 38aedad..a0b6cb4 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 <[hidden email]>, 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 1451629..a45863b 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 <[hidden email]>, 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 c121e99..eed4c8d 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 <[hidden email]>, 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 38aedad..d65a5b9 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 1451629..4cb834a 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 c121e99..f73ed6f 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>

--
Joseph S. Myers
[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Move shared sysdeps files from alpha to arm

Siddhesh Poyarekar
Looks good to me.

Thanks,
Siddhesh

On 8 February 2014 06:49, Joseph S. Myers <[hidden email]> wrote:

> 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 and committed.
>
> ports/ChangeLog.alpha:
> 2014-02-08  Joseph Myers  <[hidden email]>
>
>         * 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.
>
> ports/ChangeLog.arm:
> 2014-02-08  Joseph Myers  <[hidden email]>
>
>         * 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.
>
> ports/ChangeLog.microblaze:
> 2014-02-08  Joseph Myers  <[hidden email]>
>
>         * 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.
>
> diff --git a/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c b/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c
> index a0b6cb4..d65a5b9 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 <[hidden email]>, 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 a45863b..4cb834a 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 <[hidden email]>, 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 eed4c8d..f73ed6f 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 <[hidden email]>, 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 38aedad..a0b6cb4 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 <[hidden email]>, 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 1451629..a45863b 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 <[hidden email]>, 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 c121e99..eed4c8d 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 <[hidden email]>, 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 38aedad..d65a5b9 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 1451629..4cb834a 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 c121e99..f73ed6f 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>
>
> --
> Joseph S. Myers
> [hidden email]



--
http://siddhesh.in
Reply | Threaded
Open this post in threaded view
|

Re: Move shared sysdeps files from alpha to arm

Mike Frysinger
In reply to this post by Joseph Myers
looks reasonable
-mike

signature.asc (853 bytes) Download Attachment