当前位置: 首页 > news >正文

详细介绍:Next steps for BPF support in the GNU toolchain

详细介绍:Next steps for BPF support in the GNU toolchain

Support for BPF in the kernel has been tied to the LLVM toolchain since the advent of extended BPF. There has been a growing effort to add BPF support to the GNU toolchain as well, though. At the 2025 GNU Tools Cauldron, the developers involved got together with representatives of the kernel community to talk about the state of that work and what needs to happen next.

自从扩展 BPF 出现以来,内核对 BPF 的支持一直与 LLVM 器具链绑定。不过,近年来也有越来越多的努力在为 GNU 工具链添加 BPF 支撑。在 2025 年的 GNU Tools Cauldron 大会上,相关开发者与内核社区的代表聚在一起,讨论了这项工作的当前进展以及下一步需要完成的事项。


Integrating BTF and CTF

The BPF type format (BTF) represents the types of kernel data structures and functions; it is used to enable BPF programs to run on multiple kernels, and by the verifier to ensure program correctness, among other uses. It is derived from the Compact C Type Format (CTF), which is a more general-purpose format that makes debugging information available for compiled programs. Nick Alcock gave a high-speed presentation of his work to reunify those two formats.

BPF 类型格式(BTF)用于表示内核数据结构和函数的类型;它的用途包括让 BPF 代码能够在多个内核上运行,并为验证器提供类型信息以确保程序的正确性。BTF 派生自更通用的紧凑 C 类型格式(CTF),后者首要用于为已编译程序给予调试信息。Nick Alcock 在会上进行了一个节奏很快的报告,介绍了他正在进行的将这两种格式重新统一的工作。


The libctf library, which works with CTF, is now able to both produce and consume BTF, he began. It can also work with an under-development "CTFv4" format that adds support for some of the trickier cases. This work is being tied into the kernel build, which would allow the creation of BTF directly when building the kernel, rather than as a separate step using the pahole utility as is done now.

他介绍说,用于处理 CTF 的 libctf 库现在已经能够生成和读取 BTF 数据。它还可以与正在开发中的 “CTFv4” 格式协同工作,该格式为一些较复杂的情况增加了承受。这项工作正在与内核构建过程集成,从而可以在构建内核时直接生成 BTF,而不再需要像现在那样在编译后使用 pahole 工具作为独立步骤来生成。


There are a couple of enhancements that are needed before BTF can completely replace CTF beyond the kernel, though. A string header field is needed to be able to separate the BTF from each translation unit when the results are all combined. Some sort of agreement on a format for referring to structure members in archives (holding BTF data for multiple translation units) is required for compaction purposes. To be able to use this format in user space, there has to be a representation for floating-point data — a feature the kernel has never needed. With those in place, the extra capabilities provided by CTF would only be needed to represent huge structures (rather larger than would ever make sense in the kernel) and conflicting types with the same name. Then, GCC could create BTF for both kernel and user space, with the toolchain performing

http://www.fuzeviewer.com/news/48155/

相关文章:

  • 丽水专业网站建设公司邢台网站建设地方
  • 低价网站建设哪家更好客户为什么要做网站
  • 2025出国留学机构有哪些
  • 建设集团招工信息网站做网站的空间需要买吗
  • 徐州网站制作哪家好网站外包方案
  • 3d演示中国空间站建造历程深圳安居房轮候查询
  • 中小企业网站建设效果dw制作网页入门
  • wordpress站内搜索统计用网站做平台
  • 事倍功半是蠢蛋62 docker 语句儿生产力
  • 网站代码规范建网站资料
  • 怎么在国外建网站建设公司营销网站
  • 招聘网站开发的要求施工企业安全生产管理规范
  • 优化网站建设人员组成株洲做网站
  • 灌云网站制作北京到邢台
  • 网站建设培训课程广州注册公司程序
  • 网站开发 外包 哪家兰州网站建设hiteeth
  • 南宁手机网站建设公司微信官网登录
  • 门户网站 用什么语言网站制作公司拟
  • 生物类培养基网站建设 中企动力上海建设门户网站
  • 2025年山西口碑好的纪念馆展示柜厂家十大排名权威推荐
  • 哪个网站可以做结婚证工图网
  • 卓企做的网站怎么样网站运维主要做些什么工作
  • 青岛网站集约化管理平台wordpress英文站更新通知目录
  • 延安市建设局网站公司单页设计
  • 做网站如何分工xampp配置多网站
  • 网站系统建设管理制度网址查询服务中心
  • 怎样为网站做外链做响应式网站设计图是多大的
  • 河北沙河市规划局或建设局网站济南百姓网免费发布信息网
  • 中国高清adidas网站企业建一个网站
  • linux ajax