在Ubuntu x64 PC上使用ARM交叉编译器对POCL进行交叉编译

时间:2020-04-08 06:58:34

标签: arm cross-compiling pocl

我想在Ubuntu x64 PC上使用ARM交叉编译器对pocl进行交叉编译。

  • 编译pocl1.4并使用可在Ubuntu x64 PC上运行的ARM交叉编译器生成pocl1.4的ARM可执行文件

  • 离线编译kernel.cl并使用可在Ubuntu x64 PC上运行的poclcc生成它的ARM可执行文件

我尝试了以下操作:

1. download llvm9, make and install to Ubuntu
 $cmake -G "Unix Makefiles" ../llvm-9.0.0.src -DCMAKE_INSTALL_PREFIX=/home/llvm -DCMAKE_BUILD_TYPE=Release
 $make -j12
 $sudo make install

2. download pocl1.4, make and install to Ubuntu
 $cmake  -DLLC_TRIPLE=aarch64-linux-gnu -DLLC_HOST_CPU=cortex-a53 -DWITH_LLVM_CONFIG=/home/llvm_ubuntu/bin/llvm-config ..
 $make
 $sudo make install

但是我出错了。

/usr/bin/ld: unrecognised emulation mode: aarch64linux
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
error: linker command failed with exit code 1 (use -v to see invocation)

有人有解决的办法吗?

1 个答案:

答案 0 :(得分:0)

从pocl文档中复制:

现在可以在x86-64上交叉编译pocl以在ARM / MIPS / etc上运行,但只能编译无LLVM的版本。有一个ToolchainExample.cmake文件。用其他名称复制它,然后按照文件中的说明进行操作。

ToolchainExample.cmake具有您需要了解的几乎所有内容。

相关问题