[Ecls-list] Maxima/Ecl on 32-bit machine cannot evaluate "apply(union, listify({{..}}))"



I can confirm that building ECL 0.9l with --disable-asmapply
makes this error disappear.

(Just to mention, it doesn't affect the segmentation fault we
are discussing in the other thread.)

Oliver

P.S. Once the feature, which is disabled by the above option,
should be working, perhaps you could put some notice on the
ECL (or Maxima) mailing list, so that I could remove the
option from my build system?


On Wed, Sep 03, 2008 at 09:21:04AM +0200, Juan Jose Garcia-Ripoll wrote:
> On Wed, Sep 3, 2008 at 6:12 AM, Robert Dodier <robert.dodier at gmail.com> wrote:
> > Despite the lack of detail it seems pretty obviously a bug in
> > ecl/src/c/apply.d which has separate cases for 64 arguments or less
> > and more than 64.
> 
> Do not say "pretty obviously" please. ECL has a mechanism by which
> only up to that many parameters are passed using the C stack and the
> rest are on the interpreter stack and it has worked pretty well in the
> past.
> 
> I am almost 100% sure that this comes from the --enable-asmapply which
> has some not too thoroughly tested assembly code -- it got activated
> by default in the last release when it had better not be. That is also
> the reason why it only happens in intel32bit mode: we only have
> assembler code for that platform. Can you please build ECL with
> --disable-asmapply or use latest CVS and feed back the results?
> 
> Juanjo
> 
> -- 
> Instituto de F?sica Fundamental
> CSIC, Serrano, 113, Madrid 28040 (Spain)
> http://juanjose.garciaripoll.googlepages.com

-- 
Dr. Oliver Kullmann
Computer Science Department
Swansea University
Faraday Building, Singleton Park
Swansea SA2 8PP, UK
http://cs.swan.ac.uk/~csoliver/