In a program developed by me my tester (currently I have no working Amiga) reported an alignment exception in a totally innocent position. Looking at the crashlog it seems it did not like the alignment of a data structure. Now if I remember correctly the Sam (he tested on a Sam) requires data structures 32 Bit aligned.
Now I *think* to remember there was some ENV Variable to set if an alignment exception should cause a crash or not (or was this with WarpOS? Maybe I am confusing things...). Can somebody clear this up for me?
I am also trying right now to compile my application with -mstrict-align, maybe this would help?
Any comments welcome.
This is what caused the alignment exception:
if (config->xoffset != 0) { settings.xoffset = config->xoffset; }
settings is a local variable, config is a pointer variable pointing to something inside a structure inside a structure inside a pointer parameter.
It's just been some years since my last Amiga developments, some years before I'd probably have known my own answers
MagicSN |