* autoload.cc (LoadDLLprime): Mask error code to low-order 16 bits.

(noload): Preserve sign when returning error code.
This commit is contained in:
Christopher Faylor 2005-03-02 16:13:24 +00:00
parent d83eb0c7d0
commit d0f0ea3034
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2005-03-02 Christopher Faylor <cgf@timesys.com>
* autoload.cc (LoadDLLprime): Mask error code to low-order 16 bits.
(noload): Preserve sign when returning error code.
2005-03-02 Christopher Faylor <cgf@timesys.com>
* spawn.cc (do_cleanup): Properly restore SIGINT/SIGQUIT even if they

View File

@ -89,7 +89,7 @@ _win32_" mangle (name, n) ": \n\
1:movl (2f),%eax \n\
call *(%eax) \n\
2:.long ." #dllname "_info \n\
.long (" #n "+" #notimp ") | " #err "<<16 \n\
.long (" #n "+" #notimp ") | (((" #err ") & 0xffff) <<16) \n\
.asciz \"" #name "\" \n\
.text \n\
");
@ -128,7 +128,7 @@ noload: \n\
pushl %eax # First argument \n\
call _SetLastError@4 # Set it \n\
popl %eax # Get back argument \n\
shrl $16,%eax # return value in high order word \n\
sarl $16,%eax # return value in high order word \n\
jmp *%edx # Return \n\
1: \n\
movl (%edx),%eax # Handle value \n\