linuxperfarm,perfarm交叉编译
前⾔
perf⼯具源码位于linux内核⽬录的tools下
perf⼯具的编译需要依赖于内核
perf⼯具必须使⽤编译linux内核源码的同⼀个编译器编译
步骤
编译zlib
⽹上查到资料说需要编译zlib,我编译的时候貌似不⽤也⾏,可以尝试先不⽤zlib
下载地址:zlib
配置:
CC=arm-linux-gnueabihf-gcc ./configure –prefix={你的gcc⽬录}arm-linux-gnueabihf/libc/usr/
编译: make && make install
编译elfutils
我的gcc版本:gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux
下载elfutils-0.159 elfutils(我⽤最新的没问题)
配置:
./configure --host=arm-linux-gnueabihf --prefix=/home/tofu/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-
20121123_linux/arm-linux-gnueabihf/libc/usr/
(注意:host参数的gnueabihf后⾯没有“-”,错写了要悲剧)
2020年高考作文题目>刘銮雄 甘比修改Makefile: 删除elfutils根⽬录下Makefile⾥⾯的libcup (没让你删除cpu⽂件夹啊)
修改backends/Makefile: 删除backends/Makefile中的libebl_i386.so和libebl_x86_64.so
编译: make&&make install
空调制热
编译binutils
新红楼梦剧照在GNU官⽅⽹站下载binutils源码,考虑到与编译器版本匹配,我下载了binutils-2.23.2
GNU官⽅推荐在⼀个单独的⽂件夹进⾏编译。在源码⽂件夹的同级⽬录建⽴编译⽂件夹 mkdir ../binutils-build
进⼊binutils-build⽂件夹,执⾏命令
../binutils-2.23.2/configure –target=arm-linux-gnueabihf –host=arm-linux-gnueabihf –prefix=/tmp/binutils
make&&make install 即可
编译perf文理科选择
修改perf根⽬录下的Makefile: 在前⾯增加
EXTLIBS += -lpthread -lrt -lelf -lm -lebl -ldl -L/home/tofu/dji/linux-sofpga-next-preempt/tools/elfutils/lib秋雨叹三首
修改config/Makefile⽂件,注释掉以下⼏⾏,本来已经加⼊了elfutils,但是这⾥⾃动检测总是检测不到,
直接注释了。
ifneq ((calltry−cc,(SOURCE_DWARF),(FLAGSDWARF),libdw),y)msg:=(warning No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev);