1ed7f9522SGordon Ross#!/usr/bin/ksh 2ed7f9522SGordon Ross# 3ed7f9522SGordon Ross# 4ed7f9522SGordon Ross# This file and its contents are supplied under the terms of the 5ed7f9522SGordon Ross# Common Development and Distribution License ("CDDL"), version 1.0. 6ed7f9522SGordon Ross# You may only use this file in accordance with the terms of version 7ed7f9522SGordon Ross# 1.0 of the CDDL. 8ed7f9522SGordon Ross# 9ed7f9522SGordon Ross# A full copy of the text of the CDDL should have accompanied this 10ed7f9522SGordon Ross# source. A copy of the CDDL is also available via the Internet at 11ed7f9522SGordon Ross# http://www.illumos.org/license/CDDL. 12ed7f9522SGordon Ross# 13ed7f9522SGordon Ross 14ed7f9522SGordon Ross# 15ed7f9522SGordon Ross# Copyright 2014 Garrett D'Amore <garrett@damore.org> 16861094cfSGordon Ross# Copyright 2026 Gordon W. Ross 17ed7f9522SGordon Ross# 18ed7f9522SGordon Ross 19861094cfSGordon Ross# First get $dir and $prog 20ed7f9522SGordon Rosscase $0 in 21ed7f9522SGordon Ross*/*) 22ed7f9522SGordon Ross dir=${0%/*} 23ed7f9522SGordon Ross prog=${0##*/} 24ed7f9522SGordon Ross ;; 25ed7f9522SGordon Ross*) 26ed7f9522SGordon Ross dir=. 27ed7f9522SGordon Ross prog=${0} 28ed7f9522SGordon Ross ;; 29ed7f9522SGordon Rossesac 30ed7f9522SGordon Ross 31ed7f9522SGordon Rossfor arg in $* 32ed7f9522SGordon 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 41ed7f9522SGordon Rossdone 42ed7f9522SGordon Ross 43861094cfSGordon Rossif [[ -d "$dir/../../cfg/c-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/c-symbols-env.cfg 52861094cfSGordon Rosssymcfg=$STF_SUITE/cfg/c-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 60ed7f9522SGordon Ross# Determine which ISA widths this system supports. 61ed7f9522SGordon Rossisa=$(/usr/bin/isainfo) 62ed7f9522SGordon Rosscase $isa in 63861094cfSGordon Rossamd64*) mlist="32 64" ;; 64861094cfSGordon Rosssparcv9*) mlist="32 64" ;; 65861094cfSGordon Rossaarch64*) mlist="64" ;; 66ed7f9522SGordon Ross*) 67ed7f9522SGordon Ross print "ERROR: Unknown ISA: $isa" >&2 68ed7f9522SGordon Ross exit 1 69ed7f9522SGordon Ross ;; 70ed7f9522SGordon Rossesac 71ed7f9522SGordon Ross 72861094cfSGordon Ross[[ -n $debug ]] && set -x 73861094cfSGordon Rossfor m in $mlist 74ed7f9522SGordon 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 78ed7f9522SGordon Rossdone 79ed7f9522SGordon Rossexit 0 80