1 #!/usr/bin/ksh
2 #
3 #
4 # This file and its contents are supplied under the terms of the
5 # Common Development and Distribution License ("CDDL"), version 1.0.
6 # You may only use this file in accordance with the terms of version
7 # 1.0 of the CDDL.
8 #
9 # A full copy of the text of the CDDL should have accompanied this
10 # source. A copy of the CDDL is also available via the Internet at
11 # http://www.illumos.org/license/CDDL.
12 #
13
14 #
15 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
16 #
17
18 export STF_SUITE=/opt/libc-tests
19
20 # First we set $dir to dirname $0, using efficient ksh builtins.
21 case $0 in
22 */*)
23 dir=${0%/*}
24 prog=${0##*/}
25 ;;
26 *)
27 dir=.
28 prog=${0}
29 ;;
30 esac
31
32 cfg=symbols/${prog%.ksh}.cfg
33
34 if [[ ! -f ${cfg} && $cfg == symbols/setup.cfg ]]
35 then
36 # compiler check only
37 cfg=-C
38 fi
39
40 prog=symbols_test
41
42 for a in $*
43 do
44 if [[ $a == "-d" ]]
45 then
46 debug=yes
47 fi
48 done
49
50 # We look for architecture specific versions of the program,
51 # searching in several candidate directories. We run each one as
52 # we find it.
53 for f in $(/usr/bin/isainfo)
54 do
55 found=
56 [[ -n $debug ]] && print "Checking for arch $f:"
57 for p in \
58 ${dir}/${prog}.${f} \
59 ${dir}/${f}/${prog}.${f} \
60 ${dir}/${f}/${prog}
61 do
62 [[ -n $found ]] && continue
63 [[ -n $debug ]] && print -n " $p"
64 if [[ -f $p ]]; then
65 [[ -n $debug ]] && print " FOUND"
66 [[ -n $debug ]] && print "Executing $p $* ${cfg}"
67 found=yes
68 $p $* ${cfg} || exit 1
69 else
70 [[ -n $debug ]] && print
71 fi
72 done
73 [[ -z $found ]] && [[ -n $debug ]] && print "NOT PRESENT"
74 done
75 exit 0