В Чтв, 05/05/2011 в 18:54 +0400, Paul Wolneykien пишет:
Hi,
Wed May 04 2011 14:55 +0400, Paul Wolneykien wrote:
Still get SEGFAULT trying to compile some code with the resulting build of gsc.
I've fixed the problem: v4.6.0 builds fine from the following commit:
Sorry, I was wrong — it doesn't. So I checked the differences between the *.c files generated by the bootstrap compiler with the packaged *.c files in the official Gambit *.tgz release package (diffs attached). The main difference is the use of "IFD" instead of "OFD" in many places (may be everywhere). And there is no such difference when building on x86-64. So I think the problem really exists and it is caused by the frame size calculations (gsc/_t-c-*.scm): where the official release *.c files contain "OFD" declarations, the *.c files generated from *.scm files on i586-machine contain "IFD" declarations instead. The same process when run on x86-64 machine produces *.c with "OFD" declarations nearly identical to the official release *.c files.
Regards,
Paul.
commit 02c1427d40eb080a4ada916d55ecbb14cc191772 Author: Marc Feeley feeley@iro.umontreal.ca Date: Thu Jan 14 23:06:37 2010 -0500
Fix compiler bug which caused out-of-line internal continuation
frames to have incorrect frame descriptors.
Previously, I tried to build from the commit marked [RUNTIME CHANGES NEEDED FOR v4.6.0] and got a segfault on test number 5.
Marc, may I ask you to tag stable releases of Gambit in the git repository?
TIA, Paul.