• IT-Karriere:
  • Services:

Intel: LLVM unterstützt 16-Bit-x86-Architektur

Intels Open Source Technology Centre arbeitet an einer 16-Bit-Unterstützung in der Compiler-Infrastruktur LLVM. Der Linux-Start-Code lässt sich damit bereits bauen, es soll aber mehr getestet werden.

Artikel veröffentlicht am ,
Intels 8086-16-Bit-Prozessor
Intels 8086-16-Bit-Prozessor (Bild: Konstantin Lanzet)

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, in LLVM und dem Compiler Clang das Erzeugen von 16-Bit-Code für x86 zu implementieren und ruft nun zum ausgiebigen Testen auf.

Stellenmarkt
  1. Web Computing GmbH, Münster
  2. Senatsverwaltung für Bildung, Jugend und Familie, Berlin

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 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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Spiele-Angebote
  1. (-82%) 11,00€
  2. 7,99€

Thaodan 16. Jan 2014

Nur das der 16bit Teil des Linux Kernels sich schlecht mit nicht GCC Compilern bauen...


Folgen Sie uns
       


Windows Powertoys - Tutorial

Wir geben einen kurzen Überblick der Funktionen von Powertoys für Windows 10.

Windows Powertoys - Tutorial Video aufrufen
    •  /