Bug 2294649
| Summary: | guile30-3.0.10 is available | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Upstream Release Monitoring <upstream-release-monitoring> |
| Component: | guile30 | Assignee: | Tomas Korbar <tkorbar> |
| Status: | NEW --- | QA Contact: | |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | pebolle, tkorbar, v.pupillo |
| Target Milestone: | --- | Keywords: | FutureFeature, Triaged |
| Target Release: | --- | Flags: | pebolle:
needinfo?
(tkorbar) |
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | --- | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | --- | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Upstream Release Monitoring
2024-06-27 20:58:11 UTC
Please update to the new release. Thanks. Apparently we're still stuck on 3.0.9 because 3.0.10 doesn't build on i686: commit c28588 ("Fix FTBFS and rebase to version 3.0.10") on https://src.fedoraproject.org/rpms/guile30. But I was unable to find the logs regarding those failed builds. Are they still available?
In the mean time: would it be feasible to (temporarily) drop the i686 builds (say, with "ExcludeArch: %{ix86}")?
Please note that both PHP and Java stopped shipping i686 builds altogether: https://fedoraproject.org/wiki/Changes/php_no_32_bit and https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs. So there's precedent here.
It seems strange to me, in Guile's sources I see that support for i686 is there, and in the NEWS file it doesn't say anything about the end of support for i686. Also I see that Gentoo has the build for i686. Thanks. It's been four weeks since my comment #2 and, more importantly, over year since 3.0.10 was released. @v.pupillo: should we start the procedure described in the "Non-responsive maintainer policy" (https://docs.fedoraproject.org/en-US/fesco/Policy_for_nonresponsive_package_maintainers)? Ok, start the procedure "Non-responsive maintainer policy". Thank you. I've tried to rebuild the i686 package for 3.0.10 locally. (x86_64 built just fine.) I _hope_ I installed all the needed i686 packages - that required a lot of trial and error. The build failed with three Backtraces.
@tkorbar: does this wall of text - edited down to the relevant parts, but still impressive - look familiar?
[...]
make[2]: Entering directory '/home/[...]/Rpmbuild/BUILD/guile30-3.0.10-build/guile-3.0.10/stage1'
GUILE_BOOTSTRAP_STAGE=stage1 ../meta/build-env guild compile --target="x86_64-redhat-linux-gnu" -W1 -O2 -Ono-cross-module-inlining -L "/home/[...]/Rpmbuild/BUILD/guile30-3.0.10-build/guile-3.0.10/module" -o "ice-9/common-list.go" "../module/ice-9/common-list.scm"
Backtrace:
In ice-9/boot-9.scm:
1755:12 19 (with-exception-handler #<procedure 146988 at ice-9/boot-9.scm:1797:7 (exn)> #<procedure 171d60 at system/base/compile.scm:68:9 ()> #:unwind? _ #:unwind-for-type _)
In system/base/compile.scm:
69:11 18 (_)
190:11 17 (_ #<closed: file d2e38>)
309:6 16 (read-and-compile #<closed: file d2e70> #:from _ #:to _ #:env _ #:optimization-level _ #:warning-level _ #:opts _)
352:28 15 (compile #<tree-il (seq (let (m) (m-182b3cf1-2) ((call (@@ (guile) define-module*) (const (ice-9 common-list)) (const #:filename) (const "ice-9/common-list.scm") (const #:exports) (const (adjoin union intersection set-difference reduce-init reduce some every notany notevery count-if find-if member-if remove-if remove-if-not delete-if! delete-if-not! butlast and? or? has-duplicates? pick pick-mappings uniq)) (const #:declarative?) (const #t))) (seq (call (@@ (guile) set-current-?> ?)
265:44 14 (_ #<tree-il (seq (let (m) (m-182b3cf1-2) ((call (@@ (guile) define-module*) (const (ice-9 common-list)) (const #:filename) (const "ice-9/common-list.scm") (const #:exports) (const (adjoin union intersection set-difference reduce-init reduce some every notany notevery count-if find-if member-if remove-if remove-if-not delete-if! delete-if-not! butlast and? or? has-duplicates? pick pick-mappings uniq)) (const #:declarative?) (const #t))) (seq (call (@@ (guile) set-current-module?> ?)
261:33 13 (_ #<intmap 0-1960> #<directory (ice-9 common-list) 169000>)
In language/cps/optimize.scm:
136:2 12 (_ _ #<directory (ice-9 common-list) 169000>)
111:3 11 (optimize-first-order-cps _ _)
In language/cps/switch.scm:
414:6 10 (optimize-branch-chains _)
In language/cps/intmap.scm:
519:6 9 (visit-branch #(#(#(#<intset 0-155> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #f) (absent) (absent) (absent) #((absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) # ?) ?) ?) ?)
519:6 8 (visit-branch #(#(#<intset 0-155> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #f) (absent) (absent) (absent) #((absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (#) # ?) ?) ?)
519:6 7 (visit-branch #((absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #<intset 156-199> (absent) (absent) (absent) #f) _ 128 _)
In language/cps/switch.scm:
99:36 6 (fold-branch-chains #<intmap 0-1831> _ _ #<procedure optimize-branch-chain (var exit tests cps)> _)
343:8 5 (optimize-branch-chain 122 181 (158 159 160 161 162 163 164 165 167 169 171 173 175 177 179) _)
In ice-9/boot-9.scm:
260:13 4 (for-each1 ((count-if . 170) (delete-if! . 183) (delete-if-not! . 184) (intersection . 178) (notany . 174) (notevery . 172) (or? . 186) (pick . 187) (pick-mappings . 188) (remove-if . 168) (remove-if-not . 166) (set-difference . 176) (uniq . 189)))
In language/cps/switch.scm:
340:32 3 (_ (count-if . 170))
In language/cps/guile-vm.scm:
89:31 2 (target-symbol-hash _)
41:18 1 (jenkins-lookup3-hashword2 "count-if")
In ice-9/boot-9.scm:
1676:22 0 (lp 0)
ice-9/boot-9.scm:1676:22: In procedure lp:
Value out of range 0 to< 18446744073709551615: -432225964
make[2]: *** [Makefile:2519: ice-9/common-list.go] Error 1
make[2]: Leaving directory '/home/[...]/Rpmbuild/BUILD/guile30-3.0.10-build/guile-3.0.10/stage1'
make[2]: *** Waiting for unfinished jobs....
make[2]: Entering directory '/home/[...]/Rpmbuild/BUILD/guile30-3.0.10-build/guile-3.0.10/stage1'
GUILE_BOOTSTRAP_STAGE=stage1 ../meta/build-env guild compile --target="x86_64-redhat-linux-gnu" -W1 -O2 -Ono-cross-module-inlining -L "/home/[...]/Rpmbuild/BUILD/guile30-3.0.10-build/guile-3.0.10/module" -o "ice-9/control.go" "../module/ice-9/control.scm"
Backtrace:
In ice-9/boot-9.scm:
1755:12 19 (with-exception-handler #<procedure 146988 at ice-9/boot-9.scm:1797:7 (exn)> #<procedure 171d60 at system/base/compile.scm:68:9 ()> #:unwind? _ #:unwind-for-type _)
In system/base/compile.scm:
69:11 18 (_)
190:11 17 (_ #<closed: file d2e38>)
309:6 16 (read-and-compile #<closed: file d2e70> #:from _ #:to _ #:env _ #:optimization-level _ #:warning-level _ #:opts _)
352:28 15 (compile #<tree-il (seq (let (m) (m-182b3cf1-2) ((call (@@ (guile) define-module*) (const (ice-9 control)) (const #:filename) (const "ice-9/control.scm") (const #:exports) (const (% abort shift reset shift* reset* call-with-escape-continuation call/ec let-escape-continuation let/ec suspendable-continuation?)) (const #:re-exports) (const (call-with-prompt abort-to-prompt default-prompt-tag make-prompt-tag)) (const #:declarative?) (const #t))) (seq (call (@@ (guile) set-current-m?> ?)
265:44 14 (_ #<tree-il (seq (let (m) (m-182b3cf1-2) ((call (@@ (guile) define-module*) (const (ice-9 control)) (const #:filename) (const "ice-9/control.scm") (const #:exports) (const (% abort shift reset shift* reset* call-with-escape-continuation call/ec let-escape-continuation let/ec suspendable-continuation?)) (const #:re-exports) (const (call-with-prompt abort-to-prompt default-prompt-tag make-prompt-tag)) (const #:declarative?) (const #t))) (seq (call (@@ (guile) set-current-module)?> ?)
261:33 13 (_ #<intmap 0-1142> #<directory (ice-9 control) 169c30>)
In language/cps/optimize.scm:
136:2 12 (_ _ #<directory (ice-9 control) 169c30>)
111:3 11 (optimize-first-order-cps _ _)
In language/cps/switch.scm:
414:6 10 (optimize-branch-chains _)
In language/cps/intmap.scm:
519:6 9 (visit-branch #(#(#(#<intset 0-129> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #f) (absent) (absent) (absent) #((absent) (absent) #<intset 130-153> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) # ?) ?) ?) ?)
519:6 8 (visit-branch #(#(#<intset 0-129> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #f) (absent) (absent) (absent) #((absent) (absent) #<intset 130-153> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (#) # ?) ?) ?)
519:6 7 (visit-branch #((absent) (absent) #<intset 130-153> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #<intset 154-734,1124-1129> (absent) (absent) (absent) (absent) (absent) #f) _ 128 _)
In language/cps/switch.scm:
99:36 6 (fold-branch-chains #<intmap 0-1129> _ _ #<procedure optimize-branch-chain (var exit tests cps)> _)
343:8 5 (optimize-branch-chain 100 151 (132 134 136 138 140) _)
In ice-9/boot-9.scm:
260:13 4 (for-each1 ((call-with-escape-continuation . 135) (call/ec . 133) (reset* . 139) (shift* . 137)))
In language/cps/switch.scm:
340:32 3 (_ (call-with-escape-continuation . 135))
In language/cps/guile-vm.scm:
89:31 2 (target-symbol-hash _)
41:18 1 (jenkins-lookup3-hashword2 "call-with-escape-continuation")
In ice-9/boot-9.scm:
1676:22 0 (lp 0)
ice-9/boot-9.scm:1676:22: In procedure lp:
Value out of range 0 to< 18446744073709551615: -512332661
make[2]: *** [Makefile:2519: ice-9/control.go] Error 1
make[2]: Leaving directory '/home/[...]/Rpmbuild/BUILD/guile30-3.0.10-build/guile-3.0.10/stage1'
[...]
make[2]: Entering directory '/home/[...]/Rpmbuild/BUILD/guile30-3.0.10-build/guile-3.0.10/stage1'
GUILE_BOOTSTRAP_STAGE=stage1 ../meta/build-env guild compile --target="x86_64-redhat-linux-gnu" -W1 -O2 -Ono-cross-module-inlining -L "/home/[...]/Rpmbuild/BUILD/guile30-3.0.10-build/guile-3.0.10/module" -o "ice-9/custom-ports.go" "../module/ice-9/custom-ports.scm"
Backtrace:
In ice-9/boot-9.scm:
1755:12 19 (with-exception-handler #<procedure 146988 at ice-9/boot-9.scm:1797:7 (exn)> #<procedure 171d60 at system/base/compile.scm:68:9 ()> #:unwind? _ #:unwind-for-type _)
In system/base/compile.scm:
69:11 18 (_)
190:11 17 (_ #<closed: file d2e38>)
309:6 16 (read-and-compile #<closed: file d2e70> #:from _ #:to _ #:env _ #:optimization-level _ #:warning-level _ #:opts _)
352:28 15 (compile #<tree-il (seq (let (m) (m-182b3cf1-2) ((call (@@ (guile) define-module*) (const (ice-9 custom-ports)) (const #:filename) (const "ice-9/custom-ports.scm") (const #:declarative?) (const #f) (const #:imports) (const (((ice-9 match)) ((ice-9 textual-ports)) ((srfi srfi-9)))) (const #:exports) (const (make-custom-port)))) (seq (call (@@ (guile) set-current-module) (lexical m m-182b3cf1-2)) (lexical m m-182b3cf1-2))) (seq (define %make-custom-port (toplevel error)) (seq (de?> ?)
265:44 14 (_ #<tree-il (seq (let (m) (m-182b3cf1-2) ((call (@@ (guile) define-module*) (const (ice-9 custom-ports)) (const #:filename) (const "ice-9/custom-ports.scm") (const #:declarative?) (const #f) (const #:imports) (const (((ice-9 match)) ((ice-9 textual-ports)) ((srfi srfi-9)))) (const #:exports) (const (make-custom-port)))) (seq (call (@@ (guile) set-current-module) (lexical m m-182b3cf1-2)) (lexical m m-182b3cf1-2))) (seq (define %make-custom-port (toplevel error)) (seq (define %?> ?)
261:33 13 (_ #<intmap 0-3155> #<directory (ice-9 custom-ports) 1b8000>)
In language/cps/optimize.scm:
136:2 12 (_ _ #<directory (ice-9 custom-ports) 1b8000>)
111:3 11 (optimize-first-order-cps _ _)
In language/cps/switch.scm:
414:6 10 (optimize-branch-chains _)
In language/cps/intmap.scm:
519:6 9 (visit-branch #(#(#(#<intset 0-401> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #f) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #((absent) (absent) (absent) (absent) (absent) (absent) # ?) ?) ?) ?)
519:6 8 (visit-branch #((absent) #((absent) #<intset 2081-2086> (absent) (absent) (absent) (absent) (absent) #<intset 2087-2091> (absent) (absent) (absent) (absent) #<intset 2092-2099> (absent) (absent) (absent) (absent) (absent) (absent) (absent) #<intset 2100-2107> (absent) (absent) (absent) (absent) (absent) (absent) (absent) #<intset 2108-2115> (absent) (absent) (absent) #f) #((absent) (absent) (absent) (absent) #<intset 2116-2123> (absent) (absent) (absent) (absent) (absent) # ?) ?) ?)
519:6 7 (visit-branch #((absent) (absent) #<intset 2594-2759> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #f) _ 2592 _)
In language/cps/switch.scm:
99:36 6 (fold-branch-chains #<intmap 0-2769> _ _ #<procedure optimize-branch-chain (var exit tests cps)> _)
343:8 5 (optimize-branch-chain 1858 2721 (2712 2713 2714 2715 2716 2717 2718 2719 2720) _)
In ice-9/boot-9.scm:
260:13 4 (for-each1 ((ISO-8859-1 . 2744) (UTF-16 . 2742) (UTF-16BE . 2740) (UTF-16LE . 2741) (UTF-32 . 2739) (UTF-32BE . 2737) (UTF-32LE . 2738) (UTF-8 . 2743)))
In language/cps/switch.scm:
340:32 3 (_ (ISO-8859-1 . 2744))
In language/cps/guile-vm.scm:
89:31 2 (target-symbol-hash _)
41:18 1 (jenkins-lookup3-hashword2 "ISO-8859-1")
In ice-9/boot-9.scm:
1676:22 0 (lp 0)
ice-9/boot-9.scm:1676:22: In procedure lp:
Value out of range 0 to< 18446744073709551615: -458631452
make[2]: *** [Makefile:2519: ice-9/custom-ports.go] Error 1
make[2]: Leaving directory '/home/[...]/Rpmbuild/BUILD/guile30-3.0.10-build/guile-3.0.10/stage1'
[...]
(This is a note to self.) The three backtraces contain a similar line: Value out of range 0 to< 18446744073709551615: -512332661 Value out of range 0 to< 18446744073709551615: -432225964 Value out of range 0 to< 18446744073709551615: -505802029 18446744073709551615 is 64 bit ULONG_MAX. Is the 32 bit build juggling a number > LONG_MAX (equivalent to > INT_MAX) somehow, somewhere? v3.0.9..v3.0.10 is only a few hundred commits. Bisecting that should take less than a day. Yay! Bisecting is still a chore but it took indeed less than a day. Verbose details below the line. Would really appreciate if someone could confirm, ie build commits d579848cb5d65440af5afd9c8968628665554c22 (should fail) and commit 89501a83ceec5ac4d3449e92ba2109fb77448b31 (should succeed).
While working through all these builds I realized this might as well be cross-compiling specific. Is Fedora special in building i686 on x86_64?
--------------------------------------------------------------------------
d579848cb5d65440af5afd9c8968628665554c22 is the first bad commit
commit d579848cb5d65440af5afd9c8968628665554c22 (HEAD)
Author: Andy Wingo <wingo>
Date: Mon Nov 20 16:45:35 2023 +0100
Fix bug lowering logand/immediate to ulogand/immediate
* module/language/cps/specialize-numbers.scm (logand/immediate): Define
a sigbits handler.
(specialize-operations): Require logand/immediate operand to be u64 to
lower to ulogand/immediate. Shouldn't be necessary but even if only u64
bits are used, negative fixnums will have the sign bit set, which trips
up further unboxed uses which error if the operand to `scm->u64` is
negative.
* module/language/cps/type-fold.scm (rem): Emit logand/immediate.
module/language/cps/specialize-numbers.scm | 13 +++++++++----
module/language/cps/type-fold.scm | 16 ++++------------
2 files changed, 13 insertions(+), 16 deletions(-)
git bisect log
git bisect start
# status: waiting for both good and bad commits
# bad: [b2cc237a02dcb13625885e76df28bc254a522100] Fix distcheck problems with parallel tests
git bisect bad b2cc237a02dcb13625885e76df28bc254a522100
# good: [9b20ca275dba758a194073936cde7c95311bd51e] Verify 'W_EXITCODE' only when we provide our own definition.
git bisect good 9b20ca275dba758a194073936cde7c95311bd51e
# good: [624dd8a17a377a7ab38ca5068006fbdb14af6731] Improve handling of push/pop/drop in jit
git bisect good 624dd8a17a377a7ab38ca5068006fbdb14af6731
# bad: [48548df91e9eb5d4a46391da0ad0a8cdd3387857] Fix effects analysis: field writes clobber object reads
git bisect bad 48548df91e9eb5d4a46391da0ad0a8cdd3387857
# bad: [a702097f1cec322110d307710bd78244548cacd2] Fix cross-compilation to MinGW.
git bisect bad a702097f1cec322110d307710bd78244548cacd2
# bad: [4118f090304739c01b9204323a17ba30d3f00403] CPS conversion does not introduce "throw"
git bisect bad 4118f090304739c01b9204323a17ba30d3f00403
# good: [c2a9380a42ed2b2fdcfe641dc912b389f65f8db5] peval: better primcall folding in effect contexts
git bisect good c2a9380a42ed2b2fdcfe641dc912b389f65f8db5
# good: [4d834bdc12acef0f7353da8a22ef0480f818bdb8] Add logand/immediate, ulogand/immediate primcalls
git bisect good 4d834bdc12acef0f7353da8a22ef0480f818bdb8
# good: [89501a83ceec5ac4d3449e92ba2109fb77448b31] Fix mistype in specialize-numbers
git bisect good 89501a83ceec5ac4d3449e92ba2109fb77448b31
# bad: [d579848cb5d65440af5afd9c8968628665554c22] Fix bug lowering logand/immediate to ulogand/immediate
git bisect bad d579848cb5d65440af5afd9c8968628665554c22
# first bad commit: [d579848cb5d65440af5afd9c8968628665554c22] Fix bug lowering logand/immediate to ulogand/immediate
(This is a note to self.)
git show b04071cc579e7b9d38d0c999e731bdd94b7f7a78
commit b04071cc579e7b9d38d0c999e731bdd94b7f7a78
Author: Andy Wingo <wingo>
Date: Tue Sep 24 09:24:15 2024 +0200
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.
(v3.0.10+)
It seems I'm on the right track (but wasted a lot of time bisecting). Anyhow, the title of the bug mentioned in this commit description is "Compiler error building 3.0.10 on 32-bit platforms"! Bisected - over a year ago! - to the same commit my busywork pointed to.
commit e45b70dcded37eb77e71ec30445b12040b6bb1b7
Author: Andy Wingo <wingo>
Date: Wed Sep 25 17:24:51 2024 +0200
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.
Apparently another fix is needed for the same issue is:
commit aff9ac968840e9c86719fb613bd2ed3c39b9905c
Author: Andy Wingo <wingo>
Date: Thu Sep 26 11:14:52 2024 +0200
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.
Which requires non-trivial changes to apply on top of v3.0.10. Bummer.
My suggestions:
1) rebuild v3.0.10 excluding i686. This won't hurt those users (if any) currently running v3.0.9 for i686;
2) start a discussion (on devel?) on the purpose of i686 guile: why run a 32 bit guile on a 64 bit machine?
|