12345678910111213141516171819202122232425262728293031 |
- #!/bin/sh
- CWD=$(pwd)
- real_path=$(readlink -f "$0")
- CURDIR=$(cd $(dirname $real_path); pwd)
- SMARTDNS_BIN=${CURDIR}/smartdns
- NEED_CHECK_ARM_CP15=0
- INTERPRETER="${CURDIR}/lib/ld-linux.so"
- if [ "$NEED_CHECK_ARM_CP15" = "1" ] && [ "$(uname -m)" = "aarch64" ]; then
- # Fix arm cp15_barrier issue when running on aarch64 with 32bit userland
- # sysctl abi.cp15_barrier=2
- cp15_barrier=$(cat /proc/sys/abi/cp15_barrier 2>/dev/null)
- if [ "$cp15_barrier" != "2" ]; then
- sh -c "echo "2" > /proc/sys/abi/cp15_barrier" 2>/dev/null;
- if [ "$?" != "0" ]; then
- echo "Failed to set cp15_barrier to 2, please run 'echo 2 > /proc/sys/abi/cp15_barrier' manually"
- exit 1
- else
- echo "Set cp15_barrier to 2"
- fi
- fi
- fi
- if [ ! -f ${INTERPRETER} ]; then
- echo "smartdns dynamic loader not found: ${INTERPRETER}"
- exit 1
- fi
- cd $CURDIR
- SMARTDNS_WORKDIR="$CWD" exec "${SMARTDNS_BIN}" $@
|