1
3
显然,编译器将所有内容连接在同一节中(我简化了
从这里,我看不出您以后打算如何检索各个程序以正确加载它们。通常,用户空间工具从一个节中获取一个程序,并尝试通过将指令通过
您希望所有程序在节中使用相同的名称,有什么特别的原因吗? 我不知道LLVM对这种事情的警告。我想不是:人们可能有理由在一个部分中放不同的东西。这里的例子是针对BPF的,我认为人们通常不会试图将几个程序放在同一个部分中。但这只是猜测,我可能错了。 关于您的更新:
我不认为在不同的对象文件中使用类似的节名称是一个问题。只要您的用户空间工具能够从对象文件中检索程序并执行重新定位,它就应该可以正常工作。内核无论如何看不到任何节名。从
(来自
需要补充说明的是:我不知道您的用例到底是什么,但由于您正试图在不同的对象文件中编译代码并使用调用,您可能有兴趣了解eBPF现在支持函数调用,即您可以定义几个(非内联)函数,可能在几个ELF文件中,并在程序中调用它们。更多信息 in the cover letter . 再一次,到目前为止,我还没有时间进行实验。 |
Fnr · Linux内核配置官方文档 6 年前 |
akmal · 当'ls*时,内部会发生什么。是否执行了“c”? 6 年前 |
Jared · 强制copy\u to\u user()失败 6 年前 |
bornfree · 了解Linux内核中每个条目的hlist_bl_ 6 年前 |
Sector · 将参数传递给自己的execv内核实现 6 年前 |
nickeys · 如何估计自旋锁打孔/等待时间? 6 年前 |