Es hat nicht gepasst: Chris Lattner hat seinen Posten bei Tesla nach wenigen Monaten aufgegeben. Der ehemalige Apple-Mitarbeiter leitete die Entwicklung des Autopiloten, Teslas Software für autonomes Fahren.
Ohne große vorherige öffentliche Diskussion soll OpenSSL künftig die Apache-Lizenz 2.0 nutzen. Vor allem die OpenBSD-Community kritisiert die Lizenz und das konkrete Vorgehen, das die Community spaltet und den Eindruck erweckt, als sei alles schon beschlossen.
Mit der Version 4.0 beginnt das LLVM-Projekt ein neues Schema zur Versionierung. Außerdem entfernen die Compiler nun aggressiver als bisher Code, Koroutinen werden experimentell unterstützt und es gibt ein offizielles Backend für Atmel AVR.
Der Compiler für Microsofts Shader-Sprache HLSL ist Open Source. Das Werkzeug ist Teil von DirectX 12 und basiert auf LLVM sowie dessen Frontend Clang. HLSL ist damit effektiv nicht mehr proprietär und für die Treiberentwickler ergeben sich daraus einige Vorteile.
Der Gründer des Compiler-Projekts LLVM, Chris Lattner, ist bei Tesla künftig führend für dessen Autopilot-Software zuständig. Zuvor arbeitete Lattner über ein Jahrzehnt bei Apple an den Entwickertools, zuletzt hauptsächlich für die Sprache Swift.
Google startet eine Initiative, um wichtige Open-Source-Software mittels Fuzzing zu testen. Dabei werden Programme mit fehlerhaften Eingaben getestet.
Linux läuft! Doch noch muss es von Hand gestartet werden. Um es automatisch zu starten, müssen wir den Bootvorgang und das Dateisystem besser verstehen. Unser zweiter Artikel zur Analyse eines Digital-Oszilloskops geht darauf ein.
Eine Anleitung von Christer Weinigel
Die Community-Distribution Opensuse Leap 42.2 nutzt viele Kernbestandteile aus der Suse-Enterprise-Distribution. Zudem erhält der genutzte KDE-Desktop Plasma 5.8 ebenso wie die Basis Qt 5.6 und der Kernel eine Langzeitpflege durch die Upstream-Communitys. Besitzer des Raspberry Pi 3 können ein 64-Bit-Image testen.
Das Compiler-Projekt LLVM versucht weiterhin, durch eine Relizenzierung Mitglieder und Anwender besser vor Patentstreitigkeiten zu schützen. Anstelle der jetzigen an BSD angelehnten NCSA-Lizenz wird über die Lizenzierung unter Apache 2.0 diskutiert.
Die hauseigene IDE von KDE, Kdevelop, nutzt in Version 5.0 keine eigene Analyse-Software mehr, sondern setzt stattdessen auf Clang, was einige Vorteile bringt. Ebenso ist dank Qt5 künftig ein Windows-Port möglich.
Erstmals enthält das aktuelle Mesa 12.0 offiziell einen freien Vulkan-Treiber für Linux. Darüber hinaus unterstützten die freien Treiber nun OpenGL 4.3 und ermöglichen den Parallelbetrieb von freien und proprietären Treibern.
Mit einer neuen Art der Optimierung während des Linkens eines Programms (LTO) benötigt LLVM nur etwas mehr Zeit als bei der "normalen" Optimierung beim Kompilieren. Auch den Speicherbedarf für LTO konnte das Team drastisch reduzieren.
Einige Änderungen an Syntax, Compiler und Laufzeitumgebung sollen C-Programme vor typischen Fehlern der Programmiersprache schützen. Microsoft erforscht diese Technik gemeinsam mit Universitäten in einem Open-Source-Projekt.
Den Compilerbaukasten LLVM wollen Google-Entwickler um Werkzeuge erweitern, die typische Leistungsprobleme von Code auffinden sollen. Ähnliche Konzepte zur Adress- und Speicherverwaltung werden bereits erfolgreich eingesetzt.
Wenn der Linux-Redakteur über die Windows-Nutzung flucht, ist eigentlich alles wie immer. Doch die Vorschau von Ubuntu auf Windows ist viel mehr als nur ein weiterer Grund zum Aufregen.
Von Sebastian Grüner
Für welche Zwecke genau Google seinen eigenen Prozessor mit dem Namen Lanai pflegt, ist nicht klar. Code zur Unterstützung der Hardware ist nun dennoch in das LLVM-Projekt eingepflegt worden.
Offen statt proprietär: Mit einer Software-Initiative namens GPU Open möchte AMD im HPC-, Linux- und Spiele-Segment auf Open Source setzen. In Abgrenzung von Nvidia sollen so Entwickler und Nutzer gewonnen werden.
Seit Jahren pflegt LLVM die Nutzung der Werkzeuge CMake und Autoconf zum Erstellen des Projekts. Letzteres gilt mit der kommenden Version als veraltet und ist im Hauptentwicklungszweig schon entfernt worden, was dem Team viel Aufwand erspart.
Dank Webassembly sollen komplexe Anwendungen besser im Web laufen als mit Javascript. Nun implementiert auch das V8-Team die Unterstützung für den neuen Bytecode, der damit künftig in Chrome und vielleicht auch in Node landen wird.
Der Debugger Codeview von Microsoft stammt aus den 80er Jahren und ist längst überholt. Dessen Format zum Speichern von Informationen gibt es aber weiterhin und Microsoft setzt dies nun auch in LLVM um.
Zum Wohl der Entwickler und der Kunden haben in diesem Jahr ehemalige Open-Source-Gegner wie Microsoft oder Apple stark auf offenen Quellcode gesetzt. Einige der offenen Mobilbetriebssysteme straucheln dagegen und selbst Android-Hersteller beklagen Probleme bei der Entwicklung.
Von Sebastian Grüner
Das Android-NDK wird aktuelle Versionen der Gnu Compiler Collection (GCC) künftig nicht mehr unterstützen. Stattdessen sollten Entwickler Clang aus dem LLVM-Projekt verwenden.
Die von Apple ursprünglich für iOS initiierte Sprache Swift ist nun Open Source. Das Unternehmen ist damit nun erstmals selbst auf Github vertreten und bietet eine Linux-Portierung an. Für die iOS-Appentwicklung gibt es schon jetzt Einschränkungen.
Wegen einer unklaren Patentklausel tragen einige Unternehmen nicht zu LLVM bei, obwohl sie das eigentlich wollen. Auch die aktuelle LLVM-Lizenzierung verhindert die Wiederverwendung bestimmter Codebestandteile. Deshalb will der LLVM-Vorstand den Code unter der Apache-Lizenz relizenzieren.
Die Tor-Entwickler wollen bald eine gehärtete Version ihres Browser-Bundles für Linux veröffentlichen. Dabei kommt Address Sanitizer zum Einsatz. Dieses Feature verhindert zahlreiche Sicherheitslücken, allerdings um den Preis erheblicher Performanceeinbußen.
Der LLVM-Vorstand schlägt einen Verhaltenskodex für die Community vor. Damit will sich das Projekt auch nach außen explizit gegen Rassismus, Sexismus und Übergriffe jeder Art positionieren und für Offenheit und Toleranz einstehen. Schwere Probleme damit gab es bisher aber keine.
Fast die Hälfte des neuen Codes in Linux 4.2 gehört zu einem neuen Treiber für AMDs Grafikkarten, der künftig die Unterstützung sowohl für freie als auch für den proprietären Catalyst-Treiber deutlich verbessern soll. Linux 4.2 soll außerdem Updates für UEFI einspielen können.
Black Hat 2015 Um Sicherheitsprobleme zu vermeiden, versucht die Programmiersprache Crema, viele problematische Dinge nicht zuzulassen. Crema verzichtet dabei bewusst auf die sogenannte Turing-Vollständigkeit, um die Analyse des Codes zu erleichtern.
Mit Visual Studio 2015 legt Microsoft einen starken Fokus auf die Unterstützung von Apps - auch von und für andere Betriebssysteme - sowie die Open-Source-Strategie für .Net. Einige Neuerungen werden aber erst nach dem Erscheinen von Windows 10 verfügbar sein.
Programme testweise mit massenhaft fehlerhaften Daten zu füttern, ist eine effektive Methode, um Fehler zu finden. Das sogenannte Fuzzing ist schon seit Jahrzehnten bekannt, doch bessere Tools und einige spektakuläre Funde von Sicherheitslücken haben zuletzt das Interesse daran erneut geweckt.
Noch ist es nicht viel mehr als ein Plan, doch wegen der breiten Unterstützung könnte Webassembly schon bald Javascript in Teilen ablösen. Die Entwicklung des Bytecodes wird von Google, Mozilla, Microsoft und anderen vorangetrieben.
Mit BPF steht im Linux-Kernel mittlerweile eine Art universelle VM bereit. Ein darauf aufbauendes LLVM-Backend soll nun stabil werden. Helfen soll das unter anderem beim Debuggen von Anwendungen.
Die Programmiersprache Rust will mehr Sicherheit bei der Speicherverwaltung bieten, sie soll jedoch trotzdem eine ähnliche Performance wie C oder C++ erreichen. Jetzt wurde die Version 1.0 veröffentlicht, die erstmals eine stabile Syntax bietet.
Die stabile Version 5.1 von GCC bringt zusätzlich zum neuen Namensschema eine Bibliothek für Jit-Compiler. Unterstützt werden OpenMP 4.0 und OpenACC. Als Standard wird nun außerdem C11 verwendet, C++11 wird voll unterstützt.
Mit LLILC entsteht ein neuer Compiler für .Net auf der Basis von LLVM. Aktuelle Compiler soll das Projekt zunächst nicht ersetzen. Außerdem stehen die Arbeiten erst am Anfang.
Durch Fuzzing-Technik können unter anderem Sicherheitslücken gefunden werden. Mit Libfuzzer stellt das LLVM-Projekt nun eine eigene Bibliothek dazu bereit und nutzt diese auch selbst für den Compiler Clang.
Vor einem Jahr machte der Heartbleed-Bug in OpenSSL Schlagzeilen - doch solche Bugs lassen sich mit Hilfe von Fuzzing-Technologien aufspüren. Wir haben das mit den Tools American Fuzzy Lop und Address Sanitizer nachvollzogen und den Heartbleed-Bug neu entdeckt.
Von Hanno Böck
Es scheine einen systematischen Angriff auf GNU-Projekte durch LLVM zu geben, schreibt der GNU-Gründer Richard Stallman. Er werde die Situation prüfen. Ein alter Streit mit Apple könnte die Ursache für diese Idee sein.
Um Clang unter Windows voll zu unterstützen, will LLVM auch den eigenen Debugger für das Microsoft-System anbieten. Zwar laufen die Arbeiten schon länger und der Code lässt sich bereits testen, voll einsatzbereit ist LLDB aber noch nicht.
Chrome für Linux kompiliert Google mit LLVMs Clang statt mit GCC. In einem Blogeintrag begründet das Unternehmen diese Wahl mit einer leicht nachvollziehbaren Erklärung.
31C3 Bugs in der Speicherverwaltung von C-Programmen gehören zu den häufigsten Sicherheitslücken. Da es aussichtslos sein dürfte, alle Lücken zu beheben, hat Mathias Prayer eine Strategie vorgestellt, mit der sich die meisten verhindern lassen.
Der auf LLVM basierende Go-Compiler LLGo soll offiziell Teil des Compiler-Projekts werden. Damit könnten Programmierer für die Sprache drei Compiler mit jeweils unterschiedlichen Grundlagen verwenden.
Die GNU Compiler Collection (GCC) enthält nun Funktionen zur Just-in-Time-Kompilierung. Damit tritt GCC wieder stärker in Konkurrenz zu LLVM, der Code ist aber noch nicht bereit für den Einsatz.
Apple solle die Programmiersprache Swift und den Code dazu komplett freilegen, wird in der Ankündigung der freien Alternative Phoenix gefordert. Apple müsse sich auf seine Anfänge und Erfolge auf Open-Source-Basis zurückbesinnen.
Die Python-Implementierung Pyston von Dropbox unterstützt nun viele weitere Sprachfunktionen und Bibliotheken. Zudem können das C-API und Multithreading verwendet werden. Die Pypy-Benchmarks laufen ebenfalls.
Die Programmiersprache Swift ist in Version 1.0 verfügbar. Damit können Anwendungen für den App Store eingereicht werden. Als final bezeichnet Apple die Sprache aber noch nicht.
Windows-Nutzer von Chrome 37 erhalten ein besseres Font-Rendering und können eine 64-Bit-Version nutzen. Die Veröffentlichung schließt auch 50 Sicherheitslücken, darunter eine kritische, die Google 30.000 US-Dollar wert ist.
Die freie .Net-Implementierung Mono soll deutlich beschleunigt werden. Dafür baut der Hauptsponsor Xamarin nun ein eigenens Team auf, das sich ausschließlich um die Leistung des Frameworks kümmern soll.
Das neue Javascript-Backend für Webkit demonstriere die Vorteile des LLVM-Designs, schreibt Andrew Trick im LLVM-Blog. Die Technik könnte zu einer weiteren Verbreitung und Verbesserung des gesamten LLVM-Projekts beitragen.
Künftig sollen Linux-Systeme schneller aus dem Tiefschlaf aufwachen. Nebenbei werden die Latenzzeiten der Peripheriegeräte durch den Kernel verwaltet. Mit neuen Posix-Sperren lässt sich auf große Dateien von mehreren Threads zugreifen. Und Linux 3.15 läuft besser auf mehreren Bildschirmen.