[ros-dev] Re: [ros-diffs] [weiden] 13346: 1. fixed InbvPutPixels() to save theebx register which caused bootvid to crash when built withoptimizations

d_layer dome at koganet.ne.jp
Sat Jan 29 02:06:47 CET 2005


Hello,

weiden at svn.reactos.com wrote:
> 1. fixed InbvPutPixels() to save the ebx register which caused bootvid
> to crash when built with optimizations

You need to save the esi register too.
ebx, esi, edi, and ebp are callee-saved registers in win32/x86.
VC++ and gcc expect external functions not to modify these registers.

http://msdn.microsoft.com/library/en-us/vclang/html/_core_argument_passing_and_naming_conventions.asp
| The compiler generates prolog and epilog code to save and restore
| the ESI, EDI, EBX, and EBP registers, if they are used in the function.

-- 
d_layer



More information about the Ros-dev mailing list