Ich schreibe ein JIT auf ARM Linux, das einen Befehlssatz ausführt, der selbst modifizierenden Code enthält. Der Befehlssatz hat keine Cache-Flush-Anweisungen (ähnlich wie x86 in dieser Hinsicht).Speichert mprotect den Befehls-Cache auf ARM Linux?
Wenn ich Code auf eine Seite schreibe und dann mprotect
auf dieser Seite aufruft, reicht das aus, um den Befehlscache ungültig zu machen? Oder muss ich auch den Syscall auf diesen Seiten verwenden?
Hmm, ich ziele auf ARMv5 nominell. Laut ARM ARM müssen Sie den Anweisungscache bei selbst modifizierendem Code leeren. Ich frage mich nur, ob mprotect es für mich tun wird. –