| History

Previous | General Information about TIGCC | Next

Note: Click here for the history of the library, or here for the history of the IDE.
October 31, 2006: TIGCC v0.96 Beta 8, ld-tigcc v1.07, Library v2.7, IDE v2.94

- Added: A new installer for the Win32 release, based on NSIS.
- Updated: Many documentation and library updates, see the TIGCCLIB history for details.
- Added: A completely new ExePack (PPG) launcher, with an almost halved size.
- Added: Support for reordering of startup sections (sharing the same startup number) in the linker.
- Added: Support for Mlink-format relocs (MLINK_FORMAT_RELOCS, MLINK_FORMAT_BSS, MLINK_FORMAT_ROM_CALLS, MLINK_FORMAT_DATA_VAR).
- Added: Support for debugging information in DWARF 2 format (to be used with a GDB-enabled TiEmu), including some toolchain bugfixes required to support this feature.
- Added: Support for the new _nostub comment specification 1.01 and its new COMMENT_AUTHORS entry.
- Updated: Patched GCC 4.1.2 (prerelease) and GNU as 2.16.1 with the TIGCC patch.
- Bugfix: References in assembly code with an explicitly-coded size are now marked unoptimizable in order to make the linker honor the explicit size as well, not just the assembler.
- Bugfix: `tprbuilder` doesn't crash on long `tigcc.exe` command lines under Windows 9x/Me anymore.
- Bugfix: `ld-tigcc` doesn't try to range-cut in files compiled without range-cutting support (in programs containing files compiled both with and without range-cutting support) anymore.
- Bugfix: Removing unused sections in `ld-tigcc` now really removes all unused sections.
- Bugfix: Uninitialized static or global variables are now always emitted to the expected section by GCC.
- Updated: Bugfixes and improvements to external data variable support.
- Bugfix: Fixed a segfault during constant-merging in `ld-tigcc`.
- Bugfix: Fixed invalid kernel ROM_CALL or RAM_CALL tables emitted by `ld-tigcc` when unused section removal optimized all ROM or RAM_CALLs away.
- Bugfix: `A68k` doesn't crash on EQUs doing arithmetic with other EQUs which do arithmetic with undefined symbols anymore, this invalid code now gives a proper error message.
- Bugfix: Fixed `-v` and `-v0` being limited to 255 characters in the Windows command-line compiler.
- Added: The command-line compiler now supports `-isystem` properly.
- Bugfix: Fixed compilation problems on *BSD and Mac OS X.
- Added: The standalone version of `ld-tigcc` supports a new `--outputbin-main-only` switch to be used by KTIGCC.
- Updated: ExePack compression support is now Free Software.
- Updated: On Windows, `MSVCRT.DLL` is now required. This DLL comes with all Windows versions since Windows 95 OSR 2. For the original Windows 95, it is usually installed by Internet Explorer or Microsoft Office.
- Bugfix: Fixed *nix install script not to attempt symlinking `os.h` to `OS.h` on case-insensitive file systems.
- Bugfix: Fixed external data variable support for compressed programs in the *nix command-line compiler.
- Bugfix: Fixed multiple uses of -Wa or -WA in the *nix command-line compiler.
- Updated: The IDE now supports TiEmu (20061030 or later) instead of VTI for debugging/testing.

October 24, 2004: TIGCC v0.95, ld-tigcc v1.06, Library v2.6, IDE v2.92

- Added: An entirely new linker, as a basis for all other improvements (see Advanced Options of TIGCC).
- Added: Support for dynamic BSS sections in nostub mode.
- Added: Linker-side code optimization.
- Added: Support for data variables.
- Added: Support for contructors and destructors.
- Added: Experimental optional Fargo II support.
- Updated: Patched GCC 3.3.1 with the TIGCC patch.
- Updated: Updated PPG launcher created by the TI-Chess Team.
- Added: Basic TI-89 Titanium support.

January 24, 2003: TIGCC v0.94 SP4, Obj2TI v1.01e, Library v2.5 SP4, IDE v2.91

- Bugfix: Fixed ER_throw bug with 4-digit error numbers.
- Bugfix: Fixed bug in `ENABLE_ERROR_RETURN` with `MIN_AMS` values of 200 or higher.
- Bugfix: Removed the rejection of a minimum AMS version of 2.07.

January 13, 2003: TIGCC v0.94 SP3, Obj2TI v1.01e, Library v2.5 SP3, IDE v2.91

- Bugfix: Incorporated a fix for fclose.

January 12, 2003: TIGCC v0.94 SP2, Obj2TI v1.01e, Library v2.5 SP2, IDE v2.91

- Bugfix: Important bugfixes for fopen, fread and fwrite.
- Bugfix: Changed import_binary to export the symbol, and changed the IDE to make it work with it.

December 30, 2002: TIGCC v0.94 SP1, Obj2TI v1.01e, Library v2.5 SP1, IDE v2.91

- Bugfix: Fixed `SET_FILE_IN_USE_BIT`.
- Bugfix: Fixed the prototype of MD5Update.

December 21, 2002: TIGCC v0.94, Obj2TI v1.01e, Library v2.5, IDE v2.91

- Updated: Patched GCC 3.2.1 with the TIGCC patch, with a lot of modifications.
- Updated: Greatly changed the internal structure of the library.
- Added: Applied a patch for argument passing through registers.
- Added: Implemented F-Line ROM Calls.
- Added: Implemented support for PreOS libraries in `obj2ti`.
- Bugfix: Repaired the '-freg-relative-reg' option.
- Updated: Created an option to ignore system folders in the setup program.
- Added: Finally wrote a program to update the version numbers in all places.
- Updated: Enhanced the help file tools to generate the header files as well.
- Added: Added tools to edit the help system files.
- Added: Implemented HTML checking for help system files.
- Added: Added a switch to `tigcc` to create archives.
- Updated: Made `tigcc` look for archives in the `'Lib'` subfolder of the installation.
- Updated: Repaired some bugs to support debugging switches like '-ggdb'.
- Updated: Recompiled all programs under MinGW32, thereby removing the need to use Cygwin.
- Updated: Compressed setup program using UPX.
- Added: Added "See Also" links to the help system.
- Added: Extracted all examples from the documentation, with a lot of help from Joel Thompson.
- Added: Added support for nostub libraries.
- Added: Added missing `long long` operator support.

February 3, 2002: TIGCC v0.93, Obj2TI v1.01, Library v2.41, IDE v2.9

- Updated: A lot of updates in the IDE.
- Updated: Completely redesigned the documentation.
- Updated: Peter J. Rowe corrected grammar and spelling mistakes in a large part of the doc.
- Added: Allowed the use of paths for files compiled with `tigcc`.
- Bugfix: Fixed a problem with linking multiple A68k files.
- Added: Added the '-WA,...' option to pass switches to `a68k`.
- Bugfix: Cleaned up the whole patch code, including the support for exit and atexit. Fixes were developed by Patrick Pélissier, Kevin Kofler, and Stephan Effelsberg.
- Bugfix: Used an updated version of the ExePack launcher by Thomas Nussbaumer, with fixes contributed by Olivier Armand and Kevin Kofler.
- Bugfix: Small fixes in the GNU and A68k assemblers.
- Updated: Changed the setup program to only overwrite the files that were really changed.

November 25, 2001: TIGCC v0.92 SP2, Obj2TI v1.01, Library v2.4 SP1, IDE v2.8 SP4

- Updated: Applied the TIGCC patch to GCC 3.0.2.
- Bugfix: Fixed a bug which made uninitialized global variables slower and larger.
- Added: Automated the setup creation process to shorten release cycles.
- Updated: Detected Windows NT in setup.

November 9, 2001: TIGCC v0.92 SP1, Obj2TI v1.01, Library v2.4 SP1, IDE v2.8 SP3

- Bugfix: Fixed the problem in obj2ti with uninitialized global variables in kernel mode.
- Bugfix: Fixed the A68k integration problem (in objcopy) which prevented RAM calls from being used in 16-bit addressing mode.
- Bugfix: Fixed the IDE bug which made closing large files really slow.
- Added: In the IDE, it is now possible to switch between files quickly using `Ctrl+Tab`.
- Updated: The program decompressor is stored as an object file now, instead of an assembly file; this removes the need to run the assembler for compression.
- Updated: Greatly updated the setup program to prevent legal problems.

September 29, 2001: TIGCC v0.92, Obj2TI v1.0, Library v2.4 SP1, IDE v2.8 SP2

- Updated: Applied the TIGCC patch to GCC 3.0, which introduces some optimizations and more warnings.
- Updated: Replaced Xavier's linker with new `obj2ti` by Julien Muchembled.
- Added: Added an AmigaOS to COFF converter for A68k programs. This allows for seamless A68k integration in TIGCC.
- Updated: Included new 32-bit version of A68k by Kevin Kofler.
- Updated: Implemented floating point constant folding. The floating point system can now be used the same way as on any other machine.
- Added: The '-Wl,...' and '-Wa,...' options are now available in the command line compiler. This means that you can pass options to the GNU assembler and GNU linker.

May 1, 2001: TIGCC v0.91 SP1, Link v1.2, Library v2.4 SP1, IDE v2.8 SP1

- Bugfix: Kernel support is fixed.
- Bugfix: Support for exit and atexit is clean now. Thanks to Julien Muchembled for the information.
- Added: A short credits list is now included in the documentation.
- Updated: Little maintainance updates in the IDE had to be made.
- Updated: A few minor bugfixes were also necessary.

March 24, 2001: TIGCC v0.91, Link v1.2, Library v2.4, IDE v2.8

- Added: Support for multiple files is now stable since the GNU linker is used.
- Added: Archives (extension `.a`) are now supported. A file `tigcc.a` has been created, which is included automatically in all projects.
- Added: Important debug information is now included in the `.s` file(s) if a program is compiled with the '-g' switch or with the corresponding option in the IDE.
- Added: Support for binary values (`0b...`) has been implemented, but its use is strongly deprecated for portability reasons.
- Updated: Various updates in the IDE have been made.

December 18, 2000: TIGCC v0.9, Link v1.2, Library v2.3, IDE v2.71

- Updated: Fixed various bugs in the compiler.
- Added: Implemented native floating point support.
- Updated: The IDE and `tigcc` now include the necessary patches automatically.
- Bugfix: GCC now works around the uninitialized data bug if the '-mmlink' switch is not used. This makes programs larger, but it is possible not to initialize data and still compile the program correctly until the bug is fixed.
- Added: The compiler now accepts the switches '-mpcrel', '-mlong', '-mno-tios', and '-mmlink'.
- Updated: `tigcc` now accepts the '-bsr' switch for using bsr code where possible, the '-pack' switch for compression, and 'v' as well as '-v0'.
- Updated: Made some additions and fixes in the IDE and the library.
- Updated: Changed the directory structure again, since the previous one didn't really make sense any more.

October 11, 2000: TIGCC v0.8, Link v1.2, Library v2.22, IDE v2.7

- Updated: Recompiled GCC using the latest tools and sources.
- Updated: Included latest versions of the IDE and the Library.

June 26, 2000: TIGCC v0.7, Link v1.2, Library v2.0, IDE v2.6

- Updated: The linker now supports `EXTRA_RAM_TABLE` symbols.
- Updated: The linker accepts a new switch: '-outputbin' will make it output the raw executable file as it is on the calculator. Of course this `'.bin'` file can not be transferred to the calculator.
- Updated: The linker will display the compiled file size even with the quiet switch '-q' enabled.
- Updated: Included library is TIGCCLIB 2.0.
- Added: Included TIGCC IDE by Sebastian Reichelt.
- Updated: The directory structure has been completely changed and is now clearer.
- Updated: The installation is a lot easier thanks to Sebastian Reichelt's setup program.

April 6, 2000: TIGCC v0.65, Link v1.1, Library v1.5

- Bugfix: sometimes some weird characters were appended to the file name and it wasn't compiled.
- Updated: TIGCCLIB is now version 1.5.

Februar 5, 2000: TIGCC v0.6, Link v1.1, Library v1.1

- Added: The library tigcclib by Zeljko Juric is added in the package.
- The source of `tigccins` (the installation program) is included in the distribution.
- Bugfix: Libraries are now compiled correctly (there was a strange bug before).
- Bugfix: Linking multiple object files now seems to work perfectly (mail Xavier Vassor if you find a bug).
- `link`, `tigcc`, `tigccins` are now 32-bit console programs (instead of 16-bit DOS programs)

September 26, 1999: TIGCC v0.51, Link v1.01

- Bugfix: C symbols that where exported out-of-order by GCC (i.e. `library@0000`, `library@0002`, `library@0001`...) are now inserted properly in the `.89z`/`.9xz` file. This will make it possibe to write libraries in C the way it should be done.
- Bugfix: The `_comment` symbol is now properly recognized in both C and assembly programs. Added: Both `tigcc` and `link` now have the '-q' option for quiet assembling or compilation. Does not affect warnings and errors.
- The source of `link` and `tigcc` is included in the distribution.

July 16, 1999: TIGCC v0.5, Link v1.0

- Initial release.