实现了使用 LLVM 工具包构建 Glibc 的能力

Collabora 的工程师发布了一份项目实施报告,以确保使用 LLVM 工具包(Clang、LLD、compiler-rt)而不是 GCC 来组装 GNU C Library(glibc)系统库。 直到最近,Glibc 仍然是支持仅使用 GCC 构建的发行版的重要组成部分之一。

使用 LLVM 使 Glibc 适应汇编的困难是由 GCC 和 Clang 在处理某些构造时的行为差异造成的(例如,带有 $ 符号的表达式、嵌套函数、asm 块中的标签、long double 和 float128 类型),以及需要在编译器-rt 上用 libgcc 替换运行时。

为了确保使用LLVM组装Glibc,为Gentoo环境准备了约150个补丁,为基于ChromiumOS的环境准备了160个补丁。 以目前的形式,ChromiumOS 中的构建已经成功通过测试套件,但默认情况下尚未启用。 下一步将把准备好的改动转移到Glibc和LLVM的主体结构上,继续测试并纠正出现的非典型问题。 一些补丁已经被 Glibc 2.37 分支接受。

来源: opennet.ru

添加评论