Hi folks,
i am trying to compile the 3.6.2 VM on Windows using a Borland compiler (in order to have a decent debugger). Thus i cant use gnu-interp.c which requires labels as values (BC_JUMP_TABLE in sqGnu.h is unaccepted for the Borland compiler). I've managed to build the VM and all internal plugins with minor source code changes (mostly to deal with union member access). So i'm pretty confident that i havent broken anything. Unfortunately i am getting a runtime error about an invalid floating point operation at the very beggining of the VM's execution. The error happens in loadFloatOrIntFrom which in my case gets called from primitiveFloatEqualtoArg(..) (which gets called at primitive 182). After tweaking all possible compiler options that felt like having an effect on the problem i gave up and started typing what you are reading right now. Any insight would be greatly appreciated. Andreas? Tim? Regards Vagelis ____________________________________________________________________ http://www.freemail.gr - δωρεάν υπηρεσία ηλεκτρονικού ταχυδρομείου. http://www.freemail.gr - free email service for the Greek-speaking. |
I can testify that I sucessfully built and ran the 3.7 VM from interp.c.
I built the 3.7 VM with Visual C++ 6.0 under Window 2000 without trouble (I used VMMaker to set up the sources - and I forget what else). That gave me a traceable debug version of the VM, which may not be as useful as it sounds since I have no way to display Squeak objects and evironments in the debugger. I forget the exact steps I used to build everything. I think I got the directions from the Swiki about a year ago, built a release version with the version of mingw32 they recommended (and bundled in a tar somewhere?) ... and then put together a Visual C++ project that built a debug version that works with Microsoft's debugger.. Anyway the micrsoft build works. Joshua Scholar ----- Original Message ----- From: "Vagelis Savvas" <[hidden email]> To: <[hidden email]> Sent: Saturday, January 21, 2006 2:12 PM Subject: Is VM compilable with interp.c instead of gnu-interp.c ? > Hi folks, > i am trying to compile the 3.6.2 VM on Windows using a > Borland compiler (in order to have a decent debugger). > Thus i cant use gnu-interp.c which requires labels as values > (BC_JUMP_TABLE in sqGnu.h is unaccepted for the Borland compiler). > I've managed to build the VM and all internal plugins > with minor source code changes (mostly to deal with union > member access). So i'm pretty confident that i havent broken > anything. > Unfortunately i am getting a runtime error about an invalid > floating point operation at the very beggining of the > VM's execution. The error happens in loadFloatOrIntFrom > which in my case gets called from primitiveFloatEqualtoArg(..) > (which gets called at primitive 182). > After tweaking all possible compiler options that felt > like having an effect on the problem i gave up and started > typing what you are reading right now. > Any insight would be greatly appreciated. Andreas? Tim? > > Regards > > Vagelis > > ____________________________________________________________________ > http://www.freemail.gr - δωρεάν υπηρεσία ηλεκτρονικού ταχυδρομείου. > http://www.freemail.gr - free email service for the Greek-speaking. > > |
In reply to this post by Vagelis Savvas
These links should help:
http://www.google.com/search?q=borland+floating+point+problem http://www.virtualdub.org/blog/pivot/entry.php?id=53 http://homepages.borland.com/ccalvert/TechPapers/FloatingPoint.html Note that it is possible that you are using libraries which are dynamically linked (via DLLs) and therefore screw up those settings only later - this will in particular be true if you compile any external plugins via Borland's compiler. There is actually a hack in sqWin32Intel.c (in squeakExceptionHandler()) which attempts to "fix" any such problems and I wonder why this isn't kicking in - if you're using a debugger make sure that it does not handle FPU exceptions but passes them onto the application's handler (I don't remember Borland but MSVC has settings that allow passing certain exceptions to the application and that's what you want). Cheers, - Andreas Vagelis Savvas wrote: > Hi folks, > i am trying to compile the 3.6.2 VM on Windows using a > Borland compiler (in order to have a decent debugger). > Thus i cant use gnu-interp.c which requires labels as values > (BC_JUMP_TABLE in sqGnu.h is unaccepted for the Borland compiler). > I've managed to build the VM and all internal plugins > with minor source code changes (mostly to deal with union > member access). So i'm pretty confident that i havent broken > anything. > Unfortunately i am getting a runtime error about an invalid > floating point operation at the very beggining of the > VM's execution. The error happens in loadFloatOrIntFrom > which in my case gets called from primitiveFloatEqualtoArg(..) > (which gets called at primitive 182). > After tweaking all possible compiler options that felt > like having an effect on the problem i gave up and started > typing what you are reading right now. > Any insight would be greatly appreciated. Andreas? Tim? > > Regards > > Vagelis > > ____________________________________________________________________ > http://www.freemail.gr - δωρεάν υπηρεσία ηλεκτρονικού ταχυδρομείου. > http://www.freemail.gr - free email service for the Greek-speaking. > > |
Free forum by Nabble | Edit this page |