[M3devel] NT386 with cm3-5.5 bootstrap compiler

Tony Hosking hosking at cs.purdue.edu
Fri Sep 21 17:15:40 CEST 2007


On Sep 20, 2007, at 8:50 PM, Jay wrote:

> As a follow up to confirm, look where I  made changes since  
> LONGINT, I believe make-dist in particular I had to make changes to  
> to build the right packages in the right order. I'll look into  
> upgrade/update sometime soon..
>
>  - Jay
>
> From: jay.krell at cornell.edu
> To: dabenavidesd at yahoo.es; hosking at cs.purdue.edu;  
> m3devel at elegosoft.com
> Subject: RE: [M3devel] NT386 with cm3-5.5 bootstrap compiler
> Date: Fri, 21 Sep 2007 00:49:21 +0000
>
> The "-d5.5" thing is a backup of the package repository. Indeed I  
> find it annoying sometimes, but I mimiced upgrade.sh and I'd have  
> to think it all through again before deleting/changing how it  
> works. I think it makes it easier to back out of a broken change.  
> If you end up with non-working stuff, you copy pkg-d5.5 back on top  
> of pkg.
>
> I really strongly suspect update.cmd works. I don't remember if it  
> upgrades...oh, sorry, wrong script I think.
> make-dist.cmd? How about that one?
> Whichever one creates .tar.bz2 files. That's the one I meant. Oops,  
> sorry sorry sorry. :\
>
>
>  - Jay
> Date: Thu, 20 Sep 2007 22:53:35 +0200
> From: dabenavidesd at yahoo.es
> To: hosking at cs.purdue.edu; m3devel at elegosoft.com
> Subject: Re: [M3devel] NT386 with cm3-5.5 bootstrap compiler
>
> Hi:
>
> The script upgarde.cmd produced compiler does recognize the LONGINT  
> as a reserved word.
>
> I can get this error when compiling the m2libs of m2tom3 compiler:
>
>
> new source -> compiling SYSTEM.i3
> "..\src\SYSTEM.i3", line 40: Reserved identifier redefined (LONGINT)
> 1 error encountered
>

I don't see this file in the distribution.  I suspect it is something  
to do with upgrade.cmd.  I assume it is defining LONGINT for  
compilers that don't support it, though I fail to understand why this  
would be necessary.


> Thanks again
>
>
>
> >On Sep 20, 2007, at 11:15 AM, Daniel Alejandro Benavides D. wrote:
>
> > Hi:
> > Thanks for your suggestions. I have tried the
> > scripts/win/upgrade.cmd, and It does compile and then
> > you can execute do-cm3-std.cmd.
> >
> > However I noticed the that script exports a m3core pkg
> > to the repository with a m3core-d5.5 like suffix. Not
> > sure what is this for.
> >
> > I will test if it can recognize the LONGINT datatype.
> >
> > Also I have  a question about Tony's suggestion. The
> > packages m3objfile and m3back are not ncessary on the
> > stages  you mention for NT386 target?
>
> >Oh, yes, of course they are.  Sorry, I forgot about that for NT386.
>
> >
> > Thanks
> >
> > --- Tony Hosking <hosking at cs.purdue.edu> escribió:
> >
> >> It strikes me that you may need to sequence as
> >> follows to avoid
> >> running into having a compiler that does not handle
> >> LONGINT.
> >>
> >> Using the "devel_LONGINT_start" tagged versions of
> >> m3core and libm3
> >> from CVS,
> >> using your original compiler, build and ship in the
> >> following order:
> >>
> >> m3core (devel_LONGINT_start)
> >> libm3 (devel_LONGINT_start)
> >> m3middle
> >> m3linker
> >> m3front
> >> m3quake
> >> cm3
> >>
> >> Now you have  a new compiler linked against the old
> >> m3core.
> >>
> >> Using the new compiler (in cm3/NT386), and the CVS
> >> head versions of
> >> m3core and libm3,
> >> build and ship in the following order:
> >>
> >> m3core (CVS head)
> >> libm3 (CVS head)
> >> m3middle
> >> m3linker
> >> m3front
> >> m3quake
> >> cm3
> >>
> >> Now you have a new compiler linked against the new
> >> m3core.
> >>
> >> Copy this new compiler to your CM3 installation bin
> >> directory.
> >>
> >> Use this new compiler to rebuild the world.
> >>
> >>
> >> On Sep 18, 2007, at 8:41 PM, Jay wrote:
> >>
> >>> Daniel, can you try just going back to 5.2.6 and
> >> running scripts\win
> >>> \update?
> >>> You should be able to build the current source the
> >> last  "official"
> >>> Win32 binaries, as long as you build in the
> >> correct order and all,
> >>> which the update.cmd does. You know, there's a
> >> certain mentality
> >>> around bootstrapping and keeping the connection
> >> back to the
> >>> previous version, that I upheld. As long as you
> >> are careful, you
> >>> can go from old binaries to new binaries, you
> >> don't have to get the
> >>> new binaries magically somewhere, though you do
> >> need the old
> >>> binaries magically from somewhere. :)
> >>>
> >>> Perhaps there's a regression. I can check "later".
> >>>
> >>>  - Jay
> >>> Date: Wed, 19 Sep 2007 00:49:57 +0200
> >>> From: dabenavidesd at yahoo.es
> >>> To: hosking at cs.purdue.edu; m3devel at elegosoft.com
> >>> Subject: Re: [M3devel] NT386 with cm3-5.5
> >> bootstrap compiler
> >>>
> >>> Hi:
> >>>
> >>> I have compiled with the Jay produced 5.5
> >> bootstrap compiler, and
> >>> also with 5.1.3a,
> >>>  5.2.6 and get the same error.
> >>>
> >>> Thanks
> >>>
> >>>> You need to compile the new m3core with the old
> >>  compiler so that the
> >>>> symbol is available to you when you compile using
> >> the new compiler.
> >>>> This is a classical bootstrapping problem.
> >>>
> >>>> On Sep 18, 2007, at 6:30 PM, Daniel Alejandro
> >> Benavides D. wrote:
> >>>
> >>>> Hi:
> >>>> Thanks for your answer, I have done that and
> >> also I get the same
> >>>> runtime error
> >>>> in the same source file:
> >>>>
> >>>>
> >>>> C:\cm3-cvs\cm3\m3-libs\m3core>CM3
> >>>> --- building in NT386 ---
> >>>>
> >>>> ignoring ..\src\m3overrides
> >>>>
> >>>> new source -> compiling RTHooks.i3
> >>>> new source -> compiling RT0.i3
> >>>> new source -> compiling RuntimeError.i3
> >>>> new source -> compiling  Word.i3
> >>>> new source -> compiling RTException.i3
> >>>> new  source -> compiling RTHooks.m3
> >>>> new source -> compiling RT0.m3
> >>>> new source -> compiling Compiler.i3
> >>>> new source -> compiling RuntimeError.m3
> >>>> new source -> compiling Compiler.m3
> >>>> new source -> compiling RTAllocator.i3
> >>>> new source -> compiling RTType.i3
> >>>> new source -> compiling Csetjmp.i3
> >>>> new source -> compiling BasicCtypes.i3
> >>>> new source -> compiling Ctypes.i3
> >>>> new source -> compiling RTMachine.i3
> >>>> new source -> compiling RTHeapDep.i3
> >>>> new source -> compiling RTHeapRep.i3
> >>>> new source -> compiling ThreadF.i3
> >>>> new source -> compiling RTOS.i3
> >>>> new source  -> compiling RTMisc.i3
> >>>> new source -> compiling RTHeap.i3
> >>>> new source -> compiling Cstdlib.i3
> >>>> new source -> compiling Cstddef.i3
> >>>> new source -> compiling RTAllocCnts.i3
> >>>> new source -> compiling RTAllocator.m3
> >>>> new  source -> compiling RTAllocStats.i3
> >>>> new source -> compiling Convert.i3
> >>>> new source -> compiling TextClass.i3
> >>>> new source -> compiling Text.i3
> >>>> new source -> compiling RTProcedureSRC.i3
> >>>> new source -> compiling Fingerprint.i3
> >>>> new source -> compiling RTProcedure.i3
> >>>> new source -> compiling RTStack.i3
> >>>> new source -> compiling RTAllocStats.m3
> >>>> "..\src\runtime\common\RTAllocStats.m3", line
> >> 46: undefined  runtime
> >>>> symbol !! (R
> >>>> THooks.AllocateTracedRef)
> >>>>
> >>>>
> >>>> ***
> >>>> *** runtime error:
> >>>> *** Attempt to reference an illegal memory
> >> location.
> >>>> *** pc = 0x4c4a0d = StartCall + 0xf in
> >> ..\src\values\Procedure.m3
> >>>> ***
> >>>>
> >>>> Stack trace:
> >>>> FP PC Procedure
> >>>> --------- ---------
> >> -------------------------------
> >>>> 0x12f494 0x60b3ce SystemError + 0x66 in
> >> ..\src\runtime\NT386
> >>>> \RTSignal.m3
> >>>> 0x12f4c4  0x4c4a0d StartCall + 0xf in
> >> ..\src\values\Procedure.m3
> >>>> 0x12f524 0x51beb8 GenRecord + 0x73 in
> >> ..\src\builtinOps\New.m3
> >>>> 0x12f58c 0x51b8a3 GenRef + 0x111 in
> >>  ..\src\builtinOps\New.m3
> >>>> 0x12f5c8 0x51b70f Gen + 0x12d in
> >> ..\src\builtinOps\New.m3
> >>>> 0x12f5e0 0x51b4a3 Prep + 0x15 in
> >> ..\src\builtinOps\New.m3
> >>>> 0x12f600 0x550f08 Prep + 0x75 in
> >> ..\src\exprs\CallExpr.m3
> >>>> 0x12f61c 0x54312d Prep + 0x54 in
> >> ..\src\exprs\Expr.m3
> >>>> 0x12f63c 0x544d7f PrepForEmit + 0x81 in
> >> ..\src\stmts\AssignStmt.m3
> >>>> 0x12f66c 0x54453b Compile + 0xd6 in
> >> ..\src\stmts\AssignStmt.m3
> >>>> ......... ......... ... more frames ...
> >>>>
> >>>> C:\cm3-cvs\cm3\m3-libs\m3core>
> >>>>> You need to recompile m3core before compiling
> >> with the new
> >>> compiler.
> >>>>
> >>>>> On Sep 18, 2007, at 5:29 PM, Daniel Alejandro
> >> Benavides D.  wrote:
> >>>>
> >>>>> Hi all:
> >>>>> Im getting this runtiem error because the
> >> symbol
> >>>>>
> >>>>>  missing version stamps -> compiling
> >> RTAllocStats.m3
> >>>>> "..\src\runtime\common\RTAllocStats.m3", line
> >> 46: undefined
> >>> runtime
> >>>>> symbol !! (R
> >>>>> THooks.AllocateTracedRef)
> >>>>>
> >>>>> AllocateTracedRef is not defined in the m3core
> >> version
> Sé un Mejor Amante del Cine
> ¿Quieres saber cómo? ¡Deja que otras personas te ayuden! .
>
> Make your little one a shining star! Shine on!
> Make your little one a shining star! Shine on!




More information about the M3devel mailing list