"us" == us us@the-edmeades.demon.co.uk writes:
us> While debugging a game which only installs if we use the windows us> msvcrt, I have identified the problem but dont know how to fix it! us> The problem revolves around the function us> MSVCRT_type_info_raw_name. This is defined as stdcall, but us> disassembling the windows version, it clearly shows use of a calling us> convention I had never heard of, 'thiscall'. According to the MSDN, us> thiscall is stdcall BUT the 'this' pointer on x86 machines is stored us> in the ECX register.
us> How can we fix this?
us> My thought: Change the definition to not take a ptr arg, and define us> a local, this as being in the ECX register, but (a) I dont know how us> to do this, and (b) is not a solution for winelib applications.
us> For now I can continue having put the msvcrt.dll from another us> machine in, but it would be nice to solve this issue. I'd also guess us> it affects more than just that one function.
We have the -register adder in the spec file. Look at e.g. how __CxxFrameHandler is defined in msvcrt.spec and implemented in dlls/msvcrt/cppexcept.c.
Great, I also noticed an error in some function of the MSVCRT_type_ group of calls with Altera's Quartus package, but couldn't figure out...
Bye