| #!/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 |
| |