llc在生成BPF ELF文件时将“长”字符串放入单独的.rodata.str.16节中

时间:2019-05-03 19:53:16

标签: llvm elf bpf ebpf llc

我正在使用clang将C代码编译为LLVM,然后使用llc生成要用gobpf加载的BPF ELF文件。

当我的C代码包含一个“长”字符串(“ /var/run/containerd/containerd.sock”)时,llc将字符串放入其自己的ELF部分(.rodata.str1.16),gobpf似乎没有支持:

map location not supported: map ".Lbpf_prog1.socket" is in section ".rodata.str1.16" instead of "maps/.Lbpf_prog1.socket"

使用较短的字符串(“ /var/run/docker.sock”)不会发生这种情况。有没有一种方法可以使用llc来生成ELF文件而无需创建单独的.rodata.str1.16部分?

uname -a:Linux ubuntu-bionic 4.18.0-17-generic#18〜18.04.1-Ubuntu SMP Fri Mar 15 15:27:12 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux

0 个答案:

没有答案