From 852fa2dd3aa1a687780e27300df9eb0bdc433863 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sat, 8 Feb 2014 01:17:28 +0000 Subject: Move shared sysdeps files from alpha to arm. This patch prepares for moving arm from ports to libc (see overall plan at and discussion of ordering starting at ) 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. --- ports/ChangeLog.alpha | 9 ++++ ports/ChangeLog.arm | 12 +++++ ports/ChangeLog.microblaze | 12 +++++ ports/sysdeps/unix/sysv/linux/alpha/msgctl.c | 34 +------------- ports/sysdeps/unix/sysv/linux/alpha/semctl.c | 55 +---------------------- ports/sysdeps/unix/sysv/linux/alpha/shmctl.c | 35 +-------------- ports/sysdeps/unix/sysv/linux/arm/msgctl.c | 34 +++++++++++++- ports/sysdeps/unix/sysv/linux/arm/semctl.c | 55 ++++++++++++++++++++++- ports/sysdeps/unix/sysv/linux/arm/shmctl.c | 35 ++++++++++++++- ports/sysdeps/unix/sysv/linux/microblaze/msgctl.c | 2 +- ports/sysdeps/unix/sysv/linux/microblaze/semctl.c | 2 +- ports/sysdeps/unix/sysv/linux/microblaze/shmctl.c | 2 +- 12 files changed, 160 insertions(+), 127 deletions(-) diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha index 92be292..5d79445 100644 --- a/ports/ChangeLog.alpha +++ b/ports/ChangeLog.alpha @@ -1,3 +1,12 @@ +2014-02-08 Joseph Myers + + * 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 * sysdeps/alpha/fpu/libm-test-ulps: Update. diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index 51bb76b..d23a6cc 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,3 +1,15 @@ +2014-02-08 Joseph Myers + + * 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 [BZ #16499] diff --git a/ports/ChangeLog.microblaze b/ports/ChangeLog.microblaze index 1c5bc99..a2a35c6 100644 --- a/ports/ChangeLog.microblaze +++ b/ports/ChangeLog.microblaze @@ -1,3 +1,15 @@ +2014-02-08 Joseph Myers + + * 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 * 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 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 , 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 - . */ - -#include -#include -#include -#include -#include - - -int -__new_msgctl (int msqid, int cmd, struct msqid_ds *buf) -{ - return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, buf); -} - -#include -versioned_symbol (libc, __new_msgctl, msgctl, GLIBC_2_2); +#include 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 , 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 - . */ - -#include -#include -#include -#include -#include -#include - - -/* 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 -versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2); +#include 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 , 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 - . */ - -#include -#include -#include -#include -#include -#include - - -int -__new_shmctl (int shmid, int cmd, struct shmid_ds *buf) -{ - return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, buf); -} - -#include -versioned_symbol (libc, __new_shmctl, shmctl, GLIBC_2_2); +#include 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 +/* Copyright (C) 1995-2014 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 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 + . */ + +#include +#include +#include +#include +#include + + +int +__new_msgctl (int msqid, int cmd, struct msqid_ds *buf) +{ + return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, buf); +} + +#include +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 +/* Copyright (C) 1995-2014 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 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 + . */ + +#include +#include +#include +#include +#include +#include + + +/* 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 +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 +/* Copyright (C) 1995-2014 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 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 + . */ + +#include +#include +#include +#include +#include +#include + + +int +__new_shmctl (int shmid, int cmd, struct shmid_ds *buf) +{ + return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, buf); +} + +#include +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 +#include 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 +#include 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 +#include -- cgit v1.1