summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2009-12-03 11:35:27 -0800
committerKaz Kylheku <kaz@kylheku.com>2009-12-03 11:35:27 -0800
commitad025d8db847c1100b25478191a1a0ca9ad22db1 (patch)
tree9ef71058871710ac3737f5902d0ad82014f5c5b8 /ChangeLog
parent8c53d9597b4d1dbe3da719f106ae46bf6ac3b1e8 (diff)
downloadtxr-ad025d8db847c1100b25478191a1a0ca9ad22db1.tar.gz
txr-ad025d8db847c1100b25478191a1a0ca9ad22db1.tar.bz2
txr-ad025d8db847c1100b25478191a1a0ca9ad22db1.zip
Fix for failing test suite on MIPS machine, due to
gc failing to mark a local variable in txr_main.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog12
1 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4a5e2754..dea783b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-12-03 Kaz Kylheku <kkylheku@gmail.com>
+
+ Fix for failing test suite on MIPS machine, due to
+ gc failing to mark a local variable in txr_main.
+
+ * txr.c (txr_main): Changed from internal linkage to external.
+ This prevents gcc -O2 from inlining txr_main into main.
+ We need separate stack frames for main and txr_main,
+ in order to be sure that when walking to the bottom of
+ stack pointer, we visit all locals in main. This is the
+ whole reason why there is a separate txr_main.
+
2009-12-02 Kaz Kylheku <kkylheku@gmail.com>
* Makefile (tests): Don't depend on the executable. Otherwise,