Well I figured this out that it was likely caused by compiling guile with llvm-gcc (which is depreciated). Please see more details on this issue in the CGEN mailing list.
Old Nabble - Sourceware - cgen list - 64-bit instruction mask emitting as signed hex value On Oct 4, 2011, at 9:48 PM, Brian Mokrzycki wrote: > Hi all, > > I'm running into a problem between Guile 1.6.4 and Guile 1.8.7. > Basically I'm manipulating bit masks in Guile and need to generate a > hexadecimal string representation of an integer. Unfortutely this worked > just fine in Guile 1.6.4 but not so well in Guile 1.8.7. > > The offending statement: > > guile> (number->string #xFFFFFFFFFFFFFFFF 16) > > Resolves to > > "-1" in Guile 1.8.7 > "ffffffffffffffff" in Guile 1.6.4 > > It appears that Guile is treating the number as a signed value in 1.8 and an > unsigned value in 1.6. I'm really looking for the 1.6 interpretation. Is > this a bug? If not, how to get this to come out as an unsigned value? > > -Brian > > >
