[M3devel] subrange or enum, with cvshead
Tony Hosking
hosking at cs.purdue.edu
Tue Aug 21 15:54:09 CEST 2007
I generally skip m3gdb. I haven't tried it on AMD64.
On Aug 21, 2007, at 1:38 AM, Dragiša Durić wrote:
> Can this be a problem with m3gdb not building, LINUXLIBC6 target on
> AMD64? Is it built on your machine?
>
> dd
>
> On Mon, 2007-08-20 at 19:04 -0400, 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>
>>
> --
> Dragiša Durić <dragisha at m3w.org>
More information about the M3devel
mailing list