Error found in 64 bit version of Retro/Nga

From Rick:

#Dynamic Lists in Retro

ERROR (nga/execute): Invalid instruction!
At 0, opcode 35
Instructions: 35d 0d 0d 0d
<a href="/~crc_/retroforth/12" title="~crc_/retroforth#12: python: add time queries">#12</a> 'node:SIZE const
:node:allocate  (-aa) node:SIZE mem:alloc ;
:node:car       (nn-nn) ;
:node:fetch-car (nn-n) node:car mem:fetch ;
:node:store-car (aan-)  mem:store ;
:node:cdr       (nn-nn) <a href="/~crc_/retroforth/1" title="~crc_/retroforth#1: suggesion: repurpose i/o (port 0) (type 0) as the type manager">#1</a> mem:cell+ mem:fetch-double ;
:node:fetch-cdr (nn-nn) node:cdr mem:fetch-double swap ;
:node:store-cdr (aann-) double:swap node:cdr double:swap mem:store-double ;
:node:link-pair (hhtt-) [ node:store-cdr ] double:sip ;
:node:last?     (aa-f) node:fetch-cdr or ;


I haven’t been able to replicate this yet on OpenBSD or FreeBSD.

Assigned to
25 days ago
21 days ago
minor-bug retro/nga

~crc_ 25 days ago

Quick update:

I’ve tried this under OpenBSD, FreeBSD, and Alpine Linux; no issues on these.

I’m going to try on macOS/M1 tomorrow night (my machine is currently offline, so I’ll need to plug in a display and find out why).

I’ll also be looking at adding a glibc-based Linux system to my testing mix. This might not happen until the weekend though.

~crc_ 22 days ago

This is caused by an incorrect dependencies allowing an old 32-bit build component to linger. I’m going to go through the dependencies to try to get this sorted.

In the interim, running make clean, then building should work. I’ve changed the default build settings to run clean before building until I have time to do the testing necessary to pinpoint the incorrect dependency in the Makefile.

Register here or Log in to comment, or comment via email.