From 0514976af20b14cb89dd114c35164766c2ec1fff Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Thu, 10 Nov 2016 12:23:04 +0100 Subject: log --- log.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/log.md b/log.md index e345c0d..b821ad6 100644 --- a/log.md +++ b/log.md @@ -428,3 +428,20 @@ However, `twice.icl` and `stwice.icl` still segfault. notation, which is hard to test in my current setup. - `stwice.icl`, `twice.icl`: broken (segfault). - All others work fine. + +### 2016-11-10 + +Updated `reverse.icl`, `revtwice.icl`, `sieve.icl` and `copyfile.icl` to +compile (i.e. use `fromto` instead of `..` and copy library functions in). +`sieve`, `reverse` and `copyfile` work straightaway. + +Got `twice.icl` and `stwice.icl` to work by fixing `thumb2ap.s` (rts +`4f0223b`). The issue was that the PC was stored with offset 9 instead of +seven, while a narrow `blx` instruction followed. + +There is an issue with `revtwice.icl`; at some point in the garbage collector +`$r6 == 0x1d1`. This is because the address of `__cycle__in__spine` or +`__reverse` >> 8 equals `0x1d1`. So somewhere there is an off-by-one error. + +I also have the feeling that there should be a `.long 0` right before +`__reserve` in `_system.s`. Should be checked with John. -- cgit v1.2.3