We detected and fixed two serious and two minor bugs which required a 7.0.1 hotfix release.
- GC regression --optimize caused by PARROT_CANNOT_RETURN_NULL, which was visible on machines with low memory. https://github.com/parrot/parrot/issues/1186 This causes segfaults with --optimize, which is the default for nqp and rakudo, on better (i.e. newer) compilers. The bug was there since 3.6, but turned evil only with 7.0, when packfile got refactored. - threads deadlock in gc_gms_mark_and_sweep() https://github.com/parrot/parrot/issues/1187 With cc -O3 the lock code is too far away from the guard, thus causing our threads example examples/threads/chameneos.pbc to hang, a regression from 6.11.0
And 2 minor ones for --m=64 or --m=32:
- fix --m=64 with gcc on ppc64 and mips64 #1181, --m=64 produced wrong ld and linkflags since 6.10, GH #1110 - fix icu probes with --m #1182 We never linked icu again the libs in the configure step, so we failed to detect wrong architectures, and worse, added wrong arch include and libpaths to the flags (e.g. amd64 --m=32), causing all sorts of icu errors, when has_icu=1 but either linking or runtime failed. This always caused problems.