0

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

  • 使用在 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)

有没有人有一些想法来解决它?

4

1 回答 1

0

从 pocl 文档中复制:

现在可以在 x86-64 上交叉编译 pocl 以在 ARM/MIPS/etc 上运行,但仅限于 LLVM-less 构建。有一个 ToolchainExample.cmake 文件;以不同的名称复制它,然后按照文件中的说明进行操作。

ToolchainExample.cmake 包含您需要知道的几乎所有内容。

于 2020-08-05T14:55:47.347 回答