#!/bin/sh

# Check if the passed in (CAPABILITY_WORD) matches a value found in the
# current hwcap aux vector.

# return '0' to indicate the capability was found.
# return '1' for not found, or any other error condition.

CAPABILITY_WORD=$1

# SANITY CHECK Begin:
# These are potential hwcap values as found in the glibc dl-procinfo.c
# sources as of July 2015.
P_HWCAP_1=" vsx arch_2_06 power6x dfp pa6t arch_2_05 ic_snoop smt booke"
P_HWCAP_2=" cellbe power5+ power5 power4 notb efpdouble efpsingle spe"
P_HWCAP_3=" ucache 4xxmac mmu fpu altivec ppc601 ppc64 ppc32 "
P_HWCAP2_1=" tar isel ebb dscr htm arch_2_07 arch_3_00 "
CAPABILITY_FOUND="no"
for POTENTIAL_CAP in $P_HWCAP_1 $P_HWCAP_2 $P_HWCAP_3 $P_HWCAP2_1 ; do
	if [ "x$CAPABILITY_WORD" = "x$POTENTIAL_CAP" ]; then
		CAPABILITY_FOUND="yes"
		break
	fi
done
if [ x$CAPABILITY_FOUND = "xno" ]; then
	echo "Warning: did not find $CAPABILITY_WORD in the potential capabilities list."
	echo "         LD_SHOW_AUXV=1 /bin/true | grep ^AT_HWCAP "
	echo "         Double-check that the input value [$CAPABILITY_WORD] is valid."
fi
# SANITY CHECK End

# Capability Check Begin:
LD_SHOW_AUXV=1 /bin/true | grep ^AT_HWCAP | grep -w $CAPABILITY_WORD 2>&1 > /dev/null
if [ "$?" -eq "0" ]; then
	#echo "found the capability"
	exit 0
elif [ "$?" -eq "2" ]; then
	# echo "grep failure"
	exit 1
else
	#echo "did not find the capability"
	exit 1
fi

