]> sourceware.org Git - glibc.git/blame - linuxthreads/tst-cancel-wrappers.sh
Update.
[glibc.git] / linuxthreads / tst-cancel-wrappers.sh
CommitLineData
82f81a90 1#! /bin/sh
a73ab6df 2# Test whether all cancelable functions are cancelable.
bf293afe 3# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
82f81a90
UD
4# This file is part of the GNU C Library.
5# Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
6
7# The GNU C Library is free software; you can redistribute it and/or
8# modify it under the terms of the GNU Lesser General Public
9# License as published by the Free Software Foundation; either
10# version 2.1 of the License, or (at your option) any later version.
11
12# The GNU C Library is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15# Lesser General Public License for more details.
16
17# You should have received a copy of the GNU Lesser General Public
18# License along with the GNU C Library; if not, write to the Free
19# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20# 02111-1307 USA.
21
22while [ $# -gt 0 ]; do
a73ab6df 23 ( nm -P $1; echo 'end[end]:' ) | gawk ' BEGIN {
82f81a90
UD
24C["accept"]=1
25C["close"]=1
26C["connect"]=1
27C["creat"]=1
28C["fcntl"]=1
29C["fsync"]=1
82f81a90
UD
30C["msgrcv"]=1
31C["msgsnd"]=1
32C["msync"]=1
33C["nanosleep"]=1
34C["open"]=1
35C["open64"]=1
36C["pause"]=1
37C["poll"]=1
38C["pread"]=1
39C["pread64"]=1
40C["pselect"]=1
41C["pwrite"]=1
42C["pwrite64"]=1
43C["read"]=1
44C["readv"]=1
45C["recv"]=1
46C["recvfrom"]=1
47C["recvmsg"]=1
48C["select"]=1
49C["send"]=1
50C["sendmsg"]=1
51C["sendto"]=1
52C["sigpause"]=1
53C["sigsuspend"]=1
54C["sigwait"]=1
55C["sigwaitinfo"]=1
56C["system"]=1
57C["tcdrain"]=1
58C["wait"]=1
59C["waitid"]=1
60C["waitpid"]=1
61C["write"]=1
62C["writev"]=1
63C["__xpg_sigpause"]=1
64}
65/:$/ {
66 if (seen)
67 {
52f3d213 68 if (!seen_enable || !seen_disable)
82f81a90
UD
69 {
70 printf "in '$1'(%s) %s'\''s cancellation missing\n", object, seen
71 ret = 1
72 }
73 }
74 seen=""
75 seen_enable=""
76 seen_disable=""
77 object=gensub(/^.*\[(.*)\]:$/,"\\1","",$0)
78 next
79}
80{
81 if (C[$1] && $2 ~ /^[TW]$/)
82 seen=$1
574b892e 83 else if ($1 ~ /^([.]|)__(libc|pthread)_enable_asynccancel$/ && $2 == "U")
82f81a90 84 seen_enable=1
574b892e 85 else if ($1 ~ /^([.]|)__(libc|pthread)_disable_asynccancel$/ && $2 == "U")
82f81a90
UD
86 seen_disable=1
87}
88END {
89 exit ret
90}' || exit
91 shift
92done
This page took 0.071874 seconds and 5 git commands to generate.