mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-10 09:26:15 +00:00
45 lines
1.3 KiB
Bash
Executable File
45 lines
1.3 KiB
Bash
Executable File
#!/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 "
|
|
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
|
|
|