[M3devel] compilation failure on Solaris

Jay K jay.krell at cornell.edu
Thu Oct 7 00:37:35 CEST 2010


The construct that leads the backend when compiling "unit at a time" to throw out referenced nested function dates to only May 2010.

http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-ui/vbtkit/src/lego/ZChassisVBT.m3

 - Jay


----------------------------------------
> Subject: Re: [M3devel] compilation failure on Solaris
> From: hosking at cs.purdue.edu
> Date: Wed, 6 Oct 2010 13:50:00 -0400
> CC: m3devel at elegosoft.com
> To: jay.krell at cornell.edu
>
> 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