[M3devel] compilation failure on Solaris

Tony Hosking hosking at cs.purdue.edu
Wed Oct 6 19:50:00 CEST 2010


This code has been around a long time.


On 6 Oct 2010, at 11:03, Jay K wrote:

> 
> There is only one instance in the tree currently that I know of, and I write it relatively recently.
>   (And I can workaround it easily by unnesting the function.)
> Perhaps it was never seen before?
> 
> Here it is:
> 
> 
> jbook2:src jay$ edit lego/ZChassisVBT.m3
> jbook2:src jay$ pwd
> /dev2/cm3/m3-ui/vbtkit/src
> 
> 
> PROCEDURE NewBtn (uglyPosixText, win32ppm: TEXT; shadow: Shadow.T): VBT.T =
> 
> PROCEDURE Posix (t: TEXT; shadow: Shadow.T): VBT.T =
>   BEGIN
>     WITH textVBT = TextVBT.New (t) DO
>       TextVBT.SetFont (textVBT, Font.BuiltIn, shadow);
>       RETURN NEW (ShadowedFeedbackVBT.T).init (textVBT, shadow)
>     END
>   END Posix;
> 
> PROCEDURE Win32 (name: TEXT; shadow: Shadow.T): VBT.T =
>   VAR
>     pm := VBTKitResources.GetPixmap (name);
>     pixvbt := NEW(PixmapVBT.T).init(pm, halign := 0.0, valign := 0.0,
>                                 op := PaintOp.Copy);
>   BEGIN
>     RETURN NEW (ShadowedFeedbackVBT.T).init (pixvbt, shadow)
>   END Win32;
> 
>   BEGIN
>     CASE Compiler.ThisOS OF
>       | Compiler.OS.POSIX => RETURN Posix(uglyPosixText, shadow);
>       | Compiler.OS.WIN32 => RETURN Win32(win32ppm, shadow);
>     END;
>   END NewBtn;
> 
> Of course, between Posix and Win32, one is dead.
> 
>  - Jay
> 
> 
> ----------------------------------------
>> From: hosking at cs.purdue.edu
>> Date: Wed, 6 Oct 2010 10:34:45 -0400
>> To: jay.krell at cornell.edu
>> CC: m3devel at elegosoft.com
>> Subject: Re: [M3devel] compilation failure on Solaris
>> 
>> I remember fixing that one a long time back. I think I added a new check (possible new use of volarile or addressed) to make sure they weren't eliminated.
>> 
>> Sent from my iPhone
>> 
>> On Oct 6, 2010, at 9:24 AM, Jay K  wrote:
>> 
>>> Plus the long time we used volatile.
>>> Plus that even with volatile, things still didn't work with -O3, just that I didn't find a case
>>> until relatively recently (nested functions that gcc thinks are unused, but are referenced
>>> from the module data).
>>> 
>>> - Jay
>>> 
>>> ----------------------------------------
>>>> From: hosking at cs.purdue.edu
>>>> Date: Wed, 6 Oct 2010 09:07:31 -0400
>>>> To: jay.krell at cornell.edu
>>>> CC: m3devel at elegosoft.com
>>>> Subject: Re: [M3devel] compilation failure on Solaris
>>>> 
>>>> Why can't we just understand the problem and fix it rather than avoiding "certain large changes on this platform"? I am wary of special-casing builds of a system as complex as gcc depending on target.
>>>> 
>>>> On 6 Oct 2010, at 05:20, Jay K wrote:
>>>> 
>>>>> 
>>>>> I see. It occurs even on a cross build.
>>>>> It should be better now -- by avoiding certain large changes on this platform.
>>>>> A C generating backend is getting ever more tempting..
>>>>> 
>>>>> - Jay
>>>>> 
>>>>> ----------------------------------------
>>>>>> Date: Tue, 5 Oct 2010 12:35:45 +0200
>>>>>> From: wagner at elegosoft.com
>>>>>> To: m3devel at elegosoft.com
>>>>>> Subject: [M3devel] compilation failure on Solaris
>>>>>> 
>>>>>> There are segmentation faults during compilation of Lex.m3, see:
>>>>>> 
>>>>>> http://hudson.modula3.com:8080/job/cm3-current-build-SOLsun-opencsw-current10s/219/console
>>>>>> http://hudson.modula3.com:8080/job/cm3-current-build-SOLsun-opencsw-current9s/107/console
>>>>>> 
>>>>>> === package m3-libs/libm3 ===
>>>>>> +++ cm3 -build
>>>>>> -DROOT='/home/m3hudson/current9s/workspace/cm3-current-build-SOLsun-opencsw-current9s/cm3' $RARGS && cm3 -ship $RARGS -DROOT='/home/m3hudson/current9s/workspace/cm3-current-build-SOLsun-opencsw-current9s/cm3'
>>>>>> +++
>>>>>> ../src/fmtlex/Lex.m3:492: internal compiler error: Segmentation Fault
>>>>>> Please submit a full bug report,
>>>>>> with preprocessed source if appropriate.
>>>>>> See for instructions.
>>>>>> m3_backend => 4
>>>>>> m3cc (aka cm3cg) failed compiling: Lex.mc
>>>>>> ../src/fmtlex/FmtBuf.m3:226: internal compiler error: Segmentation Fault
>>>>>> Please submit a full bug report,
>>>>>> with preprocessed source if appropriate.
>>>>>> See for instructions.
>>>>>> m3_backend => 4
>>>>>> m3cc (aka cm3cg) failed compiling: FmtBuf.mc
>>>>>> 
>>>>>> Olaf
>>>>>> --
>>>>>> Olaf Wagner -- elego Software Solutions GmbH
>>>>>> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
>>>>>> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
>>>>>> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
>>>>>> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
>>>>>> 
>>>>> 
>>>> 
>>> 
> 		 	   		  




More information about the M3devel mailing list