将LMbench移植到Android上

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

1.下载LMbench源码

传送门:

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

$vim scripts/os

#!/bin/sh 
 
if [ "X$OS" != "X" ] && echo "$OS" | grep -q '`' 
then 
  OS= 
fi 
 
if [ "X$OS" = "X" ] 
then    OS=bloat-os 
  MACHINE=`uname -m | sed -e 's/ //g' | sed -e 's?/?-?g'` 
  SYSTEM=`uname -s | sed -e 's/ //g' | sed -e 's?/?-?g'` 
  OS="${MACHINE}-${SYSTEM}" 
  if [ -f ../scripts/gnu-os ] 
  then    OS=`../scripts/gnu-os | sed s/unknown-//` 
  fi   
  if [ -f ../../scripts/gnu-os ] 
  then    OS=`../../scripts/gnu-os | sed s/unknown-//` 
  fi   
fi 
#add arm-linux 
OS=arm-linux 
echo $OS   

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

$vim scripts/compiler

#!/bin/sh 
 
if [ "X$CC" != "X" ] && echo "$CC" | grep -q '`' 
then 
  CC= 
fi 
 
if [ X$CC = X ] 
then    CC=cc 
  for p in `echo $PATH | sed 's/:/ /g'` 
  do  if [ -f $p/gcc ] 
      then    CC=gcc 
      fi 
  done 
fi 
#add arm-linux-gcc                                                                                                                               
CC=arm-linux-gcc 
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设备上执行。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1b34ab80ac15ed3575a90e8ede3add92.html