[Main]
Title=History
[Top]
Note: Click here for the history of the library, or here for the history of the IDE.
June 27, 2009: GCC4TI v0.96 Beta 10, ld-tigcc v1.09, Library v2.72, IDE v2.96
- Bugfix: IDEs: add more instructions to the default lists used for syntax coloring.
- Added: import most of the TI-68k Developer Utilities' "pctools" (formerly TIGCC Tools
Suite) where they belong.
- Added: documentation: merged several long-standing contributions.
- Updated: pstarter: removed the essentially unused shrnklib support; optimized the
ttunpack-fast code by applying the same calling convention changes as those applied in the
ttunpack code (saves about 34 bytes, i.e. > 2%).
- Improved: tprbuilder: return a nonzero exit code if a command run by tprbuilder returned
a nonzero exit code.
- Bugfix: examples: fix an example whose build has failed since an untested modification
performed in 2005...
- Added: examples: scripts to check buildability (with tprbuilder) of the examples.
- Bugfix: gcc: fix a 64-bit compatibility problem in the AMS float support (patch applied on
top of GCC), which triggered harmless warnings in the generated assembly code.
- Greatly improved: build scripts ("canadian cross"-compilation support, more traces, better
portability, improved packaging, etc.). Most improvements were developed by Lionel Debroux and
Patrick Pélissier.
- Bugfix: tigcc: fix the build of the Custom DLL example by adding "-n" when invoking ld-tigcc
to generate the decompressor+launcher.
- Bugfix: examples: rename a number of examples to avoid on-calc name clashes.
- Updated: a number of size optimizations in TIGCCLIB, one of which touches the very commonly
used SAVE_SCREEN startup code. Most optimizations were developed by Martial Demolins.
- Updated: history files and READMEs.
January 3, 2009: GCC4TI v0.96 Beta 9, ld-tigcc v1.08, Library v2.71, IDE v2.95
- Bugfix: IDEs: add various instructions and macros to the default lists used for
syntax coloring.
- Bugfix: Fix gcc.exe for Vista (GCC 4.1.2-tigcc-pre10).
- Updated: Patched GCC 4.1.2 (release) and GNU as 2.16.1 with the TIGCC patch.
- Bugfix: ld-tigcc: fix warning and runtime abort with _FORTIFY_SOURCE.
- Bugfix: ld-tigcc: adjust TargetDistance after return optimization (fixes bra.s +0 in SIDE).
- Bugfix: tprbuilder: fix buffer overflow in MIN_AMS handling.
- Bugfix: documentation: various tweaks and fixes.
- Bugfix: include & library: various tweaks and fixes.
- Added: ld-tigcc: integrate PuCrunch compression, add --pack switch.
- Added: ld-tigcc: implement --output-data-var switch (allows specifying the on-computer
file name for the data variable).
- Added: ld-tigcc: better handling of on-calc variable names.
- Bugfix: ld-tigcc: ignore "relative reloc to symbol in different section" error in the
".deleted" section. This fixes --remove-unused with debugging information and -freg-relative-an.
- Bugfix: ld-tigcc: seek back to the end after FlashOS relocation so the dummy signature ends
up at the end and not the place of the last relocation in the standalone version.
- Updated: documentation tools: replace Delphi DumpSections with equivalent shell script,
Port ConvertTexi from Delphi to C++ with Qt 4.
- Bugfix: ld-tigcc: fix "relative reloc at `0xnnn' to `foo' in different section" errors
when using --remove-unused with debugging information and relocated ROM_CALLs, RAM_CALLs or
library calls.
- Added: start the GCC4TI fork of TIGCC, with a different decision scheme.
- Added: ld-tigcc: support for Flash OS timestamps.
- Added: tigcclib: Flash OS library (flashos.a).
- Added: includes: stdint.h and a partial inttypes.h (the platform's vcbprintf doesn't
support 64-bit integers anyway).
- Added: ld-tigcc: add implementation and documentation of special __ld_bss_even_end
symbol.
- Updated: Delphi IDE: restore VTI support in addition to TIEmu support, as
requested by multiple experienced TI-68k programmers for two years.
- Bugfix: ld-tigcc: compilation fix.
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
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