Package: guile-3.0 / 3.0.10+really3.0.10-6
Metadata
Package | Version | Patches format |
---|---|---|
guile-3.0 | 3.0.10+really3.0.10-6 | 3.0 (quilt) |
Patch series
view the series filePatch | File delta | Description |
---|---|---|
0001 Mark mutex with owner not retained threads test as u.patch | (download) |
test-suite/tests/threads.test |
6 4 + 2 - 0 ! |
mark "mutex with owner not retained" threads test as unresolved. As per discussion with upstream, mark this test as unresolved since it may produce false negatives, depending on the behavior/timing of the garbage collector. |
0002 Look for guile procedures.txt in pkglibdir.patch | (download) |
module/ice-9/documentation.scm |
5 4 + 1 - 0 ! |
look for guile-procedures.txt in pkglibdir Look for guile-procedures.txt in %guile-build-info's pkglibdir first since the content is not architecture independent. Bug: https://debbugs.gnu.org/22833 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816123 |
0003 Disable sandbox.test 1e6 alloc loop allocation limit.patch | (download) |
test-suite/tests/sandbox.test |
6 4 + 2 - 0 ! |
disable sandbox.test "1e6 alloc loop" "allocation limit" test The test suite would eventually hang on sandbox.test when run in a "make -j5 check" loop. The last test printed to the log was the one before "1e6 alloc loop", and after commenting out that test, the loop doesn't appear to hang, so disable it for now. |
0004 gc.test after gc hook mark unresolved on failure eve.patch | (download) |
test-suite/tests/gc.test |
2 1 + 1 - 0 ! |
gc.test: after-gc-hook - mark unresolved on failure (everywhere) Previously this was done for just mips and mipsel, 59d9bcd468aab0d97d763595fd4e934044dc7590 "gc.test: after-gc-hook - mark unresolved on failure for mips(el)", and then fd4ba18bca1c6000fc0dd417a5b489e1ac60e0d9 "Fix gc.test "after-gc-hook gets called" failures" attempted to fix it upstream, but as of 2.2.6 it's failing again, this time on amd64, so just mark it as unresolved everywhere for now. Bug: https://debbugs.gnu.org/31776 Bug-Debian: https://bugs.debian.org/900652 |
0005 Mark test out of memory as an expected failure for n.patch | (download) |
test-suite/standalone/Makefile.am |
3 2 + 1 - 0 ! |
mark test-out-of-memory as an expected failure for now Since this test has been failing for a long time on various architectures, mark it as expected to fail for now so that we'll still run it and can see the results, but won't be blocked by it. There are known issues with the test upstream, and at least in some past cases it's been possible to reproduce the failure quickly by running test-suite/standalone/test-out-of-memory in a loop. Bug: https://debbugs.gnu.org/29464 Bug-Debian: https://bugs.debian.org/880148 Bug-Debian: https://bugs.debian.org/966300 |
0006 numbers.test disable unresolved mixed type division .patch | (download) |
test-suite/tests/numbers.test |
19 16 + 3 - 0 ! |
numbers.test: disable unresolved "mixed type" division tests on i686 Bug: https://debbugs.gnu.org/43262 Bug-Debian: https://bugs.debian.org/968403 |
0007 Fix 32 bit big endian builds via Oresolve primitives.patch | (download) |
bootstrap/Makefile.am |
9 8 + 1 - 0 ! |
fix 32-bit big endian builds via -oresolve-primitives -ocps Specify -Oresolve-primitives -Ocps during bootstrapping builds to fix build failures on 32-bit big endian architectures. Thanks to John David Anglin for reporting the problem and investigating the problem, and to John Paul Adrian Glaubitz for helping devise the solution. Bug: https://debbugs.gnu.org/45214 Bug-Debian: https://bugs.debian.org/977223 |
0008 test hashing support 32 bit.patch | (download) |
test-suite/standalone/test-hashing.c |
8 7 + 1 - 0 ! |
test-hashing: support 32-bit * test-suite/standalone/test-hashing.c (test_hashing): add expected value for 32-bit architectures. |
0009 More thorough lowering of lognot to CPS.patch | (download) |
module/language/tree-il/compile-cps.scm |
8 6 + 2 - 0 ! |
more thorough lowering of lognot to cps * module/language/tree-il/compile-cps.scm (canonicalize): Lower to a logxor with -1. |
0010 Fix intset fold right on transient intsets.patch | (download) |
module/language/cps/intset.scm |
17 9 + 8 - 0 ! |
fix intset-fold-right on transient intsets * module/language/cps/intset.scm (make-intset-folder): intset-fold-right on a transient intset would dispatch to left fold after making the persistent set. Sadness! |
0011 Add a workaround for pre 3.0.10 incorrect inlinable .patch | (download) |
module/language/tree-il/peval.scm |
20 18 + 2 - 0 ! |
add a workaround for pre-3.0.10 incorrect inlinable exports * module/language/tree-il/peval.scm (peval) (inlinable-kwargs-bug-fixup): Before 3.0.10, the inlinable exports pass was incorrectly serializing functions with keyword arguments. This was fixed in 2c645571b351a0044911847025b666551a8e4fb5, but that meant that 3.0.10 compiling against 3.0.9 binaries could raise an exception at compile-time; whoops. Add a workaround so that 3.0.9 binaries still work. Fixes https://issues.guix.gnu.org/72936. |
0012 Remove needless constraints in type range analysis.patch | (download) |
module/language/cps/types.scm |
11 1 + 10 - 0 ! |
remove needless constraints in type/range analysis * module/language/cps/types.scm (ulogand, ulogand/immediate, ulogsub, ulogior, ulogxor): Where we have u64 inputs, there's no need to `restrict!`; the range will come from the definition. |
0013 Narrow parameter of logand immediate if no bits used.patch | (download) |
module/language/cps/specialize-numbers.scm |
8 5 + 3 - 0 ! |
narrow parameter of logand/immediate if no bits used * module/language/cps/specialize-numbers.scm (specialize-operations): Narrow ulogand/immediate param according to used bits. |
0014 Partially revert d579848cb5d65440af5afd9c89686286655.patch | (download) |
module/language/cps/specialize-numbers.scm |
4 2 + 2 - 0 ! |
partially revert d579848cb5d65440af5afd9c8968628665554c22 * module/language/cps/specialize-numbers.scm (specialize-operations): Accept any operand to logand/immediate, provided the result is a u64 in the right range. |
0015 Fix fixpoint needed bits computation in specialize n.patch | (download) |
module/language/cps/specialize-numbers.scm |
27 10 + 17 - 0 ! |
fix fixpoint needed-bits computation in specialize-numbers * module/language/cps/specialize-numbers.scm (next-power-of-two): Use integer-length. No change. (compute-significant-bits): Fix the fixpoint computation, which was failing to complete in some cases with loops. |
0016 Fix boxing of non fixnum negative u64 values.patch | (download) |
module/language/cps/specialize-numbers.scm |
21 20 + 1 - 0 ! |
fix boxing of non-fixnum negative u64 values * module/language/cps/specialize-numbers.scm (u64->fixnum/truncate): New helper. (specialize-operations): Fix specialized boxing of u64 values to truncate possibly-negative values, to avoid confusing CSE. Fixes https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71891. |
0017 Tighten up range inference for scm u64 truncate.patch | (download) |
module/language/cps/types.scm |
8 5 + 3 - 0 ! |
tighten up range inference for scm->u64/truncate * module/language/cps/types.scm (scm->u64/truncate): Better range analysis. |
0018 Run sigbits fixpoint based on use def graph not cfg.patch | (download) |
module/language/cps/specialize-numbers.scm |
120 54 + 66 - 0 ! |
run sigbits fixpoint based on use/def graph, not cfg * module/language/cps/specialize-numbers.scm (sigbits-ref): New helper. (invert-graph*): New helper. (compute-significant-bits): When visiting a term changes computed needed-bits for one of its definitions, we need to revisit the variables that contributed to its result (the uses), because they might need more bits as well. Previously we were doing this by enqueueing predecessors to the term, which worked if the uses were defined in predecessors, or if all defining terms were already in the worklist, which is the case without loops. But with loops, when revisiting a term, you could see that it causes sigbits to change, enqueue its predecessors, but then the predecessors don't change anything and the fixpoint stops before reaching the definitions of the variables we need. So instead we compute the use-def graph and enqueue defs directly. |
0019 Compile with fexcess precision standard for i 3456 8.patch | (download) |
configure.ac |
24 24 + 0 - 0 ! |
compile with -fexcess-precision=standard for i[3456]86 when we can * configure.ac: when -fexcess-precision=standard is available and we're building for i[3456]86, use it. This fixes floating point precision problems caused by x87 (80-bit) floating point, and detected by numbers.test. Closes: 43262 |
0020 Eight byte align statically allocated stringbufs.patch | (download) |
libguile/strings.h |
2 1 + 1 - 0 ! |
eight byte align statically allocated stringbufs Previously they were unaligned, unlike their parent strings, and so could end up with the wrong pointer tag. Observed on i686-linux-gnu, where they ended up tagged as immediates (SCM_IMP()), causing failures in TYP7 related checks. * libguile/strings.h (SCM_IMMUTABLE_STRINGBUF): align resulting buffer via SCM_ALIGNED(8). |
0021 Mark inter protocol attack test unresolved if write .patch | (download) |
test-suite/tests/00-repl-server.test |
9 7 + 2 - 0 ! |
mark inter-protocol attack test unresolved if write-request fails This happens with some frequency during parallel test runs, and the same (apparent) failure can eventually be triggered by repeated moreutils parallel invocations like this in a built tree: parallel -j 3 ./check-guile -- \ 00repl-server.test 00repl-server.test 00repl-server.test |
0022 tests Skip hole related port tests on Darwin.patch | (download) |
test-suite/tests/ports.test |
12 12 + 0 - 0 ! |
tests: skip hole-related port tests on darwin. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hole are itself a file-system specific feature and they are not mandated. While APFS does support sparse files, they do not behave like on Linux. I did not discover exact rules, but the file needs to be large (100s of kB at least) and the holes are not aligned as the test code expects. So just disable them. * test-suite/tests/ports.test (skip-on-darwin): New procedure. ("size of sparse file", "SEEK_DATA while on data") ("SEEK_DATA while in hole", "SEEK_HOLE while in hole"): Skip on Darwin. Signed-off-by: Ludovic Courts <ludo@gnu.org> |
0023 Skip ports.test seek tests unless filesystem looks s.patch | (download) |
test-suite/tests/ports.test |
32 21 + 11 - 0 ! |
skip ports.test seek tests unless filesystem looks suitable For now, only test on filesystems that we know have the expected semantics, i.e. btrfs, ext4, and xfs. |
0024 fport_print handle ttyname ENODEV.patch | (download) |
libguile/fports.c |
33 30 + 3 - 0 ! |
fport_print: handle ttyname enodev In some situations, ttyname may return ENODEV even though isatty is true. From ttyname(3): A process that keeps a file descriptor that refers to a pts(4) device |
0025 build Fix in tree cross compilation build.patch | (download) |
libguile/Makefile.am |
9 4 + 5 - 0 ! |
build: fix in-tree cross-compilation build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 57a889b7282dab303c4cdc49cccbbe22f961bd1c fixed out-of-tree cross-compilation builds but broke in-tree cross-compilation builds. With this change, we should have both. * libguile/Makefile.am (gen-scmconfig.$(OBJEXT)): Use -iquote instead of -I. |
0026 fluids.test be more determined when checking fluid g.patch | (download) |
test-suite/tests/fluids.test |
22 14 + 8 - 0 ! |
fluids.test: be more determined when checking fluid gc The "fluids are GC'd" test failed on s390x. Investigation revealed that adding a (sleep 0) allowed the test to succeed. Rework the test to try more than once (up to 100 times), with a (sleep 0) between attempts. The investigation also revealed that a (usleep n) for various values of n, including 0 and 1000000 never worked. Further testing found that changing usleep to convert the interval as a uint (as sleep does) instead of a ulong allowed the test to succeed. * test-suite/tests/fluids.test: Try up to 100 times, sleeping between attempts. |