Die Möglichkeit, Glibc mit dem LLVM-Toolkit zu erstellen, wurde implementiert

Ingenieure von Collabora haben einen Bericht über die Implementierung eines Projekts veröffentlicht, um die Zusammenstellung der Systembibliothek GNU C Library (glibc) mithilfe des LLVM-Toolkits (Clang, LLD, Compiler-RT) anstelle von GCC sicherzustellen. Bis vor Kurzem war Glibc einer der wesentlichen Bestandteile von Distributionen, die die Erstellung nur mit GCC unterstützten.

Die Schwierigkeiten bei der Anpassung von Glibc für die Assemblierung mithilfe von LLVM werden durch Unterschiede im Verhalten von GCC und Clang bei der Verarbeitung bestimmter Konstrukte (z. B. Ausdrücke mit dem $-Symbol, verschachtelte Funktionen, Beschriftungen in ASM-Blöcken, Long-Double- und Float128-Typen) verursacht. und die Notwendigkeit, Runtime durch libgcc auf Compiler-RT zu ersetzen.

Um die Assemblierung von Glibc mithilfe von LLVM sicherzustellen, wurden etwa 150 Patches für die Gentoo-Umgebung und 160 für die ChromiumOS-basierte Umgebung vorbereitet. In seiner aktuellen Form besteht der Build in ChromiumOS die Testsuite bereits erfolgreich, ist jedoch noch nicht standardmäßig aktiviert. Der nächste Schritt besteht darin, die vorbereiteten Änderungen auf die Hauptstruktur von Glibc und LLVM zu übertragen, die Tests fortzusetzen und atypische Probleme zu beheben, die auftauchen. Einige der Patches wurden bereits in den Glibc 2.37-Zweig übernommen.

Source: opennet.ru

Kommentar hinzufügen