TIGCC 0.96 Beta 6 Release Notes:
Changes (since Beta 5):
* A68k: Don't crash on EQUs doing arithmetic with other EQUs which do arithmetic with undefined symbols, print an error instead.
* GCC: updated to 4.0.2 (fixing several bugs).
* GCC: merged debugging information fixes from Fedora GCC
* GCC: fixed a memory bug possibly causing random segfaults (PR 23043)
* ld-tigcc: Fixed invalid kernel ROM_CALL or RAM_CALL tables emitted when unused section removal optimized all ROM or RAM_CALLs away.
* ld-tigcc: Fixed segfault in constant merging.
* fixed an error in Dialog Struct.c (thanks to Sébastien Leurent, the author of the example)
* pstarter: further ttunpack-small size-optimizations by Samuel Stearley
* TIGCCLIB, pstarter: fixed set_file_in_use_bit bug affecting PedroM < 0.81
* TIGCCLIB: merged __set_clear_in_use_bit__ optimization by Lionel Debroux from pstarter
* TIGCCLIB: fixed calling GrayOn twice not working despite the documentation saying so
* TIGCCLIB: fixed LIO_CTX structure (VarSize is an unsigned long, not an unsigned short (on all AMS versions))
* Win32 tigcc.exe: fixed -v/-v0 being limited to 255 chars (*nix version not affected)
* Win32 tigcc.exe, *nix tigcc: now handling -isystem correctly
Important notes:
* The "Generate debugging information" option in the IDE and the "-g" switch in the command-line compiler work differently starting from TIGCC 0.96 Beta 4. They no longer produce human-readable annotated .s files for debugging programs by hand using an assembly-level debugger. Instead, they produce .dbg files containing debugging information in the binary DWARF 2 format, which can be used with GDB, which will be integrated in TiEmu 3. A snapshot of TiEmu 3 is available at: sourceforge.net/project/showfiles.php?group_id=23169
Still to do (planned for TIGCC 0.96):
* merge Lionel's (remaining) documentation and library updates into TIGCCLIB
* merge my 3-plane grayscales into TIGCCLIB (assigned to me, of course)
* support for 89u/9xu/v2u files (not just tib) in the linker
* implement GNU as .[su]leb128 and .cfi* directives (in a way compatible with linker optimization), in order to facilitate writing debugging information for ASM files.
* add DWARF 2 function prototype and unwinding information to tigcc.a
Still to do (not scheduled yet, may be ready for 0.96 or not):
* work on having GNU as accept A68k code, so we can drop A68k and maintain only one assembler. (Some things are already handled by -mri-compat, some more things are easy to handle, others are harder.)
Still to do (not scheduled yet, will most likely not be ready in a 0.96 timeframe):
* LZMA compression support (we hope to be able to provide ttpack/pucrunch support under a GPL-compatible license for 0.96 instead)
* support for multi-section programs in the linker as suggested by JimRandomH
* continue the work on the Linux/Unix IDE (ktigcc)
