[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[MiNT] GCC 4.4.2 and binutils 2.19.1 20091017
Hello.
I have updated the MiNT patches for the binutils and GCC, and as usual I
provide the cross-compiler binaries for Cygwin:
http://vincent.riviere.free.fr/soft/m68k-atari-mint/
GCC 4.4.2 is only a bugfix release, there is nothing specific for us.
Here is the list of the bugs fixed in this release:
http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.2
However I made some important changes in this news binutils 2.19.1 patch
labeled 20091017:
- I reverted the .align behaviour to act like in binutils 2.13 for MiNT: it
now takes a power of 2 (as requested by Alan). I repeat again that if you
want to align on 4 bytes, you should use .balign 4 because the meaning of
.align 2 (means pow(2, 2)) may be different on some other assemblers,
especially m68k-elf. Be warned.
- I fixed that long-lasting C++ cout bug ! One day I discovered that a
simple C++ program was not able to output an int via cout, followed by some
other text (no output or access violation). The reason was actually in the
binutils ! But on a very rare case: a reference to a weak variable in the
data segment defined in the same object file. This case is highly improbable
for much C programs, but it is used in C++ to implement static data members
in class templates. And the standard iostream uses that machinery. I
discovered that recently by chance while trying some hardcore template
programming, and fortunately it has been a lot easier to debug than trying
to understand the complex iostream.
That fix has been committed in the binutils official sources. Full story
here (boring):
http://sourceware.org/bugzilla/show_bug.cgi?id=3041
So the good news is there is no more known bug with C++ (and C) !
Keith, I don't know if you still have problems with ScummVM, but I remember
it uses some very advanced C++ features. You shouldn't experience any
problem with this release.
I also added some little nice things, among them :
- objdump -p can now display the values of the MiNT extended header (stack
size, start address, debug format...)
- strip now works on executables linked with --traditional-format, no more
"invalid file format".
As I write these lines, I realize that the binutils 2.20 have just been
officially released, so I'm providing you outdated software :S
However my 2.20 patch is almost ready, I plan to release it soon with the
long awaited stack patch !
Enjoy.
--
Vincent Rivière