Intel: LLVM unterstützt 16-Bit-x86-Architektur
Der 16-Bit-Prozessor Intel 8086 ist vor fast 35 Jahren erschienen, das markiert den Anfangspunkt der x86-Architektur, die heute den Markt der Desktop-PCs und Server dominiert. Intels Open Source Technology Centre arbeitet derzeit daran(öffnet im neuen Fenster), in LLVM und dem Compiler Clang das Erzeugen von 16-Bit-Code für x86 zu implementieren und ruft nun zum ausgiebigen Testen auf.
Der Assembler unterstützt nun die .code16-Direktive und kann 16-Bit-Code erzeugen, auch der Disassembler kann mit 16-Bit-Code umgehen. Für Clang schrieben die Intel-Entwickler die Option -m16 , mit der der Code direkt erzeugt werden kann. Damit lässt sich laut Aussage der Entwickler der 16-Bit-Startcode des Linux-Kernels bauen. Der Binärcode arbeite zudem problemlos.
Gegensätze zu GCC
Die Präfixe data32 und addr32 im integrierten Assembler-Code werden derzeit nicht explizit unterstützt. Denn data32 werde eigentlich nie benötigt und LLVM kann anders als GCC auch im 16-Bit-Modus 32-Bit-Adressierungen vornehmen, weshalb die Anweisung addr32 unnötig wird.
Darüber hinaus kann mit LLVM und Clang die Direktive .code16gcc nicht verwendet werden. Damit lässt sich in GCC Code im 16-Bit-Modus erzeugen, dessen Eingaben aber so geparst werden, als wären sie im 32-Bit-Modus. So bekommen Anweisungen, deren Speicherbelegung in beiden Fällen gleich ist, immer das 32-Bit-Pendant. Außerdem kann bei GCC die Direktive um Flags erweitert werden, welche LLVM aber ebenfalls nicht unterstützt.
Stattdessen gibt es die Clang-Option -m16, die die Code-Erzeugung vereinfacht. In einem Bugzilla-Eintrag(öffnet im neuen Fenster) wird von Kernel-Hacker H. Peter Anvin eine ähnliche Option für GCC vorgeschlagen.
Der Intel-Angestellte David Woodhouse weist darauf hin, dass ihm derzeit keine Probleme bekannt seien, außer den Unterschieden zu GCC, weshalb er dazu aufruft, den Compiler mit vielen Anwendungen zu testen. Neben dem Linux-Kernel nutzen Projekte wie Wine oder Emulatoren die Möglichkeit, nach wie vor 16-Bit-Code zu erzeugen.
- Anzeige Hier geht es zu Intel-Prozessoren bei Alternate Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.


