Although this patch looks good and tests out fine, during the tests, chicken bloats to 1GB and gcc to 500MB, and they take forever to build apply-test -- probably because the .c file is 40MB! I'm not sure it's wise to apply as-is; it may kill some machines. Suggestions?
Jim On Jul 24, 2013, at 2:07 PM, Peter Bex <peter....@xs4all.nl> wrote: > Hi all, > > As we figured out in ticket #910, there are two problems when directly > invoking procedures with a large number of rest arguments (not via APPLY): > > - there's a bug in GCC 4.5's code generation which causes random errors > like segfaults and illegal instructions to occur. > - even with a correct C compiler, when going beyond the temporary stack's > limit, this isn't checked and segfaults will occur. > > Here's a patch to add detection for the latter situation, and an improved > version of the apply-test, which will detect the former situation as well. > This can help users to determine whether their CHICKEN is built correctly > and can produce working executables with procedure applications of large > argument counts, and tells them to upgrade GCC if it segfaults. > > Unfortunately, the test takes rather long to build (it has to be > compiled now), but I think it's worth it regardless as it will help > prevent spurious bug reports by detecting both error situations. > > Cheers, > Peter > -- > http://www.more-magic.net > <0001-Add-checks-for-hitting-the-rest-arg-count-limit-on-d.patch>_______________________________________________ > Chicken-hackers mailing list > Chicken-hackers@nongnu.org > https://lists.nongnu.org/mailman/listinfo/chicken-hackers _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers