Um Seitenkanalangriffe wie Spectre besser zu verstehen und zu verhindern, will Google ein spezialisiertes LLVM-Team für Programmiersprachen und Compiler aufbauen. Weitere Entwickler sollen die Unterstützung für eine interne Plattform umsetzen.
Die Compiler-Community LLVM möchte für ihre offiziellen Quellcode-Repositorys von SVN auf Git wechseln. Mit dem Wechsel des Versionskontrollsystems ist auch ein Umzug auf Github geplant. Der Prototyp dafür ist offenbar fertig, so dass der Umzug bald stattfinden kann.
Die Compiler-Werkzeug LLVM bringt in der aktuellen Version 7 neue Sanitizer zum Auffinden von Fehlern und erweitert die Unterstützung für bestehende. Darüber hinaus hat das Team neue Analysewerkzeuge erstellt.
Mit der Veröffentlichung von ReactOS 0.4.9 kann der freie Windows-Nachbau nach Jahren wieder dazu benutzt werden, sich selbst zu bauen. Das Team hat ReactOS außerdem weiter stabilisiert.
Nach Tests von Google für Chrome testet nun auch Mozilla die Verwendung des LLVM-Compilers Clang für Firefox unter Windows. Die Entwickler könnten damit auf Microsofts MSVC verzichten und ihren Compiler selber patchen.
Das Team für Compiler- und Entwicklerwerkzeuge bei Apple will künftig Clangd und damit das freie Language Server Protocol unterstützen. Damit könnten IDEs für C und C++ eine einheitliche Sprachunterstützung auf Basis von LLVM bekommen.
Ngraph ist ein neuer Framework-unabhängiger Modell-Compiler für Deep Learning von Intel. Mit Frameworks wie Tensorflow oder CNTK erzeugter Code lässt sich mit Ngraph in Zukunft für Intel-Chips, Nvidia GPUs, FPGAs und mögliche weitere Deep-Learning-Hardware übersetzen.
Die neue Version der LLVM-Compiler wie Clang bringt mit Retpolines eine wichtige Maßnahme gegen Angriffe über Spectre. Davon profitieren auch künftige Windows-Versionen von Google Chrome. Optimierungen gibt es außerdem bei der Diagnose von Quelltexten.
Statt Microsofts proprietärem Compiler will Google den Chrome-Browser künftig nur noch mit einem Open-Source-Tool entwickeln. Clang ist ein bekannter Compiler, der neben GCC oft auf Linux genutzt wird. Google will ihn auch auf Windows nutzen. Ganz ohne Microsoft-Tools geht es dann aber doch nicht.
Eine neue Funktion in Microsofts Compiler für C und C++ soll Schutzmaßnahmen gegen eine Variante des Spectre-Angriffs in Code einbauen. Diese Vorgehen wird zwar von Intel empfohlen, hat aber offensichtlich Grenzen und wird deshalb von der Linux-Community kritisiert.
Qualcomm arbeitet offenbar bereits an einem Nachfolger für seinen 48-Kern-ARM-Chip mit Falkor-Kernen. Die neuen CPU-Kerne heißen Saphira. Sie sind wohl für den Servereinsatz gedacht und bieten eine neue Security-Funktion in der Hardware.
Für iPhone, iPad und Mac: Xcode 9 bringt einen überarbeiteten Editor, der schneller und übersichtlicher sein soll. Außerdem können Entwickler ihre Apps mit maschinellen Lernmodellen und Metal 2 entwickeln - damit Apps für die neuen Apple-Geräte auch möglichst schnell kommen.
Die Compiler-Werkzeugsammlung LLVM 5.0 erweitert die Unterstützung zahlreicher Architekturen, etwa mit dem Zen-Scheduler in AMDs Ryzen-Prozessoren sowie AMDs Grafikchips Vega und Raven Ridge in AMDGPU. Der Kompilierer Clang 5.0 unterstützt C++17 vollständig.
Android-Entwickler können sich über einen neuen Compiler von Google freuen, der die Kompilierzeit verringern sowie die Binärdateien verkleinern soll. Facebook arbeitet bereits an einem ähnlichen Bytecode-Optimierer.
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.
Ein weiteres wichtiges Stück Infrastruktur bei Mozilla ist in die Sprache Rust portiert worden: der geteilte Compiler-Cache (Sccache). Builds verschiedener Systeme können damit ihre Ergebnisse teilen, was dank Rust jetzt schneller geht.
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.
Die aktuelle Version 1.7 der Sprache Go ist durch Verbesserung am Compiler deutlich schneller. Go 1.7 läuft zudem auf IBM Z Systems, ein wichtiges Netzwerkpaket ist Teil der Standardbibliothek geworden.
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.
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.
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.
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.
Der Kryptograph Daniel J. Bernstein fordert einen C-Compiler mit klar definierter Semantik, der kein undefiniertes Verhalten von Code erlaubt. Das soll das Schreiben und Überprüfen von Code klar vereinfachen und somit bessere Kryptographie ermöglichen.
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 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.
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.
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.
Es ist nur ein Experiment und soll es wahrscheinlich auch bleiben - dennoch zeigt die Javascript-Portierung des Python-Interpreters Pypy, was mit aktuellen Webtechniken möglich ist.
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.
Fosdem 2015 Freie Software wirbt mit dem Versprechen, dass jeder den Quellcode prüfen kann. Doch wie kann garantiert werden, dass die verteilte Software wirklich aus den angegebenen Quellen stammt? Debian will hierfür reproduzierbare Build-Prozesse einführen.
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.
Für Version 1.5 der Programmiersprache Go will das Team auf sämtliche Werkzeuge in der Sprache C verzichten. Dann benötigte Go nur noch Go selbst.
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.
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.
Um native iOS- und Android-Apps sowie die Web-App für Inbox möglichst gemeinsam weiter zu entwickeln, setzt Google auf Transpiler, die Java in Javascript und Objective-C übersetzen.
Mit Flow soll sich eine statische Typisierung in Javascript umsetzen lassen. Die Software überprüft die Typen im Hintergrund und soll die Fehlersuche sowie die Codeverwaltung deutlich vereinfachen.
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.
Nur vier Monate nach Cuda 6.0 hat Nvidia Version 6.5 veröffentlicht. Die Schnittstelle läuft nun auch in Entwicklungsumgebungen für 64-bittige ARM-SoCs wie dem Tegra K1 Denver und soll auf allen Plattformen mehr Leistung bei doppelter Genauigkeit bringen.
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.
Ein Forscherteam hat bei Google mehr als 26 Millionen Software-Builds untersucht. Die gefundenen Fehlerarten sind dabei wenig überraschend. Dass die Fehlerrate nicht mit der Erfahrung der Entwickler korreliert, dagegen schon.
Die veröffentlichte Version 4.9 der GNU Compiler Collection enthält diverse Optimierungen des Codes. Außerdem werden OpenMP 4.0 und Funktionen des kommenden C++14-Standards unterstützt.
Die neue Referenz-Toolchain für die ARM-Architektur basiert auf LLVM und dem Frontend Clang, was die Partnerschaft mit den Lizenznehmern verbessern soll. Der ARM-Compiler ist aber weiterhin nicht Open Source.
Die freie .Net-Implementierung Mono will künftig auch den von Microsoft als Open Source veröffentlichten Compiler Roslyn verwenden. Der Mono-eigene Compiler bleibt aber erhalten.
Build Windows Mit einem Klick auf eine Webschaltfläche hat Microsoft auf seiner Entwicklerkonferenz die .NET-Compiler-Plattform im Quellcode freigegeben. Interessierte können sich nun die Compiler für C# und Visual Basic genauer ansehen.
LG hat die dritte Generation der Smartphones der L-Reihe vorgestellt. Alle drei werden gleich mit Android 4.4 alias Kitkat ausgeliefert. Die technische Ausstattung der Modelle unterscheidet sich deutlich.
(Lg L90)
Um großflächige Objekte mit einem Tiefenscanner in 3D zu erfassen, hat ein Entwickler den Virtustick konstruiert. Damit kann der Asus Xtion Pro wie mit einer Angel servogesteuert um große Objekte herumgeführt werden.
(3d Scanner)
Pebble-Unterstützer müssen sich weiter gedulden: Zu Weihnachten werden sie ihre smarten Armbanduhren nicht mehr bekommen.
(Pebble Watch)
Zuletzt hat er Filme produziert, jetzt kündigt Chris Roberts - Schöpfer von Wing Commander, Strike Commander und Freelancer - seine Rückkehr in die Spielebranche an. Sie hat wohl erneut mit dem Weltraum zu tun.
(Chris Roberts)
Microsoft hat einen Release Candidate des Windows Server 2012 veröffentlicht. Die Vorabversion des kommenden Windows Server kann über Microsofts Technet heruntergeladen werden.
(Windows Server 2012)
Vor rund sechs Monaten hat Twitter mit Bootstrap seinen Front-End-Werkzeugkasten Bootstrap veröffentlicht. Ab sofort steht das CSS-/HTML-Framework in der Version 2.0 zur Verfügung.
(Bootstrap)
Onone Software hat eine kostenlose Version der Photoshop-Filtersammlung Phototool 2 vorgestellt. Darin sind fotografische Effekte enthalten, die es dem Nutzer einfach machen, typische Laboreffekte nachzubilden.
(Photoshop Filter)
E-Mail an news@golem.de