[comp.lang.modula2] Benchmark M2 - req.library - problems!

d85-jmh@nada.kth.se (Jan-Olof Hendig) (11/09/90)

I recently downloaded the file bm2req.lzh from abcfd20.larc.nasa.gov.
The file contained req.library-bindings for Benchmark Modula2 for the
Amiga. Unfortunately it doesn't work, the programs I write compiles fine
but when I run them the machine crashes. The source level debugger shows
that the code generated is incorrect. The library base is not stored in
A6 before the call to the libraryroutine (the instruction loading A6 is
totally weird). Not even the parameters are passed correctly, the 
ColorRequesterroutine should have one parameter passed in D0 but it is
passed in A0 instead. Now, either I am deluding myself or else there is
something seriously wrong with the bm2req-package.
Comments anyone. I am using version 1.04 of the compiler if that makes any
difference.

Jan-Olof Hendig

a665@mindlink.UUCP (Anthon Pang) (11/10/90)

> d85-jmh@nada.kth.se writes:
> I recently downloaded the file bm2req.lzh from abcfd20.larc.nasa.gov.
> [...]
> The library base is not stored in
> A6 before the call to the library routine (the instruction loading A6 is
> totally weird). Not even the parameters are passed correctly, the
> ColorRequester routine should have one parameter passed in D0 but it is
> passed in A0 instead. Now, either I am deluding myself or else there is
> something seriously wrong with the bm2req-package.
> Comments anyone. I am using version 1.04 of the compiler if that makes any
> difference.

The code generated is correct...it's just the wrong code for that function...in
the case of ColorRequester, this is the glue code for FileRequester.

The problem is not serious, as full source is provided.  The fix is simple,
reorder the "DEF_PROC"s in the same order as the "PROCEDURE_CODE"s...recompile.

However, a new version is now available, which supports version 2.3 of
req.library.  If it doesn't show up on abcfd20 by Monday, I'll ftp it there.