[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[MiNT] binutils-2.18-mint-20080228
Hello.
This time I didn't add a new patch, I removed one.
The details are here:
http://vincent.riviere.free.fr/soft/m68k-atari-mint/history.php
As I said before, my previous binutils releases contained a patch for 
using a maximum alignment of 2 instead of the m68k default of 4. The 
purpose of that patch was to get executables with the smallest possible 
size, without any filler useless for the ST. However, the 4-byte 
alignment can be useful for accelerator cards using FastRAM. So I 
reverted the patch. Now the ".align 4" directive is honored as expected 
on Falcon TOS and MiNT.
This change is a prerequisite for a future GCC patch where every long is 
aligned on a 4-byte boundary.
Note that this change is not a revolution, because it is the default 
binutils behavior, and the binutils 2.13 already behave like that.
I'm a bit sad, because that change looks like a regression for ST users 
like me. That 4-byte alignment is totally useless without FastRAM. 
Furthermore, the executables are now a little bigger than before 
(actually, only a few bytes), and the wasted space grows with the number 
of .o files linked in the executable. However, the (future) speed gain 
for the MiNT power users is certainly more important than some wasted 
bytes for retro freaks.
Another cause of sadness is that I discovered a bug in g++.
cout << "hello" works, but
cout << 123 displays nothing and disables any further output !
That problem is present since gcc-4.2.3-mint-20080210. The only 
significant change in that version is the workaround for duplicate 
symbols for C++ thunks (aka ScummVM bug)
This will require further investigation :-)
That's all for today.
--
Vincent Rivière