110724642SGordon Ross#!/usr/bin/ksh 210724642SGordon Ross# 310724642SGordon Ross# 410724642SGordon Ross# This file and its contents are supplied under the terms of the 510724642SGordon Ross# Common Development and Distribution License ("CDDL"), version 1.0. 610724642SGordon Ross# You may only use this file in accordance with the terms of version 710724642SGordon Ross# 1.0 of the CDDL. 810724642SGordon Ross# 910724642SGordon Ross# A full copy of the text of the CDDL should have accompanied this 1010724642SGordon Ross# source. A copy of the CDDL is also available via the Internet at 1110724642SGordon Ross# http://www.illumos.org/license/CDDL. 1210724642SGordon Ross# 1310724642SGordon Ross 1410724642SGordon Ross# 1510724642SGordon Ross# Copyright 2014 Garrett D'Amore <garrett@damore.org> 1610724642SGordon Ross# Copyright 2026 Gordon W. Ross 1710724642SGordon Ross# 1810724642SGordon Ross 19861094cfSGordon Ross# First get $dir and $prog 2010724642SGordon Rosscase $0 in 2110724642SGordon Ross*/*) 2210724642SGordon Ross dir=${0%/*} 2310724642SGordon Ross prog=${0##*/} 2410724642SGordon Ross ;; 2510724642SGordon Ross*) 2610724642SGordon Ross dir=. 2710724642SGordon Ross prog=${0} 2810724642SGordon Ross ;; 2910724642SGordon Rossesac 3010724642SGordon Ross 3110724642SGordon Rossfor arg in $* 3210724642SGordon Rossdo 33*f9db9ff7SGordon Ross case $arg in 34*f9db9ff7SGordon Ross -d|-D) 35*f9db9ff7SGordon Ross debug="$debug $arg" 36*f9db9ff7SGordon Ross ;; 37*f9db9ff7SGordon Ross -f) 38*f9db9ff7SGordon Ross force="-f" 39*f9db9ff7SGordon Ross ;; 40*f9db9ff7SGordon Ross esac 4110724642SGordon Rossdone 4210724642SGordon Ross 43861094cfSGordon Rossif [[ -d "$dir/../../cfg/cxx-symbols" ]] ; then 44861094cfSGordon Ross STF_SUITE="$dir/../.." 45861094cfSGordon Rosselse 46861094cfSGordon Ross STF_SUITE=/opt/header-tests 47861094cfSGordon Rossfi 48861094cfSGordon Rossexport STF_SUITE 49861094cfSGordon Ross 50861094cfSGordon Rossdriver=$STF_SUITE/tests/common/symbol_test 51861094cfSGordon Rossenvcfg=$STF_SUITE/cfg/cxx-symbols-env.cfg 52861094cfSGordon Rosssymcfg=$STF_SUITE/cfg/cxx-symbols/${prog}.cfg 53861094cfSGordon Ross 54861094cfSGordon Ross# Special handling for "setup". Just run ... -C 55861094cfSGordon Rossif [[ $prog == setup ]]; then 56861094cfSGordon Ross envcfg="-C" 57861094cfSGordon Ross symcfg= 58861094cfSGordon Rossfi 59861094cfSGordon Ross 6010724642SGordon Ross# Determine which ISA widths this system supports. 6110724642SGordon Rossisa=$(/usr/bin/isainfo) 6210724642SGordon Rosscase $isa in 63861094cfSGordon Rossamd64*) mlist="32 64" ;; 64861094cfSGordon Rosssparcv9*) mlist="32 64" ;; 65861094cfSGordon Rossaarch64*) mlist="64" ;; 6610724642SGordon Ross*) 6710724642SGordon Ross print "ERROR: Unknown ISA: $isa" >&2 6810724642SGordon Ross exit 1 6910724642SGordon Ross ;; 7010724642SGordon Rossesac 7110724642SGordon Ross 72861094cfSGordon Ross[[ -n $debug ]] && set -x 73861094cfSGordon Rossfor m in $mlist 7410724642SGordon Rossdo 75*f9db9ff7SGordon Ross $driver $debug $force --lang c++ -m${m} $envcfg $symcfg 76*f9db9ff7SGordon Ross rc=$? 77*f9db9ff7SGordon Ross [[ -n "$force" ]] || [[ $rc == 0 ]] || exit $rc 7810724642SGordon Rossdone 7910724642SGordon Rossexit 0 80