Hey,
I am looking into changing my deployment from pharo-vm.git to OpensmalltalkVM and as my CI is now crashing and has the notorious FreeType2 backtrace (seems the display is set to 0x0 and then ...) I might have a look but that brings me to the point of how can I take a VM, make a bugfix and ship it/use it.
With pharo-vm I was able to take the commit of the release, load the mc/ directory, make fixes, generate code[1], compile it and ship it but I struggle to do the same with Opensmalltalk VM.
Given a version statement like:
Pharo VM version: 5.0-201803161038 Fri Mar 16 10:46:55 UTC 2018 gcc 4.8 [Production Spur VM]
Built from: CoInterpreter VMMaker.oscog-eem.2359 uuid: b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2359 uuid: b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018
Revision: VM: 201803161038 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Fri Mar 16 11:38:09 2018 +0100 $
Plugins: 201803161038 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Build host: Linux travis-job-29216682-8f27-4f97-a3e7-e3bc246f0137 4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017 i686 i686 i686 GNU/Linux
plugin path: /mnt/build/vm/lib/pharo/5.0-201803161038 [default: /mnt/build/vm/lib/pharo/5.0-201803161038/]
How do I find the git commit this was built from?
How do I load an image with the matching sources?
I am sorry if I missed this from the documentation.
holger
[1] Yeah with Slang signed can go to unsigned or vice versa and funny things will happen
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 22d116ba79526555621cfd7c4632b5d40f403d98
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/22d116ba7952655562…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2018-03-17 (Sat, 17 Mar 2018)
Changed paths:
M .gitignore
M image/getGoodSpur64VM.sh
M image/getGoodSpurVM.sh
Log Message:
-----------
Fix the Spur VM downloading scrip[ts to fetch the name of the latest release from
the notifications page. Add some entries to .gitignore for the .dmg downloaded.
The VMs still lack the processor plugins, so there is plenty of work still to do.
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: f45adcfdeb29b88dbac15ab8bb766099da1ebb4d
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f45adcfdeb29b88dba…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2018-03-17 (Sat, 17 Mar 2018)
Changed paths:
M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h
M platforms/Cross/vm/sqVirtualMachine.c
M platforms/Cross/vm/sqVirtualMachine.h
M platforms/iOS/plugins/SerialPlugin/sqMacSerialPort.c
Log Message:
-----------
Remember the sqVirtualMachine changes for methodReturnFloat: et al.
Fix compilation of the SerialPlugin on Mac OS X (temporary; the
correct fix is to have the Mac builds build from the unix sources).
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2362.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.2362
Author: eem
Time: 17 March 2018, 4:30:47.269203 pm
UUID: 8376d276-ee9f-4ed2-a47b-8e8532c61b5a
Ancestors: VMMaker.oscog-eem.2361
For Spur MT interpreters to be generated by generateAllConfigurationsUnderVersionControl they must be in generateAllSqueakConfigurationsUnderVersionControl.
=============== Diff against VMMaker.oscog-eem.2361 ===============
Item was changed:
----- Method: VMMaker class>>generateAllSqueakConfigurationsUnderVersionControl (in category 'configurations') -----
generateAllSqueakConfigurationsUnderVersionControl
self generateSqueakStackVM;
generateSqueakCogVM;
generateSqueakCogMTVM;
generateSqueakSpurStackVM;
generateSqueakSpurStack64VM;
generateSqueakSpurCogVM;
generateSqueakSpurCog64VM;
generateSqueakSpurCogSistaVM;
+ generateSqueakSpurCogSista64VM;
+ generateSqueakSpurCogMTVM;
+ generateSqueakSpurCog64MTVM!
- generateSqueakSpurCogSista64VM!
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 54d6379d2e92857c06b0c29e1161aa4071eb64f7
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/54d6379d2e92857c06…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2018-03-17 (Sat, 17 Mar 2018)
Changed paths:
M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm
M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm
M build.linux32ARMv6/pharo.cog.spur/build/mvm
M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm
M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur.lowcode/build/mvm
M build.linux32x86/pharo.cog.spur/build.assert/mvm
M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur/build/mvm
M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm
M build.linux32x86/pharo.sista.spur/build.assert/mvm
M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm
M build.linux32x86/pharo.sista.spur/build.debug/mvm
M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm
M build.linux32x86/pharo.sista.spur/build/mvm
M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm
M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm
M build.linux32x86/pharo.stack.spur.lowcode/build/mvm
M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm
M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm
M build.linux32x86/squeak.cog.spur.immutability/build/mvm
M build.linux64x64/pharo.cog.spur/build.assert/mvm
M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm
M build.linux64x64/pharo.cog.spur/build/mvm
M build.macos32x86/pharo.cog.spur.lowcode/Makefile
M build.macos32x86/pharo.cog.spur/Makefile
M build.macos32x86/pharo.sista.spur/Makefile
M build.macos32x86/pharo.stack.spur.lowcode/Makefile
M build.macos32x86/pharo.stack.spur/Makefile
M build.macos32x86/squeak.cog.spur+immutability/Makefile
M build.macos32x86/squeak.sista.spur/Makefile
M build.macos64x64/pharo.cog.spur.lowcode/Makefile
M build.macos64x64/pharo.cog.spur/Makefile
M build.macos64x64/pharo.sista.spur/Makefile
M build.macos64x64/pharo.stack.spur.lowcode/Makefile
M build.macos64x64/pharo.stack.spur/Makefile
M build.macos64x64/squeak.cog.spur.immutability/Makefile
M build.macos64x64/squeak.sista.spur/Makefile
M build.win32x86/pharo.cog.spur.lowcode/Makefile
M build.win32x86/pharo.cog.spur/Makefile
M build.win32x86/pharo.sista.spur/Makefile
M build.win64x64/pharo.cog.spur/Makefile
M build.win64x64/pharo.stack.spur/Makefile
M nsspur64src/vm/cogit.h
M nsspur64src/vm/cogitX64SysV.c
M nsspur64src/vm/cogitX64WIN64.c
M nsspur64src/vm/cointerp.c
M nsspur64src/vm/cointerp.h
M nsspur64src/vm/gcc3x-cointerp.c
M nsspur64src/vm/interp.h
M nsspursrc/vm/cogit.h
M nsspursrc/vm/cogitARMv5.c
M nsspursrc/vm/cogitIA32.c
M nsspursrc/vm/cogitMIPSEL.c
M nsspursrc/vm/cointerp.c
M nsspursrc/vm/cointerp.h
M nsspursrc/vm/gcc3x-cointerp.c
M nsspursrc/vm/interp.h
M nsspurstack64src/vm/gcc3x-interp.c
M nsspurstack64src/vm/interp.c
M nsspurstack64src/vm/interp.h
M nsspurstacksrc/vm/gcc3x-interp.c
M nsspurstacksrc/vm/interp.c
M nsspurstacksrc/vm/interp.h
M spur64src/vm/cogit.h
M spur64src/vm/cogitX64SysV.c
M spur64src/vm/cogitX64WIN64.c
M spur64src/vm/cointerp.c
M spur64src/vm/cointerp.h
A spur64src/vm/cointerpmt.c
A spur64src/vm/cointerpmt.h
M spur64src/vm/gcc3x-cointerp.c
A spur64src/vm/gcc3x-cointerpmt.c
M spur64src/vm/interp.h
M spurlowcode64src/vm/cogit.h
M spurlowcode64src/vm/cogitX64SysV.c
M spurlowcode64src/vm/cogitX64WIN64.c
M spurlowcode64src/vm/cointerp.c
M spurlowcode64src/vm/cointerp.h
M spurlowcode64src/vm/gcc3x-cointerp.c
M spurlowcode64src/vm/interp.h
M spurlowcodesrc/vm/cogit.h
M spurlowcodesrc/vm/cogitARMv5.c
M spurlowcodesrc/vm/cogitIA32.c
M spurlowcodesrc/vm/cogitMIPSEL.c
M spurlowcodesrc/vm/cointerp.c
M spurlowcodesrc/vm/cointerp.h
M spurlowcodesrc/vm/gcc3x-cointerp.c
M spurlowcodesrc/vm/interp.h
M spurlowcodestack64src/vm/gcc3x-interp.c
M spurlowcodestack64src/vm/interp.c
M spurlowcodestack64src/vm/interp.h
M spurlowcodestacksrc/vm/gcc3x-interp.c
M spurlowcodestacksrc/vm/interp.c
M spurlowcodestacksrc/vm/interp.h
M spursista64src/vm/cogit.h
M spursista64src/vm/cogitX64SysV.c
M spursista64src/vm/cogitX64WIN64.c
M spursista64src/vm/cointerp.c
M spursista64src/vm/cointerp.h
M spursista64src/vm/gcc3x-cointerp.c
M spursista64src/vm/interp.h
M spursistasrc/vm/cogit.h
M spursistasrc/vm/cogitARMv5.c
M spursistasrc/vm/cogitIA32.c
M spursistasrc/vm/cogitMIPSEL.c
M spursistasrc/vm/cointerp.c
M spursistasrc/vm/cointerp.h
M spursistasrc/vm/gcc3x-cointerp.c
M spursistasrc/vm/interp.h
M spursrc/vm/cogit.h
M spursrc/vm/cogitARMv5.c
M spursrc/vm/cogitIA32.c
M spursrc/vm/cogitMIPSEL.c
M spursrc/vm/cointerp.c
M spursrc/vm/cointerp.h
A spursrc/vm/cointerpmt.c
A spursrc/vm/cointerpmt.h
M spursrc/vm/gcc3x-cointerp.c
A spursrc/vm/gcc3x-cointerpmt.c
M spursrc/vm/interp.h
M spurstack64src/vm/gcc3x-interp.c
M spurstack64src/vm/interp.c
M spurstack64src/vm/interp.h
M spurstacksrc/vm/gcc3x-interp.c
M spurstacksrc/vm/interp.c
M spurstacksrc/vm/interp.h
M src/plugins/CameraPlugin/CameraPlugin.c
M src/plugins/FilePlugin/FilePlugin.c
M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c
M src/plugins/FloatMathPlugin/FloatMathPlugin.c
M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c
M src/plugins/ScratchPlugin/ScratchPlugin.c
M src/plugins/UnicodePlugin/UnicodePlugin.c
M src/vm/cogit.h
M src/vm/cogitARMv5.c
M src/vm/cogitIA32.c
M src/vm/cogitMIPSEL.c
M src/vm/cointerp.c
M src/vm/cointerp.h
M src/vm/cointerpmt.c
M src/vm/cointerpmt.h
M src/vm/gcc3x-cointerp.c
M src/vm/gcc3x-cointerpmt.c
M src/vm/interp.h
M stacksrc/vm/gcc3x-interp.c
M stacksrc/vm/interp.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.2361
Spur:
Make read-only (-DIMMUTABILITY) the default wth Spur VMs.
Add Squeak Spur MT interpreters to the generated files.
Plugins:
Deprecate the unused in-argument-order primitive argument accessors
floatArg:, integerArg:, methodArg:, & objectArg:. These have never been
used. Replace them with more convenient variants of methodReturnValue:,
namely methodReturnBool:, methodReturnFloat:, methodReturnInteger:,
and methodReturnString:. Use them in a few primitives.