Subject: bug#75078: Guile 3.0.10 fails to build for i686 cygwin

From: Jeremy Drake <[email-masked]>
Date: Tue, 24 Dec 2024 14:44:00 -0800 (PST)

3.0.8 and 3.0.9 build, but 3.0.10 fails in BOOTSTRAP(stage1) with:
Backtrace:
In ice-9/boot-9.scm:
  1755:12 19 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In system/base/compile.scm:
    69:11 18 (_)
   190:11 17 (_ #<closed: file ffd72ea8>)
    309:6 16 (read-and-compile #<closed: file ffd72ee0> #: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 (language cps guile-vm reify-primitives)) (const #:filename) (const "language/cps/guile-vm/reify-primitives.scm") (const #:imports) (const (((ice-9 match)) ((language tree-il primitives) #:select ((primitive-module . tree-il:primitive-module))) ((language cps)) ((language cps utils)) ((language cps with-cps)) ((language cps intmap)) ((language bytecode)) ((system base target)) ((system bas?> ?)
   265:44 14 (_ #<tree-il (seq (let (m) (m-182b3cf1-2) ((call (@@ (guile) define-module*) (const (language cps guile-vm reify-primitives)) (const #:filename) (const "language/cps/guile-vm/reify-primitives.scm") (const #:imports) (const (((ice-9 match)) ((language tree-il primitives) #:select ((primitive-module . tree-il:primitive-module))) ((language cps)) ((language cps utils)) ((language cps with-cps)) ((language cps intmap)) ((language bytecode)) ((system base target)) ((system base type?> ?)
   261:33 13 (_ #<intmap 0-11706> #<directory (language cps guile-vm reify-primitives) ff1b2640>)
In language/cps/optimize.scm:
    136:2 12 (_ _ #<directory (language cps guile-vm reify-primitives) ff1b2640>)
    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-273> (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) #((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 3160-3259> (absent) (absent) (absent) (absent) (absent) (absent) (absent) #f) (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) #<intset 3689-7729,7913-8003> (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) (absent) #f) _ 3680 _)
In language/cps/switch.scm:
    99:36  6 (fold-branch-chains #<intmap 0-8003> _ _ #<procedure optimize-branch-chain (var exit tests cps)> _)
    343:8  5 (optimize-branch-chain 3346 7427 (6771 6772 6773 6901 7029 7157 7285) _)
In ice-9/boot-9.scm:
   260:13  4 (for-each #<procedure fd7f2708 at language/cps/switch.scm:343:18 (expr)> _)
In language/cps/switch.scm:
   340:32  3 (_ (u64-imm-< . 7428))
In language/cps/guile-vm.scm:
    89:31  2 (target-symbol-hash _)
    41:18  1 (jenkins-lookup3-hashword2 "u64-imm-<")
In ice-9/boot-9.scm:
  1676:22  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1676:22: In procedure raise-exception:
Value out of range 0 to< 18446744073709551615: -505802029
make[2]: *** [Makefile:2515: language/cps/guile-vm/reify-primitives.go]
Error 1

See also my comments in https://github.com/msys2/MSYS2-packages/pull/5068,
not that I was able to track anything down other than the fact that the
module/language/cps/guile-vm.scm file is entirely new to 3.0.10, so my
idea to try to bisect the issue didn't work out.