[M3devel] m3_load/store using bitfields for everything

Tony Hosking hosking at cs.purdue.edu
Fri May 22 03:41:25 CEST 2009


Don't worry --- I found one.

On 22 May 2009, at 11:38, Tony Hosking wrote:

> I think my old PPC_DARWIN installs are pre-LONGINT.  Is there a  
> LONGINT-capable bootstrap archive for PPC_DARWIN lying around  
> anywhere?
>
> On 22 May 2009, at 11:18, Tony Hosking wrote:
>
>> PPC_DARWIN did work for me at one point.  I can check it.
>>
>> On 22 May 2009, at 10:09, Jay wrote:
>>
>>>
>>> Yes I will test some variations, esp. targets not historically  
>>> affected by the bitfield behavior but that haven't passed -O3 yet,  
>>> since they are easier for a few reasons and more numerous  
>>> (PPC_DARWIN, PPC_LINUX, AMD64_FREEBSD, etc.)
>>>
>>>
>>> ARM_DARWIN is a little wierd due to the 4.2 base, MIPS64_OPENBSD I  
>>> haven't booted the machine in months and it is very slow (my / 
>>> plan/ is to get all of MIPS{32,64}_{OPENBSD,NETBSD,IRIX,LINUX},  
>>> but it's slow going, I had difficulty installing some of them,  
>>> only got Irix and OpenBSD running, and some of those combinations  
>>> are invalid e.g. MIPS32_OPENBSD -- OpenBSD never
>>> has "biarch" systems, only ever pure 32bit or pure 64bit).
>>>
>>>
>>> Moving ARM_DARWIN forward to 4.3 isn't impossible but I think  
>>> easier to track and wait for Apple here than anything else.
>>>
>>>
>>> I ran an AMD64_LINUX test on birch but didn't wait for it.
>>>
>>>
>>> SPARC32_LINUX also has a wierd problem that I can retest.
>>> When I compile with -fPIC I get I think crashes during  
>>> initialization.
>>> I haven't figured out the problem.
>>> Without -fPIC works ok, even for shared libraries, surprising.
>>>
>>>
>>> - Jay
>>>
>>>
>>> ----------------------------------------
>>>> CC: m3devel at elegosoft.com
>>>> From: hosking at cs.purdue.edu
>>>> To: jay.krell at cornell.edu
>>>> Subject: Re: m3_load/store using bitfields for everything
>>>> Date: Fri, 22 May 2009 09:45:08 +1000
>>>>
>>>> Jay, can you try these again with the latest fix I put in place?
>>>>
>>>> On 20 May 2009, at 09:14, Jay wrote:
>>>>
>>>>>
>>>>> m3_load/store using bitfields for everything caused module-global
>>>>> references to disappear on MIPS64_OPENBSD (all MIPS?). I worked
>>>>> around that by declaring that the module-globals are at least of
>>>>> size 2 * biggest_alignment.
>>>>>
>>>>> It caused module-global references to disappear on ARM_DARWIN as  
>>>>> well.
>>>>> I hardcoded RTLinker.traceInit to true, and Flush's len := 0  
>>>>> didn't
>>>>> occur and PutChar eventually failed an array bounds check.
>>>>>
>>>>> Is this just too fragile and the failsafe form should always be  
>>>>> used?
>>>>>
>>>>> Or, it fails spectacularly consistently enough that it must also  
>>>>> be
>>>>> working consistently enough and leave it?
>>>>>
>>>>> Would "component ref" (ie: struct) and declaring more type
>>>>> information about module segments be a good compromise maybe?
>>>>> Probably.
>>>>>
>>>>> - Jay
>>>>




More information about the M3devel mailing list