[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