jetzt register calling convention mit kernel 2.6 oder AMD64?
-
Stimmt es, dass im Kernel 2.6 jetzt 3 Register zur Parameterübergabe verwendet werden? Ist dies auf allen Plattformen so oder werden bei AMD64 noch mehr Register verwendet (hat ja 16 GPRs)? Verwendet der gcc dann auch per default diese Aufrufkonvention?
-
Es betrifft nur x86, alle anderen Architekturen verwenden soundso immer Register für die Parameterübergabe. Es ist als experimentell gekennzeichnet und standardmäßig ausgeschaltet. Auf's Userland wirkt sich das überhaupt nicht aus.
-
zählt amd64 als eine andere Architektur als x86?
-
Ja, die hat nämlich auch schon im Standard-ABI eigene Register für die Parameterübergabe.
-
thx