llvm测试套件在x86交叉编译arm
时间: 2024-04-08 08:11:48 浏览: 17
1. 安装llvm-toolchain-7和clang-7
在x86机器上安装llvm-toolchain-7和clang-7:
```
sudo apt-get install llvm-toolchain-7 clang-7
```
2. 下载llvm测试套件
下载llvm测试套件:
```
svn co http://llvm.org/svn/llvm-project/test-suite/trunk llvm-test-suite
```
3. 配置交叉编译环境
为了交叉编译arm,需要配置交叉编译环境。假设arm交叉编译器的路径为`/usr/bin/arm-linux-gnueabihf-`,则可以设置以下环境变量:
```
export CC=clang-7
export CXX=clang++-7
export PATH=/usr/bin:$PATH
export LLVM_CONFIG=/usr/bin/llvm-config-7
export AR=/usr/bin/arm-linux-gnueabihf-ar
export AS=/usr/bin/arm-linux-gnueabihf-as
export LD=/usr/bin/arm-linux-gnueabihf-ld
export NM=/usr/bin/arm-linux-gnueabihf-nm
export OBJCOPY=/usr/bin/arm-linux-gnueabihf-objcopy
export OBJDUMP=/usr/bin/arm-linux-gnueabihf-objdump
export RANLIB=/usr/bin/arm-linux-gnueabihf-ranlib
export READELF=/usr/bin/arm-linux-gnueabihf-readelf
export STRIP=/usr/bin/arm-linux-gnueabihf-strip
```
4. 编译llvm测试套件
进入llvm-test-suite目录,运行以下命令编译测试套件:
```
make LLVM_SRC_ROOT=/usr/lib/llvm-7 LLVM_BIN_ROOT=/usr/bin/ TARGETS=ARM
```
其中,`LLVM_SRC_ROOT`和`LLVM_BIN_ROOT`分别指向llvm和clang的安装路径,`TARGETS`指定编译的目标平台为ARM。
5. 运行测试
编译完成后,在`llvm-test-suite/SingleSource`目录下可以找到编译好的测试程序。将测试程序拷贝到arm平台上运行,并比较结果。
注意:在arm平台上运行测试程序时,需要将测试程序的可执行权限设置为可执行。可以使用`chmod +x <program>`命令进行设置。