Is it possible to build OpenSmalltalk VM for OpenBSD?
If yes, how? If no, is there any other solution available?
OpenBSD ports for 6.4 for AMD64 has only the 3.10-1 version available.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/413
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: a1ed45f3102e99d94170fa2a25df5d7d3bba3d60
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a1ed45f3102e99d941…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2019-07-30 (Tue, 30 Jul 2019)
Changed paths:
M build.win32x86/common/Makefile.tools
M build.win64x64/common/Makefile.tools
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/header.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/mpeg3audio.h
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/bitstream.h
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.h
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.h
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3private.h
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.h
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/getpicture.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/headers.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/macroblocks.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/motion.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3video.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/reconstruct.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/seek.c
M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/slice.h
M platforms/iOS/vm/OSX/sqPlatformSpecific.h
M platforms/iOS/vm/iPhone/sqPlatformSpecific.h
Log Message:
-----------
Define SQUEAK_BUILTIN_PLUGIN in the right place so that Makefile.tools can be
included by plugin Makefiles.
Reduce the number of implciit declarations and compiler warnings in the mpeg3
support source. Still a few more to be done, but this shows the way.
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 478f654645a5500b64d85b0aa6e3bd77ac4e65c9
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/478f654645a5500b64…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2019-07-24 (Wed, 24 Jul 2019)
Changed paths:
M nsspur64src/vm/cointerp.c
M nsspur64src/vm/cointerp.h
M nsspur64src/vm/gcc3x-cointerp.c
M nsspursrc/vm/cointerp.c
M nsspursrc/vm/cointerp.h
M nsspursrc/vm/gcc3x-cointerp.c
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/cointerp.c
M spur64src/vm/cointerp.h
M spur64src/vm/cointerpmt.c
M spur64src/vm/cointerpmt.h
M spur64src/vm/gcc3x-cointerp.c
M spur64src/vm/gcc3x-cointerpmt.c
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.c
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/cointerp.c
M spursista64src/vm/cointerp.h
M spursista64src/vm/gcc3x-cointerp.c
M spursistasrc/vm/cointerp.c
M spursistasrc/vm/cointerp.h
M spursistasrc/vm/gcc3x-cointerp.c
M spursrc/vm/cointerp.c
M spursrc/vm/cointerp.h
M spursrc/vm/cointerpmt.c
M spursrc/vm/cointerpmt.h
M spursrc/vm/gcc3x-cointerp.c
M spursrc/vm/gcc3x-cointerpmt.c
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/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 stacksrc/vm/gcc3x-interp.c
M stacksrc/vm/interp.c
M stacksrc/vm/interp.h
Log Message:
-----------
CogVm source as per VMMaker.oscog-eem.2537
Bite the bullet and embrace methodReturnString:.
Better this is well implemented once in the interpreter than potentially badly
implemented many times in plugins. Check the C string argument for null to
avoid passing null to strlen, which can crash.
Eliot Miranda uploaded a new version of VMMaker to project VM Maker Inbox:
http://source.squeak.org/VMMakerInbox/VMMaker.oscog-eem.2537.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.2537
Author: eem
Time: 24 July 2019, 1:01:33.831274 pm
UUID: 0518f049-7c3c-4dfa-8e2d-04e2cf2eee40
Ancestors: VMMaker.oscog-eem.2536
Bite the bulklet and embrace methodReturnString:.
Better this is well implemented once in the interpreter than potentially badly implemented many times in plugins. Check the C string argument for null to avoid passing null to strlen:, which can crash.
=============== Diff against VMMaker.oscog-eem.2536 ===============
Item was changed:
----- Method: InterpreterProxy>>methodReturnString: (in category 'stack access') -----
methodReturnString: aCString
+ "Attempt to answer a ByteString for a given C string as the result of a primitive."
- "Sets the return value for a method."
- "THIS IS DUBIOUS!! CONSIDER REMOVING IT!! RIGHT NOW IT IS NOT SENT."
<var: 'aCString' type: #'char *'>
+ aCString
+ ifNil: [primFailCode := PrimErrOperationFailed]
+ ifNotNil:
+ [(self stringForCString: aCString)
+ ifNil: [primFailCode := PrimErrNoMemory]
+ ifNotNil: [:result| self pop: argumentCount+1 thenPush: result]].
- (self stringForCString: aCString)
- ifNil: [primFailCode := PrimErrNoMemory]
- ifNotNil: [:result| self pop: argumentCount+1 thenPush: result].
^0!
Item was changed:
----- Method: StackInterpreter>>methodReturnString: (in category 'plugin primitive support') -----
methodReturnString: aCString
+ "Attempt to answer a ByteString for a given C string as the result of a primitive."
- "Sets the return value for a method."
<var: 'aCString' type: #'char *'>
+ aCString
+ ifNil: [primFailCode := PrimErrOperationFailed]
+ ifNotNil:
+ [(self stringForCString: aCString)
+ ifNil: [primFailCode := PrimErrNoMemory]
+ ifNotNil: [:result| self pop: argumentCount+1 thenPush: result]].
- self pop: argumentCount+1 thenPush: (objectMemory stringForCString: aCString).
^0!