Stand der 16-Bit Unterstützung für x86-Architektur in LLVM

Bei Intel arbeitet man daran, dass LLVM auch 16-Bit-Code auf der x86-Architektur erzeugen kann. Nach dem letzten Stand soll dies nun wohl, bis auf einige Kleinigkeiten, funktionieren. Entwickler sind also zum Testen aufgerufen.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Der in Intels Open Source Technology Center tätige David Woodhouse hat über die LLVM-Mailingliste über den derzeitigen Stand der Arbeiten an der 16-Bit-Unterstützung auf der x86-Architektur für die Compiler-Infrastruktur informiert. Der Assembler sei wohl bereits in der Lage, die .code16-Direktive zu verstehen und 16-Bit-Code auszugeben. Nach einigen Verbesserungen am Disassembler könne wohl auch dieser jetzt ohne die vorherigen Probleme im 16-Bit-Modus arbeiten und durch die Ergänzung der Option -m16 im Compiler-Frontend Clang könne man nun daran gehen, Code entsprechend zu kompilieren.

Beim Einsatz zu beachten sind laut Woodhouse unter anderem die Tatsache, dass die von GCC bekannten Präfixe data32 und addr32 in LLVM nicht unterstützt werden. Dies sei allerdings auch nicht notwendig, da die Implementierung hier ohne sie auskommen sollte, weil etwa eine 32-Bit-Adressierung auch im 16-Bit-Modus möglich sei und dafür keine spezielle Anweisung nötig sei. Im Gegensatz zu GCC steht auch keine Unterstützung für .code16gcc und zusätzliche Flags, die die Direktive erweitern sollen, zur Verfügung.

In Letzterem sieht Woodhouse allerdings auch keinen Makel, da die erwähnte -m16-Option in Clang beim Kompilieren von C-Code helfen soll. Da dem Entwickler in der momentanen Variante keine Mängel bis auf die erwähnten mehr bekannt sind, ruft er die potenziellen Nutzer dazu auf, den 16-Bit-Modus auszuprobieren und Feedback zu geben. (jul)