fix clobber of edx in i386 vsyscall asm
this function does not obey the normal calling convention; like a syscall instruction, it's expected not to clobber any registers except the return value. clobbering edx could break callers that were reusing the value cached in edx after the syscall returns.
This commit is contained in:
@@ -16,7 +16,8 @@ __vsyscall:
|
||||
mov 12(%esp),%edi
|
||||
push %eax
|
||||
call 1f
|
||||
2: pop %ebx
|
||||
2: mov %ebx,%edx
|
||||
pop %ebx
|
||||
pop %ebx
|
||||
pop %edi
|
||||
ret
|
||||
|
||||
Reference in New Issue
Block a user