[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[MiNT] GCC 4.4.3
Hello.
GCC 4.4.3 has been released a few days ago. I have updated the MiNT patches
and the Cygwin binaries of the cross-compiler. They are available as usual
on my page:
http://vincent.riviere.free.fr/soft/m68k-atari-mint/
About GCC itself, it is a minor release, I didn't notice any change from the
previous one. However, I have made major changes in the packaging.
1) Multilib support
I have configured GCC for 6 multilib variants, as follows:
$ m68k-atari-mint-gcc --print-multi-lib
.;
m68020-60;@m68020-60
m5475;@mcpu=5475
mshort;@mshort
m68020-60/mshort;@m68020-60@mshort
m5475/mshort;@mcpu=5475@mshort
Basically, there is support for 68000 without FPU, 68020-60 with FPU, and
ColdFire V4e with FPU, with all the mshort variants. This allows GCC to find
the mshort libraries if they are put in the right directory. No more
filename hacking is required.
The only mshort libraries provided are the ones required to build EmuTOS,
FreeMiNT and XaAES. They are libgcc.a and libgem.a, provided for the 6
variants. All other libraries are provided for mlong only, in 3 variants.
I have updated the GCC patch to avoid building the useless multilibs.
I hope this will be enough support for rebuilding every SpareMiNT package.
As always, I recommend you to link your programs with -Wl,-t to see exactly
what gets linked into your executables, especially the right multilib variant.
2) Fixed the PATH_MAX bug. Actually, the file <limits.h> shipped with GCC is
not generated correctly because I don't use --with-headers option when
building GCC. As I still don't know how to cleanly bootstrap GCC and the
MiNTLib, I have included a workaround in the build script.
3) Updated the Cygwin binaries to Cygwin 1.7. I don't support the old Cygwin
1.5 anymore.
4) Now the Cygwin binaries use the official versions of gmp, mpfr, ppl and
cloog. As a result, these official packages must be installed before running
the cross-compiler. And also I don't have to rebuild them manually.
5) The new Cygwin cross-compiler has been compiled with CLooG/PPL support.
This enable the use of the -graphite option along with -O2 to get specific
optimizations on loops. It is about reducing the loops size to fit in the
cache and get improved speed. It is probably useless for a raw 68000, if not
worst. You can try this option on time critical software to see what happens.
4) The Cygwin cross-tols are now installed in /opt/cross-mint instead of
/usr/local/cross-mint. I did that because it seems to be the right place to
put self-contained packages. Of course the real right place should be /usr,
but since I have no uninstaller, I prefer to not mess the standard
directories. Of course everything can be unsintalled by removing the
/opt/cross-mint directory.
Important note: I have not updated the Ubuntu packages, as I don't know if
they are useful for someone.
Enjoy !
--
Vincent Rivière