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

Jay K jay.krell at cornell.edu
Thu Oct 7 13:22:28 CEST 2010


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