LLVM 为 Debuginfod 添加了一个 HTTP 服务器


与 GNU Binutils 2.34 添加可选的 HTTP 服务器类似,LLVM 15 正在为 debuginfod 添加一个基本的 Web 服务器。开发团队在过去的一周里合并了一个用于 LLVM 的最小 HTTP 服务器;围绕 cpp-httplib,一个 C++ header-only HTTP/HTTPS 服务器和客户端库。

根据介绍,在上述两种情况下,此 HTTP 服务器仅用于向客户端分发 ELF/DWARF 调试信息和源代码。开发人员客户端可以查询 Web 服务器以获取在给定系统上本地未找到的调试文件。

Debuginfod 是一个 HTTP 文件服务器,可将调试资源提供给类似调试器的工具。服务器定期扫描目录树和 RPM 存档,以提取找到的任何可执行文件和 debuginfo 文件的构建 ID。它包含一个 SQLite 数据库,该数据库将构建 ID 索引到文件名或(包、内容)元组。

GNU Debugger (GDB) 增加了 debuginfod 的集成,以及其他拥抱它的开源开发者工具。Arch Linux、Fedora  Debian 都是拥抱 debuginfod 的发行版。

预计从 LLVM 15 开始,将有一个 LLVM debuginfod 服务器可用。


相關推薦

2022-09-14

计划下月发布的 Ubuntu 22.10 将添加一项重要变化:集成 Debuginfod。 Debuginfod 支持通过 Binutils 的 readelf 和 objdump 工具或 GNU 调试器 (GDB) 本身自动查询远程 HTTP 服务器,以获取调试资源。debuginfod 服务器能够根据需要向客户端

2022-08-01

据 bug 修复和其他因素而改变。 LLVM 15 主要变化: 为 Debuginfod 添加 HTTP 服务器 完成初始的 SPIR-V 后端代码 索尼开始向上游贡献 PlayStation 5 编译器 target 完成初始 DirectX/HLSL target 代码 完成初始 LoongArch CPU 架构代码

2022-09-22

irectX 支持, RISC-V 更新, 更多 OpenMP 5.1 功能, 用于 debuginfod 的 HTTP 服务器, 初始 SPIR-V 返回-end 集成、 AMDGPU GFX11 工作 许多随机修复, clang 格式、测试问题和其他更改。 其他各种新编译器功能。  LLVM 15.0.1 有

2023-04-16

必要的更改是 PCRE2 成为 Regex ( #12978 ) 的默认引擎。 1.7 中添加了对 PCRE2 的支持,并在 1.7.3 中稳定下来。我们认为默认使用它是安全的。仍然可以回退到 PCRE,如果 PCRE2 在编译时不可用则自动回退,或者通过编译器标志 -Duse_pcre

2022-03-11

neration targets:DirectX 中间语言 (DXIL) 和 SPIR-V;将来可能会添加对 DirectX 9 到 DirectX 11 使用的 DirectX Bytecode (DXBC) 的支持。 “LLVM 社区中已经有很多关于 SPIR-V 的讨论。SPIR-V 是用于 GPU 编程的虚拟 ISA。由于编写 HLSL 的开发人员广泛

2022-03-14

neration targets:DirectX 中间语言 (DXIL) 和 SPIR-V;将来可能会添加对 DirectX 9 到 DirectX 11 使用的 DirectX Bytecode (DXBC) 的支持。 “LLVM 社区中已经有很多关于 SPIR-V 的讨论。SPIR-V 是用于 GPU 编程的虚拟 ISA。由于编写 HLSL 的开发人员广泛

2023-03-20

LLVM 16 已正式发布。LLVM 16.0 中添加了许多令人兴奋的功能,包括更快的 LLD 链接、Zstd 压缩的调试部分、稳定其 LoongArch 支持、默认为 Clang 的 C++17 等等。 下面是 LLVM 16 的主要变化: Clang 的默认 C++ 标准现在是 GNU++17,而不是 G

2022-03-30

3月上旬我们报道了向上游 LLVM/Clang 编译器添加 DirectX + HLSL 支持 。而从本周开始,微软图形处理工作的早期代码开始登陆 LLVM 15.0。 微软的开源 DirectX 着色器编译器“DXC”基于旧的 LLVM/Clang 3.7 分支,现在正致力于开发一种现代 D

2023-04-07

宽度来避免 MSVC AVX 对齐错误 [clang-repl] 向底层执行引擎添加一个访问器 [AArch64] 为每个可变参数使用正确的调用约定 [SelectionDAG] 常量折叠时不要创建非法类型的节点 [AArch64] 在注册符号之前允许.variant_pcs [VectorCombine] 在跨

2022-11-18

HP 8.1 Ruby 3​​.1 Node.js 18 更新模块流: Apache HTTP 服务器升级到 2.4.53 版本。 性能工具和调试器更新: Valgrind 3.19 SystemTap 4.7 Dyninst 12.1.0 elfutils 0.187 更新性能监控工具: PCP 5.3.7 Grafana 7.5.13 编译器更新

2023-07-04

时间,本周 LLVM 也提供了初步支持,其实现与 GCC 类似。添加初步 Fat LTO 支持的 commit 解释道: “Fat LTO 对象包含 LTO 兼容的 IR 以及生成的目标代码。该特性为开发者提供推迟是否使用 LTO 的 link-time。GCC 已提供此特性。”

2023-09-13

可以从任何支持运行 Wasm 的架构运行 它将允许创建 http 服务器(或 TCP/UDP 服务器)以在 Edge 甚至浏览器中运行 Zig 或 C 文件 第一个在 Zig 生态系统中添加对 Wasm/WASIX 支持的开发人员将获得 5000 美元的奖金。只要满足以下条件

2023-10-23

存泄漏问题。修复了stream模块中的崩溃问题。修改了http服务器的address()方法在Unix Socket的返回值。以及修复了一些Worker Threads、Buffer、DNS模块的Bug。 除此之外,还修复了Bun运行时本身的一些问题。例如Docker容器中错误抛出端口

2022-09-09

le 的 DriverKit 已经在上游 LLVM 中进行了更改(D121911 [Clang] 添加 DriverKit 支持 ),默认使用 GNU++17 而不是 GNU++14。 目前相关的补丁已经发布,没有突发状况,默认标准转为 GNU++ 17 应该是板上钉钉的事情。 切换默认版本之后,对