Skip to content
Snippets Groups Projects
Commit 754c4bbc authored by Niels Möller's avatar Niels Möller
Browse files

Some more details on W64 stack arguments.

parent ac5d2769
No related branches found
No related tags found
No related merge requests found
...@@ -24,7 +24,7 @@ Registers May be Argument ...@@ -24,7 +24,7 @@ Registers May be Argument
%r14 %r14
%r15 %r15
w64 ABI, according to W64 ABI, according to
http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx: http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx:
Registers May be Argument Registers May be Argument
...@@ -51,3 +51,15 @@ Additional arguments are passed on the stack. "backing store" on the ...@@ -51,3 +51,15 @@ Additional arguments are passed on the stack. "backing store" on the
stack for the four register arguments is also required. %xmm6 to stack for the four register arguments is also required. %xmm6 to
%xmm15 are callee-saved. The "long" type is just 32 bits. Nettle %xmm15 are callee-saved. The "long" type is just 32 bits. Nettle
currently does *NOT* support this ABI. currently does *NOT* support this ABI.
If we have five arguments, and push the additional callee-save
registers %rdi and %rsi on the stack, we get a stack frame like
56(%rsp): Fifth argument
48(%rsp): Space for fourth argument
40(%rsp): Space for third argument
32(%rsp): Space for second argument
24(%rsp): Space for first argument
16(%rsp): Return address
8(%rsp): Saved %rsi
(%rsp) : Saved %rdi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment