OpenBSD benutzt jetzt Clang. (amd64, i386)

C

CrimsonKing

Guest
Quelle: MARC.info

Warum, steht da aber leider nicht. Privat mag ich Clang eigentlich recht gerne, aber inwiefern OpenBSD davon technisch profitiert, muss wohl noch ermittelt werden. Oder weiß da jemand was Genaueres?
 
Ja das ist ein Lizenzproblem. OpenBSD nutzt noch GCC in der Version 4.2.1 in der base-Installtion. GCC ist auch weiterhin in base. Wie lange noch, weiß ich leider nicht. Wer einen neueren GCC nutzen möchte, kann sich den aber weiterhin aus ports / packages installieren. Durch den Umstieg auf CLANG sind leider einige Hardware-Plattformen rausgefallen, welche nun nicht mehr durch OpenBSD supportet werden. Über kurz oder lang werden viel Abhängigkeiten in den ports aber nicht mehr von aktuellem GCC, sondern von CLANG abhängen, was ich persönlich gut finde.
 
Da gibt's mehrere Vorteile auf Seiten LLVM. Es gibt eine Reihe von Security und Diagnose Feature die man nutzen kann, die Lizenz und die bessere BSD-Unterstützung mit lldb, lld. Dazu ist der Bau wesentlich schneller und wird von vielen Ports zwingend benötigt.
 
Ja, sind Lizenzgründe und auch wenn man sich kleinere Compiler angesehen hat, die teilweise den Vorteil hätten, dass sie schneller kompilieren, kommen sie eben auch mit einer Reihe von Nachteilen, die man sich von allzu minimalen und nicht weit verbreiteten Projekten erwarten kann. Also, dass zum Beispiel Sachen nicht kompilieren, dass es Bugs gibt und eben Performance und Sicherheit bietende Features nicht hat. Auch größerer Architektursupport ist womöglich dann nicht gegeben.

Generell steht man ja mit LLVM recht gut da, wenn man sich anschaut, dass man den ja zumindest für anderen Code (Rust, switft, kotlin, ...) brauchen kann und es interessante Researchprojekte (SAFECode) gibt. Da schätze ich durchaus, dass die BSDs da auch Vorteile aus Synergien schlagen können. LLVM und FreeBSD scheinen ja als Projekte sehr gut zusammen zu arbeiten.

Und nachdem ja mittlerweile wirklich ein sehr großer Teil von Software clang unterstützt wandelt sich das langsam ein wenig in die Frage, warum denn GCC nutzen sollte, eben weil sich Projekte für LLVM als Backend entscheiden, auch wenn sie nichts mit BSD oder Lizenzen am Hut haben.
 
Zurück
Oben