mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-13 22:23:45 +00:00
nova: fix syscall bindings for 32bit
The bindings for 32bit did not consider that in the syscall_3 function edx changes due to the assembly instructions and that in the syscall_4 function edx and ecx change. So, the compiler wrongly assumed that the content of these registers stayed unchanged. Fixes #1447
This commit is contained in:
parent
e664c979b2
commit
2a4b67f90b
@ -120,8 +120,8 @@ namespace Nova {
|
||||
" sysenter;"
|
||||
"1:"
|
||||
" pop %%ebx;"
|
||||
: "+a" (status)
|
||||
: "D" (p1), "S" (p2), "d" (p3)
|
||||
: "+a" (status), "+d" (p3)
|
||||
: "D" (p1), "S" (p2)
|
||||
: "ecx");
|
||||
return status;
|
||||
}
|
||||
@ -149,8 +149,8 @@ namespace Nova {
|
||||
|
||||
" pop %%ebx;"
|
||||
" pop %%ebp;"
|
||||
: "+a" (status)
|
||||
: "D" (p1), "S" (p2), "c" (p3), "d" (p4)
|
||||
: "+a" (status), "+c" (p3), "+d" (p4)
|
||||
: "D" (p1), "S" (p2)
|
||||
: "memory");
|
||||
return status;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user