将LMbench移植到Android上

LMbench是个可移植的,用于评价系统综合性能的多平台开源benchmark,能够测试包括文档读写、内存操作、进程创建销毁开销、网络等性能。通过以下步骤操作,即可将LMbench移植到Android上。

1.下载LMbench源码

传送门:http://www.bitmover.com/lmbench/get_lmbench.html

2.编辑scripts/os 添加 OS=arm-linux

$vim scripts/os

 
  1. #!/bin/sh

  2.  
  3. if [ "X$OS" != "X" ] && echo "$OS" | grep -q '`'

  4. then

  5. OS=

  6. fi

  7.  
  8. if [ "X$OS" = "X" ]

  9. then OS=bloat-os

  10. MACHINE=`uname -m | sed -e 's/ //g' | sed -e 's?/?-?g'`

  11. SYSTEM=`uname -s | sed -e 's/ //g' | sed -e 's?/?-?g'`

  12. OS="${MACHINE}-${SYSTEM}"

  13. if [ -f ../scripts/gnu-os ]

  14. then OS=`../scripts/gnu-os | sed s/unknown-//`

  15. fi

  16. if [ -f ../../scripts/gnu-os ]

  17. then OS=`../../scripts/gnu-os | sed s/unknown-//`

  18. fi

  19. fi

  20. #add arm-linux

  21. OS=arm-linux

  22. echo $OS


 

3.编辑scripts/compiler 添加 CC=arm-linux-gcc

$vim scripts/compiler 

 
  1. #!/bin/sh

  2.  
  3. if [ "X$CC" != "X" ] && echo "$CC" | grep -q '`'

  4. then

  5. CC=

  6. fi

  7.  
  8. if [ X$CC = X ]

  9. then CC=cc

  10. for p in `echo $PATH | sed 's/:/ /g'`

  11. do if [ -f $p/gcc ]

  12. then CC=gcc

  13. fi

  14. done

  15. fi

  16. #add arm-linux-gcc

  17. CC=arm-linux-gcc

  18. echo $CC


 

4.编辑src/Makefile 指定linker

62行,增加 -Wall -Wl,--dynamic-linker=/system/bin/linker

COMPILE=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)  -Wall -Wl,--dynamic-linker=/system/bin/linker


 

5.编辑src/Makefile 解决无bk.ver问题

用arm-linux-gcc编译,遇到错误

make[2]: *** No rule to make target `../SCCS/s.ChangeSet', needed by 

`bk.ver'.  Stop.

解决办法:

$vim src/Makefile

231 $O/lmbench : ../scripts/lmbench  bk.ver

删除 bk.ver ,再次make , 顺利编译完成后,在bin/arm-linux/下 生成所有工具二进制,并且可以在Android设备上执行。

猜你喜欢

转载自blog.csdn.net/weixin_42600182/article/details/81275089