This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Consolidate Linux sigpending() implementation



On 13/10/2017 15:27, Yury Norov wrote:
> ia64, s390-64, sparc64 and x86_64 host their own implementation of
> sigpending() in corresponding files, but they are identical to generic
> linux file despite few comments. This patch removes that files, so the
> implementation of sigpending() is taken from sysdeps/unix/sysv/linux
> for all ports.
> 
> Build-tested on x86_64.
> 
> 	* sysdeps/unix/sysv/linux/ia64/sigpending.c: Remove file;
> 	* sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: Likewise; 
> 	* sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise;
> 	* sysdeps/unix/sysv/linux/x86_64/sigpending.c: Likewise.

LGTM.

> 
> ---
>  sysdeps/unix/sysv/linux/ia64/sigpending.c          | 36 ----------------------
>  sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c  | 36 ----------------------
>  sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c | 33 --------------------
>  sysdeps/unix/sysv/linux/x86_64/sigpending.c        | 36 ----------------------
>  4 files changed, 141 deletions(-)
>  delete mode 100644 sysdeps/unix/sysv/linux/ia64/sigpending.c
>  delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c
>  delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
>  delete mode 100644 sysdeps/unix/sysv/linux/x86_64/sigpending.c
> 
> diff --git a/sysdeps/unix/sysv/linux/ia64/sigpending.c b/sysdeps/unix/sysv/linux/ia64/sigpending.c
> deleted file mode 100644
> index b1653231de..0000000000
> --- a/sysdeps/unix/sysv/linux/ia64/sigpending.c
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -
> -   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/>.  */
> -
> -/* Linux/ia64 only has rt signals, thus we do not even want to try falling
> -   back to the old style signals as the default Linux handler does. */
> -
> -#include <errno.h>
> -#include <signal.h>
> -#include <unistd.h>
> -
> -#include <sysdep.h>
> -#include <sys/syscall.h>
> -
> -/* Change the set of blocked signals to SET,
> -   wait until a signal arrives, and restore the set of blocked signals.  */
> -int
> -sigpending (sigset_t *set)
> -{
> -  /* XXX The size argument hopefully will have to be changed to the
> -     real size of the user-level sigset_t.  */
> -  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
> -}
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c b/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c
> deleted file mode 100644
> index daf8cfd1b8..0000000000
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -
> -   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/>.  */
> -
> -/* 64 bit Linux for S/390 only has rt signals, thus we do not even want to try
> -   falling back to the old style signals as the default Linux handler does. */
> -
> -#include <errno.h>
> -#include <signal.h>
> -#include <unistd.h>
> -
> -#include <sysdep.h>
> -#include <sys/syscall.h>
> -
> -/* Change the set of blocked signals to SET,
> -   wait until a signal arrives, and restore the set of blocked signals.  */
> -int
> -sigpending (sigset_t *set)
> -{
> -  /* XXX The size argument hopefully will have to be changed to the
> -     real size of the user-level sigset_t.  */
> -  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
> -}
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
> deleted file mode 100644
> index 7e82927435..0000000000
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -
> -   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 <signal.h>
> -#include <unistd.h>
> -
> -#include <sysdep.h>
> -#include <sys/syscall.h>
> -
> -/* Change the set of blocked signals to SET,
> -   wait until a signal arrives, and restore the set of blocked signals.  */
> -int
> -sigpending (sigset_t *set)
> -{
> -  /* XXX The size argument hopefully will have to be changed to the
> -     real size of the user-level sigset_t.  */
> -  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
> -}
> diff --git a/sysdeps/unix/sysv/linux/x86_64/sigpending.c b/sysdeps/unix/sysv/linux/x86_64/sigpending.c
> deleted file mode 100644
> index 410217ed84..0000000000
> --- a/sysdeps/unix/sysv/linux/x86_64/sigpending.c
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -
> -   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/>.  */
> -
> -/* Linux/x86_64 only has rt signals, thus we do not even want to try falling
> -   back to the old style signals as the default Linux handler does. */
> -
> -#include <errno.h>
> -#include <signal.h>
> -#include <unistd.h>
> -
> -#include <sysdep.h>
> -#include <sys/syscall.h>
> -
> -/* Change the set of blocked signals to SET,
> -   wait until a signal arrives, and restore the set of blocked signals.  */
> -int
> -sigpending (sigset_t *set)
> -{
> -  /* XXX The size argument hopefully will have to be changed to the
> -     real size of the user-level sigset_t.  */
> -  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
> -}
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]