mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 09:43:32 +08:00
nptl: Remove tst-cancel-wrappers test and related macros
With upcoming BZ#12683 fix, syscall cancellation is not more handled by {libc,pthread,librt}_{enable,disable}_asynccancel symbols. This renders both LIBC_CANCEL_HANDLED and empty declaration and tst-cancel-wrappers.sh unrequired. This patch removes both the macro and the nptl test. Checked on x86_64-linux-gnu. * io/creat.c (LIBC_CANCEL_HANDLED): Remove macro. * io/ppoll.c (LIBC_CANCEL_HANDLED): Likewise. * misc/pselect.c (LIBC_CANCEL_HANDLED): Likewise. * nptl/pthreadP.h (LIBC_CANCEL_HANDLED): Likewise. * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Likewise. * sysdeps/mach/hurd/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Likewise. * sysdeps/posix/pause.c (LIBC_CANCEL_HANDLED): Likewise. * sysdeps/posix/sigpause.c (LIBC_CANCEL_HANDLED): Likewise. * sysdeps/unix/sysv/linux/creat.c (LIBC_CANCEL_HANDLED): Likewise. * sysdeps/unix/sysv/linux/creat64.c (LIBC_CANCEL_HANDLED): Likewise. * sysdeps/unix/sysv/linux/sigwait.c (LIBC_CANCEL_HANDLED): Likewise. * sysdeps/unix/sysv/linux/sigwaitinfo.c (LIBC_CANCEL_HANDLED): Likewise. * nptl/Makefile [$(run-built-tests) = yes] (tests-special): Remove tst-cancel-wrappers.sh. (generated): Remove tst-cancel-wrappers.out. (tst-cancel-wrappers.out): Remove rule. * nptl/tst-cancel-wrappers.sh: Remove file.
This commit is contained in:
parent
7d7af8f17d
commit
17cc27d5b7
21
ChangeLog
21
ChangeLog
@ -1,3 +1,24 @@
|
||||
2019-01-03 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
* io/creat.c (LIBC_CANCEL_HANDLED): Remove macro.
|
||||
* io/ppoll.c (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* misc/pselect.c (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* nptl/pthreadP.h (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* sysdeps/mach/hurd/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* sysdeps/posix/pause.c (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* sysdeps/posix/sigpause.c (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* sysdeps/unix/sysv/linux/creat.c (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* sysdeps/unix/sysv/linux/creat64.c (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* sysdeps/unix/sysv/linux/sigwait.c (LIBC_CANCEL_HANDLED): Likewise.
|
||||
* sysdeps/unix/sysv/linux/sigwaitinfo.c (LIBC_CANCEL_HANDLED):
|
||||
Likewise.
|
||||
* nptl/Makefile [$(run-built-tests) = yes] (tests-special): Remove
|
||||
tst-cancel-wrappers.sh.
|
||||
(generated): Remove tst-cancel-wrappers.out.
|
||||
(tst-cancel-wrappers.out): Remove rule.
|
||||
* nptl/tst-cancel-wrappers.sh: Remove file.
|
||||
|
||||
2019-01-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h: Add comment.
|
||||
|
@ -27,6 +27,3 @@ creat (const char *file, mode_t mode)
|
||||
{
|
||||
return __open (file, O_WRONLY|O_CREAT|O_TRUNC, mode);
|
||||
}
|
||||
|
||||
/* __open handles cancellation. */
|
||||
LIBC_CANCEL_HANDLED ();
|
||||
|
@ -70,7 +70,5 @@ ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout,
|
||||
}
|
||||
|
||||
#ifndef ppoll
|
||||
/* __poll handles cancellation. */
|
||||
LIBC_CANCEL_HANDLED ();
|
||||
libc_hidden_def (ppoll);
|
||||
#endif
|
||||
|
@ -73,6 +73,4 @@ __pselect (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
|
||||
}
|
||||
#ifndef __pselect
|
||||
weak_alias (__pselect, pselect)
|
||||
/* __select handles cancellation. */
|
||||
LIBC_CANCEL_HANDLED ();
|
||||
#endif
|
||||
|
@ -465,8 +465,7 @@ tests-reverse += tst-cancel5 tst-cancel23 tst-vfork1x tst-vfork2x
|
||||
ifeq ($(run-built-tests),yes)
|
||||
tests-special += $(objpfx)tst-stack3-mem.out $(objpfx)tst-oddstacklimit.out
|
||||
ifeq ($(build-shared),yes)
|
||||
tests-special += $(objpfx)tst-tls6.out $(objpfx)tst-cleanup0-cmp.out \
|
||||
$(objpfx)tst-cancel-wrappers.out
|
||||
tests-special += $(objpfx)tst-tls6.out $(objpfx)tst-cleanup0-cmp.out
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -669,8 +668,7 @@ $(objpfx)$(multidir)/crtn.o: $(objpfx)crtn.o $(objpfx)$(multidir)/
|
||||
ln -f $< $@
|
||||
endif
|
||||
|
||||
generated += multidir.mk tst-atfork2.mtrace tst-cancel-wrappers.out \
|
||||
tst-tls6.out
|
||||
generated += multidir.mk tst-atfork2.mtrace tst-tls6.out
|
||||
|
||||
generated += $(objpfx)tst-atfork2.mtrace \
|
||||
$(addsuffix .so,$(strip $(modules-names)))
|
||||
@ -681,18 +679,6 @@ LDFLAGS-pthread.so += -e __nptl_main
|
||||
$(objpfx)pt-interp.os: $(common-objpfx)runtime-linker.h
|
||||
endif
|
||||
|
||||
ifeq ($(run-built-tests),yes)
|
||||
ifeq (yes,$(build-shared))
|
||||
$(objpfx)tst-cancel-wrappers.out: tst-cancel-wrappers.sh
|
||||
$(SHELL) $< '$(NM)' \
|
||||
$(common-objpfx)libc_pic.a \
|
||||
$(common-objpfx)libc.a \
|
||||
$(objpfx)libpthread_pic.a \
|
||||
$(objpfx)libpthread.a > $@; \
|
||||
$(evaluate-test)
|
||||
endif
|
||||
endif
|
||||
|
||||
tst-exec4-ARGS = $(host-test-program-cmd)
|
||||
|
||||
$(objpfx)tst-execstack: $(libdl)
|
||||
|
@ -325,27 +325,17 @@ __do_cancel (void)
|
||||
/* Same as CANCEL_RESET, but for use in libc.so. */
|
||||
# define LIBC_CANCEL_RESET(oldtype) \
|
||||
__libc_disable_asynccancel (oldtype)
|
||||
# define LIBC_CANCEL_HANDLED() \
|
||||
__asm (".globl " __SYMBOL_PREFIX "__libc_enable_asynccancel"); \
|
||||
__asm (".globl " __SYMBOL_PREFIX "__libc_disable_asynccancel")
|
||||
#elif IS_IN (libpthread)
|
||||
# define LIBC_CANCEL_ASYNC() CANCEL_ASYNC ()
|
||||
# define LIBC_CANCEL_RESET(val) CANCEL_RESET (val)
|
||||
# define LIBC_CANCEL_HANDLED() \
|
||||
__asm (".globl " __SYMBOL_PREFIX "__pthread_enable_asynccancel"); \
|
||||
__asm (".globl " __SYMBOL_PREFIX "__pthread_disable_asynccancel")
|
||||
#elif IS_IN (librt)
|
||||
# define LIBC_CANCEL_ASYNC() \
|
||||
__librt_enable_asynccancel ()
|
||||
# define LIBC_CANCEL_RESET(val) \
|
||||
__librt_disable_asynccancel (val)
|
||||
# define LIBC_CANCEL_HANDLED() \
|
||||
__asm (".globl " __SYMBOL_PREFIX "__librt_enable_asynccancel"); \
|
||||
__asm (".globl " __SYMBOL_PREFIX "__librt_disable_asynccancel")
|
||||
#else
|
||||
# define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */
|
||||
# define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */
|
||||
# define LIBC_CANCEL_HANDLED() /* Nothing. */
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -1,92 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Test whether all cancelable functions are cancelable.
|
||||
# Copyright (C) 2002-2019 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
# Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
|
||||
|
||||
# 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/>.
|
||||
|
||||
NM="$1"; shift
|
||||
while [ $# -gt 0 ]; do
|
||||
( $NM -P $1; echo 'end[end]:' ) | gawk ' BEGIN {
|
||||
C["accept"]=1
|
||||
C["close"]=1
|
||||
C["connect"]=1
|
||||
C["creat"]=1
|
||||
C["fcntl"]=1
|
||||
C["fdatasync"]=1
|
||||
C["fsync"]=1
|
||||
C["msgrcv"]=1
|
||||
C["msgsnd"]=1
|
||||
C["msync"]=1
|
||||
C["nanosleep"]=1
|
||||
C["open"]=1
|
||||
C["open64"]=1
|
||||
C["pause"]=1
|
||||
C["poll"]=1
|
||||
C["pread"]=1
|
||||
C["pread64"]=1
|
||||
C["pselect"]=1
|
||||
C["pwrite"]=1
|
||||
C["pwrite64"]=1
|
||||
C["read"]=1
|
||||
C["readv"]=1
|
||||
C["recv"]=1
|
||||
C["recvfrom"]=1
|
||||
C["recvmsg"]=1
|
||||
C["select"]=1
|
||||
C["send"]=1
|
||||
C["sendmsg"]=1
|
||||
C["sendto"]=1
|
||||
C["sigpause"]=1
|
||||
C["sigsuspend"]=1
|
||||
C["sigwait"]=1
|
||||
C["sigwaitinfo"]=1
|
||||
C["tcdrain"]=1
|
||||
C["wait"]=1
|
||||
C["waitid"]=1
|
||||
C["waitpid"]=1
|
||||
C["write"]=1
|
||||
C["writev"]=1
|
||||
C["__xpg_sigpause"]=1
|
||||
}
|
||||
/:$/ {
|
||||
if (seen)
|
||||
{
|
||||
if (!seen_enable || !seen_disable)
|
||||
{
|
||||
printf "in '$1'(%s) %s'\''s cancellation missing\n", object, seen
|
||||
ret = 1
|
||||
}
|
||||
}
|
||||
seen=""
|
||||
seen_enable=""
|
||||
seen_disable=""
|
||||
object=gensub(/^.*\[(.*)\]:$/, "\\1", 1, $0)
|
||||
next
|
||||
}
|
||||
{
|
||||
if (C[$1] && $2 ~ /^[TW]$/)
|
||||
seen=$1
|
||||
else if ($1 ~ /^([.]|)__(libc|pthread)_enable_asynccancel$/ && $2 == "U")
|
||||
seen_enable=1
|
||||
else if ($1 ~ /^([.]|)__(libc|pthread)_disable_asynccancel$/ && $2 == "U")
|
||||
seen_disable=1
|
||||
}
|
||||
END {
|
||||
exit ret
|
||||
}' || exit
|
||||
shift
|
||||
done
|
@ -5,4 +5,3 @@
|
||||
#define RTLD_SINGLE_THREAD_P (1)
|
||||
#define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */
|
||||
#define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */
|
||||
#define LIBC_CANCEL_HANDLED() /* Nothing. */
|
||||
|
@ -6,4 +6,3 @@
|
||||
#define RTLD_SINGLE_THREAD_P (0)
|
||||
#define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */
|
||||
#define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */
|
||||
#define LIBC_CANCEL_HANDLED() /* Nothing. */
|
||||
|
@ -38,5 +38,3 @@ __libc_pause (void)
|
||||
return __sigsuspend (&set);
|
||||
}
|
||||
weak_alias (__libc_pause, pause)
|
||||
|
||||
LIBC_CANCEL_HANDLED (); /* sigsuspend handles our cancellation. */
|
||||
|
@ -70,6 +70,3 @@ __xpg_sigpause (int sig)
|
||||
return __sigpause (sig, 1);
|
||||
}
|
||||
strong_alias (__xpg_sigpause, __libc___xpg_sigpause)
|
||||
|
||||
/* __sigsuspend handles cancellation. */
|
||||
LIBC_CANCEL_HANDLED ();
|
||||
|
@ -35,6 +35,4 @@ __creat (const char *file, mode_t mode)
|
||||
}
|
||||
weak_alias (__creat, creat)
|
||||
|
||||
LIBC_CANCEL_HANDLED ();
|
||||
|
||||
#endif
|
||||
|
@ -37,5 +37,3 @@ weak_alias (__creat64, creat64)
|
||||
strong_alias (__creat64, __creat)
|
||||
weak_alias (__creat64, creat)
|
||||
#endif
|
||||
|
||||
LIBC_CANCEL_HANDLED ();
|
||||
|
@ -37,6 +37,3 @@ __sigwait (const sigset_t *set, int *sig)
|
||||
libc_hidden_def (__sigwait)
|
||||
weak_alias (__sigwait, sigwait)
|
||||
strong_alias (__sigwait, __libc_sigwait)
|
||||
|
||||
/* __sigtimedwait handles cancellation. */
|
||||
LIBC_CANCEL_HANDLED ();
|
||||
|
@ -28,6 +28,3 @@ __sigwaitinfo (const sigset_t *set, siginfo_t *info)
|
||||
libc_hidden_def (__sigwaitinfo)
|
||||
weak_alias (__sigwaitinfo, sigwaitinfo)
|
||||
strong_alias (__sigwaitinfo, __libc_sigwaitinfo)
|
||||
|
||||
/* __sigtimedwait handles cancellation. */
|
||||
LIBC_CANCEL_HANDLED ();
|
||||
|
Loading…
Reference in New Issue
Block a user