[M3devel] subrange or enum, with cvshead
Tony Hosking
hosking at cs.purdue.edu
Tue Aug 21 01:30:43 CEST 2007
PS I've successfully bootstrapped 32-bit LINUXLIBC6 on AMD64 and run
mentor Bresenham using the bottstrap binaries from my ftp site.
On Aug 20, 2007, at 7:04 PM, Tony Hosking wrote:
> I've figured out the cure, but don't know why the problem exists.
> It seems that the gcc-based backend builds incorrect FLOAT/DOUBLE
> constants when built on AMD64, unless it is configured as:
>
> CC="gcc -m32" ../gcc/configure --enable-languages=m3cg --disable-
> nls --enable-targets=x86-linux
>
> If you omit CC="gcc -m32" then the problem arises. I have put my
> AMD64 bootstrap executables for LINUXLIBC6 on my ftp site in the
> directory LINUXLIBC6-AMD64. Note, these are for a 32-bit target,
> and do not represent a complete 64-bit port to AMD64. See cm3.cfg,
> cm3.gz, cm3cg.gz in ftp://ftp.cs.purdue.edu/pub/hosking/m3/
> LINUXLIBC6-AMD64.
>
> On Aug 20, 2007, at 2:49 PM, Dragiša Durić wrote:
>
>> I've bootstrapped it same way as on ix86, first m3cc...cm3, then
>> setting
>> CM3 env var, then std build...
>>
>> When I just rsynced my INSTALL_ROOT and built binaries... it
>> works, of
>> course.
>>
>> As for Time.Now()... I have few other problems happening... Do you
>> have
>> some kind of test code for LONGINT I can run on this AMD64 box?
>>
>> dd
>>
>> On Mon, 2007-08-20 at 11:46 -0400, Tony Hosking wrote:
>>> Hmmm. Are you using the most recent cm3cg, and a compiler
>>> bootstrapped with it?
>>>
>>> Also, I have not tested the LONGINT stuff extensively on AMD64 yet.
>>> Any chance you can diagnose the problem?
>>>
>>> On Aug 20, 2007, at 8:01 AM, Dragiša Durić wrote:
>>>
>>>> After I've compiled CM3 from cvshead for LINUXLIBC6 on x86_64
>>>> (skipping
>>>> m3gdb, which I've reported earlier would not compile for me) I am
>>>> getting this error when I try to rn one of programs that worked
>>>> flawlessy few checkouts ago.
>>>>
>>>> ***
>>>> *** runtime error:
>>>> *** An enumeration or subrange value was out of range.
>>>> *** file "../src/uid/Common/TimeStamp.m3", line 63
>>>> ***
>>>>
>>>> This is corresponding code:
>>>>
>>>> now := Time.Now() - epoch;
>>>>>>> time := TRUNC(now);
>>>> fineTime := ROUND(LongFloat.Scalb(now - FLOAT(time,
>>>> LONGREAL), 8));
>>>>
>>>> I've identified few other problems, but I suppose ther are all
>>>> variations...
>>>>
>>>> --
>>>> Dragiša Durić <dragisha at m3w.org>
>>>
>> --
>> Dragiša Durić <dragisha at m3w.org>
>
More information about the M3devel
mailing list