[M3devel] compilation failure on Solaris

Jay K jay.krell at cornell.edu
Wed Oct 6 17:03:02 CEST 2010


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