Subject: Re: [bug#30603] Upgrade Racket to 6.12

From: Christopher Lemmer Webber <[email-masked]>
Date: Mon, 05 Mar 2018 11:54:33 -0600

Christopher Lemmer Webber writes:

> Danny Milosavljevic writes:
>
>> Hmmm... doesn't that break the GC?
>>
>> I would just remove MZ_IS_NEG_ZERO in the first place.  There's a fallback in the caller...
>>
>> Or use a newer gcc so MZ_IS_NEG_ZERO expands to a builtin.
>
> Hm, maybe it does break the GC.  I actually admittedly have no idea how
> the patch I applied "fixes" things... I was just miming the "solution"
> in:
>
>   https://github.com/racket/racket/issues/464#issuecomment-26626089
>
> I have filed my own issue but have not yet heard back:
>
>   https://github.com/racket/racket/issues/1962
>
> Danny, which of the suggestions you made do you think we should do?
> Maybe removing MZ_IS_NEG_ZERO is easier?  I don't know what implications
> there are in bumping up gcc...

I just discovered that this doesn't have to do with a new release of
Racket, but some other dependency that Racket must be using (GCC?) that
recently broke our ability to compile Racket, including Racket 6.11, the
current Racket in Guix.  I can't build it, and the error is the same
kind of error as what I was getting with 6.12:

  Error [GCING] 1780 in ./../src/number.c: Function minus_zero_p declared __xform_nongcing__, but includes a function call at __signbitf128.
  Error [GCING] 1958 in ./../src/number.c: Function double_is_integer declared __xform_nongcing__, but includes a function call at __isinff128.
  Error [GCING] 4050 in ./../src/number.c: Function double_fits_fixnum declared __xform_nongcing__, but includes a function call at __isinff128.
  xform: Errors converting
    context...:
     /tmp/guix-build-racket-6.11.drv-0/racket-6.11/src/racket/gc2/xform-collects/compiler/private/xfor...:8:2: xform
     /tmp/guix-build-racket-6.11.drv-0/racket-6.11/src/racket/gc2/xform-collects/xform/xform-mod.rkt: [running body]
     /tmp/guix-build-racket-6.11.drv-0/racket-6.11/src/racket/gc2/xform.rkt:
  [running body]