I checked into the details, and I actually doubt that -mstrict-align can fix this. In Mame there is a "device structure". This structure starts with the name of the device, and immediately after a internal_config structure follows (which among others contains float's).
The problem is: In two instances (two different devices) the alignment of the float's in the internal_config structure might have to be DIFFERENT depending how long the name of the device is! I am not sure how -mstrict-align works, but I doubt it can give different alignment to two instances of the same structure... and that it is clever enough to notice that the void * containing a internal_config * needs to be aligned that way I doubt...
I will try this evening if I can include a workaround (including padding BEFORE the internal_config structure, after the name), but as this goes pretty far into the internals of Mame it is - tricky to do. We will see if it works on the Sam then |