[Vm-dev] nuSqueak source

Yoshiki Ohshima Yoshiki.Ohshima at acm.org
Tue Oct 27 15:21:30 UTC 2020


The previous one was just a hack but I think I found the real problem. It
was about the variable symbolic, that gets symbolic key code *when* it is
needed has to be zero'ed  out when it is not needed.

The diff is attached... I'll a make pull request if that helps.

On Sat, Oct 24, 2020 at 5:32 PM Yoshiki Ohshima <Yoshiki.Ohshima at acm.org>
wrote:

> For the /build.linuxARMv6/squeak.cog.spur/build.debug  case, a hack I did
> was like this:
>
> diff --git a/platforms/unix/vm/sqPlatformSpecific.h
> b/platforms/unix/vm/sqPlatformSpecific.h
>
> index 268593673..bfb57257b 100644
>
> --- a/platforms/unix/vm/sqPlatformSpecific.h
>
> +++ b/platforms/unix/vm/sqPlatformSpecific.h
>
> @@ -105,8 +105,8 @@ extern void sqFilenameFromString(char *uxName, sqInt
> stNameIndex, int sqNameLeng
>
>  #undef sqFTruncate
>
>  /* sqFTruncate should return 0 on success, ftruncate does also */
>
>  #define        sqFTruncate(f,o) ftruncate(fileno(f), o)
>
> -#define ftell(s) ftello(s)
>
> -#define fseek(s,o,w) fseeko(s,o,w)
>
> +// #define ftell(s) ftello(s)
>
> +// #define fseek(s,o,w) fseeko(s,o,w)
>
>
>  #if defined(__GNUC__)
>
>  # if !defined(VM_LABEL)
>
> diff --git a/spur64src/vm/cogit.c b/spur64src/vm/cogit.c
>
> index d62b05f40..e1c14a021 100644
>
> --- a/spur64src/vm/cogit.c
>
> +++ b/spur64src/vm/cogit.c
>
> @@ -6,6 +6,8 @@
>
>  # define SysV 1
>
>  #endif
>
>
> +#define __arm64__
>
> +
>
>  #if defined(__arm64__) || defined(__aarch64__) ||
> defined(__ARM_ARCH_ISA_A64) || defined(ARM64) || defined(ARMv8)
>
>
> and this produced a runnable VM on Raspberry Pi4
>
> On Sat, Oct 24, 2020 at 4:41 PM Yoshiki Ohshima <Yoshiki.Ohshima at acm.org>
> wrote:
>
>> And I tried a few more things by checking out the last release tag
>> 202003021730 or try opensmalltalk-vm/build.linuxARMv6/squeak.cog.spur/build.debug
>> but those attempts did not work. For the latter got this error:
>>
>> In file included from /usr/include/features.h:424,
>>
>>                  from /usr/include/pthread.h:21,
>>
>>                  from
>> /home/pi/opensmalltalk-vm/platforms/unix/vm/sqPlatformSpecific.h:62,
>>
>>                  from
>> /home/pi/opensmalltalk-vm/platforms/Cross/vm/sqAssert.h:16,
>>
>>                  from
>> /home/pi/opensmalltalk-vm/platforms/unix/vm/aio.c:35:
>>
>> /usr/include/stdio.h:721:12: error: conflicting types for ‘fseeko’
>>
>>  extern int __REDIRECT (fseeko,
>>
>>             ^~~~~~~~~~
>>
>> In file included from
>> /home/pi/opensmalltalk-vm/platforms/Cross/vm/sqAssert.h:16,
>>
>>                  from
>> /home/pi/opensmalltalk-vm/platforms/unix/vm/aio.c:35:
>>
>> /home/pi/opensmalltalk-vm/platforms/unix/vm/sqPlatformSpecific.h:109:22:
>> note: previous declaration \
>>
>> of ‘fseeko’ was here
>>
>>  #define fseek(s,o,w) fseeko(s,o,w)
>>
>>                       ^~~~~~
>>
>>
>>
>>
>> On Sat, Oct 24, 2020 at 1:59 PM Yoshiki Ohshima <Yoshiki.Ohshima at acm.org>
>> wrote:
>>
>>> Hi Eliot,
>>>
>>> For build.linux64ARMv8/squeak.cog.spur/build.debug, i get the following
>>> error. I think I followed the steps in the instructions, including running
>>> updateSCCSVersion and mvm. How can I fix it?
>>>
>>> /home/pi/opensmalltalk-vm/spur64src/vm/cogit.c:22:3: error: #error As
>>> yet no Cogit implementation appears to exist for your platform.
>>>
>>>  # error As yet no Cogit implementation appears to exist for your
>>> platform.
>>>
>>>    ^~~~~
>>>
>>> /home/pi/opensmalltalk-vm/spur64src/vm/cogit.c:23:3: error: #error
>>> Consider implementing it, starting by adding a subclass of
>>> CogAbstractInstruction.
>>>
>>>  # error Consider implementing it, starting by adding a subclass of
>>> CogAbstractInstruction.
>>>
>>>    ^~~~~
>>>
>>> make[1]: *** [Makefile:207: cogit.o]
>>>
>>> On Wed, Oct 21, 2020 at 10:21 AM Eliot Miranda <eliot.miranda at gmail.com>
>>> wrote:
>>>
>>>>
>>>> Hi Yoshiki,
>>>>
>>>> On Wed, Oct 21, 2020 at 10:14 AM Yoshiki Ohshima <
>>>> Yoshiki.Ohshima at acm.org> wrote:
>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> I heard that people got a new problem in inputting Japanese text into
>>>>> Scratch 1.4 running on Raspberry Pi OS after, or around the version
>>>>> 2020-08-20. I would like to take a look at it but it might involve
>>>>> recompiling and generating  the VM with debugging info.  Last time I looked
>>>>> into it was years and years ago and I need to basically make a fresh start.
>>>>>
>>>>> Is the process of making NuSqeauk VM For Raspberry Pi up to date and
>>>>> straightforward? Can people point me to the right point to start?
>>>>>
>>>>
>>>> Making a Cog VM for Raspberry pi is straight-forward.  Clone
>>>> opensmalltalk-vm.  cd to build.linux64ARMv8, read the HowToBuild, cd to build.linux64ARMv8/squeak.cog.spur/build.debug,
>>>> or build.linux64ARMv8/squeak.stack.spur/build.debug, then run ./mvm
>>>>
>>>> _,,,^..^,,,_
>>>> best, Eliot
>>>>
>>>
>>>
>>> --
>>> -- Yoshiki
>>>
>>>
>>
>> --
>> -- Yoshiki
>>
>>
>
> --
> -- Yoshiki
>
>

-- 
-- Yoshiki
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20201027/57c54989/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: compositioninput.diff
Type: application/octet-stream
Size: 5440 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20201027/57c54989/attachment-0001.obj>


More information about the Vm-dev mailing list