unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Rob Browning <rlb@defaultvalue.org>
Cc: 71891-done@debbugs.gnu.org, 72913-done@debbugs.gnu.org
Subject: bug#71891: bug#72913: Guile 3.0.10 fails to build for powerpc-darwin (3.0.9 built earlier)
Date: Fri, 27 Sep 2024 22:40:01 +0200	[thread overview]
Message-ID: <87ikugltjy.fsf@gnu.org> (raw)
In-Reply-To: <87r0ccsfxz.fsf@trouble.defaultvalue.org> (Rob Browning's message of "Mon, 01 Jul 2024 21:09:12 -0500")

Hi,

Rob Browning <rlb@defaultvalue.org> skribis:

>   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 429618 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[4]: *** [Makefile:2515: language/cps/guile-vm/reify-primitives.go] Error 1
>
> Investigation on an i386 host, and then a git bisect suggested that this
> might be relevant (i.e. the "bad" commit bisect landed on):
>
>   commit d579848cb5d65440af5afd9c8968628665554c22
>
>     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.

I believe this was fixed by
<https://git.savannah.gnu.org/cgit/guile.git/commit/?id=aff9ac968840e9c86719fb613bd2ed3c39b9905c>
(see the neat explanation at
<https://wingolog.org/archives/2024/09/26/needed-bits-optimizations-in-guile>).

Confirmed by CI: <https://ci.guix.gnu.org/eval/1667191>.

Thanks,
Ludo’.





      reply	other threads:[~2024-09-27 20:40 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-02  2:09 bug#71891: 3.0.10 may be broken on 32-bit architectures Rob Browning
2024-09-27 20:40 ` Ludovic Courtès [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ikugltjy.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=71891-done@debbugs.gnu.org \
    --cc=72913-done@debbugs.gnu.org \
    --cc=rlb@defaultvalue.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).