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.
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()
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.