-fdelete-null-pointer-checkswhich is enabled by
-O3... It tries to delete any references to a null pointer and replace them with panic instructions. One of the things it thinks is a null pointer is any data or function with an address of 0x00000000. But I'm trying to read the ROM header, which is actually at 0. My code worked fine with
-O0, but failed on undefined instructions when optimization was turned on. So we need
-fno-delete-null-pointer-checksin order to tell gcc not to delete my code.
Soft_Float_Tablerecord into an access type and not have to cache all the pointers as separate variables
ADAFLAGS := ("-gnatg", "-nostdinc", "-fno-delete-null-pointer-checks");
int2floatfunction from the ROM, but I have no idea why