[M3devel] random notes: gcc 4.5, sparc, etc.

Jay K jay.krell at cornell.edu
Fri Oct 8 13:44:57 CEST 2010


For the record:
Still, no luck. Replacing MxConfig.ms from 4.3 seems to let it get further.
Or maybe it was M*.
Problem seems to be that when M3File__IsReadable returns, $l7 gets zeroed.

But I'm going to try another hack.

 - Jay

----------------------------------------
> From: jay.krell at cornell.edu
> To: m3devel at elegosoft.com
> Subject: RE: random notes: gcc 4.5, sparc, etc.
> Date: Thu, 7 Oct 2010 11:22:28 +0000
>
>
> oh darnit, I wasn't actually applying volatile like mad, at all, in solgnu/4.5. Duh.
>
>  - Jay
>
>
> ----------------------------------------
> > From: jay.krell at cornell.edu
> > To: m3devel at elegosoft.com
> > Subject: RE: random notes: gcc 4.5, sparc, etc.
> > Date: Thu, 7 Oct 2010 09:45:49 +0000
> >
> >
> > Unoptimized SOLsun gcc 4.5: exception handling does jump to the right place.
> > I suspect we are underusing volatile.
> > e.g.: we don't make all the types/variables volatile, we merely mark MOST of the load/stores volatile.
> > The ones going through m3_load/m3_store, but not all the other uses of MODIFY_EXPR.
> >
> > I think solution is to volatize all decls if we are volatizing all load/store and/or also volatize
> > all MODIFY_EXPR. There is probably redundancy here.
> >
> > Notice that even the original volatization was incomplete.
> > It volatized current function's current temporaries/locals, but not others declared after
> > any call to setjmp. I fixed that at some point.
> >
> > - Jay
> >
> > ----------------------------------------
> > > From: jay.krell at cornell.edu
> > > To: m3devel at elegosoft.com
> > > Subject: random notes: gcc 4.5, sparc, etc.
> > > Date: Wed, 6 Oct 2010 13:30:00 +0000
> > >
> > >
> > > some random notes
> > >
> > > Solaris/sparc32 using gcc 4.3 backend, -O3 breaks exception handling
> > > Easy test is to run cm3 without a neighboring cm3.cfg and the error
> > > is that cm3.cfg didn't define BUILD_DIR, rather than couldn't find cm3.cfg
> > >
> > > Solaris/sparc32 using gcc 4.5, exception handling is broken, without optimization
> > > Same easy test, but it crashes upon first attempt to raise an exception.
> > >
> > > Solaris/sparc32 using gcc 4.3 is broken by the typeinfo and/or stabilize_reference + O3.
> > > NULL derefence in backend. Unless you go down to -O2, which parse.c does now.
> > >
> > > Linux/sparc32 using gcc 4.5 is very broken, I think without optimization.
> > > Actually doesn't seem to crash but exit(0) before it finishes initializing all modules.
> > >
> > > Meanwhile I think many other targets are working ok with 4.5.
> > > Hudson doesn't use -O2 or -O3 but I use them fairly often, at least on Darwin.
> > >
> > > - Jay
> > >
> >
>
 		 	   		  


More information about the M3devel mailing list