[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Build failure with clisp - minitests fail

Hi all,

I am currently trying to work on a MIPS build failure for clisp that
prevents the FFI module from being built.

The minitests for the avcall module fail, and from the output of
minitests.output.mips-unknown-linux-gnu it appears that there is
something wrong with the code for floating points:

float f(4*float):(0.1,0.2,0.3,0.4)->1
float f(4*float):(0.1,0.2,0.4,7.00649e-45)->0.7
float f(8*float):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8)->3.6
float f(8*float):(0.1,0.2,0.4,0.5,0.6,0.7,0.8,1.26117e-44)->3.3
float f(16*float):(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,1.5,1.6,1.7)->14.3
float f(16*float):(0.1,0.2,0.4,0.5,0.6,0.7,0.8,0.9,1.1,1.2,1.3,1.4,1.5,1.6,1.7,2.53449e-29)->14

This output should be interpreted as:
	desired output line
	actual output line

I know nearly nothing about MIPS but it does look like when the
arguments are passed on to the function av_float they somehow get
corrupted after the second parameter. The list { 0.1, 0.2, 0.3, 0.4 }
turns into { 0.1, 0.2, 0.4, nnn }, where nnn just might be some noise
from indexing past the end of an array or something. The tests for
f_f and f_f2 pass, and only f_f4, f_f8 and f_f16 fail, so it seems that
passing in more than two arguments triggers a bug somewhere. The third
parameter just seems to be gobbled up somehow.

I can supply the relevant files if someone wants to look at them. I hope
that someone on this list might be able to recognize what could be the
problem here.

Thanks in advance!

Reply to: