[Vm-dev] Minheadless trial

Ben Coman btc at openinworld.com
Tue Aug 7 05:22:13 UTC 2018

 On 7 August 2018 at 05:12, Eliot Miranda <eliot.miranda at gmail.com> wrote:

> Hi Ben,
Feel free to make this edit and commit

I'm pushing changes here...

and the diff can be tracked here...

On 6 August 2018 at 13:22, Ben Coman <btc at openinworld.com> wrote:

> On 6 August 2018 at 11:50, Ben Coman <btc at openinworld.com> wrote:
> https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/platforms/
> minheadless/windows/sqPlatformSpecific-Win32.c#L80
>  typedef HRESULT WINAPI (*SetProcessDpiAwarenessFunctionPointer) (int
> awareness);
>     C2059 sqPlatformSpecific-Win32.c:80 syntax error: '('
>     E0651 a calling convention may not be followed by a nested declarator.
> The following change reduces build errors to 1...
>   typedef HRESULT (*SetProcessDpiAwarenessFunctionPointer) (int
> awareness);
> but I'm not sure of the implications.

I found the correct solution to this...
"The trick is placing the [call declaration] inside the parentheses"

i.e. the following compiles cleanly
typedef HRESULT (WINAPI *SetProcessDpiAwarenessFunctionPointer) (int

Now running the VM (without parameters) I get...
   Debug Assertion Failed!
   Program: ...\x64-Debug\dist\pharo.exe
   File: minkernel\crts\ucrt\src\appcrt\tran\amd64\ieee.c
   Line: 106
   Expression: (mask&~(_MCW_DN | _MCW_EM | _MCW_RC))==0

at the call to _controlfp(FPU_DEFAULT, _MCW_EM | _MCW_RC | _MCW_PC |

According to https://msdn.microsoft.com/en-us/library/e9b52ceh.aspx
x64 does not support _MCW_PC or _MCW_IC
but I'm clueless about the implications of these FPU flags.
Could our math guys please advise?

Eliminating those two flags allows a VM run successfully without loading an
i.e. it successfully passes...
   osvm_parseCommandLineArguments(argc, argv);

Next is to try loading an Image.

cheers -ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20180807/86cb9508/attachment-0001.html>

More information about the Vm-dev mailing list