Method 1: Compilation perf on Debian/ARM64 platform
# apt-get install flex bison libelf-dev libaudit-dev libdw-dev libunwind* \
python-dev binutils-dev libnuma-dev libgtk2.0-dev libbfd-dev libelf1 \
libperl-dev libnuma-dev libslang2 libslang2-dev libunwind8 libunwind8-dev \
binutils-multiarch-dev elfutils libiberty-dev libncurses5-dev
# git clone https://github.com/Linaro/OpenCSD
# cd OpenCSD/decoder/build/linux/
# make DEBUG=1 LINUX64=1 & make install
# cd $KERNEL_DIR
# make VF=1 -C tools/perf/
Method 2: Cross-Compilation perf for ARM64 on x86 PC 验证可以通过
# export CROSS_COMPILE=aarch64-linux-gnu-
# export ARCH=arm64
# git clone https://github.com/Linaro/OpenCSD my-opencsd
# cd OpenCSD/decoder/build/linux/
# make DEBUG=1 LINUX64=1
# export CSINCLUDES=my-opencsd/decoder/include/
# export CSLIBS=my-opencsd/decoder/lib/builddir
# export LD_LIBRARY_PATH=$CSLIBS
# cd $KERNEL_DIR
# make LDFLAGS=-static NO_LIBELF=1 NO_JVMTI=1 VF=1 -C tools/perf/
这里记录一下出错问题
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
编译出错

1、配置交叉工具链
export CROSS_COMPILE=arm-linux-gnueabihf-
2、配置架构
export ARCH=arm
3、克隆opencsd
git clone https://github.com/Linaro/OpenCSD my-opencsd
4、编译opencsd
cd my-opencsd/decoder/build/linux make DEBUG=1 LINUX64=1
5、设置CSINCLUDES、CSLIBS、LD_LIBRARY_PATH
export CSINCLUDES=/home/picohood/gitrepo/fpstu_tisdk/board-support/linux-4.4.x-mainline/tools/perf/my-opencsd/decoder/include export CSLIBS=/home/picohood/gitrepo/fpstu_tisdk/board-support/linux-4.4.x-mainline/tools/perf/my-opencsd/decoder/lib/builddir export LD_LIBRARY_PATH=$CSLIBS
6、编译perf
失败
cd /home/picohood/gitrepo/fpstu_tisdk/board-support/linux-4.4.x-mainline make LDFLAGS=-static NO_LIBELF=1 NO_JVMTI=1 VF=1 -C tools/perf/
试了好多方法,最后是只需要设置 NO_LIBELF=1 成功,前面编译opencsd应该也不需要
make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm NO_LIBELF=1
