From: Rich Felker Date: Sun, 11 Nov 2012 18:56:37 +0000 (-0500) Subject: fix clobber of edx in i386 vsyscall asm X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=commitdiff_plain;h=e9b885ee550e8a3eabc9d11c469baf1cfaf64f55 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. --- diff --git a/src/internal/i386/syscall.s b/src/internal/i386/syscall.s index 291168c3..2914acee 100644 --- a/src/internal/i386/syscall.s +++ b/src/internal/i386/syscall.s @@ -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