Sakura-IT / SonnetAmiga

Reimplementation of WarpOS supporting Sonnet Crescendo 7200 and other PowerPC PCI cards (mirror of CVS development repository).
MIT License
39 stars 3 forks source link

Investigate the optimisations done by vasm #3

Closed rkujawa closed 9 years ago

rkujawa commented 9 years ago

As @DvdBoon noticed, the m68k version of vasm has some optimisations enabled by default. This results in some (unwanted?) behaviour in the newest version of vasm.

For example in getinfo binary 2169 fd56 0000 becomes 20a9 fdb0.

The optimisations can be disabled by adding -no-opt parameter to assembler flags (which I just did), but this results in many more minor differences.

DvdBoon commented 9 years ago

The unwanted behavior of vasm on my side was due to a broken NDK. I slightly remember for example fiddling with it to replace zero byte padding with NOP padding probably a decade ago.

The differences observed with a correct and working NDK don't seem to influence the functionality of the builds, Neither the different optimized output of different vasm versions.

rkujawa commented 9 years ago

Well, to be honest I expected something like that - it would be weird if vasm had such bugs, as it is now used extensively in the wild and is the only actively developed assembler for the Amiga. Of course, bugs can always happen and cases like this are worth investigating.

I also did some testing and didn't notice anything wrong. Therefore I assume it is safe to remove the -no-opt flag from Makefiles?

DvdBoon commented 9 years ago

Yes. I actually build the files using a script instead of the makefile. These don't use the no-opt flag anyway.

rkujawa commented 9 years ago

Done in commit d7671bc684fc75190c18ce32c95d6e056cba3b32.