We should separate evaluation of the heap stretching heuristics from the
evaluation of the GC itself, otherwise our analysis of the GC itself
will be too sensitive to the details of the final heap size. Anyway
this doesn't affect results as we already specified the heap size
precisely.
Don't close the test port's file descriptor because the port still has a
reference to it, and could still close it at any time when finally
garbage collected. This did soemetimes break subsequent tests.
Bug: https://debbugs.gnu.org/43521
Also expand GC interface with "allocate_pointerless". Limit lazy
sweeping to the allocation size that is causing the sweep, without
adding to fragmentation.
Fixes synchronization issues observed on slow or loaded machines, where
client connection attempts would fail with ECONNREFUSED:
https://issues.guix.gnu.org/54348
* test-suite/tests/web-server.test ("server is listening"): New test.
Before the change ./configure incorrectly enabled -flto on toolchains
that support -flto on compiler side but don't support -flto on linker
side. This caused incorrect type size detection on nixpkgs' Darwin:
configure:54594: checking size of size_t
configure:54600: clang -std=gnu11 -o conftest -g -O2 -flto conftest.c >&5
ld: warning: ignoring file /private/tmp/nix-build-guile-3.0.8.drv-0/conftest-00e93d.o,
building for macOS-x86_64 but attempting to link with file built
for unknown-unsupported file format ( 0xDE 0xC0 0x17 0x0B 0x00 0x00 0x00 0x00 0x14 0x00 0x00 0x00 0x80 0x1A 0x00 0x00 )
Undefined symbols for architecture x86_64:
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Taken from https://github.com/NixOS/nixpkgs/pull/160051#issuecomment-1046105041
The change makes sure -flto support tests basic support of just for
object file generation but for linker as well.
* configure.ac: use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Commit 54bbe0b284 inadvertently led
psyntax to dismiss source location info for data returned by read hash
extensions, because read hash extensions return plain data with
associated source properties, even when called from 'read-syntax'.
This change reverts part of this commit to restore that behavior.
Fixes <https://issues.guix.gnu.org/54003>.
* module/ice-9/psyntax.scm (datum-sourcev): New procedure.
(source-annotation): Fall back to 'datum-sourcev'.
* module/ice-9/psyntax-pp.scm: Regenerate.
* test-suite/tests/compiler.test ("psyntax")["syntax-source with
read-hash-extend"]: New test.