[M3devel] Binary compatibility and back ends.

Rodney M. Bates rodney_bates at lcwb.coop
Thu Feb 19 20:01:09 CET 2015


Any knowledge of what we have or ideas about what we want in the way
of binary compatibility between the code generated by different
back ends?  How much of it do we have?  How much do we want?

I know of at least a few things that require a match between generated
code and the runtime.  Open array heap objects, text literals are examples.
Probably the layout of the allocator/GC word at the head of heap objects
too.

I recall from a number of years ago, having a failure involving
passing a one-byte value as a parameter, but don't remember the details.
That would have been PM3, and maybe linking with a different language.
I have also recently had a problem involving passing a record/struct
between code from the M3 gcc-4.7 back end and C code compiled by a more
recent stock gcc.

-- 
Rodney Bates
rodney.m.bates at acm.org



More information about the M3devel mailing list