LLVM heißt doch "Low Level Virtual Machine"
Ja, schon, aber ob diese virtuelle Maschine auch einen virtuellen Prozessor simuliert, wie bei Java, oder ob der LLVM-Bitcode immer per JIT-Compiler oder Interpreter in x86 übersetzt wird und dann auf der Physischen CPU läuft - das ist hier die Frage...
Ich dachte bislang eher an Letzteres, denn bei Java kann man ja nicht direkt auf externe DLLs zugreifen, außer die JRE bietet dafür eine spezielle Funktion.
lli interpretiert bzw. compiliert anscheinend nicht den Assembercode (LLVM IR), sondern tatsächlich die Maschinensprache. Innerhalb dieses Bitcodes muss es folglich auch Debuggerbefehle geben, die gdb dann lernen müsste, oder sogar schon kann (
http://lldb.llvm.org/lldb-gdb.html). Wenn ich Mattias' Präsentation beim letzten Forumtreffen (
http://mitjastachowiak.de?sonstiges/lazarusforumtreffen2014) richtig in Erinnerung habe, arbeitet man bei Freepascal bereits an einem eigenen Debugger.