History of the m68k-atari-mint tools

The packages are named like this:
<package name>-<package version>-<patch name>-<patch version>-<binary target>-<binary version>


binutils, mintbin, GCC, cross-mint-cygwin: Switch to 64-bit Cygwin.
mintbin: Upgrade to the latest Git version.
GCC: Update ctype_base.h according to MiNTLib Git-20170925.


MiNTLib: Upgrade to the latest Git version.
PML: Update to stay compatible with MiNTLib.
ncurses: Rebuild with --enable-overwrite to avoid intermediate include/ncurses subdirectory. Reported by Hugo Labrande.


binutils: Upgrade to version 2.30.


binutils: Upgrade to version 2.28.


MiNTLib: Upgrade to the latest Git version.
GEMlib: Upgrade to the latest Git version.
CFLIB: Upgrade to the latest Git version.
SDL: Upgrade to the latest HG version. This fixes the interrupt mask for non-Atari hardware (Amiga).


binutils: Upgrade to version 2.26.
MiNTLib: Upgrade to the latest CVS version.


MiNTLib: Upgraded to latest CVS version. This fixes the getlogin() user name truncation bug.


binutils: Fixed addr2line bug 17481. Reported by Markus Fröschle.


MiNTLib: Upgraded to latest CVS version. This fixes the arrow keys in nano on the BIOS console.


MiNTLib: Upgraded to latest CVS version.
SDL: Upgraded to latest HG version. This fixes the keyboard in full screen on ColdFire.


MiNTLib: Upgraded to latest CVS version.


binutils: Upgraded to version 2.24.
MiNTLib: Upgraded to latest CVS version.
Readline: New package.
OpenSSL: New package.


MiNTLib, LDG, SDL: Upgraded to latest CVS/SVN/HG versions.
zlib: Upgraded to version 1.2.8.


binutils: Upgraded to version 2.23.2.
GCC: Upgraded to version 4.6.4.
GCC: Restrict command-line length to avoid very long configure times when building GCC natively. Patch provided by Alan Hourihane.
MiNTLib, GEMlib, CFLIB, SDL: Upgraded to latest CVS/HG versions.


MiNTLib: Upgraded to version CVS-20110223. This fixes the "make" malloc() bug.


binutils: Upgraded to version 2.23.1.


SDL: Upgraded to version 1.2-HG-20121114. This fixes the abnormal slowness in GEM window.


SDL: Upgraded to version 1.2-HG-20121012. This fixes mouse move issues in GEM window.
zlib: New package.


LDG: New package.
SDL: New package.
cross-mint-cygwin: Added dependency check for libmpfr4. Thanks to Gilles Bouthenot to have reported this problem.


GCC: Upgraded to version 4.6.3.


CFLIB: New package. BUG: Fails on TOS 1.62 and EmuTOS due to USERDEF stack overflow.


binutils: Upgraded to version 2.22. Included the fix for the gas bug 13145 regression on ColdFire.
ncurses: Upgraded to version 5.9.


GCC: Upgraded to version 4.6.2.


GCC: Upgraded to version 4.6.1. I have included the patch for the GCC bug #47612 to allow the compilation of the MiNTLib for ColdFire.


binutils: Upgraded to version 2.21.1.


MiNTBin: Upgraded to version CVS-20110527. This fixes the stack tool on 64-bit systems (Thanks to Marc-Antón Kehr for reporting this bug).


GCC: Upgraded to version 4.5.3.
MiNTLib: Upgraded to version CVS-20110429.


MiNTLib: Upgraded to version CVS-20110223. The file <mint/osbind.h> now contains a safe binding named SuperToUser() to safely return to user mode.


binutils: Fixed gprof bug 12468 (Missing functions and call counts).
GCC: Never automatically link with the debug or profile standard libraries. To do so, compile them yourself then add -lc_g or -lc_p on the command line. As a consequence, linking with -g is now safe in any case.
GCC: Fixed GCC bug 47672 about compilation of math-68881.h with -std=c99 or -std=gnu99. Thanks to Paweł Góralski to have reported this problem.
MiNTLib: Removed math-68881.h since it is provided by GCC.
PML: The file math-68881.h is not used anymore. Compile with -ffast-math instead.
all: Stripped all the libraries. The size is much smaller.
all: Removed the -16 or -020 symbolic links. Application makefiles should be cleaned up.


GCC: On the -m68020-60 configuration, floats are now returned into d0/d1 instead of fp0. The ABI is now compatible between all the configurations, and the libraries can be mixed.
GCC: Added the nonstandard define __M68881__ whenever __HAVE_68881__ is defined. This means a 680x0 FPU (not ColdFire) is available and should be used. This new define is for the compatibility with older sources. New sources should only test __HAVE_68881__.
MiNTLib: Upgraded to version CVS-20110128.
PML: Removed debug messages on errors such as OVERFLOW.
PML: Now the m68020-60 library is really optimized for the FPU.
PML: Now the math functions are automatically inlined by using GCC's internal math-68881.h. Define NO_INLINE_MATH to disable this feature.


GCC: Removed the defines __off_t, __off64_t and __ssize_t from the C++ headers. They conflict with <unistd.h>.


GCC: Upgraded to version 4.5.2. This fixes the GCC bug 45052 about the volatile attribute on struct members.
MiNTLib: Upgraded to version CVS-20110102.


binutils: Upgraded to version 2.21.
MiNTLib: Upgraded to version CVS-20101209.


GCC: Upgraded to version 4.5.1.


ncurses: Built ColdFire binaries.


MiNTLib: Fixed the Line A for ColdFire.


cross-mint-cygwin: Fixed the "bzip2: Cannot exec" bug.


cross-mint-cygwin: Improved Cygwin detection.
cross-mint-cygwin: Fixed updating of environment variables if Cygwin has just been installed.


GCC: Enabled libmudflap and -fstack-protector-all.
MiNTLib: Upgraded to version CVS-20100511. Now the STACKSIZE environment variable can be used to override the processes default stack size.
cross-mint-all-light: Removed.
cross-mint-cygwin: New graphical installer.


GCC: Upgraded to version 4.5.0.
MiNTLib: Upgraded to version CVS-20100415.


binutils: Upgraded to version 2.20.1.


GEMlib: Upgraded to version CVS-20100223 to fix the grect_to_array() bug. Thanks to Olivier Landemarre for having reported this bug.


GCC: Upgraded to version 4.4.3.
MiNTLib: Upgraded to version CVS-20100123.
PML: Adjusted the Makefile to easily disable building the mshort libraries.
GEMlib: Upgraded to version CVS-20100123
ncurses: Upgraded to version 5.7. Beware, now all the includes are in a subdirectory named ncurses.

Moved the whole toolchain to /opt/cross-mint (instead of /usr/local/cross-mint).
Added GCC support for 6 multilib variants: m68000, m68020-60, m5475 and their mshort versions.
Removed all the mshort libraries except the ones required to build EmuTOS, FreeMiNT and XaAES (libgcc and libgem).
Fixed the wrong <limits.h> which caused PATH_MAX being undefined.
Upgraded to Cygwin 1.7 by using its official libraries gmp, mpfr, ppl and cloog.
Rebuilt all the Cygwin binaries.


GEMlib: Fixed issue with registers not correctly preserved on trap #2 (Thanks to Didier Méquingon and Patrice Mandin for tracking down this bug).


MiNTBin: Fixed for compilation with GCC 4.4.1.
MiNTBin: Removed include files conflicting with the MiNTLib.


binutils: Fixed "ld -r" for relocatable output (SpareMiNT bug #160 reported by Alan Hourihane).
binutils: Fixed compilation for GCC 2.95.
binutils: Fixed compilation on Mac OS X (Thanks to Philipp Donzé for reporting this bug).
GEMlib: Fixed "make install" on Mac OS X (Thanks to Philipp Donzé for reporting this bug).
Moved man pages to $prefix/share/man.
Gzipped all man pages.
Rebuilt all the dependant Cygwin binaries.


binutils: Added the --stack option to ld for overriding the executable stack size.
Waiting for next patch before rebuilding everything.


binutils: Upgraded to version 2.20.
Waiting for next patch before rebuilding everything.


- as: The behaviour of .align has been reverted to be compatible with binutils 2.13 for MiNT. Now .align behaves like .p2align. So .align 2 is now equivalent to .p2align 2 and .balign 4. You are strongly encouraged to use .balign (or .p2align) instead of the unportable .align
- as: Fixed invalid generation of references to weak data symbols defined in the same file. In practice, such construct was only generated in C++ when using static data members in templates. This was the cause of the "cout bug", which prevented to output an int with cout, followed by some other text.
- objdump: Customized -p for displaying the contents of the MiNT extended header: stack size, start address...
- strip: Executables linked with --traditional-format are now supported.
- ld, strip: Executables with no symbols always declare an empty GNU symbol table. So executables linked with -s or compiled with --traditional-format then stripped are now byte-to-byte identical.
- ld: Executables are now rejected as linker input.
- objcopy: When the output is a MiNT executable, only a MiNT executable is allowed as input.
- Fixed compilation problem with -Wformat-security (enabled by default on Ubuntu).
Thanks to David Gálvez for reporting this bug.
- Big cleanup in prg-mint.c

GCC: Upgraded to version 4.4.2.
MiNTLib: Upgraded to version CVS-20091018.
Rebuilt all the dependant Cygwin binaries.


GCC: Upgraded to version 4.4.1 (with GMP 4.3.1)


MiNTLib: Upgraded to version CVS-20090615 to fix the crash in the startup code with memory protection.


GCC: Renamed the ColdFire V4e multilib directory from mcfv4e to m5475 (to follow GCC standard).
GCC: Fixed match for all ColdFire V4e cpu options to the m5475 multilib.
GCC: Enabled the collect2 wrapper around ld, since it is the standard way to do.
GCC: Internal cleanup inside gcc/config/m68k/mint.h.
MiNTLib: Upgraded to version CVS-20090604 for ColdFire support.
MiNTLib: Added the m5475 multilib.
PML: Added install of math.h (not provided by the MiNTLib anymore).
PML: Removed install of pml.h (actually a private header).
PML: Added the m5475 multilib.
GEMlib: Added the m5475 multilib.


GCC: Updated to version 4.4.0 (with GMP 4.3.0 and MPFR 2.4.1)
GCC: Removed support for multilib m68020-60/mshort (it was useless)
GCC: Added support for multilib mcfv4e (ColdFire V4e)
MiNTLib: simplified the build script when compiled while building GCC itself.


binutils: Updated to version 2.19.1


binutils: Updated to version 2.19

GCC: Updated to version 4.3.3
Updated the build scripts with Miro Kropáček's contributions: Now PML is not required anymore for building GCC itself, and the MiNTLib executables can be built even when GCC is not completely installed.


Experimental build of GDB 5.1, with support for Text UI (--tui option) and remote debugging. Cygwin and MiNT binaries are provided.


GCC: Updated to version 4.3.2

GCC: Fixed incorrect directory for 68000 libraries. Since my fist port of GCC 4.3, GCC put its 68000 libraries in a subfolder named m68000. Now the 68000 libraries are put directly in the lib directory, as expected.
Thanks to Patrice Mandin for this fix.

Rebuilt all the dependant Cygwin binaries.


GCC: Updated to version 4.3.1

MiNTLib: Updated to version 0.58.0

Rebuilt all the Cygwin binaries.


MiNTLib: Updated to version CVS-20080429. No more patch needed !


binutils: Fixed random and harmless garbage in DRI symbols longer than 8 characters. Now the cross and native versions produce exactly same binaries.


GCC: Updated to version 4.3.0

Rebuilt all the Cygwin binaries.


binutils: Restored the default section alignment to the default of 4 bytes. Now the ".align 4" directive is honored as expected (with Falcon TOS, or MiNT). The little drawback is that the size of every section of every .o file is now rounded up to the next multiple of 4. Thus some 2-byte fillers are inserted into the final executable in order to make the actual alignment.
Rebuilt all the Cygwin binaries.


GCC: Fixed the Quake bug. Now programs can use -m68020-60, -O and -fomit-frame-pointer at the same time.
Note that if the option -fomit-frame-pointer is not explicitly specified, the frame pointer will always be used, regardless to the optimization level.
Thanks to Richard Sandiford for having made this patch, and to Miro Kropáček for having found it.


GCC: The compilation settings of libstdc++-v3 are now the same for native and cross-compilation. The required define -D_GNU_SOURCE have been added for native compilation, and some missing configure tests have been added for cross compilation.
Thanks to Miro Kropáček for spotting that problem.


binutils: The argument of the .align directive is now an absolute number of bytes instead of a power of two. The behavior is now the same as the .balign directive. It is consistent with the GAS documentation about the m68k target, and with the ALIGN directive of the Pure Assembler.
Thanks to Roger Burrows for reporting the behavior of the native assemblers.


all packages: The Cygwin binaries are now installed in /usr/local/cross-mint instead of /usr/local/m68k-atari-mint. It is less error-prone.

binutils: Now, the initial jump to the program entry point uses the register d0 instead of d4.

binutils: The version of the MiNT patch is now displayed in a more standard way.

GCC: Fixed the bug of duplicate symbols for C++ thunks when using virtual inheritance.
Thanks to Keith Scroggins for reporting this bug.


GCC: Updated to version 4.2.3

GCC: The version of the MiNT patch is now displayed in a more standard way. In the previous build, the patch version was also used in some installation directories.

PML: Fixed the patch and the build script in order to be able to specify a custom installation directory.
Thanks to Olivier Landemarre for reporting this bug.


binutils and GCC: All the tools now display the MiNT patch date with --version.

binutils: texinfo >= 4.4 is needed in order to build the BFD documentation. However, the version detection was abnormally failing with texinfo >= 4.10.
Thanks to Olivier Landemarre for reporting this bug and providing the patch.

GCC: Due to this bug, which was especially causing Quake to crash when compiled with full optimization, I removed the automatic implicit use of -fomit-frame-pointer when compiling with -O.
Thanks to Miro Kropáček for reporting this bug.

GCC: Added the necessary patches do build natively GCC on MiNT with GCC 2.95.3.
Once again, thanks to Miro Kropáček for providing these patches.

MiNTLib: Updated to version CVS-20080127


binutils: Fixed the linker script broken in the previous build. The native ld wasn't able to find the standard libraries anymore.
Thanks to Miro "MiKRO" Kropáček for reporting this bug.

binutils: Fixed ld link failure when building the binutils on a system where /bin/sh defines $BASH but does not support $BASH_LINENO (this is the case on the current EasyMiNT).
Thanks to Keith Scroggins for reporting this bug.

binutils: Included the patches needed to build the binutils natively on MiNT with GCC 2.95.3.

MiNTLib: Updated to version CVS-20080119

MiNTLib: The stack program can now adjust the stack size of the programs linked with this MiNTLib. It was broken in all my previous builds, because the _stksize variable was in the .bss segment instead of .data.
Thanks to Alan Hourihane for fixing this bug.


Fixed the linker option --oformat binary broken in the previous patch.
Cleaned up the linker script. CONSTRUCTORS is now in the .text segment, as it is read-only data.


Added the package MiNTBin.


Added the documentation of the MiNT specific linker options. Try m68k-atari-mint-ld --help or --target-help.
Fixed a bug in ld: CONSTRUCTORS (the list of the global constructors and destructors) is now relocated as expected.
Warning ! The previous versions of libgcc contained a patch as a workaround to this bug. Since the bug is fixed, I removed the libgcc patch. That means that the new binutils are incompatible with the old GCC, and the new GCC is incompatible with the old binutils (only for programs using constructors for global variables) !
Global contructors worked before. They still work now. But remember to update the binutils and GCC packages at the same time.


Fixed a bug in ld: previous versions relocated incorrectly absolute symbols. Now it is possible to define absolute symbols in linker scripts, or to use the --defsym command-line option.
Rebuilt the binutils binaries for Cygwin and MiNT.


Added GEMlib.


GCC: Enabled fixincludes in order to get <syslimits.h> installed.
Thanks to Alan Hourihane for pointing me to the problem and the solution.
Also removed the huge precompiled headers of the standard C++ library.
MiNTLib: Updated to the latest CVS version, containing most of the patches needed to compile it with GCC 4.
Rebuilt all the Cygwin binaries.


In my previous versions, GCC returned pointers into a0 and other values into d0, like on Linux/m68k. Because it caused incompatibilities with older assembly code, I removed that and configured GCC in the usual way. Pointers and other values are now returned into d0.
Rebuilt all the Cygwin binaries.


New version of GCC: 4.2.2
Rebuilt all the Cygwin binaries.


Big cleanup in prg-mint.c. The code is now more debugger-friendly.
Fixed a bug in ld: Executables with traditional symbols no longer contains GNU debug garbage after the end of the file.
Fixed objdump: The VMA of the text segment is now correct. objdump -d now displays the right symbols.
Rebuilt the binutils binaries for Cygwin and MiNT.


Fixed a bug in ld: some DRI symbols were incorrectly defined (especially external data symbols).
Rebuilt the binutils binaries for Cygwin and MiNT.


New version of the binutils: 2.18
Fixed a bug in ld which was producing some harmless extra bytes at the end of the executables when there was a lot of relocations.
Fixed a bug in ld which sometimes added 2 unnecessary bytes in the BSS section.
Rebuilt all the Cygwin binaries.


MiNTLib: Fixed invalid register usage during system calls.
New version of GCC: 4.2.1
Rebuilt all the Cygwin binaries.


Fixed erroneous opening of binary files in text mode in the native MiNT binutils.
Previous MiNT binaries produced corrupted binary files, Cygwin binaries are not affected.


Fixed bad return value for the memcpy function family.


Fixed binutils compilation problem with gcc 4.
Thank you to Bernd Mueller for reporting this problem.


Initial version.
Back to the m68k-atari-mint page