交叉编译linux内核的perf工具


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 

  

  

 

  

  

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM